/* islamicprayertimes.co — warm editorial layout, emerald actions, dark green results, gold accents. */
*,*::before,*::after{box-sizing:border-box}
:root{
  --bg:#f9f8f3;--bg-2:#f2f1e8;--ink:#193c36;--muted:#50665f;--accent:#246c59;--accent-ink:#1b5445;--soft:#e3eddf;--deep:#153f37;--deep-2:#0f312b;--panel-bg:#07433d;--footer-bg:#083e36;
  --line:#dfe2da;--field:#b9c3bd;--white:#fffdf9;--gold:#d9b96a;--gold-ink:#b8933f;--panel-line:rgba(255,255,255,.14);--panel-muted:#cfdcd6;--focus:#d98b3e;--error:#9c3120;
  --serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif;
  --max:1180px;--gutter:24px;--radius:14px;--shadow:0 12px 32px rgba(25,60,54,.08),0 1px 2px rgba(25,60,54,.06);
}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 var(--sans);min-width:320px;overflow-wrap:anywhere}
a{color:var(--accent);text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
img,svg{max-width:100%;height:auto}
h1,h2,h3{line-height:1.15;text-wrap:balance;font-family:var(--serif);font-weight:400}
h1{font-size:64px;line-height:1.05;letter-spacing:-1.5px;margin:14px 0 22px;max-width:760px}
h2{font-size:36px;line-height:1.2;margin:18px 0}
h3{font-size:22px;margin:22px 0 12px}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
[hidden]{display:none!important}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.icon{width:24px;height:24px;flex:none;vertical-align:middle}
.icon-sm{width:18px;height:18px}

/* Skip to content */
.skip{position:absolute;left:20px;top:-100px;z-index:20;background:var(--white);color:var(--accent);border:2px solid var(--accent);border-radius:8px;padding:10px 14px;font:700 14px var(--sans);cursor:pointer}
.skip:focus{top:10px}

/* Header and navigation */
.site-header{background:var(--white);border-bottom:1px solid var(--line)}
.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:76px}
.brand{font-family:var(--serif);font-weight:400;font-size:26px;text-decoration:none;color:var(--ink);white-space:nowrap;letter-spacing:-.3px}
.site-nav ul{display:flex;flex-wrap:wrap;gap:4px 26px;list-style:none;margin:0;padding:0;font-size:15px}
.site-nav a{color:var(--muted);padding:26px 0 22px;display:inline-block;text-decoration:none;border-bottom:2px solid transparent}
.site-nav a:hover{color:var(--ink);text-decoration:none}
.site-nav a[aria-current=page]{color:var(--ink);font-weight:700;border-bottom-color:var(--gold)}

/* Breadcrumbs */
.crumbs{font-size:13px;color:var(--muted);margin-top:18px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px}
.crumbs li+li::before{content:"›";margin-right:8px;color:var(--field)}
.crumbs a{color:var(--muted)}
.crumbs [aria-current]{color:var(--ink)}

