*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1d2a24;background:#f5f7f4}a{color:#2e7d5b}
.top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:12px 20px;background:#1f5c43;color:#fff}.top a{color:#fff;text-decoration:none;margin-left:14px}.brand{font-weight:800;font-size:1.25rem;margin:0!important}.brand span{color:#ffd166}
.top nav{display:flex;flex-wrap:wrap;max-width:100%;row-gap:4px}@media(max-width:600px){.top nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.top nav a:first-child{margin-left:0}}
.proto{background:#ffd166;text-align:center;font-size:.85rem;padding:4px}
.ad{border:2px dashed #b9c4bd;background:#eef1ee;color:#6b7a72;text-align:center;font-size:.8rem;padding:18px;margin:12px auto;max-width:970px}.ad-sidebar{min-height:250px;display:flex;align-items:center;justify-content:center}
.wrap{max-width:1150px;margin:auto;padding:0 16px}.narrow{max-width:720px;padding-bottom:40px}.hero{padding:10px 0}.hero h1{margin:.3em 0}
form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}#q{flex:1;min-width:200px;padding:12px;font-size:1rem;border:1px solid #c4cfc8;border-radius:8px}select{padding:10px;border-radius:8px;border:1px solid #c4cfc8}
button,.btn{background:#e07a2f;color:#fff;border:0;padding:12px 18px;border-radius:8px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}
.filters{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0;font-size:.9rem}
.cols{display:grid;grid-template-columns:1fr 300px;gap:20px}@media(max-width:820px){.cols{grid-template-columns:1fr}}
.cols>*{min-width:0}.card,.card a,figcaption{overflow-wrap:anywhere}
.card{display:flex;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0002;margin-bottom:14px}.card img{width:220px;object-fit:cover}.cb{padding:12px 16px}.cb h2{font-size:1.1rem;margin:.2em 0}.cb p{margin:.3em 0;font-size:.9rem}
@media(max-width:600px){.card{flex-direction:column}.card img{width:100%;height:150px}}
.dist{font-weight:700;color:#1f5c43}.rt{color:#e0a100}.ex{background:#ffe1e1;color:#a01818;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:99px;text-transform:uppercase}
.tags span{display:inline-block;background:#e6f2ec;border-radius:99px;padding:2px 9px;font-size:.75rem;margin:2px}.links a{margin-right:10px}.more{padding:6px 12px;font-size:.85rem}
.box{background:#fff;padding:14px;border-radius:12px}.modal{position:fixed;inset:0;background:#0008;display:flex;align-items:center;justify-content:center;z-index:2000}.modal[hidden]{display:none}
.mbox{background:#fff;border-radius:12px;padding:20px;width:min(640px,94vw);max-height:92vh;overflow:auto;position:relative}#mx{position:absolute;right:10px;top:10px;padding:4px 12px}#map{height:280px;border-radius:8px}
footer{text-align:center;padding:30px;font-size:.85rem;color:#667}.cookie{position:fixed;z-index:2000;bottom:0;left:0;right:0;background:#1d2a24;color:#fff;padding:10px;text-align:center}.cookie a{color:#ffd166}.small{font-size:.8rem;color:#667}
.box{margin-top:12px}.ws{font-weight:600}.op{color:#1f7a3f}.cx{color:#b02020}.un{color:#777}.sub input{flex:1;padding:9px;border:1px solid #c4cfc8;border-radius:8px}.area table{width:100%;border-collapse:collapse;font-size:.85rem}.area td,.area th{border-bottom:1px solid #e3e8e5;padding:5px;text-align:left}
.pbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#fff;border-radius:12px;padding:10px 14px;margin:6px 0 12px;box-shadow:0 1px 4px #0002;font-size:.9rem}.pbar input[type=number]{width:60px}.pbar input{padding:6px;border:1px solid #c4cfc8;border-radius:6px}.pbar button{padding:8px 12px}.alt{background:#1f5c43}
#planner{background:#fff;border-radius:12px;padding:14px;margin-bottom:14px;box-shadow:0 1px 4px #0002}.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}#pmap{height:420px;border-radius:8px}@media(max-width:820px){.pgrid{grid-template-columns:1fr}#pmap{height:300px}}
.stops{padding-left:0;list-style:none}.stops li{border-left:4px solid #e07a2f;padding:6px 10px;margin-bottom:8px;background:#fafbf9}.warn{color:#b05a00;font-size:.8rem}.add{font-size:.85rem;white-space:nowrap}
.num{background:#e07a2f;color:#fff;border-radius:50%;width:26px!important;height:26px!important;line-height:26px;text-align:center;font-weight:700;border:2px solid #fff;box-shadow:0 1px 3px #0006}.num.home{background:#1f5c43}
@media print{.top,.ad,.pbar,.filters,form,.cols,footer,.cookie,.proto,.hero p{display:none!important}#planner{box-shadow:none}.pgrid{grid-template-columns:1fr}}
.fb{background:#1877f2;color:#fff!important;padding:3px 9px;border-radius:6px;text-decoration:none;font-size:.85rem}.uc{color:#b05a00;font-weight:600;font-size:.85rem}.areas a{margin:0 3px}
.fbox{background:#fff;border-radius:12px;padding:8px 14px;margin:10px 0;box-shadow:0 1px 4px #0002}.fbox summary{cursor:pointer;font-weight:700;padding:4px 0}.filters{flex-direction:column;gap:10px}.fg{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.fg>b{min-width:70px}
.chips button{background:#eef3f0;color:#1f5c43;border:1px solid #c4cfc8;padding:5px 10px;font-size:.8rem;margin:2px;border-radius:99px}.chips button.on{background:#1f5c43;color:#fff}#rr{width:180px}.tnp{display:inline-block;background:#eee;color:#555;font-size:.72rem;padding:2px 8px;border-radius:99px}
/* ---- ad slots: hidden unless html.ads-on; sizes reserved to avoid CLS ---- */
.ad-slot{display:none}
html.ads-on .ad-slot{display:flex;align-items:center;justify-content:center;flex-direction:column;margin:12px auto;background:#f4f6f4;color:#6b7a72;font-size:.8rem;overflow:hidden;box-sizing:border-box}
html.ads-on .ad-header{width:728px;max-width:100%;height:90px}
@media(max-width:760px){html.ads-on .ad-header{width:320px;height:100px}html.ads-on .ad-sidebar{display:none}}
html.ads-on .ad-infeed{width:100%;min-height:120px}
html.ads-on .ad-sidebar{width:300px;height:600px;position:sticky;top:12px}
html.ads-on .ad-detail,html.ads-on .ad-area{width:300px;height:250px}
html.ads-on .ad-sponsor{width:100%;min-height:50px;font-size:.9rem}
html.ads-on .ad-affiliate{display:block;background:#fff8ef;border:1px solid #f0d9bd;border-radius:10px;padding:12px;color:#333;text-align:left}
html.ads-on .ad-affiliate ul{margin:.3em 0 .3em 1.2em;padding:0}
html.ads-demo .ad-slot:not(.ad-affiliate){border:2px dashed #b9c4bd}
.ad-slot img{max-width:100%;max-height:100%}
/* ---- type badges & featured ---- */
.badge{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;margin:0 4px 4px 0;background:#e6f2ec;color:#2e7d5b}
.badge.indoor{background:#e5edf8;color:#3b6fb6}.badge.tabletop{background:#f3e9f8;color:#8a4fb3}.badge.feat{background:#e07a2f;color:#fff}
.card.featured{outline:3px solid #e07a2f;background:#fffaf4}
.winter-cta{background:#eaf1fb;border-radius:10px;padding:10px 14px;margin:10px 0}
.cookie .rej{background:#888}
@media print{.ad-slot{display:none!important}}

/* sale photos */
.card .pics{flex:0 0 220px;width:220px;margin:0;display:flex;flex-direction:column;gap:2px;background:#e6efe9;position:relative}
.card .pics img{width:100%;height:auto;flex:1 1 0;min-height:0;object-fit:cover;display:block}
.card .pics.n1 img,.card .pics.ph img{height:100%}
.card .pics figcaption{position:absolute;right:0;bottom:0;background:#000a;color:#fff;font-size:.7rem;padding:2px 6px;border-top-left-radius:6px}
.card .pics figcaption a{color:#fff}
@media(max-width:600px){.card .pics{width:100%;flex:none;flex-direction:row;height:170px}.card .pics img{height:170px;width:auto;flex:1 1 0}.card .pics.ph{height:120px}.card .pics.ph img{height:120px}}
.card .pics.ph img{object-fit:contain}
.nlf{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:8px}.nlf .nlrow input{width:auto}.nlf input[type=email],.nlf input[name=postcode],.nlf select{padding:9px;border:1px solid #c4cfc8;border-radius:8px;font-size:.95rem;min-width:0}.nlrow{display:flex;gap:6px;align-items:center}.nlrow input{flex:1}.nldays{display:flex;gap:14px;font-size:.9rem}.nlf .ck{font-size:.8rem;color:#445;display:flex;gap:6px;align-items:flex-start}.nlf button{padding:10px;border:0;border-radius:8px;background:#1f7a3f;color:#fff;font-weight:700;cursor:pointer}.nlf .hp{position:absolute;left:-9999px}
/* ideas.js / sale page extras */
.fav{border:1px solid #c0392b;color:#c0392b;background:#fff;border-radius:16px;padding:3px 10px;cursor:pointer}.fav.on{background:#c0392b;color:#fff}
.ideas-chips button.on{background:#2e7d5b;color:#fff}.ideas-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
.ideas-actions .share{border:1px solid #3b6fb6;color:#3b6fb6;background:#fff;border-radius:16px;padding:3px 10px;cursor:pointer}
.verified{display:inline-block;background:#e8f5ee;color:#1d5c40;border-radius:12px;padding:2px 10px;font-size:.9em}
details.report{margin:10px 0}.rep label{display:block;margin:6px 0}.rep textarea{width:100%;min-height:70px}.hp{position:absolute;left:-9999px}
.claim{margin:14px 0;background:#fff8ee}.near a{white-space:nowrap}
/* GB overview map (mapseo.py) */
.gbmap{height:340px;border-radius:10px;margin:10px 0;z-index:0}.gbmap.full{height:min(72vh,680px)}.maplead{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.95em;margin:4px 0}.maplead .key i{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 4px 0 10px}
@media(max-width:640px){.gbmap{height:240px}.gbmap.full{height:62vh}}
.pics{overflow:hidden;max-width:100%}.pics img{min-width:0}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.top nav a{white-space:nowrap;flex:0 0 auto}@media(max-width:600px){.top nav{width:100%;mask-image:linear-gradient(90deg,#000 85%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:24px}}
.nlbox{background:linear-gradient(135deg,#fff4d6,#ffe0b3);border:2px solid #e8892b;border-radius:14px;padding:12px 14px;margin:12px 0;color:#1d2b24}
.nlbox .nlhead b{display:block;font-size:1.15em;color:#a4500c}.nlbox .nlhead span{display:block;margin:2px 0 8px}
.nlq{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}.nlq input[type=email]{flex:2 1 180px}.nlq input[name=postcode]:not([type=hidden]){flex:1 1 100px;max-width:150px}
.nlq input[type=email],.nlq input[name=postcode]{padding:10px;border:1px solid #c9b48f;border-radius:8px;font-size:16px}
.nlq button{background:#e8892b;color:#fff;border:0;border-radius:8px;padding:10px 16px;font-weight:700;font-size:16px;cursor:pointer}
.nlq .nlc{flex:1 1 100%;margin:0}.nlq .msg{flex:1 1 100%;font-weight:600}.nlq .hp{position:absolute;left:-9999px}
.nlbox.mini{padding:10px 12px}.nlbox.mini b{color:#a4500c}.nlbox.mini .nlq-lead{flex:1 1 100%}
.nlbox.compact .nlhead span{display:inline;margin-left:6px}.nlbox.compact .nlhead b{display:inline}
.nlbox.nlsale{margin-top:20px}
