/* ---------------------------------------------------------------------
   Round 22 — layered premium visual system (user lifted the no-gradient rule:
   "subtle gradients, layered backgrounds, image-based sections, light cards").
   Base = off-white everywhere; depth comes from photos, very soft tonal
   gradients and light card surfaces — no flat green/beige section blocks.
   Forest #17382D · warm stone #E8E4DA · off-white #FAF9F6 · burnt orange #C65A2E (CTA only).
   --------------------------------------------------------------------- */
:root{
  --ow:#FAF9F6; --ow-2:#F3F1EC; --stone:#E8E4DA; --forest:#17382D; --forest-d:#0F2A20; --moss:#61735C;
  --card:#FFFFFF; --line:#E4DFD5; --ink:#18201B; --muted:#5A625D; --orange:#C65A2E; --orange-h:#A94A24;
  --shadow-1:0 1px 2px rgba(23,40,32,.05),0 8px 24px -12px rgba(23,40,32,.14);
  --shadow-2:0 2px 4px rgba(23,40,32,.06),0 24px 48px -24px rgba(23,40,32,.22);
  --sec:clamp(72px,8vw,120px);
}
body,.wp-site-blocks{background:var(--ow)!important}
.sl-header.sp-header{background:rgba(250,249,246,.96)!important;backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.sp-announce{background:var(--forest-d)!important}

/* ---- hero: full-bleed photograph, text on a soft forest gradient */
.pm-hero{position:relative;display:block!important;min-height:min(78vh,720px);background:var(--forest)!important;overflow:hidden;isolation:isolate}
.pm-hero__img{position:absolute!important;inset:0;margin:0;z-index:-2}
.pm-hero__img img{width:100%;height:100%;object-fit:cover;object-position:62% 55%}
.pm-hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(13,34,26,.90) 0%,rgba(13,34,26,.78) 30%,rgba(13,34,26,.35) 55%,rgba(13,34,26,0) 75%),
             linear-gradient(0deg,rgba(13,34,26,.35) 0%,rgba(13,34,26,0) 30%)}
.pm-hero__txt{min-height:inherit;display:flex;align-items:center;justify-content:flex-start;background:none!important}
.pm-hero__in{max-width:calc(560px + max(var(--gut),calc((100vw - 1320px)/2 + 40px)))!important;padding:96px 0 140px max(var(--gut),calc((100vw - 1320px)/2 + 40px))!important}
.pm-hero h1{text-shadow:0 1px 18px rgba(0,0,0,.18)}
@media (max-width:900px){
  .pm-hero{min-height:0}
  .pm-hero__img{position:relative!important;inset:auto;z-index:0}
  .pm-hero__img img{aspect-ratio:3/2;height:auto}
  .pm-hero::before{display:none}
  .pm-hero__in{padding:32px var(--gut) 48px!important;max-width:none!important}
}

/* ---- trust: a light card that overlaps the hero (layering) */
.pm-trust{background:transparent!important;border:0!important;padding:0!important;position:relative;z-index:2;margin-top:-88px}
.pm-trust .sl-wrap{background:var(--card);box-shadow:var(--shadow-2);border-radius:6px;padding:28px 32px!important;max-width:min(1320px,calc(100% - 2 * var(--gut)))!important}
@media (max-width:900px){.pm-trust{margin-top:0}.pm-trust .sl-wrap{border-radius:0;box-shadow:none;max-width:none!important;border-bottom:1px solid var(--line)}}

/* ---- section rhythm: more air, one base colour */
.pm-sec,.pm-sec--white{background:var(--ow)!important;padding-block:var(--sec)!important}
.pm-h{border-bottom:1px solid var(--line)!important;padding-bottom:18px;margin-bottom:36px}
.pm-h h2{font-size:clamp(28px,2.6vw,40px)!important}

/* product range: soft rounded photos, lift on hover */
.pm-cat__img{border-radius:6px;box-shadow:var(--shadow-1)}
.pm-cat:hover .pm-cat__img{box-shadow:var(--shadow-2)}

