/* ==========================================================================
   Silvaris — WooCommerce (Shopify-like shop UX)
   ========================================================================== */

/* ---- Buttons ---- */
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.15rem;
  padding: 0 1.6rem;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: 2px;
  background: var(--coral) !important;
  color: var(--white) !important;
  border: 0 !important;
  box-shadow: 0 8px 22px rgba(194, 75, 66, 0.22);
  transition: background 0.25s, box-shadow 0.25s, transform 0.2s;
  width: 100%;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover {
  background: var(--coral-deep) !important;
  box-shadow: 0 14px 32px rgba(194, 75, 66, 0.32);
}
.woocommerce a.button:disabled,
.woocommerce button.button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Secondary / outline buttons */
.woocommerce a.button.wc-backward,
.woocommerce button[name="update_cart"],
.woocommerce button[name="apply_coupon"],
.s-cart__coupon .btn,
.s-cart__update {
  background: transparent !important;
  color: var(--charcoal) !important;
  border: 1px solid var(--charcoal) !important;
  box-shadow: none !important;
  width: auto;
}
.woocommerce a.button.wc-backward:hover,
.woocommerce button[name="update_cart"]:hover,
.woocommerce button[name="apply_coupon"]:hover {
  background: var(--charcoal) !important;
  color: var(--white) !important;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
  border: 1px solid var(--line) !important;
  border-left: 3px solid var(--coral) !important;
  border-top: 0 !important;
  background: var(--white) !important;
  color: var(--ink) !important;
  border-radius: 2px;
  padding: 1rem 1.15rem !important;
  margin-bottom: 1.25rem !important;
  list-style: none;
  box-shadow: none;
}
.woocommerce-error { border-left-color: #b42318 !important; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none !important; }
.woocommerce-message a,
.woocommerce-info a { color: var(--coral); font-weight: 500; }

/* Forms */
.woocommerce form .form-row {
  margin-bottom: 0.85rem;
  padding: 0;
}
.woocommerce form .form-row label {
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 0.4rem;
  line-height: 1.3;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce form .select2-container .select2-selection--single {
  border: 1px solid var(--line) !important;
  background: var(--white) !important;
  padding: 0.85rem 1rem !important;
  border-radius: 2px !important;
  height: auto !important;
  min-height: 3rem;
  font-size: 1rem;
  color: var(--ink);
  box-shadow: none !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--coral) !important;
  outline: none;
  box-shadow: 0 0 0 3px var(--coral-wash) !important;
}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
  width: 48%;
}
@media (max-width: 600px) {
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last {
    width: 100%;
  }
}

.woocommerce span.onsale {
  background: var(--coral);
  border-radius: 0;
  min-height: auto;
  line-height: 1.4;
  padding: 0.35rem 0.65rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.65rem;
}

.silvaris-woo-main {
  padding: clamp(1.5rem, 4vw, 2.5rem) 0 clamp(3rem, 8vw, 5rem);
}
.silvaris-woo-main--product {
  padding-top: clamp(1rem, 3vw, 1.75rem);
}

/* ==========================================================================
   Product page (PDP)
   ========================================================================== */
.pdp {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 5vw, 3.5rem);
  align-items: start;
  padding-bottom: 2rem;
}
@media (min-width: 900px) {
  .pdp {
    grid-template-columns: 1.05fr 0.95fr;
    gap: 3.5rem;
  }
  .pdp__gallery {
    position: sticky;
    top: calc(var(--header-h) + 1.25rem);
  }
}

.pdp__stage {
  position: relative;
  background: linear-gradient(160deg, #f3eee6 0%, #e8e2d8 100%);
}
.pdp__badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  background: var(--coral);
  color: var(--white);
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0.4rem 0.7rem;
}
.pdp__main-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pdp__thumbs {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.85rem;
  flex-wrap: wrap;
}

.pdp__crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  font-size: 0.8rem;
  color: var(--muted);
  margin-bottom: 1rem;
}
.pdp__crumbs a { color: var(--coral); }
.pdp__crumbs a:hover { text-decoration: underline; }

.pdp__eyebrow { margin-bottom: 0.55rem; }
.pdp__title {
  font-size: clamp(2rem, 3.8vw, 2.85rem);
  margin-bottom: 0.35rem;
}
.pdp__sku {
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--coral);
  margin-bottom: 1.15rem;
}

.pdp__price-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.65rem 0.9rem;
  margin-bottom: 0.35rem;
}
.pdp__price-row .price {
  font-family: var(--font-serif);
  font-size: 2.35rem;
  color: var(--coral);
  line-height: 1;
}
.pdp__price-row del {
  font-family: var(--font-serif);
  font-size: 1.2rem;
  color: var(--muted);
  opacity: 0.85;
}
.pdp__price-row ins {
  text-decoration: none;
}
.pdp__save {
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--teal-mid);
  background: rgba(47, 107, 103, 0.1);
  padding: 0.3rem 0.55rem;
}
.pdp__tax {
  font-size: 0.85rem;
  color: var(--muted);
  margin-bottom: 1.25rem;
}
.pdp__excerpt {
  margin-bottom: 1.25rem;
}
.pdp__excerpt p { margin: 0; }

.pdp__stock {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.88rem;
  color: var(--teal-mid);
  margin-bottom: 1.35rem;
  font-weight: 400;
}
.pdp__stock.is-out { color: #b42318; }
.pdp__stock-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 3px rgba(47, 107, 103, 0.15);
}
.pdp__stock.is-out .pdp__stock-dot {
  box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.12);
}

.pdp__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
  margin-bottom: 1.5rem;
}
.pdp__cta {
  flex: 1;
  min-width: 12rem;
  min-height: 3.15rem;
}

.pdp__trust {
  display: grid;
  gap: 0.65rem;
  padding: 1.15rem 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin-bottom: 1.25rem;
}
.pdp__trust li {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.9rem;
  color: var(--muted);
}
.pdp__trust svg {
  color: var(--coral);
  flex-shrink: 0;
}

/* Accordions */
.pdp-acc {
  border-bottom: 1px solid var(--line);
}
.pdp-acc summary {
  list-style: none;
  cursor: pointer;
  padding: 1rem 0;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.pdp-acc summary::-webkit-details-marker { display: none; }
.pdp-acc summary::after {
  content: '+';
  font-size: 1.15rem;
  font-weight: 300;
  color: var(--coral);
  line-height: 1;
}
.pdp-acc[open] summary::after { content: '−'; }
.pdp-acc__body {
  padding: 0 0 1.15rem;
  color: var(--muted);
  font-size: 0.98rem;
  line-height: 1.7;
}
.pdp-acc__body p { margin: 0 0 0.75rem; }
.pdp-acc__body p:last-child { margin: 0; }

.pdp__disclaimer {
  margin-top: 1.5rem;
}

/* Sticky buy on product */
body.silvaris-product-page.has-sticky-buy {
  padding-bottom: 5rem;
}
.sticky-buy--pdp {
  z-index: 90;
}

/* ==========================================================================
   Bag drawer + overlay (shell)
   Mobile: Chrome, DuckDuckGo (WebView), Safari, Samsung Internet.
   z-index above sticky-buy (90), cookie (10050), newsletter (10060).
   ========================================================================== */
.overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10070;
  background: rgba(4, 14, 13, 0.52);
  /* Solid fallback first — blur is optional (some WebViews paint poorly) */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.28s ease, visibility 0.28s;
  -webkit-tap-highlight-color: transparent;
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .overlay {
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
  }
}
.overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  cursor: pointer;
}

.drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  z-index: 10080;
  width: min(100%, 26.5rem);
  max-width: 100vw;
  /* Full viewport height across mobile browser chrome changes */
  height: 100%;
  height: 100vh;
  height: 100dvh;
  max-height: 100%;
  max-height: 100dvh;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  background: var(--ivory, #f7f4ee);
  color: var(--ink, #1c1b1f);
  box-shadow: -18px 0 50px rgba(0, 0, 0, 0.22);
  /* Off-screen: use 100% not 105% so it never leaves a sliver that steals taps */
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  -webkit-transition: -webkit-transform 0.38s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.38s;
  transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.38s;
  visibility: hidden;
  pointer-events: none;
  -webkit-overflow-scrolling: touch;
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  will-change: transform;
  -webkit-tap-highlight-color: transparent;
}
.drawer.is-open {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  visibility: visible;
  pointer-events: auto;
}
.drawer__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  gap: 1rem;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  padding: 1.15rem 1.25rem;
  padding-top: calc(1.15rem + env(safe-area-inset-top, 0px));
  border-bottom: 1px solid var(--line, #ebe6df);
  background: rgba(247, 244, 238, 0.98);
}
.drawer__head h2 {
  margin: 0;
  font-family: var(--font-serif, Georgia, serif);
  font-size: 1.55rem;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--ink, #1c1b1f);
}
.drawer__head button {
  width: 2.75rem;
  height: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  border: 1px solid var(--line, #ebe6df);
  border-radius: 999px;
  background: #fff;
  color: var(--ink, #1c1b1f);
  cursor: pointer;
  line-height: 1;
  font-size: 1.35rem;
  -webkit-appearance: none;
  appearance: none;
  /* Larger hit target for thumbs on mobile */
  touch-action: manipulation;
}
.drawer__head button:hover,
.drawer__head button:focus-visible {
  border-color: rgba(194, 75, 66, 0.4);
  color: var(--coral, #c24b42);
}
.drawer__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  min-height: 0; /* critical for flex children to scroll on mobile Chrome */
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  overscroll-behavior-y: contain;
  padding: 0.35rem 1.25rem 1.25rem;
  touch-action: pan-y;
}
.drawer__foot {
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  padding: 1rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--line, #ebe6df);
  background: #fff;
  box-shadow: 0 -10px 28px rgba(28, 27, 31, 0.05);
}
.drawer__foot .btn {
  touch-action: manipulation;
  min-height: 3rem;
}
.drawer__sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  align-items: baseline;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
  font-size: 0.95rem;
}
.drawer__sub strong {
  font-family: var(--font-serif, Georgia, serif);
  font-size: 1.35rem;
  color: var(--coral, #c24b42);
  font-weight: 400;
}
.drawer[hidden] {
  display: none !important;
}

/* When bag is open: hide competing fixed UI so taps hit drawer (mobile) */
body.silvaris-lock .sticky-buy,
body.silvaris-lock .cookie-banner,
html.silvaris-lock .sticky-buy {
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

/* Narrow phones: full-bleed drawer */
@media (max-width: 420px) {
  .drawer {
    width: 100%;
    max-width: 100%;
    border-radius: 0;
  }
}

/* Reduce motion: skip slide animation (a11y + low-end Android) */
@media (prefers-reduced-motion: reduce) {
  .drawer,
  .overlay {
    transition: none !important;
  }
}

/* ==========================================================================
   Bag drawer enhancements
   ========================================================================== */
.drawer__note {
  font-size: 0.8rem;
  color: var(--muted);
  margin: -0.35rem 0 1rem;
}
.drawer__view-cart {
  display: block;
  text-align: center;
  margin-top: 0.85rem;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.drawer__view-cart:hover { color: var(--coral); }

.drawer__empty svg {
  margin: 0 auto 1rem;
  color: var(--muted);
  opacity: 0.55;
}

.cart-line {
  display: grid;
  grid-template-columns: 4.25rem 1fr auto;
  gap: 0.9rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
  align-items: start;
}
.cart-line__img,
.cart-line__img img {
  width: 4.25rem;
  height: 4.25rem;
  object-fit: cover;
  background: var(--cream);
  display: block;
}
.cart-line h3 {
  font-family: var(--font-sans);
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 0.2rem;
  color: var(--ink);
  line-height: 1.35;
}
.cart-line .meta {
  font-size: 0.82rem;
  color: var(--muted);
  margin-bottom: 0.45rem;
}
.cart-line__qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
  background: var(--white);
  margin-bottom: 0.4rem;
}
.cart-line__qty-btn {
  width: 1.85rem;
  height: 1.85rem;
  font-size: 1rem;
  line-height: 1;
  color: var(--ink);
}
.cart-line__qty-btn:hover { background: var(--cream); }
.cart-line__qty-n {
  min-width: 1.5rem;
  text-align: center;
  font-size: 0.85rem;
  font-weight: 500;
}
.cart-line .rm {
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--coral);
  display: block;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.cart-line .rm:hover { text-decoration: underline; }
.cart-line .line-p {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  color: var(--coral);
  white-space: nowrap;
}

.drawer.is-loading .drawer__body {
  opacity: 0.5;
  pointer-events: none;
}

/* ==========================================================================
   Cart page — checkout-matched polish
   ========================================================================== */
.s-cart {
  max-width: 68rem;
  margin: 0 auto;
  padding: 0 0 3rem;
}
.s-cart__head {
  margin-bottom: 2rem;
  padding-bottom: 1.35rem;
  border-bottom: 1px solid var(--line);
}
.s-cart__head-top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1.15rem;
}
.s-cart__continue,
.s-cart__head-checkout {
  font-size: 0.82rem;
  color: var(--coral);
  text-decoration: none;
}
.s-cart__continue:hover,
.s-cart__head-checkout:hover { text-decoration: underline; }
.s-cart__head .eyebrow { margin-bottom: 0.35rem; }
.s-cart__head h1 {
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  margin-bottom: 0.45rem;
}
.s-cart__count {
  color: var(--muted);
  font-size: 0.92rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  align-items: center;
}
.s-cart__count-sep { opacity: 0.45; }

.s-cart__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
}
@media (min-width: 960px) {
  .s-cart__layout {
    grid-template-columns: 1fr 23rem;
    gap: 2.75rem;
  }
  .s-cart__summary {
    position: sticky;
    top: calc(var(--header-h) + 1rem);
  }
}

/* ---- Cart product cards ---- */
.s-cart--v2 .s-cart__items {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.s-cart-card {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  gap: 1.15rem 1.35rem;
  padding: 1.25rem;
  border: 1px solid rgba(18, 63, 58, 0.1);
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 14px 36px rgba(11, 37, 34, 0.06);
  align-items: start;
}
@media (min-width: 700px) {
  .s-cart-card {
    grid-template-columns: 8.5rem minmax(0, 1fr);
    padding: 1.4rem 1.5rem;
  }
}
.s-cart-card__media {
  margin: 0;
}
.s-cart-card__media img,
.s-cart-card__media a {
  display: block;
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
  background: var(--cream, #efe9e2);
  border: 1px solid rgba(18, 63, 58, 0.08);
}
.s-cart-card__media img {
  aspect-ratio: 1;
  object-fit: cover;
}
.s-cart-card__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.s-cart-card__top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem 1.25rem;
  align-items: flex-start;
}
.s-cart-card__name {
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(1.2rem, 2.5vw, 1.45rem);
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 0.35rem;
  color: var(--teal-deep, #0b2522);
}
.s-cart-card__name a {
  color: inherit;
  text-decoration: none;
}
.s-cart-card__name a:hover {
  color: var(--coral, #c24b42);
}
.s-cart-card__meta {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}
.s-cart-card__unit {
  margin: 0;
  font-size: 0.9rem;
  color: var(--muted);
  display: flex;
  gap: 0.4rem;
  align-items: baseline;
}
.s-cart-card__unit span:first-child {
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.s-cart-card__total {
  text-align: right;
  flex-shrink: 0;
}
.s-cart-card__total-label {
  display: block;
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 0.2rem;
}
.s-cart-card__total-val,
.s-cart-card__total-val .amount,
.s-cart-card__total-val .woocommerce-Price-amount {
  font-family: var(--font-serif, Georgia, serif);
  font-size: 1.45rem;
  color: var(--coral, #c24b42);
  font-weight: 500;
  line-height: 1.1;
}

.s-cart-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1.15rem;
  padding-top: 0.15rem;
  border-top: 1px solid rgba(18, 63, 58, 0.07);
}

/* Quantity stepper */
.s-cart-qty {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid rgba(18, 63, 58, 0.16);
  border-radius: 999px;
  background: #faf8f4;
  overflow: hidden;
  min-height: 2.75rem;
}
.s-cart-qty__btn {
  width: 2.65rem;
  border: 0;
  background: transparent;
  color: var(--teal-deep, #0b2522);
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.s-cart-qty__btn:hover {
  background: rgba(194, 75, 66, 0.1);
  color: var(--coral, #c24b42);
}
.s-cart-qty__input {
  width: 2.75rem !important;
  min-width: 2.75rem;
  border: 0 !important;
  border-left: 1px solid rgba(18, 63, 58, 0.1) !important;
  border-right: 1px solid rgba(18, 63, 58, 0.1) !important;
  border-radius: 0 !important;
  background: #fff !important;
  text-align: center !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  -moz-appearance: textfield;
  height: auto !important;
  min-height: 2.75rem !important;
  padding: 0.4rem 0.15rem !important;
}
.s-cart-qty__input::-webkit-outer-spin-button,
.s-cart-qty__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.s-cart-card__remove {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--coral, #c24b42);
  text-decoration: none;
  font-weight: 600;
}
.s-cart-card__remove:hover {
  text-decoration: underline;
}

/* legacy line fallback */
.s-cart__line {
  display: none;
}

.s-cart__actions-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: space-between;
  align-items: center;
  padding: 1.35rem 0 0;
}
.s-cart__coupon {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  flex: 1;
}
.s-cart__coupon .input-text {
  flex: 1;
  min-width: 10rem;
  border: 1px solid #d4cec5;
  border-radius: 8px;
  background: var(--white);
  padding: 0.7rem 1rem;
  min-height: 2.85rem;
}
.s-cart__reassure {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 1.15rem 0 0;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1.15rem;
}
.s-cart__reassure li {
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.s-cart__reassure li::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--teal-mid, #1a6b66);
}

/* Order summary card */
.s-summary {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 50% at 90% 0%, rgba(194, 75, 66, 0.18), transparent 55%),
    linear-gradient(165deg, #0b2522 0%, #123f3a 55%, #0a1f1c 100%);
  border: 1px solid rgba(18, 63, 58, 0.2);
  border-radius: 1.25rem;
  padding: 1.55rem 1.4rem 1.65rem;
  box-shadow: 0 22px 50px rgba(11, 37, 34, 0.18);
  color: #f7f4ee;
}
.s-summary__title {
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 1.2rem;
  color: #f0b4ae;
}
.s-summary .shop_table,
.s-summary .shop_table th,
.s-summary .shop_table td {
  background: transparent !important;
  border: 0 !important;
  color: rgba(247, 244, 238, 0.7) !important;
  padding: 0.55rem 0 !important;
  font-size: 0.95rem;
}
.s-summary .shop_table td {
  text-align: right;
  color: #fff !important;
}
.s-summary .shop_table .order-total th,
.s-summary .shop_table .order-total td {
  padding-top: 0.95rem !important;
  border-top: 1px solid rgba(247, 244, 238, 0.14) !important;
  color: #fff !important;
  font-size: 1.05rem;
}
.s-summary .shop_table .order-total td,
.s-summary .shop_table .order-total .amount,
.s-summary .shop_table .order-total strong {
  font-family: var(--font-serif, Georgia, serif);
  font-size: 1.65rem !important;
  font-weight: 500 !important;
  color: #f0b4ae !important;
}
.s-summary__cta {
  margin-top: 1.25rem;
}
.s-summary__cta .checkout-button,
.s-summary__cta .button.checkout,
.s-summary__cta a.checkout-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 3.35rem !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #c24b42, #a83f38) !important;
  color: #fff !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: 0 14px 32px rgba(194, 75, 66, 0.35) !important;
}
.s-summary__cta .checkout-button:hover,
.s-summary__cta .button.checkout:hover {
  background: linear-gradient(135deg, #d2554c, #b3443c) !important;
  color: #fff !important;
}
.s-summary__note {
  margin: 1rem 0 0;
  font-size: 0.78rem;
  line-height: 1.45;
  color: rgba(247, 244, 238, 0.48);
}
.s-summary a {
  color: #f0b4ae;
}

/* Drawer line cards */
.cart-line--card {
  grid-template-columns: 4.5rem 1fr auto;
  gap: 0.85rem;
  padding: 0.95rem;
  margin-bottom: 0.65rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: #fff;
  border-bottom: 1px solid var(--line);
  align-items: center;
}
.cart-line--card .cart-line__img,
.cart-line--card .cart-line__img img {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 0.75rem;
  object-fit: cover;
}
.cart-line--card .cart-line__qty {
  border-radius: 999px;
  overflow: hidden;
  min-height: 2.2rem;
}
.cart-line--card .cart-line__qty-btn {
  width: 2.15rem;
  height: 2.15rem;
}
.cart-line--card .meta--price {
  margin-bottom: 0.5rem;
  color: var(--ink);
  font-weight: 500;
}
.s-summary .shop_table {
  width: 100%;
  border: 0 !important;
  margin: 0 0 1.15rem !important;
  background: transparent !important;
}
.s-summary .shop_table th,
.s-summary .shop_table td {
  border: 0 !important;
  padding: 0.55rem 0 !important;
  background: transparent !important;
  font-weight: 400;
  color: var(--muted);
  font-size: 0.95rem;
}
.s-summary .shop_table td {
  text-align: right;
  color: var(--ink);
}
.s-summary .shop_table .order-total th,
.s-summary .shop_table .order-total td {
  padding-top: 1rem !important;
  border-top: 1px solid rgba(28, 27, 31, 0.1) !important;
  font-size: 1.05rem;
  color: var(--ink);
}
.s-summary .shop_table .order-total td {
  font-family: var(--font-serif);
  font-size: 1.55rem;
  color: var(--coral);
}
.s-summary .shop_table .order-total strong {
  font-weight: 400;
}
.s-summary__cta .checkout-button {
  width: 100% !important;
  margin: 0 !important;
  min-height: 3.25rem !important;
  border-radius: 10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}
.s-summary__note {
  font-size: 0.8rem;
  color: var(--muted);
  text-align: center;
  margin-top: 0.85rem;
  line-height: 1.45;
}
.s-summary__ship {
  margin-top: 1.15rem;
  padding: 1rem;
  background: #fff;
  border: 1px solid rgba(28, 27, 31, 0.08);
  border-radius: 10px;
}
.s-summary__ship strong {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 0.55rem;
  color: var(--ink);
}
.s-summary__ship ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}
.s-summary__ship li {
  font-size: 0.88rem;
  color: var(--muted);
  padding-left: 0.9rem;
  position: relative;
}
.s-summary__ship li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--coral);
}
.s-summary__trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(28, 27, 31, 0.08);
  list-style: none;
}
.s-summary__trust li {
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

/* Empty cart */
.s-cart-empty {
  text-align: center;
  max-width: 28rem;
  margin: 2rem auto 4rem;
  padding: 2rem 1rem;
}
.s-cart-empty__icon {
  color: var(--muted);
  opacity: 0.45;
  margin-bottom: 1rem;
}
.s-cart-empty h1 {
  font-size: clamp(1.85rem, 4vw, 2.4rem);
  margin: 0.35rem 0 0.75rem;
}
.s-cart-empty .lede {
  margin: 0 auto 1.5rem;
}
.s-cart-empty__btns {
  justify-content: center;
}
.s-cart-empty--v2 {
  min-height: min(70vh, 640px);
  display: grid;
  place-items: center;
  padding: clamp(2.5rem, 6vw, 4rem) 1.25rem;
  margin: 0;
  max-width: none;
}
.s-cart-empty--v2 .s-cart-empty__panel {
  max-width: 28rem;
  text-align: center;
  padding: clamp(1.75rem, 4vw, 2.5rem);
  border-radius: 1.5rem;
  border: 1px solid rgba(18, 63, 58, 0.1);
  background: #fff;
  box-shadow: 0 24px 60px rgba(11, 37, 34, 0.1);
}
.s-cart-empty--v2 .s-cart-empty__media {
  width: 8.5rem;
  height: 8.5rem;
  margin: 0 auto 1.25rem;
  border-radius: 1.25rem;
  overflow: hidden;
  background: #f4f0e9;
  box-shadow: 0 12px 28px rgba(11, 37, 34, 0.12);
}
.s-cart-empty--v2 .s-cart-empty__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.75rem;
}
.s-cart-empty--v2 h1 {
  font-family: var(--font-serif, Georgia, serif);
  color: var(--teal-deep, #0b2522);
}
.cart-empty.woocommerce-info,
.return-to-shop,
.wc-empty-cart-message {
  display: none !important;
}

/* PDP trust + shipping */
.pdp__ship-banner {
  display: grid;
  gap: 0.2rem;
  margin: 1rem 0 1.25rem;
  padding: 0.9rem 1rem;
  background: linear-gradient(135deg, rgba(10, 79, 76, 0.08), rgba(194, 75, 66, 0.08));
  border: 1px solid rgba(10, 79, 76, 0.15);
  border-radius: 10px;
}
.pdp__ship-banner strong {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--teal-deep, #0b2522);
}
.pdp__ship-banner span {
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.45;
}
.pdp__trust-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin: 1.5rem 0 1.75rem;
}
@media (min-width: 700px) {
  .pdp__trust-grid { grid-template-columns: 1fr 1fr 1fr; }
}
.pdp__trust-card {
  padding: 0.9rem 0.85rem;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.pdp__trust-card:hover {
  border-color: rgba(194, 75, 66, 0.3);
  box-shadow: 0 10px 28px rgba(28, 27, 31, 0.06);
  transform: translateY(-2px);
}
.pdp__trust-icon {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: 0.55rem;
  color: var(--coral);
}
.pdp__trust-icon .sil-icon { width: 100%; height: 100%; }
.pdp__trust-card strong {
  display: block;
  font-size: 0.88rem;
  margin-bottom: 0.25rem;
  color: var(--ink);
}
.pdp__trust-card span {
  font-size: 0.8rem;
  color: var(--muted);
  line-height: 1.4;
}

/* ==========================================================================
   Checkout — full Shopify-style split layout
   ========================================================================== */
body.silvaris-checkout-focus .bar,
body.silvaris-checkout-focus .header,
body.silvaris-checkout-focus .footer,
body.silvaris-checkout-focus .mnav,
body.silvaris-checkout-focus .sticky-buy,
body.silvaris-checkout-focus .cookie-banner,
body.silvaris-checkout-focus .drawer,
body.silvaris-checkout-focus .overlay {
  display: none !important;
}
body.silvaris-checkout-focus {
  background: #fff;
}
body.silvaris-checkout-focus .silvaris-woo-main,
body.silvaris-checkout-focus .silvaris-woo-main--checkout {
  padding: 0 !important;
  min-height: 100vh;
  min-height: 100dvh;
}
body.silvaris-checkout-focus .silvaris-woo-main > .wrap,
body.silvaris-checkout-focus .silvaris-woo-wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Hide default coupon / login / page title chrome */
body.silvaris-checkout-focus .woocommerce-form-coupon-toggle,
body.silvaris-checkout-focus form.checkout_coupon.woocommerce-form-coupon,
body.silvaris-checkout-focus .woocommerce-form-login-toggle,
body.silvaris-checkout-focus form.woocommerce-form-login,
body.silvaris-checkout-focus .page-default__inner > .section-head,
body.silvaris-checkout-focus .section-head,
body.silvaris-checkout-focus .entry-header,
body.silvaris-checkout-focus .woocommerce-billing-fields > h3,
body.silvaris-checkout-focus .woocommerce-shipping-fields > h3,
body.silvaris-checkout-focus .woocommerce-additional-fields > h3,
body.silvaris-checkout-focus .s-field-hidden,
body.silvaris-checkout-focus .form-row.s-field-hidden {
  display: none !important;
}
/* Never stack two checkouts / summaries */
body.silvaris-checkout-focus .s-checkout + .s-checkout,
body.silvaris-checkout-focus #silvaris-checkout ~ #silvaris-checkout,
body.silvaris-checkout-focus .s-checkout__right ~ .s-checkout__right {
  display: none !important;
}
/* Suppress second "OR" from wallet widgets (we draw our own once) */
body.silvaris-checkout-focus .s-checkout__express .wcpay-express-checkout-button-separator,
body.silvaris-checkout-focus .s-checkout__express #wcpay-express-checkout-button-separator,
body.silvaris-checkout-focus .s-checkout__express .wc-block-components-express-payment-continue-rule,
body.silvaris-checkout-focus .s-checkout__express hr,
body.silvaris-checkout-focus .s-checkout__express .express-divider {
  display: none !important;
}

.s-checkout__form { margin: 0; }
.s-checkout__grid {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 100vh;
}
@media (min-width: 960px) {
  .s-checkout__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.95fr);
  }
}

/* LEFT column */
.s-checkout__left {
  background: #fff;
  border-bottom: 1px solid var(--line);
}
@media (min-width: 960px) {
  .s-checkout__left {
    border-bottom: 0;
    border-right: 1px solid var(--line);
  }
}
.s-checkout__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem 1.25rem;
  padding: 1.15rem clamp(1.25rem, 4vw, 2.5rem);
  border-bottom: 1px solid var(--line);
}
.s-checkout__brand {
  font-size: 1.45rem;
  letter-spacing: 0.12em;
}
.s-checkout__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}
.s-checkout__steps a { color: var(--coral); }
.s-checkout__steps .is-current {
  color: var(--ink);
  font-weight: 500;
}
.s-checkout__chev {
  opacity: 0.45;
  font-size: 0.95rem;
  line-height: 1;
}
.s-checkout__left-inner {
  width: min(100% - 2.5rem, 36rem);
  margin: 0 auto;
  padding: 1.5rem 0 3rem;
}
@media (min-width: 960px) {
  .s-checkout__left-inner {
    width: min(100% - 4rem, 34rem);
    margin-left: auto;
    margin-right: clamp(1.5rem, 4vw, 3rem);
    padding: 2rem 0 4rem;
  }
}

/* Express checkout */
.s-checkout__express:empty,
.s-checkout__express:not(:has(*)) { display: none; }
.s-checkout__express:not(:empty) {
  margin-bottom: 1.5rem;
  padding-bottom: 1.35rem;
  border-bottom: 1px solid var(--line);
  position: relative;
  display: grid;
  gap: 0.55rem;
}
.s-checkout__express:not(:empty)::after {
  content: 'OR';
  position: absolute;
  left: 50%;
  bottom: -0.55rem;
  transform: translateX(-50%);
  background: #fff;
  padding: 0 0.75rem;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  color: var(--muted);
  z-index: 1;
}
.s-checkout__express .woocommerce-info { margin: 0; }
.s-checkout__express iframe,
.s-checkout__express button,
.s-checkout__express .wcpay-express-checkout-element {
  max-width: 100%;
}

.s-checkout__block {
  margin-bottom: 1.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.s-checkout__block-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.85rem;
}
.s-checkout__block h2 {
  font-family: var(--font-sans);
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  margin: 0 0 0.85rem;
  color: var(--ink);
}
.s-checkout__block-head h2 { margin: 0; }
.s-checkout__login-hint a {
  font-size: 0.88rem;
  color: var(--coral);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.s-checkout__secure {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.82rem;
  color: var(--muted);
  margin: 0 0 1rem;
}
.s-checkout__secure svg { color: var(--teal-mid); flex-shrink: 0; }

/* Form fields — Shopify-ish */
.s-checkout .woocommerce-billing-fields > h3,
.s-checkout .woocommerce-shipping-fields > h3,
.s-checkout .woocommerce-additional-fields > h3,
.s-checkout .woocommerce-billing-fields__field-wrapper + h3,
.s-checkout #ship-to-different-address {
  font-family: var(--font-sans);
  font-size: 0.95rem;
  font-weight: 500;
  margin: 1.25rem 0 0.75rem;
}
.s-checkout #ship-to-different-address label {
  font-size: 0.92rem;
  cursor: pointer;
}
.s-checkout .form-row {
  margin: 0 0 0.75rem !important;
  padding: 0 !important;
  width: 100%;
}
.s-checkout .form-row-first,
.s-checkout .form-row-last {
  width: 48.5% !important;
  float: left;
}
.s-checkout .form-row-last { float: right; }
.s-checkout .form-row-wide { width: 100% !important; clear: both; }
.s-checkout .woocommerce-billing-fields__field-wrapper::after,
.s-checkout .woocommerce-shipping-fields__field-wrapper::after,
.s-checkout .woocommerce-additional-fields__field-wrapper::after {
  content: '';
  display: table;
  clear: both;
}
@media (max-width: 600px) {
  .s-checkout .form-row-first,
  .s-checkout .form-row-last {
    width: 100% !important;
    float: none !important;
  }
}
.s-checkout .form-row label {
  font-size: 0.72rem !important;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--muted) !important;
  margin-bottom: 0.35rem !important;
  line-height: 1.3;
}
.s-checkout .form-row label .optional {
  font-style: normal;
  opacity: 0.7;
}
.s-checkout .form-row input.input-text,
.s-checkout .form-row textarea,
.s-checkout .form-row select,
.s-checkout .select2-container .select2-selection--single {
  border: 1px solid #d0cbc3 !important;
  background: #fff !important;
  border-radius: 5px !important;
  min-height: 3rem !important;
  padding: 0.7rem 0.9rem !important;
  font-size: 1rem !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.s-checkout .form-row input.input-text:focus,
.s-checkout .form-row textarea:focus,
.s-checkout .form-row select:focus {
  border-color: var(--coral) !important;
  box-shadow: 0 0 0 3px rgba(194, 75, 66, 0.12) !important;
  outline: none;
}
.s-checkout .select2-container--default .select2-selection--single {
  display: flex !important;
  align-items: center;
}
.s-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 !important;
  line-height: 1.4 !important;
  color: var(--ink) !important;
}
.s-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100% !important;
  top: 0 !important;
}
.s-checkout .woocommerce-input-wrapper { display: block; width: 100%; }
.s-checkout .create-account,
.s-checkout .woocommerce-account-fields {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--line);
}

