/* =====================================================================
   TOKENS
   ===================================================================== */
:root{
  --shs-primary:#F8752D;
  --shs-dark:#D85E14;
  --shs-darker:#973D0C;
  --shs-light:#FFA270;
  --shs-tint:#FFF4ED;
  --shs-navy:#111C2E;        /* matches the product photo background */
  --shs-navy-deep:#0A1220;
  --shs-black:#0F1012;
  --shs-ink:#1C1D21;
  --shs-muted:#5F6570;
  --shs-line:#E7E9ED;
  --shs-white:#FFFFFF;
  --shs-r:18px;
  --shs-r-lg:26px;
  --shs-shadow:0 1px 2px rgba(15,16,18,.04),0 14px 34px -16px rgba(15,16,18,.18);
  --shs-shadow-lg:0 34px 76px -30px rgba(15,16,18,.36);
  --shs-ease:cubic-bezier(.22,.61,.36,1);
  --shs-font:"Plus Jakarta Sans","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* scope the type to our sections only — theme defaults elsewhere stay intact */
[class*="shs-"]{font-family:var(--shs-font)}
[class*="shs-"] h1,[class*="shs-"] h2,[class*="shs-"] h3,
[class*="shs-"] h4,[class*="shs-"] h5{font-family:var(--shs-font);letter-spacing:-.028em;
  line-height:1.14;margin:0 0 .55em;color:var(--shs-black)}
[class*="shs-"] p{margin:0 0 1em;line-height:1.68;color:var(--shs-muted)}
[class*="shs-"] p:last-child{margin-bottom:0}
[class*="shs-"] a{transition:color .24s var(--shs-ease)}

/* =====================================================================
   SECTION SHELL
   ===================================================================== */
.shs-section{padding-block:clamp(60px,7.5vw,112px);padding-inline:24px;position:relative}
.shs-section--tight{padding-block:clamp(46px,5.5vw,76px)}
.shs-section--tint{background:var(--shs-tint)}
.shs-section--grey{background:#F7F8F9}
.shs-section--navy{background:var(--shs-navy);color:rgba(255,255,255,.68)}
.shs-section--navy h1,.shs-section--navy h2,.shs-section--navy h3,
.shs-section--navy h4{color:#fff}
.shs-section--navy p{color:rgba(255,255,255,.66)}
.shs-section--navy .shs-eyebrow{color:var(--shs-light)}
.shs-section > .wp-block-group__inner-container,
.shs-section > *{max-width:1220px;margin-inline:auto}

/* headline group */
.shs-head{max-width:760px;margin-inline:auto;text-align:center;margin-bottom:clamp(34px,4vw,56px)}
.shs-head--left{text-align:left;margin-inline:0}
.shs-eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 16px;
  font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--shs-dark)}
.shs-eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--shs-primary)}
.shs-h1{font-size:clamp(2.3rem,5.4vw,4rem);font-weight:800}
.shs-h2{font-size:clamp(1.85rem,3.5vw,2.85rem);font-weight:800}
.shs-h3{font-size:clamp(1.15rem,1.7vw,1.35rem);font-weight:700;letter-spacing:-.02em}
.shs-lead{font-size:clamp(1.02rem,1.35vw,1.15rem);line-height:1.7}

/* =====================================================================
   GRID — turns any core Columns block into a responsive auto grid
   ===================================================================== */
.shs-grid.wp-block-columns{display:grid;gap:22px;
  grid-template-columns:repeat(auto-fit,minmax(266px,1fr))}