/* featured: very subtle stone wash behind white cards */
.pm-sec.pm-sec--white{background:linear-gradient(180deg,var(--ow) 0%,var(--ow-2) 18%,var(--ow-2) 82%,var(--ow) 100%)!important}
.pm-sec .of-card{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:6px;overflow:hidden;box-shadow:var(--shadow-1);transition:box-shadow .25s,transform .25s}
.pm-sec .of-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}
.pm-sec .of-card__img{background:#F2F1ED!important;border-bottom:1px solid var(--line)!important}
@media (prefers-reduced-motion:reduce){.pm-sec .of-card{transition:none}.pm-sec .of-card:hover{transform:none}}

/* OEM / manufacturing / QC: no flat green block — light section, image cards */
.pm-green{background:var(--ow)!important;color:var(--ink)!important;padding-block:var(--sec)!important}
.pm-green .pm-h--light{border-color:var(--line)!important}
.pm-green .pm-h--light h2{color:var(--ink)!important}
.pm-trio{gap:28px!important}
.pm-trio article{background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:var(--shadow-1);display:flex;flex-direction:column}
.pm-trio__img{margin:0!important;border-radius:0}
.pm-trio h3{color:var(--forest)!important;margin:22px 24px 8px!important}
.pm-trio p{color:var(--muted)!important;margin:0 24px 18px!important}
.pm-trio .pm-more{color:var(--forest)!important;margin:auto 24px 24px;align-self:flex-start;border-bottom-color:var(--moss)!important}

/* spec: photo + text on a soft stone→off-white gradient */
.pm-spec{background:linear-gradient(120deg,var(--stone) 0%,var(--ow) 70%)!important}
.pm-spec__img img{border-radius:0}

/* the standalone campsite band is replaced by the photo-backed inquiry */
.pm-band{display:none}

/* inquiry: wide campsite photograph, forest gradient on the text side, form on a light card */
.pm-inq{position:relative;isolation:isolate;background:var(--forest) url("../images/bg-inquiry.webp") 30% 60%/cover no-repeat!important;padding-block:var(--sec)!important}
.pm-inq::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,34,26,.88) 0%,rgba(13,34,26,.72) 40%,rgba(13,34,26,.30) 70%,rgba(13,34,26,.15) 100%)}
.pm-inq__in{align-items:center!important}
.pm-form{background:rgba(255,255,255,.97)!important;border-radius:8px;box-shadow:var(--shadow-2);padding:32px!important}
.pm-form label{color:var(--ink)!important}
.pm-form input,.pm-form select,.pm-form textarea{background:var(--ow)!important;border:1px solid var(--line)!important;border-radius:4px}
.pm-form :focus{outline:2px solid var(--forest)!important;outline-offset:1px}
@media (max-width:900px){.pm-inq{background-position:20% 50%!important}.pm-form{padding:22px!important}}

/* footer: deep forest with a faint tonal fade, not a flat slab */
.sl-footer.sp-footer{background:linear-gradient(180deg,#143126 0%,var(--forest-d) 100%)!important}

/* buttons: slightly softened corners */
.pm-btn,.sp-btn,.of-quick,.sp-inq{border-radius:4px!important}

/* fixes after first render */
.pm-inq .pm-form{background:rgba(255,255,255,.97)!important;border-radius:8px!important;box-shadow:var(--shadow-2)!important;padding:32px!important;border:0!important}
.pm-inq .pm-form label{color:var(--ink)!important}
.pm-inq::before{background:linear-gradient(90deg,rgba(13,34,26,.86) 0%,rgba(13,34,26,.62) 38%,rgba(13,34,26,.18) 68%,rgba(13,34,26,.05) 100%)!important}
@media (max-width:900px){.pm-inq .pm-form{padding:22px!important}}
@media (max-width:900px){
  .pm-hero{display:flex!important;flex-direction:column;background:linear-gradient(180deg,#17382D 0%,#0F2A20 100%)!important}
  .pm-hero__img{order:-1}
  .pm-hero__txt{min-height:0}
}
