/* Hijri calendar — page styles (niyatapp.com/hijri-calendar/)
   Design tokens come from /assets/styles.css. Namespaced .hj-* */

.hj-main{padding:56px 0 96px}
.hj-breadcrumbs{font-size:13px;color:var(--cream-muted);letter-spacing:.04em;margin-bottom:28px}
.hj-breadcrumbs a{color:var(--gold)}
.hj-breadcrumbs span[aria-current]{color:var(--cream-dim)}

.hj-head{max-width:760px;margin-bottom:44px}
.hj-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,5vw,60px);line-height:1.06;letter-spacing:-.02em;margin:14px 0 18px;text-wrap:balance}
.hj-head h1 em{font-style:italic;color:var(--gold)}
.hj-head .lead{max-width:62ch}

.hj-card{background:var(--bg-card);border:1px solid var(--line);border-radius:14px;padding:28px}
.hj-card h2{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.2;margin:0 0 6px;color:var(--emerald)}
.hj-card .hj-card-sub{font-size:13.5px;color:var(--cream-dim);margin:0 0 20px;line-height:1.5}

/* Today panel */
.hj-today-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
@media (max-width:920px){.hj-today-grid{grid-template-columns:1fr}}
.hj-today{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;background:var(--emerald);border:1px solid var(--emerald);border-radius:14px;padding:36px 36px;color:#f5f1e8}
.hj-today .hj-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:10px}
.hj-today .hj-day{font-family:var(--serif);font-weight:400;font-size:clamp(84px,12vw,132px);line-height:.95;letter-spacing:-.03em;color:#f8f4ea}
.hj-today .hj-monthyear{font-family:var(--serif);font-size:clamp(26px,3.4vw,36px);line-height:1.15;color:var(--gold-soft)}
.hj-today .hj-greg{margin-top:14px;font-size:14.5px;color:rgba(245,241,232,.75)}

/* Converters */
.hj-conv-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}
@media (max-width:920px){.hj-conv-grid{grid-template-columns:1fr}}
.hj-field{margin-bottom:16px}
.hj-field label{display:block;font-size:14px;font-weight:600;color:var(--cream);margin-bottom:8px}
.hj-input,.hj-select{width:100%;min-height:44px;padding:10px 12px;font-family:var(--sans);font-size:15px;color:var(--cream);background:var(--bg);border:1px solid var(--line-strong);border-radius:10px;transition:border-color .15s}
.hj-input:focus,.hj-select:focus{outline:none;border-color:var(--gold)}
.hj-triple{display:grid;grid-template-columns:80px 1fr 100px;gap:10px}
@media (max-width:560px){.hj-triple{grid-template-columns:70px 1fr 90px}}
.hj-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 22px;border-radius:100px;font-size:14px;font-weight:600;letter-spacing:.02em;background:var(--emerald);color:#f5f1e8;border:none;cursor:pointer;transition:transform .15s,background .15s}
.hj-btn:hover{transform:translateY(-1px);background:var(--emerald-hover)}
.hj-result{margin-top:16px;padding:16px 18px;border:1px solid var(--gold-soft);border-radius:12px;background:var(--bg-elevated);font-family:var(--serif);font-size:22px;color:var(--emerald);min-height:58px;line-height:1.3}
.hj-result small{display:block;font-family:var(--sans);font-size:12.5px;color:var(--cream-dim);margin-top:4px}
.hj-result.err{border-color:var(--line-strong);color:var(--cream-dim);font-family:var(--sans);font-size:14.5px}

/* Caveat */
.hj-caveat{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg-elevated);font-size:13px;line-height:1.55;color:var(--cream-dim)}
.hj-caveat .hj-badge{flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--gold);border:1px solid var(--gold-soft);border-radius:100px;padding:3px 9px;margin-top:1px;white-space:nowrap}

/* Events */
.hj-events{margin-top:28px}
.hj-event{display:flex;align-items:center;gap:18px;padding:16px 0;border-top:1px solid var(--line)}
.hj-event:last-child{border-bottom:1px solid var(--line)}
.hj-event-date{flex-shrink:0;width:92px;text-align:center;padding:10px 8px;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg-elevated)}
.hj-event-date .hj-ed-day{font-family:var(--serif);font-size:22px;line-height:1.1;color:var(--emerald)}
.hj-event-date .hj-ed-rest{font-size:11px;letter-spacing:.06em;color:var(--cream-dim);text-transform:uppercase}
.hj-event-main{flex:1;min-width:0}
.hj-event-main .hj-ev-name{font-size:15.5px;font-weight:600;color:var(--cream)}
.hj-event-main .hj-ev-note{font-size:12.5px;color:var(--cream-muted);margin-top:2px}
.hj-countdown{flex-shrink:0;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--gold);white-space:nowrap}
@media (max-width:560px){.hj-event{gap:12px}.hj-event-date{width:76px}}