/* Hero with ornamental art */
.hero{position:relative;padding:44px 0 34px;min-height:300px;display:flex;align-items:flex-end;background:url("https://islamicprayertimes.co/assets/images/prayer-design/islamic-prayer-times-hero-background.webp") no-repeat right top/auto 100%}
.hero-copy{max-width:760px;position:relative;z-index:1}
.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:11px;font-weight:700;color:var(--accent);margin:0}
.intro{font-size:20px;max-width:720px;color:var(--muted);margin:0}
noscript{display:block;padding:20px;background:#f3dcc6;border-radius:12px;margin-bottom:24px}

/* Tool layout */
.tool-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:26px;align-items:start;margin:26px 0 18px}
.tool-layout>*{min-width:0}
.tool-form{padding:24px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);margin:0;box-shadow:var(--shadow)}
label{display:block;font-size:13px;font-weight:700;margin:14px 0 6px}
.check{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;cursor:pointer}
select,input{font:inherit;font-size:15px;color:var(--ink);width:100%;border:1px solid var(--field);border-radius:8px;background:var(--white);padding:10px 12px;min-height:46px}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23193c36' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:38px}
select:disabled{color:var(--muted);background-color:#f3f2ea}
input[type=checkbox]{width:20px;height:20px;min-height:0;margin:0;accent-color:var(--accent);cursor:pointer}
button,.button{border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;min-height:46px;font:700 14px var(--sans);padding:12px 18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s}
button:hover,.button:hover{background:var(--accent-ink)}
button.secondary{color:var(--accent);background:transparent}
button.secondary:hover{background:var(--soft)}
button:disabled{opacity:.5;cursor:default}
button:disabled:hover{background:var(--accent)}
button.secondary:disabled:hover{background:transparent}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.actions button[type=submit]{flex:1 1 100%}
.actions.export{margin:16px 0 0}
details{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
summary{cursor:pointer;font-size:14px;color:var(--ink);font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:32px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:20px;line-height:1;color:var(--accent)}
details[open] summary::after{content:"–"}
.small{font-size:13px;color:var(--muted)}
.tool-form .small{margin:10px 0 0}
.locked{margin:14px 0 0;font-size:14px}
.error{color:var(--error);font-weight:700;margin:14px 0 0}
.error:empty{display:none}
.visually-hidden{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.tool-aside{font-size:15px;margin:0 0 8px}
.tool-aside a{display:inline-flex;align-items:center;gap:10px;font-weight:700;text-decoration:none}
.tool-aside a span{text-decoration:underline;text-underline-offset:4px}
.tool-aside a:hover span{text-decoration-thickness:2px}

/* Results panel */
.results{position:relative;overflow:hidden;background:var(--panel-bg) url("https://islamicprayertimes.co/assets/images/prayer-design/islamic-prayer-times-results-panel-background.webp") no-repeat right bottom/100% auto;color:#fffdf6;border-radius:var(--radius);min-height:420px;box-shadow:var(--shadow)}
.results-body{position:relative;z-index:1;padding:32px 32px 28px}
.results .eyebrow,.results .small{color:var(--panel-muted)}
.results .eyebrow{color:#e6d7ab}
.results h2{font-size:36px;margin:10px 0 8px;color:#fffdf6}
.results h3{color:#fffdf6}
.results p{color:#fffdf6}
.results .status{color:var(--panel-muted);font-size:15px;margin:0 0 16px}
.results .placeholder{color:var(--panel-muted);font-size:18px;margin:0}
.settings-note{font-size:14px;background:rgba(255,255,255,.08);padding:12px 14px;border-radius:8px;margin:0 0 10px;border:1px solid var(--panel-line)}
.times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:22px 0 20px;border-top:1px solid var(--panel-line)}
.time-card{padding:18px 20px 16px 0;margin:0;border-right:1px solid var(--panel-line);border-bottom:1px solid var(--panel-line);position:relative}
.time-card:nth-child(3n){border-right:0}
.time-card:nth-child(n+4){padding-left:0}
.time-card:nth-child(3n+2),.time-card:nth-child(3n){padding-left:24px}
.time-card .label{display:flex;align-items:center;gap:10px;font-size:15px;color:#f3efe2}
.time-card .label .icon{color:var(--gold);width:24px;height:24px}
.time-card strong{font:30px/1.3 var(--serif);display:block;margin-top:10px;font-variant-numeric:tabular-nums;font-weight:400}
.time-card.is-next strong{color:var(--gold)}
.next{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid var(--panel-line);margin:0 0 14px;font-size:16px}
.next .icon{color:var(--gold);width:28px;height:28px}
.next strong{color:var(--gold)}
.stale-note{background:rgba(255,255,255,.12);border-left:4px solid var(--gold);padding:12px 14px;border-radius:6px;font-size:14px;margin:0 0 18px}
.results-body.is-stale .times,.results-body.is-stale .table-wrap,.results-body.is-stale .compass-wrap{opacity:.55}

/* Tables */
.table-wrap{overflow:auto;max-width:100%;margin:22px 0;-webkit-overflow-scrolling:touch;border-radius:8px;position:relative;background:rgba(15,49,43,.55)}
.table-wrap:focus-visible{outline-offset:2px}
table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}
th,td{padding:12px;text-align:left;border-bottom:1px solid var(--panel-line);font-variant-numeric:tabular-nums}
thead th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#e6d7ab}
tbody th{font-weight:400}
.method-table{background:var(--white);color:var(--ink);border:1px solid var(--line);margin:0 0 55px;box-shadow:var(--shadow)}
.method-table table{white-space:normal}
.method-table td,.method-table th{border-color:var(--line);vertical-align:top}
.method-table thead th{background:var(--soft);color:var(--ink)}
.method-table tbody th{font-weight:700}
.scroll-hint{font-size:12px;color:var(--panel-muted);margin:-12px 0 8px}

/* Qibla compass */
.compass-wrap{text-align:center;margin:22px 0 10px}
.compass{width:230px;height:230px;display:inline-block}
.compass .ring{fill:none;stroke:#9ab5ab;stroke-width:1.2}
.compass .tick{stroke:#9ab5ab;stroke-width:1.2}
.compass .north{fill:#fffdf6;font:700 12px var(--sans);letter-spacing:1px}
.compass .arrow{fill:var(--gold)}
.compass .hub{fill:var(--gold)}
.bearing{font:700 26px var(--sans);margin:8px 0 6px}

/* Intro sections, notes, cards */
.article ul,.article ol{color:var(--muted);padding-left:22px;margin:0 0 1em}
.article li{margin:0 0 6px}
.article h3{font-size:20px;margin:18px 0 8px}
.content-table{background:var(--white);color:var(--ink);border:1px solid var(--line);margin:14px 0 18px;box-shadow:var(--shadow)}
.content-table table{white-space:normal;font-size:14px}
.content-table caption{caption-side:top;text-align:left;font-size:13px;color:var(--muted);padding:12px 12px 6px}
.content-table th,.content-table td{border-color:var(--line);vertical-align:top;padding:10px 12px;color:var(--ink)}
.content-table thead th{background:var(--soft);color:var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}
.content-table tbody th{font-weight:700;white-space:nowrap}
.content-table td{font-variant-numeric:tabular-nums}
.seasonal-table td,.seasonal-table th{white-space:nowrap}
.areas,.popular,.nearby{display:flex;flex-wrap:wrap;gap:8px 10px;list-style:none;padding:0;margin:0 0 16px}
.areas li{background:var(--soft);color:var(--ink);border-radius:999px;padding:6px 14px;font-size:14px}
.popular li a,.nearby li a{display:inline-block;padding:10px 14px;background:var(--white);border:1px solid var(--line);border-radius:10px;text-decoration:none;font-weight:700;font-size:14px}
.popular li a:hover,.nearby li a:hover{border-color:var(--accent);text-decoration:underline}
.nearby li{display:flex;flex-direction:column;gap:4px}
.dates{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin:0 0 40px}
.directory-title{font-size:24px;margin:34px 0 12px}

.article{max-width:780px;margin:40px 0 44px}
.article p{color:var(--muted)}
.article section{margin-bottom:28px}
.article-grid{max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px;margin:44px 0 36px}
.article-grid section{margin:0;padding:6px 0 6px;border-left:1px solid var(--line);padding-left:28px}
.article-grid section:first-child{border-left:0;padding-left:0}
.article-grid h2{font-size:24px;margin:0 0 10px}
.article-grid p,.article-grid li{font-size:15px;line-height:1.6}
.article-grid p{margin:0 0 10px}
.article-grid p:last-child{margin:0}
.source-note{display:flex;gap:14px;align-items:flex-start;padding:18px 22px;background:var(--soft);border-radius:12px;margin:0 0 40px;color:var(--ink);font-size:15px}
.source-note .icon{color:var(--accent);margin-top:1px}
.source-note p{margin:0}

/* FAQ */
.faq{margin:0 0 40px}
.faq h2{font-size:26px;margin:0 0 6px}
.faq details{margin-top:0;border-top:1px solid var(--line);padding-top:0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{padding:16px 4px;font-size:16px;gap:16px}
.faq summary::after{flex-shrink:0}
.faq p{margin:0;padding:0 4px 18px;color:var(--muted);font-size:15px;line-height:1.6}

.explore-title{display:flex;align-items:center;gap:22px;margin:0 0 22px}
.explore-title::after{content:"";flex:1;height:1px;background:var(--line)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 70px;padding:0;list-style:none}
.link-card{display:flex;gap:18px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.link-card .badge{flex:none;width:56px;height:56px;border-radius:50%;background:var(--soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}
.link-card .badge .icon{width:26px;height:26px}
.link-card h3{font-size:22px;margin:4px 0 8px}
.link-card p{font-size:14px;color:var(--muted);line-height:1.55;margin:0 0 12px}
.link-card a{font-weight:700;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.link-card a:hover{text-decoration:underline}
.city-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:32px 0 20px;padding:0;list-style:none}
.city-list a{display:block;padding:15px;background:var(--white);border:1px solid var(--line);border-radius:10px;font-size:15px;text-decoration:none;color:var(--accent);min-height:52px;box-shadow:0 1px 2px rgba(25,60,54,.05)}
.city-list a:hover{border-color:var(--accent);text-decoration:underline}
.city-list .preset{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.error-page{padding:40px 0 80px;max-width:780px}
.error-page ul{padding-left:20px}

/* Footer */
.site-footer{position:relative;overflow:hidden;background:var(--footer-bg) url("https://islamicprayertimes.co/assets/images/prayer-design/islamic-prayer-times-footer-background.webp") no-repeat center/cover;color:#fff;padding:44px 0;margin-top:20px}
.site-footer .wrap{position:relative;max-width:1100px}
.site-footer a{color:#d7e4de}
.site-footer p{font-size:14px;max-width:820px}
.site-footer .brand{color:#fff;display:block;margin-bottom:12px}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 26px;font-size:14px;list-style:none;padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--panel-line)}
.footer-links a{display:inline-block;padding:6px 0;text-decoration:none;color:#fff}
.footer-links a:hover{text-decoration:underline}
.site-footer .fine{font-size:13px;color:#b8c9c2;margin:0}

/* Mobile menu (native <details>; works without JavaScript) */
.site-header{position:relative}
.mobile-menu{display:none;margin:0;border-top:0;padding-top:0}
.mobile-menu>.menu-toggle::after{content:none}
.menu-toggle{white-space:nowrap;justify-content:center}
.menu-toggle{list-style:none;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border:1px solid var(--field);border-radius:10px;background:var(--white);color:var(--ink);font:700 15px var(--sans);cursor:pointer;user-select:none}
.menu-toggle::-webkit-details-marker{display:none}
.menu-toggle::marker{content:""}
.menu-toggle:hover{background:var(--bg-2)}
.menu-icon,.menu-icon::before,.menu-icon::after{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s ease,background-color .2s ease}
.menu-icon{position:relative}
.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0}
.menu-icon::before{top:-6px}
.menu-icon::after{top:6px}
.mobile-menu[open] .menu-icon{background:transparent}
.mobile-menu[open] .menu-icon::before{transform:translateY(6px) rotate(45deg)}
.mobile-menu[open] .menu-icon::after{transform:translateY(-6px) rotate(-45deg)}
.menu-close-label,.mobile-menu[open] .menu-open-label{display:none}
.mobile-menu[open] .menu-close-label{display:inline}
.menu-panel{position:absolute;left:0;right:0;top:100%;z-index:60;background:var(--white);border-top:1px solid var(--line);border-bottom:3px solid var(--gold);box-shadow:var(--shadow);padding:18px 0 26px;max-height:calc(100dvh - 68px);overflow-y:auto;overscroll-behavior:contain}
.menu-heading{font:700 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:20px 0 4px}
.menu-list{list-style:none;margin:0;padding:0}
.menu-list li{margin:0}
.menu-list a{display:flex;align-items:center;min-height:48px;padding:0 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font:400 19px var(--serif)}
.menu-list a:hover{color:var(--accent-ink);background:var(--bg-2)}
.menu-list a[aria-current=page]{font-weight:700;color:var(--accent-ink)}
.menu-list a[aria-current=page]::before{content:"";width:4px;height:22px;background:var(--gold);border-radius:2px;margin-right:10px}
.menu-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
.menu-grid a{font-size:17px}
.menu-cta{display:flex;width:100%;justify-content:center;margin-top:2px}
.menu-all{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;color:var(--accent-ink);font-weight:700}
@media(max-width:360px){.menu-grid{grid-template-columns:1fr}}

/* Responsive */
@media(max-width:1020px){h1{font-size:54px}.hero{background-size:auto 80%}}
@media(max-width:850px){
  .site-nav{display:none}
  .mobile-menu{display:block}
  .site-header-inner{min-height:68px}
  .hero{padding-top:30px;min-height:0;background-image:none}
  h1{font-size:44px;letter-spacing:-1px}
  .intro{font-size:18px}
  .tool-layout{grid-template-columns:minmax(0,1fr);gap:22px}
  .results-body{padding:24px 22px}
  .results{min-height:0}
  .times{grid-template-columns:repeat(2,minmax(0,1fr))}
  .time-card:nth-child(3n){border-right:1px solid var(--panel-line)}
  .time-card:nth-child(3n+2),.time-card:nth-child(3n),.time-card:nth-child(n+4){padding-left:0}
  .time-card:nth-child(2n){border-right:0;padding-left:20px}
  .article-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .article-grid section{min-width:0}
  .article-grid section{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:18px}
  .article-grid section:first-child{border-top:0;padding-top:0}
  .cards,.city-list{grid-template-columns:1fr}
  h2{font-size:31px}
  .results h2{font-size:29px}
}
@media(max-width:420px){
  h1{font-size:40px}
  .tool-form{padding:20px}
  .time-card strong{font-size:26px}
  .link-card{padding:20px}
}

/* Print */
@media print{
  .site-header,.tool-form,.hero,.article,.cards,.explore-title,.source-note,.site-footer,.actions,.error,.skip,.crumbs,.tool-aside,.stale-note,.scroll-hint,.faq,noscript{display:none!important}
  body{background:#fff;color:#000;font-size:11px}
  .wrap{padding:0;max-width:none}
  .tool-layout{display:block;margin:0}
  .results{color:#000;background:#fff;padding:0;border:0;border-radius:0;min-height:0;box-shadow:none}
  .results-body{padding:0}
  .results h2,.results p,.results h3,.results .eyebrow,.results .small,.results .status,thead th{color:#000}
  .settings-note{background:none;border:1px solid #999}
  .table-wrap{overflow:visible;background:none}
  th,td{color:#000;border-color:#ccc;padding:6px}
  thead{display:table-header-group}
  tr{break-inside:avoid}
  .results h2{font-size:22px}
  @page{margin:14mm}
}