.shs-grid.wp-block-columns > .wp-block-column{flex-basis:auto !important;width:auto;min-width:0}
.shs-grid--2.wp-block-columns{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.shs-grid--4.wp-block-columns{grid-template-columns:repeat(auto-fit,minmax(228px,1fr))}
@media(max-width:781px){
  .shs-grid.wp-block-columns{grid-template-columns:1fr}
  .shs-grid.wp-block-columns > .wp-block-column{margin-left:0 !important}
}

/* split (text + media) */
.shs-split.wp-block-columns{display:grid;gap:clamp(28px,4vw,64px);align-items:center;
  grid-template-columns:1fr 1fr}
.shs-split.wp-block-columns > .wp-block-column{flex-basis:auto !important;width:auto;min-width:0}
.shs-split--wide.wp-block-columns{grid-template-columns:1.15fr .85fr}
@media(max-width:900px){
  .shs-split.wp-block-columns,.shs-split--wide.wp-block-columns{grid-template-columns:1fr}
}

/* =====================================================================
   CARDS
   ===================================================================== */
.shs-card{background:var(--shs-white);border:1px solid var(--shs-line);border-radius:var(--shs-r);
  padding:28px 26px;box-shadow:var(--shs-shadow);position:relative;overflow:hidden;
  transition:transform .35s var(--shs-ease),box-shadow .35s var(--shs-ease),border-color .35s var(--shs-ease)}
.shs-card:hover{transform:translateY(-5px);box-shadow:var(--shs-shadow-lg);border-color:rgba(248,117,45,.35)}
.shs-card h3{margin-bottom:9px}
.shs-card p{font-size:14.6px;margin-bottom:0}
.shs-card--flat{box-shadow:none}
.shs-card--flat:hover{box-shadow:var(--shs-shadow)}
.shs-card--dark{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.1);box-shadow:none}
.shs-card--dark:hover{background:rgba(255,255,255,.07);border-color:rgba(248,117,45,.45);transform:translateY(-5px)}
.shs-card--dark h3{color:#fff}
.shs-card--dark p{color:rgba(255,255,255,.62)}

/* left accent-edge card */
.shs-card--edge{padding-left:32px}
.shs-card--edge::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:4px;
  border-radius:0 4px 4px 0;background:linear-gradient(var(--shs-primary),var(--shs-dark))}

/* pull quote */
.shs-quote{padding:28px 30px;border-radius:var(--shs-r);background:var(--shs-tint);
  border:1px solid rgba(248,117,45,.22)}
.shs-quote p{font-size:17.5px !important;line-height:1.6;color:var(--shs-ink) !important;
  font-weight:650;letter-spacing:-.015em}
.shs-quote .shs-lbl{margin-top:14px !important;color:var(--shs-dark) !important}

/* stacked media pair */
.shs-media--sm.wp-block-image img{aspect-ratio:4/3;object-fit:cover}

/* numbered card */
.shs-card .shs-idx{display:inline-grid;place-items:center;width:44px;height:44px;margin-bottom:18px;
  border-radius:13px;font-size:15px;font-weight:800;color:#fff;
  background:linear-gradient(140deg,var(--shs-light),var(--shs-primary) 46%,var(--shs-dark));
  box-shadow:0 10px 20px -10px rgba(248,117,45,.9)}
.shs-card--dark .shs-idx{background:rgba(248,117,45,.16);color:var(--shs-light);box-shadow:none}

/* product / category card with image */
.shs-cat{background:var(--shs-white);border:1px solid var(--shs-line);border-radius:var(--shs-r);
  overflow:hidden;padding:0;box-shadow:var(--shs-shadow);display:flex;flex-direction:column;
  transition:transform .35s var(--shs-ease),box-shadow .35s var(--shs-ease),border-color .35s var(--shs-ease)}
.shs-cat:hover{transform:translateY(-6px);box-shadow:var(--shs-shadow-lg);border-color:rgba(248,117,45,.4)}
.shs-cat .wp-block-image{margin:0;overflow:hidden;background:var(--shs-navy)}
.shs-cat .wp-block-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;
  transition:transform .6s var(--shs-ease)}
.shs-cat:hover .wp-block-image img{transform:scale(1.06)}
.shs-cat .shs-cat-body{padding:22px 24px 26px}
.shs-cat h3{font-size:1.08rem;margin-bottom:7px}
.shs-cat p{font-size:14.2px;margin-bottom:0}

/* media frame */
.shs-media.wp-block-image{margin:0;border-radius:var(--shs-r-lg);overflow:hidden;
  box-shadow:var(--shs-shadow-lg);background:var(--shs-navy)}
.shs-media.wp-block-image img{display:block;width:100%;height:auto}

/* floating badge that overlaps a media frame */
.shs-badge{display:inline-flex;flex-direction:column;gap:3px;padding:18px 24px;border-radius:16px;
  background:var(--shs-white);box-shadow:var(--shs-shadow-lg);border:1px solid var(--shs-line)}
.shs-badge strong{font-size:1.75rem;font-weight:800;color:var(--shs-black);line-height:1}
.shs-badge span{font-size:11.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--shs-muted)}

/* =====================================================================
   STATS
   ===================================================================== */
.shs-stat{text-align:center;padding:6px 10px}
.shs-stat strong,.shs-num{display:block;font-size:clamp(2.1rem,4vw,3rem);font-weight:800;line-height:1;
  letter-spacing:-.04em;color:var(--shs-primary);margin:0 0 10px !important}
