/* ===== Camping theme (teal) =====
   Loaded after the base styles in base.html, so it only overrides colours, fonts and the few layout bits
   that differ. Light / dark mode (data-theme) still works: both palettes are defined below. */

:root[data-skin=camping]{
  --o:#16a5ae;--od:#0e8b93;--ink:#10222a;--bg:#f3f3f3;--card:#fff;--soft:#eaf1f1;--bd:#e3e8e8;--bd2:#ccd6d6;--tabbd:#dbe4e4;
  --muted:#5b696e;--muted2:#3c4a4f;--faint:#788489;--pink:#d3f1f2;--shadow:#0b46501f;
  --deep:#0b4650;--hero-a:rgba(5,66,76,.9);--hero-b:rgba(5,66,76,.94);
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Poppins","Segoe UI",Roboto,Helvetica,Arial,sans-serif}
:root[data-skin=camping][data-theme=dark]{
  --o:#2cc4cd;--od:#1aa9b2;--ink:#e6eeef;--bg:#0c1a1e;--card:#13262c;--soft:#1a3037;--bd:#24404a;--bd2:#31515c;--tabbd:#24404a;
  --muted:#9db3b9;--muted2:#bccdd1;--faint:#7f979e;--pink:#17424a;--shadow:#0008;
  --deep:#07323a;--hero-a:rgba(4,40,48,.92);--hero-b:rgba(4,40,48,.96)}

[data-skin=camping] body{font-family:var(--sans)}
[data-skin=camping] h1,[data-skin=camping] h2,[data-skin=camping] h3{font-family:var(--serif);letter-spacing:0;font-weight:700}
[data-skin=camping] button,[data-skin=camping] .btn{border-radius:6px;font-weight:600}
[data-skin=camping] input,[data-skin=camping] select,[data-skin=camping] textarea{border-radius:6px}
[data-skin=camping] .card,[data-skin=camping] .scard{border-radius:10px}

/* ---- header + menu ---- */
[data-skin=camping] header.solid{background:var(--deep);border-radius:0}
[data-skin=camping] .nav{max-width:1040px;padding:16px 16px}
[data-skin=camping] .brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-decoration:none;
  color:var(--o);font-family:var(--serif);font-weight:700;font-size:18px;line-height:1}
[data-skin=camping] .brand img{height:36px;width:auto;display:block}
[data-skin=camping] .brand svg{width:34px;height:34px;display:block}
[data-skin=camping] .links{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;padding:0;gap:2px}
[data-skin=camping] .links a{color:#fff;font-size:12px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;text-shadow:none;
  padding:8px 13px;border-radius:6px}
[data-skin=camping] .links a:hover{background:rgba(255,255,255,.12)}
[data-skin=camping] .links a.book-now{border:1px solid #fff;margin-left:10px;padding:7px 14px}
[data-skin=camping] .links a.book-now:hover{background:#fff;color:var(--deep)}

[data-skin=camping] .burger:hover{background:var(--card)}

/* ---- home hero ---- */
[data-skin=camping] .hero.camp{position:relative;color:#fff;text-align:left;border-radius:0;padding-bottom:0;
  background-image:linear-gradient(var(--hero-a),var(--hero-b)),var(--hero,none),linear-gradient(var(--deep),var(--deep));
  background-size:cover;background-position:center}
[data-skin=camping] .camp-in{max-width:1040px;margin:0 auto;padding:36px 16px 96px;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:center}
[data-skin=camping] .camp-text h1{font-size:clamp(2rem,4.4vw,3rem);line-height:1.2;margin:0 0 16px;color:#fff}
[data-skin=camping] .camp-text p{margin:0 0 26px;max-width:440px;font-size:14px;line-height:1.75;opacity:.95}
[data-skin=camping] .camp-text .btn{text-transform:uppercase;letter-spacing:.05em;font-size:13px;padding:11px 22px;background:var(--o);color:#fff}
[data-skin=camping] .camp-text .btn:hover{background:var(--od)}
[data-skin=camping] .tris{position:relative;width:100%;max-width:470px;height:310px;margin-left:auto}
[data-skin=camping] .tri{position:absolute;background:linear-gradient(135deg,#1e8f98,#0e5a64) center/cover no-repeat;
  -webkit-clip-path:polygon(50% 0,100% 100%,0 100%);clip-path:polygon(50% 0,100% 100%,0 100%)}
[data-skin=camping] .tri.a{left:0;bottom:0;width:70%;height:88%;z-index:1}
[data-skin=camping] .tri.b{right:0;top:0;width:47%;height:73%;z-index:2}
[data-skin=camping] .wave{position:absolute;left:0;bottom:-1px;width:100%;height:36px;display:block}
[data-skin=camping] .wave path{fill:var(--bg)}

/* ---- search bar sits over the wave ---- */
[data-skin=camping] .camp-find{margin-top:4px;position:relative;z-index:3}
[data-skin=camping] .camp-find .search{margin:0;border-radius:10px;box-shadow:0 10px 30px var(--shadow);padding:16px}

/* ---- accommodation section ---- */
[data-skin=camping] .camp-sec{text-align:center;margin:48px 0 22px}
[data-skin=camping] .camp-sec .eyebrow{display:block;color:var(--o);font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;margin-bottom:6px}
[data-skin=camping] .camp-sec h2{font-size:clamp(1.5rem,3.4vw,2rem);margin:0}
[data-skin=camping] .camp-sec small{color:var(--muted);display:block;margin-top:6px}
[data-skin=camping] .chips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:0 0 24px}
[data-skin=camping] .chip{padding:6px 16px;border:1px solid var(--bd2);border-radius:999px;background:var(--card);
  color:var(--ink);text-decoration:none;font-size:13px;font-weight:500}
[data-skin=camping] .chip:hover{border-color:var(--o)}
[data-skin=camping] .chip.on{background:var(--o);border-color:var(--o);color:#fff}

[data-skin=camping] .camp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
[data-skin=camping] .ccard{position:relative;overflow:hidden;min-height:300px;aspect-ratio:3/3.9;background:var(--deep);color:#fff}
[data-skin=camping] .ccard>.cimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#0e5a64;transition:transform .35s}
[data-skin=camping] .ccard>div.cimg{display:grid;place-items:center;font-size:64px;background:linear-gradient(135deg,#1e8f98,#0e5a64)}
[data-skin=camping] .ccard:hover>.cimg{transform:scale(1.05)}
[data-skin=camping] .ccard::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to bottom,rgba(22,165,174,0) 42%,rgba(22,165,174,.72) 74%,#16a5ae 100%)}
[data-skin=camping] .ccard .cbody{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 16px 20px;text-align:center}
[data-skin=camping] .ccard h3{margin:0 0 4px;font-size:20px;color:#fff}
[data-skin=camping] .ccard h3 a{color:#fff;text-decoration:none}
[data-skin=camping] .ccard h3 a::after{content:"";position:absolute;inset:0;z-index:1}
[data-skin=camping] .ccard .cmeta{font-size:12.5px;opacity:.95;margin-bottom:8px}
[data-skin=camping] .ccard .cmore{position:relative;z-index:3;color:#fff;font-weight:600;font-size:14px;text-decoration:none}
[data-skin=camping] .ccard .cmore:hover{text-decoration:underline}
[data-skin=camping] .ccard .cbadge{position:absolute;top:12px;right:12px;z-index:2;background:#000a;color:#fff;font-size:12px;
  padding:3px 10px;border-radius:999px}
[data-skin=camping] .ccard .cbadge.low{background:#b3382c}


/* ---- inner pages: wavy edge under the teal menu bar (same wave as the home hero) ---- */
[data-skin=camping] header.solid{position:relative;margin-bottom:18px}
[data-skin=camping] header.solid::after{content:"";position:absolute;left:0;right:0;top:100%;height:18px;background:var(--deep);pointer-events:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 36' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1200V14C1100 34 1000 34 900 14S700-6 600 14 400 34 300 14 100-6 0 14Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 36' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1200V14C1100 34 1000 34 900 14S700-6 600 14 400 34 300 14 100-6 0 14Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
[data-skin=camping] .hero.camp::after{display:none}

/* ---- site detail page ---- */
[data-skin=camping] .backlink{display:inline-block;margin:0 0 14px;font-size:13px;font-weight:500;text-decoration:none;
  padding:6px 14px;border:1px solid var(--bd2);border-radius:999px;background:var(--card);color:var(--ink)}
[data-skin=camping] .backlink:hover{border-color:var(--o);color:var(--od)}
[data-skin=camping] .sd{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);grid-template-areas:"gal side" "desc side";
  gap:22px 28px;align-items:start}
[data-skin=camping] .sd-gal{grid-area:gal;min-width:0}
[data-skin=camping] .sd-side{grid-area:side;position:sticky;top:16px}
[data-skin=camping] .sd-desc{grid-area:desc;background:var(--card);border-radius:10px;padding:22px 24px;box-shadow:0 2px 10px var(--shadow)}
[data-skin=camping] .sd-desc h2{font-size:1.3rem;margin:0 0 8px}
[data-skin=camping] .sd-desc p{margin:0;color:var(--muted2);line-height:1.75;white-space:pre-line}
[data-skin=camping] .sd-main{position:relative;border-radius:10px;overflow:hidden;background:var(--deep);box-shadow:0 6px 22px var(--shadow)}
[data-skin=camping] .sd-main .photo{display:block;width:100%;max-height:none;aspect-ratio:16/10;object-fit:cover;border-radius:0;margin:0}
[data-skin=camping] .sd-main.sd-noph{aspect-ratio:16/10;display:grid;place-items:center;font-size:80px;background:linear-gradient(135deg,#1e8f98,#0e5a64)}
[data-skin=camping] .sd-count{position:absolute;right:12px;bottom:12px;background:#000a;color:#fff;font-size:12px;padding:4px 12px;border-radius:999px;pointer-events:none}
[data-skin=camping] .sd-cap{margin:8px 2px 0;min-height:1.2em;text-align:center;color:var(--muted);font-size:13px}
[data-skin=camping] .gal-thumbs{gap:10px;margin:10px 0 0}
[data-skin=camping] .gal-thumbs img{width:92px;height:66px;border-radius:8px;opacity:.7;transition:opacity .15s,border-color .15s}
[data-skin=camping] .gal-thumbs img:hover{opacity:1}
[data-skin=camping] .gal-thumbs img.on{opacity:1;border-color:var(--o)}
[data-skin=camping] .sd-box{background:var(--card);border-radius:10px;padding:24px;box-shadow:0 6px 22px var(--shadow);border-top:4px solid var(--o)}
[data-skin=camping] .sd-box .eyebrow{display:block;color:var(--o);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
[data-skin=camping] .sd-box h1{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;margin:0 0 12px}
[data-skin=camping] .sd-box h3{font-size:1.1rem;margin:20px 0 6px}
[data-skin=camping] .sd-facts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
[data-skin=camping] .sd-facts span{background:var(--pink);color:var(--muted2);font-size:12.5px;font-weight:500;padding:4px 12px;border-radius:999px}
[data-skin=camping] .sd-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
[data-skin=camping] .sd-prices div{background:var(--soft);border-radius:8px;padding:10px 14px}
[data-skin=camping] .sd-prices small{display:block;color:var(--muted);font-size:12px}
[data-skin=camping] .sd-prices b{font-family:var(--serif);font-size:1.5rem;color:var(--od)}
[data-skin=camping][data-theme=dark] .sd-prices b{color:var(--o)}
[data-skin=camping] .sd-form{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
[data-skin=camping] .sd-form>div,[data-skin=camping] .sd-dates>div{min-width:0}
[data-skin=camping] .sd-form label{margin:8px 0 4px;font-size:13px}
[data-skin=camping] .sd-form select{text-overflow:ellipsis}
[data-skin=camping] .sd-dates{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
[data-skin=camping] .sd-dates:has(#co_wrap[style*="none"]){grid-template-columns:minmax(0,1fr)}
[data-skin=camping] .sd-form button{margin-top:12px;width:100%;padding:12px}
[data-skin=camping] .sd-result{margin-top:16px;padding:14px 16px;border-radius:8px;font-size:14px;line-height:1.6}
[data-skin=camping] .sd-result.ok{background:var(--okbg)}
[data-skin=camping] .sd-result.no{background:var(--errbg)}
[data-skin=camping] .sd-total{font-family:var(--serif);font-size:1.4rem;font-weight:700}
[data-skin=camping] .sd-book{display:block;text-align:center;margin-top:12px;padding:13px;font-size:15px}

/* ---- booking / tracking pages ---- */
[data-skin=camping] .card .gal-thumbs{margin:10px 0 20px}
[data-skin=camping] main .card>h2{font-size:1.7rem;margin:0 0 8px}
[data-skin=camping] .photo{border-radius:10px}
[data-skin=camping] label{font-size:13px}
[data-skin=camping] input:focus,[data-skin=camping] select:focus,[data-skin=camping] textarea:focus{outline:2px solid color-mix(in srgb,var(--o) 45%,transparent);border-color:var(--o)}

/* ---- footer ---- */
[data-skin=camping] footer{border-top:1px solid var(--bd);margin-top:20px}

@media(max-width:860px){
  [data-skin=camping] .sd{grid-template-columns:1fr;grid-template-areas:"gal" "side" "desc"}
  [data-skin=camping] .sd-side{position:static}
  [data-skin=camping] .camp-in{grid-template-columns:1fr;padding:28px 16px 90px;gap:26px}
  [data-skin=camping] .tris{margin:0 auto;height:280px}
}
@media(max-width:720px){
  [data-skin=camping] .links{background:var(--card);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:10px;padding:6px 20px;gap:0}
  [data-skin=camping] .links a{color:var(--ink)}
  [data-skin=camping] .links a:hover{background:none}
  [data-skin=camping] .links a.book-now{border-color:var(--o);color:var(--od);margin:8px 0 4px;text-align:center;padding:8px 14px}
  [data-skin=camping] .links a.book-now:hover{background:var(--o);color:#fff}
}