/* Card chips */
.s-checkout__cards { display: flex; gap: 0.35rem; }
.s-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 1.55rem;
  padding: 0 0.4rem;
  border-radius: 3px;
  border: 1px solid var(--line);
  background: #fff;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--charcoal);
}
.s-card-icon--visa { color: #1a1f71; }
.s-card-icon--mc { color: #eb001b; }
.s-card-icon--amex { color: #2e77bc; }

/* Payment methods */
.s-payment,
.s-checkout #payment {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.s-checkout #payment ul.payment_methods {
  list-style: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 1.15rem !important;
}
.s-checkout #payment ul.payment_methods > li {
  list-style: none !important;
  background: #fff !important;
  border: 1px solid #d0cbc3 !important;
  margin: 0 0 -1px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: hidden;
}
.s-checkout #payment ul.payment_methods > li:first-child {
  border-radius: 6px 6px 0 0 !important;
}
.s-checkout #payment ul.payment_methods > li:last-child {
  border-radius: 0 0 6px 6px !important;
  margin-bottom: 0 !important;
}
.s-checkout #payment ul.payment_methods > li:only-child {
  border-radius: 6px !important;
}
.s-checkout #payment ul.payment_methods > li > label {
  display: flex !important;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  padding: 0.95rem 1rem !important;
  margin: 0 !important;
  cursor: pointer;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--ink);
}
.s-checkout #payment ul.payment_methods > li > input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.s-checkout #payment ul.payment_methods > li > label::before {
  content: '';
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 50%;
  border: 2px solid #c5bfb6;
  flex-shrink: 0;
  box-sizing: border-box;
  background: #fff;
}
.s-checkout #payment ul.payment_methods > li > input[type="radio"]:checked + label::before,
.s-checkout #payment ul.payment_methods > li:has(> input:checked) > label::before {
  border-color: var(--coral);
  box-shadow: inset 0 0 0 3px var(--coral);
}
.s-checkout #payment ul.payment_methods > li:has(> input:checked) {
  background: #fffaf9 !important;
  border-color: var(--coral) !important;
  position: relative;
  z-index: 1;
}
.s-checkout #payment ul.payment_methods > li label img {
  height: 1.35rem;
  width: auto;
  margin-left: auto;
}
.s-checkout #payment div.payment_box {
  background: #faf8f5 !important;
  border: 0 !important;
  border-top: 1px solid #ebe6df !important;
  margin: 0 !important;
  padding: 1rem 1.1rem 1.15rem !important;
  color: var(--muted);
  font-size: 0.9rem;
  border-radius: 0 !important;
}
.s-checkout #payment div.payment_box::before { display: none !important; }
.s-checkout #payment div.payment_box p:last-child { margin-bottom: 0; }