.shs-stat span,.shs-lbl{display:block;font-size:12.5px !important;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--shs-muted) !important;margin:0 !important;line-height:1.4}
.shs-section--navy .shs-lbl{color:rgba(255,255,255,.58) !important}
.shs-badge .shs-num{font-size:1.75rem;color:var(--shs-black)}

/* =====================================================================
   LISTS / CHIPS / STEPS
   ===================================================================== */
.shs-list{list-style:none !important;padding:0 !important;margin:0 0 28px !important;
  display:flex;flex-direction:column;gap:13px}
.shs-list li{position:relative;padding-left:34px;font-size:15.4px;line-height:1.6;
  color:var(--shs-ink);font-weight:500}
.shs-list li::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:7px;
  background:var(--shs-tint);border:1px solid rgba(248,117,45,.28)}
.shs-list li::after{content:"";position:absolute;left:7.5px;top:7px;width:6px;height:10px;
  border-right:2px solid var(--shs-primary);border-bottom:2px solid var(--shs-primary);
  transform:rotate(42deg)}
.shs-section--navy .shs-list li{color:rgba(255,255,255,.82)}
.shs-section--navy .shs-list li::before{background:rgba(248,117,45,.14);border-color:rgba(248,117,45,.3)}

.shs-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.shs-chip{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:100px;
  background:var(--shs-white);border:1px solid var(--shs-line);font-size:14.6px;font-weight:650;
  color:var(--shs-ink);box-shadow:var(--shs-shadow);
  transition:transform .3s var(--shs-ease),border-color .3s var(--shs-ease),color .3s var(--shs-ease)}
.shs-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--shs-primary)}
.shs-chip:hover{transform:translateY(-3px);border-color:var(--shs-primary);color:var(--shs-dark)}

.shs-step{position:relative;padding-left:66px;padding-bottom:34px}
.shs-step:last-child{padding-bottom:0}
.shs-step--1::before{content:"01"} .shs-step--2::before{content:"02"}
.shs-step--3::before{content:"03"} .shs-step--4::before{content:"04"}
.shs-step--5::before{content:"05"} .shs-step--6::before{content:"06"}
.shs-step::before{position:absolute;left:0;top:0;width:44px;height:44px;
  display:grid;place-items:center;border-radius:13px;font-size:14px;font-weight:800;color:#fff;
  background:linear-gradient(140deg,var(--shs-light),var(--shs-primary) 46%,var(--shs-dark))}
.shs-step::after{content:"";position:absolute;left:21px;top:52px;bottom:8px;width:2px;
  background:linear-gradient(var(--shs-tint),transparent)}
