/*
Theme Name: Sussex Firewood v0.5.15
Theme URI: https://sussex-firewood.co.uk/
Description: Premium Kadence child theme for Sussex Firewood.
Author: Sussex Firewood
Template: kadence
Version: 0.5.15
Text Domain: sussex-firewood
*/

:root {
  --sfw-paper:#fffdf9;
  --sfw-cream:#f7f3ec;
  --sfw-cream-2:#fbf8f3;
  --sfw-ink:#1e211e;
  --sfw-muted:#62675f;
  --sfw-green:#173d2c;
  --sfw-green-2:#244e39;
  --sfw-orange:#c95813;
  --sfw-border:#e5ddd1;
  --sfw-soft:#f4eee6;
  --sfw-shadow:0 12px 34px rgba(28,32,28,.07);
  --sfw-wrap:min(1180px,calc(100% - 48px));
  --sfw-serif:Georgia,"Times New Roman",serif;
  --sfw-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--sfw-paper); color:var(--sfw-ink); font-family:var(--sfw-sans); }
body.sfw-shell-page { background:var(--sfw-paper); }

/* Hide Kadence shell only on our controlled pages */
.sfw-shell-page #masthead,
.sfw-shell-page .site-header,
.sfw-shell-page #colophon,
.sfw-shell-page .site-footer { display:none!important; }
.sfw-shell-page #wrapper,
.sfw-shell-page #inner-wrap { background:var(--sfw-paper); }
.sfw-shell-page .content-area,
.sfw-shell-page .site-main,
.sfw-shell-page .content-container,
.sfw-shell-page .entry-content-wrap { margin:0!important; padding:0!important; max-width:none!important; }
.sfw-shell-page article { margin:0!important; }

