/*
Theme Name:  SmileMerit
Theme URI:   https://smilemerit.com
Description: SmileMerit – Independent Teeth Whitening Directory (v2.0)
Version:     2.0
Author:      SmileMerit
Text Domain: smilemerit
*/
:root{--navy:#081B33;--gold:#C9A86A;--ivory:#F8F5EF;--cream:#FAF7F0;--mint:#6EC7BE;--ink:#263143;--text:#506072;--muted:#6E7B8D;--line:#E6DDCD;--soft:#F3EBDD;--white:#fff;--danger:#91433D;--success:#17796F;--shadow:0 22px 60px rgba(8,27,51,.12);--radius:26px;}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--navy);font-family:Inter,Arial,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.wrap{width:min(1180px,calc(100% - 36px));margin:auto}
.header{position:sticky;top:0;z-index:99;background:rgba(250,247,240,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.logo-icon{width:45px;height:52px;display:grid;place-items:center}
.logo-icon svg{width:100%;height:100%}
.logo-word{font-weight:950;letter-spacing:.16em;font-size:21px;line-height:1}
.logo-word strong{color:var(--gold)}
.navlinks{display:flex;gap:16px;align-items:center;font-size:14px;font-weight:850;color:var(--ink)}
.navlinks a:hover{color:var(--gold)}
.actions{display:flex;gap:11px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:999px;border:1px solid transparent;font-weight:950;cursor:pointer;transition:.18s ease;background:transparent}
.btn:hover{transform:translateY(-1px)}
.primary{background:var(--navy);color:white;box-shadow:0 14px 32px rgba(8,27,51,.18)}
.secondary{background:white;border-color:var(--line);color:var(--navy)}
.goldbtn{background:var(--gold);color:var(--navy)}
.ghost{border-color:rgba(255,255,255,.32);color:white}
main{min-height:70vh}
section{padding:72px 0}
.hero{padding:70px 0 56px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;right:-260px;top:-280px;width:690px;height:690px;border-radius:50%;background:radial-gradient(circle,rgba(110,199,190,.22),rgba(201,168,106,.15),transparent 70%)}
.hero>*{position:relative}
.grid2{display:grid;grid-template-columns:1.04fr .96fr;gap:42px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
h1,h2,h3{margin:0;line-height:1.05;letter-spacing:-.055em}
h1{font-size:clamp(43px,7vw,82px)}
h2{font-size:clamp(32px,4.2vw,56px)}
h3{font-size:23px}
p{margin:0;color:var(--text);font-size:17px}
.lead{font-size:20px;line-height:1.65}
.small{font-size:14px;color:var(--muted)}
.stack{display:flex;flex-direction:column;gap:22px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;padding:8px 13px;background:white;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.eyebrow:before{content:"";width:8px;height:8px;border-radius:99px;background:var(--mint);box-shadow:0 0 0 4px rgba(110,199,190,.16)}
.card,.panel,.ad,.video,.notice{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card{padding:27px}
.card:hover{border-color:#d8ccb8}
.panel{padding:28px;position:relative;overflow:hidden}
.panel:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:linear-gradient(90deg,var(--navy),var(--gold),#fff)}
.visual{min-height:390px;border-radius:34px;background:linear-gradient(135deg,#fff,#f3ebdf);border:1px solid var(--line);position:relative;overflow:hidden;box-shadow:var(--shadow)}
.visual:before{content:"";position:absolute;inset:28px;border-radius:30px;background:radial-gradient(circle at 78% 20%,rgba(110,199,190,.2),transparent 25%),linear-gradient(135deg,#fff,#eaf8f6)}
.visual svg{position:absolute;inset:0;margin:auto;width:78%;max-width:470px}
.play{width:78px;height:78px;border-radius:999px;background:white;display:grid;place-items:center;font-size:28px;font-weight:950;color:var(--navy);box-shadow:0 18px 44px rgba(8,27,51,.2)}
.video{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;padding:28px}
.thumb{min-height:280px;border-radius:25px;background:linear-gradient(135deg,var(--navy),#1D5169);display:grid;place-items:center;position:relative;overflow:hidden}
.thumb:before{content:"";position:absolute;width:70%;height:34%;border-bottom:4px solid var(--gold);border-radius:0 0 999px 999px;top:34%;left:15%}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat{background:white;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 12px 30px rgba(8,27,51,.06)}
.number{font-size:32px;font-weight:950;letter-spacing:-.055em}
.icon{width:44px;height:44px;border-radius:16px;background:#EAF8F6;display:grid;place-items:center;color:var(--navy);font-weight:950;margin-bottom:12px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:8px 11px;border-radius:999px;background:#F5EEE2;border:1px solid var(--line);font-size:13px;font-weight:850;color:var(--ink)}
.verified{background:#EAF8F6;border-color:#BDE4DE;color:#123F3B}
.dark{background:var(--navy);color:white;border-radius:36px;padding:38px;box-shadow:var(--shadow)}
.dark p,.dark h2,.dark h3{color:white}
.intro{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
.intro p{max-width:620px}
.feature{min-height:310px;display:flex;flex-direction:column;justify-content:space-between}
.feature p{margin-top:12px}
.feature a,.textlink{display:inline-block;font-weight:950;color:var(--navy);margin-top:18px}
.mini{height:95px;border-radius:22px;border:1px solid var(--line);margin-bottom:20px;position:relative;overflow:hidden}
.city{background:linear-gradient(135deg,var(--navy),#22516C)}
.city:after{content:"";position:absolute;inset:18px;background:linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:20px 20px;border-radius:14px}
.sensitive{background:linear-gradient(90deg,#fff,#e4f8f4)}
.sensitive:after{content:"";position:absolute;left:24px;right:24px;top:39px;height:18px;border-bottom:4px solid var(--mint);border-radius:0 0 999px 999px}
.event{background:linear-gradient(90deg,#fff,#f1e6d3)}
.event:after{content:"6M · 3M · 1M · Week";position:absolute;inset:0;display:grid;place-items:center;font-size:13px;font-weight:950;color:var(--muted)}
.stain{background:linear-gradient(90deg,#7b5232,#7c3048,#69717B,#fff)}
.compare-mini{background:linear-gradient(135deg,#fff,#F4EFE7)}
.compare-mini:after{content:"Compare";position:absolute;inset:0;display:grid;place-items:center;font-weight:950;color:var(--navy)}
.ad{box-shadow:none;border-style:dashed;background:rgba(255,255,255,.72);padding:20px;text-align:center}
.ad strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.provider{display:flex;flex-direction:column;gap:16px}
.providerhead{display:flex;gap:14px;align-items:flex-start}
.avatar{width:58px;height:58px;border-radius:19px;background:linear-gradient(135deg,var(--navy),#23546D);color:white;display:grid;place-items:center;font-weight:950;flex:0 0 auto}
.meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--line);padding-top:16px;font-size:14px;color:var(--text)}
.meta strong{display:block;color:var(--navy)}
.progress{height:9px;background:var(--soft);border-radius:999px;overflow:hidden;margin-top:8px}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--mint),var(--gold))}
.filters{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}
.field{background:white;border:1px solid var(--line);border-radius:18px;padding:12px}
.field label{display:block;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}
.field input,.field select,.field textarea{width:100%;border:0;background:transparent;outline:0;font-weight:750;color:var(--navy)}
.formrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.answer,.notice{padding:20px;background:#F6EFE4;box-shadow:none;margin-top:18px;border-radius:var(--radius);border:1px solid var(--line)}
.answer strong{color:var(--navy)}
.toolgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.toolgrid button,.quiz button{width:100%;text-align:left;background:#FBFAF7;border:1px solid var(--line);border-radius:18px;padding:16px;font-weight:950;cursor:pointer;transition:.18s ease}
.toolgrid button:hover,.quiz button:hover{border-color:var(--mint);background:white}
.shadeguide{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:18px}
.shade{height:72px;border-radius:15px;border:1px solid var(--line);display:flex;align-items:end;justify-content:center;padding:8px;font-size:11px;font-weight:950;color:var(--muted)}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.faqitem{border-top:1px solid var(--line);padding:20px 0}
.faqitem:first-child{border-top:0}
.table{width:100%;border-collapse:collapse;background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden}
.table th,.table td{padding:15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.table th{background:#F6EFE4;color:var(--navy)}
.footer{background:var(--navy);color:white;padding:54px 0 28px}
.footgrid{display:grid;grid-template-columns:1.35fr repeat(5,1fr);gap:26px}
.footer p,.footer a{color:rgba(255,255,255,.72);font-size:14px;display:block;margin:8px 0}
.footer a:hover{color:white}
.footer h4{margin:0 0 12px;color:white}
.mobilemenu{display:none}
.sr{position:absolute;left:-9999px}
@media(max-width:1040px){
  .navlinks{display:none}.mobilemenu{display:inline-flex}
  .grid2,.video{grid-template-columns:1fr}
  .grid4,.grid3,.stats,.filters,.timeline,.footgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .grid4,.grid3,.stats,.filters,.timeline,.toolgrid,.footgrid,.meta,.formrow,.shadeguide{grid-template-columns:1fr}
  .intro{display:block}.intro p{margin-top:14px}
  .nav{height:auto;padding:13px 0;align-items:flex-start;flex-direction:column}
  .actions .btn{width:100%}.actions{width:100%}
  .logo-word{font-size:18px;letter-spacing:.12em}
}
