/*
Theme Name:   Silver Apples Foundation
Theme URI:    https://silverapples.foundation
Description:  WooCommerce child theme matching the Silver Apples Foundation Next.js site. Child of Storefront.
Author:       Hidden Mantra
Author URI:   https://pmeggs-portfolio.co.uk
Template:     storefront
Version:      1.3.0
Text Domain:  silver-apples-foundation
*/

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Share+Tech+Mono&display=swap');

/* ── Tokens ──────────────────────────────────────────────────────────────────── */
:root {
  --black:   #0d0b09;
  --white:   #ffffff;
  --paper:   #f8f6f2;
  --rule:    #d8d4ce;
  --silver:  #555050;
  --amber:   #c88808;
  --ff-d:    'Bebas Neue', sans-serif;
  --ff-s:    'Cormorant Garamond', Georgia, serif;
  --ff-m:    'Share Tech Mono', monospace;
}

/* ── Reset ───────────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 17px; -webkit-font-smoothing: antialiased; }
body { font-family: var(--ff-s); background: var(--white); color: var(--black); margin: 0; }

/* ── Hide Storefront header/footer/sidebar ───────────────────────────────────── */
.site-header,
.site-footer,
.storefront-handheld-footer-bar,
.widget-area,
#secondary { display: none !important; }

/* ── Full width content area ─────────────────────────────────────────────────── */
.site-content,
.col-full,
.woocommerce-page .content-area,
.woocommerce .content-area { max-width:100%!important; width:100%!important; padding:0!important; margin:0!important; float:none!important; }
.site-main { padding-top:80px!important; margin:0!important; float:none!important; width:100%!important; }

/* ── Hamburger ───────────────────────────────────────────────────────────────── */
#sa-hamburger {
  position:fixed; top:24px; left:24px; z-index:600;
  width:44px; height:56px;
  background:rgba(255,255,255,0.92); backdrop-filter:blur(6px);
  border:none; border-radius:4px; cursor:pointer;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  padding:10px 8px 8px;
  gap:4px;
}
#sa-hamburger span:not(.saf-menu-label) { display:block; height:1.5px; width:28px; background:var(--black); transform-origin:center; transition:transform 0.3s ease,opacity 0.2s ease; }
.saf-menu-label { font-family:var(--mono)!important; font-size:8px!important; letter-spacing:0.25em!important; text-transform:uppercase!important; color:var(--black)!important; line-height:1!important; margin-top:2px!important; }
#sa-hamburger.open span:nth-child(1) { transform:translateY(5.5px) rotate(45deg); }
#sa-hamburger.open span:nth-child(2) { opacity:0; }
#sa-hamburger.open span:nth-child(3) { transform:translateY(-5.5px) rotate(-45deg); }
#sa-hamburger span { display:block; height:1.5px; background:var(--black); transform-origin:center; transition:transform 0.3s ease,opacity 0.2s ease; }
#sa-hamburger.open span:nth-child(1) { transform:translateY(7.5px) rotate(45deg); }
#sa-hamburger.open span:nth-child(2) { opacity:0; }
#sa-hamburger.open span:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg); }

/* ── Backdrop ────────────────────────────────────────────────────────────────── */
#sa-backdrop { display:none; position:fixed; inset:0; z-index:550; background:rgba(0,0,0,0.3); backdrop-filter:blur(2px); }
#sa-backdrop.open { display:block; }