/* WooPayments / Stripe */
.s-checkout .StripeElement,
.s-checkout .wcpay-card,
.s-checkout #wc-woocommerce_payments-upe-form,
.s-checkout .payment_box .form-row input.input-text,
.s-checkout .wc-block-components-text-input input {
  border-radius: 5px !important;
  min-height: 2.75rem;
}
.s-checkout .woocommerce-SavedPaymentMethods {
  list-style: none;
  padding: 0;
  margin: 0 0 0.75rem;
}

.s-payment__place,
.s-checkout #payment .place-order {
  margin: 0 !important;
  padding: 0.25rem 0 0 !important;
  width: 100%;
  float: none !important;
}
.s-checkout #payment #place_order,
.s-payment__submit {
  width: 100% !important;
  margin-top: 0.85rem !important;
  min-height: 3.4rem !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 5px !important;
  background: var(--coral) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 10px 28px rgba(194, 75, 66, 0.28) !important;
  cursor: pointer;
}
.s-checkout #payment #place_order:hover {
  background: var(--coral-deep) !important;
}

/* Terms */
.s-checkout .woocommerce-terms-and-conditions-wrapper {
  margin: 0.85rem 0 0.25rem;
  font-size: 0.88rem;
  color: var(--muted);
}
.s-checkout .woocommerce-privacy-policy-text {
  font-size: 0.84rem;
  color: var(--muted);
  margin-bottom: 0.65rem;
  line-height: 1.5;
}
.s-checkout .woocommerce-privacy-policy-text a,
.s-checkout .woocommerce-terms-and-conditions-wrapper a {
  color: var(--coral);
}

