/* ===========================================================================
   SA Laptop — custom CSS (non-utility). Ported verbatim from the approved
   prototype <style> block. Tailwind utilities live in the compiled tailwind.css.
   =========================================================================== */

/* WooCommerce ships a blanket `.woocommerce-page img { height:auto; max-width:100% }`
   rule (woocommerce-layout.css) that outranks our height utilities — an extra element
   selector gives it higher specificity — and leaks into images outside WooCommerce's own
   markup on any shop/product page (body carries .woocommerce-page there, not on plain
   content pages). Re-pin the brand marks with matching/higher specificity. */
#site-header a img {
  height: 3rem;
  width: auto;
  max-width: none;
}
@media (min-width: 640px) {
  #site-header a img { height: 4.75rem; }
}
footer img.w-10 {
  width: 2.5rem !important;
  height: 2.5rem !important;
  max-width: none !important;
}

:root { --ease-spring: cubic-bezier(.34,1.56,.64,1); }
html { scroll-behavior: smooth; }
body { font-family: 'Hanken Grotesk', sans-serif; color: #2C4A46; background: #FFFFFF; -webkit-font-smoothing: antialiased; }
::selection { background: #B8860B; color: #fff; }

h1,h2,h3,h4,.font-display { font-family: 'Sora', sans-serif; }
.tracking-tightest { letter-spacing: -0.035em; }
.eyebrow { font-family:'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:0.18em; font-size:0.7rem; font-weight:500; }

/* grain overlay */
.grain::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity:0.05; mix-blend-mode:overlay;
}
/* hero mesh */
.hero-mesh {
  background-color:#0B2B27;
  background-image:
    radial-gradient(60% 55% at 82% 12%, rgba(15,118,110,0.55) 0%, rgba(15,118,110,0) 60%),
    radial-gradient(45% 45% at 12% 8%, rgba(45,212,191,0.28) 0%, rgba(45,212,191,0) 55%),
    radial-gradient(50% 60% at 95% 92%, rgba(184,134,11,0.20) 0%, rgba(184,134,11,0) 60%),
    radial-gradient(90% 90% at 50% 120%, rgba(11,90,83,0.35) 0%, rgba(11,43,39,0) 70%);
}
.grid-lines {
  background-image:linear-gradient(rgba(255,255,255,0.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.045) 1px,transparent 1px);
  background-size:52px 52px;
}
/* Perspective floor grid — floor plane receding to a central vanishing point (floor only) */
.hero-floor { position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; perspective:600px; perspective-origin:50% 50%; }
.hero-floor i { position:absolute; left:-60%; right:-60%; height:170%; display:block; top:50%; transform-origin:50% 0; transform:rotateX(76deg);
  background-image:
    linear-gradient(to right, rgba(45,212,191,0.30) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(45,212,191,0.30) 1px, transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 42%, #000 88%, transparent 100%);
          mask-image:linear-gradient(to bottom, transparent 0%, #000 42%, #000 88%, transparent 100%); }
.hero-floor::after { content:''; position:absolute; inset:0; background:radial-gradient(42% 36% at 50% 50%, rgba(45,212,191,0.20), transparent 64%); }
/* hero perspective grid — floor + ceiling receding to a central vanishing point, fading to infinity */
.hero-grid { position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; perspective:600px; perspective-origin:50% 50%; }
.hero-grid i, .hero-grid b {
  position:absolute; left:-60%; right:-60%; height:160%; display:block;
  background-image:
    linear-gradient(to right, rgba(45,212,191,0.32) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(45,212,191,0.32) 1px, transparent 1px);
  background-size:56px 56px;
}
/* floor: from the central horizon downward, lines fade OUT toward the horizon (infinity) */
.hero-grid i { top:50%; transform-origin:50% 0; transform:rotateX(76deg);
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 40%, #000 86%, transparent 100%);
          mask-image:linear-gradient(to bottom, transparent 0%, #000 40%, #000 86%, transparent 100%); }
/* ceiling: mirror from the central horizon upward */
.hero-grid b { bottom:50%; transform-origin:50% 100%; transform:rotateX(-76deg);
  -webkit-mask-image:linear-gradient(to top, transparent 0%, #000 40%, #000 86%, transparent 100%);
          mask-image:linear-gradient(to top, transparent 0%, #000 40%, #000 86%, transparent 100%); }
/* glowing point of infinity at the centre */
.hero-grid::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(36% 30% at 50% 50%, rgba(45,212,191,0.26), transparent 62%);
}

/* reveal on load / scroll */
@keyframes fadeUp { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
@keyframes floatY { 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-10px);} }
.reveal { opacity:0; }
.reveal.in { animation:fadeUp .7s var(--ease-spring) forwards; }
.float-slow { animation:floatY 6s ease-in-out infinite; }

a, button { transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .25s ease, transform .25s var(--ease-spring); }
.lift:hover { transform:translateY(-4px); }
.card-lift { transition: transform .3s var(--ease-spring), box-shadow .3s ease, border-color .2s ease; }
.card-lift:hover { transform:translateY(-6px); }

:focus-visible { outline:2px solid #0F766E; outline-offset:2px; border-radius:4px; }
.btn-cta:active { transform:translateY(1px) scale(.99); }

.line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.no-scrollbar::-webkit-scrollbar{ display:none; } .no-scrollbar{ -ms-overflow-style:none; scrollbar-width:none; }

/* marquee */
@keyframes marquee { from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
.marquee-track { animation:marquee 28s linear infinite; }

.prod-img { mix-blend-mode:multiply; }
.logo-sa{background:linear-gradient(135deg,#B8860B,#E8C04A 55%,#F5D876);-webkit-background-clip:text;background-clip:text;color:transparent;}

/* ===========================================================================
   WooCommerce — restyle native output to the SA Laptop system. These target
   WooCommerce's own classes so cart / checkout / account / reviews keep working.
   =========================================================================== */

/* Breadcrumb */
.salaptop-breadcrumb a { color:#5C736F; }
.salaptop-breadcrumb a:hover { color:#0F766E; }
.salaptop-breadcrumb { margin-bottom:.25rem; }

/* --- Single product gallery: sit inside a soft white card --- */
.salaptop-gallery .woocommerce-product-gallery {
  background:#fff; border:1px solid #E2E8F0; border-radius:1rem;
  box-shadow:0 1px 2px rgba(11,43,39,0.04), 0 4px 16px -8px rgba(11,43,39,0.12);
  padding:1.5rem;
}
.salaptop-gallery .woocommerce-product-gallery__image img { mix-blend-mode:multiply; }
.salaptop-gallery .flex-control-thumbs { display:flex; gap:.75rem; margin-top:1rem; padding:0; list-style:none; flex-wrap:wrap; }
.salaptop-gallery .flex-control-thumbs li { width:68px; margin:0; }
.salaptop-gallery .flex-control-thumbs img {
  border:1px solid #E2E8F0; border-radius:.75rem; padding:.35rem; background:#fff;
  opacity:.8; transition:border-color .2s ease, opacity .2s ease; cursor:pointer;
}
.salaptop-gallery .flex-control-thumbs img.flex-active,
.salaptop-gallery .flex-control-thumbs img:hover { border-color:#0F766E; opacity:1; }
.salaptop-gallery .woocommerce-product-gallery__trigger {
  top:1rem; right:1rem; background:#fff; border:1px solid #E2E8F0; border-radius:9999px;
  box-shadow:0 1px 2px rgba(11,43,39,0.04), 0 4px 16px -8px rgba(11,43,39,0.12);
}
.salaptop-single .onsale {
  position:absolute; z-index:10; top:1rem; left:1rem; margin:0; min-height:0; min-width:0;
  background:#B8860B; color:#0B2B27; font-family:'IBM Plex Mono',monospace; font-weight:600;
  font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; padding:.25rem .55rem; border-radius:.375rem;
}

/* --- Summary --- */
.salaptop-single .summary .product_title {
  font-family:'Sora',sans-serif; font-weight:800; letter-spacing:-0.035em; line-height:1.1;
  color:#0B2B27; font-size:1.85rem; margin:.75rem 0 0;
}
.salaptop-single .summary .woocommerce-product-rating { margin:.5rem 0 0; font-size:.85rem; }
.salaptop-single .summary .woocommerce-product-rating .star-rating span::before { color:#B8860B; }
.salaptop-single .summary .woocommerce-product-details__short-description { color:#5C736F; margin-top:.75rem; line-height:1.65; font-size:.95rem; }
.salaptop-single .summary .price {
  font-family:'IBM Plex Mono',monospace; font-weight:700; color:#0B2B27;
  font-size:2rem; line-height:1.1; letter-spacing:-0.02em; margin:0;
}
.salaptop-single .summary .price del { color:#5C736F; font-size:1.1rem; font-weight:500; opacity:.8; }
.salaptop-single .summary .price ins { text-decoration:none; }
.salaptop-single .summary .stock.in-stock { color:#15803D; font-weight:600; font-size:.85rem; }
.salaptop-single .summary .stock.out-of-stock { color:#5C736F; font-weight:600; font-size:.85rem; }

/* Quantity + add to cart */
.salaptop-single form.cart { display:flex; align-items:stretch; gap:.75rem; margin-top:1.25rem; flex-wrap:wrap; }
.salaptop-single form.cart .quantity { display:flex; align-items:center; height:3.25rem; border:1px solid #E2E8F0; border-radius:9999px; background:#F6F8FB; padding:0 .5rem; }
.salaptop-single form.cart .quantity .qty {
  width:3rem; height:3rem; text-align:center; background:transparent; border:0; outline:none;
  font-family:'IBM Plex Mono',monospace; font-weight:600; color:#0B2B27; -moz-appearance:textfield;
}
.salaptop-single form.cart .quantity .qty::-webkit-outer-spin-button,
.salaptop-single form.cart .quantity .qty::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.woocommerce .salaptop-single form.cart .single_add_to_cart_button,
.salaptop-single form.cart .single_add_to_cart_button {
  flex:1; min-height:3.25rem; border-radius:9999px; background:#B8860B; color:#0B2B27;
  font-family:'Hanken Grotesk',sans-serif; font-weight:600; font-size:1rem; border:0; letter-spacing:0;
  box-shadow:0 10px 22px -10px rgba(184,134,11,0.55); transition:background-color .2s ease, box-shadow .25s ease, transform .2s ease;
}
.woocommerce .salaptop-single form.cart .single_add_to_cart_button:hover,
.salaptop-single form.cart .single_add_to_cart_button:hover { background:#946B08; box-shadow:0 14px 26px -8px rgba(184,134,11,0.6); }
.salaptop-single form.cart .single_add_to_cart_button:active { transform:translateY(1px) scale(.99); }

/* Variations table */
.salaptop-single .variations { margin:1rem 0; }
.salaptop-single .variations th { text-align:left; color:#2C4A46; font-weight:600; padding:.5rem .75rem .5rem 0; }
.salaptop-single .variations select { height:2.75rem; border:1px solid #E2E8F0; border-radius:.75rem; padding:0 .75rem; background:#fff; }

/* Product meta (SKU / categories / tags) */
.salaptop-single .product_meta { margin-top:1.25rem; font-size:.8rem; color:#5C736F; font-family:'IBM Plex Mono',monospace; }
.salaptop-single .product_meta > span { display:block; margin-top:.35rem; }
.salaptop-single .product_meta a { color:#0F766E; }

/* --- Tabs --- */
.woocommerce-tabs { margin-top:3rem; }
.woocommerce-tabs ul.wc-tabs { display:flex; gap:1.5rem; border-bottom:1px solid #E2E8F0; padding:0; margin:0 0 2rem; list-style:none; overflow-x:auto; }
.woocommerce-tabs ul.wc-tabs li { margin:0; }
.woocommerce-tabs ul.wc-tabs li a {
  display:block; padding:0 0 .75rem; border-bottom:2px solid transparent; color:#5C736F;
  font-family:'Sora',sans-serif; font-weight:700; font-size:.95rem; white-space:nowrap;
}
.woocommerce-tabs ul.wc-tabs li.active a,
.woocommerce-tabs ul.wc-tabs li a:hover { color:#0B2B27; border-bottom-color:#0F766E; }
.woocommerce-tabs .panel { color:#2C4A46; line-height:1.7; max-width:70ch; }
.woocommerce-tabs .panel h2 { font-family:'Sora',sans-serif; font-weight:700; color:#0B2B27; font-size:1.25rem; margin-bottom:.75rem; }
.woocommerce-tabs .shop_attributes { width:100%; border-collapse:collapse; font-size:.9rem; }
.woocommerce-tabs .shop_attributes th,
.woocommerce-tabs .shop_attributes td { text-align:left; padding:.75rem 1rem; border-bottom:1px solid #E2E8F0; }
.woocommerce-tabs .shop_attributes th { color:#5C736F; font-weight:500; width:40%; }
.woocommerce-tabs .shop_attributes td { color:#0B2B27; font-weight:500; }

/* Related / upsells headings */
.related.products > h2, .upsells.products > h2 {
  font-family:'Sora',sans-serif; font-weight:800; letter-spacing:-0.035em; color:#0B2B27;
  font-size:1.6rem; margin:3.5rem 0 1.5rem;
}

/* Price filter widget (real WooCommerce range slider, restyled) */
.salaptop-price-filter .price_slider_wrapper { margin-top:.25rem; }
.salaptop-price-filter .price_slider { height:4px; background:#E2E8F0; border-radius:9999px; margin-bottom:1.25rem; position:relative; }
.salaptop-price-filter .ui-slider-range { background:#0F766E; height:100%; border-radius:9999px; position:absolute; }
.salaptop-price-filter .ui-slider-handle {
  width:16px; height:16px; background:#fff; border:2px solid #0F766E; border-radius:9999px; position:absolute;
  top:50%; margin-top:-8px; margin-left:-8px; cursor:pointer; outline:none;
  box-shadow:0 1px 2px rgba(11,43,39,0.04), 0 4px 16px -8px rgba(11,43,39,0.12);
}
.salaptop-price-filter .price_slider_amount { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.salaptop-price-filter .price_slider_amount .price_label {
  font-family:'IBM Plex Mono',monospace; font-size:.8rem; color:#2C4A46; order:1;
}
.salaptop-price-filter .price_slider_amount button {
  order:2; border-radius:9999px; background:#0B2B27; color:#fff; font-family:'Hanken Grotesk',sans-serif;
  font-weight:600; font-size:.8rem; padding:.45rem 1rem; border:0;
}
.salaptop-price-filter .price_slider_amount button:hover { background:#0F3A34; }

/* --- Archive toolbar --- */
.salaptop-toolbar .woocommerce-result-count { margin:0; }
.salaptop-ordering select {
  height:2.5rem; border:1px solid #E2E8F0; border-radius:.5rem; background:#F6F8FB; padding:0 .75rem;
  font-size:.9rem; font-weight:500; color:#0B2B27; cursor:pointer;
}

/* Pagination */
.salaptop-pagination .woocommerce-pagination ul { display:flex; gap:.375rem; list-style:none; padding:0; margin:0; border:0; }
.salaptop-pagination .woocommerce-pagination ul li { margin:0; border:0; }
.salaptop-pagination .woocommerce-pagination ul li a,
.salaptop-pagination .woocommerce-pagination ul li span {
  display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:.5rem;
  border:1px solid #E2E8F0; background:#fff; color:#2C4A46; font-weight:500; padding:0; line-height:1;
}
.salaptop-pagination .woocommerce-pagination ul li a:hover { border-color:#2DD4BF; color:#0F766E; }
.salaptop-pagination .woocommerce-pagination ul li span.current { background:#0F766E; color:#fff; border-color:#0F766E; font-weight:600; }

/* --- Notices --- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-radius:.75rem; border:1px solid #E2E8F0; background:#F6F8FB; padding:1rem 1.25rem;
  list-style:none; color:#2C4A46; margin-bottom:1.25rem;
}
.woocommerce-message { border-left:4px solid #15803D; }
.woocommerce-info { border-left:4px solid #0F766E; }
.woocommerce-error { border-left:4px solid #B8860B; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button { float:right; }

/* --- Generic Woo buttons (cart, checkout, account) --- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  border-radius:9999px; background:#0B2B27; color:#fff; font-family:'Hanken Grotesk',sans-serif;
  font-weight:600; padding:.7rem 1.4rem; border:0; transition:background-color .2s ease, transform .2s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover { background:#0F3A34; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
  background:#B8860B; color:#0B2B27; box-shadow:0 10px 22px -10px rgba(184,134,11,0.55);
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover { background:#946B08; }

/* --- Forms (cart / checkout / account) --- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce table.cart td.actions .coupon input {
  border:1px solid #E2E8F0; border-radius:.6rem; padding:.65rem .85rem; background:#fff; color:#0B2B27;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus { border-color:#2DD4BF; outline:none; box-shadow:0 0 0 3px rgba(45,212,191,.25); }
.woocommerce-checkout #payment { background:#F6F8FB; border-radius:1rem; border:1px solid #E2E8F0; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom:1px solid #E2E8F0; }
.woocommerce table.shop_table { border-radius:1rem; border:1px solid #E2E8F0; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3, .woocommerce-account .woocommerce h2 {
  font-family:'Sora',sans-serif; font-weight:700; color:#0B2B27;
}

/* My-account: nav + content as a two-column flex row */
.woocommerce-account .woocommerce {
  display:flex; align-items:flex-start; gap:2rem; flex-wrap:wrap;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  flex:0 0 220px; background:#fff; border:1px solid #E2E8F0; border-radius:1rem;
  padding:.75rem; box-shadow:0 1px 2px rgba(11,43,39,0.04), 0 4px 16px -8px rgba(11,43,39,0.12);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.25rem; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display:block; padding:.6rem .9rem; border-radius:.6rem; color:#2C4A46; font-weight:500; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background:#D8F3EE; color:#0F766E; }
.woocommerce-account .woocommerce-MyAccount-content { flex:1; min-width:280px; }
.woocommerce-account .woocommerce-MyAccount-content > * { max-width:640px; }
.woocommerce-account .addresses .title .edit,
.woocommerce-account a.edit-account { color:#0F766E; font-weight:600; }
@media (max-width: 640px) {
  .woocommerce-account .woocommerce-MyAccount-navigation { flex:1 1 100%; }
}

/* Cart table + totals */
.woocommerce table.cart td, .woocommerce table.cart th { padding:1rem; vertical-align:middle; border-bottom:1px solid #E2E8F0; }
.woocommerce table.cart img { border-radius:.6rem; width:64px; height:auto; }
.woocommerce table.cart td.product-name a { color:#0B2B27; font-weight:600; }
.woocommerce table.cart td.product-remove a { color:#5C736F; }
.woocommerce table.cart td.product-remove a:hover { color:#B8860B; }
.woocommerce .quantity .qty { border:1px solid #E2E8F0; border-radius:.5rem; padding:.5rem; width:3.5rem; text-align:center; }
.woocommerce-cart .cart-collaterals .cart_totals {
  background:#F6F8FB; border:1px solid #E2E8F0; border-radius:1rem; padding:1.5rem; max-width:420px; margin-left:auto;
}
.woocommerce-cart .cart_totals table { width:100%; }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td { padding:.6rem 0; border-bottom:1px solid #E2E8F0; }
.woocommerce-cart .cart_totals .order-total .amount { font-family:'IBM Plex Mono',monospace; font-weight:700; color:#0B2B27; font-size:1.15rem; }
.woocommerce-cart table.cart td.actions .coupon { display:flex; gap:.5rem; align-items:center; }
.woocommerce-cart table.cart td.actions .coupon input.input-text { max-width:180px; }

/* Checkout layout */
.woocommerce-checkout .col2-set { display:flex; gap:2rem; flex-wrap:wrap; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { flex:1; min-width:280px; }
.woocommerce-checkout #order_review { background:#F6F8FB; border:1px solid #E2E8F0; border-radius:1rem; padding:1.5rem; margin-top:1.5rem; }
.woocommerce-checkout #payment ul.payment_methods li { padding:.75rem 1rem; }
.woocommerce-checkout #payment div.payment_box { background:#fff; border-radius:.6rem; margin-top:.5rem; }

/* ===========================================================================
   Content pages (Contact / Shipping / Returns / FAQs) — styles the raw HTML
   in a WP Page's post_content, wrapped by page.php's .prose-salaptop div.
   =========================================================================== */
.prose-salaptop h2 {
  font-family:'Sora',sans-serif; font-weight:800; letter-spacing:-0.02em; color:#0B2B27;
  font-size:1.4rem; line-height:1.25; margin:2.5rem 0 1rem;
}
.prose-salaptop h2:first-child { margin-top:0; }
.prose-salaptop h3 {
  font-family:'Sora',sans-serif; font-weight:700; color:#0B2B27; font-size:1.05rem; margin:1.5rem 0 .5rem;
}
.prose-salaptop p { margin:0 0 1rem; }
.prose-salaptop ul, .prose-salaptop ol { margin:0 0 1rem; padding-left:1.4rem; }
.prose-salaptop ul { list-style:disc; }
.prose-salaptop ol { list-style:decimal; }
.prose-salaptop li { margin:0 0 .5rem; }
.prose-salaptop a { color:#0F766E; font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.prose-salaptop a:hover { color:#0B5A53; }
.prose-salaptop strong { color:#0B2B27; font-weight:700; }
.prose-salaptop table {
  width:100%; border-collapse:collapse; margin:1rem 0 1.5rem; font-size:.9rem;
  border:1px solid #E2E8F0; border-radius:.75rem; overflow:hidden;
}
.prose-salaptop th { background:#0B2B27; color:#fff; text-align:left; font-weight:600; padding:.75rem 1rem; }
.prose-salaptop td { padding:.75rem 1rem; border-top:1px solid #E2E8F0; color:#2C4A46; }
.prose-salaptop tr:nth-child(even) td { background:#F6F8FB; }

.map-grid {
  background-color:#0F3A34;
  background-image:
    linear-gradient(rgba(45,212,191,0.14) 1px,transparent 1px),
    linear-gradient(90deg,rgba(45,212,191,0.14) 1px,transparent 1px);
  background-size:34px 34px;
}

/* Guide-page sticky TOC (Shipping / Returns / FAQs) */
.salaptop-toc a.active { background:#fff; color:#0F766E; font-weight:600; }

/* Numbered step lists with circular badges (e.g. "Receiving your parcel") */
.prose-salaptop ul.step-list { list-style:none; padding-left:0; }
.prose-salaptop ul.step-list li { display:flex; gap:0.75rem; margin-bottom:0.65rem; }
.prose-salaptop ul.step-list li:last-child { margin-bottom:0; }
.prose-salaptop .step-num {
  flex-shrink:0; width:1.5rem; height:1.5rem; border-radius:9999px;
  background:#D8F3EE; color:#0F766E; display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:700;
}

/* Two-column "what's not covered" exclusion list with X marks (Returns page) */
.prose-salaptop ul.exclude-list {
  list-style:none; padding-left:0; margin:1rem 0;
  display:grid; grid-template-columns:1fr; gap:.5rem 1.5rem;
}
@media (min-width:640px) { .prose-salaptop ul.exclude-list { grid-template-columns:1fr 1fr; } }
.prose-salaptop ul.exclude-list li { display:flex; gap:.75rem; margin:0; align-items:flex-start; }
.prose-salaptop .exclude-mark {
  flex-shrink:0; width:1.25rem; height:1.25rem; margin-top:.1rem;
  color:#B8860B; font-weight:700; font-size:1rem; line-height:1;
}
.prose-salaptop .exclude-mark::before { content:'\2715'; }

/* ===========================================================================
   Contact form (theme-native; no form plugin installed on this site)
   =========================================================================== */
.contact-card {
  background:#fff; border:1px solid #E2E8F0; border-radius:1rem;
  box-shadow:0 1px 2px rgba(11,43,39,0.04), 0 4px 16px -8px rgba(11,43,39,0.12);
  padding:1.5rem;
}
@media (min-width:640px) { .contact-card { padding:2rem; } }
.contact-card > h2 {
  font-family:'Sora',sans-serif; font-weight:800; letter-spacing:-0.02em; color:#0B2B27;
  font-size:1.4rem; line-height:1.25; margin:0 0 .5rem;
}
.contact-card > .intro { color:#2C4A46; font-size:.9375rem; line-height:1.7; margin:0; }

.contact-form { display:grid; grid-template-columns:1fr; gap:1rem; margin-top:1.75rem; }
@media (min-width:640px) { .contact-form { grid-template-columns:1fr 1fr; } }
.contact-form .full { grid-column:1/-1; }
.contact-form label {
  display:block; font-size:.8125rem; font-weight:600; color:#0B2B27; margin-bottom:.375rem;
}
.contact-form label .req { color:#B8860B; }
.contact-form label .opt { color:#5C736F; font-weight:400; }
.contact-form .field {
  width:100%; height:3rem; padding:0 1rem; border-radius:.75rem;
  border:1px solid #E2E8F0; background:#F6F8FB; color:#0B2B27; font-size:.9375rem;
  font-family:inherit; transition:border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.contact-form textarea.field { height:auto; padding:.75rem 1rem; resize:vertical; line-height:1.6; }
.contact-form select.field {
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235C736F' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.5rem;
}
.contact-form .field::placeholder { color:rgba(92,115,111,0.7); }
.contact-form .field:hover { border-color:#CBD5E1; }
.contact-form .field:focus {
  outline:none; background:#fff; border-color:#2DD4BF; box-shadow:0 0 0 3px rgba(45,212,191,0.18);
}
.contact-form .field[aria-invalid="true"] { border-color:#B8860B; background:rgba(184,134,11,0.05); }
/* Honeypot — hidden from people, visible to naive bots */
.contact-form .hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.contact-form .actions {
  grid-column:1/-1; display:flex; flex-direction:column; align-items:center; gap:1rem; margin-top:.25rem;
}
@media (min-width:640px) { .contact-form .actions { flex-direction:row; } }
.contact-form button[type="submit"] {
  width:100%; display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  height:3.25rem; padding:0 2rem; border:0; border-radius:9999px; cursor:pointer;
  background:#B8860B; color:#0B2B27; font-family:'Sora',sans-serif; font-weight:600; font-size:.9375rem;
  box-shadow:0 1px 2px rgba(11,43,39,0.06), 0 8px 20px -10px rgba(184,134,11,0.6);
  transition:background-color .18s ease, transform .12s ease, box-shadow .18s ease;
}
@media (min-width:640px) { .contact-form button[type="submit"] { width:auto; } }
.contact-form button[type="submit"]:hover { background:#946B08; }
.contact-form button[type="submit"]:focus-visible { outline:2px solid #0F766E; outline-offset:3px; }
.contact-form button[type="submit"]:active { transform:scale(.99); }
.contact-form button[type="submit"]::after {
  content:''; width:1rem; height:1rem; background-repeat:no-repeat; background-position:center; background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2B27' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}
.contact-form .fineprint { font-size:.78125rem; color:#5C736F; margin:0; }

/* Submission feedback */
.contact-notice { border-radius:.75rem; padding:1rem 1.25rem; margin:0 0 1.5rem; font-size:.9375rem; }
.contact-notice.is-error { background:rgba(184,134,11,0.08); border:1px solid rgba(184,134,11,0.4); color:#7A5A07; }
.contact-notice ul { margin:.5rem 0 0; padding-left:1.2rem; }
.contact-notice li { margin:0 0 .25rem; }
.contact-sent { text-align:center; padding:2.5rem 1rem; }
.contact-sent::before {
  content:''; display:block; width:4rem; height:4rem; border-radius:9999px; margin:0 auto 1rem;
  background-color:#D8F3EE; background-repeat:no-repeat; background-position:center; background-size:2rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F766E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
}
.contact-sent h2 {
  font-family:'Sora',sans-serif; font-weight:800; color:#0B2B27; font-size:1.4rem; margin:0 0 .5rem;
}
.contact-sent p { color:#2C4A46; font-size:.9375rem; line-height:1.7; margin:0 auto; max-width:34rem; }

/* Three-up centred option cards (DOA remedies, tracking stages) */
.prose-salaptop .option-grid {
  display:grid; grid-template-columns:1fr; gap:.75rem; margin:1.25rem 0 0;
}
@media (min-width:640px) { .prose-salaptop .option-grid { grid-template-columns:repeat(3,1fr); } }
.prose-salaptop .option-card {
  border:1px solid #E2E8F0; background:#F6F8FB; border-radius:.75rem; padding:1rem; text-align:center;
}
.prose-salaptop .option-card h3 { margin:0; font-size:1rem; }
.prose-salaptop .option-card p { margin:.25rem 0 0; font-size:.8125rem; line-height:1.5; }
/* Icon tile variant, centred above the label (tracking stages) */
.prose-salaptop .option-card.has-icon::before {
  content:''; display:block; width:2.25rem; height:2.25rem; border-radius:.5rem; margin:0 auto .5rem;
  background-color:#D8F3EE; background-repeat:no-repeat; background-position:center; background-size:1.15rem;
}
.prose-salaptop .option-card.has-icon h3 { font-size:.8125rem; }
.prose-salaptop .option-card.icon-packed::before {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F766E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='14' height='10' rx='1.5'/%3E%3Cpath d='M16 10h3l3 3v4h-6'/%3E%3Ccircle cx='7' cy='18' r='1.6'/%3E%3Ccircle cx='18' cy='18' r='1.6'/%3E%3C/svg%3E");
}
.prose-salaptop .option-card.icon-transit::before {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F766E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h13M3 6h17M3 18h9'/%3E%3C/svg%3E");
}
.prose-salaptop .option-card.icon-delivered::before {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F766E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E");
}

/* Two-up stat cards: eyebrow label + large value + note (refund turnaround, delivery cost) */
.prose-salaptop .stat-row {
  display:grid; grid-template-columns:1fr; gap:1rem; margin:1.25rem 0 0;
}
@media (min-width:640px) { .prose-salaptop .stat-row { grid-template-columns:1fr 1fr; } }
.prose-salaptop .stat-card { background:#F6F8FB; border:1px solid #E2E8F0; border-radius:.75rem; padding:1.25rem; }
.prose-salaptop .stat-card.accent { background:rgba(216,243,238,0.6); border-color:rgba(45,212,191,0.4); }
.prose-salaptop .stat-card .stat-label {
  font-family:'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:0.18em;
  font-size:0.7rem; font-weight:500; color:#5C736F; margin:0;
}
.prose-salaptop .stat-card.accent .stat-label { color:#0B5A53; }
.prose-salaptop .stat-card h3 { margin:.25rem 0 0; font-size:1.5rem; letter-spacing:-0.02em; }
.prose-salaptop .stat-card p { margin:.25rem 0 0; font-size:.8125rem; line-height:1.55; }
.prose-salaptop .stat-card ul { margin:.5rem 0 0; padding-left:1.1rem; font-size:.84375rem; }
.prose-salaptop .stat-card li { margin:0 0 .375rem; }

/* Numbered RMA steps: solid brand badge + title + description */
.prose-salaptop ol.rma-steps { list-style:none; padding-left:0; margin:1.5rem 0 0; counter-reset:rma; }
.prose-salaptop ol.rma-steps li {
  display:flex; gap:1rem; margin:0 0 1.25rem; align-items:flex-start; counter-increment:rma;
}
.prose-salaptop ol.rma-steps li:last-child { margin-bottom:0; }
.prose-salaptop ol.rma-steps li::before {
  content:counter(rma); flex-shrink:0; width:2rem; height:2rem; border-radius:9999px;
  background:#0F766E; color:#fff; display:flex; align-items:center; justify-content:center;
  font-family:'Sora',sans-serif; font-weight:700; font-size:.875rem; line-height:1;
}
.prose-salaptop ol.rma-steps h3 { margin:0; font-size:1rem; }
.prose-salaptop ol.rma-steps p { margin:.125rem 0 0; font-size:.875rem; line-height:1.6; }

/* Collection panel: address beside opening hours */
.prose-salaptop .collect-panel {
  background:#F6F8FB; border:1px solid #E2E8F0; border-radius:.75rem; padding:1.25rem;
  display:grid; grid-template-columns:1fr; gap:1.25rem; margin:1.25rem 0 0;
}
@media (min-width:640px) {
  .prose-salaptop .collect-panel { grid-template-columns:1fr 14rem; }
  .prose-salaptop .collect-panel .collect-hours { border-left:1px solid #E2E8F0; padding-left:1.25rem; }
}
.prose-salaptop .collect-panel .stat-label {
  font-family:'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:0.18em;
  font-size:0.7rem; font-weight:500; color:#5C736F; margin:0 0 .25rem;
}
.prose-salaptop .collect-panel .collect-address { font-size:.90625rem; color:#0B2B27; font-weight:500; line-height:1.6; margin:0; }
.prose-salaptop .collect-panel p { margin:.5rem 0 0; font-size:.78125rem; }
.prose-salaptop .collect-panel ul { list-style:none; padding-left:0; margin:0; font-size:.84375rem; }
.prose-salaptop .collect-panel ul li {
  display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin:0 0 .25rem;
}
.prose-salaptop .collect-panel ul li .hrs {
  font-family:'IBM Plex Mono',monospace; font-weight:600; color:#0B2B27;
}

/* Green check-mark lists (cooling-off conditions, dispatch notes) */
.prose-salaptop ul.check-list { list-style:none; padding-left:0; margin:1rem 0; }
.prose-salaptop ul.check-list li { display:flex; gap:.75rem; margin:0 0 .625rem; align-items:flex-start; }
.prose-salaptop ul.check-list li:last-child { margin-bottom:0; }
.prose-salaptop ul.check-list li::before {
  content:''; flex-shrink:0; width:1.25rem; height:1.25rem; margin-top:.15rem;
  background-repeat:no-repeat; background-position:center; background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315803D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
}

/* Two-up "at a glance" highlight cards with icon tiles (Returns page) */
.prose-salaptop .rights-grid {
  display:grid; grid-template-columns:1fr; gap:1rem; margin:1.5rem 0 0;
}
@media (min-width:640px) { .prose-salaptop .rights-grid { grid-template-columns:1fr 1fr; } }
.prose-salaptop .rights-card {
  background:#F6F8FB; border:1px solid #E2E8F0; border-radius:.75rem; padding:1.25rem;
}
/* Icon tiles are pseudo-elements, never markup: an inline <span> sitting
   before a block element in post_content gets orphaned into a stray </p>
   by wpautop, which leaves an empty paragraph in the layout. */
.prose-salaptop .icon-return::before,
.prose-salaptop .icon-shield::before {
  content:''; display:block; flex-shrink:0;
  width:2.5rem; height:2.5rem; border-radius:.75rem;
  background-color:#D8F3EE; background-repeat:no-repeat; background-position:center; background-size:1.15rem;
}
.prose-salaptop .icon-return::before {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F766E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 9-9'/%3E%3Cpath d='M3 4v5h5'/%3E%3C/svg%3E");
}
.prose-salaptop .icon-shield::before {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F766E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l7 3v6c0 5-3 8-7 11-4-3-7-6-7-11V5z'/%3E%3C/svg%3E");
}
.prose-salaptop .rights-card::before { margin-bottom:.75rem; }
.prose-salaptop .rights-card h3 { margin:0; font-size:1.05rem; }
.prose-salaptop .rights-card p { margin:.25rem 0 0; font-size:.84375rem; line-height:1.6; }
.prose-salaptop .rights-card .muted { color:#5C736F; }

/* Content-page section cards */
.content-section {
  background:#fff; border:1px solid #E2E8F0; border-radius:1rem;
  box-shadow:0 1px 2px rgba(11,43,39,0.04), 0 4px 16px -8px rgba(11,43,39,0.12);
  padding:1.5rem; margin-bottom:1.5rem; scroll-margin-top:120px;
}
.content-callout {
  background:#D8F3EE; border:1px solid rgba(45,212,191,0.4); border-radius:.75rem; padding:1.25rem;
  display:flex; gap:1rem; align-items:flex-start;
}
.prose-salaptop .content-callout.icon-shield::before { background-color:rgba(255,255,255,0.7); }
.content-callout .callout-title { font-family:'Sora',sans-serif; font-weight:700; color:#0B2B27; font-size:.9375rem; margin:0; }
.content-callout .callout-body { font-size:.84375rem; color:#3A5450; margin:.25rem 0 0; line-height:1.6; }

/* Native <details> FAQ accordion */
.prose-salaptop details.faq {
  background:#fff; border:1px solid #E2E8F0; border-radius:.75rem; padding:1rem 1.25rem; margin-bottom:.75rem;
}
.prose-salaptop details.faq summary {
  cursor:pointer; font-family:'Sora',sans-serif; font-weight:700; color:#0B2B27; font-size:.98rem;
  list-style:none; display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.prose-salaptop details.faq summary::-webkit-details-marker { display:none; }
.prose-salaptop details.faq summary::after {
  content:'+'; font-size:1.3rem; font-weight:400; color:#5C736F; transition:transform .2s ease; line-height:1;
}
.prose-salaptop details.faq[open] summary::after { transform:rotate(45deg); }
.prose-salaptop details.faq .body { margin-top:.75rem; color:#2C4A46; line-height:1.65; font-size:.92rem; }

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1 !important; }
  .reveal.in, .float-slow, .marquee-track { animation: none !important; }
  a, button, .card-lift { transition: none !important; }
}