/* ── Nav panel ───────────────────────────────────────────────────────────────── */
#sa-panel {
  position:fixed; top:0; left:0; bottom:0; width:min(340px,82vw);
  background:var(--white); border-right:1px solid #e8e4de; z-index:600;
  transform:translateX(-100%); transition:transform 0.42s cubic-bezier(0.16,1,0.3,1);
  display:flex; flex-direction:column; padding:88px 48px 40px; overflow-y:auto;
}
#sa-panel.open { transform:translateX(0); }
.sa-wordmark { display:block; text-decoration:none; padding:0; margin-bottom:52px; }
.sa-wordmark-title { font-family:var(--ff-d); font-size:1rem; letter-spacing:0.22em; color:var(--black); line-height:1; }
.sa-wordmark-sub { font-family:var(--ff-m); font-size:11px; letter-spacing:0.3em; color:var(--silver); text-transform:uppercase; margin-top:4px; }
#sa-panel ul { list-style:none; flex:1; padding:0; margin:0; }
#sa-panel ul li a { display:block; font-family:var(--ff-d); font-size:clamp(1.9rem,5vw,2.5rem); letter-spacing:0.06em; line-height:1.15; color:var(--black); text-decoration:none; padding:5px 0; transition:color 0.18s; }
#sa-panel ul li a:hover, #sa-panel ul li a.active { color:var(--amber); }
.sa-nav-footer { border-top:1px solid #e8e4de; padding-top:24px; margin-top:24px; font-family:var(--ff-m); font-size:10px; letter-spacing:0.18em; color:#888; text-transform:uppercase; line-height:2; }
.sa-nav-footer a { color:#888; text-decoration:none; }

/* ── Page header ─────────────────────────────────────────────────────────────── */
.sa-page-header { border-bottom:1px solid var(--rule); padding:48px 0 40px; }
.sa-page-header-inner { max-width:1200px; margin:0 auto; padding:0 48px; }
.sa-eyebrow { font-family:var(--ff-m); font-size:11px; letter-spacing:0.4em; text-transform:uppercase; color:var(--silver); display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.sa-eyebrow::before { content:''; display:block; width:20px; height:1px; background:currentColor; opacity:0.5; }
.sa-page-title { font-family:var(--ff-d)!important; font-size:clamp(3rem,8vw,6rem)!important; letter-spacing:0.06em!important; line-height:1!important; font-weight:400!important; color:var(--black)!important; margin:0!important; }
h1.page-title { font-family:var(--ff-d)!important; font-size:clamp(3rem,8vw,6rem)!important; letter-spacing:0.06em!important; line-height:1!important; font-weight:400!important; }

/* ── Cart link in page header ────────────────────────────────────────────────── */
.sa-header-cart { font-family:var(--ff-m)!important; font-size:11px!important; letter-spacing:0.2em!important; text-transform:uppercase!important; color:var(--silver)!important; text-decoration:none!important; display:inline-flex!important; align-items:center!important; gap:4px!important; transition:color 0.15s!important; white-space:nowrap!important; }
.sa-header-cart:hover { color:var(--black)!important; }
.sa-product-cart-bar { border-bottom:1px solid var(--rule); padding:14px 0; }
.sa-product-cart-bar-inner { max-width:1200px; margin:0 auto; padding:0 48px; display:flex; justify-content:flex-end; }
.sa-cart-count-pill { background:var(--black)!important; color:var(--white)!important; border-radius:50%!important; width:18px!important; height:18px!important; display:inline-flex!important; align-items:center!important; justify-content:center!important; font-size:9px!important; margin-left:4px!important; }

/* ── Inner content wrapper ───────────────────────────────────────────────────── */
.woocommerce-page .woocommerce,
.woocommerce { max-width:1200px!important; margin:0 auto!important; padding:0 48px!important; }

/* ── Shop grid ───────────────────────────────────────────────────────────────── */
.woocommerce ul.products,
.woocommerce-page ul.products { display:grid!important; grid-template-columns:repeat(3,1fr)!important; gap:2px!important; margin:2px 0!important; padding:0!important; list-style:none!important; }

ul.products::before, ul.products::after,
.storefront-product-pagination { display:none!important; }

/* Hide ghost/empty items */
.woocommerce ul.products li.product:empty,
.woocommerce ul.products li.product.ghost,
.woocommerce ul.products li.product.placeholder { display:none!important; }
.woocommerce ul.products li.product:not(:has(.woocommerce-loop-product__link)):not(:has(.add_to_cart_button)) { display:none!important; }

.woocommerce ul.products li.product { background:var(--paper)!important; border:1px solid var(--rule)!important; padding:0!important; margin:0!important; float:none!important; width:auto!important; display:flex!important; flex-direction:column!important; position:relative!important; }
.woocommerce ul.products li.product .woocommerce-loop-product__link { display:block!important; overflow:hidden!important; }
.woocommerce ul.products li.product img { width:100%!important; aspect-ratio:1!important; object-fit:cover!important; display:block!important; margin:0!important; transition:none!important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 { font-family:var(--ff-s)!important; font-size:1rem!important; font-weight:300!important; line-height:1.3!important; color:var(--black)!important; padding:16px 20px 6px!important; margin:0!important; }
.woocommerce ul.products li.product .price { font-family:var(--ff-m)!important; font-size:11px!important; letter-spacing:0.15em!important; color:var(--silver)!important; padding:0 20px 16px!important; display:block!important; }
.woocommerce ul.products li.product .price del { opacity:0.5!important; margin-right:6px!important; }
.woocommerce ul.products li.product .price ins { text-decoration:none!important; }
/* ── Shop grid buttons — More Info links to product page ────────────────────── */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_variable {
  font-family:var(--ff-m)!important; font-size:11px!important;
  letter-spacing:0.25em!important; text-transform:uppercase!important;
  color:var(--white)!important; background:var(--black)!important;
  border:none!important; border-radius:0!important;
  padding:10px 20px!important; margin:0 20px 20px!important;
  display:block!important; text-align:center!important;
  text-decoration:none!important; box-shadow:none!important; cursor:pointer!important;
}
.woocommerce ul.products li.product .button:hover { background:#3a3028!important; }
.woocommerce span.onsale { font-family:var(--ff-m)!important; font-size:8px!important; letter-spacing:0.2em!important; text-transform:uppercase!important; background:var(--black)!important; color:var(--white)!important; border-radius:0!important; padding:3px 8px!important; min-height:auto!important; min-width:auto!important; line-height:1.5!important; top:12px!important; left:12px!important; }

/* ── Single product — float layout matching WooCommerce/Storefront default ───── */
.woocommerce div.product { padding: 40px 0 !important; }
.woocommerce div.product div.images { float: left !important; width: 48% !important; margin-right: 4% !important; }
.woocommerce div.product div.images img { border: none !important; box-shadow: none !important; cursor: default !important; width: 100% !important; }
.woocommerce div.product div.summary { float: right !important; width: 48% !important; clear: none !important; margin: 0 !important; }
.woocommerce div.product::after { content: '' !important; display: table !important; clear: both !important; }
.woocommerce-product-gallery__trigger { display:none!important; }
.woocommerce-product-gallery .flex-direction-nav { display:none!important; }
.woocommerce-product-gallery { opacity:1!important; }
.woocommerce-product-gallery .flex-viewport { display:block!important; }
.woocommerce-product-gallery .woocommerce-product-gallery__image { display:block!important; }
.woocommerce-product-gallery .woocommerce-product-gallery__image img { display:block!important; width:100%!important; height:auto!important; cursor:default!important; }
.woocommerce-product-gallery .flex-control-nav { display:flex!important; gap:4px!important; flex-wrap:wrap!important; margin-top:8px!important; padding:0!important; list-style:none!important; }
.woocommerce-product-gallery .flex-control-nav li { margin:0!important; }
.woocommerce-product-gallery .flex-control-nav li img { width:64px!important; height:64px!important; object-fit:cover!important; cursor:pointer!important; border:1px solid var(--rule)!important; opacity:0.7!important; }
.woocommerce-product-gallery .flex-control-nav li img:hover,
.woocommerce-product-gallery .flex-control-nav li img.flex-active { opacity:1!important; border-color:var(--black)!important; }
.woocommerce div.product .product_title { font-family:var(--ff-d)!important; font-size:clamp(2rem,5vw,3.5rem)!important; letter-spacing:0.06em!important; line-height:1!important; font-weight:400!important; color:var(--black)!important; margin-bottom:8px!important; }
.woocommerce div.product .sku_wrapper { font-family:var(--ff-m)!important; font-size:11px!important; letter-spacing:0.25em!important; color:#999!important; text-transform:uppercase!important; display:block!important; margin-bottom:20px!important; }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-family:var(--ff-d)!important; font-size:2.2rem!important; letter-spacing:0.06em!important; color:var(--black)!important; margin-bottom:20px!important; }
.woocommerce div.product p.price del, .woocommerce div.product span.price del { font-family:var(--ff-m)!important; font-size:1rem!important; color:#999!important; margin-right:12px!important; }
.woocommerce div.product form.cart { margin-bottom:24px!important; }
.woocommerce div.product form.cart .single_add_to_cart_button { font-family:var(--ff-m)!important; font-size:11px!important; letter-spacing:0.3em!important; text-transform:uppercase!important; color:var(--white)!important; background:var(--black)!important; border:none!important; border-radius:0!important; padding:16px 32px!important; cursor:pointer!important; }
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background:#3a3028!important; }
.woocommerce div.product form.cart .quantity input[type=number] { font-family:var(--ff-m)!important; font-size:11px!important; border:1px solid var(--rule)!important; border-radius:0!important; padding:8px 12px!important; width:64px!important; text-align:center!important; box-shadow:none!important; }
.woocommerce div.product form.variations_form table.variations { border:none!important; margin-bottom:16px!important; }
.woocommerce div.product form.variations_form table.variations td,
.woocommerce div.product form.variations_form table.variations th { border:none!important; padding:0 0 10px!important; vertical-align:middle!important; }
.woocommerce div.product form.variations_form .label label { font-family:var(--ff-m)!important; font-size:11px!important; letter-spacing:0.3em!important; text-transform:uppercase!important; color:var(--silver)!important; }
.woocommerce div.product form.variations_form select { font-family:var(--ff-m)!important; font-size:11px!important; border:1px solid var(--rule)!important; border-radius:0!important; padding:8px 12px!important; background:var(--white)!important; color:var(--black)!important; width:100%!important; }
.woocommerce div.product .woocommerce-product-details__short-description { font-family:var(--ff-s)!important; font-size:1.05rem!important; font-weight:300!important; line-height:1.8!important; color:#4a4038!important; margin-top:16px!important; }
.sa-product-description { font-family:var(--ff-s)!important; font-size:1.05rem!important; font-weight:300!important; line-height:1.85!important; color:#4a4038!important; margin-top:28px!important; border-top:1px solid var(--rule)!important; padding-top:24px!important; }
.sa-product-description p { margin-bottom:1em!important; }
.woocommerce-tabs, .woocommerce div.product .woocommerce-Reviews,
.woocommerce div.product .related, .woocommerce div.product .up-sells,
.woocommerce div.product .woocommerce-product-rating { display:none!important; }

/* ── CART PAGE ───────────────────────────────────────────────────────────────── */
.woocommerce-cart .woocommerce { padding-top:0!important; }

/* Cart constrained layout */
.sa-cart-inner {
  max-width:960px!important;
  margin:0 auto!important;
  padding:48px 48px 80px!important;
}

.sa-cart-inner table.cart {
  width:100%!important;
  border-collapse:collapse!important;
}

/* Cart table header */
.sa-cart-inner table.cart thead th {
  font-family:var(--ff-m)!important;
  font-size:11px!important;
  letter-spacing:0.3em!important;
  text-transform:uppercase!important;
  color:var(--silver)!important;
  border-bottom:1px solid var(--rule)!important;
  font-weight:400!important;
  padding:0 0 16px!important;
  background:transparent!important;
}

/* Cart rows */
.sa-cart-inner table.cart td {
  border-bottom:1px solid var(--rule)!important;
  padding:24px 12px!important;
  vertical-align:middle!important;
  background:transparent!important;
}

.sa-cart-inner table.cart .product-thumbnail img {
  width:80px!important;
  height:80px!important;
  object-fit:cover!important;
  display:block!important;
}

.sa-cart-inner table.cart .product-name a {
  font-family:var(--ff-s)!important;
  font-size:1rem!important;
  font-weight:300!important;
  color:var(--black)!important;
  text-decoration:none!important;
}

.sa-cart-inner table.cart .product-name .variation {
  font-family:var(--ff-m)!important;
  font-size:9px!important;
  letter-spacing:0.15em!important;
  color:var(--silver)!important;
  margin-top:4px!important;
}

.sa-cart-inner table.cart .product-price,
.sa-cart-inner table.cart .product-subtotal {
  font-family:var(--ff-m)!important;
  font-size:12px!important;
  letter-spacing:0.15em!important;
  color:var(--black)!important;
}

/* Remove button */
.sa-cart-inner table.cart .product-remove a {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:28px!important;
  border:1px solid var(--rule)!important;
  color:var(--silver)!important;
  font-size:18px!important;
  text-decoration:none!important;
  transition:all 0.15s!important;
  line-height:1!important;
}
.sa-cart-inner table.cart .product-remove a:hover {
  background:var(--black)!important;
  color:var(--white)!important;
  border-color:var(--black)!important;
}

/* Qty in cart */
.sa-cart-inner table.cart .quantity input[type=number] {
  font-family:var(--ff-m)!important;
  font-size:11px!important;
  border:1px solid var(--rule)!important;
  border-radius:0!important;
  padding:6px 10px!important;
  width:60px!important;
  text-align:center!important;
  box-shadow:none!important;
}

/* Update cart button */
.sa-cart-inner .actions .button[name="update_cart"] {
  font-family:var(--ff-m)!important;
  font-size:11px!important;
  letter-spacing:0.25em!important;
  text-transform:uppercase!important;
  background:transparent!important;
  color:var(--black)!important;
  border:1px solid var(--rule)!important;
  border-radius:0!important;
  padding:10px 20px!important;
  cursor:pointer!important;
}

/* Continue shopping link */
.sa-cart-inner .return-to-shop a,
.sa-cart-inner .wc-backward {
  font-family:var(--ff-m)!important;
  font-size:11px!important;
  letter-spacing:0.25em!important;
  text-transform:uppercase!important;
  color:var(--silver)!important;
  text-decoration:none!important;
  border-bottom:1px solid var(--rule)!important;
  padding-bottom:2px!important;
}

/* Cart totals box */
.sa-cart-inner .cart-collaterals { margin-top:40px!important; }
.sa-cart-inner .cart_totals {
  float:right!important;
  width:360px!important;
  border:1px solid var(--rule)!important;
  border-top:2px solid var(--black)!important;
  padding:28px!important;
  background:var(--white)!important;
}
.sa-cart-inner .cart_totals h2 {
  font-family:var(--ff-m)!important;
  font-size:11px!important;
  letter-spacing:0.35em!important;
  text-transform:uppercase!important;
  color:var(--silver)!important;
  font-weight:400!important;
  margin-bottom:20px!important;
}
.sa-cart-inner .cart_totals table { width:100%!important; border-collapse:collapse!important; }
.sa-cart-inner .cart_totals table th,
.sa-cart-inner .cart_totals table td {
  font-family:var(--ff-m)!important;
  font-size:11px!important;
  letter-spacing:0.15em!important;
  border:none!important;
  border-bottom:1px solid var(--rule)!important;
  padding:10px 0!important;
  background:transparent!important;
}
.sa-cart-inner .cart_totals .order-total th,
.sa-cart-inner .cart_totals .order-total td {
  border-bottom:none!important;
  padding-top:16px!important;
}
.sa-cart-inner .cart_totals .order-total td {
  font-family:var(--ff-d)!important;
  font-size:1.8rem!important;
  letter-spacing:0.06em!important;
  color:var(--black)!important;
}
.sa-cart-inner .wc-proceed-to-checkout { padding:0!important; margin-top:20px!important; }
.sa-cart-inner .wc-proceed-to-checkout a.checkout-button {
  font-family:var(--ff-m)!important;
  font-size:11px!important;
  letter-spacing:0.3em!important;
  text-transform:uppercase!important;
  background:var(--black)!important;
  color:var(--white)!important;
  border-radius:0!important;
  padding:16px!important;
  display:block!important;
  text-align:center!important;
  text-decoration:none!important;
}
.sa-cart-inner .wc-proceed-to-checkout a.checkout-button:hover { background:#3a3028!important; }

/* ── CHECKOUT PAGE ───────────────────────────────────────────────────────────── */
/* Let Storefront/WooCommerce handle the two-column layout naturally.
   We only override typography and colours. */

.woocommerce-checkout .woocommerce { padding-top: 0!important; }
.woocommerce form .form-row .required { color: var(--black)!important; }

/* Coupon / info notices */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-info a,
.woocommerce-checkout .woocommerce-form-coupon-toggle a { color: var(--black)!important; }
.woocommerce-checkout .woocommerce-info { background: var(--paper)!important; border-top: 2px solid var(--black)!important; border-radius: 0!important; }

/* Section headings */
.woocommerce-checkout h3 {
  font-family: var(--ff-m)!important;
  font-size: 11px!important;
  letter-spacing: 0.35em!important;
  text-transform: uppercase!important;
  color: var(--silver)!important;
  font-weight: 400!important;
  margin-bottom: 24px!important;
  padding-bottom: 12px!important;
  border-bottom: 1px solid var(--rule)!important;
}

/* Form fields */
.woocommerce-checkout .form-row { margin-bottom: 20px!important; }
.woocommerce-checkout .form-row label {
  font-family: var(--ff-m)!important;
  font-size: 11px!important;
  letter-spacing: 0.25em!important;
  text-transform: uppercase!important;
  color: var(--silver)!important;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  font-family: var(--ff-s)!important;
  font-size: 1rem!important;
  font-weight: 300!important;
  border: none!important;
  border-bottom: 1px solid var(--rule)!important;
  border-radius: 0!important;
  padding: 10px 0!important;
  box-shadow: none!important;
  background: transparent!important;
  outline: none!important;
  width: 100%!important;
  color: var(--black)!important;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus { border-bottom-color: var(--black)!important; }

/* Order review heading */
#order_review_heading {
  font-family: var(--ff-m)!important;
  font-size: 11px!important;
  letter-spacing: 0.35em!important;
  text-transform: uppercase!important;
  color: var(--silver)!important;
  font-weight: 400!important;
  margin-bottom: 12px!important;
}

/* Order review table */
#order_review { border-top: 2px solid var(--black)!important; border-radius: 0!important; }
#order_review table { border-collapse: collapse!important; width: 100%!important; }
#order_review table th, #order_review table td {
  font-family: var(--ff-m)!important;
  font-size: 11px!important;
  letter-spacing: 0.15em!important;
  border-bottom: 1px solid var(--rule)!important;
  padding: 10px 0!important;
  background: transparent!important;
  color: var(--black)!important;
}
#order_review .order-total td {
  font-family: var(--ff-d)!important;
  font-size: 1.4rem!important;
  letter-spacing: 0.06em!important;
  border-bottom: none!important;
}
#order_review .order-total th { border-bottom: none!important; }

/* Payment */
.woocommerce-checkout #payment { background: var(--paper)!important; border-radius: 0!important; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--rule)!important; list-style: none!important; }
.woocommerce-checkout #payment ul.payment_methods li label {
  font-family: var(--ff-m)!important;
  font-size: 11px!important;
  letter-spacing: 0.2em!important;
  text-transform: uppercase!important;
  color: var(--black)!important;
}
.woocommerce-checkout #payment div.payment_box {
  background: transparent!important;
  font-family: var(--ff-s)!important;
  font-size: 0.95rem!important;
  font-weight: 300!important;
  color: var(--silver)!important;
}
.woocommerce-checkout #place_order {
  font-family: var(--ff-m)!important;
  font-size: 11px!important;
  letter-spacing: 0.3em!important;
  text-transform: uppercase!important;
  background: var(--black)!important;
  color: var(--white)!important;
  border: none!important;
  border-radius: 0!important;
  padding: 18px!important;
  cursor: pointer!important;
  width: 100%!important;
  transition: background 0.2s!important;
}
.woocommerce-checkout #place_order:hover { background: #3a3028!important; }

/* Privacy */
.woocommerce-checkout .woocommerce-privacy-policy-text {
  font-family: var(--ff-m)!important;
  font-size: 10px!important;
  letter-spacing: 0.15em!important;
  color: var(--silver)!important;
}

/* ── ORDER CONFIRMATION ───────────────────────────────────────────────────────── */
.woocommerce-order .woocommerce {
  max-width:640px!important;
  margin:0 auto!important;
  padding:60px 48px 80px!important;
}
.woocommerce-order .woocommerce-thankyou-order-received {
  font-family:var(--ff-s)!important;
  font-size:1.4rem!important;
  font-weight:300!important;
  font-style:italic!important;
  color:#4a4038!important;
  margin-bottom:32px!important;
}
.woocommerce-order ul.woocommerce-order-overview {
  font-family:var(--ff-m)!important;
  font-size:11px!important;
  letter-spacing:0.2em!important;
  background:var(--paper)!important;
  border:1px solid var(--rule)!important;
  border-top:2px solid var(--black)!important;
  padding:24px!important;
  list-style:none!important;
  margin:0 0 32px!important;
}
.woocommerce-order ul.woocommerce-order-overview li { padding:8px 0!important; border-bottom:1px solid var(--rule)!important; }
.woocommerce-order ul.woocommerce-order-overview li:last-child { border-bottom:none!important; }
.woocommerce-order ul.woocommerce-order-overview strong { font-weight:400!important; color:var(--black)!important; }

/* ── Streaming links ─────────────────────────────────────────────────────────── */
.saf-streaming-links { margin-top:24px!important; padding-top:20px!important; border-top:1px solid var(--rule)!important; display:flex!important; align-items:center!important; gap:12px!important; flex-wrap:wrap!important; }
.saf-streaming-label { font-family:var(--ff-m)!important; font-size:11px!important; letter-spacing:0.3em!important; text-transform:uppercase!important; color:var(--silver)!important; }
.saf-streaming-btn { font-family:var(--ff-m)!important; font-size:10px!important; letter-spacing:0.2em!important; text-transform:uppercase!important; text-decoration:none!important; display:inline-flex!important; align-items:center!important; gap:6px!important; padding:7px 14px!important; border:1px solid var(--rule)!important; border-radius:20px!important; transition:all 0.2s!important; color:var(--black)!important; }
.saf-streaming-btn:hover { border-color:var(--black)!important; }
.saf-spotify:hover { background:#1DB954!important; color:var(--white)!important; border-color:#1DB954!important; }
.saf-apple:hover   { background:var(--black)!important; color:var(--white)!important; }

/* ── NOTICES ─────────────────────────────────────────────────────────────────── */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  font-family:var(--ff-m)!important;
  font-size:11px!important;
  letter-spacing:0.2em!important;
  border-top:2px solid var(--black)!important;
  border-radius:0!important;
  background:var(--paper)!important;
  color:var(--black)!important;
}

/* ── BREADCRUMB ──────────────────────────────────────────────────────────────── */
.woocommerce .woocommerce-breadcrumb {
  font-family:var(--ff-m)!important;
  font-size:11px!important;
  letter-spacing:0.25em!important;
  text-transform:uppercase!important;
  color:var(--silver)!important;
  padding:20px 48px!important;
  border-bottom:1px solid var(--rule)!important;
  margin:0!important;
}
.woocommerce .woocommerce-breadcrumb a { color:var(--silver)!important; text-decoration:none!important; }
.woocommerce .woocommerce-breadcrumb a:hover { color:var(--black)!important; }

/* ── HIDE SORTING / RESULT COUNT ─────────────────────────────────────────────── */
.woocommerce-ordering, .woocommerce-result-count { display:none!important; }

/* ── RESPONSIVE ──────────────────────────────────────────────────────────────── */
@media (max-width:900px) {
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns:repeat(2,1fr)!important; }
  .woocommerce div.product div.images { float:none!important; width:100%!important; margin-right:0!important; }
  .woocommerce div.product div.summary { float:none!important; width:100%!important; }
  .sa-page-header-inner, .woocommerce-page .woocommerce, .woocommerce { padding:0 24px!important; }
  .sa-checkout-inner > form.checkout { grid-template-columns: 1fr!important; }
  .sa-checkout-inner .col2-set { grid-column: 1!important; }
  .sa-checkout-inner #order_review_heading,
  .sa-checkout-inner #order_review { grid-column: 1!important; position:static!important; }
  .sa-cart-inner .cart_totals { float:none!important; width:100%!important; }
  .sa-cart-inner, .sa-checkout-inner { padding:32px 24px 60px!important; }
}
@media (max-width:600px) {
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns:1fr!important; }
}

.woocommerce-cart .hentry, .woocommerce-checkout .hentry {max-width:1000px;margin:auto auto;}