/* Jill's Cleaners - base layout + default Fresh Teal palette. Theme files override the :root palette only. */
:root{--navy:#0d4d4a;--blue:#0f7a6f;--sky:#e6f6f3;--gold:#ff8a5b;--ink:#1d2b2a;--muted:#55706c;--line:#d5e9e5}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.6;color:var(--ink);background:#f7f9fc}
.wrap{max-width:1000px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:8px;top:-100px;background:var(--gold);color:var(--navy);padding:8px 14px;font-weight:700;z-index:10}
.skip:focus{top:8px}
header{background:var(--navy);color:#fff}
header .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:14px;padding-bottom:14px}
.brand{font-size:1.35em;font-weight:700;color:#fff;text-decoration:none;letter-spacing:.3px;margin-right:auto}
.brand span{color:var(--gold)}
nav a{color:#dbe7f5;text-decoration:none;margin-left:16px;font-size:.95em}
nav a:hover{color:#fff;text-decoration:underline}
.call{order:3;background:var(--gold);color:var(--navy);font-weight:700;padding:6px 12px;border-radius:6px;text-decoration:none;font-size:.95em;white-space:nowrap}
.hero{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;padding:56px 0 64px}
.badge{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;font-size:.95em!important;padding:6px 14px;border-radius:20px;margin:0 0 16px}
.hero h1{font-size:2.2em;line-height:1.2;margin:0 0 14px;max-width:760px}
.hero p{font-size:1.1em;max-width:680px}
.cta{display:inline-block;background:var(--gold);color:var(--navy);padding:12px 22px;text-decoration:none;border-radius:6px;font-weight:700;margin:8px 10px 0 0}
.cta.alt{background:transparent;color:#fff;border:2px solid #fff}
main section{padding:44px 0}
main section:nth-of-type(even){background:#fff}
h2{color:var(--navy);font-size:1.6em;margin:0 0 20px}
h2:after{content:"";display:block;width:56px;height:4px;background:var(--gold);margin-top:8px;border-radius:2px}
a{color:var(--blue)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:8px;padding:16px 18px}
.card h3{margin:0 0 6px;color:var(--navy);font-size:1.08em}
.card p{margin:0;color:var(--muted);font-size:.95em}
.checks{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.checks li{background:var(--sky);border-radius:6px;padding:10px 14px;font-weight:600;color:var(--navy)}
.checks li:before{content:"\2713\00a0\00a0";color:var(--blue)}
table{border-collapse:separate;border-spacing:0;width:100%;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
th,td{padding:8px 14px;border-bottom:1px solid var(--line);text-align:left}
th{font-weight:600}
tr:last-child th,tr:last-child td{border-bottom:0}
.locations{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}
.location{background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:8px;padding:18px 20px}
.location h3{margin:0 0 6px;color:var(--navy);font-size:1.2em}
.location th,.location td{padding:8px 12px;white-space:nowrap}
.location address{font-style:normal;margin-bottom:12px}
.location .actions{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px 16px;font-weight:600}
.note{color:var(--muted);margin:18px 0 0}
.faq details{border-bottom:1px solid var(--line);padding:10px 0}
.faq summary{cursor:pointer;color:var(--navy);font-weight:700;font-size:1.05em}
.faq details p{margin:6px 0 0;color:var(--muted)}
footer{background:var(--navy);color:#c9d6e6;font-size:.9em;padding:24px 0}
footer p{margin:0 0 6px}
footer a{color:#fff}
.prices{max-width:640px;margin:8px 0}
.prices td{text-align:right;white-space:nowrap;font-weight:600;color:var(--navy)}
.prices small{font-weight:400;color:var(--muted)}
.served{color:var(--muted);font-size:.92em;margin:10px 0 0}
.reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.review{margin:0;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:8px;padding:14px 18px}
.review p{margin:0 0 8px}
.review cite{color:var(--muted);font-style:normal;font-size:.9em}
.crumbs{font-size:.9em;margin:0 0 10px}
.crumbs a{color:#dbe7f5}
.promos{background:var(--sky)!important;padding:32px 0!important}
.promo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.promo{background:#fff;border:2px dashed var(--gold);border-radius:10px;padding:18px 20px}
.promo .tag{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;font-size:.8em;text-transform:uppercase;letter-spacing:.5px;padding:2px 10px;border-radius:12px}
.promo h3{margin:10px 0 4px;color:var(--navy);font-size:1.3em}
.promo p{margin:0;color:var(--muted);font-size:.95em}
.promo small{display:block;margin-top:8px;color:var(--muted)}
img{max-width:100%;height:auto}
@media (min-width:801px){
nav{order:2}
}
@media (max-width:800px){
nav{order:4;width:100%;display:flex;gap:4px 18px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
nav a{margin:0;padding:6px 0}
}
@media (max-width:600px){
body{font-size:16px}
header .wrap{padding-top:12px;padding-bottom:8px}
.hero{padding:32px 0 40px}
.hero h1{font-size:1.6em}
.hero p{font-size:1em}
.badge{font-size:.85em!important}
.cta{display:block;text-align:center;margin:10px 0 0}
main section{padding:32px 0}
h2{font-size:1.35em}
.grid,.promo-grid,.checks,.locations{grid-template-columns:1fr}
th,td{padding:10px 12px}
.location{padding:16px 14px}
.location th,.location td{padding:8px 10px}
.locations{grid-template-columns:minmax(0,1fr)}
}