.s-checkout__legal {
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
  text-align: center;
  font-size: 0.78rem;
  color: var(--muted);
}
.s-checkout__legal a {
  color: var(--muted);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.s-checkout__legal a:hover { color: var(--coral); }
.s-checkout__copy { margin-top: 0.45rem; opacity: 0.75; }

/* RIGHT column — order summary */
.s-checkout__right {
  background: #f3efe8;
}
.s-checkout__right-inner {
  width: min(100% - 2.5rem, 26rem);
  margin: 0 auto;
  padding: 1.25rem 0 2.5rem;
}
@media (min-width: 960px) {
  .s-checkout__right-inner {
    width: min(100% - 3rem, 24rem);
    margin-left: clamp(1.5rem, 3vw, 2.5rem);
    margin-right: auto;
    padding: 2.25rem 0 4rem;
    position: sticky;
    top: 0;
  }
  .s-checkout__summary-toggle { display: none !important; }
}
.s-checkout__summary-toggle {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 0;
  border: 0;
  background: none;
  font-size: 0.9rem;
  color: var(--ink);
  cursor: pointer;
}
.s-checkout__summary-total-mobile {
  font-family: var(--font-serif);
  font-size: 1.2rem;
  color: var(--coral);
  font-weight: 400;
}
@media (max-width: 959px) {
  .s-checkout__summary:not(.is-open) {
    display: none;
  }
  .s-checkout__right-inner {
    border-bottom: 1px solid var(--line);
  }
}

.s-checkout__lines {
  list-style: none;
  margin: 0 0 1.1rem;
  padding: 0;
}
.s-checkout__line {
  display: grid;
  grid-template-columns: 4rem 1fr auto;
  gap: 0.85rem;
  align-items: center;
  padding: 0.7rem 0;
}
.s-checkout__line-img {
  position: relative;
  width: 4rem;
  height: 4rem;
}
.s-checkout__line-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 1px solid rgba(28, 27, 31, 0.1);
  border-radius: 8px;
  background: #fff;
}
.s-checkout__qty {
  position: absolute;
  top: -0.4rem;
  right: -0.4rem;
  min-width: 1.3rem;
  height: 1.3rem;
  padding: 0 0.3rem;
  border-radius: 999px;
  background: rgba(28, 27, 31, 0.72);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 500;
  display: grid;
  place-items: center;
  border: 2px solid #f3efe8;
}
.s-checkout__line-name {
  font-size: 0.92rem;
  color: var(--ink);
  line-height: 1.35;
  font-weight: 400;
}
.s-checkout__line-price {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  color: var(--ink);
  white-space: nowrap;
}