.sfw-wrap { width:var(--sfw-wrap); margin-inline:auto; }
.sfw-section { padding:78px 0; }
.sfw-section--cream { background:var(--sfw-cream-2); }
.sfw-section--green { background:linear-gradient(135deg,#123625,#1d4933); color:#fff; }

.sfw-kicker {
  margin:0 0 10px;
  color:var(--sfw-orange);
  font:700 .77rem/1.2 var(--sfw-sans);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.sfw-title,
.sfw-heading {
  font-family:var(--sfw-serif);
  color:var(--sfw-green);
  font-weight:400;
  letter-spacing:-.025em;
}
.sfw-title { margin:0 0 20px; font-size:clamp(3rem,5.4vw,5.35rem); line-height:.99; }
.sfw-heading { margin:0 0 16px; font-size:clamp(2rem,3.6vw,3.1rem); line-height:1.08; }
.sfw-lead { margin:0; max-width:650px; color:var(--sfw-muted); font-size:1.08rem; line-height:1.7; }
.sfw-section--green .sfw-heading { color:#fff; }
.sfw-section--green .sfw-lead { color:rgba(255,255,255,.76); }

.sfw-btn {
  display:inline-flex; min-height:48px; align-items:center; justify-content:center;
  padding:0 22px; border:0; border-radius:5px; text-decoration:none!important;
  background:var(--sfw-green); color:#fff!important;
  font:700 .78rem/1 var(--sfw-sans); letter-spacing:.04em; text-transform:uppercase;
  cursor:pointer;
}
.sfw-btn:hover { background:#0e2e20; }
.sfw-btn--orange { background:var(--sfw-orange); }
.sfw-btn--orange:hover { background:#a94810; }
.sfw-btn--outline { background:transparent; border:1px solid var(--sfw-green); color:var(--sfw-green)!important; }
.sfw-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }

/* HEADER */
.sfw-header { background:#fff; border-bottom:1px solid var(--sfw-border); position:relative; z-index:40; }
.sfw-header__main {
  width:var(--sfw-wrap); height:78px; margin:auto;
  display:grid; grid-template-columns:210px 1fr auto; align-items:center; gap:26px;
}
.sfw-logo img { display:block; width:150px; max-height:58px; object-fit:contain; object-position:left center; }
.sfw-nav { display:flex; align-items:center; justify-content:center; gap:28px; }
.sfw-nav a {
  color:#151815; text-decoration:none; font:600 .87rem/1 var(--sfw-sans);
  padding:30px 0 26px; border-bottom:2px solid transparent;
}
.sfw-nav a:hover,.sfw-nav a.is-active { color:var(--sfw-green); border-bottom-color:var(--sfw-green); }
.sfw-header__right { display:flex; align-items:center; gap:17px; white-space:nowrap; }
.sfw-phone { color:#202420; text-decoration:none; font-size:.9rem; }
.sfw-mobile-toggle { display:none; }
.sfw-trustbar { background:var(--sfw-green); color:#fff; }
.sfw-trustbar__inner {
  width:var(--sfw-wrap); min-height:34px; margin:auto;
  display:grid; grid-template-columns:repeat(4,1fr); align-items:center; gap:15px;
  font:600 .68rem/1.2 var(--sfw-sans); letter-spacing:.07em; text-transform:uppercase;
}
.sfw-trustbar__inner span { text-align:center; opacity:.94; }

/* HERO */
.sfw-hero { background:linear-gradient(90deg,#fffdf9 0%,#faf6ef 100%); border-bottom:1px solid var(--sfw-border); }
.sfw-hero__grid {
  width:var(--sfw-wrap); min-height:560px; margin:auto;
  display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:44px;
}
.sfw-hero__copy { padding:58px 0 64px; }
.sfw-hero__visual {
  height:100%; min-height:560px; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 55% 48%,#fff 0 16%,transparent 50%);
}
.sfw-hero__visual img {
  width:min(100%,650px); max-height:490px; object-fit:contain; object-position:center;
  display:block; border-radius:7px; filter:drop-shadow(0 22px 28px rgba(40,28,15,.12));
}
.sfw-checker { margin-top:28px; max-width:540px; }
.sfw-checker__label {
  display:block; margin-bottom:9px; color:#333831; font-size:.72rem; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase;
}
.sfw-checker__row { display:grid; grid-template-columns:1fr 158px; }
.sfw-checker input {
  height:50px; min-width:0; padding:0 15px; border:1px solid var(--sfw-border);
  border-right:0; border-radius:5px 0 0 5px; background:#fff; box-shadow:none;
}
.sfw-checker button { border-radius:0 5px 5px 0; }
.sfw-review { margin-top:17px; color:#313631; font-size:.86rem; }
.sfw-review__stars { color:#08a776; letter-spacing:.06em; font-weight:900; }

/* BENEFITS */
.sfw-benefits { padding:24px 0; background:#fff; }
.sfw-benefits__grid { width:var(--sfw-wrap); margin:auto; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.sfw-benefit {
  min-height:94px; display:grid; grid-template-columns:50px 1fr; align-items:center; gap:13px;
  padding:18px 20px; border:1px solid var(--sfw-border); border-radius:7px; background:#fff;
}
.sfw-benefit__icon { color:var(--sfw-green); width:42px; height:42px; display:flex; align-items:center; justify-content:center; }
.sfw-benefit__icon svg { width:34px; height:34px; display:block; stroke:currentColor; }
.sfw-benefit strong { display:block; margin-bottom:5px; font-size:.87rem; color:#252925; }
.sfw-benefit p { margin:0; color:var(--sfw-muted); font-size:.79rem; line-height:1.45; }

/* PRODUCT RANGE */
.sfw-section-head { max-width:700px; margin:0 auto 38px; text-align:center; }
.sfw-section-head .sfw-lead { margin-inline:auto; font-size:.96rem; }
.sfw-products { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.sfw-product-card {
  border:1px solid var(--sfw-border); border-radius:7px; overflow:hidden; background:#fff;
  transition:transform .2s ease, box-shadow .2s ease;
}
.sfw-product-card:hover { transform:translateY(-3px); box-shadow:var(--sfw-shadow); }
.sfw-product-card__image {
  aspect-ratio:1.05/1; display:flex; align-items:center; justify-content:center;
  background:#fbf8f2; padding:24px; overflow:hidden;
}
.sfw-product-card__image img {
  width:100%; height:100%; object-fit:contain; object-position:center;
  display:block;
}
.sfw-product-card__body { padding:21px 22px 24px; }
.sfw-product-card h3 { margin:0 0 9px; color:#20231f; font:400 1.42rem/1.15 var(--sfw-serif); }
.sfw-product-card p { min-height:48px; margin:0 0 17px; color:var(--sfw-muted); font-size:.83rem; line-height:1.55; }
.sfw-text-link { color:var(--sfw-orange); text-decoration:none; font-size:.84rem; font-weight:700; }

/* LOCAL BAND */
.sfw-local-grid { display:grid; grid-template-columns:1.45fr .75fr .75fr; gap:34px; align-items:center; }
.sfw-local-grid h2 { max-width:560px; }
.sfw-local-feature { padding-left:28px; border-left:1px solid rgba(255,255,255,.2); }
.sfw-local-feature strong { display:block; margin-bottom:7px; }
.sfw-local-feature p { margin:0; color:rgba(255,255,255,.72); font-size:.88rem; line-height:1.55; }

/* ORDER STEPS */
.sfw-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.sfw-step { padding:10px 28px; text-align:center; border-right:1px solid var(--sfw-border); }
.sfw-step:last-child { border-right:0; }
.sfw-step__icon {
  width:54px; height:54px; margin:0 auto 14px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; background:var(--sfw-green); color:#fff;
}
.sfw-step__icon svg { width:25px; height:25px; display:block; stroke:currentColor; }
.sfw-step strong { display:block; margin-bottom:6px; font-size:.86rem; }
.sfw-step p { margin:0; color:var(--sfw-muted); font-size:.8rem; line-height:1.5; }

/* MAIL / SISTERS */
.sfw-mail { border-top:1px solid var(--sfw-border); background:#fff; }
.sfw-mail__grid { width:var(--sfw-wrap); min-height:112px; margin:auto; display:grid; grid-template-columns:1fr 1fr 1fr; gap:34px; align-items:center; }
.sfw-mail h3 { margin:0 0 4px; font:400 1.22rem/1.2 var(--sfw-serif); }
.sfw-mail p { margin:0; color:var(--sfw-muted); font-size:.78rem; }
.sfw-mail__form { display:grid; grid-template-columns:1fr 105px; }
.sfw-mail__form input { height:44px; border:1px solid var(--sfw-border); border-radius:4px 0 0 4px; padding:0 12px; }
.sfw-mail__form button { min-height:44px; border-radius:0 4px 4px 0; }
.sfw-sisters { text-align:center; }
.sfw-sisters strong { display:block; margin-bottom:9px; font-size:.76rem; }
.sfw-sisters__names { display:flex; justify-content:center; gap:24px; font-family:var(--sfw-serif); color:#272b27; }

/* FOOTER */
.sfw-footer { padding:45px 0 18px; background:#202422; color:rgba(255,255,255,.72); }
.sfw-footer__grid { width:var(--sfw-wrap); margin:auto; display:grid; grid-template-columns:1.3fr 1fr 1fr 1.1fr 1fr; gap:32px; }
.sfw-footer__logo { width:120px; margin-bottom:15px; }
.sfw-footer p,.sfw-footer li,.sfw-footer a { color:rgba(255,255,255,.72); font-size:.77rem; line-height:1.55; text-decoration:none; }
.sfw-footer h4 { margin:0 0 13px; color:#fff; font-size:.84rem; }
.sfw-footer ul { margin:0; padding:0; list-style:none; }
.sfw-footer li { margin-bottom:6px; }
.sfw-footer__bottom { width:var(--sfw-wrap); margin:28px auto 0; padding-top:16px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:20px; font-size:.72rem; }

/* SUBPAGES */
.sfw-page-hero { padding:66px 0; background:var(--sfw-cream); border-bottom:1px solid var(--sfw-border); }
.sfw-page-hero .sfw-title { max-width:850px; font-size:clamp(2.6rem,4.8vw,4.4rem); }
.sfw-page-hero .sfw-lead { max-width:760px; }
.sfw-content-grid { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:start; }
.sfw-panel { background:#fff; border:1px solid var(--sfw-border); border-radius:7px; padding:28px; box-shadow:var(--sfw-shadow); }
.sfw-area-list { display:flex; flex-wrap:wrap; gap:9px; margin:18px 0 26px; }
.sfw-pill { padding:8px 12px; background:#f0f4ee; border-radius:4px; color:var(--sfw-green); font-size:.82rem; font-weight:700; }
.sfw-delivery-photo { width:100%; border-radius:7px; display:block; }
.sfw-faq { padding:20px 0; border-top:1px solid var(--sfw-border); }
.sfw-faq h3 { margin:0 0 7px; color:var(--sfw-green); font:400 1.22rem/1.25 var(--sfw-serif); }
.sfw-faq p { margin:0; color:var(--sfw-muted); line-height:1.65; }
.sfw-contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; }

/* ORDERING PLUGIN RESTYLE */
.sfw-order-shell { padding:45px 0 80px; background:var(--sfw-cream-2); }
.sfw-order-shell .sfw-order { max-width:1050px; }
.sfw-order-shell .sfw-order__intro { display:none; }
.sfw-order-shell .sfw-card,
.sfw-order-shell .sfw-order-summary { border-color:var(--sfw-border); border-radius:7px; box-shadow:none; }
.sfw-order-shell .sfw-progress .is-active span,
.sfw-order-shell .sfw-number { background:var(--sfw-green); border-color:var(--sfw-green); }
.sfw-order-shell .sfw-btn { background:var(--sfw-orange); }
.sfw-order-shell .sfw-btn--wide { background:var(--sfw-green); }

/* WooCommerce pages */
body.sfw-woo-shell #masthead,
body.sfw-woo-shell .site-header,
body.sfw-woo-shell #colophon,
body.sfw-woo-shell .site-footer { display:none!important; }
body.sfw-woo-shell .content-container { width:var(--sfw-wrap); max-width:none; }
body.sfw-woo-shell .site-main { padding-top:50px; padding-bottom:70px; }

/* RESPONSIVE */
@media (max-width:1020px) {
  .sfw-header__main { grid-template-columns:170px 1fr auto; }
  .sfw-nav { gap:18px; }
  .sfw-header__right .sfw-btn { display:none; }
  .sfw-hero__grid { grid-template-columns:1fr 1fr; }
  .sfw-products { grid-template-columns:repeat(2,1fr); }
  .sfw-benefits__grid { grid-template-columns:repeat(2,1fr); }
  .sfw-footer__grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:800px) {
  :root { --sfw-wrap:min(100% - 30px,1180px); }
  .sfw-header__main { height:70px; grid-template-columns:150px 1fr; }
  .sfw-header__right { display:none; }
  .sfw-mobile-toggle { display:block; justify-self:end; border:0; background:transparent; font-size:1.5rem; }
  .sfw-nav {
    display:none; position:absolute; top:70px; left:0; right:0; padding:12px 24px 22px;
    background:#fff; border-bottom:1px solid var(--sfw-border); flex-direction:column; align-items:flex-start;
  }
  .sfw-header.is-open .sfw-nav { display:flex; }
  .sfw-nav a { padding:9px 0; }
  .sfw-trustbar__inner { grid-template-columns:1fr 1fr; padding:9px 0; row-gap:8px; }
  .sfw-hero__grid { grid-template-columns:1fr; min-height:unset; }
  .sfw-hero__copy { padding:52px 0 12px; }
  .sfw-hero__visual { min-height:350px; padding-bottom:36px; }
  .sfw-local-grid,.sfw-content-grid,.sfw-contact-grid { grid-template-columns:1fr; }
  .sfw-local-feature { padding:20px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.2); }
  .sfw-steps { grid-template-columns:1fr 1fr; gap:25px 0; }
  .sfw-mail__grid { grid-template-columns:1fr; padding:28px 0; }
}
@media (max-width:580px) {
  .sfw-section { padding:58px 0; }
  .sfw-title { font-size:clamp(2.7rem,15vw,4rem); }
  .sfw-benefits__grid,.sfw-products,.sfw-steps,.sfw-footer__grid { grid-template-columns:1fr; }
  .sfw-step { border-right:0; border-bottom:1px solid var(--sfw-border); padding:18px 10px 25px; }
  .sfw-checker__row { grid-template-columns:1fr; gap:8px; }
  .sfw-checker input,.sfw-checker button { border:1px solid var(--sfw-border); border-radius:5px; }
  .sfw-footer__bottom { flex-direction:column; }
}

.sfw-trustbar__item{display:flex;align-items:center;justify-content:center;gap:8px}
.sfw-trustbar__item svg{width:15px;height:15px;stroke:currentColor;flex:0 0 auto}
.sfw-phone{display:flex;align-items:center;gap:7px}
.sfw-phone svg{width:16px;height:16px;stroke:currentColor}
.sfw-logo{display:inline-flex;align-items:center;height:62px}
.sfw-logo img{width:158px;height:auto;max-height:55px}
@media(max-width:800px){.sfw-logo img{width:135px}}


/* v0.4.3 layout refinement */
.sfw-hero__grid { min-height:590px; }
.sfw-hero__copy { padding:70px 0 76px; }
.sfw-hero__visual { min-height:590px; }
.sfw-hero__visual img { width:min(100%,690px); max-height:520px; }
.sfw-benefits { padding:30px 0; }
.sfw-section { padding:88px 0; }
.sfw-section-head { margin-bottom:44px; }
.sfw-products { gap:24px; }
.sfw-product-card__image { padding:18px; }
.sfw-product-card__body { padding:24px 24px 27px; }
.sfw-product-card h3 { margin-bottom:11px; }
.sfw-product-card p { min-height:52px; }
.sfw-steps { max-width:1080px; margin-inline:auto; }
.sfw-step { padding:12px 34px 20px; }

/* Order Firewood: fully branded layout */
.sfw-order-shell { padding:58px 0 88px; }
.sfw-order-shell .sfw-order {
  max-width:980px;
  margin:0 auto;
  padding:0 !important;
  font-family:var(--sfw-sans);
  color:var(--sfw-ink);
}
.sfw-order-shell .sfw-progress {
  margin:0 0 30px;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  position:relative;
}
.sfw-order-shell .sfw-progress:before {
  content:"";
  position:absolute;
  top:18px;
  left:12.5%;
  right:12.5%;
  height:1px;
  background:var(--sfw-border);
  z-index:0;
}
.sfw-order-shell .sfw-progress li {
  position:relative;
  z-index:1;
  text-align:center;
  color:var(--sfw-muted);
  font-size:.78rem;
  line-height:1.25;
  background:transparent;
}
.sfw-order-shell .sfw-progress span {
  width:38px;
  height:38px;
  margin:0 auto 9px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--sfw-border);
  border-radius:50%;
  background:#fff;
  color:var(--sfw-green);
  font-weight:800;
}
.sfw-order-shell .sfw-progress .is-active {
  color:var(--sfw-green);
  font-weight:800;
}
.sfw-order-shell .sfw-progress .is-active span {
  background:var(--sfw-green);
  border-color:var(--sfw-green);
  color:#fff;
}
.sfw-order-shell .sfw-card,
.sfw-order-shell .sfw-order-summary {
  margin:0 0 18px;
  padding:30px 32px;
  background:#fff;
  border:1px solid var(--sfw-border);
  border-radius:8px;
  box-shadow:0 9px 26px rgba(27,33,28,.045);
}
.sfw-order-shell .sfw-card__heading {
  display:flex;
  align-items:flex-start;
  gap:15px;
  margin-bottom:24px;
}
.sfw-order-shell .sfw-number {
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--sfw-green);
  color:#fff;
  font-weight:800;
  font-size:.85rem;
}
.sfw-order-shell .sfw-card__heading h2 {
  margin:0 0 4px;
  color:var(--sfw-green);
  font:400 1.65rem/1.1 var(--sfw-serif);
}
.sfw-order-shell .sfw-card__heading p {
  margin:0;
  color:var(--sfw-muted);
  font-size:.88rem;
}
.sfw-order-shell .sfw-postcode-row {
  display:grid;
  grid-template-columns:1fr 180px;
  gap:10px;
  max-width:650px;
}
.sfw-order-shell #sfw-postcode,
.sfw-order-shell #sfw-delivery-date {
  width:100%;
  height:50px;
  padding:0 14px;
  border:1px solid #d9d2c7;
  border-radius:5px;
  background:#fff;
  color:var(--sfw-ink);
  font-family:var(--sfw-sans);
  box-shadow:none;
}
.sfw-order-shell .sfw-btn {
  min-height:50px;
  padding:0 20px;
  border:0;
  border-radius:5px;
  background:var(--sfw-orange);
  color:#fff;
  font:700 .75rem/1 var(--sfw-sans);
  letter-spacing:.035em;
  text-transform:uppercase;
}
.sfw-order-shell .sfw-result {
  min-height:0;
  margin-top:12px;
  font-size:.87rem;
}
.sfw-order-shell .sfw-result.is-success { color:var(--sfw-green); }
.sfw-order-shell .sfw-result.is-error { color:#a0382e; }
.sfw-order-shell .sfw-product {
  display:grid;
  grid-template-columns:170px 1fr;
  gap:26px;
  align-items:center;
}
.sfw-order-shell .sfw-product__image {
  background:var(--sfw-cream-2);
  border:1px solid var(--sfw-border);
  border-radius:7px;
  padding:14px;
}
.sfw-order-shell .sfw-product__image img {
  width:100%;
  height:135px;
  object-fit:contain;
  display:block;
}
.sfw-order-shell .sfw-product h3 {
  margin:0 0 7px;
  color:var(--sfw-green);
  font:400 1.48rem/1.2 var(--sfw-serif);
}
.sfw-order-shell .sfw-price {
  margin-bottom:15px;
  color:var(--sfw-green);
  font-size:1.15rem;
  font-weight:800;
}
.sfw-order-shell .sfw-qty {
  width:max-content;
  display:grid;
  grid-template-columns:44px 64px 44px;
  overflow:hidden;
  border:1px solid #d9d2c7;
  border-radius:5px;
  background:#fff;
}
.sfw-order-shell .sfw-qty button,
.sfw-order-shell .sfw-qty input {
  min-height:42px;
  margin:0;
  border:0;
  border-radius:0;
  background:#fff;
  color:var(--sfw-ink);
  text-align:center;
  box-shadow:none;
}
.sfw-order-shell .sfw-qty button {
  background:var(--sfw-green);
  color:#fff;
  cursor:pointer;
  font-size:1.15rem;
}
.sfw-order-shell .sfw-label {
  display:block;
  margin-bottom:8px;
  color:var(--sfw-ink);
  font-weight:700;
}
.sfw-order-shell #sfw-delivery-date { max-width:420px; }
.sfw-order-shell .sfw-slot {
  max-width:420px;
  margin-top:12px;
  padding:13px 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:#edf4ee;
  border-radius:5px;
  color:var(--sfw-green);
  font-size:.88rem;
}
.sfw-order-shell .sfw-order-summary {
  margin-top:24px;
  background:#f8f5ef;
}
.sfw-order-shell .sfw-order-summary > div {
  display:grid;
  grid-template-columns:150px 1fr;
  gap:20px;
  padding:11px 0;
  border-bottom:1px solid #e3ddd2;
}
.sfw-order-shell .sfw-order-summary > div span { color:var(--sfw-muted); }
.sfw-order-shell .sfw-order-summary > div strong { text-align:right; color:var(--sfw-ink); }
.sfw-order-shell .sfw-btn--wide {
  width:100%;
  margin-top:24px;
  min-height:54px;
  background:var(--sfw-green);
}
.sfw-order-shell .sfw-small {
  margin:10px 0 0;
  text-align:center;
  color:var(--sfw-muted);
  font-size:.8rem;
}
.sfw-order-shell .sfw-step-disabled {
  opacity:.48;
  pointer-events:none;
}

/* WooCommerce shop/product refinement */
body.sfw-woo-shell .entry-hero,
body.sfw-woo-shell .kadence-page-title {
  background:var(--sfw-cream) !important;
  border-bottom:1px solid var(--sfw-border);
}
body.sfw-woo-shell .entry-hero .entry-title,
body.sfw-woo-shell .page-title {
  color:var(--sfw-green)!important;
  font-family:var(--sfw-serif)!important;
  font-size:clamp(2.3rem,4vw,3.4rem)!important;
  font-weight:400!important;
}
body.sfw-woo-shell .site-main { padding-top:54px; padding-bottom:80px; }
body.sfw-woo-shell ul.products {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
}
body.sfw-woo-shell ul.products li.product {
  width:auto!important;
  margin:0!important;
  padding:0 0 22px!important;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--sfw-border);
  border-radius:7px;
  box-shadow:none;
}
body.sfw-woo-shell ul.products li.product a img {
  width:100%!important;
  height:260px!important;
  margin:0 0 20px!important;
  padding:22px;
  object-fit:contain!important;
  background:#fbf8f2;
}
body.sfw-woo-shell ul.products li.product .woocommerce-loop-product__title,
body.sfw-woo-shell ul.products li.product .price,
body.sfw-woo-shell ul.products li.product .button {
  margin-left:20px!important;
  margin-right:20px!important;
}
body.sfw-woo-shell ul.products li.product .woocommerce-loop-product__title {
  color:var(--sfw-green)!important;
  font:400 1.25rem/1.25 var(--sfw-serif)!important;
}
body.sfw-woo-shell ul.products li.product .price {
  color:var(--sfw-green)!important;
  font-weight:800!important;
}
body.sfw-woo-shell ul.products li.product .button {
  min-height:42px;
  display:inline-flex;
  align-items:center;
  padding:0 16px!important;
  background:var(--sfw-green)!important;
  color:#fff!important;
  border-radius:4px!important;
  font-size:.72rem!important;
  text-transform:uppercase;
  letter-spacing:.035em;
}
body.sfw-woo-shell .woocommerce-result-count { color:var(--sfw-muted); }
body.sfw-woo-shell .woocommerce-ordering select {
  min-height:42px;
  border:1px solid var(--sfw-border);
  background:#fff;
}

/* Contact form defaults */
.sfw-contact-grid .wpcf7-form p { margin:0 0 16px; }
.sfw-contact-grid .wpcf7-form label { color:var(--sfw-ink); font-weight:700; font-size:.86rem; }
.sfw-contact-grid .wpcf7-form input:not([type=submit]),
.sfw-contact-grid .wpcf7-form textarea {
  width:100%;
  margin-top:6px;
  padding:11px 12px;
  border:1px solid var(--sfw-border);
  border-radius:5px;
  background:#fff;
}
.sfw-contact-grid .wpcf7-form input[type=submit] {
  min-height:48px;
  border:0;
  border-radius:5px;
  padding:0 22px;
  background:var(--sfw-orange);
  color:#fff;
  font-weight:800;
  text-transform:uppercase;
  font-size:.75rem;
}

@media(max-width:900px){
  body.sfw-woo-shell ul.products { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:680px){
  .sfw-order-shell .sfw-progress { grid-template-columns:repeat(4,1fr); }
  .sfw-order-shell .sfw-progress li { font-size:.66rem; }
  .sfw-order-shell .sfw-progress span { width:32px; height:32px; }
  .sfw-order-shell .sfw-progress:before { top:15px; }
  .sfw-order-shell .sfw-card,.sfw-order-shell .sfw-order-summary { padding:22px 18px; }
  .sfw-order-shell .sfw-postcode-row { grid-template-columns:1fr; }
  .sfw-order-shell .sfw-product { grid-template-columns:100px 1fr; gap:16px; }
  .sfw-order-shell .sfw-product__image img { height:90px; }
  .sfw-order-shell .sfw-order-summary > div { grid-template-columns:1fr auto; gap:12px; }
  body.sfw-woo-shell ul.products { grid-template-columns:1fr!important; }
}


/* v0.4.4 delivery page refinement */
.sfw-delivery-intro {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:56px;
  align-items:center;
}
.sfw-delivery-intro__copy p:not(.sfw-kicker) {
  color:var(--sfw-muted);
  line-height:1.75;
  margin:0 0 16px;
}
.sfw-delivery-intro__copy p:last-child { margin-bottom:0; }

.sfw-delivery-details {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:34px;
}
.sfw-delivery-box {
  background:#fff;
  border:1px solid var(--sfw-border);
  border-radius:7px;
  padding:28px;
}
.sfw-delivery-box h3 {
  margin:0 0 12px;
  color:var(--sfw-green);
  font:400 1.5rem/1.2 var(--sfw-serif);
}
.sfw-delivery-box p,
.sfw-delivery-box li {
  color:var(--sfw-muted);
  line-height:1.68;
  font-size:.93rem;
}
.sfw-delivery-box p:last-child { margin-bottom:0; }

.sfw-delivery-list {
  margin:15px 0 0;
  padding-left:20px;
}
.sfw-delivery-list li { margin-bottom:10px; }

.sfw-warning-box {
  margin-top:24px;
  padding:24px 26px;
  background:#fff7ee;
  border:1px solid #edd5bd;
  border-left:4px solid var(--sfw-orange);
  border-radius:6px;
}
.sfw-warning-box h3 {
  margin:0 0 8px;
  color:#8f3f11;
  font:400 1.35rem/1.2 var(--sfw-serif);
}
.sfw-warning-box p {
  margin:0;
  color:#6e5748;
  line-height:1.65;
}
.sfw-delivery-postcodes {
  margin-top:34px;
  padding-top:34px;
  border-top:1px solid var(--sfw-border);
}
.sfw-delivery-postcodes .sfw-heading { font-size:2rem; }

@media(max-width:850px) {
  .sfw-delivery-intro,
  .sfw-delivery-details { grid-template-columns:1fr; }
}


/* v0.4.5 delivery-page polish */
body.sfw-shell-page .sfw-page-hero { padding:56px 0 58px; }

.sfw-delivery-intro {
  gap:48px;
  align-items:center;
  margin-bottom:42px;
}
.sfw-delivery-intro__copy .sfw-heading {
  max-width:590px;
  margin-bottom:18px;
}
.sfw-delivery-intro__copy p:not(.sfw-kicker) {
  max-width:630px;
  line-height:1.72;
}

.sfw-delivery-postcodes--early {
  margin:0 0 34px;
  padding:26px 28px 28px;
  background:#f7f4ee;
  border:1px solid var(--sfw-border);
  border-radius:7px;
}
.sfw-delivery-postcodes--early .sfw-heading {
  margin-bottom:9px;
  font-size:1.8rem;
}
.sfw-delivery-postcodes--early .sfw-lead {
  font-size:.94rem;
  line-height:1.6;
}
.sfw-delivery-postcodes--early .sfw-area-list {
  margin:18px 0 0;
}
.sfw-delivery-postcodes--early .sfw-actions {
  margin-top:20px;
}

.sfw-delivery-details {
  gap:20px;
  margin-top:0;
}
.sfw-delivery-box {
  padding:26px 28px;
}
.sfw-delivery-box h3 {
  margin-bottom:11px;
}
.sfw-delivery-box p,
.sfw-delivery-box li {
  line-height:1.62;
}
.sfw-delivery-box p + p {
  margin-top:12px;
}

.sfw-access-highlight {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:13px;
  align-items:start;
  margin:18px 0 20px;
  padding:15px 17px;
  background:#edf4ee;
  border-left:4px solid var(--sfw-green);
  border-radius:5px;
}
.sfw-access-highlight__icon {
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--sfw-green);
  color:#fff;
  font-size:.82rem;
  font-weight:800;
}
.sfw-access-highlight strong {
  display:block;
  margin-bottom:3px;
  color:var(--sfw-green);
}
.sfw-access-highlight p {
  margin:0;
  color:#4f5a51;
  font-size:.9rem;
  line-height:1.55;
}

.sfw-warning-box {
  margin-top:20px;
  padding:20px 22px;
}
.sfw-warning-box h3 {
  font-size:1.25rem;
}
.sfw-warning-box p {
  line-height:1.58;
}

.sfw-delivery-closing {
  margin-top:32px;
  padding-top:28px;
  border-top:1px solid var(--sfw-border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.sfw-delivery-closing p {
  margin:0;
  max-width:650px;
  color:var(--sfw-muted);
  line-height:1.6;
}

@media(max-width:760px) {
  .sfw-delivery-postcodes--early { padding:22px 18px; }
  .sfw-delivery-closing {
    align-items:flex-start;
    flex-direction:column;
  }
}


/* ============================================================
   v0.4.7 — Checkout refinement
   ============================================================ */

body.sfw-woo-shell.woocommerce-checkout .entry-hero,
body.sfw-woo-shell.woocommerce-checkout .kadence-page-title,
body.sfw-woo-shell.woocommerce-checkout .page-header {
  display:none !important;
}

.sfw-checkout-intro {
  background:var(--sfw-cream);
  border-bottom:1px solid var(--sfw-border);
}
.sfw-checkout-intro__inner {
  width:var(--sfw-wrap);
  margin:auto;
  padding:38px 0 36px;
}
.sfw-checkout-intro__top {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
}
.sfw-checkout-intro h1 {
  margin:0;
  color:var(--sfw-green);
  font:400 clamp(2.2rem,4vw,3.4rem)/1.05 var(--sfw-serif);
  letter-spacing:-.025em;
}
.sfw-checkout-intro p {
  margin:8px 0 0;
  color:var(--sfw-muted);
  font-size:.94rem;
}
.sfw-checkout-progress {
  margin-top:26px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  max-width:680px;
}
.sfw-checkout-progress__step {
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--sfw-muted);
  font-size:.78rem;
  font-weight:700;
}
.sfw-checkout-progress__step:after {
  content:"";
  position:absolute;
  top:16px;
  left:36px;
  right:-10px;
  height:1px;
  background:#d8d1c7;
  z-index:0;
}
.sfw-checkout-progress__step:last-child:after { display:none; }
.sfw-checkout-progress__num {
  position:relative;
  z-index:1;
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:1px solid #cfc8bd;
  background:#fff;
  color:var(--sfw-green);
}
.sfw-checkout-progress__step.is-done,
.sfw-checkout-progress__step.is-active { color:var(--sfw-green); }
.sfw-checkout-progress__step.is-done .sfw-checkout-progress__num,
.sfw-checkout-progress__step.is-active .sfw-checkout-progress__num {
  background:var(--sfw-green);
  border-color:var(--sfw-green);
  color:#fff;
}

.sfw-checkout-delivery {
  margin-top:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  max-width:760px;
  padding:15px 17px;
  background:#edf4ee;
  border:1px solid #dce7de;
  border-radius:6px;
  color:var(--sfw-green);
}
.sfw-checkout-delivery__label {
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:800;
}
.sfw-checkout-delivery__value {
  font-size:.9rem;
  font-weight:700;
  text-align:right;
}

/* WooCommerce Blocks checkout container */
body.sfw-woo-shell.woocommerce-checkout .content-area,
body.sfw-woo-shell.woocommerce-checkout .site-main {
  background:var(--sfw-cream-2);
}
body.sfw-woo-shell.woocommerce-checkout .site-main {
  padding-top:44px !important;
  padding-bottom:86px !important;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-checkout {
  max-width:1120px;
  margin:0 auto;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-checkout__main {
  padding-right:32px;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-checkout__sidebar {
  align-self:start;
  position:sticky;
  top:24px;
}

/* Main checkout sections */
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-checkout-step {
  margin:0 0 18px;
  padding:26px 28px;
  background:#fff;
  border:1px solid var(--sfw-border);
  border-radius:8px;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-checkout-step__heading {
  margin-bottom:18px;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-checkout-step__title {
  color:var(--sfw-green);
  font:400 1.55rem/1.15 var(--sfw-serif);
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-checkout-step__description {
  color:var(--sfw-muted);
  font-size:.86rem;
}

/* Inputs */
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-text-input input,
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-address-form__country .wc-block-components-combobox-control input {
  min-height:52px !important;
  border:1px solid #d5cec3 !important;
  border-radius:5px !important;
  background:#fff !important;
  box-shadow:none !important;
  color:var(--sfw-ink) !important;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-text-input label,
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-combobox label {
  color:#5c625b !important;
}
body.sfw-woo-shell.woocommerce-checkout input:focus,
body.sfw-woo-shell.woocommerce-checkout textarea:focus,
body.sfw-woo-shell.woocommerce-checkout select:focus {
  outline:2px solid rgba(23,61,44,.13) !important;
  outline-offset:1px;
  border-color:var(--sfw-green) !important;
}

/* Shipping/payment option panels */
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-radio-control,
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-shipping-rates-control,
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-totals-wrapper {
  border-color:var(--sfw-border) !important;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-shipping-rates-control__package,
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
  background:#fff;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control {
  border:1px solid var(--sfw-border);
  border-radius:7px;
  overflow:hidden;
}

/* Order summary */
body.sfw-woo-shell.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-sidebar-layout {
  background:transparent;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-order-summary,
body.sfw-woo-shell.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  background:#fff;
  border:1px solid var(--sfw-border);
  border-radius:8px;
  overflow:hidden;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-order-summary__button-text,
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
body.sfw-woo-shell.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-text {
  color:var(--sfw-green);
  font:400 1.38rem/1.2 var(--sfw-serif);
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  border-radius:5px;
  object-fit:contain;
  background:#faf7f2;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
  color:var(--sfw-green);
  font-weight:700;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-totals-item__label,
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-totals-item__value {
  color:var(--sfw-ink);
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size:1.18rem;
  font-weight:800;
}

/* Primary checkout CTA */
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-button:not(.is-link) {
  min-height:54px !important;
  border-radius:5px !important;
  background:var(--sfw-green) !important;
  color:#fff !important;
  border:0 !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  letter-spacing:.035em;
  text-transform:uppercase;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-button:not(.is-link):hover {
  background:#0f2f22 !important;
}

/* Coupon + secondary controls */
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-panel__button,
body.sfw-woo-shell.woocommerce-checkout .wc-block-components-totals-coupon-link {
  color:var(--sfw-green) !important;
}

/* Remove excessive whitespace around checkout block */
body.sfw-woo-shell.woocommerce-checkout .wp-block-woocommerce-checkout {
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* Mobile checkout */
@media(max-width:900px) {
  .sfw-checkout-intro__top { align-items:flex-start; flex-direction:column; }
  body.sfw-woo-shell.woocommerce-checkout .wc-block-checkout__main { padding-right:0; }
  body.sfw-woo-shell.woocommerce-checkout .wc-block-checkout__sidebar {
    position:static;
    margin-top:24px;
  }
}
@media(max-width:680px) {
  .sfw-checkout-intro__inner { padding:30px 0; }
  .sfw-checkout-progress { max-width:none; }
  .sfw-checkout-progress__step { font-size:.67rem; gap:6px; }
  .sfw-checkout-progress__num { width:29px; height:29px; flex-basis:29px; }
  .sfw-checkout-progress__step:after { top:14px; left:32px; }
  .sfw-checkout-delivery {
    align-items:flex-start;
    flex-direction:column;
  }
  .sfw-checkout-delivery__value { text-align:left; }
  body.sfw-woo-shell.woocommerce-checkout .wc-block-components-checkout-step {
    padding:22px 18px;
  }
}


/* ============================================================
   v0.4.8 — Checkout corrective pass
   ============================================================ */

/* Keep checkout intro compact and pull form closer to it. */
body.sfw-woo-shell.woocommerce-checkout .sfw-checkout-intro__inner {
  padding-top:34px;
  padding-bottom:30px;
}
body.sfw-woo-shell.woocommerce-checkout .site-main {
  padding-top:24px !important;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-checkout {
  margin-top:0 !important;
}

/* Progress: circles above labels so the connector can never cross text. */
.sfw-checkout-progress {
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  max-width:620px;
  margin-top:24px;
}
.sfw-checkout-progress:before {
  content:"";
  position:absolute;
  top:16px;
  left:16.66%;
  right:16.66%;
  height:1px;
  background:#d5cec3;
  z-index:0;
}
.sfw-checkout-progress__step {
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  text-align:center;
  background:transparent;
}
.sfw-checkout-progress__step:after { display:none !important; }
.sfw-checkout-progress__num {
  width:33px;
  height:33px;
  flex:0 0 33px;
  background:#fff;
}
.sfw-checkout-progress__step > span:last-child {
  display:block;
  padding:0 7px;
  background:var(--sfw-cream);
  line-height:1.2;
}

/* Delivery selection banner, more compact. */
.sfw-checkout-delivery {
  max-width:760px;
  margin-top:20px;
  padding:13px 16px;
}

/* Remove generic WooCommerce product excerpt from checkout summary. */
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-order-summary-item__description > p,
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-product-metadata,
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-order-summary-item__description .wc-block-components-product-details {
  display:none !important;
}
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-order-summary-item__description {
  padding-right:8px;
}
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-order-summary-item__image {
  width:58px !important;
}
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-order-summary-item__image img {
  width:58px !important;
  height:58px !important;
  padding:4px;
}

/* Make summary cleaner and less cramped. */
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-order-summary-item {
  padding:16px !important;
}
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-order-summary-item__total-price {
  font-weight:800;
}
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-order-summary-item__quantity {
  background:var(--sfw-green) !important;
  color:#fff !important;
  border:0 !important;
}

/* Shipping panel should not look like a disabled grey error state. */
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-shipping-rates-control__package:not(:has(input)) {
  background:#f7f4ee;
  color:var(--sfw-muted);
}

/* Notes field should look like an intentional optional delivery note. */
body.sfw-woo-shell.woocommerce-checkout
.wc-block-checkout__add-note {
  margin-top:4px;
}

/* Browser password-manager UI is external; keep postcode input clear beneath it. */
body.sfw-woo-shell.woocommerce-checkout input[autocomplete="postal-code"] {
  padding-right:42px !important;
}

@media(max-width:680px) {
  .sfw-checkout-progress:before {
    left:16.66%;
    right:16.66%;
    top:14px;
  }
  .sfw-checkout-progress__num {
    width:29px;
    height:29px;
    flex-basis:29px;
  }
}


/* ============================================================
   v0.4.9 — Checkout polish
   ============================================================ */

/* Pull checkout content closer to the delivery confirmation. */
body.sfw-woo-shell.woocommerce-checkout .site-main {
  padding-top:10px !important;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-checkout {
  padding-top:0 !important;
}

/* Slightly larger product image in checkout summary. */
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-order-summary-item__image {
  width:70px !important;
}
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-order-summary-item__image img {
  width:70px !important;
  height:70px !important;
  padding:5px;
}

/* Keep per-unit pricing visually subordinate. */
body.sfw-woo-shell.woocommerce-checkout
.sfw-checkout-unit-line {
  margin-top:3px;
  color:var(--sfw-muted);
  font-size:.78rem;
  line-height:1.35;
}

/* Hide coupon UI for now. */
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-totals-coupon,
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-panel:has(.wc-block-components-totals-coupon),
body.sfw-woo-shell.woocommerce-checkout
.wc-block-components-totals-coupon-link {
  display:none !important;
}

/* Delivery details injected into checkout summary. */
.sfw-checkout-summary-delivery {
  margin:0;
  padding:15px 16px;
  border-top:1px solid var(--sfw-border);
  background:#f7f4ee;
}
.sfw-checkout-summary-delivery__row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:5px 0;
  font-size:.82rem;
}
.sfw-checkout-summary-delivery__row span:first-child {
  color:var(--sfw-muted);
}
.sfw-checkout-summary-delivery__row strong {
  color:var(--sfw-green);
  text-align:right;
}

/* Delivery notes helper copy. */
.sfw-delivery-note-help {
  display:block;
  margin-top:6px;
  color:var(--sfw-muted);
  font-size:.75rem;
  line-height:1.45;
}

/* Phone requirement hint */
.sfw-phone-required-note {
  display:block;
  margin-top:4px;
  color:var(--sfw-green);
  font-size:.72rem;
  font-weight:700;
}


/* v0.4.10 homepage content refinement */
.sfw-quality-section {
  border-top:1px solid var(--sfw-border);
}
.sfw-quality-grid {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:54px;
  align-items:start;
}
.sfw-quality-list {
  margin:22px 0 0;
  padding:0;
  list-style:none;
}
.sfw-quality-list li {
  position:relative;
  margin:0 0 13px;
  padding-left:27px;
  color:var(--sfw-ink);
  line-height:1.55;
}
.sfw-quality-list li:before {
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--sfw-green);
  font-weight:900;
}
.sfw-sister-panel {
  padding:28px 30px;
  border-left:3px solid var(--sfw-green);
  background:#f7f4ee;
}
.sfw-sister-panel h3 {
  margin:0 0 10px;
  color:var(--sfw-green);
  font:400 1.55rem/1.2 var(--sfw-serif);
}
.sfw-sister-panel p {
  margin:0;
  color:var(--sfw-muted);
  line-height:1.7;
}
@media(max-width:800px){
  .sfw-quality-grid { grid-template-columns:1fr; gap:28px; }
}


/* v0.4.11 — Mobile/header/newsletter usability */
.sfw-mail__form-wrap { width:100%; }
.sfw-mail__form-wrap .mc4wp-form { margin:0; }
.sfw-mail__form-wrap .mc4wp-form-fields {
  display:grid; grid-template-columns:1fr 110px; gap:0; margin:0;
}
.sfw-mail__form-wrap .mc4wp-form-fields p { display:contents; margin:0; }
.sfw-mail__form-wrap .mc4wp-form-fields label { display:none; }
.sfw-mail__form-wrap .mc4wp-form-fields input[type="email"],
.sfw-mail__form-wrap .mc4wp-form-fields input[type="text"] {
  width:100%; min-width:0; height:44px; margin:0; padding:0 13px;
  border:1px solid var(--sfw-border); border-radius:4px 0 0 4px;
  background:#fff; color:var(--sfw-ink); box-shadow:none;
}
.sfw-mail__form-wrap .mc4wp-form-fields input[type="submit"],
.sfw-mail__form-wrap .mc4wp-form-fields button {
  min-height:44px; margin:0; padding:0 16px; border:0;
  border-radius:0 4px 4px 0; background:var(--sfw-green); color:#fff;
  font-size:.75rem; font-weight:800; letter-spacing:.035em; text-transform:uppercase; cursor:pointer;
}
.sfw-mail__form-wrap .mc4wp-response { margin-top:7px; font-size:.76rem; line-height:1.45; }
.sfw-mail__form-wrap .mc4wp-success { color:var(--sfw-green); }
.sfw-mail__form-wrap .mc4wp-error { color:#a0382e; }
.sfw-mail__fallback { margin:0; color:var(--sfw-muted); font-size:.78rem; }

@media (max-width:800px) {
  .sfw-header__main { height:68px; grid-template-columns:145px 1fr; gap:12px; }

  .sfw-mobile-toggle {
    display:inline-flex !important; width:44px; height:44px; justify-self:end;
    align-items:center; justify-content:center; padding:0; position:relative;
    border:1px solid #d9d2c7 !important; border-radius:5px;
    background:#fff !important; color:var(--sfw-green) !important;
    font-size:0 !important; line-height:1; cursor:pointer;
  }
  .sfw-mobile-toggle:before,
  .sfw-mobile-toggle:after,
  .sfw-mobile-toggle span {
    content:""; display:block; width:20px; height:2px;
    background:var(--sfw-green); border-radius:2px; position:absolute;
  }
  .sfw-mobile-toggle:before { transform:translateY(-6px); }
  .sfw-mobile-toggle:after { transform:translateY(6px); }
  .sfw-mobile-toggle span { transform:none; }
  .sfw-header.is-open .sfw-mobile-toggle:before { transform:rotate(45deg); }
  .sfw-header.is-open .sfw-mobile-toggle:after { transform:rotate(-45deg); }
  .sfw-header.is-open .sfw-mobile-toggle span { opacity:0; }

  .sfw-nav { top:68px; padding:10px 18px 18px; gap:0; }
  .sfw-nav a { width:100%; padding:12px 0; border-bottom:1px solid #eee8df; }
  .sfw-nav a:last-child { border-bottom:0; }

  .sfw-trustbar__inner { grid-template-columns:1fr 1fr; gap:0; padding:0; }
  .sfw-trustbar__item {
    min-height:34px; padding:7px 10px; justify-content:flex-start; text-align:left;
    font-size:.62rem; line-height:1.25; border-bottom:1px solid rgba(255,255,255,.09);
  }
  .sfw-trustbar__item:nth-child(odd) { border-right:1px solid rgba(255,255,255,.09); }
  .sfw-trustbar__item svg { width:13px; height:13px; }
}

@media (max-width:520px) {
  .sfw-trustbar__inner { grid-template-columns:1fr; }
  .sfw-trustbar__item { justify-content:center; text-align:center; border-right:0 !important; }
  .sfw-trustbar__item:nth-child(3),
  .sfw-trustbar__item:nth-child(4) { display:none; }

  .sfw-mail__grid { gap:20px; }
  .sfw-mail__form-wrap .mc4wp-form-fields { grid-template-columns:1fr; gap:8px; }
  .sfw-mail__form-wrap .mc4wp-form-fields input[type="email"],
  .sfw-mail__form-wrap .mc4wp-form-fields input[type="text"],
  .sfw-mail__form-wrap .mc4wp-form-fields input[type="submit"],
  .sfw-mail__form-wrap .mc4wp-form-fields button { border-radius:4px; }
}


/* ============================================================
   v0.4.12 — Responsive + footer/newsletter cleanup
   ============================================================ */

/* NEWSLETTER
   Keep the site copy as the visual hierarchy. MC4WP should contribute only
   the actual form controls, not its sample/demo headings and paragraphs. */
.sfw-mail {
  padding:28px 0;
}
.sfw-mail__grid {
  min-height:0;
  grid-template-columns:1.05fr 1.15fr .9fr;
  gap:42px;
  align-items:center;
}
.sfw-mail__grid > div {
  min-width:0;
}
.sfw-mail h3 {
  font-size:1.18rem;
}
.sfw-mail__form-wrap {
  min-width:0;
}
.sfw-mail__form-wrap .mc4wp-form,
.sfw-mail__form-wrap .mc4wp-form-fields {
  width:100%;
}
.sfw-mail__form-wrap .mc4wp-form-fields {
  display:grid;
  grid-template-columns:minmax(0,1fr) 104px;
  gap:0;
  align-items:stretch;
}
.sfw-mail__form-wrap .mc4wp-form-fields > h1,
.sfw-mail__form-wrap .mc4wp-form-fields > h2,
.sfw-mail__form-wrap .mc4wp-form-fields > h3,
.sfw-mail__form-wrap .mc4wp-form-fields > h4,
.sfw-mail__form-wrap .mc4wp-form-fields > h5,
.sfw-mail__form-wrap .mc4wp-form-fields > h6,
.sfw-mail__form-wrap .mc4wp-form-fields > p:not(:has(input)):not(:has(button)) {
  display:none !important;
}
.sfw-mail__form-wrap .mc4wp-form-fields p {
  margin:0;
}
.sfw-mail__form-wrap .mc4wp-form-fields p:has(input[type="email"]),
.sfw-mail__form-wrap .mc4wp-form-fields p:has(input[type="text"]) {
  display:block;
  grid-column:1;
}
.sfw-mail__form-wrap .mc4wp-form-fields p:has(input[type="submit"]),
.sfw-mail__form-wrap .mc4wp-form-fields p:has(button) {
  display:block;
  grid-column:2;
}
.sfw-mail__form-wrap .mc4wp-form-fields input[type="email"],
.sfw-mail__form-wrap .mc4wp-form-fields input[type="text"] {
  height:44px;
  border-radius:4px 0 0 4px;
}
.sfw-mail__form-wrap .mc4wp-form-fields input[type="submit"],
.sfw-mail__form-wrap .mc4wp-form-fields button {
  width:100%;
  height:44px;
  border-radius:0 4px 4px 0;
}
.sfw-mail__fallback {
  padding:10px 12px;
  border:1px solid var(--sfw-border);
  border-radius:5px;
  background:var(--sfw-cream-2);
  color:var(--sfw-muted);
}
.sfw-sisters__names {
  gap:18px;
  flex-wrap:wrap;
  line-height:1.35;
}

/* FOOTER */
.sfw-footer {
  padding-top:40px;
}
.sfw-footer__grid {
  grid-template-columns:1.25fr .82fr .82fr 1.18fr 1fr;
  gap:24px;
  align-items:start;
}
.sfw-footer__grid > div {
  min-width:0;
}
.sfw-footer p,
.sfw-footer li,
.sfw-footer a {
  overflow-wrap:anywhere;
}
.sfw-footer__bottom {
  margin-top:24px;
}

/* CONTACT: the details card should not stretch to match the form. */
.sfw-contact-grid {
  align-items:start;
}
.sfw-contact-grid > .sfw-panel {
  align-self:start;
  height:auto;
}

/* Slightly tighter desktop content rhythm. */
.sfw-order-shell {
  padding-bottom:64px;
}
.sfw-page-hero {
  padding:58px 0;
}
.sfw-faq {
  padding:18px 0;
}

/* Give the open mobile menu an explicit layer above the reassurance bar. */
@media (max-width:1020px) {
  .sfw-footer__grid {
    grid-template-columns:1.2fr 1fr 1fr;
    gap:30px 36px;
  }
}

@media (max-width:800px) {
  .sfw-header {
    z-index:100;
  }
  .sfw-nav {
    z-index:120;
    box-shadow:0 14px 26px rgba(18,30,23,.12);
  }
  .sfw-trustbar {
    position:relative;
    z-index:20;
  }

  .sfw-page-hero {
    padding:44px 0;
  }
  .sfw-page-hero .sfw-title {
    font-size:clamp(2.35rem,9vw,3.45rem);
    line-height:1.02;
  }

  .sfw-hero__copy {
    padding:42px 0 18px;
  }
  .sfw-hero__visual {
    min-height:300px;
    padding-bottom:30px;
  }

  .sfw-mail {
    padding:26px 0;
  }
  .sfw-mail__grid {
    grid-template-columns:1fr 1fr;
    gap:24px 30px;
    align-items:start;
  }
  .sfw-sisters {
    grid-column:1 / -1;
    text-align:left;
  }
  .sfw-sisters__names {
    justify-content:flex-start;
  }

  .sfw-footer__grid {
    grid-template-columns:1fr 1fr;
    gap:30px 38px;
  }
}

@media (max-width:580px) {
  .sfw-section {
    padding:52px 0;
  }
  .sfw-title {
    font-size:clamp(2.5rem,13vw,3.65rem);
    line-height:1.01;
  }
  .sfw-heading {
    font-size:clamp(1.9rem,9vw,2.55rem);
  }

  .sfw-mail__grid {
    grid-template-columns:1fr;
    gap:20px;
  }
  .sfw-sisters {
    grid-column:auto;
  }
  .sfw-mail__form-wrap .mc4wp-form-fields {
    grid-template-columns:1fr;
    gap:8px;
  }
  .sfw-mail__form-wrap .mc4wp-form-fields p:has(input[type="email"]),
  .sfw-mail__form-wrap .mc4wp-form-fields p:has(input[type="text"]),
  .sfw-mail__form-wrap .mc4wp-form-fields p:has(input[type="submit"]),
  .sfw-mail__form-wrap .mc4wp-form-fields p:has(button) {
    grid-column:1;
  }
  .sfw-mail__form-wrap .mc4wp-form-fields input[type="email"],
  .sfw-mail__form-wrap .mc4wp-form-fields input[type="text"],
  .sfw-mail__form-wrap .mc4wp-form-fields input[type="submit"],
  .sfw-mail__form-wrap .mc4wp-form-fields button {
    border-radius:4px;
  }

  .sfw-footer__grid {
    grid-template-columns:1fr;
    gap:26px;
  }
  .sfw-footer__bottom {
    gap:8px;
  }
}


/* v0.4.13 — homepage hero and sister-company credibility update */
.sfw-sister-panel__image {
  margin:18px 0 0;
}
.sfw-sister-panel__image img {
  display:block;
  width:100%;
  height:auto;
  border-radius:4px;
  border:1px solid var(--sfw-border);
}


/* v0.4.15 — enlarge The Fire Place logo tile artwork for better balance */
.sfw-sisters__logos {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  width:100%;
  max-width:330px;
  margin:0 auto;
}
.sfw-sister-logo {
  min-width:0;
  height:76px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#202422;
  border:1px solid #303632;
  border-radius:5px;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.sfw-sister-logo:hover,
.sfw-sister-logo:focus-visible {
  transform:translateY(-1px);
  border-color:#4d5b52;
  box-shadow:0 5px 14px rgba(18,30,23,.12);
}
.sfw-sister-logo img {
  display:block;
  max-width:100%;
  max-height:58px;
  width:auto;
  height:auto;
  object-fit:contain;
}
/* The supplied Fire Place artwork is black, so invert it on the dark tile. */

.sfw-sister-logo--fireplace {
  padding:8px 10px;
}
.sfw-sister-logo--fireplace img {
  filter:brightness(0) invert(1);
  max-height:62px;
}
.sfw-sister-logo--sol img {
  max-height:60px;
}

@media(max-width:800px) {
  .sfw-sisters__logos {
    margin-left:0;
    margin-right:0;
  }
}
@media(max-width:580px) {
  .sfw-sisters__logos {
    grid-template-columns:1fr 1fr;
    max-width:360px;
  }
  .sfw-sister-logo {
    height:72px;
    padding:9px 10px;
  }
}
@media(max-width:390px) {
  .sfw-sisters__logos {
    grid-template-columns:1fr;
    max-width:230px;
  }
}


/* v0.4.16 — make WooCommerce delivery/order notes visibly editable */
body.sfw-woo-shell.woocommerce-checkout .wc-block-checkout__add-note textarea,
body.sfw-woo-shell.woocommerce-checkout textarea[placeholder*="note" i],
body.sfw-woo-shell.woocommerce-checkout textarea[aria-label*="note" i] {
  width:100% !important;
  min-height:132px !important;
  margin-top:12px !important;
  padding:14px 16px !important;
  border:1px solid var(--sfw-border) !important;
  border-radius:5px !important;
  background:#fff !important;
  color:var(--sfw-ink) !important;
  line-height:1.5 !important;
  resize:vertical !important;
  box-shadow:none !important;
}
body.sfw-woo-shell.woocommerce-checkout .wc-block-checkout__add-note textarea:focus,
body.sfw-woo-shell.woocommerce-checkout textarea[placeholder*="note" i]:focus,
body.sfw-woo-shell.woocommerce-checkout textarea[aria-label*="note" i]:focus {
  border-color:var(--sfw-green) !important;
  outline:2px solid rgba(20,76,55,.12) !important;
  outline-offset:1px !important;
}


/* v0.4.17 — real always-visible checkout delivery notes field */
body.sfw-woo-shell.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block {
  display:none !important;
}
body.sfw-woo-shell.woocommerce-checkout .sfw-delivery-notes-field {
  margin:18px 0 20px;
  padding:26px 28px;
  border:1px solid var(--sfw-border);
  border-radius:6px;
  background:#fff;
}
body.sfw-woo-shell.woocommerce-checkout .sfw-delivery-notes-field label {
  display:block;
  margin:0 0 8px;
  color:var(--sfw-ink);
  font-size:1rem;
  font-weight:600;
}
body.sfw-woo-shell.woocommerce-checkout .sfw-delivery-notes-field .sfw-delivery-note-help {
  margin:0 0 14px;
  font-size:.84rem;
}
body.sfw-woo-shell.woocommerce-checkout .sfw-delivery-notes-field textarea {
  display:block !important;
  width:100% !important;
  min-height:132px !important;
  margin:0 !important;
  padding:14px 16px !important;
  border:1px solid var(--sfw-border) !important;
  border-radius:5px !important;
  background:#fff !important;
  color:var(--sfw-ink) !important;
  font:inherit !important;
  line-height:1.5 !important;
  resize:vertical !important;
  box-shadow:none !important;
}
body.sfw-woo-shell.woocommerce-checkout .sfw-delivery-notes-field textarea:focus {
  border-color:var(--sfw-green) !important;
  outline:2px solid rgba(20,76,55,.12) !important;
  outline-offset:1px !important;
}
@media(max-width:580px) {
  body.sfw-woo-shell.woocommerce-checkout .sfw-delivery-notes-field {
    padding:20px 18px;
  }
}


/* v0.4.18 — checkout delivery-notes reliability */
body.sfw-woo-shell.woocommerce-checkout .sfw-delivery-notes-field {
  display:block !important;
}
body.sfw-woo-shell.woocommerce-checkout .sfw-delivery-notes-field textarea {
  visibility:visible !important;
  opacity:1 !important;
}


/* v0.4.19 — homepage section spacing + simplified S site icon */
.sfw-quality-section {
  padding-bottom:44px;
}
.sfw-how-section {
  padding-top:44px;
}
@media (max-width:800px) {
  .sfw-quality-section { padding-bottom:36px; }
  .sfw-how-section { padding-top:36px; }
}
@media (max-width:580px) {
  .sfw-quality-section { padding-bottom:30px; }
  .sfw-how-section { padding-top:30px; }
}


/* ============================================================
   v0.4.20 — WooCommerce introductory-offer price treatment
   Dynamic: uses Woo regular/sale prices; no hard-coded amounts.
   ============================================================ */
.sfw-offer-label,
.sfw-product-offer-label {
  display:block;
  margin:0 0 5px;
  color:var(--sfw-orange);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.sfw-sale-price,
.sfw-home-offer__price {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:8px 12px;
}
.sfw-sale-price del,
.sfw-home-offer__price del,
body.sfw-woo-shell.single-product .summary .price del {
  color:#8b8d88!important;
  font-size:.72em!important;
  font-weight:500!important;
  opacity:1!important;
  text-decoration-thickness:2px;
}
.sfw-sale-price ins,
.sfw-home-offer__price ins,
body.sfw-woo-shell.single-product .summary .price ins {
  color:var(--sfw-orange)!important;
  font-weight:800!important;
  text-decoration:none!important;
  background:none!important;
}
.sfw-save,
.sfw-product-save {
  color:var(--sfw-orange);
  font-size:.78rem;
  font-weight:800;
  white-space:nowrap;
}
.sfw-home-offer {
  margin:14px 0 13px;
}
.sfw-home-offer__price {
  font-size:1.25rem;
  color:var(--sfw-green);
  font-weight:800;
}
.sfw-home-offer__price ins { font-size:1.25em; }
.sfw-home-standard-price {
  margin:14px 0 13px;
  color:var(--sfw-green);
  font-size:1.15rem;
  font-weight:800;
}

/* Single WooCommerce product page — approved sale presentation. */
body.sfw-woo-shell.single-product div.product {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:56px;
  align-items:start;
}
body.sfw-woo-shell.single-product div.product .woocommerce-product-gallery,
body.sfw-woo-shell.single-product div.product .summary {
  width:auto!important;
  float:none!important;
  margin:0!important;
}
body.sfw-woo-shell.single-product div.product .woocommerce-product-gallery {
  padding:24px;
  border:1px solid var(--sfw-border);
  border-radius:7px;
  background:#fbf8f2;
}
body.sfw-woo-shell.single-product div.product .woocommerce-product-gallery img {
  object-fit:contain;
}
body.sfw-woo-shell.single-product .summary .product_title {
  margin:0 0 18px!important;
  color:var(--sfw-green)!important;
  font:400 clamp(2.45rem,4.2vw,4.1rem)/1.02 var(--sfw-serif)!important;
}
body.sfw-woo-shell.single-product .summary .woocommerce-product-details__short-description {
  color:var(--sfw-muted);
  font-size:1.03rem;
  line-height:1.7;
}
body.sfw-woo-shell.single-product .summary .price {
  margin:6px 0 4px!important;
  color:var(--sfw-green)!important;
  font-size:2.55rem!important;
  font-weight:800!important;
  line-height:1.08;
}
body.sfw-woo-shell.single-product .sfw-product-save {
  display:block;
  margin:4px 0 22px;
}
body.sfw-woo-shell.single-product .onsale {
  top:18px!important;
  left:18px!important;
  min-width:0!important;
  min-height:0!important;
  padding:8px 12px!important;
  border-radius:4px!important;
  background:var(--sfw-orange)!important;
  color:#fff!important;
  font-size:.72rem!important;
  line-height:1!important;
  font-weight:800!important;
  text-transform:uppercase;
}
body.sfw-woo-shell.single-product .summary .cart {
  margin-top:24px!important;
  display:flex;
  gap:14px;
  align-items:stretch;
}
body.sfw-woo-shell.single-product .summary .quantity .qty {
  min-height:52px;
  border:1px solid var(--sfw-border);
  border-radius:5px;
}
body.sfw-woo-shell.single-product .summary .single_add_to_cart_button {
  min-height:52px!important;
  padding:0 30px!important;
  border-radius:5px!important;
  background:var(--sfw-orange)!important;
  color:#fff!important;
  font-weight:800!important;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.sfw-product-benefits {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin-top:10px;
  padding:24px 26px;
  border:1px solid var(--sfw-border);
  border-radius:7px;
  background:#fff;
}
.sfw-product-benefit {
  padding:0 22px;
  border-right:1px solid var(--sfw-border);
}
.sfw-product-benefit:first-child { padding-left:0; }
.sfw-product-benefit:last-child { border-right:0; padding-right:0; }
.sfw-product-benefit strong { display:block; color:var(--sfw-green); margin-bottom:4px; }
.sfw-product-benefit span { color:var(--sfw-muted); font-size:.87rem; line-height:1.5; }

@media(max-width:900px) {
  body.sfw-woo-shell.single-product div.product { grid-template-columns:1fr; gap:30px; }
  .sfw-product-benefits { grid-template-columns:1fr 1fr; gap:22px 0; }
  .sfw-product-benefit:nth-child(2) { border-right:0; }
  .sfw-product-benefit:nth-child(3) { padding-left:0; }
}
@media(max-width:580px) {
  body.sfw-woo-shell.single-product .summary .product_title { font-size:2.35rem!important; }
  body.sfw-woo-shell.single-product .summary .price { font-size:2rem!important; }
  body.sfw-woo-shell.single-product .summary .cart { flex-direction:column; }
  .sfw-product-benefits { grid-template-columns:1fr; }
  .sfw-product-benefit { padding:0 0 18px!important; border-right:0; border-bottom:1px solid var(--sfw-border); }
  .sfw-product-benefit:last-child { padding-bottom:0!important; border-bottom:0; }
}


/* ============================================================
   v0.4.21 — approved homepage offer hero
   ============================================================ */
.sfw-hero--offer .sfw-hero__grid {
  min-height:640px;
  align-items:center;
}
.sfw-hero--offer .sfw-hero__copy {
  padding:56px 0 54px;
}
.sfw-hero--offer .sfw-title {
  max-width:620px;
  font-size:clamp(4rem,5.6vw,6.45rem);
  line-height:.94;
  letter-spacing:-.035em;
}
.sfw-hero--offer .sfw-lead {
  max-width:620px;
  margin-top:22px;
}
.sfw-hero-offer {
  width:min(100%,520px);
  margin:22px 0 28px;
  padding:16px 20px 15px;
  border:1px solid var(--sfw-border);
  border-radius:5px;
  background:rgba(255,255,255,.55);
  box-shadow:0 2px 8px rgba(42,34,25,.035);
}
.sfw-hero-offer__label {
  position:relative;
  padding-left:24px;
  color:var(--sfw-orange);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.sfw-hero-offer__label:before {
  content:"";
  position:absolute;
  left:0;
  top:3px;
  width:13px;
  height:13px;
  border-radius:2px 2px 2px 6px;
  background:var(--sfw-orange);
  transform:rotate(45deg);
}
.sfw-hero-offer__prices {
  display:flex;
  align-items:baseline;
  gap:20px;
  margin-top:8px;
  flex-wrap:wrap;
}
.sfw-hero-offer__prices ins,
.sfw-hero-offer__prices del {
  text-decoration-thickness:2px;
}
.sfw-hero-offer__prices ins {
  color:var(--sfw-green);
  font-size:2.45rem;
  font-weight:800;
  text-decoration:none;
}
.sfw-hero-offer__prices del {
  color:#77736d;
  font-size:1.55rem;
  font-weight:700;
}
.sfw-hero-offer__prices > span {
  margin-left:auto;
  color:var(--sfw-orange);
  font-size:1.03rem;
  font-weight:700;
}
.sfw-hero-offer--standard .sfw-hero-offer__label:before { display:none; }
.sfw-hero-offer--standard .sfw-hero-offer__label { padding-left:0; color:var(--sfw-green); }

.sfw-hero--offer .sfw-checker { margin-top:0; }
.sfw-hero--offer .sfw-checker__row { width:min(100%,620px); }

.sfw-hero-trust {
  display:grid;
  grid-template-columns:1.2fr 1fr 1.05fr;
  width:min(100%,660px);
  margin-top:30px;
  border-top:1px solid rgba(24,73,52,.12);
  padding-top:18px;
}
.sfw-hero-trust__item {
  display:grid;
  grid-template-columns:52px 1fr;
  gap:12px;
  align-items:center;
  min-width:0;
  padding:0 16px;
  border-right:1px solid var(--sfw-border);
}
.sfw-hero-trust__item:first-child { padding-left:0; }
.sfw-hero-trust__item:last-child { border-right:0; padding-right:0; }
.sfw-hero-trust__item--rtb { grid-template-columns:58px 1fr; }
.sfw-hero-trust__item--rtb img { width:52px; height:52px; object-fit:contain; }
.sfw-hero-trust__icon {
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(24,73,52,.28);
  border-radius:50%;
  color:var(--sfw-green);
}
.sfw-hero-trust__icon svg { width:25px; height:25px; stroke:currentColor; }
.sfw-hero-trust__item strong {
  display:block;
  color:var(--sfw-green);
  font-size:.88rem;
  line-height:1.2;
}
.sfw-hero-trust__item span {
  display:block;
  margin-top:4px;
  color:var(--sfw-muted);
  font-size:.7rem;
  line-height:1.3;
}

.sfw-hero__visual--offer {
  position:relative;
  margin:44px 0;
  min-height:550px;
  border-radius:7px;
  overflow:visible;
}
.sfw-hero__visual--offer img {
  width:min(100%,650px);
  max-height:540px;
  border-radius:3px;
}
.sfw-hero-badge {
  position:absolute;
  z-index:3;
  top:22px;
  right:26px;
  width:118px;
  height:118px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.75);
  outline:1px dashed rgba(255,255,255,.5);
  outline-offset:-8px;
  border-radius:50%;
  background:var(--sfw-green);
  color:#fff;
  font-family:var(--sfw-serif);
  font-size:.7rem;
  line-height:1.15;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
  box-shadow:0 8px 20px rgba(20,47,35,.16);
}
.sfw-hero-badge strong { margin-top:3px; font-size:1.55rem; font-weight:400; letter-spacing:.02em; }

@media(max-width:1100px) {
  .sfw-hero--offer .sfw-title { font-size:clamp(3.7rem,6vw,5.5rem); }
  .sfw-hero-trust { grid-template-columns:1fr; gap:12px; }
  .sfw-hero-trust__item { border-right:0; border-bottom:1px solid var(--sfw-border); padding:0 0 12px; }
  .sfw-hero-trust__item:last-child { border-bottom:0; padding-bottom:0; }
}
@media(max-width:800px) {
  .sfw-hero--offer .sfw-hero__grid { min-height:0; }
  .sfw-hero--offer .sfw-hero__copy { padding:42px 0 20px; }
  .sfw-hero--offer .sfw-title { font-size:clamp(3rem,13vw,4.65rem); line-height:.98; }
  .sfw-hero-offer { margin:20px 0 24px; }
  .sfw-hero-offer__prices ins { font-size:2.1rem; }
  .sfw-hero-offer__prices del { font-size:1.3rem; }
  .sfw-hero__visual--offer { min-height:0; margin:10px 0 34px; padding-bottom:0; }
  .sfw-hero-badge { width:94px; height:94px; top:12px; right:12px; }
  .sfw-hero-badge strong { font-size:1.2rem; }
}
@media(max-width:520px) {
  .sfw-hero-offer__prices { gap:12px; }
  .sfw-hero-offer__prices > span { width:100%; margin-left:0; }
  .sfw-hero-trust { margin-top:24px; }
  .sfw-hero-badge { width:82px; height:82px; font-size:.58rem; }
  .sfw-hero-badge strong { font-size:1rem; }
}


/* ============================================================
   v0.4.22 — homepage hero correction pass
   ============================================================ */
.sfw-hero--offer .sfw-hero__grid {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:56px;
  min-height:620px;
}
.sfw-hero--offer .sfw-hero__copy {
  padding:54px 0 52px;
}
.sfw-hero--offer .sfw-title {
  max-width:570px;
  font-size:clamp(3.7rem,4.15vw,4.95rem);
  line-height:.98;
  letter-spacing:-.028em;
}
.sfw-hero--offer .sfw-lead {
  max-width:590px;
  margin-top:20px;
}

/* Clean price-tag icon instead of the previous rotated square. */
.sfw-hero-offer__label {
  display:flex;
  align-items:center;
  gap:9px;
  padding-left:0;
}
.sfw-hero-offer__label:before { display:none!important; }
.sfw-hero-offer__tag {
  display:inline-flex;
  width:17px;
  height:17px;
  color:var(--sfw-orange);
  flex:0 0 auto;
}
.sfw-hero-offer__tag svg { width:100%; height:100%; }

/* Give the reassurance points enough room to read as three deliberate columns. */
.sfw-hero-trust {
  grid-template-columns:1.18fr .95fr 1.18fr;
  width:min(100%,720px);
  gap:0;
  margin-top:28px;
  padding-top:18px;
}
.sfw-hero-trust__item,
.sfw-hero-trust__item--rtb {
  grid-template-columns:46px minmax(0,1fr);
  gap:11px;
  padding:0 17px;
  align-items:center;
}
.sfw-hero-trust__item:first-child { padding-left:0; }
.sfw-hero-trust__item--rtb img { width:44px; height:44px; }
.sfw-hero-trust__icon { width:43px; height:43px; }
.sfw-hero-trust__icon svg { width:22px; height:22px; }
.sfw-hero-trust__item strong {
  font-size:.79rem;
  line-height:1.16;
}
.sfw-hero-trust__item span {
  margin-top:4px;
  font-size:.66rem;
  line-height:1.28;
}

/* Right-side photography card based on the approved mockup. */
.sfw-hero__visual--offer {
  margin:38px 0;
  min-height:540px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:none;
}
.sfw-hero-photo-card {
  position:relative;
  width:min(100%,680px);
  padding:18px;
  background:#fbfaf6;
  border:1px solid rgba(207,197,184,.58);
  border-radius:9px;
  box-shadow:0 22px 44px rgba(42,34,25,.10);
}
.sfw-hero-photo-card > img {
  display:block;
  width:100%!important;
  height:510px;
  max-height:none!important;
  object-fit:cover;
  object-position:center 46%;
  border-radius:4px;
  filter:none!important;
}

/* Offer badge: physically attached to the image card and closer to the approved mockup. */
.sfw-hero-badge {
  top:24px;
  right:24px;
  width:108px;
  height:108px;
  border:2px solid #234f3b;
  outline:1px dashed rgba(255,255,255,.62);
  outline-offset:-8px;
  background:#154a35;
  box-shadow:0 8px 18px rgba(18,52,38,.18);
  font-size:.64rem;
  letter-spacing:.10em;
}
.sfw-hero-badge span {
  display:block;
  font-family:var(--sfw-sans);
  font-weight:700;
  font-size:.61rem;
  letter-spacing:.11em;
}
.sfw-hero-badge strong {
  margin-top:5px;
  font-family:var(--sfw-serif);
  font-size:1.45rem;
  line-height:1;
  font-weight:400;
  letter-spacing:.015em;
}

@media(max-width:1200px) {
  .sfw-hero--offer .sfw-title { font-size:clamp(3.45rem,5vw,4.45rem); }
  .sfw-hero-trust { width:100%; }
  .sfw-hero-trust__item { padding-left:12px; padding-right:12px; }
}
@media(max-width:980px) {
  .sfw-hero--offer .sfw-hero__grid { grid-template-columns:1fr; gap:12px; }
  .sfw-hero--offer .sfw-title { max-width:650px; }
  .sfw-hero-trust { grid-template-columns:repeat(3,1fr); }
  .sfw-hero__visual--offer { margin:4px 0 34px; min-height:0; }
  .sfw-hero-photo-card { width:min(100%,720px); }
}
@media(max-width:700px) {
  .sfw-hero--offer .sfw-title { font-size:clamp(2.85rem,12vw,4rem); }
  .sfw-hero-trust { grid-template-columns:1fr; gap:0; }
  .sfw-hero-trust__item {
    grid-template-columns:44px 1fr;
    border-right:0;
    border-bottom:1px solid var(--sfw-border);
    padding:11px 0;
  }
  .sfw-hero-trust__item:last-child { border-bottom:0; }
  .sfw-hero-photo-card { padding:10px; }
  .sfw-hero-photo-card > img { height:390px; }
  .sfw-hero-badge { width:88px; height:88px; top:16px; right:16px; }
  .sfw-hero-badge span { font-size:.49rem; }
  .sfw-hero-badge strong { font-size:1.12rem; }
}
@media(max-width:480px) {
  .sfw-hero-photo-card > img { height:320px; }
}


/* ============================================================
   v0.4.23 — approved hero refinement
   ============================================================ */

/* Slightly smaller H1 than v0.4.22. */
.sfw-hero--offer .sfw-title {
  max-width:560px;
  font-size:clamp(3.45rem,3.85vw,4.55rem);
  line-height:.985;
}

/* Make the offer box more compact and less dominant. */
.sfw-hero-offer {
  width:min(100%,500px);
  margin:20px 0 26px;
  padding:16px 20px;
}
.sfw-hero-offer__label {
  margin-bottom:10px;
  font-size:.78rem;
}
.sfw-hero-offer__tag {
  width:15px;
  height:15px;
}
.sfw-hero-offer__prices {
  gap:20px;
}
.sfw-hero-offer__prices ins {
  font-size:2.45rem;
  line-height:1;
}
.sfw-hero-offer__prices del {
  font-size:1.45rem;
}
.sfw-hero-offer__prices > span {
  font-size:.86rem;
}

/*
 * Use the exact approved mockup crop for the sale hero artwork. The artwork
 * already contains its white frame and introductory-offer badge, so no
 * separate CSS-built badge or extra card frame is needed.
 */
.sfw-hero-photo-card {
  width:min(100%,680px);
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.sfw-hero-photo-card > img {
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain;
  object-position:center;
  border-radius:0;
}
.sfw-hero-badge {
  display:none!important;
}

@media(max-width:1200px) {
  .sfw-hero--offer .sfw-title {
    font-size:clamp(3.25rem,4.6vw,4.2rem);
  }
}

@media(max-width:700px) {
  .sfw-hero--offer .sfw-title {
    font-size:clamp(2.65rem,10.8vw,3.7rem);
  }
  .sfw-hero-offer {
    width:100%;
    padding:14px 16px;
  }
  .sfw-hero-offer__prices ins {
    font-size:2.1rem;
  }
  .sfw-hero-offer__prices del {
    font-size:1.25rem;
  }
}


/* ============================================================
   v0.4.24 — WooCommerce Shop + Product page polish
   ============================================================ */

/* ---------- SHOP ARCHIVE ---------- */
body.sfw-woo-shell.post-type-archive-product .entry-hero,
body.sfw-woo-shell.woocommerce-shop .entry-hero,
body.sfw-woo-shell.post-type-archive-product .kadence-page-title,
body.sfw-woo-shell.woocommerce-shop .kadence-page-title {
  min-height:175px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f7f4ed!important;
}
body.sfw-woo-shell.woocommerce-shop .entry-hero .entry-title,
body.sfw-woo-shell.woocommerce-shop .page-title {
  font-size:clamp(2.6rem,4.2vw,3.7rem)!important;
}
body.sfw-woo-shell.woocommerce-shop .site-main {
  padding-top:48px;
  padding-bottom:86px;
}
body.sfw-woo-shell.woocommerce-shop .woocommerce-result-count {
  margin:0 0 26px!important;
}
body.sfw-woo-shell.woocommerce-shop .woocommerce-ordering {
  margin:0 0 26px!important;
}
body.sfw-woo-shell.woocommerce-shop .product-toggle-container,
body.sfw-woo-shell.woocommerce-shop .kadence-product-toggle,
body.sfw-woo-shell.woocommerce-shop .kt-product-toggle-wrap {
  display:none!important;
}

body.sfw-woo-shell.woocommerce-shop ul.products {
  grid-template-columns:repeat(auto-fit,minmax(270px,330px))!important;
  gap:28px!important;
  justify-content:start;
}
body.sfw-woo-shell.woocommerce-shop ul.products li.product {
  min-height:0;
  padding-bottom:24px!important;
  border-radius:8px;
  background:#fffdf9;
}
body.sfw-woo-shell.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link {
  display:block;
}
body.sfw-woo-shell.woocommerce-shop ul.products li.product a img {
  height:300px!important;
  margin:0 0 18px!important;
  padding:22px!important;
  background:#f7f3ec;
}
body.sfw-woo-shell.woocommerce-shop ul.products li.product .onsale {
  top:14px!important;
  left:auto!important;
  right:14px!important;
  min-width:0!important;
  min-height:0!important;
  padding:8px 11px!important;
  border-radius:4px!important;
  background:var(--sfw-orange)!important;
  color:#fff!important;
  font-size:.69rem!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.015em;
  text-transform:uppercase;
}
body.sfw-woo-shell.woocommerce-shop ul.products li.product .woocommerce-loop-product__title {
  margin-top:2px!important;
  margin-bottom:10px!important;
  font-size:1.55rem!important;
  line-height:1.16!important;
}
body.sfw-woo-shell.woocommerce-shop ul.products li.product .price {
  display:flex!important;
  align-items:baseline;
  gap:7px;
  margin-top:0!important;
  margin-bottom:17px!important;
  font-size:1.15rem!important;
}
body.sfw-woo-shell.woocommerce-shop ul.products li.product .price del {
  color:#8b8d88!important;
  font-size:.82em!important;
  font-weight:500!important;
  opacity:1!important;
}
body.sfw-woo-shell.woocommerce-shop ul.products li.product .price ins {
  color:var(--sfw-orange)!important;
  font-size:1.14em!important;
  font-weight:800!important;
  text-decoration:none!important;
  background:none!important;
}
body.sfw-woo-shell.woocommerce-shop ul.products li.product .sfw-loop-view-product {
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 20px!important;
  padding:0 20px!important;
  background:var(--sfw-orange)!important;
  color:#fff!important;
  border-radius:4px!important;
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.025em!important;
  text-transform:uppercase!important;
}

/* ---------- SINGLE PRODUCT ---------- */
body.sfw-woo-shell.single-product .site-main {
  padding-top:38px;
}
body.sfw-woo-shell.single-product .woocommerce-breadcrumb {
  margin:0 0 28px!important;
  color:#69716b;
  font-size:.84rem;
}
body.sfw-woo-shell.single-product .woocommerce-breadcrumb a {
  color:var(--sfw-green);
}
body.sfw-woo-shell.single-product div.product {
  grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr);
  gap:62px;
}
body.sfw-woo-shell.single-product div.product .woocommerce-product-gallery {
  padding:18px;
  border-radius:8px;
  background:#f7f3ec;
}
body.sfw-woo-shell.single-product div.product .woocommerce-product-gallery__image {
  background:#f7f3ec;
}
body.sfw-woo-shell.single-product div.product .woocommerce-product-gallery img {
  width:100%;
  max-height:600px;
  object-fit:contain;
}
body.sfw-woo-shell.single-product .summary {
  padding-top:4px;
}
body.sfw-woo-shell.single-product .summary .product_title {
  max-width:660px;
  margin-bottom:16px!important;
  font-size:clamp(2.8rem,4.15vw,4rem)!important;
  line-height:1.01!important;
}
body.sfw-woo-shell.single-product .summary .woocommerce-product-rating {
  margin:0 0 22px!important;
}
body.sfw-woo-shell.single-product .summary .star-rating {
  color:#efad2f!important;
}
body.sfw-woo-shell.single-product .summary .woocommerce-product-details__short-description,
body.sfw-woo-shell.single-product .summary .sfw-product-intro {
  max-width:620px;
  margin:0 0 27px!important;
  color:#666d68;
  font-size:1.08rem;
  line-height:1.65;
}
body.sfw-woo-shell.single-product .summary .woocommerce-product-details__short-description p,
body.sfw-woo-shell.single-product .summary .sfw-product-intro p {
  margin:0;
}
body.sfw-woo-shell.single-product .sfw-single-price-block {
  margin:0 0 22px;
}
body.sfw-woo-shell.single-product .sfw-product-offer-label {
  margin-bottom:8px;
  font-size:.8rem;
}
body.sfw-woo-shell.single-product .sfw-single-price-block .price {
  display:flex!important;
  align-items:baseline;
  flex-wrap:wrap;
  gap:12px 18px;
  margin:0!important;
  font-size:2.8rem!important;
}
body.sfw-woo-shell.single-product .sfw-single-price-block .price del {
  color:#8a8d88!important;
  font-size:.67em!important;
  font-weight:500!important;
}
body.sfw-woo-shell.single-product .sfw-single-price-block .price ins {
  color:var(--sfw-orange)!important;
  font-size:1em!important;
  font-weight:800!important;
  text-decoration:none!important;
  background:none!important;
}
body.sfw-woo-shell.single-product .sfw-product-save {
  display:block;
  margin:6px 0 0;
  color:var(--sfw-orange);
  font-size:.82rem;
  font-weight:800;
}
body.sfw-woo-shell.single-product .summary .cart {
  margin-top:20px!important;
}
body.sfw-woo-shell.single-product .summary .quantity {
  width:94px;
}
body.sfw-woo-shell.single-product .summary .quantity .qty {
  width:94px!important;
  min-height:54px!important;
  text-align:center;
  font-size:1rem;
  background:#fff;
}
body.sfw-woo-shell.single-product .summary .single_add_to_cart_button {
  min-width:245px;
  min-height:54px!important;
  padding:0 34px!important;
}
body.sfw-woo-shell.single-product .summary .product_meta {
  margin-top:22px!important;
  color:#7a807c;
  font-size:.8rem;
}
body.sfw-woo-shell.single-product .summary .product_meta a {
  color:var(--sfw-green);
}

body.sfw-woo-shell.single-product .sfw-product-benefits {
  margin-top:54px;
  padding:25px 28px;
  border-radius:8px;
}
body.sfw-woo-shell.single-product .sfw-product-benefit {
  display:flex;
  gap:14px;
  align-items:flex-start;
}
body.sfw-woo-shell.single-product .sfw-product-benefit__icon {
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--sfw-green);
}
body.sfw-woo-shell.single-product .sfw-product-benefit__icon svg {
  width:31px;
  height:31px;
  stroke:currentColor;
}
body.sfw-woo-shell.single-product .sfw-product-benefit strong {
  font-size:.94rem;
  margin-bottom:5px;
}
body.sfw-woo-shell.single-product .sfw-product-benefit span:not(.sfw-product-benefit__icon) {
  font-size:.83rem;
  line-height:1.45;
}

body.sfw-woo-shell.single-product .woocommerce-tabs {
  margin-top:62px!important;
}
body.sfw-woo-shell.single-product .woocommerce-tabs ul.tabs {
  margin-bottom:24px!important;
}
body.sfw-woo-shell.single-product .woocommerce-tabs ul.tabs li {
  border-color:var(--sfw-border)!important;
  background:#f8f6f1!important;
}
body.sfw-woo-shell.single-product .woocommerce-tabs ul.tabs li.active {
  background:#fff!important;
}
body.sfw-woo-shell.single-product .woocommerce-tabs .panel {
  max-width:900px;
}
body.sfw-woo-shell.single-product .woocommerce-tabs .panel > h2:first-child {
  color:var(--sfw-ink);
  font-size:1.55rem;
}

/* Keep single-product offer badge consistent with the approved mockup. */
body.sfw-woo-shell.single-product .onsale {
  top:15px!important;
  left:15px!important;
  right:auto!important;
  padding:9px 12px!important;
  border-radius:4px!important;
  background:var(--sfw-orange)!important;
  color:#fff!important;
  font-size:.7rem!important;
}

/* Remove unnecessary theme-level extra whitespace under Woo content. */
body.sfw-woo-shell.single-product .content-wrap,
body.sfw-woo-shell.woocommerce-shop .content-wrap {
  padding-top:0!important;
}

@media(max-width:1020px) {
  body.sfw-woo-shell.single-product div.product {
    gap:38px;
    grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);
  }
  body.sfw-woo-shell.single-product .summary .product_title {
    font-size:clamp(2.45rem,4.8vw,3.4rem)!important;
  }
}
@media(max-width:900px) {
  body.sfw-woo-shell.single-product div.product {
    grid-template-columns:1fr;
  }
  body.sfw-woo-shell.single-product .summary {
    padding-top:0;
  }
}
@media(max-width:680px) {
  body.sfw-woo-shell.woocommerce-shop .site-main {
    padding-top:34px;
  }
  body.sfw-woo-shell.woocommerce-shop ul.products {
    grid-template-columns:1fr!important;
  }
  body.sfw-woo-shell.woocommerce-shop ul.products li.product a img {
    height:280px!important;
  }
  body.sfw-woo-shell.single-product .site-main {
    padding-top:24px;
  }
  body.sfw-woo-shell.single-product .summary .product_title {
    font-size:2.45rem!important;
  }
  body.sfw-woo-shell.single-product .sfw-single-price-block .price {
    font-size:2.2rem!important;
  }
  body.sfw-woo-shell.single-product .summary .single_add_to_cart_button {
    width:100%;
    min-width:0;
  }
}


/* ============================================================
   v0.4.25 — Shop rebuild + product-page refinement
   ============================================================ */

/* Remove the oversized generic Woo/Kadence archive hero. */
body.sfw-woo-shell.woocommerce-shop .entry-hero,
body.sfw-woo-shell.woocommerce-shop .kadence-page-title,
body.sfw-woo-shell.woocommerce-shop .page-header {
  display:none!important;
}

body.sfw-woo-shell.woocommerce-shop .site-main {
  padding-top:54px!important;
  padding-bottom:80px!important;
}

/* Purpose-built shop heading inside the catalogue area. */
.sfw-shop-intro {
  max-width:760px;
  margin:0 auto 42px;
  text-align:center;
}
.sfw-shop-intro .sfw-kicker {
  margin-bottom:9px;
}
.sfw-shop-intro h1 {
  margin:0 0 12px;
  color:var(--sfw-green);
  font:400 clamp(2.55rem,4.2vw,3.7rem)/1 var(--sfw-serif);
}
.sfw-shop-intro > p:last-child {
  max-width:650px;
  margin:0 auto;
  color:var(--sfw-muted);
  font-size:1rem;
  line-height:1.65;
}

/* With one current product, catalogue controls add clutter rather than value. */
body.sfw-single-product-catalogue.woocommerce-shop .woocommerce-result-count,
body.sfw-single-product-catalogue.woocommerce-shop .woocommerce-ordering,
body.sfw-single-product-catalogue.woocommerce-shop .product-toggle-container,
body.sfw-single-product-catalogue.woocommerce-shop .kadence-product-toggle,
body.sfw-single-product-catalogue.woocommerce-shop .kt-product-toggle-wrap {
  display:none!important;
}

body.sfw-single-product-catalogue.woocommerce-shop ul.products {
  width:100%!important;
  max-width:430px;
  margin:0 auto!important;
  display:block!important;
}
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:1px solid var(--sfw-border)!important;
  border-radius:8px!important;
  overflow:hidden;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(28,44,34,.055);
}
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product a img {
  height:auto!important;
  aspect-ratio:1 / .88;
  object-fit:contain!important;
  padding:28px!important;
  margin:0!important;
  background:#f7f3ec!important;
}
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .woocommerce-loop-product__title {
  margin:24px 26px 10px!important;
  font-size:1.8rem!important;
  line-height:1.14!important;
}
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .price {
  margin:0 26px 10px!important;
  font-size:1.32rem!important;
}
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .price del {
  font-size:.82em!important;
}
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .price ins {
  color:var(--sfw-orange)!important;
  font-size:1.12em!important;
}
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .sfw-loop-view-product {
  width:calc(100% - 52px)!important;
  margin:12px 26px 26px!important;
  min-height:48px!important;
}

/* Add a concise product description to the one-card shop view. */
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .price:after {
  content:"Premium kiln-dried ash logs with low moisture, ready for a cleaner, hotter burn.";
  display:block;
  margin-top:12px;
  color:var(--sfw-muted);
  font-size:.86rem;
  font-weight:400;
  line-height:1.55;
}

/* Single product: slightly less dominant title and tighter summary rhythm. */
body.sfw-woo-shell.single-product .summary .product_title {
  max-width:610px;
  font-size:clamp(2.55rem,3.65vw,3.55rem)!important;
  line-height:1.025!important;
}
body.sfw-woo-shell.single-product .summary .woocommerce-product-details__short-description,
body.sfw-woo-shell.single-product .summary .sfw-product-intro {
  max-width:660px;
  margin-bottom:22px!important;
}
body.sfw-woo-shell.single-product .sfw-single-price-block {
  margin-bottom:18px;
}
body.sfw-woo-shell.single-product .summary .cart {
  margin-top:16px!important;
}

/* Description content should use more of the available page width. */
body.sfw-woo-shell.single-product .woocommerce-tabs .panel {
  max-width:1040px!important;
}
body.sfw-woo-shell.single-product .woocommerce-tabs .panel p {
  max-width:920px;
  line-height:1.72;
}

/* Pull tabs and lower content up slightly. */
body.sfw-woo-shell.single-product .woocommerce-tabs {
  margin-top:48px!important;
}

@media(max-width:680px) {
  .sfw-shop-intro {
    margin-bottom:30px;
    text-align:left;
  }
  body.sfw-single-product-catalogue.woocommerce-shop ul.products {
    max-width:100%;
  }
  body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .woocommerce-loop-product__title {
    margin-left:20px!important;
    margin-right:20px!important;
  }
  body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .price {
    margin-left:20px!important;
    margin-right:20px!important;
  }
  body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .sfw-loop-view-product {
    width:calc(100% - 40px)!important;
    margin-left:20px!important;
    margin-right:20px!important;
  }
  body.sfw-woo-shell.single-product .summary .product_title {
    font-size:2.35rem!important;
  }
}


/* ============================================================
   v0.4.26 — final one-product shop polish
   ============================================================ */

/* Kadence uses a few different wrappers for the grid/list switcher.
   Hide all catalogue-view toggles while this is a one-product shop. */
body.sfw-single-product-catalogue.woocommerce-shop .kadence-shop-top-row .kadence-product-toggle,
body.sfw-single-product-catalogue.woocommerce-shop .kadence-shop-top-row .product-toggle-container,
body.sfw-single-product-catalogue.woocommerce-shop .kadence-shop-top-row .kadence-product-toggle-container,
body.sfw-single-product-catalogue.woocommerce-shop .kadence-shop-top-row .kt-product-toggle-wrap,
body.sfw-single-product-catalogue.woocommerce-shop .kadence-shop-top-row [class*="product-toggle"],
body.sfw-single-product-catalogue.woocommerce-shop .products-toggle,
body.sfw-single-product-catalogue.woocommerce-shop .product-view-toggle,
body.sfw-single-product-catalogue.woocommerce-shop [class*="gridlist"],
body.sfw-single-product-catalogue.woocommerce-shop [class*="grid-list"],
body.sfw-single-product-catalogue.woocommerce-shop button[aria-label*="grid" i],
body.sfw-single-product-catalogue.woocommerce-shop button[aria-label*="list" i] {
  display:none!important;
}

/* If the now-empty shop toolbar remains, collapse it. */
body.sfw-single-product-catalogue.woocommerce-shop .kadence-shop-top-row:has(
  .woocommerce-result-count
):not(:has(.woocommerce-ordering:not([style*="display: none"]))) {
  min-height:0!important;
}

/* Make the single catalogue card feel intentional and substantial. */
body.sfw-single-product-catalogue.woocommerce-shop ul.products {
  max-width:520px!important;
}
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product {
  box-shadow:0 16px 38px rgba(28,44,34,.065)!important;
}
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product a img {
  aspect-ratio:1 / .86;
  padding:34px!important;
}
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .woocommerce-loop-product__title {
  margin:28px 30px 10px!important;
  font-size:1.95rem!important;
}
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .price {
  display:flex!important;
  align-items:baseline!important;
  gap:8px!important;
  margin:0 30px!important;
  font-size:1.4rem!important;
}

/* Disable the old pseudo-description that was sitting beside the price. */
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .price:after {
  content:none!important;
  display:none!important;
}

body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-copy {
  display:block;
  margin:14px 30px 0;
  color:var(--sfw-muted);
  font-size:.92rem;
  font-weight:400;
  line-height:1.6;
}
body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-cta {
  display:flex;
  width:calc(100% - 60px);
  min-height:48px;
  margin:20px 30px 30px;
  align-items:center;
  justify-content:center;
  border-radius:4px;
  background:var(--sfw-orange);
  color:#fff;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.025em;
  line-height:1;
  text-transform:uppercase;
}

/* The whole standard Woo product link remains clickable, so the CTA span
   acts visually as the button without nesting one anchor inside another. */
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link:hover .sfw-loop-card-cta {
  filter:brightness(.96);
}

/* Hide any legacy separate button from previous shop builds. */
body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-view-product {
  display:none!important;
}

/* Slightly tighten the space between intro and card after removing toolbar clutter. */
body.sfw-single-product-catalogue.woocommerce-shop .sfw-shop-intro {
  margin-bottom:34px;
}
body.sfw-single-product-catalogue.woocommerce-shop .kadence-shop-top-row,
body.sfw-single-product-catalogue.woocommerce-shop .shop-action-results {
  margin-bottom:0!important;
}

/* Leave individual product page exactly as approved in v0.4.25. */

@media(max-width:680px) {
  body.sfw-single-product-catalogue.woocommerce-shop ul.products {
    max-width:100%!important;
  }
  body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product a img {
    padding:24px!important;
  }
  body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .woocommerce-loop-product__title {
    margin:22px 20px 9px!important;
    font-size:1.7rem!important;
  }
  body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .price,
  body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-copy {
    margin-left:20px!important;
    margin-right:20px!important;
  }
  body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-cta {
    width:calc(100% - 40px);
    margin:18px 20px 24px;
  }
}


/* ============================================================
   v0.4.27 — order-flow product CTA, full-width description,
   and final shop hover/spacing cleanup
   ============================================================ */

/* SHOP: pull the entry content closer to the trust/header bar. */
body.sfw-woo-shell.woocommerce-shop .site-main {
  padding-top:24px!important;
}
body.sfw-single-product-catalogue.woocommerce-shop .sfw-shop-intro {
  margin-top:0!important;
  margin-bottom:28px!important;
}
body.sfw-single-product-catalogue.woocommerce-shop .kadence-shop-top-row,
body.sfw-single-product-catalogue.woocommerce-shop .shop-action-results {
  display:none!important;
}

/* One and only one real View product button. */
body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-cta {
  display:none!important;
}
body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-view-product {
  display:flex!important;
  width:calc(100% - 60px)!important;
  min-height:48px!important;
  margin:20px 30px 30px!important;
  padding:0 20px!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:4px!important;
  background:var(--sfw-orange)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.025em!important;
  line-height:1!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}
body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-view-product:hover,
body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-view-product:focus {
  background:var(--sfw-orange)!important;
  color:#fff!important;
  filter:brightness(.94);
  box-shadow:none!important;
}

/* Ensure no Woo/Kadence generated pseudo-button appears on hover. */
body.sfw-single-product-catalogue.woocommerce-shop li.product a.button:before,
body.sfw-single-product-catalogue.woocommerce-shop li.product a.button:after,
body.sfw-single-product-catalogue.woocommerce-shop li.product:hover a.button:before,
body.sfw-single-product-catalogue.woocommerce-shop li.product:hover a.button:after {
  content:none!important;
  display:none!important;
}

/* PRODUCT PAGE: use the delivery-aware Order Firewood flow, not direct cart add. */
body.sfw-woo-shell.single-product .sfw-product-order-cta {
  margin-top:18px;
}
body.sfw-woo-shell.single-product .sfw-product-order-link {
  display:inline-flex!important;
  min-width:245px;
  min-height:54px!important;
  align-items:center;
  justify-content:center;
  padding:0 34px!important;
  border:0!important;
  border-radius:4px!important;
  background:var(--sfw-orange)!important;
  color:#fff!important;
  font-size:.9rem!important;
  font-weight:800!important;
  letter-spacing:.025em;
  text-transform:uppercase;
  text-decoration:none!important;
  box-shadow:none!important;
}
body.sfw-woo-shell.single-product .sfw-product-order-link:hover,
body.sfw-woo-shell.single-product .sfw-product-order-link:focus {
  color:#fff!important;
  filter:brightness(.94);
}

/* There should be no quantity/add-to-cart form on this product page. */
body.sfw-woo-shell.single-product .summary form.cart {
  display:none!important;
}

/* Remove tabs/reviews presentation completely. */
body.sfw-woo-shell.single-product .woocommerce-tabs,
body.sfw-woo-shell.single-product .woocommerce-Tabs-panel,
body.sfw-woo-shell.single-product .wc-tabs-wrapper {
  display:none!important;
}

/* Full-width description beneath the benefits strip. */
body.sfw-woo-shell.single-product .sfw-product-description-full {
  width:100%;
  max-width:none;
  margin:44px 0 0;
  padding:0;
}
body.sfw-woo-shell.single-product .sfw-product-description-full h2 {
  margin:0 0 20px;
  color:var(--sfw-ink);
  font-size:1.7rem;
  line-height:1.2;
}
body.sfw-woo-shell.single-product .sfw-product-description-full__content {
  width:100%;
  max-width:none;
  color:#30342f;
  font-size:1rem;
  line-height:1.75;
}
body.sfw-woo-shell.single-product .sfw-product-description-full__content p {
  width:100%;
  max-width:none!important;
  margin:0 0 18px;
}

/* Keep benefits above the description, with a natural gap. */
body.sfw-woo-shell.single-product .sfw-product-benefits {
  margin-bottom:0!important;
}

@media(max-width:680px) {
  body.sfw-woo-shell.woocommerce-shop .site-main {
    padding-top:18px!important;
  }
  body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-view-product {
    width:calc(100% - 40px)!important;
    margin:18px 20px 24px!important;
  }
  body.sfw-woo-shell.single-product .sfw-product-order-link {
    width:100%;
    min-width:0;
  }
  body.sfw-woo-shell.single-product .sfw-product-description-full {
    margin-top:34px;
  }
}


/* ============================================================
   v0.4.28 — Shop CTA overlap fix
   ============================================================ */

/*
 * Kadence can position loop buttons independently of product content.
 * Force the one-product catalogue card into normal vertical document flow.
 */
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product {
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  padding-bottom:0!important;
}

body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product > a.woocommerce-LoopProduct-link {
  display:block!important;
  position:static!important;
  width:100%!important;
  height:auto!important;
  flex:0 0 auto!important;
}

body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-copy {
  display:block!important;
  position:static!important;
  width:auto!important;
  min-height:0!important;
  margin:14px 30px 4px!important;
  padding:0!important;
  clear:both!important;
}

body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-view-product {
  display:flex!important;
  position:static!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  float:none!important;
  clear:both!important;
  transform:none!important;
  flex:0 0 auto!important;
  width:calc(100% - 60px)!important;
  min-height:48px!important;
  margin:20px 30px 30px!important;
  z-index:auto!important;
}

/* Neutralise Kadence hover transforms/absolute positioning on the CTA. */
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product:hover .sfw-loop-view-product,
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product:focus-within .sfw-loop-view-product {
  position:static!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Preserve comfortable space even if third-party Woo CSS changes line-height. */
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .price {
  position:static!important;
  margin-bottom:0!important;
}

@media(max-width:680px) {
  body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-copy {
    margin:13px 20px 3px!important;
  }
  body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-view-product {
    width:calc(100% - 40px)!important;
    margin:18px 20px 24px!important;
  }
}


/* ============================================================
   v0.4.29 — Shop card markup fix (no separate Woo button)
   ============================================================ */

/* Remove any separately rendered loop button from Woo/Kadence. */
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product > a.button,
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product > .button,
body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-view-product {
  display:none!important;
}

/* The standard Woo product link now contains image, title, price, copy and CTA. */
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product > a.woocommerce-LoopProduct-link {
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:auto!important;
  position:static!important;
  text-decoration:none!important;
}

body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-copy {
  display:block!important;
  position:static!important;
  margin:14px 30px 0!important;
  padding:0!important;
  color:var(--sfw-muted)!important;
  font-size:.92rem!important;
  font-weight:400!important;
  line-height:1.6!important;
}

body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-cta {
  display:flex!important;
  position:static!important;
  width:calc(100% - 60px)!important;
  min-height:48px!important;
  margin:20px 30px 30px!important;
  padding:0 20px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:4px!important;
  background:var(--sfw-orange)!important;
  color:#fff!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.025em!important;
  line-height:1!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
}

body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product > a.woocommerce-LoopProduct-link:hover .sfw-loop-card-cta,
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product > a.woocommerce-LoopProduct-link:focus .sfw-loop-card-cta {
  filter:brightness(.94);
  transform:none!important;
}

/* Ensure nothing inside the text area is artificially fixed-height. */
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.sfw-single-product-catalogue.woocommerce-shop ul.products li.product .price,
body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-copy,
body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-cta {
  flex:none!important;
}

@media(max-width:680px) {
  body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-copy {
    margin:13px 20px 0!important;
  }
  body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-cta {
    width:calc(100% - 40px)!important;
    margin:18px 20px 24px!important;
  }
}


/* v0.4.30 — make the in-card View product CTA an explicit interactive target. */
body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-cta {
  cursor:pointer!important;
  pointer-events:auto!important;
  user-select:none;
}
body.sfw-single-product-catalogue.woocommerce-shop .sfw-loop-card-cta:focus-visible {
  outline:3px solid rgba(205,84,11,.28);
  outline-offset:3px;
}


/* ============================================================
   v0.4.35 — premium subtle wood-grain texture
   ============================================================ */

/*
 * Fine irregular timber grain only — no rings, logs, or obvious repeating
 * shapes. Texture is deliberately understated and should read as material,
 * not illustration.
 */
.sfw-hero--offer {
  background-color:#fbf8f1!important;
  background-image:url("assets/img/premium-woodgrain-light.png")!important;
  background-repeat:repeat!important;
  background-size:1100px auto!important;
  background-position:center top!important;
}

.sfw-section--green {
  background-color:var(--sfw-green)!important;
  background-image:url("assets/img/premium-woodgrain-green.png")!important;
  background-repeat:repeat!important;
  background-size:1050px auto!important;
  background-position:center!important;
}

/* Make sure earlier texture pseudo-elements stay disabled. */
.sfw-hero--offer:before,
.sfw-hero--offer:after,
.sfw-section--green:before,
.sfw-section--green:after {
  content:none!important;
  display:none!important;
}

@media(max-width:700px) {
  .sfw-hero--offer {
    background-size:860px auto!important;
  }
  .sfw-section--green {
    background-size:840px auto!important;
  }
}


/* ============================================================
   v0.4.36 — simplify homepage hero reassurance
   ============================================================ */

/* Hero now keeps only the Ready to Burn certification. */
.sfw-hero-trust--single {
  width:min(100%,520px);
  display:block!important;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--sfw-border);
}
.sfw-hero-trust--single .sfw-hero-trust__item {
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  width:100%;
  padding:0!important;
  border:0!important;
}
.sfw-hero-trust--single .sfw-hero-trust__item--rtb img {
  width:52px;
  height:52px;
}
.sfw-hero-trust--single .sfw-hero-trust__item strong {
  display:block;
  margin-bottom:3px;
}
.sfw-hero-trust--single .sfw-hero-trust__item span {
  display:block;
  max-width:360px;
}

@media(max-width:700px) {
  .sfw-hero-trust--single {
    width:100%;
    margin-top:20px;
    padding-top:16px;
  }
  .sfw-hero-trust--single .sfw-hero-trust__item {
    grid-template-columns:50px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .sfw-hero-trust--single .sfw-hero-trust__item--rtb img {
    width:46px;
    height:46px;
  }
}


/* ============================================================
   v0.4.37 — cleaner homepage hero + log-end section divider
   ============================================================ */

/* Hero offer pricing has been removed from the homepage only. */
.sfw-hero--offer .sfw-checker {
  margin-top:30px;
}

/* Refined section divider: subtle end-grain motif with matching cream band. */
.sfw-log-divider {
  width:100%;
  margin:0;
  padding:12px 24px 6px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
  background:var(--sfw-cream-2);
  box-sizing:border-box;
}
.sfw-log-divider__line {
  display:block;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(117,95,67,.08) 10%,
    rgba(117,95,67,.16) 50%,
    rgba(117,95,67,.08) 90%,
    transparent 100%
  );
}
.sfw-log-divider__mark {
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(165,132,92,.95);
  opacity:.9;
}
.sfw-log-divider__mark svg {
  width:30px;
  height:30px;
}

/* Keep the neighbouring sections visually connected. */
.sfw-quality-section {
  padding-bottom:24px!important;
}
.sfw-how-section {
  padding-top:20px!important;
  background:var(--sfw-cream-2)!important;
}

@media(max-width:700px) {
  .sfw-hero--offer .sfw-checker {
    margin-top:24px;
  }
  .sfw-log-divider {
    padding:10px 16px 6px;
    gap:12px;
  }
  .sfw-log-divider__mark {
    width:30px;
    height:30px;
  }
  .sfw-log-divider__mark svg {
    width:26px;
    height:26px;
  }
  .sfw-quality-section {
    padding-bottom:20px!important;
  }
  .sfw-how-section {
    padding-top:18px!important;
  }
}


/* ============================================================
   v0.4.41 — minimal divider, no icon
   ============================================================ */
.sfw-log-divider {
  width:100%;
  margin:0;
  padding:14px 24px 8px;
  display:grid;
  grid-template-columns:1fr 44px 1fr;
  align-items:center;
  gap:0;
  background:var(--sfw-cream-2);
  box-sizing:border-box;
}
.sfw-log-divider__line {
  display:block;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(117,95,67,.08) 8%,
    rgba(117,95,67,.18) 50%,
    rgba(117,95,67,.08) 92%,
    transparent 100%
  );
}
.sfw-log-divider__gap {
  display:block;
  width:44px;
  height:1px;
}
.sfw-log-divider__mark { display:none!important; }
.sfw-how-section {
  background:var(--sfw-cream-2)!important;
}
@media(max-width:700px) {
  .sfw-log-divider {
    padding:12px 16px 7px;
    grid-template-columns:1fr 30px 1fr;
  }
  .sfw-log-divider__gap { width:30px; }
}


/* ============================================================
   v0.4.42 — global dark-green button hover text fix
   ============================================================ */

/* Keep text readable on all dark green buttons across the site. */
.sfw-btn:not(.sfw-btn--orange):hover,
.sfw-btn:not(.sfw-btn--orange):focus,
.sfw-btn--wide:hover,
.sfw-btn--wide:focus,
button.sfw-btn:not(.sfw-btn--orange):hover,
button.sfw-btn:not(.sfw-btn--orange):focus,
a.sfw-btn:not(.sfw-btn--orange):hover,
a.sfw-btn:not(.sfw-btn--orange):focus,
.woocommerce a.button:not(.sfw-loop-view-product):not(.sfw-product-order-link):hover,
.woocommerce a.button:not(.sfw-loop-view-product):not(.sfw-product-order-link):focus,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus {
  color:#fff!important;
}

/* Also catch green CTA text/icons nested inside buttons. */
.sfw-btn:not(.sfw-btn--orange):hover *,
.sfw-btn:not(.sfw-btn--orange):focus *,
.sfw-btn--wide:hover *,
.sfw-btn--wide:focus * {
  color:#fff!important;
  stroke:currentColor!important;
}


/* ============================================================
   v0.5.0 — Gutenberg-editable homepage compatibility
   ============================================================ */
.sfw-block-home > .wp-block-group,
.sfw-block-home > .wp-block-columns,
.sfw-block-home > .wp-block-html {
  margin-top:0;
  margin-bottom:0;
}
.sfw-block-home .wp-block-columns {
  margin-bottom:0;
}
.sfw-block-home .wp-block-group,
.sfw-block-home .wp-block-column {
  box-sizing:border-box;
}
.sfw-block-home .sfw-hero__grid,
.sfw-block-home .sfw-benefits__grid,
.sfw-block-home .sfw-quality-grid,
.sfw-block-home .sfw-steps,
.sfw-block-home .sfw-local-grid {
  flex-wrap:initial;
}
.sfw-block-home .sfw-benefit__icon .sfw-block-icon,
.sfw-block-home .sfw-step__icon .sfw-block-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
}
.sfw-block-home .sfw-benefit h3 {
  margin:0 0 6px;
  font-size:.86rem;
  font-family:var(--sfw-sans);
  font-weight:800;
  color:var(--sfw-ink);
}
.sfw-block-home .sfw-benefit p {
  margin:0;
}
.sfw-block-home .sfw-product-card__image {
  margin:0;
}
.sfw-block-home .sfw-product-card__body > * {
  margin-top:0;
}
.sfw-block-home .sfw-product-card__link {
  min-height:0!important;
  margin:0!important;
}
.sfw-block-home .sfw-product-card__link a {
  display:inline-block;
}
.sfw-block-home .sfw-step__title {
  min-height:0!important;
  margin:0 0 6px!important;
  color:var(--sfw-ink);
  font-size:.86rem;
}
.sfw-block-home .sfw-local-feature > p:first-child {
  margin:0 0 7px;
  color:#fff;
}
.sfw-block-home .sfw-local-feature > p:last-child {
  margin:0;
}
.sfw-block-home .sfw-actions .wp-block-button.sfw-btn {
  padding:0;
  border:0;
  background:transparent;
}
.sfw-block-home .sfw-actions .wp-block-button.sfw-btn .wp-block-button__link {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border:1px solid #fff;
  border-radius:4px;
  background:transparent;
  color:#fff!important;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.sfw-block-home .sfw-actions .wp-block-button.sfw-btn .wp-block-button__link:hover,
.sfw-block-home .sfw-actions .wp-block-button.sfw-btn .wp-block-button__link:focus {
  background:rgba(255,255,255,.08);
  color:#fff!important;
}

@media(max-width:800px) {
  .sfw-block-home .sfw-hero__grid,
  .sfw-block-home .sfw-quality-grid,
  .sfw-block-home .sfw-local-grid {
    display:grid!important;
  }
}


/* ============================================================
   v0.5.1 — Gutenberg product-grid compatibility fix
   ============================================================ */
/*
 * Gutenberg/Kadence can attach flow/constrained layout rules to Group
 * blocks.  The product range is intentionally our own CSS grid, so make
 * that layout explicit and resilient without changing the stored blocks.
 */
.sfw-block-home .wp-block-group.sfw-products,
.sfw-block-home .sfw-wrap > .wp-block-group.sfw-products {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
  align-items:stretch!important;
}
.sfw-block-home .sfw-products > .wp-block-group.sfw-product-card {
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  align-self:stretch!important;
}
.sfw-block-home .sfw-product-card__image,
.sfw-block-home .sfw-product-card__body {
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.sfw-block-home .sfw-product-card__image img {
  width:100%!important;
  max-width:100%!important;
}

@media(max-width:1024px) {
  .sfw-block-home .wp-block-group.sfw-products,
  .sfw-block-home .sfw-wrap > .wp-block-group.sfw-products {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px) {
  .sfw-block-home .wp-block-group.sfw-products,
  .sfw-block-home .sfw-wrap > .wp-block-group.sfw-products {
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
}


/* ============================================================
   v0.5.2 — definitive Gutenberg product-section width fix
   ============================================================ */
/*
 * Core/Gutenberg constrained-layout selectors can give child Group blocks
 * their own content width.  The product range is intentionally a custom
 * four-column grid and must inherit the full Sussex Firewood wrapper width.
 */
.sfw-block-home .sfw-section:has(.sfw-products) > .sfw-wrap,
.sfw-block-home .sfw-wrap:has(> .sfw-products),
.sfw-block-home .wp-block-group.sfw-wrap:has(> .wp-block-group.sfw-products) {
  width:var(--sfw-wrap)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  display:block!important;
}

.sfw-block-home .sfw-wrap > .sfw-products,
.sfw-block-home .wp-block-group.sfw-wrap > .wp-block-group.sfw-products,
.sfw-block-home .is-layout-constrained > .sfw-products,
.sfw-block-home .is-layout-flow > .sfw-products {
  width:100%!important;
  max-width:none!important;
  min-width:100%!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
  justify-content:stretch!important;
  align-items:stretch!important;
  float:none!important;
}

.sfw-block-home .sfw-products > .sfw-product-card,
.sfw-block-home .sfw-products > .wp-block-group.sfw-product-card {
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  float:none!important;
}

@media(max-width:1024px) {
  .sfw-block-home .sfw-wrap > .sfw-products,
  .sfw-block-home .wp-block-group.sfw-wrap > .wp-block-group.sfw-products,
  .sfw-block-home .is-layout-constrained > .sfw-products,
  .sfw-block-home .is-layout-flow > .sfw-products {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px) {
  .sfw-block-home .sfw-wrap > .sfw-products,
  .sfw-block-home .wp-block-group.sfw-wrap > .wp-block-group.sfw-products,
  .sfw-block-home .is-layout-constrained > .sfw-products,
  .sfw-block-home .is-layout-flow > .sfw-products {
    grid-template-columns:minmax(0,1fr)!important;
    min-width:0!important;
    gap:18px!important;
  }
}


/* ============================================================
   v0.5.4 — rendered Gutenberg product-grid fix
   ============================================================ */
/*
 * The product Group is also normalised server-side in functions.php.
 * These rules provide responsive behaviour after the inline desktop
 * grid is emitted, without altering the stored Gutenberg content.
 */
.sfw-block-home .sfw-products.sfw-products-grid-v054 {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.sfw-block-home .sfw-products.sfw-products-grid-v054 > .sfw-product-card {
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
@media(max-width:1024px) {
  .sfw-block-home .sfw-products.sfw-products-grid-v054 {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px) {
  .sfw-block-home .sfw-products.sfw-products-grid-v054 {
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
  }
}


/* ============================================================
   v0.5.5 — runtime-normalised Gutenberg product columns
   ============================================================ */
/*
 * Some Gutenberg/Core Group renderings insert an extra inner container
 * between .sfw-products and the product cards. The JS marks the element
 * that ACTUALLY owns the four cards with .sfw-products-grid-runtime.
 */
.sfw-block-home .sfw-products-grid-runtime {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  align-items:stretch!important;
}
.sfw-block-home .sfw-products-grid-runtime > .sfw-product-card {
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  float:none!important;
}
@media(max-width:1024px) {
  .sfw-block-home .sfw-products-grid-runtime {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px) {
  .sfw-block-home .sfw-products-grid-runtime {
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
  }
}


/* ============================================================
   v0.5.6 — viewport-anchored Gutenberg products grid
   ============================================================ */
/*
 * The editable Gutenberg hierarchy can impose an intrinsic/min-content width
 * on nested Groups. The runtime fix gives the products grid an explicit
 * viewport-derived width; these declarations make the four cards consume it
 * equally and prevent Core/Kadence width attributes from shrinking children.
 */
.sfw-block-home .sfw-products.sfw-products-grid-runtime,
.sfw-block-home .sfw-products-grid-runtime {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-columns:minmax(0,1fr)!important;
  gap:24px!important;
  max-width:1180px!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.sfw-block-home .sfw-products-grid-runtime > .sfw-product-card,
.sfw-block-home .sfw-products-grid-runtime > .wp-block-group.sfw-product-card {
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  flex:1 1 0!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  margin:0!important;
}
.sfw-block-home .sfw-products-grid-runtime .sfw-product-card__image {
  width:100%!important;
  max-width:none!important;
}
@media(max-width:1024px) {
  .sfw-block-home .sfw-products.sfw-products-grid-runtime,
  .sfw-block-home .sfw-products-grid-runtime {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px) {
  .sfw-block-home .sfw-products.sfw-products-grid-runtime,
  .sfw-block-home .sfw-products-grid-runtime {
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
  }
}


/* ============================================================
   v0.5.7 — Gutenberg local green-band column fix
   ============================================================ */
/*
 * Core renders Columns as flex. The approved Sussex Firewood local band uses
 * a deliberate 1.45 / .75 / .75 grid, so lock that structure explicitly.
 * This affects only the homepage green local section.
 */
.sfw-block-home .sfw-section--green > .sfw-local-grid,
.sfw-block-home .wp-block-columns.sfw-local-grid {
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr) minmax(0,.75fr)!important;
  gap:34px!important;
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-items:center!important;
  flex-wrap:initial!important;
  box-sizing:border-box!important;
}
.sfw-block-home .sfw-local-grid > .wp-block-column {
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  flex:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.sfw-block-home .sfw-local-grid > .wp-block-column:first-child {
  padding-right:4px;
}
.sfw-block-home .sfw-local-grid > .sfw-local-feature {
  height:100%;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

@media(max-width:900px) {
  .sfw-block-home .sfw-section--green > .sfw-local-grid,
  .sfw-block-home .wp-block-columns.sfw-local-grid {
    grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr)!important;
    gap:24px!important;
  }
}
@media(max-width:700px) {
  .sfw-block-home .sfw-section--green > .sfw-local-grid,
  .sfw-block-home .wp-block-columns.sfw-local-grid {
    grid-template-columns:minmax(0,1fr)!important;
    width:calc(100% - 32px)!important;
    gap:0!important;
    align-items:start!important;
  }
  .sfw-block-home .sfw-local-grid > .wp-block-column:first-child {
    padding-right:0;
    padding-bottom:26px;
  }
  .sfw-block-home .sfw-local-grid > .sfw-local-feature {
    height:auto;
    padding:22px 0!important;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
  }
}


/* ============================================================
   v0.5.8 — Delivery Areas Gutenberg compatibility
   ============================================================ */
.sfw-block-delivery .sfw-page-hero,
.sfw-block-delivery .sfw-section {
  width:100%;
}
.sfw-block-delivery .sfw-wrap {
  width:var(--sfw-wrap)!important;
  max-width:var(--sfw-wrap)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.sfw-block-delivery .sfw-delivery-intro,
.sfw-block-delivery .sfw-delivery-details {
  display:grid!important;
  margin-left:0!important;
  margin-right:0!important;
}
.sfw-block-delivery .sfw-delivery-intro {
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
}
.sfw-block-delivery .sfw-delivery-details {
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.sfw-block-delivery .sfw-delivery-intro > .wp-block-column,
.sfw-block-delivery .sfw-delivery-details > .wp-block-column {
  min-width:0!important;
  width:auto!important;
  flex-basis:auto!important;
}
.sfw-block-delivery figure.sfw-delivery-photo {
  margin:0!important;
}
.sfw-block-delivery figure.sfw-delivery-photo img {
  width:100%;
  height:auto;
  display:block;
  border-radius:7px;
}
.sfw-block-delivery .sfw-area-list {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
}
.sfw-block-delivery .sfw-area-list .sfw-pill {
  width:auto!important;
  margin:0!important;
}
.sfw-block-delivery .sfw-actions {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.sfw-block-delivery .sfw-actions .wp-block-button.sfw-btn {
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.sfw-block-delivery .sfw-actions .wp-block-button.sfw-btn .wp-block-button__link {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:4px;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  text-decoration:none;
}
.sfw-block-delivery .sfw-actions .wp-block-button.sfw-btn--orange .wp-block-button__link {
  border:1px solid var(--sfw-orange);
  background:var(--sfw-orange);
  color:#fff!important;
}
.sfw-block-delivery .sfw-actions .wp-block-button.sfw-btn--orange .wp-block-button__link:hover,
.sfw-block-delivery .sfw-actions .wp-block-button.sfw-btn--orange .wp-block-button__link:focus {
  background:#a94810;
  color:#fff!important;
}
.sfw-block-delivery .sfw-actions .wp-block-button.sfw-btn--outline .wp-block-button__link {
  border:1px solid var(--sfw-green);
  background:transparent;
  color:var(--sfw-green)!important;
}
.sfw-block-delivery .sfw-actions .wp-block-button.sfw-btn--outline .wp-block-button__link:hover,
.sfw-block-delivery .sfw-actions .wp-block-button.sfw-btn--outline .wp-block-button__link:focus {
  background:var(--sfw-green);
  color:#fff!important;
}
.sfw-block-delivery .sfw-access-highlight > .wp-block-group {
  margin:0!important;
}
.sfw-block-delivery .sfw-access-highlight > .wp-block-group > p:first-child {
  margin:0 0 3px!important;
}
.sfw-block-delivery .sfw-delivery-access-box {
  margin-top:20px;
}

@media(max-width:850px) {
  .sfw-block-delivery .sfw-delivery-intro,
  .sfw-block-delivery .sfw-delivery-details {
    grid-template-columns:1fr!important;
  }
}
@media(max-width:700px) {
  .sfw-block-delivery .sfw-wrap {
    width:min(100% - 32px,var(--sfw-wrap))!important;
  }
}


/* ============================================================
   v0.5.9 — Gutenberg editable FAQ page
   ============================================================ */
.sfw-block-faqs .sfw-faq-wrap {
  max-width:860px;
  margin-inline:auto;
}
.sfw-block-faqs .sfw-faq {
  margin:0;
}
.sfw-block-faqs .sfw-faq-actions {
  margin-top:34px;
}
.sfw-block-faqs .sfw-faq-actions .wp-block-button {
  margin:0;
}


/* ============================================================
   v0.5.10 — FAQ Gutenberg button styling fix
   ============================================================ */
.sfw-block-faqs .sfw-faq-actions {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  align-items:center;
}
.sfw-block-faqs .sfw-faq-actions .wp-block-button.sfw-btn {
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.sfw-block-faqs .sfw-faq-actions .wp-block-button.sfw-btn .wp-block-button__link {
  min-height:48px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:0 22px!important;
  border-radius:5px!important;
  font-size:.82rem!important;
  font-weight:800!important;
  letter-spacing:.03em;
  line-height:1.15!important;
  text-transform:uppercase;
  text-decoration:none!important;
  box-shadow:none!important;
}
.sfw-block-faqs .sfw-faq-actions .wp-block-button.sfw-btn--orange .wp-block-button__link {
  border:1px solid var(--sfw-orange)!important;
  background:var(--sfw-orange)!important;
  color:#fff!important;
}
.sfw-block-faqs .sfw-faq-actions .wp-block-button.sfw-btn--orange .wp-block-button__link:hover,
.sfw-block-faqs .sfw-faq-actions .wp-block-button.sfw-btn--orange .wp-block-button__link:focus {
  background:#a94810!important;
  border-color:#a94810!important;
  color:#fff!important;
}
.sfw-block-faqs .sfw-faq-actions .wp-block-button.sfw-btn--outline .wp-block-button__link {
  border:1px solid var(--sfw-green)!important;
  background:transparent!important;
  color:var(--sfw-green)!important;
}
.sfw-block-faqs .sfw-faq-actions .wp-block-button.sfw-btn--outline .wp-block-button__link:hover,
.sfw-block-faqs .sfw-faq-actions .wp-block-button.sfw-btn--outline .wp-block-button__link:focus {
  background:var(--sfw-green)!important;
  border-color:var(--sfw-green)!important;
  color:#fff!important;
}
@media(max-width:620px) {
  .sfw-block-faqs .sfw-faq-actions {
    display:grid!important;
    grid-template-columns:1fr;
  }
  .sfw-block-faqs .sfw-faq-actions .wp-block-button,
  .sfw-block-faqs .sfw-faq-actions .wp-block-button__link {
    width:100%!important;
  }
}


/* ============================================================
   v0.5.11 — Gutenberg editable Contact page
   ============================================================ */
.sfw-block-contact .sfw-contact-grid {
  width:100%;
  margin:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:28px!important;
  align-items:start!important;
}
.sfw-block-contact .sfw-contact-grid > .wp-block-column.sfw-panel {
  min-width:0!important;
  margin:0!important;
  align-self:start!important;
}
.sfw-block-contact .sfw-contact-heading {
  margin-top:0;
  font-size:2rem;
}
.sfw-block-contact .sfw-contact-details p {
  margin:0 0 20px;
  line-height:1.65;
}
.sfw-block-contact .sfw-contact-details a:not(.wp-block-button__link) {
  color:var(--sfw-green);
}
.sfw-block-contact .sfw-contact-actions {
  margin-top:24px;
  display:flex!important;
  gap:10px!important;
}
.sfw-block-contact .sfw-contact-actions .wp-block-button.sfw-btn {
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.sfw-block-contact .sfw-contact-actions .wp-block-button.sfw-btn .wp-block-button__link {
  min-height:48px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:0 22px!important;
  border-radius:5px!important;
  font-size:.82rem!important;
  font-weight:800!important;
  letter-spacing:.03em;
  line-height:1.15!important;
  text-transform:uppercase;
  text-decoration:none!important;
  box-shadow:none!important;
}
.sfw-block-contact .sfw-contact-actions .wp-block-button.sfw-btn--orange .wp-block-button__link {
  border:1px solid var(--sfw-orange)!important;
  background:var(--sfw-orange)!important;
  color:#fff!important;
}
.sfw-block-contact .sfw-contact-actions .wp-block-button.sfw-btn--orange .wp-block-button__link:hover,
.sfw-block-contact .sfw-contact-actions .wp-block-button.sfw-btn--orange .wp-block-button__link:focus {
  background:#a94810!important;
  border-color:#a94810!important;
  color:#fff!important;
}
.sfw-block-contact .wp-block-shortcode {
  margin:0!important;
}
.sfw-block-contact .wpcf7-form input[type=submit]:hover,
.sfw-block-contact .wpcf7-form input[type=submit]:focus {
  color:#fff!important;
}
@media(max-width:800px) {
  .sfw-block-contact .sfw-contact-grid {
    grid-template-columns:1fr!important;
  }
}
@media(max-width:620px) {
  .sfw-block-contact .sfw-wrap {
    width:min(100% - 32px,var(--sfw-wrap))!important;
  }
  .sfw-block-contact .sfw-contact-actions,
  .sfw-block-contact .sfw-contact-actions .wp-block-button,
  .sfw-block-contact .sfw-contact-actions .wp-block-button__link {
    width:100%!important;
  }
}


/* ============================================================
   v0.5.12 — desktop trust-bar wrapping fix
   ============================================================ */
@media (min-width:801px) {
  .sfw-trustbar__inner {
    grid-template-columns:1.18fr 1fr 1fr 1.12fr;
    gap:10px;
  }
  .sfw-trustbar__item {
    white-space:nowrap;
    min-width:0;
    font-size:.66rem;
  }
}
