/* Annuaire simple sur 1000px : bandes pleine largeur gris ardoise / jaune miel / blanc, colonnes empilées sous 760px */
:root{
  --ink:#464A4F; --ink-2:#2F3236; --muted:#6E7378; --line:#E2DDD3;
  --honey:#F8C266; --honey-2:#F3B13C; --honey-text:#B87404; --cream:#FBF4E6;
  --slate:#45494E; --white:#FFFFFF; --ok:#2E7D4F; --bad:#B23B2A; --blocked:#E9C9C1; --range:#FBE3B4;
  --f:"Trebuchet MS","Segoe UI",Tahoma,Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--f);font-size:15px;line-height:1.45;overflow-x:hidden}
img{max-width:100%}
[hidden]{display:none!important}
h1,h2,h3{margin:0;font-weight:400;text-transform:uppercase;letter-spacing:.01em;text-wrap:balance}
p{margin:0}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--honey-2);outline-offset:2px}
.w{max-width:1000px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.or{color:var(--honey-text);font-weight:700}
.loading{padding-block:60px;color:var(--muted)}
.muted{color:var(--muted)}

/* En-tête : logo à gauche, menu à droite ; reste visible au défilement sur ordinateur */
.site-head{background:var(--white);border-bottom:1px solid #EEE;position:sticky;top:0;z-index:40}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;padding-block:8px}
.logo{display:block;flex:none}
.logo img{height:58px;width:auto;max-width:100%;display:block}
.head-nav{display:flex;align-items:center;justify-content:flex-end;gap:6px 18px;flex-wrap:wrap;font-size:.92rem;min-width:0}
.head-nav a,.head-nav button{display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap}
.head-nav a:hover,.head-nav button:hover{color:var(--honey-text)}
.head-nav svg{width:15px;height:15px;fill:var(--honey-2);flex:none}
.fav-n{background:var(--cream);border-radius:9px;padding:0 7px;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}
.userbox{display:inline-flex;align-items:center;gap:6px 18px;flex-wrap:wrap}
.userbox button{all:unset;cursor:pointer}
.head-nav a.head-cta{background:var(--honey);color:var(--ink-2);padding:7px 14px;border-radius:4px;font-weight:700}
.head-nav a.head-cta:hover{background:var(--honey-2);color:var(--ink-2)}
@media (max-width:760px){
  .site-head{position:static}
  .head-in{justify-content:center}
  .logo img{height:52px}
  .head-nav{justify-content:center;width:100%;font-size:.88rem;gap:6px 14px}
}

/* Bandeau */
.banner{position:relative;height:clamp(120px,22vw,190px);overflow:hidden;background:#8AA}
.banner img{width:100%;height:100%;object-fit:cover;display:block}
.strip{height:44px;background:var(--honey)}

/* Bloc recherche gris */
.intro{background:var(--slate);color:#F2F2F2}
.intro .w{padding-block:24px 18px;display:grid;gap:12px}
.intro h1{color:var(--honey);font-size:1.15rem;font-weight:700}
.intro strong{color:#fff}
.intro .hl{color:var(--honey)}
.sbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.sbar select{width:100%;padding:5px 8px;border:1px solid #CCC;border-radius:2px;background:#fff;color:#333;text-align:center;font-size:.9rem}
.sbtn-row{display:flex;justify-content:flex-end}
.sbtn{background:var(--honey);color:var(--ink-2);border:0;padding:6px 22px;text-transform:uppercase;cursor:pointer;font-size:.95rem}
.sbtn:hover{background:var(--honey-2)}
@media (max-width:700px){ .sbar{grid-template-columns:1fr 1fr} }

/* Bande jaune : région + capacité */
.yellow{background:var(--honey)}
.yellow > .w{padding-block:36px 50px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media (max-width:760px){ .two{grid-template-columns:1fr} }
.h-yel{font-size:1.15rem;color:var(--ink-2);line-height:1.25}
.mapwrap{position:relative;margin-top:14px;max-width:440px}
.map{width:100%;display:block;height:auto}
.map path{fill:#fff;stroke:var(--honey-2);stroke-width:1;transition:fill .12s}
.map path.has{cursor:pointer}
.map path.has:hover,.map path.has:focus,.map path.on{fill:var(--slate);outline:none}
.map path.dept{stroke-width:.6}
.map path.dept.hl{fill:var(--honey-2)}
.map text{font-size:11px;fill:var(--ink-2);pointer-events:none;font-family:var(--f);font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:3px}
.maptip{position:absolute;pointer-events:none;background:var(--ink-2);color:#fff;font-size:.8rem;padding:4px 8px;white-space:nowrap;transform:translate(-50%,-130%)}
.mapsrc{font-size:.68rem;color:var(--ink);opacity:.75;margin-top:4px}
.om{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;font-size:.85rem;align-items:center}
.om button{all:unset;cursor:pointer;background:#fff;padding:2px 8px;border-radius:2px}
.om button:hover{color:var(--honey-text)}
.since{margin-top:22px;display:grid;gap:2px;color:var(--ink-2)}
.since a{text-decoration:underline;cursor:pointer}
.refsearch{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.refsearch input{flex:1;min-width:0;max-width:260px;padding:4px 6px;border:1px solid #ddd;font-size:.85rem}
.refsearch button{background:#F2F2F2;border:1px solid #ddd;padding:3px 10px;text-transform:uppercase;cursor:pointer;color:var(--ink)}
.box{background:#fff;padding:20px 22px}
.box + .box{margin-top:20px}
.box h2{font-size:1.1rem;color:var(--ink);line-height:1.25;margin-bottom:12px}
.capl{list-style:none;margin:0;padding:0 0 0 30px}
.capl li{border-bottom:1px solid #EEE}
.capl button{all:unset;cursor:pointer;display:flex;align-items:center;gap:16px;padding:6px 0;width:100%;font-size:.92rem;text-transform:uppercase}
.capl button:hover{color:var(--honey-text)}
.capl i{display:inline-block;border-radius:50%;background:var(--honey-2);flex:none}
.capl b{color:var(--honey-text)}
.usel{list-style:none;margin:0;padding:0}
.usel li{border-bottom:1px solid #EEE}
.usel li:last-child{border:0}
.usel button{all:unset;cursor:pointer;display:flex;gap:16px;align-items:center;padding:8px 0;width:100%}
.usel svg{width:30px;height:30px;flex:none;fill:var(--honey-2);stroke:var(--honey-2)}
.usel span{display:grid;text-transform:uppercase;font-size:.92rem}
.usel small{font-size:.66rem;letter-spacing:.06em;color:var(--muted)}
.usel button:hover b{color:var(--honey-text)}
.notch{position:relative}
.notch::before{content:"";position:absolute;left:0;top:-20px;width:min(260px,40%);height:20px;background:var(--white);clip-path:polygon(0 0,82% 0,100% 100%,0 100%)}

/* Dernières annonces */
.latest .w{padding-block:12px 40px}
.latest h2{font-size:1.05rem;margin-bottom:20px}
.ann{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 34px}
@media (max-width:860px){ .ann{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:560px){ .ann{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px} }
.ann a{text-decoration:none;display:grid;gap:1px;font-size:.86rem}
.ann img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;margin-bottom:6px;background:#EEE}
.ann .t{text-transform:uppercase}
.ann a:hover .t{color:var(--honey-text)}

/* Thèmes : petites étiquettes cliquables, 6 par ligne sur ordinateur */
.themes .w{padding-block:22px 34px}
.themes h2{font-size:1.05rem;margin-bottom:14px;color:var(--ink-2)}
.th{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
@media (max-width:900px){ .th{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (max-width:640px){ .th{grid-template-columns:repeat(2,minmax(0,1fr))} }
.th button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:7px;background:#fff;border-radius:99px;padding:4px 10px 4px 4px;font-size:.84rem;color:var(--ink-2);min-width:0;transition:background-color .15s,color .15s}
.th .c{width:30px;height:30px;flex:none;border-radius:50%;background:var(--cream);display:grid;place-items:center;transition:background-color .15s}
.th svg{width:18px;height:18px;fill:var(--slate);stroke:var(--slate)}
.th .l{min-width:0;flex:1;overflow-wrap:anywhere;line-height:1.15}
.th .n{font-size:.74rem;color:var(--muted);font-variant-numeric:tabular-nums}
.th button:hover,.th button:focus-visible{background:var(--slate);color:#fff}
.th button:hover .c,.th button:focus-visible .c{background:var(--honey)}
.th button:hover .n,.th button:focus-visible .n{color:#E8E8E8}
.th button:focus-visible{outline:3px solid var(--ink-2);outline-offset:2px}
.down{position:relative}
.down::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:-26px;border-left:50px solid transparent;border-right:50px solid transparent;border-top:26px solid var(--honey);z-index:1}

/* Ce que nous faisons + nos avantages */
.what .w{padding-block:44px 44px}
.what h2{font-size:1.05rem;margin-bottom:10px}
.what-text{max-width:70ch;display:grid;gap:10px}
.what h3{font-size:.95rem;margin:22px 0 10px;color:var(--honey-text);font-weight:700}
.adv{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:860px){ .adv{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:480px){ .adv{grid-template-columns:minmax(0,1fr)} }
.adv li{background:var(--cream);border-left:4px solid var(--honey);padding:10px 12px;font-size:.88rem;min-width:0}
.adv strong{display:block;color:var(--ink-2);margin-bottom:2px}

/* Liste départements */
.depts{background:var(--slate);color:#E8E8E8}
.depts .w{padding-block:40px}
.depts h2{color:var(--honey);font-size:1.05rem;margin-bottom:24px}
.depts .cols{columns:2 340px;column-gap:40px;font-size:.82rem}
.depts p{break-inside:avoid;margin-bottom:4px}
.depts button{all:unset;cursor:pointer}
.depts button.r{color:var(--honey);font-size:.95rem}
.depts button:hover{text-decoration:underline}

/* Pied de page : logo et colonnes de liens sur fond blanc, bandeau miel en bas */
footer.site{background:var(--white);font-size:.9rem}
.foot-main{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:24px 40px;padding-block:30px}
@media (max-width:640px){ .foot-main{grid-template-columns:repeat(2,minmax(0,1fr))} .foot-brand{grid-column:1/-1} }
.foot-brand{display:grid;gap:10px;align-content:start;justify-items:start}
.foot-brand img{height:64px;width:auto;max-width:100%;display:block}
.foot-brand p{max-width:34ch;color:var(--muted)}
footer.site nav{display:grid;gap:6px;align-content:start;justify-items:start}
footer.site nav h2{font-size:.8rem;font-weight:700;letter-spacing:.05em;color:var(--honey-text);margin-bottom:2px}
footer.site a{text-decoration:none}
footer.site nav a:hover{color:var(--honey-text);text-decoration:underline}
.foot-bottom{background:var(--honey);color:var(--ink-2);font-size:.84rem}
.foot-bottom .w{display:flex;justify-content:space-between;gap:6px 20px;flex-wrap:wrap;padding-block:10px}
.foot-bottom a:hover{text-decoration:underline}

/* Pages internes */
.page{padding-block:14px 50px}
.crumbs{font-size:.8rem;margin-bottom:12px}
.crumbs button,.crumbs a{all:unset;cursor:pointer;text-decoration:underline}
.titlebox{background:var(--cream);border-left:6px solid var(--honey);padding:16px 20px;text-align:center;display:grid;gap:4px}
.titlebox h1{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:700;color:var(--ink)}
.titlebox p{font-size:.9rem}
.detail{display:grid;grid-template-columns:300px minmax(0,1fr);gap:40px;margin-top:24px}
@media (max-width:760px){ .detail{grid-template-columns:1fr} }
.photos{display:grid;gap:12px;align-content:start}
.photos img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;cursor:zoom-in;background:#EEE}
.rounds{display:flex;gap:10px}
.rounds button{width:46px;height:46px;border-radius:50%;border:0;background:var(--honey);display:grid;place-items:center;cursor:pointer}
.rounds svg{width:22px;height:22px;fill:#fff}
.rounds button.on{background:var(--bad)}
.facts{display:grid;gap:14px;font-size:.9rem;min-width:0}
.facts h3{color:var(--honey-text);font-weight:700;font-size:.95rem}
.facts p{white-space:pre-line}
.facts dl,.kv{display:grid;grid-template-columns:auto 1fr;gap:3px 20px;margin:0}
.facts dt,.kv dt{color:var(--honey-text);font-weight:700;text-transform:uppercase}
.facts dd,.kv dd{margin:0}
.contact{background:var(--cream);padding:24px 30px;margin-top:30px;display:grid;gap:18px}
.contact > h2{font-size:1.2rem;font-weight:700}
.contact > h2 small{display:block;font-size:.75rem;font-weight:400}
.ccols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:640px){ .ccols{grid-template-columns:1fr} }
.ccols h3{color:var(--honey-text);font-weight:700;font-size:.9rem;margin-bottom:4px}
.ccols code{font-family:var(--f);user-select:all;word-break:break-all}
.linkbtn{all:unset;cursor:pointer;font-size:.8rem;text-decoration:underline}
.ybtn{background:var(--honey);border:0;padding:8px 18px;text-transform:uppercase;cursor:pointer;color:var(--ink-2);justify-self:start;text-decoration:none;display:inline-block;font-size:.92rem}
.ybtn:hover{background:var(--honey-2)}
.ybtn.grey{background:#E4E4E4}
.ybtn.dark{background:var(--slate);color:#fff}
.ybtn.red{background:transparent;border:1px solid var(--bad);color:var(--bad)}
.ybtn[disabled]{opacity:.5;cursor:not-allowed}
.form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.form.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.form.c1{grid-template-columns:1fr;max-width:420px}
.form .full{grid-column:1/-1}
@media (max-width:640px){ .form,.form.c2{grid-template-columns:1fr} }
.form label{display:grid;gap:3px;font-size:.82rem;text-transform:uppercase;color:var(--honey-text);font-weight:700}
.form input,.form select,.form textarea{width:100%;padding:7px 8px;border:1px solid #D8D2C4;background:#fff;color:var(--ink);font-weight:400;text-transform:none;font-size:.95rem;border-radius:0}
.form textarea{min-height:100px;resize:vertical}
.form .hint{font-size:.78rem;color:var(--muted);text-transform:none;font-weight:400}
.err{color:var(--bad);font-size:.88rem}
.okmsg{background:#fff;border-left:4px solid var(--ok);padding:12px 16px}
.warn{background:#fff;border-left:4px solid var(--honey-2);padding:12px 16px}
.tarifs{display:grid;grid-template-columns:300px minmax(0,1fr);gap:40px;margin-top:34px;padding-top:24px;border-top:1px solid #DDD}
@media (max-width:760px){ .tarifs{grid-template-columns:1fr} }
.tarifs h2{font-size:1.2rem;font-weight:700}
.tarifs h2 small{display:block;font-size:.72rem;font-weight:400}
.tarifs h3{color:var(--honey-text);font-weight:700;font-size:.95rem;margin:16px 0 6px}
.tw{overflow-x:auto}
table.t{border-collapse:collapse;width:100%;font-size:.85rem}
table.t th{background:var(--honey);font-weight:400;padding:3px 8px;border:1px solid var(--honey-2)}
table.t td{border:1px solid var(--honey-2);padding:3px 8px;text-align:center;font-variant-numeric:tabular-nums}
table.t td:first-child{background:var(--cream);text-align:left}
table.t input{width:100%;min-width:70px;border:0;text-align:center;padding:4px;background:transparent}
.eq{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px}
@media (max-width:640px){ .eq{grid-template-columns:1fr} }
.eq h3{background:var(--slate);color:#fff;text-align:center;padding:4px;font-size:.92rem}
.eq ul{margin:10px 0 0;padding-left:18px;font-size:.9rem;columns:2}
.eq li{margin-bottom:3px}

/* Publication d'un gîte : une carte par sujet, barre d'enregistrement toujours visible */
.ed{max-width:820px}
.ed-head{display:grid;gap:4px;margin-bottom:14px}
.ed-head h1{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:700}
.ed-steps{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:.86rem;counter-reset:st}
.ed-steps > *{padding:5px 12px;border-radius:99px;background:var(--cream);text-decoration:none}
ol.ed-steps li{counter-increment:st}
ol.ed-steps li::before{content:counter(st) ". "}
.ed-steps .on{background:var(--honey);color:var(--ink-2);font-weight:700}
.ed-steps a:hover{background:var(--honey)}
#giteform{display:grid;gap:14px}
.ed-card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:18px 20px;display:grid;gap:14px;min-width:0}
.ed-card h2{font-size:1rem;font-weight:700;color:var(--ink-2)}
.ed-card fieldset{border:0;margin:0;padding:0;min-width:0}
.ed-card legend{padding:0;margin-bottom:7px;font-size:.86rem;font-weight:700}
.ed .form label{text-transform:none;color:var(--ink);font-size:.86rem;font-weight:700;gap:4px}
.ed .form input,.ed .form select,.ed .form textarea{border-radius:5px;padding:8px 10px}
.ed-chips{display:flex;flex-wrap:wrap;gap:6px}
.ed-chips label,.ed .form .ed-chips label{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--line);border-radius:99px;font-size:.86rem;font-weight:400;cursor:pointer;background:var(--white)}
.ed-chips label:hover{border-color:var(--honey-2)}
.ed-chips label:has(input:checked){background:var(--cream);border-color:var(--honey-2);font-weight:700}
.ed-chips input,.ed .form .ed-chips input{width:auto;margin:0;accent-color:var(--honey-text)}
.ed-prices td:first-child{font-weight:700;white-space:nowrap}
.ed-prices td{padding:0}
.ed-prices td:first-child{padding:6px 10px}
.ed .form .ed-prices input{border:0;border-radius:0;text-align:center;padding:9px 4px;min-width:72px;width:100%;background:transparent}
@media (max-width:640px){
  .ed-card{padding:14px}
  .ed-prices{font-size:.78rem;table-layout:fixed}
  .ed-prices th{padding:3px 2px}
  .ed-prices td:first-child{white-space:normal;padding:5px 6px}
  .ed .form .ed-prices input{min-width:0;padding:9px 1px;font-size:.88rem}
}
.ed-bar{position:sticky;bottom:0;z-index:5;background:var(--white);border:1px solid var(--line);border-radius:8px;padding:10px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;box-shadow:0 -2px 10px rgba(0,0,0,.06)}
.ed-bar .err{flex-basis:100%}
.ed-sp{flex:1}

/* Calendriers */
.cals{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
.cal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px;flex-wrap:wrap}
.cal-h strong{text-transform:uppercase;font-size:.95rem}
.cal-h button{width:32px;height:32px;border:1px solid #DDD;background:#fff;cursor:pointer}
.cal-h button:disabled{opacity:.35;cursor:default}
.month h4{margin:0 0 6px;text-transform:uppercase;font-size:.85rem;font-weight:700;color:var(--honey-text)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.cal .dow{font-size:.68rem;color:var(--muted);padding-bottom:2px}
.cal .d{aspect-ratio:1;display:grid;place-items:center;font-size:.8rem;background:#fff;border:1px solid #EEE;font-variant-numeric:tabular-nums}
.cal button.d{all:unset;aspect-ratio:1;display:grid;place-items:center;font-size:.8rem;background:#fff;border:1px solid #EEE;cursor:pointer;font-variant-numeric:tabular-nums}
.cal button.d:hover{border-color:var(--slate)}
.cal button.d:focus-visible{outline:2px solid var(--honey-2)}
.cal .d.past{opacity:.35;cursor:default}
.cal .d.blk{background:var(--blocked);text-decoration:line-through}
.cal .d.resa{background:#C7DCCD;text-decoration:none;font-weight:700}
.cal .d.sel{background:var(--honey);font-weight:700}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin-top:10px}
.legend span{display:flex;gap:6px;align-items:center}
.legend i{width:13px;height:13px;border:1px solid #DDD;display:inline-block}

/* Résultats */
.results{display:grid;gap:16px;margin-top:18px}
.res{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:20px;padding-bottom:16px;border-bottom:1px solid #E6E6E6;align-items:start}
.res img{width:200px;aspect-ratio:4/3;object-fit:cover;display:block;background:#EEE}
.res .i{display:grid;gap:3px;font-size:.9rem;min-width:0}
.res .i a.t{text-transform:uppercase;font-size:1.05rem;text-decoration:none;font-weight:700}
.res .i a.t:hover{color:var(--honey-text)}
.res .i p.d{color:var(--muted);font-size:.85rem}
.res .acts{display:grid;gap:6px;justify-items:end}
.heart{width:38px;height:38px;border-radius:50%;border:0;background:var(--honey);cursor:pointer;display:grid;place-items:center}
.heart svg{width:18px;height:18px;fill:#fff}
.heart.on{background:var(--bad)}
@media (max-width:600px){ .res{grid-template-columns:1fr} .res img{width:100%} .res .acts{justify-items:start;grid-auto-flow:column;justify-content:start} }
.searchtop{background:var(--slate);padding:14px 16px;margin-top:16px}
.searchtop .sbar{margin-top:0}
.searchtop .sbtn-row{margin-top:10px}
.count{margin-top:16px;font-size:.95rem}
.empty{padding:30px;background:var(--cream);text-align:center;display:grid;gap:10px;justify-items:center;margin-top:18px}
.pill{font-size:.72rem;text-transform:uppercase;padding:1px 7px;border:1px solid currentColor;border-radius:2px;font-weight:700;white-space:nowrap}
.pill.envoyee,.pill.none,.pill.draft{color:var(--honey-text)} .pill.acceptee,.pill.online{color:var(--ok)} .pill.refusee,.pill.annulee,.pill.expired{color:var(--bad)}
.sec{margin-top:30px;display:grid;gap:12px}
.sec > h2{font-size:1.1rem;font-weight:700;border-bottom:2px solid var(--honey);padding-bottom:4px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:end}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-top:18px;border-bottom:2px solid var(--honey)}
.tabs a{padding:8px 14px;text-decoration:none;text-transform:uppercase;font-size:.85rem;background:#F3F3F3}
.tabs a.on{background:var(--honey);font-weight:700}
.tabs a .n{background:var(--bad);color:#fff;border-radius:9px;padding:0 6px;font-size:.72rem;margin-left:4px}
.chks{display:flex;flex-wrap:wrap;gap:6px 16px}
.form .chks label{display:flex;gap:6px;align-items:center;font-weight:400;text-transform:none;color:var(--ink);font-size:.9rem}
.form .chks input{width:auto}
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:640px}
@media (max-width:560px){ .plans{grid-template-columns:1fr} }
.plan{border:2px solid var(--line);padding:20px;display:grid;gap:8px;background:#fff}
.plan.best{border-color:var(--honey-2)}
.plan .p{font-size:1.8rem;font-weight:700}
.plan .p small{font-size:.9rem;font-weight:400}
.photogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.photogrid figure{margin:0;display:grid;gap:6px;background:#fff;padding:8px;border:1px solid #EEE}
.photogrid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.photogrid figcaption{display:flex;gap:10px;font-size:.8rem;flex-wrap:wrap}
.drop{border:2px dashed var(--honey-2);padding:24px;text-align:center;display:grid;gap:8px;justify-items:center;background:#fff}
.drop.over{background:var(--range)}
.faq details{border-bottom:1px solid #E6E6E6;padding:10px 0}
.faq summary{cursor:pointer;font-weight:700}
.faq p{margin-top:8px;color:var(--muted);max-width:70ch}
.prose{max-width:70ch;display:grid;gap:10px;margin-top:20px;font-size:.92rem}
.prose h2{font-size:1rem;font-weight:700;margin-top:10px}
.lightbox{position:fixed;inset:0;background:rgba(20,20,20,.88);display:grid;place-items:center;z-index:60;padding:20px;cursor:zoom-out}
.lightbox img{max-height:90vh;max-width:95vw;object-fit:contain}
#toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink-2);color:#fff;padding:10px 16px;z-index:70;max-width:calc(100% - 32px);font-size:.9rem}