.s-checkout__discount {
  margin: 0 0 1rem;
  padding: 0.85rem 0;
  border-top: 1px solid rgba(28, 27, 31, 0.08);
  border-bottom: 1px solid rgba(28, 27, 31, 0.08);
}
.s-checkout__discount-row {
  display: flex;
  gap: 0.5rem;
}
.s-checkout__discount-row .input-text {
  flex: 1;
  min-height: 2.85rem;
  border: 1px solid #d0cbc3;
  background: #fff;
  padding: 0.65rem 0.9rem;
  border-radius: 5px;
  font-size: 0.95rem;
}
.s-checkout__discount-row .btn {
  min-height: 2.85rem;
  padding: 0 1rem;
  background: #fff !important;
  color: var(--ink) !important;
  border: 1px solid #d0cbc3 !important;
  box-shadow: none !important;
}

/* Live totals table */
.s-checkout .s-checkout-totals,
.s-checkout .woocommerce-checkout-review-order-table {
  width: 100% !important;
  border: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border-collapse: collapse;
}
.s-checkout .s-checkout-totals th,
.s-checkout .s-checkout-totals td,
.s-checkout .woocommerce-checkout-review-order-table th,
.s-checkout .woocommerce-checkout-review-order-table td {
  border: 0 !important;
  padding: 0.55rem 0 !important;
  background: transparent !important;
  font-weight: 400 !important;
  font-size: 0.95rem;
  color: var(--muted);
  vertical-align: top;
}
.s-checkout .s-checkout-totals td,
.s-checkout .woocommerce-checkout-review-order-table td {
  text-align: right;
  color: var(--ink);
}
.s-checkout .s-checkout-totals .order-total th,
.s-checkout .s-checkout-totals .order-total td,
.s-checkout .woocommerce-checkout-review-order-table .order-total th,
.s-checkout .woocommerce-checkout-review-order-table .order-total td {
  padding-top: 0.95rem !important;
  border-top: 1px solid rgba(28, 27, 31, 0.1) !important;
  font-size: 1rem;
  color: var(--ink);
}
.s-checkout .s-checkout-totals .order-total td,
.s-checkout .woocommerce-checkout-review-order-table .order-total td,
.s-checkout .s-checkout-totals .order-total strong,
.s-checkout .woocommerce-checkout-review-order-table .order-total strong {
  font-family: var(--font-serif);
  font-size: 1.55rem !important;
  font-weight: 400 !important;
  color: var(--coral) !important;
}
/* Shipping method radios in summary */
.s-checkout .woocommerce-shipping-totals th {
  display: block;
  width: 100%;
  padding-bottom: 0.35rem !important;
  text-align: left;
  color: var(--ink) !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
}
.s-checkout .woocommerce-shipping-totals td {
  display: block;
  width: 100%;
  text-align: left !important;
}
.s-checkout .woocommerce-shipping-totals ul {
  list-style: none;
  margin: 0.25rem 0 0;
  padding: 0;
  text-align: left;
  display: grid;
  gap: 0.45rem;
}
.s-checkout .woocommerce-shipping-totals li {
  margin: 0;
  font-size: 0.9rem;
  border: 1px solid #d0cbc3;
  border-radius: 6px;
  padding: 0.7rem 0.85rem;
  background: #fff;
  transition: border-color 0.15s, background 0.15s;
}
.s-checkout .woocommerce-shipping-totals li:has(input:checked) {
  border-color: var(--coral);
  background: #fffaf9;
}
.s-checkout .woocommerce-shipping-totals label {
  cursor: pointer;
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  margin: 0;
}
.s-checkout .woocommerce-shipping-totals input[type="radio"] {
  margin: 0 0.5rem 0 0;
  accent-color: var(--coral);
}

