/* ==========================================================================
   HOTEL DARSHAN - LUXURY CONTACT PAGE MASTER STYLESHEET
   ========================================================================== */

/* 1. Hero Section */
.darshan-cnt-hero {
    position: relative !important;
    width: 100% !important;
    min-height: 85vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    background-color: #16120E !important;
    color: #FFFDF8 !important;
    padding-top: 13rem !important; /* Guaranteed navbar clearance */
    padding-bottom: 5rem !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.cnt-hero-bg-wrap { position: absolute !important; inset: 0 !important; z-index: 1 !important; }
.cnt-hero-bg { width: 100% !important; height: 100% !important; background-size: cover !important; background-position: center center !important; transform: scale(1.05) !important; }
.cnt-hero-overlay { position: absolute !important; inset: 0 !important; background: linear-gradient(180deg, rgba(22,18,14,0.65) 0%, rgba(22,18,14,0.45) 50%, rgba(22,18,14,0.85) 100%) !important; z-index: 2 !important; }

.cnt-hero-container { position: relative !important; z-index: 10 !important; max-width: 1000px !important; width: 100% !important; margin: 0 auto !important; padding: 0 2rem !important; text-align: center !important; }
.cnt-breadcrumb { font-family: 'Manrope', sans-serif !important; font-size: 0.8rem !important; letter-spacing: 0.15em !important; text-transform: uppercase !important; margin-bottom: 1.25rem !important; }
.cnt-breadcrumb a { color: #C79A3B !important; text-decoration: none !important; }

.cnt-hero-badge { display: inline-flex !important; align-items: center !important; gap: 0.65rem !important; padding: 0.45rem 1.25rem !important; background: rgba(247, 243, 236, 0.12) !important; backdrop-filter: blur(16px) !important; border: 1px solid rgba(228, 219, 207, 0.25) !important; border-radius: 100px !important; margin-bottom: 1.5rem !important; }
.cnt-hero-title { font-family: 'Cormorant Garamond', serif !important; font-size: clamp(2.5rem, 5vw, 4.75rem) !important; font-weight: 300 !important; line-height: 1.15 !important; margin: 0 0 1.25rem 0 !important; color: #FFFDF8 !important; background: transparent !important; }
.hero-line-text { display: block !important; background: transparent !important; color: #FFFDF8 !important; text-shadow: 0 4px 20px rgba(0,0,0,0.8) !important; }
.hero-line-text.italic-gold { font-style: italic !important; color: #C79A3B !important; }

.cnt-hero-desc { font-family: 'Manrope', sans-serif !important; font-size: 1.05rem !important; line-height: 1.75 !important; color: rgba(255, 255, 255, 0.92) !important; max-width: 680px !important; margin: 0 auto 2.5rem auto !important; text-shadow: 0 2px 10px rgba(0,0,0,0.8) !important; }
.cnt-hero-actions { display: flex !important; align-items: center !important; justify-content: center !important; gap: 1.25rem !important; }

.darshan-btn-gold-hero { display: inline-flex !important; align-items: center !important; gap: 0.75rem !important; padding: 1.1rem 2.5rem !important; background: #C79A3B !important; color: #FFFFFF !important; font-family: 'Manrope', sans-serif !important; font-size: 0.85rem !important; font-weight: 600 !important; text-transform: uppercase !important; border-radius: 100px !important; text-decoration: none !important; box-shadow: 0 10px 30px rgba(0,0,0,0.35) !important; }
.cnt-btn-secondary { display: inline-flex !important; padding: 1.1rem 2.5rem !important; background: rgba(247,243,236,0.1) !important; color: #FFFDF8 !important; border: 1px solid rgba(228,219,207,0.3) !important; border-radius: 100px !important; text-decoration: none !important; font-size: 0.85rem !important; font-weight: 600 !important; text-transform: uppercase !important; }

.cnt-scroll-down { position: absolute !important; bottom: 2rem !important; left: 50% !important; transform: translateX(-50%) !important; z-index: 20 !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 0.5rem !important; text-decoration: none !important; opacity: 0.85 !important; }
.scroll-text { font-family: 'Manrope', sans-serif !important; font-size: 0.65rem !important; letter-spacing: 0.25em !important; color: #E4DBCF !important; }
.scroll-mouse { width: 20px !important; height: 32px !important; border: 1.5px solid rgba(228, 219, 207, 0.5) !important; border-radius: 20px !important; display: flex !important; justify-content: center !important; padding-top: 5px !important; }
.scroll-wheel { width: 3px !important; height: 6px !important; background-color: #C79A3B !important; border-radius: 2px !important; animation: scrollAnim 1.8s infinite ease !important; }

/* 2. Quick Contact Glass Cards */
.darshan-cnt-info-section { padding: 6rem 0; background: #F7F3EC; margin-top: -3rem; position: relative; z-index: 20; }
.cnt-info-container { max-width: 1320px; margin: 0 auto; padding: 0 2rem; }
.cnt-cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.75rem; }

.cnt-glass-card { padding: 2.25rem 2rem; background: #FFFDF8; border: 1px solid #E4DBCF; border-radius: 24px; box-shadow: 0 10px 30px rgba(55,45,35,0.06); transition: transform 0.4s ease, border-color 0.4s ease; display: flex; flex-direction: column; }
.cnt-glass-card:hover { transform: translateY(-6px); border-color: #C79A3B; box-shadow: 0 20px 40px rgba(55,45,35,0.12); }

.card-icon-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.25rem; }
.cnt-icon-box { width: 44px; height: 44px; border-radius: 50%; background: #F1EBE1; border: 1px solid #E4DBCF; display: flex; align-items: center; justify-content: center; }
.cnt-card-svg { width: 20px; height: 20px; stroke: #C79A3B; }
.copy-clip-btn { background: transparent; border: 1px solid #E4DBCF; border-radius: 50%; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; cursor: pointer; color: #6B625A; }

.cnt-card-title { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 500; color: #342A22; margin: 0 0 0.35rem 0; }
.cnt-card-info { font-family: 'Manrope', sans-serif; font-size: 1.05rem; font-weight: 600; color: #C79A3B; margin: 0 0 0.25rem 0; }
.cnt-card-sub { font-size: 0.8rem; color: #6B625A; margin-bottom: 1.5rem; }
.cnt-card-link { display: inline-flex; align-items: center; gap: 0.5rem; color: #342A22; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; text-decoration: none; margin-top: auto; }




/* 3. Inquiry Form Section */
.darshan-cnt-form-section { padding: 6rem 0; background: #F1EBE1; }
.cnt-form-container { max-width: 1320px; margin: 0 auto; padding: 0 2rem; }
.cnt-form-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 4rem; align-items: center; }

.narrative-badge { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.2em; color: #C79A3B; }
.narrative-title { font-family: 'Cormorant Garamond', serif; font-size: 3.25rem; font-weight: 300; margin: 0.5rem 0 1.25rem 0; line-height: 1.1; }
.narrative-desc { font-size: 1rem; color: #6B625A; line-height: 1.8; margin-bottom: 2.5rem; }
.narrative-contact-boxes { display: flex; gap: 1.5rem; }
.nc-box { padding: 1.25rem; background: #FFFDF8; border: 1px solid #E4DBCF; border-radius: 16px; flex: 1; }
.nc-label { font-size: 0.65rem; font-weight: 600; color: #C79A3B; letter-spacing: 0.12em; display: block; margin-bottom: 0.25rem; }
.nc-val { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; font-weight: 600; color: #342A22; text-decoration: none; }

.cnt-form-card { padding: 3rem 2.5rem; background: #FFFDF8; border: 1px solid #E4DBCF; border-radius: 32px; box-shadow: 0 15px 40px rgba(55,45,35,0.08); }
.form-card-title { font-family: 'Cormorant Garamond', serif; font-size: 2.25rem; font-weight: 400; margin: 0 0 0.35rem 0; }
.form-card-sub { font-size: 0.875rem; color: #6B625A; margin: 0 0 2rem 0; }

.luxury-inquiry-form { display: flex; flex-direction: column; gap: 1.25rem; }
.form-row { display: flex; gap: 1.25rem; }
.form-group { flex: 1; display: flex; flex-direction: column; gap: 0.35rem; }
.form-label { font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: #6B625A; }
.form-input, .form-select, .form-textarea { width: 100%; padding: 0.85rem 1rem; background: #F7F3EC; border: 1px solid #E4DBCF; border-radius: 12px; font-family: 'Manrope', sans-serif; font-size: 0.9rem; color: #342A22; outline: none; box-sizing: border-box; }
.form-input:focus, .form-select:focus, .form-textarea:focus { border-color: #C79A3B; background: #FFF; box-shadow: 0 0 0 3px rgba(199,154,59,0.15); }

.form-checkbox-row { margin: 0.5rem 0; }
.checkbox-container { display: flex; align-items: center; gap: 0.65rem; font-size: 0.8rem; color: #6B625A; cursor: pointer; }
.form-submit-btn { width: 100%; padding: 1.1rem; background: #C79A3B; color: #FFF; border: none; border-radius: 100px; font-weight: 600; font-size: 0.85rem; text-transform: uppercase; cursor: pointer; transition: background 0.3s ease; }
.form-submit-btn:hover { background: #342A22; }

/* 4. Google Map & Timings */
.darshan-cnt-map-section { padding: 6rem 0; background: #F7F3EC; }
.cnt-map-container { max-width: 1320px; margin: 0 auto; padding: 0 2rem; }
.map-frame-card { position: relative; width: 100%; height: 420px; border-radius: 32px; overflow: hidden; border: 1px solid #E4DBCF; }
.cnt-map-iframe { width: 100%; height: 100%; border: none; filter: grayscale(0.2); }

.map-floating-glass { position: absolute; bottom: 1.5rem; left: 1.5rem; padding: 1rem 1.5rem; background: rgba(255,253,248,0.92); backdrop-filter: blur(16px); border: 1px solid #E4DBCF; border-radius: 18px; display: flex; align-items: center; gap: 1rem; }
.map-pin-icon { width: 36px; height: 36px; border-radius: 50%; background: #F1EBE1; display: flex; align-items: center; justify-content: center; color: #C79A3B; }
.map-glass-title { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; margin: 0; }
.map-glass-sub { font-size: 0.75rem; color: #6B625A; }
.map-actions-row { text-align: center; margin-top: 1.5rem; }
.map-action-btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.85rem 2rem; background: #F1EBE1; border: 1px solid #E4DBCF; border-radius: 100px; color: #342A22; text-decoration: none; font-weight: 600; font-size: 0.8rem; text-transform: uppercase; }

.darshan-cnt-hours-section { padding: 6rem 0; background: #F1EBE1; }
.cnt-hours-container { max-width: 1320px; margin: 0 auto; padding: 0 2rem; }
.hours-header { text-align: center; margin-bottom: 3.5rem; }
.hours-badge { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.2em; color: #C79A3B; }
.hours-title { font-family: 'Cormorant Garamond', serif; font-size: 3rem; font-weight: 300; margin: 0.5rem 0; }

.hours-cards-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.hours-card { padding: 2rem 1.5rem; background: #FFFDF8; border: 1px solid #E4DBCF; border-radius: 20px; text-align: center; }
.hours-dept { font-size: 0.7rem; font-weight: 700; color: #C79A3B; letter-spacing: 0.12em; text-transform: uppercase; }
.hours-time { font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; font-weight: 600; margin: 0.5rem 0; color: #342A22; }
.hours-desc { font-size: 0.8rem; color: #6B625A; margin: 0; }

/* 5. FAQs & Final CTA */
.darshan-cnt-faq-section { padding: 6rem 0; background: #F7F3EC; }
.cfaq-container { max-width: 900px; margin: 0 auto; padding: 0 2rem; }
.cfaq-header { text-align: center; margin-bottom: 3.5rem; }
.cfaq-badge { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.2em; color: #C79A3B; }
.cfaq-title { font-family: 'Cormorant Garamond', serif; font-size: 3rem; font-weight: 300; margin: 0.5rem 0; }

.cfaq-accordion { display: flex; flex-direction: column; gap: 1rem; }
.cfaq-item { background: #FFFDF8; border: 1px solid #E4DBCF; border-radius: 16px; overflow: hidden; }
.cfaq-trigger { width: 100%; padding: 1.25rem 1.5rem; background: transparent; border: none; font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; text-align: left; display: flex; justify-content: space-between; cursor: pointer; color: #342A22; }
.cfaq-plus { color: #C79A3B; font-weight: 700; }
.cfaq-content { max-height: 0; overflow: hidden; padding: 0 1.5rem; transition: all 0.35s ease; }
.cfaq-item.is-open .cfaq-content { max-height: 200px; padding: 0 1.5rem 1.25rem 1.5rem; }
.cfaq-content p { font-size: 0.9rem; color: #6B625A; margin: 0; line-height: 1.6; }

.darshan-cnt-cta-section { padding: 4rem 0 8rem 0; background: #F7F3EC; }
.ccta-container { max-width: 1000px; margin: 0 auto; padding: 0 2rem; }
.ccta-card { padding: 4.5rem 2.5rem; background: #231B15; color: #FFFDF8; border-radius: 32px; text-align: center; }
.ccta-badge { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.2em; color: #C79A3B; }
.ccta-title { font-family: 'Cormorant Garamond', serif; font-size: 3.5rem; font-weight: 300; margin: 0.75rem 0 1.25rem 0; }
.ccta-desc { font-size: 1rem; color: rgba(247,243,236,0.85); max-width: 600px; margin: 0 auto 2.5rem auto; line-height: 1.7; }
.ccta-actions { display: flex; justify-content: center; gap: 1.25rem; }
.ccta-btn-primary { padding: 1rem 2.25rem; background: #C79A3B; color: #FFF; border-radius: 100px; text-decoration: none; font-weight: 600; font-size: 0.8rem; text-transform: uppercase; }
.ccta-btn-secondary { padding: 1rem 2.25rem; background: rgba(247,243,236,0.08); border: 1px solid rgba(228,219,207,0.3); color: #FFF; border-radius: 100px; text-decoration: none; font-weight: 600; font-size: 0.8rem; text-transform: uppercase; }

/* Speed Dial Triggers */
.darshan-speed-dial { position: fixed; bottom: 2rem; right: 2rem; z-index: 999; display: flex; flex-direction: column; gap: 0.75rem; opacity: 0; visibility: hidden; transition: all 0.4s ease; }
.darshan-speed-dial.is-visible { opacity: 1; visibility: visible; }
.dial-btn { width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #FFF; border: none; cursor: pointer; box-shadow: 0 8px 25px rgba(0,0,0,0.25); }
.dial-btn.whatsapp { background: #25D366; }
.dial-btn.phone { background: #C79A3B; }
.dial-btn.back-top { background: #342A22; font-size: 1.25rem; font-weight: 700; }
.dial-btn svg { width: 20px; height: 20px; stroke: #FFF; }

/* Responsive Media Queries */
@media (max-width: 1024px) {
    .cnt-cards-grid { grid-template-columns: repeat(2, 1fr); }
    .cnt-form-grid { grid-template-columns: 1fr; gap: 3rem; }
    .hours-cards-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .darshan-cnt-hero { padding-top: 9.5rem !important; }
    .cnt-cards-grid { grid-template-columns: 1fr; }
    .hours-cards-grid { grid-template-columns: 1fr; }
    .form-row { flex-direction: column; gap: 1rem; }
    .cnt-form-card { padding: 2rem 1.5rem; }
    .ccta-actions { flex-direction: column; }
    .ccta-btn-primary, .ccta-btn-secondary { width: 100%; text-align: center; }
}