/**
 * Contact Us Godha Estate widget suite
 * All selectors scoped with .cuge- to avoid conflicts with Elementor,
 * Elementor Pro, themes, and other plugins.
 */

.cuge-eyebrow {
	display: inline-flex; align-items: center; gap: 12px;
	font-family: 'Cinzel', serif; font-weight: 500; font-size: 17px;
	letter-spacing: 1px; text-transform: uppercase; color: #D9A520;
	margin-bottom: 10px;
}
.cuge-eyebrow::after { content: ''; width: 36px; height: 1px; background-color: currentColor; }

.cuge-desc { font-family: 'Poppins', sans-serif; font-weight: 400; font-size: 16px; line-height: 1.7; color: #4A5568; margin: 14px 0 0; }

.cuge-btn {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: 'Poppins', sans-serif; font-weight: 400; font-size: 15px;
	letter-spacing: 2px; text-transform: uppercase;
	background-color: transparent; color: #132A4A;
	border: 2px solid #D9A520; border-radius: 8px;
	padding: 14px 28px; margin-top: 24px;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.cuge-btn:hover { background-color: #D9A520; color: #132A4A; }
.cuge-btn i, .cuge-btn svg { width: 13px; height: 13px; font-size: 13px; }

.cuge-icon-wrap { display: inline-flex; align-items: center; justify-content: center; }
.cuge-icon-wrap i { font-size: 24px; color: #D9A520; }
.cuge-icon-wrap img { width: 24px; height: 24px; object-fit: contain; }

/* ------------------------------------------------------------------ */
/* 1. HERO                                                             */
/* ------------------------------------------------------------------ */
.cuge-hero { background-color: #FFF7E8; padding: 70px 24px; overflow: hidden; }
.cuge-hero-grid {
	max-width: 1280px; margin: 0 auto;
	display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 60px;
}
.cuge-hero-heading {
	font-family: 'Cinzel', serif; font-weight: 500;
	font-size: 42px; line-height: 1.2; color: #132A4A; margin: 0;
}
.cuge-subheading {
	font-family: 'Inter', sans-serif; font-weight: 700; font-size: 14px;
	letter-spacing: .08em; text-transform: uppercase; color: #D9A520; margin: 8px 0 0;
}
.cuge-hero .cuge-desc { max-width: 480px; }
.cuge-highlights { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 24px; }
.cuge-highlight { display: flex; align-items: center; gap: 10px; }
.cuge-highlight-text { display: flex; flex-direction: column; }
.cuge-highlight-title { font-family: 'Inter', sans-serif; font-weight: 600; font-size: 14px; color: #132A4A; }
.cuge-highlight-desc { font-family: 'Inter', sans-serif; font-size: 12px; color: #4A5568; }
.cuge-highlight .cuge-icon-wrap i { font-size: 20px; }

.cuge-hero-visual { position: relative; }
.cuge-hero-img-wrap { border-radius: 20px; overflow: hidden; box-shadow: 0 30px 60px rgba(19,42,74,0.18); transition: transform .3s ease; }
.cuge-hero-img-wrap img { display: block; width: 100%; height: auto; transition: transform .4s ease; }
.cuge-decor-text {
	font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 20px;
	color: #132A4A; text-align: right; margin: 20px 0 0;
}

/* ------------------------------------------------------------------ */
/* 2. ENQUIRY FORM (widget-specific classes prefixed .cuge-form-*)    */
/* ------------------------------------------------------------------ */
.cuge-widget { width: 100%; }
.cuge-form-wrap { background-color: #FFFFFF; border-radius: 16px; padding: 36px; box-sizing: border-box; box-shadow: 0 20px 50px rgba(19,42,74,0.08); }
.cuge-form-header { text-align: center; margin-bottom: 24px; }
.cuge-form-heading { font-family: 'Cinzel', serif; font-weight: 500; font-size: 30px; color: #132A4A; margin: 6px 0 8px; }
.cuge-form-desc { font-family: 'Poppins', sans-serif; font-size: 16px; line-height: 1.6; color: #4A5568; margin: 0; }

.cuge-form { display: flex; flex-wrap: wrap; gap: 16px; }
.cuge-field { width: 100%; box-sizing: border-box; }
.cuge-field--half { width: calc(50% - 8px); }
.cuge-field--third { width: calc(33.333% - 11px); }
.cuge-field--quarter { width: calc(25% - 12px); }

.cuge-field label { display: block; font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 600; color: #4A5568; margin-bottom: 6px; }
.cuge-required { color: #D14343; margin-left: 2px; }

.cuge-input-wrap { position: relative; display: flex; align-items: center; }
.cuge-input-icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #8A93A3; font-size: 15px; pointer-events: none; z-index: 1; display: flex; align-items: center; justify-content: center; }
.cuge-input-icon i, .cuge-input-icon svg { width: 15px; height: 15px; font-size: 15px; }
.cuge-field-textarea .cuge-input-icon { top: 20px; transform: none; }

.cuge-field input[type="text"],
.cuge-field input[type="email"],
.cuge-field input[type="tel"],
.cuge-field input[type="number"],
.cuge-field input[type="date"],
.cuge-field select,
.cuge-field textarea {
	width: 100%; box-sizing: border-box;
	font-family: 'Poppins', sans-serif; font-size: 14px; color: #132A4A;
	background-color: #FFFFFF; border: 1px solid #E7E9EE; border-radius: 10px;
	padding: 14px 16px 14px 44px;
	transition: border-color .2s ease, box-shadow .2s ease;
	appearance: none; -webkit-appearance: none;
}
.cuge-field textarea { min-height: 90px; resize: vertical; }
.cuge-field input::placeholder, .cuge-field textarea::placeholder { color: #A6AEBB; }
.cuge-field input:focus, .cuge-field select:focus, .cuge-field textarea:focus {
	outline: none; border-color: #D9A520; box-shadow: 0 0 0 3px rgba(217,165,32,0.15);
}
.cuge-field select { padding-right: 40px; cursor: pointer; }
.cuge-select-caret { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: #8A93A3; font-size: 13px; pointer-events: none; display: flex; align-items: center; justify-content: center; }
.cuge-select-caret i, .cuge-select-caret svg { width: 13px; height: 13px; font-size: 13px; }

.cuge-options { display: flex; flex-wrap: wrap; gap: 10px 20px; padding: 4px 2px; }
.cuge-option-item { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #4A5568; }
.cuge-option-item input { width: 16px; height: 16px; accent-color: #D9A520; }

.cuge-help-text { display: block; font-size: 12px; color: #8A93A3; margin-top: 6px; }
.cuge-field-error { display: none; font-size: 12px; color: #D14343; margin-top: 6px; }
.cuge-field.has-error input, .cuge-field.has-error select, .cuge-field.has-error textarea { border-color: #D14343; }
.cuge-field.has-error .cuge-field-error { display: block; }

.cuge-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.cuge-submit-wrap { width: 100%; margin-top: 4px; }
.cuge-submit {
	width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	font-family: 'Poppins', sans-serif; font-weight: 400; font-size: 15px; letter-spacing: 2px; text-transform: uppercase;
	background-color: #D9A520; color: #132A4A; border: 2px solid #D9A520; border-radius: 10px;
	padding: 16px 28px; cursor: pointer;
	transition: background-color .25s ease, color .25s ease;
}
.cuge-submit i, .cuge-submit svg { width: 14px; height: 14px; font-size: 14px; flex-shrink: 0; }
.cuge-submit:hover { background-color: #E7B52F; }
.cuge-submit:disabled { opacity: .7; cursor: not-allowed; }
.cuge-spinner { display: none; width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(19,42,74,0.3); border-top-color: #132A4A; animation: cuge-spin .7s linear infinite; }
.cuge-submit.is-loading .cuge-spinner { display: inline-block; }
.cuge-submit.is-loading .cuge-submit-label { opacity: .7; }
@keyframes cuge-spin { to { transform: rotate(360deg); } }

.cuge-status { display: none; text-align: center; padding: 20px 0; }
.cuge-status.is-visible { display: block; }
.cuge-status-icon { font-size: 40px; margin-bottom: 14px; }
.cuge-status--success .cuge-status-icon { color: #3E8E5A; }
.cuge-status--error .cuge-status-icon { color: #D14343; }
.cuge-status-text { font-family: 'Poppins', sans-serif; font-size: 15px; color: #132A4A; line-height: 1.6; max-width: 380px; margin: 0 auto; }
.cuge-form.is-hidden, .cuge-form-header.is-hidden { display: none; }

/* ------------------------------------------------------------------ */
/* 3. CONTACT DETAILS                                                  */
/* ------------------------------------------------------------------ */
.cuge-contact-details { position: relative; background-color: #F4EBDD; border-radius: 16px; padding: 48px 40px; overflow: hidden; }
.cuge-cd-decor { position: absolute; bottom: 0; right: 0; width: 140px; height: 140px; background: radial-gradient(circle, rgba(217,165,32,0.12), transparent 70%); pointer-events: none; }
.cuge-cd-heading { font-family: 'Cinzel', serif; font-weight: 500; font-size: 30px; color: #132A4A; margin: 6px 0 12px; }
.cuge-contact-details .cuge-desc { margin-bottom: 8px; }

.cuge-cd-list { display: flex; flex-direction: column; gap: 22px; margin-top: 28px; }
.cuge-cd-item { display: flex; align-items: flex-start; gap: 16px; transition: transform .25s ease; }
.cuge-cd-item .cuge-icon-wrap { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background-color: rgba(217,165,32,0.12); }
.cuge-cd-item .cuge-icon-wrap i { font-size: 18px; }
.cuge-cd-text { display: flex; flex-direction: column; gap: 4px; }
.cuge-cd-title { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 15px; color: #132A4A; }
.cuge-cd-desc { font-family: 'Inter', sans-serif; font-size: 14px; color: #4A5568; line-height: 1.5; white-space: pre-line; }
.cuge-cd-link { font-family: 'Inter', sans-serif; font-size: 13px; color: #D9A520; text-decoration: underline; margin-top: 2px; }

.cuge-social { margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(19,42,74,0.1); }
.cuge-social-title { display: block; font-family: 'Inter', sans-serif; font-weight: 700; font-size: 13px; color: #132A4A; margin-bottom: 12px; }
.cuge-social-list { display: flex; gap: 10px; }
.cuge-social-item {
	width: 38px; height: 38px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background-color: #132A4A; color: #FFFFFF;
	transition: background-color .25s ease, transform .25s ease;
}
.cuge-social-item i { font-size: 15px; color: inherit; }
.cuge-social-item:hover { background-color: #D9A520; transform: translateY(-2px); }

/* ------------------------------------------------------------------ */
/* 4. LOCATION & MAP                                                   */
/* ------------------------------------------------------------------ */
.cuge-location-map { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
.cuge-location-content { background-color: #FFF7E8; padding: 60px 48px; display: flex; flex-direction: column; justify-content: center; }
.cuge-loc-heading { font-family: 'Cinzel', serif; font-weight: 500; font-size: 30px; color: #132A4A; margin: 6px 0 10px; }
.cuge-map-wrap { position: relative; min-height: 320px; height: 500px; }
.cuge-map-wrap iframe { display: block; width: 100%; height: 100%; border: 0; }
.cuge-map-grayscale iframe { filter: grayscale(1); }

/* ------------------------------------------------------------------ */
/* 5. BENEFITS                                                         */
/* ------------------------------------------------------------------ */
.cuge-benefits { background-color: #FFFFFF; padding: 50px 24px; --cuge-benefits-divider-color: #E7D9B8; }
.cuge-benefits-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); }
.cuge-benefit-item { display: flex; flex-direction: column; align-items: center; text-align: center; transition: transform .3s ease; }
.cuge-benefits-divider-yes .cuge-benefit-item:not(:first-child) { border-left: 1px solid var(--cuge-benefits-divider-color); }
.cuge-benefit-item .cuge-icon-wrap { margin-bottom: 14px; }
.cuge-benefit-title { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 16px; color: #132A4A; margin: 0 0 6px; }
.cuge-benefit-desc { font-family: 'Inter', sans-serif; font-size: 13px; color: #4A5568; margin: 0; }

/* ------------------------------------------------------------------ */
/* Responsive                                                          */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.cuge-hero-grid { gap: 40px; }
	.cuge-hero-heading { font-size: 34px; }
	.cuge-location-map { grid-template-columns: 1fr; }
	.cuge-location-content { padding: 40px 28px; }
	.cuge-benefits-grid { grid-template-columns: repeat(2, 1fr); row-gap: 32px; }
	.cuge-benefits-divider-yes .cuge-benefit-item:nth-child(2n+1) { border-left: none; }
}

@media (max-width: 767px) {
	.cuge-hero-grid { grid-template-columns: 1fr; }
	.cuge-hero { padding: 44px 18px; }
	.cuge-hero-heading { font-size: 28px; }
	.cuge-decor-text { text-align: left; }
	.cuge-form-wrap { padding: 24px 18px; }
	.cuge-field--half, .cuge-field--third, .cuge-field--quarter { width: 100%; }
	.cuge-contact-details { padding: 32px 22px; }
	.cuge-benefits-grid { grid-template-columns: 1fr; row-gap: 28px; }
	.cuge-benefits-divider-yes .cuge-benefit-item { border-left: none !important; }
	.cuge-btn { width: 100%; justify-content: center; }
	.cuge-map-wrap { height: 320px !important; }
}