/* Month grid */
.hj-months{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:24px}
@media (max-width:920px){.hj-months{grid-template-columns:1fr}}
.hj-month{border:1px solid var(--line);border-radius:14px;background:var(--bg-card);padding:20px}
.hj-month h3{font-family:var(--serif);font-weight:500;font-size:21px;color:var(--emerald);margin:0;line-height:1.2}
.hj-month .hj-month-sub{font-size:12px;color:var(--cream-muted);margin:4px 0 14px;letter-spacing:.03em}
.hj-days{display:flex;flex-wrap:wrap;gap:6px}
.hj-day{width:52px;padding:7px 4px;border:1px solid var(--line);border-radius:9px;background:var(--bg);text-align:center}
.hj-day .hj-d-h{font-family:var(--serif);font-size:17px;line-height:1.1;color:var(--cream)}
.hj-day .hj-d-g{font-size:9.5px;letter-spacing:.03em;color:var(--cream-muted);margin-top:2px;text-transform:uppercase}
.hj-day.today{border-color:var(--gold);background:var(--bg-elevated)}
.hj-day.today .hj-d-h{color:var(--gold);font-weight:700}

/* Prose */
.hj-section{padding:72px 0;border-top:1px solid var(--line);margin-top:72px}
.hj-section:first-of-type{border-top:0;margin-top:0}
.hj-prose{max-width:720px}
.hj-prose h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.4vw,40px);line-height:1.1;letter-spacing:-.015em;margin:0 0 18px;text-wrap:balance}
.hj-prose h2 em{font-style:italic;color:var(--gold)}
.hj-prose p{font-size:16px;line-height:1.65;color:var(--cream-dim);margin:0 0 16px}
.hj-prose p strong{color:var(--cream)}
.hj-prose ul{margin:0 0 16px;padding-left:22px;font-size:15.5px;line-height:1.7;color:var(--cream-dim)}
.hj-prose li{margin-bottom:6px}
.hj-prose a{color:var(--gold);font-weight:500}
.hj-prose a:hover{text-decoration:underline}
.hj-callout{margin:24px 0;padding:18px 20px;border-left:3px solid var(--gold);background:var(--bg-elevated);border-radius:0 12px 12px 0;font-size:14.5px;line-height:1.6;color:var(--cream-dim)}
.hj-callout strong{color:var(--cream)}

/* FAQ */
.hj-faq{border-top:1px solid var(--line)}
.hj-faq details{border-bottom:1px solid var(--line)}
.hj-faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:22px 0;font-family:var(--serif);font-size:21px;line-height:1.3;color:var(--cream);min-height:44px}
.hj-faq summary::-webkit-details-marker{display:none}
.hj-faq summary::after{content:"+";font-family:var(--sans);font-size:22px;color:var(--gold);flex-shrink:0;transition:transform .25s}
.hj-faq details[open] summary::after{transform:rotate(45deg)}
.hj-faq details p{margin:0 0 22px;font-size:15px;line-height:1.65;color:var(--cream-dim);max-width:660px}

/* Related */
.hj-related{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
@media (max-width:820px){.hj-related{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.hj-related{grid-template-columns:1fr}}
.hj-related a{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--bg-deep);font-size:14.5px;font-weight:600;color:var(--cream);transition:border-color .2s,transform .2s}
.hj-related a:hover{border-color:var(--gold);transform:translateY(-2px)}
.hj-related a small{font-size:12.5px;font-weight:400;color:var(--cream-muted)}

/* App CTA */
.app-cta{margin-top:72px;padding:48px 40px;border:1px solid var(--line-strong);border-radius:14px;background:var(--bg-elevated);text-align:center;position:relative;overflow:hidden}
.app-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 100% at 50% 0%,rgba(161,120,47,.12),transparent 70%);pointer-events:none}
.app-cta h2{position:relative;font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.6vw,42px);line-height:1.1;margin:0 0 12px;text-wrap:balance}
.app-cta h2 em{font-style:italic;color:var(--gold)}
.app-cta p{position:relative;max-width:520px;margin:0 auto 28px;font-size:15.5px;line-height:1.6;color:var(--cream-dim)}
.app-cta .hj-btn{position:relative;text-decoration:none}
.app-cta .hj-btn.ghost{background:transparent;color:var(--cream);box-shadow:inset 0 0 0 1px var(--line-strong)}
.app-cta .hj-btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--gold);background:transparent}

/* fixes 2026-08-21: the today-card day number shares .hj-day with month-grid cells; the grid rule
   (width:52px, cream background) was hiding the big number. Give the card its own box. */
.hj-today .hj-day{width:auto;padding:0;border:0;background:transparent;text-align:left}
/* Hijri→Gregorian selects: month needs room; stack on narrow screens */
@media (max-width:520px){.hj-triple{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}.hj-triple select:nth-child(2){grid-column:1/-1;order:-1}}
