/*
Theme Name: Sara Dall'Asta
Theme URI: https://hdev.me
Author: Hdev
Author URI: https://hdev.me
Description: Custom Standalone WordPress Theme for Dott.ssa Sara Dall'Asta - Biologa Nutrizionista a Rimini.
Version: 1.0.0
Tested up to: 6.7
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hdev_sara
*/

/* ==========================================================================
   Contact Form 7 Custom Styling (Sara Dall'Asta Theme)
   ========================================================================== */

.hdev-cf7-form {
	width: 100%;
}

.hdev-cf7-form .hdev-cf7-row {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	margin-bottom: 1.25rem;
}

@media (min-width: 640px) {
	.hdev-cf7-form .hdev-cf7-row {
		flex-direction: row;
	}
}

.hdev-cf7-form .hdev-cf7-col {
	flex: 1;
	width: 100%;
}

.hdev-cf7-form .hdev-cf7-col.full-width {
	width: 100%;
}

/* Reset CF7 automatic p and br tags */
.hdev-cf7-form p {
	margin: 0;
	padding: 0;
}

.hdev-cf7-form br {
	display: none;
}

/* CF7 Span Wrapper */
.hdev-cf7-form span.wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	position: relative;
	margin: 0;
}

/* Form Labels */
.hdev-cf7-form label {
	display: block;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #153521;
	margin-bottom: 0.35rem; /* Compact 5px gap between label and input */
}

.hdev-cf7-form label span.required {
	color: #ba1a1a;
	margin-left: 2px;
}

/* Form Inputs, Selects & Textarea */
.hdev-cf7-form input[type="text"],
.hdev-cf7-form input[type="email"],
.hdev-cf7-form input[type="tel"],
.hdev-cf7-form select,
.hdev-cf7-form textarea,
.hdev-cf7-input,
.hdev-cf7-select,
.hdev-cf7-textarea {
	width: 100%;
	background-color: #ffffff;
	border: 1px solid #c2c8c0;
	border-radius: 0.75rem; /* 12px */
	padding: 0.75rem 1rem;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 0.9375rem;
	color: #153521;
	line-height: 1.5;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
}

/* Select arrow icon */
.hdev-cf7-form select,
.hdev-cf7-select {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23376847' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");
	background-position: right 1rem center;
	background-repeat: no-repeat;
	background-size: 1.25rem 1.25rem;
	padding-right: 2.75rem;
}

.hdev-cf7-form input::placeholder,
.hdev-cf7-form textarea::placeholder {
	color: #9ca3af;
	font-weight: 400;
}

/* Focus States */
.hdev-cf7-form input:focus,
.hdev-cf7-form select:focus,
.hdev-cf7-form textarea:focus {
	border-color: #376847;
	box-shadow: 0 0 0 3px rgba(55, 104, 71, 0.15);
	outline: none;
}

/* Textarea specific */
.hdev-cf7-form textarea,
.hdev-cf7-textarea {
	resize: vertical;
	min-height: 100px;
}

/* Privacy & Acceptance Checkbox */
.hdev-cf7-privacy {
	margin-top: 1rem;
	margin-bottom: 1.5rem;
}

.hdev-cf7-privacy .wpcf7-list-item {
	margin: 0;
}

.hdev-cf7-privacy label {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	font-weight: 400;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: #424842;
	cursor: pointer;
}

.hdev-cf7-privacy input[type="checkbox"] {
	margin-top: 0.2rem;
	border-radius: 4px;
	border: 1px solid #c2c8c0;
	color: #153521;
	width: 1.125rem;
	height: 1.125rem;
	shrink: 0;
	cursor: pointer;
}

.hdev-cf7-privacy a {
	color: #376847;
	text-decoration: underline;
	font-weight: 600;
}

.hdev-cf7-privacy a:hover {
	color: #153521;
}

/* Submit Button */
.hdev-cf7-submit-wrap {
	margin-top: 1.5rem;
}

.hdev-cf7-form input[type="submit"],
.hdev-cf7-submit {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #153521;
	color: #ffffff;
	padding: 0.9rem 2rem;
	border-radius: 9999px;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	border: none;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(21, 53, 33, 0.15);
	transition: all 0.2s ease-in-out;
}

.hdev-cf7-form input[type="submit"]:hover,
.hdev-cf7-submit:hover {
	background-color: #2c4c36;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(21, 53, 33, 0.25);
}

.hdev-cf7-form input[type="submit"]:active,
.hdev-cf7-submit:active {
	transform: translateY(0);
}

/* Validation & Feedback Messages */
.wpcf7-not-valid-tip {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 0.8125rem;
	color: #ba1a1a;
	margin-top: 0.375rem;
	font-weight: 500;
}

.wpcf7-not-valid {
	border-color: #ba1a1a !important;
}

.wpcf7-response-output {
	border-radius: 0.75rem !important;
	margin: 1.5rem 0 0 0 !important;
	padding: 1rem 1.25rem !important;
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
}

/* Success Message */
.wpcf7 form.sent .wpcf7-response-output {
	border-color: #376847 !important;
	background-color: #eaf2ec !important;
	color: #153521 !important;
}

/* Error Message */
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
	border-color: #ba1a1a !important;
	background-color: #ffdad6 !important;
	color: #93000a !important;
}

/* Spinner Loader Alignment */
.wpcf7-spinner {
	display: block !important;
	margin: 0.75rem auto 0 auto !important;
}