.shs-step:last-child::after{display:none}
.shs-timeline{max-width:780px}
.shs-step h3{margin-bottom:8px;font-size:1.12rem}
.shs-step p{font-size:15.2px;margin-bottom:0}
.shs-section--navy .shs-step h3{color:#fff}
.shs-section--navy .shs-step::after{background:linear-gradient(rgba(248,117,45,.4),transparent)}

/* =====================================================================
   BUTTONS  (core buttons, re-skinned)
   ===================================================================== */
[class*="shs-"] .wp-block-buttons{gap:12px}
[class*="shs-"] .wp-block-button__link{border-radius:14px;padding:16px 28px;font-size:15px;
  font-weight:700;letter-spacing:-.01em;border:1.5px solid transparent;
  transition:background .26s var(--shs-ease),color .26s var(--shs-ease),
             transform .22s var(--shs-ease),box-shadow .26s var(--shs-ease),border-color .26s var(--shs-ease)}
[class*="shs-"] .wp-block-button__link:hover{transform:translateY(-2px)}
[class*="shs-"] .wp-block-button:not(.is-style-outline) .wp-block-button__link{
  background:var(--shs-primary);color:#fff;box-shadow:0 16px 30px -16px rgba(248,117,45,.95)}
[class*="shs-"] .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{background:var(--shs-dark)}
[class*="shs-"] .wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;color:var(--shs-ink);border-color:var(--shs-line)}
[class*="shs-"] .wp-block-button.is-style-outline .wp-block-button__link:hover{
  border-color:var(--shs-primary);color:var(--shs-dark);background:var(--shs-tint)}
.shs-hero .wp-block-button.is-style-outline .wp-block-button__link,
.shs-section--navy .wp-block-button.is-style-outline .wp-block-button__link{
  color:#fff;border-color:rgba(255,255,255,.34)}
.shs-hero .wp-block-button.is-style-outline .wp-block-button__link:hover,
.shs-section--navy .wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:rgba(255,255,255,.1);border-color:#fff;color:#fff}

/* =====================================================================
   HERO / PAGE BANNER
   ===================================================================== */
.shs-hero.wp-block-cover{min-height:min(84vh,720px);padding:clamp(70px,9vw,120px) 24px;
  align-items:center}
.shs-hero .wp-block-cover__inner-container{max-width:1220px;margin-inline:auto;width:100%}
.shs-hero h1{color:#fff;max-width:16ch}
.shs-hero .shs-lead{color:rgba(255,255,255,.76);max-width:56ch}
.shs-hero .shs-eyebrow{color:var(--shs-light)}
.shs-hero-inner{max-width:760px}

.shs-banner{padding:clamp(72px,8vw,124px) 24px clamp(60px,7vw,100px);
  background:linear-gradient(150deg,var(--shs-navy-deep),var(--shs-navy) 55%,#16273f);
  position:relative;overflow:hidden;text-align:center}
.shs-banner::after{content:"";position:absolute;top:-160px;left:50%;transform:translateX(-50%);
  width:min(900px,110%);height:420px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(248,117,45,.2),transparent 70%)}
.shs-banner > *{position:relative;max-width:860px;margin-inline:auto}
.shs-banner h1{color:#fff}
.shs-banner p{color:rgba(255,255,255,.7)}
.shs-banner .shs-eyebrow{color:var(--shs-light)}

/* =====================================================================
   CTA BAND
   ===================================================================== */
.shs-cta{padding:clamp(46px,5vw,68px) clamp(28px,5vw,64px);border-radius:var(--shs-r-lg);
  background:linear-gradient(135deg,var(--shs-darker),var(--shs-primary) 58%,var(--shs-light));
  position:relative;overflow:hidden;color:#fff}
.shs-cta::after{content:"";position:absolute;right:-90px;top:-90px;width:340px;height:340px;
  border-radius:50%;background:rgba(255,255,255,.11);pointer-events:none}
.shs-cta > *{position:relative}
.shs-cta h2{color:#fff;max-width:20ch}
.shs-cta p{color:rgba(255,255,255,.88);max-width:56ch}
.shs-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link{
  background:#fff;color:var(--shs-darker);box-shadow:0 18px 34px -18px rgba(0,0,0,.5)}
.shs-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{background:var(--shs-black);color:#fff}
.shs-cta .wp-block-button.is-style-outline .wp-block-button__link{color:#fff;border-color:rgba(255,255,255,.5)}
.shs-cta .wp-block-button.is-style-outline .wp-block-button__link:hover{background:rgba(255,255,255,.14);border-color:#fff}

/* =====================================================================
   DOCUMENT PAGES (policies / terms)
   ===================================================================== */
.shs-doc{max-width:840px;margin-inline:auto}
.shs-doc h2{font-size:1.5rem;margin-top:2.4em;padding-top:1.6em;border-top:1px solid var(--shs-line)}
.shs-doc > h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.shs-doc h3{font-size:1.08rem;margin-top:1.8em}
.shs-doc p,.shs-doc li{font-size:15.6px;line-height:1.78;color:#454B55}
.shs-doc ul,.shs-doc ol{padding-left:22px;margin:0 0 1.2em}
.shs-doc li{margin-bottom:8px}
.shs-doc .shs-note{padding:22px 24px;border-radius:16px;background:var(--shs-tint);
  border:1px solid rgba(248,117,45,.22);margin-bottom:2em}
.shs-doc .shs-note p{color:var(--shs-ink);margin:0}
.shs-toc{padding:24px 26px;border-radius:16px;background:#F7F8F9;border:1px solid var(--shs-line);
  margin-bottom:2.6em}
.shs-toc p{font-size:11.5px !important;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--shs-muted);margin-bottom:12px !important}
.shs-toc ul{list-style:none !important;padding:0 !important;margin:0 !important;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px 24px}
.shs-toc li{margin:0}
.shs-toc a{font-size:14.6px;font-weight:600;color:var(--shs-ink);text-decoration:none}
.shs-toc a:hover{color:var(--shs-dark)}

/* =====================================================================
   ACCORDION (core Details block)
   ===================================================================== */
.shs-faq details.wp-block-details{background:var(--shs-white);border:1px solid var(--shs-line);
  border-radius:16px;padding:20px 24px;margin:0 0 12px;box-shadow:var(--shs-shadow);
  transition:border-color .28s var(--shs-ease),box-shadow .28s var(--shs-ease)}
.shs-faq details[open]{border-color:rgba(248,117,45,.4)}
.shs-faq summary{cursor:pointer;list-style:none;font-size:16px;font-weight:700;color:var(--shs-black);
  letter-spacing:-.015em;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.shs-faq summary::-webkit-details-marker{display:none}
.shs-faq summary::after{content:"";flex:none;width:11px;height:11px;margin-top:5px;
  border-right:2.4px solid var(--shs-primary);border-bottom:2.4px solid var(--shs-primary);
  transform:rotate(45deg);transition:transform .32s var(--shs-ease)}
.shs-faq details[open] summary::after{transform:rotate(225deg);margin-top:9px}
.shs-faq details p{margin-top:14px;font-size:15.2px}

/* =====================================================================
   CONTACT
   ===================================================================== */
.shs-contact-card{padding:26px;border-radius:var(--shs-r);background:var(--shs-white);
  border:1px solid var(--shs-line);box-shadow:var(--shs-shadow);height:100%}
.shs-contact-card h3{font-size:1rem;margin-bottom:14px}
.shs-contact-card p{font-size:14.8px;color:var(--shs-ink);margin-bottom:6px;line-height:1.6}
.shs-contact-card a{color:var(--shs-ink);font-weight:600;text-decoration:none}
.shs-contact-card a:hover{color:var(--shs-dark)}
.shs-flag{display:inline-block;padding:5px 12px;border-radius:100px;background:var(--shs-tint);
  color:var(--shs-darker);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:14px}
.shs-map{border-radius:var(--shs-r);overflow:hidden;border:1px solid var(--shs-line);
  box-shadow:var(--shs-shadow);line-height:0}
.shs-map iframe{width:100%;height:440px;border:0;display:block}

/* big tappable contact action */
.shs-action{padding:28px 24px;border-radius:var(--shs-r);background:var(--shs-white);
  border:1px solid var(--shs-line);box-shadow:var(--shs-shadow);text-align:center;
  transition:transform .32s var(--shs-ease),box-shadow .32s var(--shs-ease),border-color .32s var(--shs-ease)}
.shs-action:hover{transform:translateY(-5px);box-shadow:var(--shs-shadow-lg);border-color:rgba(248,117,45,.4)}
.shs-big{font-size:1.16rem !important;font-weight:800 !important;color:var(--shs-black) !important;
  letter-spacing:-.02em;margin:8px 0 0 !important;line-height:1.35}
.shs-big a{color:inherit;text-decoration:none}
.shs-big a:hover{color:var(--shs-dark)}
.shs-sub{font-size:13.6px !important;margin:8px 0 0 !important}

/* opening hours */
.shs-hours{list-style:none !important;padding:0 !important;margin:0 !important}
.shs-hours li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:12px 0;border-bottom:1px dashed var(--shs-line);font-size:15px;color:var(--shs-muted);margin:0}
.shs-hours li:last-child{border-bottom:0}
.shs-hours li strong{font-weight:700;color:var(--shs-ink);white-space:nowrap}

/* embedded enquiry form */
.shs-form-embed{border-radius:var(--shs-r);overflow:hidden;border:1px solid var(--shs-line);
  box-shadow:var(--shs-shadow);background:#fff;line-height:0}
.shs-form-embed iframe{width:100%;min-height:1050px;border:0;display:block}

/* enquiry form fallback (shown until a real form is embedded) */
.shs-form-fallback{padding:clamp(30px,4vw,48px);border-radius:var(--shs-r-lg);
  background:var(--shs-white);border:1px solid var(--shs-line);box-shadow:var(--shs-shadow);
  text-align:center}
.shs-form-fallback h3{margin-bottom:12px}
.shs-form-fallback p{max-width:52ch;margin-inline:auto}
.shs-form .wp-block-group{margin:0}

/* =====================================================================
   MISC
   ===================================================================== */
.shs-rule{height:1px;background:var(--shs-line);border:0;margin:0}
.shs-section--navy .shs-rule{background:rgba(255,255,255,.1)}
[class*="shs-"] figure{margin:0}
@media (prefers-reduced-motion:reduce){
  [class*="shs-"] *{transition-duration:.01ms !important;animation-duration:.01ms !important}
}