
:root{--hfont:Georgia,"Times New Roman",serif;--bfont:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--hweight:normal;--r:8px;--rc:12px;--hl:#b85c25;--star:#e0a040;--stone:#ebe4d4;--hdrbg:var(--forest);--hdrfg:#f3efe4;--forest:#2f3e34;--forest2:#45584a;--cream:#f6f1e7;--paper:#fffdf8;--ember:#b85c25;--ember2:#9a4a1b;--ink:#23291f;--muted:#6b7166;--line:#e2dacb;--ok:#3d7a4a;--bad:#a63d2f}
*{box-sizing:border-box}
body{margin:0;font-family:var(--bfont);background:var(--cream);color:var(--ink);font-size:16px;line-height:1.45}
header{background:var(--hdrbg);color:var(--hdrfg)}
.top{max-width:1080px;margin:0 auto;padding:18px 20px 0;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.brand{font-family:var(--hfont);font-size:22px;letter-spacing:.3px}
.brand small{display:block;font-family:var(--bfont);font-size:12px;opacity:.75;letter-spacing:1.5px;text-transform:uppercase}
.langs{margin-left:auto;display:flex;gap:4px}
.langs button{background:transparent;border:1px solid rgba(255,255,255,.3);color:#f3efe4;border-radius:var(--r);padding:4px 9px;cursor:pointer;font-size:13px}
.langs button.on{background:#f3efe4;color:var(--forest)}
nav{max-width:1080px;margin:0 auto;padding:14px 20px 0;display:flex;gap:4px;flex-wrap:wrap}
nav button{background:transparent;border:0;color:#d9d3c4;padding:10px 16px;font-size:15px;cursor:pointer;border-radius:8px 8px 0 0}
nav button.on{background:var(--cream);color:var(--forest);font-weight:600}
nav .admin{margin-left:auto;opacity:.8}
.badge{display:inline-block;background:var(--ember);color:#fff;border-radius:var(--rc);font-size:12px;padding:0 7px;margin-left:4px}
main{max-width:1080px;margin:0 auto;padding:24px 20px 60px}
h1,h2,h3{font-family:var(--hfont);font-weight:var(--hweight);color:var(--forest)}
h1{font-size:28px;margin:0 0 6px}
h2{font-size:22px;margin:28px 0 10px}
h3{font-size:19px;margin:0 0 4px}
.lead{color:var(--muted);margin:0 0 18px}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--rc);padding:16px 18px;margin-bottom:16px}
.search{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}
label.f{display:flex;flex-direction:column;font-size:13px;color:var(--muted);gap:4px}
input,select,textarea{font:inherit;padding:8px 10px;border:1px solid #cfc6b3;border-radius:var(--r);background:#fff;color:var(--ink)}
input[type=number]{width:84px}
input.sm{width:72px;padding:5px 6px}
input.md{width:150px;padding:5px 6px}
input.lg{width:220px;padding:5px 6px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--rc);padding:16px 18px;margin-bottom:12px}
.card.dim{opacity:.62}
.row{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.grow{flex:1;min-width:240px}
.tag{display:inline-block;font-size:12px;background:#ebe4d4;border-radius:20px;padding:1px 9px;margin-right:6px;color:var(--forest2)}
.price{font-size:13px;color:var(--muted)}
.sum{font-size:20px;font-family:var(--hfont);color:var(--forest);text-align:right}
.sum small{display:block;font-size:12px;font-family:var(--bfont);color:var(--muted)}
.btn{font-family:var(--bfont);font-weight:500;background:var(--ember);color:#fff !important;text-decoration:none;display:inline-block;border:0;border-radius:var(--r);padding:9px 16px;font-size:15px;cursor:pointer}
.btn:hover{background:var(--ember2)}
.btn.ghost{background:transparent;color:var(--forest) !important;border:1px solid #b9b09c}
.btn.small{padding:5px 10px;font-size:13px}
.btn.danger{background:transparent;color:var(--bad) !important;border:1px solid #d9b3ab}
.btn:disabled{background:#c9c1b1;cursor:not-allowed}
.ok{color:var(--ok)}.bad{color:var(--bad)}
.extras{margin-top:14px;border-top:1px dashed var(--line);padding-top:12px}
.ex{display:flex;align-items:center;gap:10px;padding:6px 0;flex-wrap:wrap}
.ex .n{flex:1;min-width:200px}
.slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.slot{border:1px solid #b9b09c;background:#fff;border-radius:var(--r);padding:8px 12px;cursor:pointer;font-size:14px;text-align:center;min-width:82px}
.slot small{display:block;color:var(--muted);font-size:11px}
.slot.on{background:var(--forest);color:#fff;border-color:var(--forest)}
.slot.on small{color:#d7e0d4}
.slot:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.note{background:#f3ead6;border-left:4px solid var(--ember);padding:10px 14px;border-radius:var(--r);font-size:14px;margin:10px 0}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600}
.months label,.days label{display:inline-flex;align-items:center;gap:2px;font-size:12px;margin-right:6px}
.admin-sec{margin-bottom:26px}
.help{font-size:13px;color:var(--muted);margin:-4px 0 10px}
.cartline{display:flex;gap:12px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
.cartline:last-child{border-bottom:0}
.small{font-size:13px;color:var(--muted)}
.err{color:var(--bad);font-size:14px;margin-top:8px}
.done{text-align:center;padding:40px 20px}
.done .nr{font-size:30px;font-family:var(--hfont);color:var(--ember);margin:10px 0}
.saved{position:fixed;bottom:18px;right:18px;background:var(--forest);color:#fff;padding:8px 14px;border-radius:var(--r);font-size:14px;opacity:0;transition:opacity .3s;pointer-events:none}
.saved.show{opacity:1}
@media(max-width:640px){nav button{padding:8px 10px;font-size:14px}.sum{text-align:left}}
.testbar{background:#fde9a8;color:#5a4500;text-align:center;font-size:13px;padding:5px}
.loading{padding:40px;text-align:center;color:var(--muted)}
.terms{display:flex;gap:8px;align-items:flex-start;font-size:14px;margin-top:12px}
.paybox{background:#f3ead6;border-radius:var(--r);padding:10px 14px;margin-top:10px;font-size:15px}
.login{max-width:360px;margin:60px auto}
.status{display:inline-block;border-radius:20px;padding:1px 9px;font-size:12px}
.st-confirmed{background:#dcebdc;color:#2d5e37}.st-pending{background:#f6e7c1;color:#6b5000}.st-cancelled,.st-expired{background:#eee;color:#777}
.sticky{position:sticky;bottom:0;background:var(--cream);padding:12px 0;border-top:1px solid var(--line);display:flex;gap:12px;align-items:center;z-index:5}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
textarea{width:100%;min-height:70px}
.btn.hdrbtn{color:#f3efe4 !important;border-color:rgba(255,255,255,.35)}
/* ---- Beschikbaarheidskalender & gastenteller ---- */
.bookbar{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start}
.bookbar .calwrap{flex:2;min-width:300px}
.bookbar .side{flex:1;min-width:230px}
.cals{display:flex;gap:22px;flex-wrap:wrap}
.cal{flex:1;min-width:250px}
.calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.calhead b{font-family:var(--hfont);font-weight:normal;font-size:17px;color:var(--forest);text-transform:capitalize}
.calnav{background:transparent;border:1px solid #cfc6b3;border-radius:var(--r);width:30px;height:30px;cursor:pointer;font-size:16px;color:var(--forest)}
.calnav:disabled{opacity:.3;cursor:default}
.cal table{table-layout:fixed}
.cal th{text-align:center;padding:4px 0;border:0;font-size:11px}
.cal td{padding:2px;border:0;text-align:center}
.day{width:100%;height:40px;border:0;border-radius:var(--r);cursor:pointer;font-size:14px;line-height:1.1;font-family:inherit;padding:0}
.day small{display:block;font-size:10px;opacity:.75}
.day.free{background:#dcebdc;color:#1f4a28}.day.few{background:#f6e3b3;color:#5e4500}
.day.full{background:#f2d6d0;color:#a63d2f}.day.full span{text-decoration:line-through}
.day.closed,.day.past{background:transparent;color:#bdb6a6;cursor:default}
.day.inrange{background:#a9c3ab;color:#14321b}
.day.sel{background:var(--forest)!important;color:#fff!important}
.day.today{box-shadow:inset 0 0 0 2px var(--ember)}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:8px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:-2px}
.picked{font-size:15px;margin:2px 0 12px}
.picked b{color:var(--forest)}
.step{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
.step:last-of-type{border-bottom:0}
.step .lbl{font-size:15px}.step .lbl small{display:block;color:var(--muted);font-size:12px}
.step .ctl{display:flex;align-items:center;gap:10px}
.step .ctl button{width:32px;height:32px;border-radius:50%;border:1px solid #b9b09c;background:#fff;font-size:18px;cursor:pointer;color:var(--forest);line-height:1}
.step .ctl button:disabled{opacity:.3;cursor:default}
.step .ctl span{min-width:18px;text-align:center;font-weight:600}
.hint{font-size:13px;color:var(--ember2);margin:4px 0 0}
body.embed{background:transparent}
body.embed main{padding:4px 2px 10px;max-width:none}
body.embed h1,body.embed .lead{display:none}
body.embed .sticky{position:static;border:0;padding:8px 0}
.incl{background:#e7f0e4;border-radius:var(--r);padding:6px 10px;font-size:14px;margin:6px 0;color:#24452c}
.pkg{margin-top:8px;padding:8px;background:#f3ead6;border-radius:var(--r);max-width:260px}.pkg label{font-size:12px}

.incl{background:#e3efdf;border:1px solid #b7d1b0;border-radius:var(--r);padding:8px 12px;font-size:15px;font-weight:600;margin:8px 0;color:#1f4a28}
.wzopts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.wzopt{background:var(--paper);border:2px solid var(--line);border-radius:var(--rc);padding:16px;text-align:left;cursor:pointer;font:inherit;color:var(--ink);display:flex;flex-direction:column;gap:3px}
.wzopt .ic{font-size:26px}.wzopt b{font-size:17px;color:var(--forest);font-family:var(--hfont);font-weight:normal}.wzopt small{color:var(--muted);font-size:13px}
.wzopt:hover{border-color:var(--forest2)}.wzopt.on{border-color:var(--forest);background:var(--stone)}
.wzopt:disabled{opacity:.5;cursor:not-allowed}

table.plan{border-collapse:separate;border-spacing:2px;width:auto;font-size:12px}
table.plan th{font-size:10px;text-align:center;padding:2px;min-width:30px;border:0;color:var(--muted);border-radius:4px}
table.plan th.ptoday{color:var(--ember);font-weight:700}table.plan th.psel{background:var(--forest);color:#fff}
table.plan td{border:0;padding:0}
.pname{white-space:nowrap;padding:4px 10px 4px 2px!important;font-size:13px;position:sticky;left:0;background:var(--paper)}
.pgrp{font-weight:700;color:var(--forest);padding:10px 2px 2px!important;font-size:13px}
.pc{height:26px;text-align:center;border-radius:4px;font-size:11px;min-width:30px}
.pc0{background:#f7f4ec}.pc1{background:#dcebdc}.pc2{background:#f6e3b3}.pc3{background:#f2b8ac;font-weight:700}.pcx{background:#ece8df}

body.partner [data-act=addrow][data-v=units],body.partner [data-act=addrow][data-v=acts],body.partner [data-act=addrow][data-v=locations],
body.partner [data-act=del][data-path=units],body.partner [data-act=del][data-path=acts],body.partner [data-act=del][data-path=locations]{display:none}

.brandfoot{text-align:center;font-size:12px;color:var(--muted);margin:30px 0 0;letter-spacing:.3px}
.brandfoot b{font-family:var(--hfont);font-weight:normal;color:var(--ember2);font-size:14px}
.loginbrand{font-family:var(--hfont);font-size:30px;color:var(--ember2);text-align:center;margin-bottom:4px}
.loginbrand small{display:block;font-family:var(--bfont);font-size:13px;color:var(--muted)}
.brandpreview{background:var(--forest);color:#f3efe4;border-radius:var(--rc);padding:10px 18px;font-family:var(--hfont);font-size:24px}
.brandpreview small{display:block;font-family:var(--bfont);font-size:12px;opacity:.8}

.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:14px 0}
.kpi{background:var(--paper);border:1px solid var(--line);border-radius:var(--rc);padding:12px 14px}
.kpi b{display:block;font-family:var(--hfont);font-weight:normal;font-size:26px;color:var(--forest);margin:2px 0}
.bars{display:flex;align-items:flex-end;gap:3px;height:160px;min-width:600px}
.bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}
.bar span{display:block;width:100%;background:var(--forest2);border-radius:3px 3px 0 0;min-height:1px}
.bar small{font-size:9px;color:var(--muted);margin-top:2px}
.mini{display:inline-block;width:60px;height:8px;background:#eee;border-radius:4px;margin-right:6px;vertical-align:middle;overflow:hidden}.mini span{display:block;height:100%;background:var(--forest2)}
.reqm{color:var(--bad);font-weight:700}
.rbline{background:#eef4ec;border-radius:var(--r);padding:10px 12px!important;margin:6px 0}
.allerg{color:#a63d2f;font-weight:600}
.moreg{margin-top:12px;font-size:14px}.moreg summary{cursor:pointer;color:var(--forest2);font-weight:600}
.dyntags{margin-top:6px;display:flex;gap:6px;flex-wrap:wrap}.dtag{font-size:12px;border-radius:20px;padding:2px 9px}.dtag.peak{background:#fbe3d3;color:#8a3d12}.dtag.deal{background:#dcebdc;color:#24452c}
.sum small{display:block}

table.prcal{border-collapse:separate;border-spacing:3px;width:100%;max-width:760px}
table.prcal th{text-align:center;border:0;font-size:11px}
table.prcal td{border:0;border-radius:var(--r);text-align:center;padding:5px 2px;font-size:12px;vertical-align:top;height:54px}
table.prcal td b{display:block;font-size:11px;color:var(--muted);font-weight:600}table.prcal td span{display:block;font-weight:600}table.prcal td small{display:block;font-size:10px;opacity:.8}
.pr0{background:#dcebdc}.pr1{background:#f7f4ec}.pr2{background:#f6e3b3}.pr3{background:#f2c3ad}.prx{color:#bbb}
/* sjablonen */
.tplgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:10px}
@media(max-width:820px){.tplgrid{grid-template-columns:1fr}}
.tplbody{width:100%;font-family:inherit;font-size:14px;line-height:1.45}
.chips{display:flex;flex-wrap:wrap;gap:5px;margin:4px 0 8px}
.chip{border:1px solid #cfc6b3;background:#f6f1e7;border-radius:var(--rc);padding:2px 9px;font-size:12px;cursor:pointer;font-family:ui-monospace,Menlo,monospace;color:#2f3e34}
.chip:hover{background:#e9e0cc}
.tplprev{background:#fff;border:1px solid #e2dacb;border-radius:var(--r);padding:14px 16px;font-size:14px;line-height:1.5;max-height:520px;overflow:auto}
.tplsubj{font-weight:700;border-bottom:1px solid #e2dacb;padding-bottom:8px;margin-bottom:10px}
.tplfoot{margin-top:14px;padding-top:10px;border-top:1px solid #e2dacb;color:#6b7166;font-size:13px}
.tpled{border:2px solid #2f3e34}
tr.sel td{background:#f3f6f1}
.msglog{color:#4b6b55}

/* logo in de kop */
.brand{display:flex;align-items:center;gap:14px}
.brand .logo{display:none;width:54px;height:54px;flex:none;background:center/contain no-repeat}
.brand .bt{display:block}
.thgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.thc{display:flex;gap:6px;align-items:center}.thc input[type=color]{width:42px;height:34px;padding:2px;cursor:pointer}
.thprev{background:var(--cream)}
/* fotogalerij */
.gal{width:230px;flex:none}
.gal button{border:0;padding:0;background:none;cursor:zoom-in;display:block;position:relative;border-radius:var(--r);overflow:hidden}
.gmain img{width:230px;height:160px;object-fit:cover;display:block}
.gcount{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;padding:2px 7px;border-radius:10px}
.gthumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:4px}
.gthumbs img{width:100%;height:52px;object-fit:cover;display:block}
.gthumbs span{position:absolute;inset:0;background:rgba(0,0,0,.5);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}
@media(max-width:640px){.gal,.gmain img{width:100%}.gmain img{height:200px}}
.exth{border:0;padding:0;background:none;cursor:zoom-in;margin:0 8px 0 2px;flex:none}.exth img{width:40px;height:30px;object-fit:cover;border-radius:var(--r);display:block}
.reststrip{display:flex;gap:6px;overflow-x:auto;margin:0 0 14px}.reststrip button{border:0;padding:0;background:none;cursor:zoom-in;flex:none}.reststrip img{height:110px;width:160px;object-fit:cover;border-radius:var(--r);display:block}
#lb{position:fixed;inset:0;background:rgba(15,20,16,.92);z-index:100;display:flex;align-items:center;justify-content:center}
#lb .lbin{position:relative;max-width:min(1100px,94vw);width:100%;text-align:center}
#lb img{max-width:100%;max-height:72vh;object-fit:contain;display:block;margin:0 auto;border-radius:var(--r)}
#lb .lbcap{color:#e8e6df;font-size:14px;margin-top:8px}
#lb button{background:rgba(255,255,255,.12);color:#fff;border:0;cursor:pointer;border-radius:50%;width:44px;height:44px;font-size:24px;line-height:1}
#lb button:hover{background:rgba(255,255,255,.25)}
#lb .lbx{position:absolute;top:-52px;right:0}
#lb .lbp,#lb .lbn{position:absolute;top:36vh;transform:translateY(-50%)}#lb .lbp{left:4px}#lb .lbn{right:4px}
#lb .lbstrip{display:flex;gap:6px;justify-content:center;margin-top:10px;overflow-x:auto}
#lb .lbstrip button{width:auto;height:auto;border-radius:var(--r);padding:0;opacity:.6}#lb .lbstrip button.on{opacity:1;outline:2px solid #fff}
#lb .lbstrip img{width:64px;height:46px;object-fit:cover;max-height:none}
body.embed #lb{position:absolute;align-items:flex-start;padding-top:60px;min-height:560px}
/* mediabibliotheek (beheer) */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.mitem{background:var(--paper);border:1px solid var(--line);border-radius:var(--rc);overflow:hidden;position:relative}
.mitem img{width:100%;height:120px;object-fit:cover;display:block}
.mitem .mi{padding:6px 8px;font-size:12px}.mitem .mi input{width:100%;font-size:12px;padding:4px 6px;margin-top:4px}
.mitem.pick{cursor:pointer}.mitem.pick.on{outline:3px solid var(--ember)}.mitem .chk{position:absolute;top:6px;left:6px;background:var(--ember);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-weight:700}
.drop{border:2px dashed var(--line);border-radius:var(--rc);padding:22px;text-align:center;background:var(--paper);margin-bottom:14px}
.drop.over{border-color:var(--ember);background:var(--stone)}
.galed{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.galed .gi{position:relative}.galed img{width:64px;height:46px;object-fit:cover;border-radius:var(--r);display:block}
.galed .gi .x{position:absolute;top:-6px;right:-6px;background:var(--bad);color:#fff;border:0;border-radius:50%;width:18px;height:18px;font-size:11px;cursor:pointer;line-height:18px;padding:0}
.galed .gi .mv{position:absolute;bottom:-6px;left:-6px;background:var(--forest);color:#fff;border:0;border-radius:50%;width:18px;height:18px;font-size:11px;cursor:pointer;line-height:18px;padding:0}

/* Filters, prijsopbouw, melding, winkelwagenbalk, taal in widget */
.filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 12px}
.chip{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:6px 12px;font:inherit;font-size:14px;cursor:pointer}
.chip.on{background:var(--forest);color:#fff;border-color:var(--forest)}
.filters select{margin-left:auto;padding:6px 8px;font:inherit;font-size:14px}
.pbreak{margin:6px 0;font-size:14px}.pbreak summary{cursor:pointer;color:var(--forest);font-weight:500}
.pbreak table{width:100%;max-width:420px;margin-top:6px}.pbreak td,.pbreak th{padding:3px 4px;border-bottom:1px solid var(--line)}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,40px);opacity:0;background:var(--forest);color:#fff;padding:12px 20px;border-radius:999px;box-shadow:0 6px 24px rgba(0,0,0,.18);z-index:50;transition:all .3s ease;pointer-events:none;font-weight:500}
#toast.show{opacity:1;transform:translate(-50%,0)}
.cartbar{justify-content:space-between;align-items:center}
.elang{display:flex;justify-content:flex-end;gap:4px;margin:0 0 8px}.elang button{border:1px solid var(--line);background:transparent;color:var(--forest);border-radius:var(--r);padding:3px 8px;font:inherit;font-size:12px;cursor:pointer}.elang button.on{background:var(--forest);color:#fff}
.day:focus-visible,.chip:focus-visible,.btn:focus-visible,button:focus-visible{outline:3px solid var(--hl);outline-offset:2px}
.card{transition:box-shadow .2s ease}.card:hover{box-shadow:0 4px 18px rgba(0,0,0,.07)}
@media (max-width:640px){.cals{gap:10px}.cal{min-width:0}.day{height:44px}.card .row{flex-direction:column}.card .sum{text-align:left}.filters select{margin-left:0;width:100%}}
@media (prefers-reduced-motion:reduce){#toast,.card{transition:none}}
@media (max-width:640px){.wzopts{grid-template-columns:repeat(2,1fr);gap:8px}.wzopt{padding:10px;font-size:14px}.wzopt .ic{font-size:18px}.wzopt b{font-size:15px}
 .card .gal,.card .gmain,.card .gmain img{width:100%!important}.card .gthumbs{width:100%}.card .gthumbs img{width:100%}}
.loctiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:12px 0}
.loctile{display:flex;flex-direction:column;gap:4px;padding:18px 14px;border:1px solid var(--line,#ddd);border-radius:14px;background:var(--card,#fff);overflow:hidden;cursor:pointer;text-align:center;font:inherit;color:inherit}
.loctile img,.loctile .ph{width:100%;height:150px;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:40px;background:#eef2ee}
.loctile b{font-size:18px}.loctile small{opacity:.75;padding:0 10px}
.loctile:hover,.loctile:focus-visible{box-shadow:0 4px 16px rgba(0,0,0,.12)}
.locbar{display:flex;align-items:center;gap:8px;margin:6px 0 10px}
.lochead{margin:18px 0 6px}
.optrow{display:flex;gap:12px;align-items:flex-start;border-top:1px solid var(--line,#e5e5e5);padding:10px 0;margin-top:10px}
.optrow.dim{opacity:.6}
@media(max-width:640px){.optrow{flex-direction:column}.optrow .sum{align-self:stretch;text-align:left}}
table.tbl{border-collapse:collapse;width:100%;font-size:14px}
table.tbl th,table.tbl td{padding:5px 6px;border-bottom:1px solid #e5e5e5;text-align:left;vertical-align:middle}
table.tbl input.sm{width:80px}
details.ptloc{margin:10px 0;border:1px solid #e3e3e3;border-radius:10px;padding:8px 10px}
details.ptloc summary{cursor:pointer;font-size:16px}
.psum{font-weight:600;margin:4px 0 2px}
.tag.badge{background:var(--hl,#3E6B3A);color:#fff}
.excat{font-weight:700;margin:10px 0 2px;font-size:14px;opacity:.85}
