/* AstroLeaf Enterprise — Hora (Planetary Hours) Design System & UI Engine */
html, body, main, #primary, #main, .site-main, .content-area, .entry-content, .page, article, .cd-strict-wrapper, .ale-calc-workspace { background-color: #FAF6F0 !important; background: #FAF6F0 !important; color: #65250C !important; font-family: 'Be Vietnam Pro', system-ui, -apple-system, sans-serif !important; margin: 0; padding: 0; box-sizing: border-box; }
.cd-strict-wrapper { min-height: 100vh; padding-bottom: 80px; box-sizing: border-box; background-color: #FAF6F0 !important; }
.pkr-hero-banner, .pkr-hero-banner.cd-hero { position: relative !important; background: linear-gradient(135deg, #65250C 0%, #4A1A08 100%) !important; color: #FFFFFF !important; padding: 60px 24px 50px 24px !important; text-align: center !important; overflow: hidden !important; border-bottom: none !important; }
.cd-hero-inner { max-width: 840px !important; margin: 0 auto !important; position: relative; z-index: 2; text-align: center !important; display: flex !important; flex-direction: column !important; align-items: center !important; }
.cd-hero-badge, .pkr-hero-badge { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: #FFEFD6 !important; border: 1.5px solid #FFBA5F !important; color: #65250C !important; -webkit-text-fill-color: #65250C !important; padding: 6px 18px !important; border-radius: 50px !important; font-size: 0.78rem !important; font-weight: 700 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; margin-bottom: 16px !important; }
.pkr-hero-banner .pkr-hero-title, .pkr-hero-banner.cd-hero .pkr-hero-title { font-family: 'Outfit', sans-serif !important; font-size: clamp(2rem, 4vw, 2.5rem) !important; font-weight: 800 !important; color: #FFBA5F !important; -webkit-text-fill-color: #FFBA5F !important; margin: 0 0 14px 0 !important; line-height: 1.25 !important; text-align: center !important; }
.pkr-hero-banner .pkr-hero-sub, .pkr-hero-banner.cd-hero .pkr-hero-sub, .cd-hero-desc { font-family: 'Be Vietnam Pro', sans-serif !important; font-size: 1.05rem !important; color: #FFE2C2 !important; -webkit-text-fill-color: #FFE2C2 !important; max-width: 760px !important; margin: 0 auto !important; line-height: 1.65 !important; opacity: 1 !important; text-align: center !important; }
.cd-hero-pills { display: flex !important; gap: 10px !important; justify-content: center !important; flex-wrap: wrap !important; margin-top: 16px !important; }
.cd-hero-pill { background: rgba(255, 186, 95, 0.14) !important; border: 1px solid rgba(255, 186, 95, 0.35) !important; padding: 6px 14px !important; border-radius: 8px !important; text-align: center !important; }
.cd-hero-pill-lbl { font-size: 0.65rem !important; font-weight: 700 !important; text-transform: uppercase !important; color: #FFBA5F !important; letter-spacing: 0.05em !important; display: block !important; }
.cd-hero-pill-val { font-size: 0.88rem !important; font-weight: 700 !important; color: #FFFFFF !important; font-family: 'Outfit', sans-serif !important; }
.astroleaf-breadcrumb-bar { background: #FFF7E8 !important; border-top: 1.5px solid #E6DFD5 !important; border-bottom: 1.5px solid #E6DFD5 !important; padding: 12px 24px !important; font-size: 0.84rem !important; width: 100% !important; box-sizing: border-box !important; }
.astroleaf-breadcrumb-bar div { max-width: 840px; margin: 0 auto; display: flex; align-items: center; gap: 8px; color: #65250C; flex-wrap: wrap; }
.astroleaf-breadcrumb-bar a { color: #65250C !important; text-decoration: none !important; font-weight: 500 !important; }
.astroleaf-breadcrumb-bar a:hover { color: #D97706 !important; text-decoration: underline !important; }
.cd-strict-container, .ale-container { max-width: 840px !important; width: 100% !important; margin: 0 auto !important; padding: 32px 20px !important; box-sizing: border-box !important; }
.aap-form-card.cd-form-card, .ud-form-card { background: #FFFDF9 !important; background-color: #FFFDF9 !important; border: 1px solid rgba(217, 119, 6, 0.22) !important; border-radius: 16px !important; padding: 32px 28px !important; margin: 0 auto 32px auto !important; box-shadow: 0 8px 30px rgba(42, 21, 10, 0.05) !important; box-sizing: border-box !important; width: 100% !important; }
.cd-form-header { border-bottom: 1.5px solid #E6DFD5 !important; padding-bottom: 16px !important; margin-bottom: 24px !important; text-align: left !important; }
.cd-form-eyebrow { font-family: 'Plus Jakarta Sans', sans-serif !important; font-size: 0.76rem !important; font-weight: 800 !important; color: #D97706 !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; display: block !important; margin-bottom: 4px !important; }
.cd-form-title { font-family: 'Outfit', sans-serif !important; font-size: 1.45rem !important; font-weight: 800 !important; color: #2A150A !important; margin: 0 !important; text-align: left !important; }
.cd-form-desc { font-size: 0.88rem !important; color: #64748B !important; margin: 6px 0 0 0 !important; line-height: 1.5 !important; }
.cd-form-grid, .sun-form-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 20px 24px !important; width: 100% !important; box-sizing: border-box !important; }
.cd-input-group { display: flex !important; flex-direction: column !important; gap: 6px !important; position: relative !important; width: 100% !important; }
.cd-input-group label, .pkr-field-label { font-family: 'Plus Jakarta Sans', sans-serif !important; font-size: 0.84rem !important; font-weight: 700 !important; color: #36190B !important; margin-bottom: 2px !important; display: flex !important; align-items: center !important; gap: 6px !important; }
html body .cd-strict-wrapper input.cd-input, html body .cd-strict-wrapper input.aap-input, html body .cd-strict-wrapper input.ale-input, html body #hora-form input.cd-input, html body #hora-form input.ale-input, input#calc-birthplace, input#panchang-date-input { display: block !important; width: 100% !important; height: 46px !important; min-height: 46px !important; max-height: 46px !important; line-height: normal !important; padding: 0 14px !important; margin: 0 !important; border: 1.5px solid #CBD5E1 !important; border-radius: 8px !important; font-size: 0.92rem !important; font-weight: 600 !important; font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important; color: #1E293B !important; background-color: #FFFFFF !important; background: #FFFFFF !important; outline: none !important; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important; box-sizing: border-box !important; transition: border-color 0.2s ease, box-shadow 0.2s ease !important; }
html body #hora-form input:focus, html body .cd-strict-wrapper input:focus { border-color: #D97706 !important; background-color: #FFFFFF !important; box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.16) !important; }
#clear-pob { position: absolute !important; right: 12px !important; top: 50% !important; transform: translateY(-50%) !important; width: 24px !important; height: 24px !important; display: none; align-items: center !important; justify-content: center !important; background: transparent !important; border: none !important; font-size: 1.25rem !important; font-weight: 700 !important; color: #D97706 !important; cursor: pointer !important; padding: 0 !important; margin: 0 !important; line-height: 1 !important; z-index: 10 !important; box-shadow: none !important; transition: color 0.15s ease, transform 0.15s ease !important; }
#clear-pob:hover { color: #DC2626 !important; transform: translateY(-50%) scale(1.15) !important; }
.hora-date-control-wrap { display: flex !important; align-items: center !important; gap: 6px !important; width: 100% !important; box-sizing: border-box !important; }
.hora-date-btn-nav { flex: 0 0 38px !important; width: 38px !important; height: 46px !important; min-height: 46px !important; background: #FFFFFF !important; border: 1.5px solid #CBD5E1 !important; border-radius: 8px !important; color: #65250C !important; font-size: 1.3rem !important; font-weight: 700 !important; cursor: pointer !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; transition: all 0.15s ease !important; box-sizing: border-box !important; padding: 0 !important; }
.hora-date-btn-nav:hover { background: #FFF7ED !important; border-color: #D97706 !important; color: #D97706 !important; }
.hora-date-field { flex: 1 1 auto !important; min-width: 0 !important; font-size: 0.90rem !important; }
.hora-date-btn-today { flex: 0 0 auto !important; height: 46px !important; min-height: 46px !important; padding: 0 14px !important; background: #F97316 !important; border: none !important; border-radius: 8px !important; color: #FFFFFF !important; font-family: 'Plus Jakarta Sans', sans-serif !important; font-size: 0.84rem !important; font-weight: 700 !important; cursor: pointer !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; transition: all 0.2s ease !important; box-shadow: 0 2px 6px rgba(249, 115, 22, 0.25) !important; box-sizing: border-box !important; white-space: nowrap !important; }
.hora-date-btn-today:hover { background: #EA580C !important; transform: translateY(-1px); }
.hora-active-hero-card { background: #FFFDF9 !important; border: 1px solid rgba(217, 119, 6, 0.25) !important; border-radius: 16px !important; padding: 28px 32px !important; margin-bottom: 32px !important; box-shadow: 0 8px 30px rgba(42, 21, 10, 0.05) !important; position: relative !important; overflow: hidden !important; width: 100% !important; box-sizing: border-box !important; }
.hora-active-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; border-bottom: 1.5px dashed #DEC5A0; padding-bottom: 16px; margin-bottom: 20px; }
.hora-active-badge { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: #FFEFD6 !important; border: 1.5px solid #FFBA5F !important; color: #65250C !important; font-family: 'Outfit', sans-serif !important; font-size: 0.76rem !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; padding: 5px 14px !important; border-radius: 50px !important; }
.pulsing-marker { display: inline-block; width: 9px; height: 9px; background-color: #F97316; border-radius: 50%; box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.7); animation: horaPulse 1.8s infinite; flex-shrink: 0; }
@keyframes horaPulse { 0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.7); } 70% { transform: scale(1); box-shadow: 0 0 0 8px rgba(249, 115, 22, 0); } 100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(249, 115, 22, 0); } }
.hora-active-time-pill { display: inline-flex; align-items: center; gap: 6px; background: #FFF7E8; border: 1px solid #DEC5A0; padding: 6px 14px; border-radius: 8px; font-size: 0.88rem; font-weight: 700; color: #65250C; flex-wrap: wrap; }
.hora-period-tag { color: #8C7A6B; font-weight: 600; font-size: 0.82rem; }
.hora-active-main { margin-bottom: 20px; }
.hora-active-title-wrap { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.hora-active-icon-circle { width: 48px; height: 48px; border-radius: 12px; background: #FFF7E8; border: 1.5px solid #DEC5A0; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.hora-active-title { font-family: 'Outfit', sans-serif !important; font-size: 1.75rem !important; font-weight: 800 !important; color: #65250C !important; margin: 0 !important; line-height: 1.2 !important; }
.hora-sanskrit-sub { font-size: 1rem !important; font-weight: 600 !important; color: #8C7A6B !important; }
.hora-active-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 16px !important; width: 100% !important; box-sizing: border-box !important; }
.hora-active-info-box { background: #FFF7E8 !important; border: 1.5px solid #DEC5A0 !important; border-radius: 10px !important; padding: 16px !important; display: flex; flex-direction: column; gap: 6px; }
.hora-active-info-box.favorable { background: #F0FDF4 !important; border-color: #BBF7D0 !important; }
.hora-active-info-box.caution { background: #FEF2F2 !important; border-color: #FECDD3 !important; }
.hora-active-info-box label { font-family: 'Outfit', sans-serif !important; font-size: 0.76rem !important; font-weight: 800 !important; text-transform: uppercase !important; color: #65250C !important; letter-spacing: 0.05em !important; }
.hora-active-info-box.favorable label { color: #15803D !important; }
.hora-active-info-box.caution label { color: #B91C1C !important; }
.hora-active-info-box p { font-size: 0.9rem !important; line-height: 1.55 !important; color: #334155 !important; margin: 0 !important; font-weight: 500 !important; }
.hora-table-card { background: #FFFDF9 !important; border: 1px solid rgba(217, 119, 6, 0.22) !important; border-radius: 16px !important; padding: 28px 24px !important; box-shadow: 0 8px 30px rgba(42, 21, 10, 0.05) !important; margin-bottom: 32px !important; box-sizing: border-box !important; width: 100% !important; }
.hora-table-header-row { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; border-bottom: 1.5px solid #DEC5A0; padding-bottom: 14px; margin-bottom: 18px; }
.hora-table-header-title { font-family: 'Outfit', sans-serif !important; font-size: 1.35rem !important; font-weight: 800 !important; color: #65250C !important; margin: 0 !important; display: flex; align-items: center; gap: 8px; }
.hora-sun-meta-pill { font-size: 0.86rem; font-weight: 700; color: #65250C; background: #FFF7E8; border: 1.5px solid #DEC5A0; padding: 6px 14px; border-radius: 8px; }
.astroleaf-table-responsive { width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; border: 1.5px solid #DEC5A0 !important; border-radius: 12px !important; background: #FFFDF9 !important; margin: 8px 0 !important; box-sizing: border-box !important; }
.astroleaf-table-responsive::-webkit-scrollbar { height: 8px; }
.astroleaf-table-responsive::-webkit-scrollbar-track { background: #FFF7E8; border-radius: 4px; }
.astroleaf-table-responsive::-webkit-scrollbar-thumb { background: #DEC5A0; border-radius: 4px; }
.astroleaf-table-responsive::-webkit-scrollbar-thumb:hover { background: #D97706; }
.hora-premium-table { width: 100% !important; min-width: 680px !important; border-collapse: collapse !important; text-align: left !important; margin: 0 !important; }
.hora-premium-table th { background: #65250C !important; color: #FFBA5F !important; font-family: 'Outfit', sans-serif !important; font-size: 0.84rem !important; font-weight: 700 !important; padding: 12px 14px !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; border-bottom: 2px solid #4A1A08 !important; white-space: nowrap !important; }
.hora-premium-table td { padding: 12px 14px !important; border-bottom: 1px solid #EFE2CF !important; font-size: 0.88rem !important; color: #334155 !important; vertical-align: middle !important; line-height: 1.55 !important; }
.hora-premium-table tr:nth-child(even) td { background-color: #FFF9F0 !important; }
.hora-premium-table tr:hover td { background-color: #FFF2DF !important; }
.hora-badge-auspicious { background: #DCFCE7 !important; color: #15803D !important; border: 1px solid #86EFAC !important; padding: 3px 10px !important; border-radius: 50px !important; font-weight: 700 !important; font-size: 0.76rem !important; display: inline-block !important; white-space: nowrap !important; }
.hora-badge-neutral { background: #FEF3C7 !important; color: #B45309 !important; border: 1px solid #FCD34D !important; padding: 3px 10px !important; border-radius: 50px !important; font-weight: 700 !important; font-size: 0.76rem !important; display: inline-block !important; white-space: nowrap !important; }
.hora-badge-inauspicious { background: #FEE2E2 !important; color: #B91C1C !important; border: 1px solid #FCA5A5 !important; padding: 3px 10px !important; border-radius: 50px !important; font-weight: 700 !important; font-size: 0.76rem !important; display: inline-block !important; white-space: nowrap !important; }
.wy-seo-articles { max-width: 840px !important; width: 100% !important; margin: 36px auto 20px auto !important; padding: 0 20px !important; box-sizing: border-box !important; text-align: left !important; background: transparent !important; }
.wy-article-section { margin-bottom: 28px !important; padding-bottom: 24px !important; border-bottom: 1.5px solid #DEC5A0 !important; }
.wy-article-h2 { font-family: 'Outfit', sans-serif !important; font-size: 1.55rem !important; font-weight: 700 !important; color: #65250C !important; margin: 0 0 16px 0 !important; padding-bottom: 10px !important; border-bottom: 1.5px solid #65250C !important; text-align: left !important; line-height: 1.3 !important; }
.wy-article-body p { font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important; font-size: 1.02rem !important; line-height: 1.8 !important; color: #4A2E1B !important; margin-bottom: 16px !important; }
.wy-article-body strong { color: #65250C !important; font-weight: 700 !important; }
.wy-article-body a { color: #65250C !important; font-weight: 700 !important; text-decoration: underline !important; text-underline-offset: 3px !important; text-decoration-thickness: 1.5px !important; transition: color 0.2s ease !important; }
.wy-article-body a:hover { color: #D97706 !important; }
.pkr-faq-section { margin: 36px auto 48px auto !important; padding: 0 20px !important; text-align: center !important; box-sizing: border-box !important; }
.pkr-section-header { text-align: center; margin-bottom: 24px; }
.pkr-pill-label { display: inline-block !important; background: #FDE8CD !important; border: 1px solid #DEC5A0 !important; color: #65250C !important; font-size: 0.76rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; padding: 4px 14px !important; border-radius: 50px !important; margin-bottom: 8px !important; }
.pkr-section-title { font-family: 'Outfit', sans-serif !important; font-size: 1.6rem !important; font-weight: 700 !important; color: #65250C !important; margin: 6px 0 !important; text-align: center !important; }
.pkr-section-desc { font-family: 'Be Vietnam Pro', sans-serif !important; font-size: 0.94rem !important; color: #555555 !important; margin: 0 auto !important; max-width: 600px !important; text-align: center !important; }
.pkr-faq-container { display: flex !important; flex-direction: column !important; gap: 12px !important; width: 100% !important; max-width: 840px !important; margin: 0 auto !important; text-align: left !important; }
.pkr-faq-item { background: #FFF7E8 !important; border: 1.5px solid #E6DFD5 !important; border-radius: 8px !important; overflow: hidden !important; transition: all 0.2s ease !important; }
.pkr-faq-item.active { border-color: #65250C !important; background: #FFEFD6 !important; }
.pkr-faq-question { padding: 16px 20px !important; font-family: 'Outfit', sans-serif !important; font-size: 1rem !important; font-weight: 700 !important; color: #65250C !important; cursor: pointer !important; display: flex !important; justify-content: space-between !important; align-items: center !important; background: transparent !important; border: none !important; width: 100% !important; box-sizing: border-box !important; }
.faq-icon { font-size: 1.2rem !important; color: #65250C !important; font-weight: 700 !important; margin-left: 12px !important; flex-shrink: 0 !important; transition: transform 0.2s ease !important; }
.pkr-faq-item.active .faq-icon { transform: rotate(45deg); }
.pkr-faq-answer { display: none; padding: 0 20px 16px 20px !important; color: #4A2E1B !important; font-size: 0.94rem !important; line-height: 1.7 !important; border-top: 1px solid #DEC5A0 !important; }
.pkr-faq-item.active .pkr-faq-answer { display: block !important; }

@media (max-width: 768px) {
    .pkr-hero-banner, .pkr-hero-banner.cd-hero { padding: 42px 18px 36px 18px !important; }
    .cd-strict-container, .ale-container { padding: 20px 16px !important; }
    .aap-form-card.cd-form-card, .ud-form-card, .hora-active-hero-card, .hora-table-card { padding: 20px 16px !important; border-radius: 12px !important; margin-bottom: 20px !important; }
    .cd-form-grid, .sun-form-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
    .hora-active-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
    .hora-active-title { font-size: 1.45rem !important; }
    .hora-table-header-row { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
    .hora-sun-meta-pill { width: 100% !important; box-sizing: border-box !important; text-align: center !important; }
}

@media (max-width: 480px) {
    .hora-date-btn-today { padding: 0 10px !important; font-size: 0.78rem !important; }
    .hora-active-header { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
    .hora-active-time-pill { width: 100% !important; box-sizing: border-box !important; justify-content: center !important; }
}