.s-checkout .s-summary__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(28, 27, 31, 0.08);
  justify-content: flex-start;
  list-style: none;
  padding-left: 0;
}
.s-checkout .s-summary__trust li {
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.s-checkout .s-summary__trust li::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--teal-mid, #1a6b66);
  flex-shrink: 0;
}

/* Summary toggle chevron (mobile) */
.s-checkout__summary-toggle-label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}
.s-checkout__summary-chev {
  width: 0.55rem;
  height: 0.55rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s;
  margin-top: -0.2rem;
}
.s-checkout__summary-toggle[aria-expanded="true"] .s-checkout__summary-chev {
  transform: rotate(-135deg);
  margin-top: 0.15rem;
}
.s-checkout__discount-msg {
  margin: 0.45rem 0 0;
  font-size: 0.82rem;
  color: var(--coral);
}
.s-checkout__discount-msg.is-ok { color: var(--teal-mid, #1a6b66); }

/* Clear floats after half-width rows */
.s-checkout .woocommerce-billing-fields__field-wrapper,
.s-checkout .woocommerce-shipping-fields__field-wrapper {
  display: flow-root;
}

/* Mobile: summary above form (Shopify-like) */
@media (max-width: 959px) {
  .s-checkout__grid {
    display: flex;
    flex-direction: column;
  }
  .s-checkout__right {
    order: -1;
  }
  .s-checkout__left {
    border-bottom: 0;
  }
  .s-checkout__summary-toggle {
    padding: 1rem 0;
  }
  .s-checkout__right-inner {
    padding-top: 0.25rem;
    padding-bottom: 0.75rem;
  }
}

/* Notices on checkout */
body.silvaris-checkout-focus .woocommerce-notices-wrapper,
body.silvaris-checkout-focus .woocommerce-message,
body.silvaris-checkout-focus .woocommerce-error,
body.silvaris-checkout-focus .woocommerce-info {
  width: min(100% - 2.5rem, 36rem);
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 960px) {
  body.silvaris-checkout-focus .woocommerce-notices-wrapper {
    width: min(100% - 4rem, 34rem);
    margin-right: clamp(1.5rem, 4vw, 3rem);
    margin-left: auto;
  }
}

/* Thank you / order received */
.s-thankyou {
  width: min(100% - 2rem, 40rem);
  margin: 2rem auto 4rem;
}
.s-thankyou__panel {
  background: #fff;
  border: 1px solid rgba(18, 63, 58, 0.1);
  border-radius: 1.15rem;
  padding: clamp(1.5rem, 4vw, 2.25rem);
  box-shadow: 0 16px 40px rgba(11, 37, 34, 0.07);
}
.s-thankyou__panel--fail {
  border-color: rgba(194, 75, 66, 0.25);
}
.s-thankyou__kicker {
  margin: 0 0 0.45rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #c24b42;
}
.s-thankyou__title {
  margin: 0 0 0.65rem;
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(1.85rem, 4vw, 2.45rem);
  font-weight: 500;
  color: #0b2522;
  line-height: 1.15;
}
.s-thankyou__lede {
  margin: 0 0 1.35rem;
  font-size: 1rem;
  line-height: 1.55;
  color: #5c574f;
}
.s-thankyou__meta {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem 1rem;
}
@media (max-width: 520px) {
  .s-thankyou__meta { grid-template-columns: 1fr; }
}
.s-thankyou__meta li {
  background: #faf8f4;
  border: 1px solid rgba(18, 63, 58, 0.08);
  border-radius: 0.75rem;
  padding: 0.75rem 0.9rem;
  display: grid;
  gap: 0.2rem;
}
.s-thankyou__meta span {
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8a847c;
}
.s-thankyou__meta strong {
  font-size: 0.95rem;
  font-weight: 600;
  color: #0b2522;
  word-break: break-word;
}
.s-thankyou__next {
  margin: 0 0 1.25rem;
  padding: 1rem 1.1rem;
  border-radius: 0.85rem;
  background: rgba(18, 63, 58, 0.05);
  border: 1px solid rgba(18, 63, 58, 0.08);
}
.s-thankyou__next h2 {
  margin: 0 0 0.55rem;
  font-size: 0.95rem;
  color: #0b2522;
}
.s-thankyou__next ol {
  margin: 0;
  padding-left: 1.15rem;
  color: #5c574f;
  font-size: 0.92rem;
  line-height: 1.5;
}
.s-thankyou__next li { margin: 0.25rem 0; }
.s-thankyou__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1rem;
  margin: 0 0 1.35rem;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a847c;
}
.s-thankyou__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0;
}
.s-thankyou__actions .btn {
  width: auto;
  min-width: 10rem;
}
.s-thankyou__details {
  margin-top: 1.75rem;
  background: #fff;
  border: 1px solid rgba(18, 63, 58, 0.1);
  border-radius: 1rem;
  padding: 1.25rem 1.35rem 1.5rem;
}
.s-thankyou__details h2 {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  color: #0b2522;
}
.silvaris-order-received .woocommerce-order,
.woocommerce-order {
  max-width: none;
  margin: 0;
  background: transparent;
  border: 0;
  padding: 0;
  box-shadow: none;
}
.woocommerce-order .woocommerce-thankyou-order-received {
  font-family: var(--font-serif);
  font-size: 1.75rem;
  color: var(--ink);
  margin-bottom: 1rem;
}

/* Toast */
.silvaris-toast {
  position: fixed;
  bottom: 1.35rem;
  left: 50%;
  transform: translateX(-50%) translateY(120%);
  z-index: 400;
  padding: 0.8rem 1.25rem;
  background: var(--coral);
  color: var(--white);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}
.silvaris-toast.is-visible {
  transform: translateX(-50%) translateY(0);
}

/* Header cart as button */
button.icon-btn {
  appearance: none;
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  padding: 0;
  cursor: pointer;
}

/* Quantity on product (Woo default hidden when we use custom) */
.pdp .quantity { display: none; }

/* Tables fallback */
.woocommerce table.shop_table {
  border: 1px solid var(--line);
  background: var(--white);
  border-collapse: collapse;
  width: 100%;
}

/* My account light polish */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: inline-block;
  padding: 0.55rem 0.9rem;
  border: 1px solid var(--line);
  background: var(--white);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  border-color: var(--coral);
  color: var(--coral);
}

/* ==========================================================================
   My Account — login / register / lost password
   ========================================================================== */

body.woocommerce-account .woocommerce {
  max-width: 100%;
}

/* Logged-out split: login | register */
.woocommerce-account .u-columns,
.woocommerce-account .col2-set {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin: 0;
}
@media (min-width: 800px) {
  .woocommerce-account .u-columns,
  .woocommerce-account .col2-set {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }
}
.woocommerce-account .u-column1,
.woocommerce-account .u-column2,
.woocommerce-account .col-1,
.woocommerce-account .col-2 {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account form.lost_reset_password,
.woocommerce-account form.woocommerce-ResetPassword,
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-address-fields {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: clamp(1.35rem, 3vw, 2rem);
  box-shadow: 0 18px 48px rgba(28, 27, 31, 0.06);
}

.woocommerce-account h2,
.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .u-column1 > h2,
.woocommerce-account .u-column2 > h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.65rem, 3vw, 2rem);
  font-weight: 400;
  color: var(--ink);
  margin: 0 0 1.15rem;
  letter-spacing: 0.01em;
}

.woocommerce-account .woocommerce-form-login__rememberme,
.woocommerce-account .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.88rem;
  letter-spacing: 0;
  text-transform: none;
  margin: 0.35rem 0 1rem;
  color: var(--muted);
}
.woocommerce-account .woocommerce-form-login__rememberme input {
  width: 1rem;
  height: 1rem;
  margin: 0;
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register .woocommerce-form-register__submit,
.woocommerce-account form.lost_reset_password .button,
.woocommerce-account form.woocommerce-ResetPassword .button,
.woocommerce-account button.woocommerce-Button {
  width: 100%;
  margin-top: 0.35rem;
}

.woocommerce-account .woocommerce-LostPassword,
.woocommerce-account .lost_password {
  margin-top: 1rem;
  text-align: center;
}
.woocommerce-account .woocommerce-LostPassword a,
.woocommerce-account .lost_password a {
  font-size: 0.82rem;
  color: var(--coral);
  letter-spacing: 0.04em;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.woocommerce-account .woocommerce-LostPassword a:hover,
.woocommerce-account .lost_password a:hover {
  color: var(--coral-deep);
}

/* Lost password single form — centered card */
body.woocommerce-account:not(.logged-in) form.lost_reset_password,
body.woocommerce-lost-password form.lost_reset_password,
body.woocommerce-ResetPassword form.woocommerce-ResetPassword {
  max-width: 28rem;
  margin: 0 auto;
}
body.woocommerce-lost-password .page-default__inner,
body.woocommerce-ResetPassword .page-default__inner {
  max-width: 32rem;
}

.woocommerce-account form .form-row input.input-text,
.woocommerce-account form .form-row textarea,
.woocommerce-account form .form-row select {
  width: 100%;
  min-height: 3rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: var(--ivory);
  font-family: var(--font-sans);
  font-size: 0.95rem;
  color: var(--ink);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.woocommerce-account form .form-row input.input-text:focus,
.woocommerce-account form .form-row textarea:focus {
  outline: none;
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(11, 92, 90, 0.12);
  background: var(--white);
}

/* Dashboard nav when logged in */
.woocommerce-MyAccount-navigation {
  margin-bottom: 1.5rem;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.woocommerce-MyAccount-navigation li a {
  display: inline-flex;
  align-items: center;
  min-height: 2.4rem;
  padding: 0.45rem 0.9rem;
  border: 1px solid var(--line);
  background: var(--white);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--charcoal);
  border-radius: 2px;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
  background: var(--teal);
  border-color: var(--teal);
  color: var(--ivory);
}
.woocommerce-MyAccount-content {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: clamp(1.25rem, 3vw, 1.85rem);
  box-shadow: 0 12px 36px rgba(28, 27, 31, 0.04);
}
@media (min-width: 900px) {
  .woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 12.5rem 1fr;
    gap: 1.75rem;
    align-items: start;
  }
  .woocommerce-MyAccount-navigation {
    margin: 0;
  }
  .woocommerce-MyAccount-navigation ul {
    flex-direction: column;
    gap: 0.35rem;
  }
  .woocommerce-MyAccount-navigation li a {
    width: 100%;
    justify-content: flex-start;
  }
  /* Login/register still full width, not dashboard grid */
  body.woocommerce-account:not(.logged-in) .woocommerce {
    display: block;
  }
}

/* Privacy text under register */
.woocommerce-account .woocommerce-privacy-policy-text {
  font-size: 0.82rem;
  color: var(--muted);
  line-height: 1.55;
  margin-bottom: 1rem;
}
.woocommerce-account .woocommerce-privacy-policy-text a {
  color: var(--coral);
}

/* Mobile account */
@media (max-width: 520px) {
  .woocommerce-account .woocommerce-form-login,
  .woocommerce-account .woocommerce-form-register,
  .woocommerce-account form.lost_reset_password {
    padding: 1.15rem;
  }
  .woocommerce-MyAccount-navigation ul {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.25rem;
  }
  .woocommerce-MyAccount-navigation li a {
    white-space: nowrap;
  }
}


/* Auth page headings (login / register / lost password) */
.sil-auth__head {
  text-align: center;
  margin: 0 auto 1.75rem;
  max-width: 32rem;
}
.sil-auth__head h1 {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4.5vw, 2.75rem);
  font-weight: 400;
  margin: 0.35rem 0 0.65rem;
  color: var(--ink);
}
.sil-auth__lede {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
}
.sil-auth__hint {
  font-size: 0.88rem;
  color: var(--muted);
  line-height: 1.55;
  margin: 0 0 1rem;
  padding: 0.75rem 0.9rem;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 2px;
}
.sil-auth--narrow {
  max-width: 28rem;
  margin: 0 auto;
}
body.woocommerce-account:not(.logged-in) .page-default__content > .woocommerce > .woocommerce-notices-wrapper {
  max-width: 44rem;
  margin-inline: auto;
}
/* Hide default page H1 when our sil-auth provides one (login screen only) */
body.woocommerce-account:not(.logged-in) .page-default .section-head {
  display: none;
}

