/*
Theme Name: The Scent Sanctuary
Theme URI: https://thescentsanctuary.co.uk
Author: The Scent Sanctuary
Description: Bespoke WooCommerce theme for The Scent Sanctuary.
Version: 3.271.5
Text Domain: scent-sanctuary
*/

:root {
  --ss-teal: #063f49;
  --ss-teal-deep: #032f37;
  --ss-teal-soft: #0b5360;
  --ss-gold: #caa34a;
  --ss-gold-light: #e4c879;
  --ss-ivory: #f5f0e6;
  --ss-cream: #ede5d6;
  --ss-charcoal: #1e2629;
  --ss-white: #ffffff;
  --ss-shadow: 0 22px 60px rgba(1, 25, 30, 0.24);
  --ss-radius: 22px;
  --ss-max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ss-ivory);
  color: var(--ss-charcoal);
  font-family: "Montserrat", Arial, sans-serif;
  line-height: 1.65;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.ss-container {
  width: min(calc(100% - 40px), var(--ss-max));
  margin-inline: auto;
}

.ss-kicker {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  color: var(--ss-gold-light);
  font-size: .78rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 600;
}
.ss-kicker::before { content:""; width: 34px; height:1px; background: currentColor; }

h1, h2, h3, .ss-serif {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  line-height: 1.05;
  margin: 0;
}

.ss-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 28px;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: .25s ease;
  font-size: .84rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 700;
  cursor: pointer;
}
.ss-btn--gold { background: var(--ss-gold); color: var(--ss-teal-deep); }
.ss-btn--gold:hover { background: var(--ss-gold-light); transform: translateY(-2px); }
.ss-btn--ghost { border-color: rgba(255,255,255,.42); color: white; }
.ss-btn--ghost:hover { border-color: var(--ss-gold); color: var(--ss-gold-light); }

/* Internal page back navigation */
.tss-back-nav {
  margin: 0 0 54px;
  padding: 0;
}
.tss-back-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--ss-teal);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  transition: color .2s ease, transform .2s ease;
}
.tss-back-link:hover {
  color: var(--ss-gold);
  transform: translateX(-3px);
}
.tss-back-link__arrow {
  font-size: 1.35rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
}
.woocommerce-page .site-main > .ss-container > .tss-back-nav { margin-bottom: 54px; }
@media (max-width: 782px) {
  .tss-back-nav { margin-bottom: 34px; }
}

/* Header */
.site-header {
  position: absolute;
  z-index: 30;
  inset: 0 0 auto 0;
  color: white;
}
.site-header__inner {
  min-height: 104px;
  display: grid;
  grid-template-columns: 220px 1fr auto;
  gap: 24px;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.site-branding img { width: 188px; max-height: 80px; object-fit: contain; object-position: left center; }
.site-nav ul { list-style:none; display:flex; justify-content:center; gap:30px; margin:0; padding:0; }
.site-nav a { font-size:.76rem; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.9); }
.site-nav a:hover { color:var(--ss-gold-light); }
.site-actions { display:flex; align-items:center; gap:14px; }
.site-actions a { font-size:.8rem; }
.ss-menu-toggle { display:none; border:0; background:none; color:white; font-size:1.4rem; }

/* Hero */
.ss-hero {
  position: relative;
  min-height: 790px;
  overflow: hidden;
  color: white;
  background:
    radial-gradient(circle at 72% 35%, rgba(17,106,116,.62), transparent 35%),
    radial-gradient(circle at 25% 20%, rgba(202,163,74,.12), transparent 26%),
    linear-gradient(120deg, var(--ss-teal-deep), var(--ss-teal));
}
.ss-hero::before {
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 24px 24px;
  mask-image: linear-gradient(to bottom, black, transparent 80%);
  opacity:.24;
}
.ss-hero__inner {
  min-height: 790px;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  align-items:center;
  gap:60px;
  padding-top: 110px;
  padding-bottom: 72px;
  position:relative;
  z-index:2;
}
.ss-hero h1 { font-size: clamp(4.2rem, 8vw, 7.6rem); max-width: 760px; }
.ss-hero p { max-width: 600px; color:rgba(255,255,255,.78); font-size:1.05rem; margin:24px 0 34px; }
.ss-hero__buttons { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:8px; }
.ss-product-placeholder {
  position: relative;
  width: min(480px, 100%);
  aspect-ratio: 1 / 1;
  margin-inline: auto;
  border-radius: 30px;
  overflow: hidden;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: var(--ss-shadow);
}
.ss-product-placeholder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 55% center;
}


/* Shared section */
.ss-section { padding: 105px 0; }
.ss-section--dark { background: var(--ss-teal-deep); color:white; }
.ss-section--teal { background: var(--ss-teal); color:white; }
.ss-section__head { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:42px; }
.ss-section__head h2 { font-size:clamp(2.8rem, 5vw, 4.7rem); }
.ss-section__head p { max-width:520px; margin:0; color:inherit; opacity:.72; }

/* Mood cards */
.ss-moods { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ss-mood-card {
  min-height: 390px;
  border-radius: var(--ss-radius);
  padding:32px;
  position:relative;
  overflow:hidden;
  color:white;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background-image:
    linear-gradient(to top, rgba(3,28,34,.94) 0%, rgba(3,28,34,.42) 32%, rgba(3,28,34,.04) 70%),
    url("assets/images/moods/fresh-mood.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: var(--ss-shadow);
  transition:.3s ease;
}
.ss-mood-card:nth-child(2){
  background-image:
    linear-gradient(to top, rgba(20,11,10,.96) 0%, rgba(20,11,10,.44) 32%, rgba(20,11,10,.04) 70%),
    url("assets/images/moods/dark-mood.webp");
}
.ss-mood-card:nth-child(3){
  background-image:
    linear-gradient(to top, rgba(42,18,24,.96) 0%, rgba(42,18,24,.44) 32%, rgba(42,18,24,.04) 70%),
    url("assets/images/moods/sweet-mood.webp");
}
.ss-mood-card:hover { transform:translateY(-8px); }
.ss-mood-card h3 { font-size:2.5rem; }
.ss-mood-card p { margin:8px 0 0; color:rgba(255,255,255,.72); }

/* Product grids */
.ss-product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.ss-card {
  background:white;
  border-radius: var(--ss-radius);
  overflow:hidden;
  box-shadow:0 12px 35px rgba(11,53,59,.11);
  transition:.25s ease;
}
.ss-card:hover { transform:translateY(-6px); box-shadow:0 18px 44px rgba(11,53,59,.17); }
.ss-card__media {
  aspect-ratio: 4 / 5;
  background:linear-gradient(145deg,#d8d2c4,#f6f1e7);
  display:grid;
  place-items:center;
  color:#4f5553;
  font-size:.76rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:center;
  padding:24px;
}
.ss-card__body { padding:24px; }
.ss-card__meta { color:#6f5822; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; }
.ss-card h3 { font-size:2rem; margin:6px 0 9px; color:var(--ss-teal-deep); }
.ss-card p { color:#687174; margin:0 0 18px; font-size:.92rem; }
.ss-card__link { color:var(--ss-teal); font-weight:700; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; }

/* Designer panel */
.ss-designer-panel {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:530px;
  border-radius:32px;
  overflow:hidden;
  background:#101719;
  box-shadow:var(--ss-shadow);
}
.ss-designer-panel__copy { padding:70px; display:flex; flex-direction:column; justify-content:center; }
.ss-designer-panel h2 { font-size:clamp(3rem,5vw,5.5rem); }
.ss-designer-panel p { color:rgba(255,255,255,.68); max-width:520px; }
.ss-designer-panel__visual { background:radial-gradient(circle at center,rgba(202,163,74,.25),transparent 38%), linear-gradient(145deg,#0d282e,#050a0b); display:grid; place-items:center; color:rgba(255,255,255,.42); text-transform:uppercase; letter-spacing:.18em; }

/* Benefits */
.ss-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(202,163,74,.35); border:1px solid rgba(202,163,74,.35); }
.ss-benefit { padding:44px; background:var(--ss-teal); text-align:center; }
.ss-benefit h3 { font-size:1.8rem; margin:10px 0; }
.ss-benefit p { color:rgba(255,255,255,.66); margin:0; }

/* Footer */
.site-footer { background:#03272e; color:white; padding:80px 0 28px; }
.site-footer__grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:45px; }
.site-footer h3 { color:var(--ss-gold-light); font-size:1rem; font-family:Montserrat,sans-serif; text-transform:uppercase; letter-spacing:.14em; }
.site-footer ul { list-style:none; padding:0; margin:0; }
.site-footer li { margin:10px 0; }
.site-footer a, .site-footer p { color:rgba(255,255,255,.66); }
.site-footer__bottom { border-top:1px solid rgba(255,255,255,.11); margin-top:55px; padding-top:24px; font-size:.82rem; color:rgba(255,255,255,.5); display:flex; justify-content:space-between; gap:20px; }

/* WooCommerce essentials */
.woocommerce-page .site-main { width:min(calc(100% - 40px), var(--ss-max)); margin:150px auto 80px; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product { background:white; border-radius:18px; padding:16px; box-shadow:0 12px 30px rgba(3,47,55,.08); }
.woocommerce div.product .product_title { font-family:"Cormorant Garamond",Georgia,serif; font-size:3.2rem; color:var(--ss-teal-deep); }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit { background:var(--ss-gold); color:var(--ss-teal-deep); border-radius:999px; padding:14px 24px; }
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background:var(--ss-gold-light); color:var(--ss-teal-deep); }
.woocommerce-message, .woocommerce-info { border-top-color:var(--ss-gold); }
.woocommerce-message::before, .woocommerce-info::before { color:var(--ss-gold); }

@media (max-width: 1020px) {
  .site-header__inner { grid-template-columns:1fr auto; }
  .site-nav { display:none; position:absolute; top:104px; left:20px; right:20px; background:var(--ss-teal-deep); padding:24px; border-radius:18px; }
  .site-nav.is-open { display:block; }
  .site-nav ul { flex-direction:column; align-items:flex-start; }
  .ss-menu-toggle { display:block; }
  .site-actions .ss-cart-text { display:none; }
  .ss-hero__inner { grid-template-columns:1fr; text-align:center; padding-top:160px; padding-bottom:70px; }
  .ss-hero p { margin-inline:auto; }
  .ss-hero__buttons { justify-content:center; }
  .ss-product-placeholder { width:min(400px,100%); }
  .ss-product-grid { grid-template-columns:repeat(2,1fr); }
  .ss-designer-panel { grid-template-columns:1fr; }
  .ss-designer-panel__visual { min-height:320px; }
  .site-footer__grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 720px) {
  .ss-container { width:min(calc(100% - 26px), var(--ss-max)); }
  .site-header__inner { min-height:88px; }
  .site-branding img { width:150px; }
  .ss-hero, .ss-hero__inner { min-height:720px; }
  .ss-hero h1 { font-size:3.8rem; }
  .ss-section { padding:76px 0; }
  .ss-section__head { align-items:flex-start; flex-direction:column; }
  .ss-moods, .ss-product-grid, .ss-benefits { grid-template-columns:1fr; }
  .ss-mood-card { min-height:300px; }
  .ss-designer-panel__copy { padding:40px 28px; }
  .site-footer__grid { grid-template-columns:1fr; }
  .site-footer__bottom { flex-direction:column; }
}

/* 2.1 base-theme completion */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;background:#fff;color:#111;padding:12px 16px;z-index:99999;top:8px;left:8px}
body.admin-bar .site-header{top:32px}.site-header{transition:background .25s ease,box-shadow .25s ease}.site-header.is-scrolled,.tss-inner .site-header{position:sticky;top:0;background:rgba(3,47,55,.97);box-shadow:0 8px 24px rgba(0,0,0,.15);backdrop-filter:blur(12px)}body.admin-bar .site-header.is-scrolled,body.admin-bar.tss-inner .site-header{top:32px}
.site-header__inner{min-height:112px;grid-template-columns:210px 1fr 140px}.site-branding{height:96px;display:flex;align-items:center;overflow:visible}.site-branding__link,.custom-logo-link{display:flex;align-items:center;height:100%;overflow:visible}.site-branding img,.custom-logo{width:auto!important;height:90px!important;max-width:190px!important;max-height:90px!important;object-fit:contain!important;object-position:center!important;overflow:visible}
.ss-cart-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--ss-gold);color:var(--ss-teal-deep);font-size:.72rem;font-weight:700}.ss-basket{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.ss-menu-toggle{width:44px;height:44px;padding:10px;position:relative}.ss-menu-toggle span:not(.screen-reader-text){display:block;height:2px;background:currentColor;margin:5px 0;transition:.25s}
.tss-inner main,.tss-inner .site-main{min-height:55vh}.ss-page-hero{padding:80px 0 54px;background:linear-gradient(120deg,var(--ss-teal-deep),var(--ss-teal));color:#fff}.ss-page-hero h1{font-size:clamp(3.2rem,7vw,6rem)}.ss-content{padding:70px 0}.ss-content>*:first-child{margin-top:0}.ss-content img{border-radius:16px}.ss-content a:not(.ss-btn){color:var(--ss-teal);text-decoration:underline;text-underline-offset:3px}
.tss-fullwidth{width:100%;overflow:hidden}.tss-fullwidth .vc_row{margin-left:0;margin-right:0}.tss-fullwidth .wpb_content_element{margin-bottom:0}.tss-content-width{width:min(calc(100% - 40px),var(--ss-max));margin-inline:auto}
/* WordPress content */
.alignwide{width:min(1400px,calc(100vw - 40px));max-width:none;margin-left:50%;transform:translateX(-50%)}.alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}
.pagination,.woocommerce-pagination ul{display:flex;gap:8px;justify-content:center;list-style:none;padding:0;margin:40px 0}.page-numbers{display:grid;place-items:center;min-width:42px;height:42px;border:1px solid rgba(6,63,73,.25);border-radius:50%}.page-numbers.current,.page-numbers:hover{background:var(--ss-teal);color:#fff}
/* Forms */
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=number],select,textarea{width:100%;border:1px solid #ccd2d0;background:#fff;border-radius:10px;padding:14px 16px;color:var(--ss-charcoal)}textarea{min-height:130px;resize:vertical}label{font-weight:600;font-size:.9rem}.button,button,input[type=submit]{border:0;border-radius:999px;background:var(--ss-gold);color:var(--ss-teal-deep);padding:14px 24px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.button:hover,button:hover,input[type=submit]:hover{background:var(--ss-gold-light)}
/* WooCommerce */
.woocommerce .site-main,.woocommerce-page .site-main{padding:64px 0}.woocommerce-notices-wrapper{width:min(calc(100% - 40px),var(--ss-max));margin:20px auto}.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;background:#fff;border-left:4px solid var(--ss-gold);padding:18px 20px;border-radius:8px;box-shadow:0 8px 25px rgba(0,0,0,.08)}.woocommerce-error{border-color:#9c3942}
.woocommerce ul.products{list-style:none;padding:0;margin:32px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}.woocommerce ul.products li.product{width:auto!important;margin:0!important;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 34px rgba(6,63,73,.12);transition:.25s}.woocommerce ul.products li.product:hover{transform:translateY(-5px)}.woocommerce ul.products li.product a img{margin:0;width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--ss-cream)}.woocommerce ul.products li.product .woocommerce-loop-product__title{font:500 1.8rem/1.1 "Cormorant Garamond",serif;padding:20px 20px 6px;color:var(--ss-teal-deep)}.woocommerce ul.products li.product .price{display:block;padding:0 20px 14px;color:var(--ss-teal);font-weight:700}.woocommerce ul.products li.product .button{margin:0 20px 22px;display:inline-flex}.onsale{position:absolute;z-index:2;margin:14px!important;min-height:auto!important;line-height:1!important;border-radius:999px!important;background:var(--ss-gold)!important;color:var(--ss-teal-deep)!important;padding:9px 12px!important;font-size:.72rem!important}
.single-product div.product{display:grid;grid-template-columns:1fr 1fr;gap:64px}.single-product .woocommerce-product-gallery img{border-radius:18px}.single-product .product_title{font-size:clamp(3rem,5vw,5rem);color:var(--ss-teal-deep)}.single-product .price{font-size:1.5rem;color:var(--ss-teal);font-weight:700}.quantity .qty{width:82px}.woocommerce-tabs{grid-column:1/-1;margin-top:40px}.woocommerce-tabs ul.tabs{display:flex;gap:20px;list-style:none;padding:0;border-bottom:1px solid #ddd}.woocommerce-tabs ul.tabs li a{display:block;padding:12px 0;font-weight:700}.woocommerce-tabs .panel{padding:24px 0}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:16px;border-bottom:1px solid #e5e5e5;text-align:left}.cart_totals,.woocommerce-checkout-review-order,.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{background:#fff;padding:28px;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.08)}.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:30px}.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:36px}.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;background:#fff;border-radius:14px;overflow:hidden}.woocommerce-MyAccount-navigation a{display:block;padding:14px 18px;border-bottom:1px solid #eee}
/* Blog / search / 404 */
.ss-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.ss-post-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.08)}.ss-post-card__body{padding:24px}.ss-post-card h2{font-size:2rem}.ss-post-card .post-thumbnail img{width:100%;aspect-ratio:16/10;object-fit:cover}.ss-404{text-align:center;padding:110px 20px}.ss-404 h1{font-size:8rem;color:var(--ss-gold)}
@media(max-width:1000px){.site-header__inner{grid-template-columns:170px 1fr auto}.site-branding img,.custom-logo{height:78px!important;max-height:78px!important;max-width:160px!important}.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}.single-product div.product{gap:36px}.ss-post-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:782px){body.admin-bar .site-header,body.admin-bar .site-header.is-scrolled,body.admin-bar.tss-inner .site-header{top:46px}.site-header{position:absolute}.site-header__inner{min-height:92px;grid-template-columns:1fr auto auto}.site-branding{height:78px}.site-branding img,.custom-logo{height:72px!important;max-height:72px!important;max-width:145px!important}.ss-menu-toggle{display:block;grid-column:3}.site-actions{grid-column:2;grid-row:1}.site-nav{position:fixed;inset:0 0 0 auto;width:min(88vw,380px);height:100vh;padding:130px 30px 40px;background:var(--ss-teal-deep);transform:translateX(105%);transition:.3s;box-shadow:-20px 0 45px rgba(0,0,0,.25);z-index:-1}.menu-open .site-nav{transform:none}.site-nav ul,.site-nav__list{display:flex!important;flex-direction:column;align-items:flex-start;gap:0}.site-nav li{width:100%}.site-nav a{display:block;padding:16px 0;width:100%;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.12)}.menu-open{overflow:hidden}.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}.single-product div.product,.woocommerce-checkout .col2-set,.woocommerce-account .woocommerce{grid-template-columns:1fr}.ss-post-grid{grid-template-columns:1fr}.ss-page-hero{padding-top:62px}}
@media(max-width:540px){.ss-container,.tss-content-width{width:min(calc(100% - 28px),var(--ss-max))}.ss-basket{font-size:0}.ss-basket .ss-cart-count{font-size:.72rem}.woocommerce ul.products{grid-template-columns:1fr}.woocommerce table.shop_table{font-size:.82rem}.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:10px}.site-branding img,.custom-logo{height:66px!important;max-height:66px!important;max-width:132px!important}}


/* Curated collection links */
.ss-section-cta {
  display: flex;
  justify-content: center;
  margin-top: 42px;
}
.ss-section-cta .ss-btn {
  min-width: 250px;
}
@media (max-width: 640px) {
  .ss-section-cta { margin-top: 30px; }
  .ss-section-cta .ss-btn { width: 100%; min-width: 0; }
}


/* 2.7 dynamic homepage product collections */
.ss-random-product-grid .ss-live-product-card { display: none; }
.ss-random-product-grid.is-ready .ss-live-product-card.is-selected { display: flex; }
.ss-card__media--image { padding: 0; overflow: hidden; }
.ss-card__media--image img { width: 100%; height: 100%; object-fit: cover; }
.ss-card__footer { margin-top: auto; display: flex; flex-direction: column; gap: 10px; }
.ss-card__price { color: var(--ss-teal); font-weight: 700; }
.ss-card__price del { opacity: .55; margin-right: 6px; }
.ss-card__price ins { text-decoration: none; }
.ss-live-product-card .ss-card__body { display: flex; flex-direction: column; }
#latest { scroll-margin-top: 120px; }
#collections, #designer, #seasonal { scroll-margin-top: 120px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}


/* 2.9 unified fragrance cards and WooCommerce presentation */
.ss-random-product-grid.is-ready .ss-live-product-card.is-selected {
  display: flex;
  flex-direction: column;
}

/* One card language across homepage, shop, archives and related products */
.woocommerce ul.products li.product.tss-product-card {
  padding: 0;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
  border-radius: var(--ss-radius);
  overflow: hidden;
  box-shadow: 0 12px 35px rgba(11,53,59,.11);
}
.woocommerce ul.products li.product.tss-product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 44px rgba(11,53,59,.17);
}
.tss-product-card__media {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: linear-gradient(145deg,#d8d2c4,#f6f1e7);
  color: #6d716f;
  font-size: .76rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-align: center;
}
.tss-product-card__media img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover;
}
.tss-product-card__placeholder { padding: 24px; }
.tss-product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}
.tss-product-card__meta {
  color: #8c7641;
  font-size: .7rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.woocommerce ul.products li.product.tss-product-card .woocommerce-loop-product__title {
  padding: 0;
  margin: 6px 0 9px;
  font: 500 2rem/1.05 "Cormorant Garamond", Georgia, serif;
  color: var(--ss-teal-deep);
}
.tss-product-card__inspiration {
  margin: -2px 0 9px;
  color: #9a7f3f;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1rem;
  font-style: italic;
  line-height: 1.25;
}
.tss-product-card__description {
  margin: 0 0 18px;
  color: #687174;
  font-size: .92rem;
}
.tss-product-card__footer {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.woocommerce ul.products li.product.tss-product-card .price {
  display: block;
  padding: 0;
  margin: 0;
  color: var(--ss-teal);
  font-weight: 700;
}
.tss-product-card__link {
  color: var(--ss-teal);
  font-weight: 700;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Shop and collection page framing */
.woocommerce-shop .site-main,
.tax-product_cat .site-main,
.tax-product_tag .site-main {
  padding-top: 56px;
}
.woocommerce .woocommerce-ordering,
.woocommerce .woocommerce-result-count { margin-bottom: 28px; }
.woocommerce .woocommerce-ordering select {
  min-height: 48px;
  border-color: rgba(6,63,73,.18);
  background: #fff;
}

/* Single fragrance page */
.single-product .site-main > .ss-container { padding-top: 24px; }
.single-product div.product {
  align-items: start;
  gap: 72px;
}
.single-product div.product .summary {
  padding: 24px 0;
}
.single-product .product_meta {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid rgba(6,63,73,.14);
  color: #687174;
  font-size: .86rem;
}
.single-product .woocommerce-product-details__short-description {
  color: #687174;
  font-size: 1rem;
}
.single-product .woocommerce-tabs {
  padding-top: 28px;
  border-top: 1px solid rgba(6,63,73,.12);
}
.single-product section.related.products,
.single-product section.upsells.products {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 50px;
}
.single-product section.related.products > h2,
.single-product section.upsells.products > h2 {
  font-size: clamp(2.4rem,4vw,4rem);
  margin-bottom: 24px;
}
.single-product .related ul.products,
.single-product .upsells ul.products {
  width: 100%;
}

@media (max-width: 782px) {
  .single-product div.product { gap: 28px; }
  .tss-product-card__body { padding: 20px; }
}


/* 3.2 responsive layout pass */
/* Hero actions: one clear primary action, two balanced collection shortcuts. */
.ss-hero__buttons {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  justify-content: start;
  align-items: center;
  gap: 12px 14px;
  width: fit-content;
}
.ss-hero__buttons .ss-btn--gold {
  grid-column: 1 / -1;
  justify-self: start;
  min-width: 250px;
}
.ss-hero__buttons .ss-btn--ghost {
  min-width: 0;
}

/* Prevent long words, headings and controls from forcing horizontal overflow. */
body { overflow-x: hidden; }
.site-header__inner,
.ss-hero__inner,
.ss-section__head,
.ss-product-grid,
.woocommerce ul.products,
.single-product div.product,
.site-footer__grid { min-width: 0; }
.ss-hero h1,
.ss-section__head h2,
.ss-card h3,
.woocommerce-loop-product__title,
.single-product .product_title { overflow-wrap: anywhere; }

/* Large screens */
@media (min-width: 1441px) {
  :root { --ss-max: 1360px; }
  .ss-hero__inner { gap: 84px; }
  .ss-section { padding-block: 120px; }
}

/* Laptop and small desktop */
@media (max-width: 1200px) {
  .ss-hero { min-height: 720px; }
  .ss-hero__inner { min-height: 720px; gap: 42px; }
  .ss-hero h1 { font-size: clamp(4rem, 7.2vw, 6.4rem); }
  .ss-product-grid,
  .woocommerce ul.products { gap: 18px; }
  .ss-card__body,
  .tss-product-card__body { padding: 20px; }
  .ss-card h3,
  .woocommerce ul.products li.product.tss-product-card .woocommerce-loop-product__title { font-size: 1.75rem; }
}

/* Tablet landscape and below */
@media (max-width: 1020px) {
  .ss-hero,
  .ss-hero__inner { min-height: auto; }
  .ss-hero__inner {
    grid-template-columns: 1fr;
    padding-top: 150px;
    padding-bottom: 76px;
    text-align: center;
  }
  .ss-hero h1 { max-width: 820px; margin-inline: auto; }
  .ss-hero__buttons { justify-content: center; margin-inline: auto; }
  .ss-hero__buttons .ss-btn--gold { justify-self: center; }
  .ss-product-placeholder { width: min(380px, 80vw); }
  .ss-section__head { align-items: flex-start; }
  .ss-section__head p { max-width: 440px; }
  .ss-moods { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .ss-product-grid,
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ss-benefits { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .ss-benefit { padding: 34px 22px; }
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .single-product div.product { grid-template-columns: 1fr 1fr; gap: 34px; }
}

/* Tablet portrait */
@media (max-width: 820px) {
  .ss-section { padding-block: 82px; }
  .ss-section__head { flex-direction: column; gap: 14px; margin-bottom: 32px; }
  .ss-section__head p { max-width: 650px; }
  .ss-moods { grid-template-columns: 1fr; }
  .ss-mood-card { min-height: 260px; }
  .ss-benefits { grid-template-columns: 1fr; gap: 1px; }
  .single-product div.product { grid-template-columns: 1fr; }
  .single-product div.product .summary { padding-top: 0; }
  .woocommerce-checkout .col2-set,
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
}

/* Phones */
@media (max-width: 640px) {
  .ss-container,
  .tss-content-width,
  .woocommerce-notices-wrapper { width: min(calc(100% - 28px), var(--ss-max)); }
  .site-header__inner { min-height: 82px; gap: 8px; }
  .site-branding { height: 70px; }
  .site-branding img,
  .custom-logo { height: 64px !important; max-height: 64px !important; max-width: 128px !important; }
  .ss-hero__inner { padding-top: 124px; padding-bottom: 58px; gap: 34px; }
  .ss-hero h1 { font-size: clamp(3rem, 15vw, 4.4rem); line-height: .96; }
  .ss-hero p { font-size: .98rem; margin-block: 20px 28px; }
  .ss-hero__buttons {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .ss-hero__buttons .ss-btn,
  .ss-hero__buttons .ss-btn--gold {
    width: 100%;
    min-width: 0;
    grid-column: auto;
    justify-self: stretch;
  }
  .ss-product-placeholder { width: min(310px, 88vw); }
  .ss-product-placeholder::after { width: 190px; height: 245px; }
  .ss-section { padding-block: 68px; }
  .ss-section__head h2 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .ss-product-grid,
  .woocommerce ul.products { grid-template-columns: 1fr; gap: 22px; }
  .ss-card__media,
  .tss-product-card__media,
  .woocommerce ul.products li.product a img { aspect-ratio: 5 / 4; }
  .ss-card h3,
  .woocommerce ul.products li.product.tss-product-card .woocommerce-loop-product__title { font-size: 2rem; }
  .ss-section-cta .ss-btn { width: 100%; }
  .site-footer { padding-top: 60px; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 30px; }
  .site-footer__bottom { flex-direction: column; }
  .woocommerce-page .site-main { width: min(calc(100% - 28px), var(--ss-max)); margin-top: 118px; }
  .woocommerce .woocommerce-ordering,
  .woocommerce .woocommerce-result-count { float: none; width: 100%; }
  .woocommerce .woocommerce-ordering select { width: 100%; }
  .woocommerce table.shop_table { display: block; overflow-x: auto; }
  .woocommerce-tabs ul.tabs { gap: 12px; overflow-x: auto; }
  .single-product .product_title { font-size: clamp(2.7rem, 14vw, 4rem); }
  .single-product section.related.products > h2,
  .single-product section.upsells.products > h2 { font-size: 2.7rem; }
}

/* Narrow phones */
@media (max-width: 380px) {
  .ss-container,
  .tss-content-width,
  .woocommerce-notices-wrapper { width: min(calc(100% - 20px), var(--ss-max)); }
  .ss-btn { min-height: 48px; padding-inline: 18px; font-size: .75rem; letter-spacing: .1em; }
  .ss-hero h1 { font-size: 2.8rem; }
  .site-actions { gap: 6px; }
  .ss-card__body,
  .tss-product-card__body { padding: 18px; }
}


/* 3.3 desktop hero refinement */
.ss-hero h1 span { display:block; }

@media (min-width: 1021px) {
  .ss-hero__inner {
    padding-top: 132px;
    padding-bottom: 72px;
    align-items: center;
  }
  .ss-hero h1 {
    max-width: 760px;
    font-size: clamp(4.6rem, 6.2vw, 6.65rem);
    line-height: .91;
    letter-spacing: -.035em;
  }
  .ss-hero h1 span + span { margin-top: .08em; }
  .ss-hero p {
    max-width: 610px;
    margin: 26px 0 30px;
  }
  .ss-hero__buttons {
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:12px;
    width:auto;
  }
  .ss-hero__buttons .ss-btn,
  .ss-hero__buttons .ss-btn--gold,
  .ss-hero__buttons .ss-btn--ghost {
    grid-column:auto;
    justify-self:auto;
    min-width:0;
    white-space:nowrap;
  }
}

@media (min-width: 1021px) and (max-width: 1240px) {
  .ss-hero h1 { font-size: clamp(4rem, 6.5vw, 5.4rem); }
  .ss-hero__buttons { gap:9px; }
  .ss-hero__buttons .ss-btn { padding-inline:20px; font-size:.74rem; }
}


/* 3.8 clean cinematic hero artwork */
.ss-hero{
  background:#032f37 url("assets/hero-background-v39.webp") center center / cover no-repeat;
}
.ss-product-placeholder{display:none;}
.ss-hero__inner{grid-template-columns:minmax(0,760px) 1fr;}
.ss-hero::before{display:none;}

@media(max-width:1020px){
  .ss-hero{
    background:#032f37 url("assets/hero-background-v39.webp") 64% center / cover no-repeat;
  }
}

@media(max-width:640px){
  .ss-hero{
    background:#032f37 url("assets/hero-background-v39.webp") 70% center / cover no-repeat;
  }
}


/* 3.10 stable header — prevents flashing when scrolling */
.site-header,
.site-header.is-scrolled,
.tss-inner .site-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  background: #032f37 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: none !important;
  animation: none !important;
  transform: translateZ(0);
  will-change: auto;
}

body.admin-bar .site-header,
body.admin-bar .site-header.is-scrolled,
body.admin-bar.tss-inner .site-header {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar .site-header,
  body.admin-bar .site-header.is-scrolled,
  body.admin-bar.tss-inner .site-header {
    top: 46px;
  }

  .site-header,
  .site-header.is-scrolled,
  .tss-inner .site-header {
    position: fixed !important;
  }
}


/* 3.11 transparent header over hero, solid only after scrolling */
.site-header {
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: none !important;
}

.site-header.is-scrolled,
.tss-inner .site-header {
  background: #032f37 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.15) !important;
}

body:not(.tss-inner) .site-header:not(.is-scrolled) {
  background: transparent !important;
  box-shadow: none !important;
}


/* 3.12 mobile hero headline refinement */
@media (max-width: 640px) {
  .ss-hero h1 {
    max-width: 100%;
    font-size: clamp(2.65rem, 12.5vw, 3.55rem);
    line-height: .94;
    letter-spacing: -.025em;
  }

  .ss-hero h1 span:first-child {
    white-space: nowrap;
  }

  .ss-hero h1 span:nth-child(2),
  .ss-hero h1 span:nth-child(3) {
    display: inline;
  }

  .ss-hero h1 span:nth-child(3)::before {
    content: " ";
  }
}

/* 3.12 back-in-stock notification */
.tss-stock-alert {
  display: none;
  clear: both;
  margin: 28px 0 0;
}

.tss-stock-alert.is-visible {
  display: block;
}

.tss-stock-alert__inner {
  padding: 24px;
  border: 1px solid rgba(202,163,74,.48);
  border-radius: 18px;
  background: rgba(202,163,74,.09);
}

.tss-stock-alert__eyebrow {
  display: block;
  margin-bottom: 7px;
  color: var(--ss-gold);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.tss-stock-alert h3 {
  margin: 0 0 8px;
  color: var(--ss-teal-deep);
  font-family: "Cormorant Garamond", serif;
  font-size: 2rem;
  line-height: 1;
}

.tss-stock-alert p {
  margin: 0 0 16px;
}

.tss-stock-alert__form {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
}

.tss-stock-alert__form input[type="email"] {
  width: 100%;
  min-height: 50px;
  padding: 0 16px;
  border: 1px solid rgba(3,47,55,.2);
  border-radius: 999px;
  background: #fff;
  color: var(--ss-charcoal);
  font: inherit;
}

.tss-stock-alert__form button {
  min-height: 50px;
  padding: 0 23px;
  border: 0;
  border-radius: 999px;
  background: var(--ss-gold);
  color: var(--ss-teal-deep);
  font: 700 .78rem/1 "Montserrat", sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}

.tss-stock-alert__form button:hover,
.tss-stock-alert__form button:focus-visible {
  background: var(--ss-gold-light);
}

.tss-stock-alert small {
  display: block;
  margin-top: 10px;
  opacity: .7;
}

.tss-stock-alert__message {
  padding: 11px 13px;
  border-radius: 10px;
  font-weight: 600;
}

.tss-stock-alert__message.is-success {
  background: rgba(42,122,77,.12);
  color: #1d6840;
}

.tss-stock-alert__message.is-error {
  background: rgba(153,47,47,.1);
  color: #8d2828;
}

@media (max-width: 640px) {
  .tss-stock-alert__inner {
    padding: 20px;
  }

  .tss-stock-alert__form {
    grid-template-columns: 1fr;
  }

  .tss-stock-alert__form button {
    width: 100%;
  }
}

/* 3.18 product information accordion placeholders */
.tss-product-accordions {
  clear: both;
  margin-top: 30px;
  border-top: 1px solid rgba(202,163,74,.42);
}

.tss-product-accordion {
  margin: 0;
  border-bottom: 1px solid rgba(202,163,74,.42);
}

.tss-product-accordion summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 62px;
  padding: 16px 42px 16px 0;
  color: var(--ss-teal-deep);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .07em;
  line-height: 1.35;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
}

.tss-product-accordion summary::-webkit-details-marker {
  display: none;
}

.tss-product-accordion summary::after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--ss-gold);
  font-family: Arial, sans-serif;
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1;
}

.tss-product-accordion[open] summary::after {
  content: "−";
}

.tss-product-accordion__content {
  padding: 0 38px 20px 0;
}

.tss-product-accordion__content p {
  margin: 0;
  color: rgba(30,38,41,.78);
  font-size: .94rem;
}

.tss-product-accordion summary:focus-visible {
  outline: 2px solid var(--ss-gold);
  outline-offset: 4px;
}

@media (max-width: 640px) {
  .tss-product-accordions {
    margin-top: 24px;
  }

  .tss-product-accordion summary {
    min-height: 58px;
    padding-right: 36px;
    font-size: .76rem;
  }

  .tss-product-accordion__content {
    padding-right: 24px;
  }
}


/* v3.26 stock visibility */
.tss-product-card__media,
.single-product .woocommerce-product-gallery__image {
  position: relative;
}

.tss-out-of-stock-overlay {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 24px;
  background: rgba(3, 47, 55, 0.76);
  color: var(--ss-ivory);
  text-align: center;
  pointer-events: none;
  backdrop-filter: blur(1px);
}

.tss-out-of-stock-overlay strong {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tss-out-of-stock-overlay small {
  font-family: "Montserrat", sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.tss-product-card__media .tss-out-of-stock-overlay {
  border-radius: inherit;
}

.single-product .woocommerce-product-gallery__image:not(:first-child) > .tss-out-of-stock-overlay {
  display: none;
}

.single-product .woocommerce-product-gallery__image:first-child > .tss-out-of-stock-overlay {
  border-radius: 18px;
}


/* 3.32 product purchase controls */
.tss-card-purchase {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin-top: 4px;
}
.tss-card-purchase__price {
  color: var(--ss-teal-deep);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}
.tss-card-purchase__price del { opacity: .5; font-size: .82em; margin-right: 4px; }
.tss-card-purchase__price ins { text-decoration: none; }
.tss-card-purchase__button,
.woocommerce ul.products li.product .tss-card-purchase__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  margin: 0;
  border: 1px solid var(--ss-gold);
  border-radius: 999px;
  background: var(--ss-gold);
  color: var(--ss-teal-deep);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: none;
}
.tss-card-purchase__button:hover,
.woocommerce ul.products li.product .tss-card-purchase__button:hover {
  background: var(--ss-gold-light);
  color: var(--ss-teal-deep);
  transform: translateY(-1px);
}
.tss-card-purchase__button--secondary,
.woocommerce ul.products li.product .tss-card-purchase__button--secondary {
  background: transparent;
  color: var(--ss-teal);
}
.tss-card-purchase__button.added::after { margin-left: 6px; }
.ss-card__footer,
.tss-product-card__footer { margin-top: auto; }

/* Standard WooCommerce single-product buying block. */
.single-product .summary > .price {
  display: block;
  margin: 18px 0 14px;
  color: var(--ss-teal-deep);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 1.45rem;
  font-weight: 700;
}
.single-product .summary form.cart {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 22px;
}
.single-product .summary form.cart .single_add_to_cart_button {
  min-height: 48px;
  padding: 12px 24px;
  border: 1px solid var(--ss-gold);
  border-radius: 999px;
  background: var(--ss-gold);
  color: var(--ss-teal-deep);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 520px) {
  .tss-card-purchase { align-items: stretch; flex-direction: column; }
  .tss-card-purchase__button,
  .woocommerce ul.products li.product .tss-card-purchase__button { width: 100%; }
  .single-product .summary form.cart { align-items: stretch; flex-direction: column; }
  .single-product .summary form.cart .quantity,
  .single-product .summary form.cart .single_add_to_cart_button { width: 100%; }
}


/* 3.40 guaranteed global back bar. Rendered directly in header.php. */

/* v3.44 — source-aligned Signature Scent artwork.
   All nine product images now share the same 1122 × 1402 canvas and the
   diffuser is centred in the artwork itself, so no per-product CSS offsets
   or scaling are needed. */
.ss-card__media--image img,
.tss-product-card__media img {
  object-position: 50% 50% !important;
  transform: none !important;
  transform-origin: center center;
}


/* v3.45 — responsive, uncropped product artwork.
   Preserve the exact 1122 × 1402 Photoshop canvas at every viewport size.
   This deliberately overrides the older 4:5/5:4 card crops and all cover rules. */
.ss-card__media,
.ss-card__media--image,
.tss-product-card__media,
.woocommerce ul.products li.product.tss-product-card .tss-product-card__media,
.woocommerce ul.products li.product a.tss-product-card__media {
  width: 100%;
  aspect-ratio: 1122 / 1402 !important;
  padding: 0;
  overflow: hidden;
  background: var(--ss-cream);
}

.ss-card__media--image img,
.tss-product-card__media img,
.woocommerce ul.products li.product.tss-product-card a.tss-product-card__media img,
.woocommerce ul.products li.product a img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  transform: none !important;
}

/* Never turn the portrait product artwork into a landscape crop on phones. */
@media (max-width: 640px) {
  .ss-card__media,
  .ss-card__media--image,
  .tss-product-card__media,
  .woocommerce ul.products li.product a img {
    aspect-ratio: 1122 / 1402 !important;
  }
}

/* v3.49 — full-width Limited Editions campaign carousel */
.tss-campaign {
  background: linear-gradient(180deg, #063f49 0%, #032f37 100%);
  color: #fff;
  padding: 88px 0 100px;
  scroll-margin-top: 110px;
}
.tss-campaign__heading {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 38px;
}
.tss-campaign__heading h2 {
  font-size: clamp(2.8rem, 5vw, 4.8rem);
  margin-top: 8px;
}
.tss-campaign__heading p {
  color: rgba(255,255,255,.7);
  margin: 14px auto 0;
  max-width: 650px;
}
.tss-campaign-slider {
  position: relative;
}
.tss-campaign-slider__viewport {
  overflow: hidden;
  border: 1px solid rgba(202,163,74,.62);
  border-radius: 28px;
  background: #07191d;
  box-shadow: 0 30px 80px rgba(0,0,0,.28);
}
.tss-campaign-slider__track {
  display: flex;
  transition: transform .72s cubic-bezier(.22,.7,.2,1);
  will-change: transform;
}
.tss-campaign-slide {
  flex: 0 0 100%;
  min-width: 100%;
  min-height: 520px;
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr);
  align-items: stretch;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(202,163,74,.18), transparent 30%),
    linear-gradient(120deg, #07191d 0%, #0b282c 100%);
}
.tss-campaign-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(0,0,0,.13), transparent 56%);
}
.tss-campaign-slide__content {
  padding: clamp(44px,6vw,82px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.tss-campaign-slide__eyebrow {
  color: var(--ss-gold-light);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.tss-campaign-slide h3 {
  font-size: clamp(3.4rem,6vw,6.8rem);
  line-height: .92;
  margin: 14px 0 22px;
  max-width: 680px;
}
.tss-campaign-slide p {
  color: rgba(255,255,255,.76);
  font-size: clamp(.98rem,1.4vw,1.14rem);
  max-width: 590px;
  margin: 0 0 30px;
}
.tss-campaign-slide__status {
  color: var(--ss-gold-light);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .72rem;
  font-weight: 700;
}
.tss-campaign-slide__visual {
  min-height: 520px;
  display: grid;
  place-items: center;
  padding: 54px;
  position: relative;
  z-index: 1;
  isolation: isolate;
}
.tss-campaign-slide__visual::before,
.tss-campaign-slide__visual::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
  z-index: -1;
}
.tss-campaign-slide__visual::before {
  width: 360px;
  height: 360px;
  background: rgba(202,163,74,.12);
  box-shadow: 0 0 100px rgba(202,163,74,.15);
}
.tss-campaign-slide__visual::after {
  width: 220px;
  height: 220px;
  border: 1px solid rgba(228,200,121,.28);
}
.tss-campaign-placeholder {
  width: min(440px, 100%);
  aspect-ratio: 4 / 5;
  border-radius: 24px;
  border: 1px dashed rgba(228,200,121,.68);
  background:
    linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.015)),
    radial-gradient(circle at 50% 32%, rgba(202,163,74,.22), transparent 42%);
  display: grid;
  place-items: center;
  text-align: center;
  color: rgba(255,255,255,.72);
  letter-spacing: .15em;
  text-transform: uppercase;
  font-size: .74rem;
  line-height: 1.8;
}
.tss-campaign-slide--midnight { background: linear-gradient(125deg,#090b18,#1a1023 52%,#09181d); }
.tss-campaign-slide--treat { background: linear-gradient(125deg,#170c08,#3a170d 52%,#1f1209); }
.tss-campaign-slide--witches { background: linear-gradient(125deg,#07130f,#183323 52%,#091b19); }
.tss-campaign-slide--lantern { background: linear-gradient(125deg,#160b06,#3b1909 52%,#19100a); }
.tss-campaign-slider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 54px;
  height: 54px;
  border-radius: 50%;
  border: 1px solid rgba(228,200,121,.7);
  background: rgba(3,25,29,.88);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 5;
  transition: background .2s ease, transform .2s ease;
}
.tss-campaign-slider__arrow:hover {
  background: var(--ss-gold);
  color: var(--ss-teal-deep);
  transform: translateY(-50%) scale(1.05);
}
.tss-campaign-slider__arrow--prev { left: -27px; }
.tss-campaign-slider__arrow--next { right: -27px; }
.tss-campaign-slider__dots {
  display: flex;
  justify-content: center;
  gap: 11px;
  margin-top: 24px;
}
.tss-campaign-slider__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.72);
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.tss-campaign-slider__dot.is-active {
  background: var(--ss-gold);
  border-color: var(--ss-gold);
}
@media (max-width: 980px) {
  .tss-campaign-slide {
    grid-template-columns: 1fr 1fr;
    min-height: 470px;
  }
  .tss-campaign-slide__visual { min-height: 470px; padding: 34px; }
  .tss-campaign-slider__arrow--prev { left: 12px; }
  .tss-campaign-slider__arrow--next { right: 12px; }
}
@media (max-width: 720px) {
  .tss-campaign { padding: 68px 0 78px; }
  .tss-campaign__heading { text-align: left; margin-bottom: 28px; }
  .tss-campaign-slide {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .tss-campaign-slide__content { padding: 38px 28px 26px; }
  .tss-campaign-slide h3 { font-size: clamp(3rem,15vw,4.5rem); }
  .tss-campaign-slide__visual { min-height: 320px; padding: 22px 28px 42px; }
  .tss-campaign-placeholder { width: min(290px,86vw); }
  .tss-campaign-slider__arrow { width: 44px; height: 44px; top: auto; bottom: 18px; transform: none; }
  .tss-campaign-slider__arrow:hover { transform: scale(1.04); }
  .tss-campaign-slider__arrow--prev { left: 18px; }
  .tss-campaign-slider__arrow--next { right: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .tss-campaign-slider__track { transition: none; }
}

/* v3.52 — portrait Limited Editions artwork frame for alpha testing. */
.tss-campaign-slide__visual.has-image::before,
.tss-campaign-slide__visual.has-image::after { display: none; }
.tss-campaign-slide__artwork {
  width: min(440px, 100%);
  aspect-ratio: 4 / 5;
  height: auto;
  object-fit: cover;
  object-position: center;
  border-radius: 24px;
  border: 1px solid rgba(228,200,121,.45);
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}
@media (max-width: 720px) {
  .tss-campaign-slide__artwork { width: min(290px,86vw); }
}


/* v3.53 — keep campaign artwork inside the same portrait frame as the placeholder. */
.tss-campaign-slide__visual.has-image {
  padding: 54px;
  display: grid;
  place-items: center;
}
.tss-campaign-slide__visual.has-image .tss-campaign-slide__artwork {
  display: block;
  width: min(440px, 100%);
  max-width: 440px;
  height: auto;
  max-height: none;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
  border-radius: 24px;
  border: 1px solid rgba(228,200,121,.45);
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}
@media (max-width: 980px) {
  .tss-campaign-slide__visual.has-image { padding: 34px; }
}
@media (max-width: 720px) {
  .tss-campaign-slide__visual.has-image { padding: 22px 28px 42px; }
  .tss-campaign-slide__visual.has-image .tss-campaign-slide__artwork {
    width: min(290px,86vw);
    max-width: 290px;
  }
}


/* v3.61 — collection-led homepage copy and designer empty state */
.ss-section-cta--stacked {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}
.ss-campaign-teaser {
  color:var(--ss-teal);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.ss-collection-empty {
  max-width:760px;
  margin:8px auto 0;
  padding:46px 52px;
  border:1px solid rgba(158,122,41,.28);
  border-radius:var(--ss-radius);
  background:rgba(255,255,255,.7);
  text-align:center;
  box-shadow:0 12px 35px rgba(11,53,59,.08);
}
.ss-collection-empty h3 {
  margin:10px 0 12px;
  color:var(--ss-teal-deep);
  font-size:clamp(2rem,4vw,3.1rem);
}
.ss-collection-empty p {
  max-width:610px;
  margin:0 auto;
  color:#687174;
}
@media (max-width:720px) {
  .ss-collection-empty { padding:34px 24px; }
}


/* v3.64 — single-product purchase row and quantity control. */
.single-product .summary form.cart {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-start;
  gap: 12px !important;
  width: 100%;
  margin: 0 0 22px !important;
}
.single-product .summary form.cart .quantity {
  display: flex !important;
  align-items: center;
  flex: 0 0 72px;
  width: 72px;
  margin: 0 !important;
  float: none !important;
}
.single-product .summary form.cart .quantity .qty {
  box-sizing: border-box;
  display: block;
  width: 72px !important;
  height: 48px !important;
  min-height: 48px;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid rgba(7, 62, 70, .25);
  border-radius: 12px;
  background: #fff;
  color: var(--ss-teal-deep);
  font-family: Arial, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: normal;
  text-align: center;
  vertical-align: middle;
}
.single-product .summary form.cart .single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px !important;
  margin: 0 !important;
  float: none !important;
}
.single-product .summary form.cart .quantity .qty:focus {
  border-color: var(--ss-gold);
  outline: 2px solid rgba(202, 163, 74, .18);
  outline-offset: 1px;
}
@media (max-width: 520px) {
  .single-product .summary form.cart {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .single-product .summary form.cart .quantity,
  .single-product .summary form.cart .quantity .qty,
  .single-product .summary form.cart .single_add_to_cart_button {
    width: 100% !important;
  }
  .single-product .summary form.cart .quantity { flex-basis: auto; }
}


/* v3.68 — Designer Inspired campaign carousel template. */
.tss-designer-slider {
  position:relative;
  margin-top:10px;
  padding-bottom:54px;
}
.tss-designer-slider__viewport {
  overflow:hidden;
  border-radius:28px;
  background:linear-gradient(145deg,#052e35,#041d22);
  border:1px solid rgba(202,163,74,.55);
  box-shadow:0 24px 65px rgba(4,34,39,.18);
}
.tss-designer-slider__track {
  display:flex;
  transition:transform .65s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.tss-designer-slide {
  flex:0 0 100%;
  min-width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  min-height:590px;
  color:#fff;
}
.tss-designer-slide__copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:72px 76px;
}
.tss-designer-slide__copy h3 {
  margin:14px 0 18px;
  color:#fff;
  font-size:clamp(3.2rem,5.4vw,6rem);
  line-height:.92;
}
.tss-designer-slide__lead {
  max-width:600px;
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:1.03rem;
  line-height:1.85;
}
.tss-designer-slide__comparison {
  max-width:610px;
  margin:26px 0 0;
  padding-top:22px;
  border-top:1px solid rgba(228,200,121,.25);
  color:rgba(255,255,255,.7);
}
.tss-designer-slide__comparison strong { color:var(--ss-gold-light); }
.tss-designer-slide__purchase {
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:30px;
}
.tss-designer-slide__price,
.tss-designer-slide__price .amount {
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:1.18rem;
  font-weight:700;
}
.tss-designer-slide__visual {
  display:grid;
  place-items:center;
  margin:46px 54px 46px 0;
  min-height:490px;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(228,200,121,.38);
  background:
    radial-gradient(circle at 50% 38%,rgba(202,163,74,.24),transparent 37%),
    linear-gradient(160deg,#0c454e,#020d10);
  text-decoration:none;
  position:relative;
}
.tss-designer-slide__visual--placeholder::before {
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg,transparent 18%,rgba(255,255,255,.06) 40%,transparent 62%),
    radial-gradient(circle at 72% 24%,rgba(228,200,121,.2),transparent 28%);
  animation:tssDesignerShimmer 8s ease-in-out infinite;
}
@keyframes tssDesignerShimmer {
  0%,100% { transform:scale(1); opacity:.55; }
  50% { transform:scale(1.06); opacity:1; }
}
.tss-designer-slide__visual img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.tss-designer-slide__coming {
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:13px;
  padding:34px;
  text-align:center;
}
.tss-designer-slide__coming small {
  color:var(--ss-gold-light);
  font-size:.7rem;
  font-style:normal;
  font-weight:700;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.tss-designer-slide__coming strong {
  max-width:390px;
  color:#fff;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.7rem,4vw,4.7rem);
  font-weight:500;
  line-height:.95;
}
.tss-designer-slide__coming em {
  color:rgba(255,255,255,.48);
  font-size:.72rem;
  font-style:normal;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.tss-designer-slider__arrow {
  position:absolute;
  top:calc(50% - 28px);
  z-index:3;
  width:54px;
  height:54px;
  border:1px solid rgba(202,163,74,.72);
  border-radius:50%;
  background:#052f36;
  color:#fff;
  cursor:pointer;
  font-size:1.2rem;
}
.tss-designer-slider__arrow--prev { left:-27px; }
.tss-designer-slider__arrow--next { right:-27px; }
.tss-designer-slider__dots {
  position:absolute;
  left:50%;
  bottom:13px;
  display:flex;
  gap:10px;
  transform:translateX(-50%);
}
.tss-designer-slider__dot {
  width:9px;
  height:9px;
  padding:0;
  border:1px solid #8b989a;
  border-radius:50%;
  background:transparent;
  cursor:pointer;
}
.tss-designer-slider__dot.is-active {
  border-color:var(--ss-gold);
  background:var(--ss-gold);
}
@media (max-width:980px) {
  .tss-designer-slide { grid-template-columns:1fr; }
  .tss-designer-slide__copy { padding:56px 52px 34px; }
  .tss-designer-slide__visual { margin:0 52px 56px; min-height:430px; }
}
@media (max-width:720px) {
  .tss-designer-slide { min-height:auto; }
  .tss-designer-slide__copy { padding:42px 26px 28px; }
  .tss-designer-slide__copy h3 { font-size:clamp(2.7rem,14vw,4rem); }
  .tss-designer-slide__purchase { align-items:flex-start; flex-direction:column; }
  .tss-designer-slide__visual { margin:0 22px 42px; min-height:360px; }
  .tss-designer-slider__arrow { top:auto; bottom:0; width:44px; height:44px; }
  .tss-designer-slider__arrow--prev { left:20px; }
  .tss-designer-slider__arrow--next { right:20px; }
  .tss-designer-slider__dots { bottom:17px; }
}


/* v3.69 — Designer Inspired now shares the exact Limited Editions carousel frame. */
.tss-campaign-slider--designer .tss-campaign-slide--designer-intro {
  background: linear-gradient(125deg,#061a1e,#0a343a 52%,#081b1f);
}
.tss-campaign-slider--designer .tss-campaign-slide--designer-standard {
  background: linear-gradient(125deg,#10100d,#312817 52%,#122426);
}
.tss-campaign-slider--designer .tss-campaign-slide--designer-experience {
  background: linear-gradient(125deg,#07171b,#12363a 52%,#0c2428);
}
.tss-campaign-slider--designer .tss-campaign-slide--designer-discover {
  background: linear-gradient(125deg,#0b1517,#24332d 52%,#101d20);
}


/* v3.70 — Designer Inspired now uses the Limited Editions section shell and exact carousel dimensions. */
.tss-campaign--designer {
  background: linear-gradient(180deg, #063f49 0%, #032f37 100%);
}
.tss-campaign-slider--designer .tss-campaign-slide {
  min-height: 520px;
  grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr);
}
.tss-campaign-slider--designer .tss-campaign-slide__content {
  padding: clamp(44px,6vw,82px);
}
.tss-campaign-slider--designer .tss-campaign-slide h3 {
  font-size: clamp(3.2rem,5.3vw,5.9rem);
  line-height: .94;
  max-width: 650px;
}
.tss-campaign-slider--designer .tss-campaign-slide__visual {
  min-height: 520px;
  padding: 54px;
}
.tss-campaign-slider--designer .tss-campaign-placeholder {
  width: min(440px,100%);
  aspect-ratio: 4 / 5;
}
@media (max-width:980px) {
  .tss-campaign-slider--designer .tss-campaign-slide {
    grid-template-columns:1fr 1fr;
    min-height:470px;
  }
  .tss-campaign-slider--designer .tss-campaign-slide__visual { min-height:470px; padding:34px; }
}
@media (max-width:720px) {
  .tss-campaign-slider--designer .tss-campaign-slide { grid-template-columns:1fr; min-height:0; }
  .tss-campaign-slider--designer .tss-campaign-slide__content { padding:38px 28px 26px; }
  .tss-campaign-slider--designer .tss-campaign-slide h3 { font-size:clamp(3rem,15vw,4.5rem); }
  .tss-campaign-slider--designer .tss-campaign-slide__visual { min-height:320px; padding:22px 28px 42px; }
  .tss-campaign-slider--designer .tss-campaign-placeholder { width:min(290px,86vw); }
}


/* v3.71 — private stock counts with customer-facing urgency states */
.ss-card__media,
.tss-product-card__media { position: relative; }

.tss-almost-gone-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 8px 13px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 999px;
  background: var(--ss-gold);
  color: var(--ss-teal-deep);
  box-shadow: 0 8px 22px rgba(3,47,55,.2);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.ss-card__media.is-sold-out,
.tss-product-card__media.is-sold-out {
  cursor: default;
}

.ss-card__media.is-sold-out img,
.tss-product-card__media.is-sold-out img {
  filter: grayscale(.2);
  opacity: .42;
}

.tss-product-card__media.is-sold-out,
div.ss-card__media.is-sold-out {
  pointer-events: none;
}

/* A strong horizontal sold-out band rather than a generic full-card message. */
.tss-product-card__media .tss-out-of-stock-overlay,
.ss-card__media .tss-out-of-stock-overlay {
  top: 50%;
  bottom: auto;
  inset-inline: 0;
  min-height: 104px;
  transform: translateY(-50%);
  background: rgba(3,47,55,.9);
  backdrop-filter: blur(2px);
}

@media (max-width: 640px) {
  .tss-almost-gone-badge { top: 10px; right: 10px; padding: 7px 10px; font-size: .61rem; }
  .tss-product-card__media .tss-out-of-stock-overlay,
  .ss-card__media .tss-out-of-stock-overlay { min-height: 88px; }
}


/* v3.77 waiting-list focus */
body.tss-waiting-list-open.single-product .tss-out-of-stock-overlay {
  display: none !important;
}

body.tss-waiting-list-open.single-product .woocommerce-product-gallery__image:first-child {
  opacity: 1;
}

body.tss-waiting-list-open.single-product #tss-stock-alert {
  scroll-margin-top: 150px;
}


/* v3.81: sold-out overlay belongs on collection cards only, never product pages. */
body.single-product .woocommerce-product-gallery .tss-out-of-stock-overlay {
  display: none !important;
}
body.single-product .woocommerce-product-gallery__image:first-child {
  opacity: 1 !important;
}


/* v3.85 — waiting-list confirmation before collection return */
.tss-stock-alert__return-note {
  display: block;
  margin-top: 8px;
  font-size: .82em;
  font-weight: 600;
  opacity: .78;
}


/* v3.87 — tighter Signature-to-Designer spacing and uploadable Designer artwork. */
#collections {
  padding-bottom: 54px;
}
.tss-campaign--designer {
  padding-top: 54px;
}
.tss-campaign-slider--designer .tss-campaign-slide__visual.has-image {
  padding: 54px;
}
.tss-campaign-slider--designer .tss-designer-carousel__artwork {
  width: min(440px, 100%);
  aspect-ratio: 4 / 5;
  height: auto;
  max-height: 100%;
  object-fit: cover;
  border-radius: 24px;
  border: 1px solid rgba(228,200,121,.42);
  box-shadow: 0 24px 55px rgba(0,0,0,.28);
}
@media (max-width: 980px) {
  #collections { padding-bottom: 44px; }
  .tss-campaign--designer { padding-top: 44px; }
  .tss-campaign-slider--designer .tss-campaign-slide__visual.has-image { padding: 34px; }
}
@media (max-width: 720px) {
  #collections { padding-bottom: 34px; }
  .tss-campaign--designer { padding-top: 34px; }
  .tss-campaign-slider--designer .tss-campaign-slide__visual.has-image { padding: 22px 28px 42px; }
  .tss-campaign-slider--designer .tss-designer-carousel__artwork { width: min(290px,86vw); }
}


/* v3.89 — tighter campaign-to-Latest Additions spacing. */
.tss-campaign + #latest {
  padding-top: 48px;
}
.tss-campaign:has(+ #latest) {
  padding-bottom: 48px;
}
@media (max-width: 980px) {
  .tss-campaign + #latest { padding-top: 42px; }
  .tss-campaign:has(+ #latest) { padding-bottom: 42px; }
}
@media (max-width: 720px) {
  .tss-campaign + #latest { padding-top: 34px; }
  .tss-campaign:has(+ #latest) { padding-bottom: 34px; }
}


/* v3.90 — consistent, tighter spacing between all homepage collection sections. */
.home .tss-campaign:not(.tss-campaign--designer) {
  padding-bottom: 36px !important;
}
.home #latest {
  padding-top: 44px !important;
  padding-bottom: 44px !important;
}
.home #collections {
  padding-top: 44px !important;
  padding-bottom: 44px !important;
}
.home .tss-campaign--designer {
  padding-top: 44px !important;
  padding-bottom: 64px !important;
}
@media (max-width: 980px) {
  .home .tss-campaign:not(.tss-campaign--designer) { padding-bottom: 30px !important; }
  .home #latest,
  .home #collections { padding-top: 36px !important; padding-bottom: 36px !important; }
  .home .tss-campaign--designer { padding-top: 36px !important; padding-bottom: 52px !important; }
}
@media (max-width: 720px) {
  .home .tss-campaign:not(.tss-campaign--designer) { padding-bottom: 24px !important; }
  .home #latest,
  .home #collections { padding-top: 30px !important; padding-bottom: 30px !important; }
  .home .tss-campaign--designer { padding-top: 30px !important; padding-bottom: 44px !important; }
}


/* v3.91 — load the spacing rules with a new asset version and target exact homepage neighbours. */
.home #limited-editions { padding-bottom: 36px !important; }
.home #limited-editions + #latest { padding-top: 44px !important; }
.home #latest { padding-bottom: 44px !important; }
.home #latest + #collections { padding-top: 44px !important; }
.home #collections { padding-bottom: 44px !important; }
.home #collections + #designer { padding-top: 44px !important; }
@media (max-width: 980px) {
  .home #limited-editions { padding-bottom: 30px !important; }
  .home #limited-editions + #latest,
  .home #latest + #collections,
  .home #collections + #designer { padding-top: 36px !important; }
  .home #latest, .home #collections { padding-bottom: 36px !important; }
}
@media (max-width: 720px) {
  .home #limited-editions { padding-bottom: 24px !important; }
  .home #limited-editions + #latest,
  .home #latest + #collections,
  .home #collections + #designer { padding-top: 30px !important; }
  .home #latest, .home #collections { padding-bottom: 30px !important; }
}


/* v3.94 — Designer Inspired reference lines on homepage and product pages. */
.ss-card__inspiration {
  margin: -2px 0 10px;
  color: #a98234;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: .9rem;
  font-style: italic;
  line-height: 1.35;
}

.tss-single-product__inspiration {
  margin: -10px 0 14px;
  color: #a98234;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1rem;
  font-style: italic;
  line-height: 1.4;
}


/* v3.95 — Product inspiration spacing and stable WooCommerce Back navigation. */
.single-product .summary .product_title {
  margin-bottom: 0;
  line-height: 1.08;
}

.tss-single-product__inspiration {
  display: block;
  position: static;
  clear: both;
  margin: 8px 0 18px;
  padding: 0;
  line-height: 1.35;
}


/* v3.97 — Designer Inspired product details */
.tss-fragrance-notes h4,
.tss-product-details h4 {
  margin: 0 0 12px;
  font-family: "Playfair Display", Georgia, serif;
  color: var(--ss-teal-deep);
  font-size: 1.08rem;
}
.tss-fragrance-notes__group { margin: 0 0 14px; }
.tss-fragrance-notes__group strong { color: var(--ss-gold); }
.tss-fragrance-notes ul,
.tss-product-details ul {
  margin: 7px 0 0 20px;
  padding: 0;
}
.tss-product-details {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(6, 63, 73, 0.14);
}


/* 3.112 customer shortlist */
.ss-card,
.woocommerce ul.products li.product.tss-product-card { position: relative; }

.tss-shortlist-star {
  position: absolute;
  z-index: 8;
  top: 14px;
  right: 14px;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(202,163,74,.48);
  border-radius: 999px;
  background: rgba(245,240,230,.94);
  color: var(--ss-teal);
  box-shadow: 0 8px 22px rgba(3,47,55,.14);
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.tss-shortlist-star span { font-size: 1.5rem; line-height: 1; transform: translateY(-1px); }
.tss-shortlist-star:hover,
.tss-shortlist-star:focus-visible {
  transform: translateY(-2px);
  border-color: var(--ss-gold);
  outline: none;
}
.tss-shortlist-star.is-saved {
  background: var(--ss-teal);
  border-color: var(--ss-teal);
  color: var(--ss-gold-light);
}

.tss-shortlist-bar {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin: 0 0 24px;
}
.tss-shortlist-bar__link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(6,63,73,.15);
  border-radius: 999px;
  background: rgba(255,255,255,.8);
  color: var(--ss-teal);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 8px 24px rgba(11,53,59,.07);
}
.tss-shortlist-bar__star { color: var(--ss-gold); font-size: 1rem; }
.tss-shortlist-bar__count {
  display: inline-grid;
  min-width: 24px;
  height: 24px;
  padding: 0 6px;
  place-items: center;
  border-radius: 999px;
  background: var(--ss-teal);
  color: #fff;
  font-size: .7rem;
  letter-spacing: 0;
}

.tss-shortlist-page { padding: 10px 0 70px; }
.tss-shortlist-page__intro { max-width: 720px; margin-bottom: 26px; }
.tss-shortlist-page__intro .ss-kicker { color: var(--ss-gold); }
.tss-shortlist-page__intro h2 {
  margin: 10px 0 12px;
  color: var(--ss-teal-deep);
  font-size: clamp(2.8rem, 6vw, 5.2rem);
}
.tss-shortlist-page__intro p { margin: 0; color: #667174; }
.tss-shortlist-page__actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin: 0 0 30px;
}
.tss-shortlist-clear,
.tss-shortlist-remove {
  border: 0;
  padding: 0;
  background: none;
  color: #6b7779;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.tss-shortlist-page__message {
  min-height: 24px;
  margin-bottom: 12px;
  color: var(--ss-teal);
  font-weight: 600;
}
.tss-shortlist-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
}
.tss-shortlist-item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--ss-radius);
  background: #fff;
  box-shadow: 0 12px 35px rgba(11,53,59,.11);
}
.tss-shortlist-item__media {
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: linear-gradient(145deg,#d8d2c4,#f6f1e7);
}
.tss-shortlist-item__media img { width: 100%; height: 100%; object-fit: cover; }
.tss-shortlist-item__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px;
}
.tss-shortlist-item__meta {
  color: #8c7641;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.tss-shortlist-item h3 {
  margin: 6px 0 8px;
  color: var(--ss-teal-deep);
  font-size: 1.9rem;
}
.tss-shortlist-item__inspiration {
  margin: -1px 0 9px;
  color: #9a7f3f;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
}
.tss-shortlist-item__description {
  margin: 0 0 18px;
  color: #687174;
  font-size: .9rem;
}
.tss-shortlist-item__footer {
  display: grid;
  gap: 11px;
  margin-top: auto;
}
.tss-shortlist-item__price { color: var(--ss-teal); font-weight: 700; }
.tss-shortlist-item__buttons {
  display: flex;
  align-items: center;
  gap: 13px;
  flex-wrap: wrap;
}
.tss-shortlist-item__add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 17px;
  border-radius: 999px;
  background: var(--ss-teal);
  color: #fff;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tss-shortlist-item__status {
  color: #7c6767;
  font-size: .82rem;
  font-weight: 700;
}
.tss-shortlist-empty {
  max-width: 600px;
  padding: 50px 32px;
  border: 1px solid rgba(6,63,73,.12);
  border-radius: var(--ss-radius);
  background: rgba(255,255,255,.72);
  text-align: center;
}
.tss-shortlist-empty > span {
  display: block;
  margin-bottom: 10px;
  color: var(--ss-gold);
  font-size: 2.5rem;
}
.tss-shortlist-empty h3 { color: var(--ss-teal-deep); font-size: 2rem; }
.tss-shortlist-empty p { margin: 8px 0 22px; color: #687174; }

@media (max-width: 900px) {
  .tss-shortlist-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .tss-shortlist-star { top: 10px; right: 10px; width: 38px; height: 38px; }
  .tss-shortlist-bar { justify-content: flex-start; margin-bottom: 20px; }
  .tss-shortlist-grid { grid-template-columns: 1fr; }
  .tss-shortlist-page__actions .ss-btn { width: 100%; }
}


/* v3.118 — save the fragrance directly from every individual product page. */
.single-product .woocommerce-product-gallery { position: relative; }
.single-product .woocommerce-product-gallery .tss-single-product-gallery-star {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 25;
}
.single-product .woocommerce-product-gallery .tss-single-product-gallery-star .tss-shortlist-star {
  position: relative;
  top: auto;
  right: auto;
  box-shadow: 0 6px 18px rgba(3,47,55,.14);
}
.tss-shortlist-page + * { clear: both; }
.tss-shortlist-page .tss-back-nav { margin-bottom: 26px; }
@media (max-width: 560px) {
  .single-product .woocommerce-product-gallery .tss-single-product-gallery-star { top: 10px; right: 10px; }
}


/* v3.119 — single-product shortlist control + clean Back link. */
.ss-content .tss-back-link,
.ss-content .tss-back-link:hover,
.ss-content .tss-back-link:focus,
.ss-content .tss-back-link:visited {
  text-decoration: none !important;
}
.single-product .woocommerce-product-gallery {
  position: relative !important;
}
.single-product .tss-single-product-gallery-star {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 40;
}
.single-product .tss-single-product-gallery-star .tss-shortlist-star {
  position: relative;
  top: auto;
  right: auto;
}


/* v3.120 — keep AJAX shop cards tidy and make dark/pill purchase controls readable. */
/* WooCommerce appends a separate “View cart” link after AJAX add-to-cart. The
   persistent Basket control in the site header already provides that route, so
   suppress the duplicate across every product grid (shop, collections,
   related products and cart recommendations). */
.woocommerce a.added_to_cart.wc-forward,
.woocommerce-page a.added_to_cart.wc-forward {
  display: none !important;
}

/* The generic content-link rule is intentionally strong and can otherwise
   recolour these pill controls. Keep shortlist actions legible. */
.ss-content a.tss-shortlist-item__add,
.tss-shortlist-page a.tss-shortlist-item__add {
  background: var(--ss-teal) !important;
  color: #fff !important;
  text-decoration: none !important;
  text-underline-offset: initial;
}
.ss-content a.tss-shortlist-item__add:hover,
.ss-content a.tss-shortlist-item__add:focus-visible,
.tss-shortlist-page a.tss-shortlist-item__add:hover,
.tss-shortlist-page a.tss-shortlist-item__add:focus-visible {
  background: var(--ss-teal-soft) !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* Empty-basket / WooCommerce recommendation cards can bypass the bespoke
   product-card button class. Force those generated Add to cart pills to use
   the same gold treatment and readable text as the collection shops. */
.woocommerce-cart .site-main ul.products li.product a.button,
.woocommerce-cart .ss-content ul.products li.product a.button,
.woocommerce-cart .site-main .wc-block-grid__product-add-to-cart a,
.woocommerce-cart .ss-content .wc-block-grid__product-add-to-cart a {
  background: var(--ss-gold) !important;
  color: var(--ss-teal-deep) !important;
  text-decoration: none !important;
  border-radius: 999px !important;
}
.woocommerce-cart .site-main ul.products li.product a.button:hover,
.woocommerce-cart .ss-content ul.products li.product a.button:hover,
.woocommerce-cart .site-main .wc-block-grid__product-add-to-cart a:hover,
.woocommerce-cart .ss-content .wc-block-grid__product-add-to-cart a:hover {
  background: var(--ss-gold-light) !important;
  color: var(--ss-teal-deep) !important;
  text-decoration: none !important;
}


/* v3.121 — harden shortlist/cart buttons and remove Woo's duplicate cart link. */
a.added_to_cart,
a.added_to_cart.wc-forward,
.added_to_cart.wc-forward {
  display: none !important;
}

/* Product-grid purchase buttons: keep readable in every WooCommerce-generated grid,
   including the empty-basket recommendations. */
ul.products li.product a.button,
ul.products li.product .button,
.wc-block-grid__product-add-to-cart a,
.wc-block-grid__product-add-to-cart .wp-block-button__link {
  background: var(--ss-gold) !important;
  color: var(--ss-teal-deep) !important;
  -webkit-text-fill-color: var(--ss-teal-deep) !important;
  text-decoration: none !important;
  border-radius: 999px !important;
  opacity: 1 !important;
}
ul.products li.product a.button:hover,
ul.products li.product .button:hover,
.wc-block-grid__product-add-to-cart a:hover,
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
  background: var(--ss-gold-light) !important;
  color: var(--ss-teal-deep) !important;
  -webkit-text-fill-color: var(--ss-teal-deep) !important;
}

/* Shortlist per-item purchase row. */
.tss-shortlist-item__purchase {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.tss-shortlist-item__qty {
  width:76px !important;
  min-width:76px;
  height:42px;
  padding:8px 10px !important;
  border:1px solid #ccd2d0 !important;
  border-radius:12px !important;
  background:#fff !important;
  color:var(--ss-teal-deep) !important;
  text-align:center;
  font-weight:700;
}
a.tss-shortlist-item__add,
.tss-shortlist-page a.tss-shortlist-item__add {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:0 17px !important;
  background:var(--ss-teal) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
  border-radius:999px !important;
  font-size:.74rem !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  opacity:1 !important;
}
a.tss-shortlist-item__add:hover,
a.tss-shortlist-item__add:focus-visible {
  background:var(--ss-teal-soft) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}


/* v3.122 — cache-busted cart/archive button fixes. */
/* Empty-cart recommendation/product blocks can use several Woo block button
   structures depending on WooCommerce version. Scope the treatment to Cart. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.wp-block-button__link,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link,
body.woocommerce-cart .wc-block-grid__product a.wp-block-button__link,
body.woocommerce-cart .wc-block-grid__product .wp-block-button__link,
body.woocommerce-cart .wc-block-components-product-button__button,
body.woocommerce-cart .wp-block-woocommerce-product-button a,
body.woocommerce-cart .wp-block-woocommerce-product-button button,
body.woocommerce-cart a.add_to_cart_button,
body.woocommerce-cart a.product_type_simple {
  background: var(--ss-gold) !important;
  color: var(--ss-teal-deep) !important;
  -webkit-text-fill-color: var(--ss-teal-deep) !important;
  border: 0 !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.wp-block-button__link:hover,
body.woocommerce-cart .wc-block-grid__product a.wp-block-button__link:hover,
body.woocommerce-cart .wc-block-components-product-button__button:hover,
body.woocommerce-cart .wp-block-woocommerce-product-button a:hover,
body.woocommerce-cart .wp-block-woocommerce-product-button button:hover,
body.woocommerce-cart a.add_to_cart_button:hover,
body.woocommerce-cart a.product_type_simple:hover {
  background: var(--ss-gold-light) !important;
  color: var(--ss-teal-deep) !important;
  -webkit-text-fill-color: var(--ss-teal-deep) !important;
}

/* Woo may append the secondary cart link beside a custom card after AJAX.
   Hide it regardless of wrapper/class variations. */
.tss-product-card > a[href*="/cart/"]:not(.tss-product-card__media):not(.tss-card-purchase__button),
.tss-product-card__footer > a[href*="/cart/"]:not(.tss-card-purchase__button),
a.added_to_cart,
a.added_to_cart.wc-forward,
a.wc-forward.added_to_cart {
  display: none !important;
}


/* v3.123 — WooCommerce Cart block primary checkout action. */
body.woocommerce-cart .wc-block-cart__submit,
body.woocommerce-cart .wc-block-cart__submit-container {
  width: 100%;
}
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart a.wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-button.wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 60px !important;
  padding: 16px 26px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--ss-gold) !important;
  color: var(--ss-teal-deep) !important;
  text-decoration: none !important;
  font-family: inherit !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  box-shadow: none !important;
}
body.woocommerce-cart .wc-block-cart__submit-button *,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button * {
  color: var(--ss-teal-deep) !important;
  text-decoration: none !important;
}
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button:focus,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:hover,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:focus {
  background: var(--ss-teal-deep) !important;
  color: #fff !important;
  text-decoration: none !important;
}
body.woocommerce-cart .wc-block-cart__submit-button:hover *,
body.woocommerce-cart .wc-block-cart__submit-button:focus *,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:hover *,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:focus * {
  color: #fff !important;
  text-decoration: none !important;
}

/* v3.124 — visible Cart checkout text + basket attention animation. */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-cart__submit-button:visited,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:visited,
body.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button .wc-block-components-button__text,
body.woocommerce-cart .wc-block-cart__submit-button span,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button span {
  color: var(--ss-teal-deep) !important;
  -webkit-text-fill-color: var(--ss-teal-deep) !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.woocommerce-cart .wc-block-cart__submit-button:hover .wc-block-components-button__text,
body.woocommerce-cart .wc-block-cart__submit-button:focus .wc-block-components-button__text,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:hover .wc-block-components-button__text,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:focus .wc-block-components-button__text,
body.woocommerce-cart .wc-block-cart__submit-button:hover span,
body.woocommerce-cart .wc-block-cart__submit-button:focus span,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:hover span,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:focus span {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

.ss-basket {
  position: relative;
  transform-origin: 75% 50%;
}
.ss-basket.tss-basket-bump {
  animation: tssBasketBump .62s cubic-bezier(.2,.8,.2,1);
}
.ss-basket.tss-basket-bump .ss-cart-count {
  animation: tssBasketCountPop .62s cubic-bezier(.2,.8,.2,1);
}
@keyframes tssBasketBump {
  0%,100% { transform: translateX(0) rotate(0); }
  18% { transform: translateX(-5px) rotate(-4deg); }
  36% { transform: translateX(5px) rotate(4deg); }
  54% { transform: translateX(-3px) rotate(-2deg); }
  72% { transform: translateX(2px) rotate(1.5deg); }
}
@keyframes tssBasketCountPop {
  0%,100% { transform: scale(1); }
  45% { transform: scale(1.28); }
}
.tss-cart-flyer {
  position: fixed;
  z-index: 999999;
  pointer-events: none;
  margin: 0 !important;
  border-radius: 12px;
  object-fit: cover;
  box-shadow: 0 10px 30px rgba(0,0,0,.22);
  transition: transform .68s cubic-bezier(.3,.75,.25,1), opacity .68s ease, width .68s ease, height .68s ease;
  will-change: transform, opacity, width, height;
}
@media (prefers-reduced-motion: reduce) {
  .ss-basket.tss-basket-bump,
  .ss-basket.tss-basket-bump .ss-cart-count { animation: none; }
  .tss-cart-flyer { display:none !important; }
}


/* v3.125 — compact add-to-basket confirmation toast.
   Keep purchase acknowledgement visible without dropping a large white banner
   into the product layout. Other WooCommerce notices/errors remain untouched. */
.woocommerce-notices-wrapper.tss-cart-toast-wrap {
  position: fixed;
  z-index: 10050;
  top: 132px;
  right: max(24px, calc((100vw - var(--ss-max)) / 2));
  width: min(420px, calc(100vw - 48px));
  margin: 0;
  pointer-events: none;
}
body.admin-bar .woocommerce-notices-wrapper.tss-cart-toast-wrap { top: 164px; }
.woocommerce-notices-wrapper.tss-cart-toast-wrap .tss-cart-toast {
  margin: 0;
  padding: 15px 48px 15px 18px;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(202,163,74,.38);
  border-left: 4px solid var(--ss-gold);
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(3,47,55,.16);
  color: var(--ss-teal-deep);
  font-size: .94rem;
  line-height: 1.45;
  pointer-events: auto;
  animation: tssToastIn .28s ease both;
}
.woocommerce-notices-wrapper.tss-cart-toast-wrap .tss-cart-toast::before {
  color: var(--ss-gold);
}
.woocommerce-notices-wrapper.tss-cart-toast-wrap .tss-cart-toast .button,
.woocommerce-notices-wrapper.tss-cart-toast-wrap .tss-cart-toast a.wc-forward {
  display: none !important;
}
.woocommerce-notices-wrapper.tss-cart-toast-wrap .tss-cart-toast.is-leaving {
  animation: tssToastOut .24s ease both;
}
@keyframes tssToastIn {
  from { opacity:0; transform:translateY(-10px) scale(.98); }
  to { opacity:1; transform:none; }
}
@keyframes tssToastOut {
  from { opacity:1; transform:none; }
  to { opacity:0; transform:translateY(-8px) scale(.98); }
}
@media (max-width: 782px) {
  .woocommerce-notices-wrapper.tss-cart-toast-wrap,
  body.admin-bar .woocommerce-notices-wrapper.tss-cart-toast-wrap {
    top: 108px;
    right: 14px;
    left: 14px;
    width: auto;
  }
  body.admin-bar .woocommerce-notices-wrapper.tss-cart-toast-wrap { top: 154px; }
}


/* v3.129 — compact basket multi-select controls. */
body.woocommerce-cart .tss-cart-bulk-toolbar {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  margin:0 0 10px;
  padding:7px 9px;
  border:1px solid rgba(3,47,55,.12);
  border-radius:8px;
  background:rgba(255,255,255,.26);
}
body.woocommerce-cart .tss-cart-select-all {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--ss-teal-deep);
  font-size:14px;
  line-height:1;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
body.woocommerce-cart .tss-cart-select-all input,
body.woocommerce-cart .tss-cart-select__input {
  width:16px;
  height:16px;
  accent-color:var(--ss-gold);
  cursor:pointer;
}
body.woocommerce-cart .tss-cart-remove-selected {
  appearance:none;
  border:0;
  border-radius:999px;
  padding:7px 13px;
  min-height:32px;
  background:var(--ss-teal-deep);
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font:inherit;
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:.035em;
  cursor:pointer;
  transition:transform .18s ease, opacity .18s ease, background .18s ease;
}
body.woocommerce-cart .tss-cart-remove-selected:hover:not(:disabled) {
  background:var(--ss-gold);
  color:var(--ss-teal-deep) !important;
  -webkit-text-fill-color:var(--ss-teal-deep) !important;
  transform:translateY(-1px);
}
body.woocommerce-cart .tss-cart-remove-selected:disabled {
  opacity:.42;
  cursor:not-allowed;
}
body.woocommerce-cart .wc-block-cart-items__row,
body.woocommerce-cart table.shop_table.cart tr.cart_item {
  position:relative;
}
body.woocommerce-cart .tss-cart-select {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 10px 8px 0;
  vertical-align:top;
}
body.woocommerce-cart .wc-block-cart-item__image .tss-cart-select {
  position:absolute;
  top:4px;
  left:4px;
  z-index:4;
  width:30px;
  height:30px;
  margin:0;
  border-radius:50%;
  background:rgba(255,255,255,.95);
  box-shadow:0 4px 12px rgba(3,47,55,.12);
}
body.woocommerce-cart .wc-block-cart-item__image { position:relative; }
@media (max-width: 520px) {
  body.woocommerce-cart .tss-cart-bulk-toolbar {
    flex-wrap:wrap;
    gap:8px 10px;
  }
  body.woocommerce-cart .tss-cart-remove-selected {
    width:auto;
  }
}

/* v3.132 — selected-item action follows the product list while scrolling. */
body.woocommerce-cart .tss-cart-remove-floating {
  position: fixed;
  z-index: 100000;
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 7px 11px;
  min-height: 30px;
  background: var(--ss-gold);
  color: var(--ss-teal-deep) !important;
  -webkit-text-fill-color: var(--ss-teal-deep) !important;
  font: inherit;
  font-size: 11.5px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .025em;
  box-shadow: 0 6px 18px rgba(3,47,55,.18);
  cursor: pointer;
  transform: translateY(-50%);
  transition: background .18s ease, color .18s ease, opacity .18s ease, box-shadow .18s ease;
}
body.woocommerce-cart .tss-cart-remove-floating:hover {
  background: var(--ss-teal-deep);
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 8px 22px rgba(3,47,55,.23);
}
body.woocommerce-cart .tss-cart-remove-floating[hidden] { display: none !important; }
@media (max-width: 782px) {
  body.woocommerce-cart .tss-cart-remove-floating {
    max-width: calc(100vw - 28px);
    transform: none;
  }
}


/* v3.136 — denser basket drawer: smaller product rows + tighter checkout block. */
.tss-cart-drawer__items { padding: 6px 22px 2px; }
.tss-cart-drawer__item { grid-template-columns: 68px minmax(0,1fr); gap: 13px; padding: 11px 0; }
.tss-cart-drawer__media { width: 68px; border-radius: 10px; }
.tss-cart-drawer__details { gap: 7px; }
.tss-cart-drawer__name { font-size: 1.08rem; line-height: 1.02; }
.tss-cart-drawer__price { margin-top: 4px; font-size: .76rem; }
.tss-cart-drawer__remove { width: 24px; height: 24px; font-size: 1.25rem; }
.tss-cart-drawer__qty { grid-template-columns: 30px 36px 30px; }
.tss-cart-drawer__qty button { width: 30px; height: 27px; font-size: 1rem; }
.tss-cart-drawer__qty span { font-size: .74rem; }
.tss-cart-drawer__summary { padding: 9px 18px 10px; }
.tss-cart-drawer__subtotal strong { font-size: 1.16rem; }
.tss-cart-drawer__delivery-note { margin: 0 0 6px; font-size: .65rem; }
.tss-cart-drawer__checkout { min-height: 36px; padding-block: 7px; }
.tss-cart-drawer__view,
.tss-cart-drawer__continue { min-height: 30px; margin-top: 4px; font-size: .68rem; }
.tss-cart-drawer__continue { min-height: 22px; margin-top: 2px; }
@media (max-width: 540px) {
  .tss-cart-drawer__items { padding-inline: 15px; }
  .tss-cart-drawer__item { grid-template-columns: 62px minmax(0,1fr); gap: 11px; padding: 10px 0; }
  .tss-cart-drawer__media { width: 62px; }
  .tss-cart-drawer__summary { padding: 8px 14px 9px; }
}

/* v3.135 — compact basket summary + stable Checkout/Basket Back navigation. */
/* v3.134 — slide-out basket drawer. */
body.tss-cart-drawer-open { overflow: hidden; }
.tss-cart-drawer__overlay {
  position: fixed;
  inset: 0;
  z-index: 10080;
  background: rgba(3,47,55,.42);
  opacity: 0;
  transition: opacity .26s ease;
  backdrop-filter: blur(2px);
}
.tss-cart-drawer__overlay.is-visible { opacity: 1; }
.tss-cart-drawer {
  position: fixed;
  z-index: 10090;
  top: 0;
  right: 0;
  width: min(440px, 100vw);
  height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--ss-ivory);
  color: var(--ss-charcoal);
  box-shadow: -24px 0 70px rgba(1,25,30,.24);
  transform: translate3d(102%,0,0);
  visibility: hidden;
  transition: transform .3s cubic-bezier(.2,.8,.2,1), visibility 0s linear .3s;
}
.tss-cart-drawer.is-open {
  transform: translate3d(0,0,0);
  visibility: visible;
  transition-delay: 0s;
}
.tss-cart-drawer__header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 28px 28px 24px;
  background: var(--ss-teal-deep);
  color: #fff;
  border-bottom: 1px solid rgba(202,163,74,.34);
}
.tss-cart-drawer__eyebrow {
  display: block;
  margin-bottom: 4px;
  color: var(--ss-gold-light);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.tss-cart-drawer__header h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  margin: 0;
}
.tss-cart-drawer__header .ss-cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 27px;
  height: 27px;
  margin-left: 7px;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--ss-gold);
  color: var(--ss-teal-deep);
  font: 700 .72rem/1 "Montserrat", Arial, sans-serif;
  vertical-align: .2em;
}
.tss-cart-drawer__close {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: inline-grid;
  place-items: center;
  padding: 0 0 3px;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, transform .2s ease;
}
.tss-cart-drawer__close:hover,
.tss-cart-drawer__close:focus-visible {
  border-color: var(--ss-gold-light);
  color: var(--ss-gold-light);
  transform: rotate(4deg);
}
.tss-cart-drawer__body {
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: opacity .18s ease;
}
.tss-cart-drawer.is-busy .tss-cart-drawer__body { opacity: .55; pointer-events: none; }
.tss-cart-drawer__items {
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 10px 26px 4px;
}
.tss-cart-drawer__item {
  display: grid;
  grid-template-columns: 88px minmax(0,1fr);
  gap: 17px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(3,47,55,.12);
}
.tss-cart-drawer__media {
  width: 88px;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(3,47,55,.08);
}
.tss-cart-drawer__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tss-cart-drawer__details { min-width: 0; display:flex; flex-direction:column; justify-content:space-between; gap:13px; }
.tss-cart-drawer__item-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.tss-cart-drawer__name {
  display: inline-block;
  color: var(--ss-teal-deep);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.28rem;
  font-weight: 600;
  line-height: 1.05;
}
.tss-cart-drawer__name:hover { color: var(--ss-teal-soft); }
.tss-cart-drawer__price { margin-top: 7px; color: var(--ss-charcoal); font-size: .83rem; }
.tss-cart-drawer__remove {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  padding: 0 0 2px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: rgba(30,38,41,.58);
  font-size: 1.45rem;
  line-height: 1;
  cursor:pointer;
}
.tss-cart-drawer__remove:hover,
.tss-cart-drawer__remove:focus-visible { background: rgba(3,47,55,.08); color: var(--ss-teal-deep); }
.tss-cart-drawer__qty {
  width: max-content;
  display: inline-grid;
  grid-template-columns: 34px 42px 34px;
  align-items:center;
  border: 1px solid rgba(3,47,55,.18);
  border-radius: 999px;
  overflow: hidden;
  background: #fff;
}
.tss-cart-drawer__qty button {
  width:34px;
  height:32px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--ss-teal-deep);
  font-size:1.08rem;
  cursor:pointer;
}
.tss-cart-drawer__qty button:hover,
.tss-cart-drawer__qty button:focus-visible { background: rgba(202,163,74,.16); }
.tss-cart-drawer__qty span { text-align:center; font-size:.78rem; font-weight:700; }
.tss-cart-drawer__summary {
  flex: 0 0 auto;
  padding: 14px 24px 16px;
  background: #fff;
  border-top: 1px solid rgba(3,47,55,.12);
  box-shadow: 0 -12px 30px rgba(3,47,55,.055);
}
.tss-cart-drawer__subtotal { display:flex; justify-content:space-between; gap:20px; align-items:baseline; color:var(--ss-teal-deep); }
.tss-cart-drawer__subtotal span { font-size:.76rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.tss-cart-drawer__subtotal strong { font-family:"Cormorant Garamond",Georgia,serif; font-size:1.3rem; font-weight:600; }
.tss-cart-drawer__delivery-note { margin: 2px 0 10px; color: rgba(30,38,41,.66); font-size:.69rem; }
.tss-cart-drawer__checkout { width:100%; min-height:42px; padding-block:10px; }
.tss-cart-drawer__view,
.tss-cart-drawer__continue {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  margin-top:6px;
  border:0;
  background:transparent;
  color:var(--ss-teal-deep);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
}
.tss-cart-drawer__view { border:1px solid rgba(3,47,55,.2); border-radius:999px; }
.tss-cart-drawer__view:hover { border-color:var(--ss-gold); }
.tss-cart-drawer__continue { min-height:28px; margin-top:4px; color:rgba(3,47,55,.7); text-decoration:underline; text-underline-offset:3px; }
.tss-cart-drawer__empty {
  margin:auto;
  width:min(320px, calc(100% - 48px));
  padding:42px 0;
  text-align:center;
}
.tss-cart-drawer__empty-title { margin:0 0 9px; color:var(--ss-teal-deep); font-size:2rem; }
.tss-cart-drawer__empty p:not(.tss-cart-drawer__empty-title) { margin:0 0 24px; color:rgba(30,38,41,.66); font-size:.87rem; }
.tss-cart-drawer__shop { width:100%; }
@media (max-width: 540px) {
  .tss-cart-drawer { width: min(390px, 100vw); }
  .tss-cart-drawer__header { padding: 22px 20px 19px; }
  .tss-cart-drawer__header h2 { font-size: 1.75rem; }
  .tss-cart-drawer__items { padding-inline: 19px; }
  .tss-cart-drawer__item { grid-template-columns: 76px minmax(0,1fr); gap:14px; }
  .tss-cart-drawer__media { width:76px; }
  .tss-cart-drawer__summary { padding:13px 18px 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .tss-cart-drawer,
  .tss-cart-drawer__overlay { transition:none !important; }
}


/* v3.139 — improve compact basket description legibility without increasing row height. */
.tss-cart-drawer__description {
  font-weight: 500 !important;
  color: rgba(30,38,41,.78) !important;
}

/* v3.138 — quieter basket descriptions: smaller text and two-line clamp. */
.tss-cart-drawer__description {
  font-size: .52rem !important;
  line-height: 1.2 !important;
  max-width: 250px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 540px) {
  .tss-cart-drawer__description { font-size: .5rem !important; max-width: 210px; }
}

/* v3.137 — compact 45px basket rows + fragrance descriptions. */
.tss-cart-drawer__items {
  padding: 6px 20px 2px;
}
.tss-cart-drawer__item {
  grid-template-columns: 45px minmax(0,1fr) !important;
  gap: 11px !important;
  padding: 9px 0 !important;
  min-height: 0;
}
.tss-cart-drawer__media {
  width: 45px !important;
  aspect-ratio: 4 / 5;
  border-radius: 7px !important;
  box-shadow: 0 3px 10px rgba(3,47,55,.07);
  align-self: start;
}
.tss-cart-drawer__details {
  gap: 5px !important;
  justify-content: flex-start !important;
}
.tss-cart-drawer__item-top {
  gap: 8px;
}
.tss-cart-drawer__name {
  font-size: .98rem !important;
  line-height: 1 !important;
}
.tss-cart-drawer__description {
  margin-top: 3px;
  max-width: 255px;
  color: rgba(30,38,41,.62);
  font-size: .63rem;
  line-height: 1.28;
}
.tss-cart-drawer__price {
  margin-top: 3px !important;
  font-size: .69rem !important;
}
.tss-cart-drawer__remove {
  width: 20px !important;
  height: 20px !important;
  font-size: 1.08rem !important;
}
.tss-cart-drawer__qty {
  grid-template-columns: 26px 31px 26px !important;
  margin-top: 2px;
}
.tss-cart-drawer__qty button {
  width: 26px !important;
  height: 24px !important;
  font-size: .9rem !important;
}
.tss-cart-drawer__qty span {
  font-size: .67rem !important;
}
.tss-cart-drawer__summary {
  padding: 7px 18px 8px !important;
}
.tss-cart-drawer__subtotal span {
  font-size: .68rem;
}
.tss-cart-drawer__subtotal strong {
  font-size: 1.05rem !important;
}
.tss-cart-drawer__delivery-note {
  margin: 0 0 5px !important;
  font-size: .61rem !important;
}
.tss-cart-drawer__checkout {
  min-height: 34px !important;
  padding-block: 6px !important;
}
.tss-cart-drawer__view,
.tss-cart-drawer__continue {
  min-height: 28px !important;
  margin-top: 3px !important;
  font-size: .64rem !important;
}
.tss-cart-drawer__continue {
  min-height: 20px !important;
  margin-top: 1px !important;
}
@media (max-width: 540px) {
  .tss-cart-drawer__items { padding-inline: 14px; }
  .tss-cart-drawer__item {
    grid-template-columns: 45px minmax(0,1fr) !important;
    gap: 10px !important;
    padding: 8px 0 !important;
  }
  .tss-cart-drawer__media { width: 45px !important; }
  .tss-cart-drawer__description { max-width: 220px; font-size: .61rem; }
  .tss-cart-drawer__summary { padding: 7px 13px 8px !important; }
}


/* v3.140 — £40 free-delivery progress indicator in the basket drawer. */
.tss-cart-drawer__free-delivery {
  margin: 0 0 7px;
}
.tss-cart-drawer__free-delivery p {
  margin: 0 0 4px;
  color: var(--ss-teal-deep);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .025em;
}
.tss-cart-drawer__free-delivery p.is-unlocked {
  color: var(--ss-teal-deep);
}
.tss-cart-drawer__free-delivery-track {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(3,47,55,.11);
}
.tss-cart-drawer__free-delivery-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--ss-gold);
  transition: width .25s ease;
}
.tss-cart-drawer__free-delivery-scale {
  display: flex;
  justify-content: space-between;
  margin-top: 2px;
  color: rgba(30,38,41,.52);
  font-size: .48rem;
  font-weight: 650;
}
\n\n/* v3.141 — clearer free-delivery progress treatment. */\n.tss-cart-drawer__free-delivery {\n  margin: 1px 0 8px;\n  padding: 8px 10px 7px;\n  border: 1px solid rgba(3,47,55,.10);\n  border-radius: 10px;\n  background: rgba(255,255,255,.38);\n}\n.tss-cart-drawer__free-delivery p {\n  margin: 0 0 6px;\n  font-size: .69rem;\n  line-height: 1.15;\n  text-align: center;\n}\n.tss-cart-drawer__free-delivery-track {\n  position: relative;\n  width: 100%;\n  height: 8px;\n  overflow: hidden;\n  border: 1px solid rgba(3,47,55,.10);\n  border-radius: 999px;\n  background: rgba(3,47,55,.12);\n}\n.tss-cart-drawer__free-delivery-track span {\n  min-width: 0;\n  background: linear-gradient(90deg, var(--ss-teal-deep), var(--ss-gold));\n}\n.tss-cart-drawer__free-delivery-scale {\n  display: grid;\n  grid-template-columns: 1fr auto;\n  align-items: center;\n  gap: 12px;\n  width: 100%;\n  margin-top: 4px;\n  font-size: .49rem;\n  line-height: 1;\n}\n.tss-cart-drawer__free-delivery-scale span:first-child {\n  justify-self: start;\n}\n.tss-cart-drawer__free-delivery-scale span:last-child {\n  justify-self: end;\n  white-space: nowrap;\n  font-weight: 750;\n  color: rgba(3,47,55,.70);\n}\n

/* v3.142 — Formula-style free-delivery rail with Scent Sanctuary delivery van marker. */
.tss-cart-drawer__free-delivery {
  margin: 0 0 8px !important;
  padding: 7px 8px 17px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.tss-cart-drawer__free-delivery p {
  margin: 0 0 8px !important;
  color: var(--ss-teal-deep) !important;
  font-size: .72rem !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}
.tss-cart-drawer__free-delivery p.is-unlocked {
  color: var(--ss-teal-deep) !important;
  font-weight: 750 !important;
}
.tss-cart-drawer__free-delivery-rail {
  position: relative;
  width: 100%;
  padding-right: 18px;
}
.tss-cart-drawer__free-delivery-track {
  position: relative;
  width: 100%;
  height: 5px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(3,47,55,.14) !important;
}
.tss-cart-drawer__free-delivery-track span {
  display: block;
  height: 100%;
  min-width: 0 !important;
  border-radius: inherit;
  background: var(--ss-gold) !important;
  transition: width .25s ease;
}
.tss-cart-drawer__free-delivery-marker {
  position: absolute;
  top: 50%;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 42px;
  transform: translate(20%, -9%);
  color: var(--ss-teal-deep);
  pointer-events: none;
}
.tss-cart-drawer__van {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  margin-bottom: 2px;
  border: 2px solid rgba(3,47,55,.16);
  border-radius: 50%;
  background: var(--ss-cream, #f6f1e7);
  box-shadow: 0 2px 5px rgba(3,47,55,.08);
}
.tss-cart-drawer__van svg {
  width: 19px;
  height: 14px;
}
.tss-cart-drawer__free-delivery-label {
  font-size: .49rem;
  font-weight: 750;
  line-height: .95;
  text-align: center;
  white-space: nowrap;
}
.tss-cart-drawer__free-delivery-scale { display: none !important; }
@media (max-width: 540px) {
  .tss-cart-drawer__free-delivery { padding-inline: 4px !important; }
  .tss-cart-drawer__free-delivery p { font-size: .68rem !important; }
}


/* v3.143 — compact visible free-delivery progress rail with left-facing green van. */
.tss-cart-drawer__free-delivery {
  margin: 0 0 7px !important;
  padding: 4px 2px 22px !important;
  border: 0 !important;
  background: transparent !important;
}
.tss-cart-drawer__free-delivery p {
  margin: 0 0 10px !important;
  font-size: .72rem !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}
.tss-cart-drawer__free-delivery-rail {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 10px !important;
  padding: 0 28px 0 0 !important;
  box-sizing: border-box !important;
}
.tss-cart-drawer__free-delivery-track {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 6px !important;
  min-height: 6px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(3,47,55,.16) !important;
  box-shadow: inset 0 0 0 1px rgba(3,47,55,.04) !important;
}
.tss-cart-drawer__free-delivery-track > span {
  display: block !important;
  height: 6px !important;
  min-height: 6px !important;
  border-radius: 999px !important;
  background: var(--ss-gold) !important;
}
.tss-cart-drawer__free-delivery-marker {
  position: absolute !important;
  top: -10px !important;
  right: 0 !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 36px !important;
  height: 38px !important;
  transform: none !important;
  color: #2f7d4f !important;
  pointer-events: none !important;
}
.tss-cart-drawer__van {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
  border: 1px solid rgba(47,125,79,.22) !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(3,47,55,.08) !important;
  overflow: hidden !important;
}
.tss-cart-drawer__van svg {
  display: block !important;
  width: 17px !important;
  height: 12px !important;
  min-width: 17px !important;
  min-height: 12px !important;
  max-width: 17px !important;
  max-height: 12px !important;
  transform: scaleX(-1) !important;
  color: #2f7d4f !important;
  fill: none !important;
}
.tss-cart-drawer__free-delivery-label {
  display: block !important;
  margin: 0 !important;
  color: var(--ss-teal-deep) !important;
  font-size: .46rem !important;
  font-weight: 750 !important;
  line-height: .95 !important;
  text-align: center !important;
  white-space: nowrap !important;
}
@media (max-width: 540px) {
  .tss-cart-drawer__free-delivery { padding-bottom: 21px !important; }
  .tss-cart-drawer__free-delivery p { font-size: .68rem !important; }
}


/* v3.144 — free-delivery runner + milestone sparkle celebration */
.tss-shipping-progress {
  position: relative;
}
.tss-shipping-progress__track {
  position: relative;
  overflow: visible;
}
.tss-shipping-progress__runner {
  position: absolute;
  top: 50%;
  left: 0;
  width: 22px;
  height: 22px;
  transform: translate(-50%, -50%);
  pointer-events: none;
  transition: left .45s cubic-bezier(.2,.8,.2,1);
  z-index: 3;
}
.tss-shipping-progress__runner::before {
  content: "🏃‍♂️";
  position: absolute;
  inset: 0;
  font-size: 18px;
  line-height: 22px;
  filter: saturate(.85);
}
.tss-shipping-progress__runner::after {
  content: "📦";
  position: absolute;
  right: -5px;
  top: 7px;
  font-size: 10px;
  transform: rotate(-7deg);
}
.tss-shipping-progress__truck {
  position: relative;
  z-index: 4;
}
.tss-shipping-progress__sparkles {
  position: absolute;
  right: 8px;
  top: 50%;
  width: 44px;
  height: 44px;
  transform: translate(50%, -50%);
  pointer-events: none;
  opacity: 0;
  z-index: 5;
}
.tss-shipping-progress__sparkles span {
  position: absolute;
  left: 50%;
  top: 50%;
  font-size: 10px;
  opacity: 0;
}
.tss-shipping-progress.is-celebrating .tss-shipping-progress__sparkles {
  opacity: 1;
}
.tss-shipping-progress.is-celebrating .tss-shipping-progress__sparkles span:nth-child(1) { animation: tssSpark1 1.35s ease-out forwards; }
.tss-shipping-progress.is-celebrating .tss-shipping-progress__sparkles span:nth-child(2) { animation: tssSpark2 1.45s .05s ease-out forwards; }
.tss-shipping-progress.is-celebrating .tss-shipping-progress__sparkles span:nth-child(3) { animation: tssSpark3 1.25s .1s ease-out forwards; }
.tss-shipping-progress.is-celebrating .tss-shipping-progress__sparkles span:nth-child(4) { animation: tssSpark4 1.5s .02s ease-out forwards; }
.tss-shipping-progress.is-celebrating .tss-shipping-progress__sparkles span:nth-child(5) { animation: tssSpark5 1.3s .08s ease-out forwards; }

@keyframes tssSpark1 { 0%{transform:translate(0,0) scale(.6);opacity:0} 18%{opacity:1} 100%{transform:translate(-20px,-20px) scale(1.1);opacity:0} }
@keyframes tssSpark2 { 0%{transform:translate(0,0) scale(.6);opacity:0} 18%{opacity:1} 100%{transform:translate(19px,-22px) scale(1.05);opacity:0} }
@keyframes tssSpark3 { 0%{transform:translate(0,0) scale(.6);opacity:0} 18%{opacity:1} 100%{transform:translate(-24px,8px) scale(1);opacity:0} }
@keyframes tssSpark4 { 0%{transform:translate(0,0) scale(.6);opacity:0} 18%{opacity:1} 100%{transform:translate(23px,11px) scale(1.08);opacity:0} }
@keyframes tssSpark5 { 0%{transform:translate(0,0) scale(.6);opacity:0} 18%{opacity:1} 100%{transform:translate(0,-28px) scale(1.15);opacity:0} }

@media (prefers-reduced-motion: reduce) {
  .tss-shipping-progress__runner { transition: none; }
  .tss-shipping-progress.is-celebrating .tss-shipping-progress__sparkles span { animation: none !important; }
}


/* v3.145 — corrected free-delivery runner/sparkle selectors for the real basket markup. */
.tss-cart-drawer__free-delivery-rail {
  position: relative;
}
.tss-cart-drawer__free-delivery-track {
  position: relative;
  overflow: visible !important;
}
.tss-cart-drawer__delivery-runner {
  position: absolute;
  top: 2px;
  left: 0;
  width: 24px;
  height: 24px;
  transform: translate(-50%, -55%);
  z-index: 6;
  pointer-events: none;
  transition: left .55s cubic-bezier(.2,.8,.2,1);
}
.tss-cart-drawer__delivery-runner svg {
  display: block;
  width: 24px;
  height: 24px;
  overflow: visible;
}
.tss-cart-drawer__delivery-runner .runner-body,
.tss-cart-drawer__delivery-runner .runner-head {
  stroke: var(--ss-teal-deep);
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.tss-cart-drawer__delivery-runner .runner-head {
  fill: var(--ss-cream, #f6f1e7);
}
.tss-cart-drawer__delivery-runner .runner-box {
  fill: var(--ss-gold);
  stroke: var(--ss-teal-deep);
  stroke-width: 1.1;
}
.tss-cart-drawer__delivery-runner.is-moving svg {
  animation: tssRunnerBob .42s ease-in-out infinite alternate;
}
@keyframes tssRunnerBob {
  from { transform: translateY(0) rotate(-1deg); }
  to   { transform: translateY(-1.5px) rotate(1deg); }
}
.tss-cart-drawer__delivery-sparkles {
  position: absolute;
  right: -3px;
  top: 1px;
  width: 44px;
  height: 38px;
  z-index: 8;
  pointer-events: none;
}
.tss-cart-drawer__delivery-sparkles span {
  position: absolute;
  left: 50%;
  top: 50%;
  color: var(--ss-gold);
  font-size: 10px;
  opacity: 0;
}
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(1){animation:tssDeliverySpark1 1.25s ease-out forwards}
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(2){animation:tssDeliverySpark2 1.4s .04s ease-out forwards}
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(3){animation:tssDeliverySpark3 1.2s .08s ease-out forwards}
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(4){animation:tssDeliverySpark4 1.35s .02s ease-out forwards}
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(5){animation:tssDeliverySpark5 1.3s .06s ease-out forwards}
@keyframes tssDeliverySpark1{0%{transform:translate(0,0) scale(.6);opacity:0}16%{opacity:1}100%{transform:translate(-18px,-18px) scale(1.1);opacity:0}}
@keyframes tssDeliverySpark2{0%{transform:translate(0,0) scale(.6);opacity:0}16%{opacity:1}100%{transform:translate(18px,-18px) scale(1.05);opacity:0}}
@keyframes tssDeliverySpark3{0%{transform:translate(0,0) scale(.6);opacity:0}16%{opacity:1}100%{transform:translate(-21px,7px) scale(1);opacity:0}}
@keyframes tssDeliverySpark4{0%{transform:translate(0,0) scale(.6);opacity:0}16%{opacity:1}100%{transform:translate(21px,8px) scale(1.08);opacity:0}}
@keyframes tssDeliverySpark5{0%{transform:translate(0,0) scale(.6);opacity:0}16%{opacity:1}100%{transform:translate(0,-24px) scale(1.15);opacity:0}}
@media (prefers-reduced-motion: reduce) {
  .tss-cart-drawer__delivery-runner { transition: none; }
  .tss-cart-drawer__delivery-runner.is-moving svg { animation: none; }
  .tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span { animation: none !important; }
}


/* v3.147 — CORRECT free-delivery artwork selectors.
   The live runner class is .tss-cart-drawer__delivery-runner. */
.tss-cart-drawer__delivery-runner {
  width: 34px !important;
  height: 34px !important;
  top: 2px !important;
  background: url('assets/images/delivery-guy.webp') center / contain no-repeat !important;
  transform: translate(-50%, -58%) !important;
}
.tss-cart-drawer__delivery-runner svg {
  display: none !important;
}

/* Repeat a short sparkle burst for five seconds at the free-delivery milestone. */
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(1) {
  animation: tssDeliverySpark1 1s ease-out 0s 5 both !important;
}
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(2) {
  animation: tssDeliverySpark2 1s ease-out .08s 5 both !important;
}
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(3) {
  animation: tssDeliverySpark3 1s ease-out .16s 5 both !important;
}
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(4) {
  animation: tssDeliverySpark4 1s ease-out .04s 5 both !important;
}
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(5) {
  animation: tssDeliverySpark5 1s ease-out .12s 5 both !important;
}


/* v3.148 — direct-markup delivery runner. Runner now exists in PHP, not only via JS. */
.tss-cart-drawer__free-delivery-track {
  overflow: visible !important;
}
.tss-cart-drawer__delivery-runner {
  position: absolute !important;
  z-index: 5 !important;
  top: 50% !important;
  width: 34px !important;
  height: 34px !important;
  object-fit: contain !important;
  transform: translate(-50%, -58%) !important;
  transition: left .45s cubic-bezier(.2,.8,.2,1) !important;
  pointer-events: none !important;
  background: none !important;
}
.tss-cart-drawer__delivery-runner svg,
.tss-cart-drawer__delivery-runner::before,
.tss-cart-drawer__delivery-runner::after {
  display: none !important;
  content: none !important;
}
.tss-cart-drawer__delivery-sparkles {
  position: absolute !important;
  right: 4px !important;
  top: 10px !important;
  width: 42px !important;
  height: 42px !important;
  pointer-events: none !important;
  opacity: 0;
  z-index: 7 !important;
}
.tss-cart-drawer__delivery-sparkles span {
  position: absolute;
  left: 50%;
  top: 50%;
  color: var(--ss-gold);
  opacity: 0;
  font-size: 10px;
}
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles {
  opacity: 1;
}
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(1) { animation: tssDeliverySpark1 1s ease-out 0s 5 both !important; }
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(2) { animation: tssDeliverySpark2 1s ease-out .08s 5 both !important; }
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(3) { animation: tssDeliverySpark3 1s ease-out .16s 5 both !important; }
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(4) { animation: tssDeliverySpark4 1s ease-out .04s 5 both !important; }
.tss-cart-drawer__free-delivery.is-celebrating .tss-cart-drawer__delivery-sparkles span:nth-child(5) { animation: tssDeliverySpark5 1s ease-out .12s 5 both !important; }


/* v3.149 — move milestone sparkles up around the truck, away from the Free Delivery label. */
.tss-cart-drawer__free-delivery-rail {
  overflow: visible !important;
}
.tss-cart-drawer__delivery-sparkles {
  right: -4px !important;
  top: -22px !important;
  width: 44px !important;
  height: 44px !important;
  transform: none !important;
  overflow: visible !important;
}
/* Keep the burst above/around the van rather than firing down through its label. */
@keyframes tssDeliverySpark1{0%{transform:translate(0,0) scale(.6);opacity:0}16%{opacity:1}100%{transform:translate(-18px,-15px) scale(1.1);opacity:0}}
@keyframes tssDeliverySpark2{0%{transform:translate(0,0) scale(.6);opacity:0}16%{opacity:1}100%{transform:translate(18px,-16px) scale(1.05);opacity:0}}
@keyframes tssDeliverySpark3{0%{transform:translate(0,0) scale(.6);opacity:0}16%{opacity:1}100%{transform:translate(-22px,0) scale(1);opacity:0}}
@keyframes tssDeliverySpark4{0%{transform:translate(0,0) scale(.6);opacity:0}16%{opacity:1}100%{transform:translate(22px,0) scale(1.08);opacity:0}}
@keyframes tssDeliverySpark5{0%{transform:translate(0,0) scale(.6);opacity:0}16%{opacity:1}100%{transform:translate(0,-25px) scale(1.15);opacity:0}}


/* v3.150 — free-delivery truck changes colour when the milestone is unlocked.
   Removing items below the threshold automatically restores the normal green truck. */
.tss-cart-drawer__delivery-truck,
.tss-cart-drawer__free-delivery-marker svg,
.tss-cart-drawer__free-delivery-marker [class*="truck"] {
  transition: filter .35s ease, color .35s ease, fill .35s ease, stroke .35s ease !important;
}

/* Default / locked state: existing green treatment remains. */
.tss-cart-drawer__free-delivery:not(.is-unlocked) .tss-cart-drawer__delivery-truck,
.tss-cart-drawer__free-delivery:not(.is-unlocked) .tss-cart-drawer__free-delivery-marker svg {
  filter: none !important;
}

/* Unlocked state: truck shifts to the Sanctuary gold milestone colour. */
.tss-cart-drawer__free-delivery.is-unlocked .tss-cart-drawer__delivery-truck,
.tss-cart-drawer__free-delivery.is-unlocked .tss-cart-drawer__free-delivery-marker svg,
.tss-cart-drawer__free-delivery:has(.is-unlocked) .tss-cart-drawer__delivery-truck,
.tss-cart-drawer__free-delivery:has(.is-unlocked) .tss-cart-drawer__free-delivery-marker svg {
  filter: sepia(1) saturate(3.2) hue-rotate(352deg) brightness(1.04) !important;
}


/* v3.151 — shared product-information content across every diffuser. */
.tss-product-accordion__content ol,
.tss-product-accordion__content ul {
  margin: 0 0 12px 1.15rem;
  padding: 0;
}
.tss-product-accordion__content li {
  margin: 0 0 7px;
  line-height: 1.55;
}
.tss-product-accordion__content h4 {
  margin: 0 0 10px;
  color: var(--ss-teal-deep);
  font-family: "Montserrat", sans-serif;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tss-product-note {
  margin-top: 11px !important;
  padding: 10px 12px;
  border-left: 2px solid var(--ss-gold);
  background: rgba(203,164,77,.07);
  font-size: .82rem;
  line-height: 1.55;
}
.tss-delivery-returns-summary p {
  margin: 0 0 12px;
}
.tss-product-details--shared {
  margin-top: 15px;
}
.tss-product-accordion__content a {
  color: var(--ss-teal-deep);
  font-weight: 600;
  text-decoration-color: rgba(3,47,55,.35);
  text-underline-offset: 2px;
}


/* v3.152 — cleaner product notes + breathing room before Designer Inspired disclaimer. */
.tss-product-note {
  margin-top: 11px !important;
  padding: 0 !important;
  border-left: 0 !important;
  background: transparent !important;
}
.tss-designer-disclaimer {
  margin-top: 18px !important;
  padding-top: 2px;
}



/* v3.154 — Help / legal information pages. */
.page .ss-content {
  max-width: 1040px;
}
.page .ss-content > :first-child {
  margin-top: 0;
}
.page .ss-content h2 {
  margin: 2rem 0 .65rem;
  color: var(--ss-teal-deep);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.65rem, 2.7vw, 2.25rem);
  font-weight: 500;
  line-height: 1.05;
}
.page .ss-content h3 {
  margin: 1.35rem 0 .45rem;
  color: var(--ss-teal-deep);
  font-family: "Montserrat", sans-serif;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .035em;
}
.page .ss-content p,
.page .ss-content li {
  line-height: 1.75;
}
.page .ss-content ol,
.page .ss-content ul {
  padding-left: 1.3rem;
}


/* v3.155 — Discovery Pack suggestion. */
.tss-discovery-pack-note {
  margin-top: 14px !important;
  color: rgba(30,38,41,.78);
  font-size: .82rem;
  line-height: 1.55;
}

/* v3.155 — first-visit cookie consent banner. */
.tss-cookie-consent[hidden] { display: none !important; }
.tss-cookie-consent {
  position: fixed;
  z-index: 99998;
  left: 22px;
  right: 22px;
  bottom: 22px;
  max-width: 760px;
  margin: 0 auto;
  padding: 1px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(203,164,77,.92), rgba(3,47,55,.85));
  box-shadow: 0 18px 50px rgba(0,0,0,.22);
}
.tss-cookie-consent__inner {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 18px 20px;
  border-radius: 17px;
  background: #f7f1e6;
}
.tss-cookie-consent__copy {
  flex: 1 1 auto;
  min-width: 0;
  color: #1e2629;
}
.tss-cookie-consent__copy strong {
  display: block;
  margin-bottom: 5px;
  color: var(--ss-teal-deep);
  font-family: "Cormorant Garamond", serif;
  font-size: 1.28rem;
  font-weight: 600;
}
.tss-cookie-consent__copy p {
  margin: 0 0 5px;
  font-size: .74rem;
  line-height: 1.5;
}
.tss-cookie-consent__copy a {
  color: var(--ss-teal-deep);
  font-size: .69rem;
  font-weight: 700;
  text-underline-offset: 2px;
}
.tss-cookie-consent__actions {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}
.tss-cookie-btn {
  min-height: 38px;
  padding: 8px 14px;
  border: 1px solid var(--ss-teal-deep);
  border-radius: 999px;
  font-family: "Montserrat", sans-serif;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}
.tss-cookie-btn--primary {
  border-color: var(--ss-gold);
  background: var(--ss-gold);
  color: var(--ss-teal-deep);
}
.tss-cookie-btn--secondary {
  background: transparent;
  color: var(--ss-teal-deep);
}
.tss-cookie-btn:focus-visible {
  outline: 3px solid rgba(3,47,55,.25);
  outline-offset: 2px;
}
@media (max-width: 680px) {
  .tss-cookie-consent {
    left: 10px;
    right: 10px;
    bottom: 10px;
  }
  .tss-cookie-consent__inner {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    padding: 15px;
  }
  .tss-cookie-consent__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .tss-cookie-btn { width: 100%; }
}


/* v3.156 — temporary business-address field.
   TODO: replace [INSERT BUSINESS ADDRESS] once the public business address is resolved. */
.tss-business-address-todo {
  margin-top: .65rem;
}


/* v3.157 — Discovery Pack builder. */
.tss-discovery{--d-border:rgba(3,47,55,.14);max-width:1180px;margin:0 auto}.tss-discovery__hero{max-width:880px;margin:0 auto 48px;text-align:center}.tss-discovery__eyebrow,.tss-discovery__step{margin:0 0 8px;color:var(--ss-gold);font-size:.67rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.tss-discovery__hero h1,.tss-discovery h2{margin:0;color:var(--ss-teal-deep);font-family:"Cormorant Garamond",serif;font-weight:500;line-height:1}.tss-discovery__hero h1{font-size:clamp(2.7rem,6vw,4.8rem)}.tss-discovery__intro{max-width:720px;margin:18px auto 0;font-size:.96rem;line-height:1.75}.tss-discovery__included{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:22px}.tss-discovery__included span{padding:7px 10px;border:1px solid var(--d-border);border-radius:999px;background:rgba(255,255,255,.6);font-size:.66rem;font-weight:650}.tss-discovery__builder{padding:clamp(22px,4vw,42px);border:1px solid var(--d-border);border-radius:26px;background:#fbf6ed;box-shadow:0 18px 55px rgba(3,47,55,.07)}.tss-discovery__builder-head,.tss-discovery__selection-head,.tss-discovery__collection-title{display:flex;align-items:flex-end;justify-content:space-between;gap:22px}.tss-discovery h2{font-size:clamp(2rem,4vw,3.1rem)}.tss-discovery__builder-head p:last-child{margin:10px 0 0;font-size:.82rem}.tss-discovery__counter{display:flex;align-items:baseline;gap:5px}.tss-discovery__counter strong{font-family:"Cormorant Garamond",serif;font-size:2.7rem}.tss-discovery__counter span{font-size:.68rem;font-weight:750;text-transform:uppercase}.tss-discovery__collection{margin-top:34px}.tss-discovery__collection-title{align-items:center;margin-bottom:12px}.tss-discovery__collection-title h3{margin:0;color:var(--ss-teal-deep);font-size:.78rem;letter-spacing:.09em;text-transform:uppercase}.tss-discovery__premium-note{font-size:.6rem;font-weight:700;color:rgba(30,38,41,.58)}.tss-discovery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tss-discovery-card{display:grid;grid-template-columns:58px minmax(0,1fr) 24px;align-items:center;gap:12px;min-height:82px;padding:10px 12px;border:1px solid var(--d-border);border-radius:15px;background:rgba(255,255,255,.68);text-align:left;cursor:pointer;transition:.18s}.tss-discovery-card:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(3,47,55,.06)}.tss-discovery-card.is-selected{border-color:var(--ss-gold);background:rgba(203,164,77,.1)}.tss-discovery-card.is-limit-reached:not(.is-selected){opacity:.48;cursor:not-allowed}.tss-discovery-card__image{width:58px;aspect-ratio:4/5;overflow:hidden;border-radius:9px;background:#fff}.tss-discovery-card__image img{width:100%;height:100%;object-fit:cover}.tss-discovery-card__copy strong{display:block;color:var(--ss-teal-deep);font-family:"Cormorant Garamond",serif;font-size:1.1rem;line-height:1}.tss-discovery-card__copy small{display:-webkit-box;margin-top:5px;overflow:hidden;color:rgba(30,38,41,.65);font-size:.58rem;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tss-discovery-card__tick{display:grid;place-items:center;width:21px;height:21px;border:1px solid rgba(3,47,55,.18);border-radius:50%;color:transparent}.tss-discovery-card.is-selected .tss-discovery-card__tick{border-color:var(--ss-gold);background:var(--ss-gold);color:var(--ss-teal-deep)}.tss-discovery__selection{margin-top:38px;padding-top:28px;border-top:1px solid var(--d-border)}.tss-discovery__clear{border:0;background:none;color:var(--ss-teal-deep);font-size:.64rem;font-weight:700;text-decoration:underline;cursor:pointer}.tss-discovery__clear:disabled{opacity:.35}.tss-discovery__slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:18px 0 0!important;padding:0!important;list-style:none}.tss-discovery__slots li{min-height:72px;margin:0!important;padding:10px;border:1px dashed rgba(3,47,55,.22);border-radius:12px;background:rgba(255,255,255,.38)}.tss-discovery__slots li span{display:block;color:rgba(30,38,41,.46);font-size:.53rem;font-weight:800;text-transform:uppercase}.tss-discovery__slots li strong{display:block;margin-top:5px;color:var(--ss-teal-deep);font-family:"Cormorant Garamond",serif;font-size:.95rem}.tss-discovery__slots li.is-filled{border-style:solid;border-color:rgba(203,164,77,.55);background:rgba(203,164,77,.09)}.tss-discovery__pricing{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;margin-top:18px;border:1px solid var(--d-border);border-radius:13px;background:var(--d-border)}.tss-discovery__pricing>div{padding:12px 14px;background:rgba(255,255,255,.72)}.tss-discovery__pricing span,.tss-discovery__pricing strong{display:block}.tss-discovery__pricing span{font-size:.58rem;font-weight:750;text-transform:uppercase}.tss-discovery__pricing strong{margin-top:3px;color:var(--ss-teal-deep);font-size:.78rem}.tss-discovery__cta{width:100%;min-height:46px;margin-top:12px;border:0;border-radius:999px;background:var(--ss-gold);color:var(--ss-teal-deep);font-size:.71rem;font-weight:800;text-transform:uppercase}.tss-discovery__cta:disabled{background:rgba(3,47,55,.11);color:rgba(3,47,55,.48)}.tss-discovery__pricing-note{margin:8px auto 0;color:rgba(30,38,41,.54);font-size:.6rem;text-align:center}.tss-discovery__how,.tss-discovery__faq{margin-top:58px}.tss-discovery__how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.tss-discovery__how-grid article{padding:22px;border:1px solid var(--d-border);border-radius:18px;background:rgba(255,255,255,.48)}.tss-discovery__how-grid article>span{color:var(--ss-gold);font-family:"Cormorant Garamond",serif;font-size:1.4rem}.tss-discovery__how-grid h3{margin:8px 0 5px;color:var(--ss-teal-deep);font-family:"Cormorant Garamond",serif;font-size:1.5rem}.tss-discovery__how-grid p,.tss-discovery__performance-note,.tss-discovery__faq p{font-size:.78rem;line-height:1.65}.tss-discovery__faq details{margin-top:8px;border-bottom:1px solid var(--d-border)}.tss-discovery__faq summary{padding:13px 0;color:var(--ss-teal-deep);font-size:.76rem;font-weight:750;cursor:pointer}.tss-product-discovery-link{margin:9px 0 0!important}.tss-product-discovery-link a{color:var(--ss-teal-deep);font-size:.7rem;font-weight:700;text-underline-offset:3px}@media(max-width:980px){.tss-discovery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tss-discovery__slots{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.tss-discovery__builder{padding:18px 14px;border-radius:18px}.tss-discovery__builder-head,.tss-discovery__selection-head{align-items:flex-start;flex-direction:column;gap:10px}.tss-discovery__counter{align-self:flex-end}.tss-discovery__grid{grid-template-columns:1fr}.tss-discovery-card{grid-template-columns:50px minmax(0,1fr) 22px;min-height:74px}.tss-discovery-card__image{width:50px}.tss-discovery__slots{grid-template-columns:1fr 1fr}.tss-discovery__pricing{grid-template-columns:1fr}.tss-discovery__how-grid{grid-template-columns:1fr}}


/* v3.158 — Discovery Pack visibility/testing fixes. */
.tss-discovery__back{margin:0 0 20px}.tss-discovery__back a{display:inline-flex;align-items:center;gap:7px;color:var(--ss-teal-deep);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-decoration:none}.tss-discovery__back a:hover{text-decoration:underline;text-underline-offset:4px}
.tss-product-discovery-link{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 0!important}.tss-product-discovery-link span{font-size:.68rem;font-weight:650;color:rgba(3,47,55,.7)}.tss-product-discovery-link a{display:inline-flex!important;align-items:center;padding:9px 14px;border:1px solid var(--ss-gold);border-radius:999px;background:rgba(203,164,77,.10);color:var(--ss-teal-deep)!important;font-size:.66rem!important;font-weight:800!important;letter-spacing:.06em;text-decoration:none!important;transition:background .18s ease,transform .18s ease}.tss-product-discovery-link a:hover{background:var(--ss-gold);transform:translateY(-1px)}
.tss-discovery__test-result{margin-top:12px;padding:14px 16px;border:1px solid rgba(203,164,77,.5);border-radius:13px;background:rgba(203,164,77,.09);color:var(--ss-teal-deep)}.tss-discovery__test-result[hidden]{display:none!important}.tss-discovery__test-result strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.2rem}.tss-discovery__test-result p{margin:5px 0;font-size:.72rem;line-height:1.45}.tss-discovery__test-result span{font-size:.6rem;color:rgba(30,38,41,.62)}


/* v3.159 — Discovery navigation polish. */
.tss-discovery__back a,
.tss-discovery__back a:hover,
.tss-discovery__back a:focus,
.tss-discovery__back a:active {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.tss-discovery__back a:hover {
  opacity: .72;
}


/* v3.160 — Discovery collection accordions. */
.tss-discovery__collection {
  margin-top: 18px;
  border: 1px solid var(--discovery-border);
  border-radius: 15px;
  background: rgba(255,255,255,.36);
  overflow: hidden;
}
.tss-discovery__collection + .tss-discovery__collection { margin-top: 10px; }
.tss-discovery__collection-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.tss-discovery__collection-title::-webkit-details-marker { display: none; }
.tss-discovery__collection-heading {
  display: flex;
  align-items: baseline;
  gap: 9px;
  min-width: 0;
}
.tss-discovery__collection-heading strong {
  color: var(--ss-teal-deep);
  font-family: "Montserrat", sans-serif;
  font-size: .78rem;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.tss-discovery__collection-heading small {
  color: rgba(30,38,41,.5);
  font-size: .57rem;
  font-weight: 700;
  white-space: nowrap;
}
.tss-discovery__collection-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
}
.tss-discovery__selected-count {
  min-width: 58px;
  color: rgba(30,38,41,.58);
  font-size: .57rem;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}
.tss-discovery__collection.has-selections .tss-discovery__selected-count {
  color: var(--ss-teal-deep);
}
.tss-discovery__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: var(--ss-gold);
  font-size: 1rem;
  line-height: 1;
  transition: transform .18s ease;
}
.tss-discovery__collection[open] .tss-discovery__chevron {
  transform: rotate(180deg);
}
.tss-discovery__collection > .tss-discovery__grid {
  padding: 0 12px 12px;
}
@media (max-width: 680px) {
  .tss-discovery__collection-title {
    align-items: flex-start;
    padding: 12px;
  }
  .tss-discovery__collection-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
  .tss-discovery__collection-meta { gap: 6px; }
  .tss-discovery__premium-note { display: none; }
}


/* v3.163 — dedicated footer Help/Legal page Back navigation. */
.tss-footer-info-page > .ss-container > .tss-back-nav {
  margin-bottom: 38px;
}
.tss-footer-info-page .tss-back-link,
.tss-footer-info-page .tss-back-link:hover,
.tss-footer-info-page .tss-back-link:focus,
.tss-footer-info-page .tss-back-link:active,
.tss-footer-info-page .tss-back-link:visited {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}


/* v3.165 — Help / Legal page Back control.
   It lives inside the hero so the absolute site header cannot cover it. */
.tss-footer-info-hero .ss-container {
  display: block;
}
.tss-footer-info-back {
  margin: 0 0 28px;
}
.tss-footer-info-back .tss-back-nav {
  margin: 0;
}
.tss-footer-info-back .tss-back-link,
.tss-footer-info-back .tss-back-link:hover,
.tss-footer-info-back .tss-back-link:focus,
.tss-footer-info-back .tss-back-link:active,
.tss-footer-info-back .tss-back-link:visited {
  color: #fff;
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.tss-footer-info-back .tss-back-link:hover {
  color: var(--ss-gold-light);
}
@media (max-width: 782px) {
  .tss-footer-info-back {
    margin-bottom: 20px;
  }
}


/* v3.166 — visible Back button on each Help / Legal PAGE.
   This is page content, not a footer modification. */
.tss-footer-info-back-strip {
  background: var(--ss-cream, #f5efe5);
  padding: 148px 0 26px;
}
.tss-footer-info-back-strip .tss-back-nav {
  margin: 0;
}
.tss-footer-info-back-strip .tss-back-link,
.tss-footer-info-back-strip .tss-back-link:visited,
.tss-footer-info-back-strip .tss-back-link:focus,
.tss-footer-info-back-strip .tss-back-link:active {
  color: var(--ss-teal-deep);
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.tss-footer-info-back-strip .tss-back-link:hover {
  color: var(--ss-gold);
  text-decoration: none !important;
}
.tss-footer-info-hero {
  padding-top: 58px !important;
}
@media (max-width: 782px) {
  .tss-footer-info-back-strip {
    padding-top: 124px;
    padding-bottom: 20px;
  }
  .tss-footer-info-hero {
    padding-top: 44px !important;
  }
}


/* v3.167 — Help/Legal top Back now lives neatly inside the dark hero. */
.tss-footer-info-hero {
  padding-top: 72px !important;
}
.tss-footer-info-back {
  margin: 0 0 30px !important;
}
.tss-footer-info-back .tss-back-link,
.tss-footer-info-back .tss-back-link:visited,
.tss-footer-info-back .tss-back-link:focus,
.tss-footer-info-back .tss-back-link:active {
  color: rgba(255,255,255,.92);
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.tss-footer-info-back .tss-back-link:hover {
  color: var(--ss-gold-light);
}

/* Global bottom Back area on every non-home page. */
.tss-global-bottom-back {
  background: var(--ss-cream, #f5efe5);
  padding: 30px 0 34px;
}
.tss-global-bottom-back .tss-back-nav {
  margin: 0;
}
.tss-global-bottom-back .tss-back-link,
.tss-global-bottom-back .tss-back-link:visited,
.tss-global-bottom-back .tss-back-link:focus,
.tss-global-bottom-back .tss-back-link:active {
  color: var(--ss-teal-deep);
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.tss-global-bottom-back .tss-back-link:hover {
  color: var(--ss-gold);
}

#site-footer {
  scroll-margin-top: 20px;
}

@media (max-width: 782px) {
  .tss-footer-info-hero {
    padding-top: 54px !important;
  }
  .tss-footer-info-back {
    margin-bottom: 22px !important;
  }
  .tss-global-bottom-back {
    padding: 24px 0 28px;
  }
}


/* v3.169 — Checkout Back belongs inside the dark Checkout hero. */
body.woocommerce-checkout .site-main {
  padding-top: 0 !important;
}
.tss-checkout-hero {
  padding-top: 58px;
}
.tss-checkout-hero__back {
  margin: 0 0 34px;
}
.tss-checkout-hero__back .tss-back-nav {
  margin: 0;
}
.tss-checkout-hero__back .tss-back-link,
.tss-checkout-hero__back .tss-back-link:visited,
.tss-checkout-hero__back .tss-back-link:focus,
.tss-checkout-hero__back .tss-back-link:active {
  color: rgba(255,255,255,.92);
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.tss-checkout-hero__back .tss-back-link:hover {
  color: var(--ss-gold-light);
}
@media (max-width: 782px) {
  .tss-checkout-hero {
    padding-top: 44px;
  }
  .tss-checkout-hero__back {
    margin-bottom: 24px;
  }
}


/* v3.170 — live promotion qualification in the slide-out basket. */
.tss-cart-drawer__offers {
  margin: 0 0 8px;
  padding: 9px 10px;
  border: 1px solid rgba(3,47,55,.12);
  border-radius: 12px;
  background: rgba(255,255,255,.42);
}
.tss-cart-drawer__offers-title {
  margin: 0 0 6px;
  color: var(--ss-teal-deep);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.tss-cart-offer {
  display: grid;
  grid-template-columns: 22px minmax(0,1fr);
  gap: 7px;
  align-items: start;
  padding: 6px 0;
  border-top: 1px solid rgba(3,47,55,.08);
}
.tss-cart-offer:first-of-type { border-top: 0; }
.tss-cart-offer__icon {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  border-radius: 50%;
  background: rgba(202,163,74,.16);
  color: var(--ss-gold);
  font-size: .72rem;
  font-weight: 900;
  line-height: 1;
}
.tss-cart-offer.is-unlocked .tss-cart-offer__icon {
  background: var(--ss-teal-deep);
  color: var(--ss-gold-light);
}
.tss-cart-offer__copy {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.tss-cart-offer__copy strong {
  color: var(--ss-teal-deep);
  font-size: .68rem;
  line-height: 1.2;
}
.tss-cart-offer__copy span {
  color: rgba(30,38,41,.72);
  font-size: .62rem;
  line-height: 1.3;
}
.tss-cart-offer.is-unlocked .tss-cart-offer__copy strong { color: var(--ss-teal-deep); }
@media (max-width: 540px) {
  .tss-cart-drawer__offers { margin-bottom: 7px; padding: 8px 9px; }
}

/* v3.171 — compact checkout, campaign offer and live Discovery Pack. */
body.woocommerce-checkout .site-main { padding-top: 0 !important; }
.tss-checkout-compact-head {
  padding: 26px 0 0;
  background: var(--ss-ivory);
}
.tss-checkout-compact-head .tss-back-nav { margin: 0; }
.tss-checkout-content { padding-top: 34px !important; }
body.woocommerce-checkout .tss-checkout-hero { display: none !important; }
.tss-campaign__offer {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 16px;
  padding: 8px 14px;
  border: 1px solid rgba(202,163,74,.65);
  border-radius: 999px;
  background: rgba(202,163,74,.10);
  color: var(--ss-gold-light);
  font-size: .72rem;
  line-height: 1;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.tss-campaign__offer strong { color: #fff; font-weight: 700; }
@media (max-width: 782px) {
  .tss-checkout-compact-head { padding-top: 20px; }
  .tss-checkout-content { padding-top: 26px !important; }
  .tss-campaign__offer { font-size: .66rem; gap: 7px; }
}
.tss-cart-drawer__item-data {
  margin-top: 5px;
  font-size: .68rem;
  line-height: 1.45;
  color: rgba(3,47,55,.72);
}
.tss-cart-drawer__item-data dl,
.tss-cart-drawer__item-data p { margin: 0; }
.tss-cart-drawer__item-data dt { font-weight: 700; }
.tss-campaign-slide__offer {
  display: inline-block;
  width: fit-content;
  margin: 2px 0 12px;
  padding: 7px 12px;
  border: 1px solid rgba(202,163,74,.72);
  border-radius: 999px;
  color: var(--ss-gold-light);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.tss-cart-drawer__saving { color: var(--ss-teal); }
.tss-cart-drawer__saving strong { color: var(--ss-teal); }
.tss-cart-drawer__payable {
  margin-top: 2px;
  padding-top: 7px;
  border-top: 1px solid rgba(3,47,55,.12);
}


/* v3.172 — promotion ticker, collection dropdown, clearer limited offer and Driver's Edge. */
.tss-promo-ticker{
  position:fixed; inset:0 0 auto 0; z-index:60; height:38px; overflow:hidden;
  background:#d1a746; color:#07343b; border-bottom:1px solid rgba(3,47,55,.15);
  display:flex; align-items:center;
}
body.admin-bar .tss-promo-ticker{top:32px}
.tss-promo-ticker__track{display:flex;align-items:center;gap:34px;width:max-content;white-space:nowrap;animation:tssTicker 34s linear infinite;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.tss-promo-ticker__track span{display:inline-block}.tss-promo-ticker__track b{font-size:.55rem;font-weight:400;opacity:.7}
@keyframes tssTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.tss-promo-ticker__track{animation:none}}
.site-header,.site-header.is-scrolled,.tss-inner .site-header{top:38px!important}
body.admin-bar .site-header,body.admin-bar .site-header.is-scrolled,body.admin-bar.tss-inner .site-header{top:70px!important}

.site-nav__list > .tss-nav-dropdown{position:relative}
.tss-nav-dropdown__trigger span{font-size:.9em;margin-left:4px}
.tss-nav-dropdown__menu{
  display:block!important;position:absolute;top:calc(100% + 18px);left:50%;width:310px;margin:0!important;padding:10px!important;
  transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;background:#073b42;border:1px solid rgba(202,163,74,.35);
  border-radius:16px;box-shadow:0 20px 45px rgba(0,0,0,.26);transition:opacity .18s ease,transform .18s ease;z-index:80
}
.tss-nav-dropdown:hover .tss-nav-dropdown__menu,.tss-nav-dropdown:focus-within .tss-nav-dropdown__menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.site-nav .tss-nav-dropdown__menu li{width:100%}
.site-nav .tss-nav-dropdown__menu a{display:flex;flex-direction:column;gap:3px;padding:12px 13px;border-radius:10px;letter-spacing:0;text-transform:none}
.site-nav .tss-nav-dropdown__menu a:hover{background:rgba(255,255,255,.06)}
.site-nav .tss-nav-dropdown__menu strong{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:600;color:#fff}
.site-nav .tss-nav-dropdown__menu span{font-size:.66rem;line-height:1.35;color:rgba(255,255,255,.62)}

.tss-campaign-slide__deal{width:min(100%,420px);margin:20px 0 24px;padding:14px 18px 15px;border-left:3px solid var(--ss-gold);background:linear-gradient(90deg,rgba(202,163,74,.14),rgba(202,163,74,.03));display:grid;gap:4px}
.tss-campaign-slide__deal span{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ss-gold-light);font-weight:700}
.tss-campaign-slide__deal strong{font-size:1rem;letter-spacing:.11em;color:#fff}
.tss-campaign-slide__deal small{font-size:.72rem;line-height:1.45;color:rgba(255,255,255,.66)}
.tss-campaign__offer,.tss-campaign-slide__offer{display:none!important}

.tss-drivers-edge-coming-soon{max-width:1040px;margin:0 auto;padding:22px 0 42px}
.tss-drivers-edge-coming-soon h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,6vw,5.4rem);line-height:.95;color:var(--ss-teal-deep);margin:10px 0 18px}
.tss-drivers-edge-coming-soon>p{max-width:760px;font-size:1.02rem;color:#4d5d5f}
.tss-drivers-edge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:34px 0}
.tss-drivers-edge-grid article{padding:22px 18px;border:1px solid rgba(202,163,74,.45);border-radius:16px;background:#fffaf0}
.tss-drivers-edge-grid strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.55rem;color:var(--ss-teal-deep);margin-bottom:6px}
.tss-drivers-edge-grid span{font-size:.78rem;line-height:1.5;color:#647174}
.tss-drivers-edge-note{font-size:.78rem!important;font-weight:600;letter-spacing:.04em;color:#9e7a29!important}

/* WooCommerce Blocks checkout: room for an Edit basket control and per-row remove action added by JS. */
.tss-checkout-edit-basket{display:inline-flex!important;align-items:center;gap:6px;font-size:.72rem!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--ss-teal)!important;text-decoration:underline!important;text-underline-offset:3px}
.tss-checkout-remove-item{margin-top:7px;border:0;background:none;padding:0;color:#775a2a;font-size:.68rem;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.tss-checkout-remove-item:hover{color:var(--ss-teal-deep)}

@media(max-width:782px){
  body.admin-bar .tss-promo-ticker{top:46px}.site-header,.site-header.is-scrolled,.tss-inner .site-header{top:38px!important}body.admin-bar .site-header,body.admin-bar .site-header.is-scrolled,body.admin-bar.tss-inner .site-header{top:84px!important}
  .tss-promo-ticker__track{gap:22px;font-size:.62rem;animation-duration:28s}
  .site-nav .tss-nav-dropdown__menu{position:static!important;width:100%;padding:0 0 4px 14px!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;background:transparent;border:0;box-shadow:none}
  .site-nav .tss-nav-dropdown__menu a{padding:9px 0 9px 14px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;border-left:1px solid rgba(202,163,74,.32)!important;border-radius:0}
  .site-nav .tss-nav-dropdown__menu strong{font-size:1rem}.site-nav .tss-nav-dropdown__menu span{font-size:.62rem}
  .tss-drivers-edge-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){.tss-drivers-edge-grid{grid-template-columns:1fr}}

/* v3.173 — navigation, checkout/cart spacing and Driver's Edge test polish. */
/* No dead hover gap: the dropdown begins directly beneath Collections. */
.tss-nav-dropdown__menu{
  top:100% !important;
  margin-top:0 !important;
}
/* Slight invisible hover bridge over the menu edge for diagonal mouse movement. */
.tss-nav-dropdown::after{
  content:""; position:absolute; left:-18px; right:-18px; top:100%; height:10px; display:block;
}

/* Checkout should finish naturally rather than leaving a large cream void. */
body.woocommerce-checkout .site-main{
  margin-bottom:0 !important;
  min-height:0 !important;
}
body.woocommerce-checkout .tss-checkout-content{
  padding-top:22px !important;
  padding-bottom:26px !important;
  min-height:0 !important;
}
body.woocommerce-checkout .tss-checkout-compact-head{
  padding-top:18px !important;
}

/* Cart/Basket Back control belongs inside its teal hero. */
body.woocommerce-cart .site-main > .ss-container > .tss-back-nav{display:none!important}
.tss-cart-page-hero{padding-top:46px!important}
.tss-cart-hero__back{margin:0 0 26px}
.tss-cart-hero__back .tss-back-nav{margin:0}
.tss-cart-hero__back .tss-back-link,
.tss-cart-hero__back .tss-back-link:visited,
.tss-cart-hero__back .tss-back-link:focus,
.tss-cart-hero__back .tss-back-link:active{color:rgba(255,255,255,.92);text-decoration:none!important;border:0!important;box-shadow:none!important}
.tss-cart-hero__back .tss-back-link:hover{color:var(--ss-gold-light)}

.tss-footer-coming-soon{display:inline-block;margin-left:5px;font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ss-gold-light)}

.tss-drivers-edge-test{margin-top:28px;padding:18px;border:1px dashed rgba(202,163,74,.75);border-radius:14px;background:rgba(202,163,74,.08);display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.tss-drivers-edge-test strong{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ss-teal-deep)}
.tss-drivers-edge-test span{flex:1 1 420px;font-size:.78rem;color:#58686a}
.tss-drivers-edge-test .ss-btn{margin:0;white-space:nowrap}

@media(max-width:782px){
  .tss-nav-dropdown::after{display:none}
  body.woocommerce-checkout .tss-checkout-compact-head{padding-top:12px!important}
  body.woocommerce-checkout .tss-checkout-content{padding-top:16px!important;padding-bottom:20px!important}
  .tss-cart-page-hero{padding-top:38px!important}
  .tss-cart-hero__back{margin-bottom:20px}
}


/* v3.174 — gold social links in the global footer. */
.tss-footer-socials {
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-top:22px;
}
.site-footer .tss-footer-socials a {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--ss-gold-light);
  font-size:.84rem;
  font-weight:700;
  letter-spacing:.04em;
  text-decoration:none;
}
.site-footer .tss-footer-socials a:hover,
.site-footer .tss-footer-socials a:focus-visible {
  color:var(--ss-gold);
  text-decoration:underline;
  text-underline-offset:4px;
}
.tss-footer-socials svg {
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:currentColor;
}


/* v3.174 — gold social icons in the global header. */
.tss-header-socials {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding-right:2px;
}
.tss-header-socials a {
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  color:var(--ss-gold-light);
  border-radius:999px;
  transition:color .2s ease, background-color .2s ease, transform .2s ease;
}
.tss-header-socials a:hover,
.tss-header-socials a:focus-visible {
  color:var(--ss-gold);
  background:rgba(202,163,74,.10);
  transform:translateY(-1px);
  outline:none;
}
.tss-header-socials svg {
  width:17px;
  height:17px;
  fill:currentColor;
}
@media (max-width: 782px) {
  .tss-header-socials { gap:4px; }
  .tss-header-socials a { width:28px; height:28px; }
  .tss-header-socials svg { width:15px; height:15px; }
}
@media (max-width: 420px) {
  .tss-header-socials { display:none; }
}

/* v3.175 — Discovery Pack image-led hero */
.tss-discovery__hero{
  max-width:1180px;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  align-items:center;
  gap:clamp(28px,4vw,58px);
  margin:0 auto 48px;
  text-align:left;
}
.tss-discovery__hero-copy{min-width:0}
.tss-discovery__hero .tss-discovery__intro{max-width:620px;margin:18px 0 0}
.tss-discovery__hero .tss-discovery__included{justify-content:flex-start}
.tss-discovery__hero-art{margin:0;overflow:hidden;border:1px solid rgba(203,164,77,.42);border-radius:22px;background:#07383e;box-shadow:0 18px 48px rgba(3,47,55,.14)}
.tss-discovery__hero-art img{display:block;width:100%;height:auto;aspect-ratio:1.237/1;object-fit:cover}
@media(max-width:900px){
  .tss-discovery__hero{grid-template-columns:1fr;gap:24px;text-align:center}
  .tss-discovery__hero .tss-discovery__intro{margin-left:auto;margin-right:auto}
  .tss-discovery__hero .tss-discovery__included{justify-content:center}
  .tss-discovery__hero-art{max-width:720px;margin:0 auto}
}


/* v3.176 — Discovery Pack checkout reliability + illustration caption */
.tss-discovery__hero-art figcaption {
  margin-top: 9px;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  line-height: 1.45;
  letter-spacing: .025em;
  color: rgba(7,55,55,.58);
}
.tss-discovery__add-form { margin: 0; }


/* v3.177 — Discovery Pack single-pack safeguard and caption polish. */
.tss-discovery__hero-art figcaption{
  display:block;
  margin:0;
  padding:8px 12px;
  background:#f6efe3;
  color:rgba(3,47,55,.72)!important;
  font-size:.58rem;
  line-height:1.35;
  text-align:center;
}
.tss-cart-drawer__qty--fixed{
  display:inline-flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  width:auto!important;
  min-width:0!important;
  padding:6px 10px!important;
  border:1px solid rgba(3,47,55,.16)!important;
  border-radius:999px!important;
  background:rgba(3,47,55,.04)!important;
  color:var(--ss-teal-deep)!important;
  font-size:.62rem!important;
  font-weight:750!important;
  letter-spacing:.02em;
}
.tss-discovery-fixed-quantity{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 10px;
  border:1px solid rgba(3,47,55,.16);
  border-radius:999px;
  color:var(--ss-teal-deep);
  font-size:.7rem;
  font-weight:750;
}

/* v3.181 — Discovery Pack email claim and anti-abuse controls. */
.tss-discovery__email{display:block;margin-top:14px;padding:14px 16px;border:1px solid rgba(3,47,55,.14);border-radius:14px;background:rgba(255,255,255,.65)}
.tss-discovery__email>span{display:block;margin-bottom:7px;color:var(--ss-teal-deep);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.tss-discovery__email input{width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(3,47,55,.2);border-radius:10px;background:#fff;color:var(--ss-charcoal);outline:none}
.tss-discovery__email input:focus{border-color:var(--ss-gold);box-shadow:0 0 0 3px rgba(202,163,74,.14)}
.tss-discovery__email small{display:block;margin-top:7px;color:rgba(30,38,41,.62);font-size:.62rem;line-height:1.45}
.tss-discovery__error{margin-top:14px;padding:11px 14px;border:1px solid rgba(153,50,50,.24);border-radius:12px;background:rgba(153,50,50,.07);color:#7b2525;font-size:.72rem;font-weight:650}

/* v3.181 Discovery repeat-sample guard */
.tss-discovery-card{position:relative}
.tss-discovery-card.is-already-sampled{opacity:.42;cursor:not-allowed;filter:saturate(.55)}
.tss-discovery-card.is-already-sampled:hover{transform:none;box-shadow:none}
.tss-discovery-card__sampled{position:absolute;right:10px;bottom:7px;color:var(--ss-gold);font-size:.52rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}


/* v3.182 — Discovery Pack account gate / optional marketing */
.tss-discovery__account-gate{
  max-width:760px;
  margin:34px auto 50px;
  padding:34px;
  border:1px solid rgba(198,164,91,.34);
  border-radius:18px;
  background:#fffaf0;
  text-align:center;
}
.tss-discovery__account-gate h2{margin:.25rem 0 .7rem;color:#123f3c}
.tss-discovery__account-gate p{color:#49605d}
.tss-discovery__account-actions{margin:24px 0 14px}
.tss-discovery__account-actions .tss-discovery__cta{
  display:inline-flex;
  width:auto;
  min-width:230px;
  justify-content:center;
  text-decoration:none;
}
.tss-discovery__account-note{font-size:.88rem;opacity:.82}
.tss-marketing-optin small{display:block;margin-top:5px;color:#66706e}


/* v3.183 — polished Sign in / Create account page */
body.woocommerce-account:not(.logged-in) .woocommerce{
  max-width:1120px;
  margin:0 auto;
  padding:72px 24px 92px;
}
body.woocommerce-account:not(.logged-in) .woocommerce > h2{
  display:none;
}
body.woocommerce-account:not(.logged-in) .u-columns.col2-set{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px;
  align-items:start;
}
body.woocommerce-account:not(.logged-in) .u-column1,
body.woocommerce-account:not(.logged-in) .u-column2{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
}
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-register{
  margin:0 !important;
  padding:34px !important;
  border:1px solid rgba(199,164,83,.32) !important;
  border-radius:20px !important;
  background:#fffdf8 !important;
  box-shadow:0 18px 46px rgba(8,57,58,.08);
}
body.woocommerce-account:not(.logged-in) .tss-account-card-intro{
  margin:0 0 26px;
}
body.woocommerce-account:not(.logged-in) .tss-account-card-intro span{
  display:block;
  margin-bottom:8px;
  color:#c7a453;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body.woocommerce-account:not(.logged-in) .tss-account-card-intro h2{
  margin:0 0 8px;
  color:#08393a;
  font-family:var(--font-heading, Georgia, serif);
  font-size:clamp(2rem,3vw,2.7rem);
  font-weight:400;
}
body.woocommerce-account:not(.logged-in) .tss-account-card-intro p{
  margin:0;
  color:#60706d;
  line-height:1.65;
}
body.woocommerce-account:not(.logged-in) .woocommerce-form-row label{
  color:#08393a;
  font-weight:600;
}
body.woocommerce-account:not(.logged-in) .woocommerce-Input,
body.woocommerce-account:not(.logged-in) input[type="text"],
body.woocommerce-account:not(.logged-in) input[type="email"],
body.woocommerce-account:not(.logged-in) input[type="password"]{
  width:100%;
  min-height:50px;
  padding:11px 14px;
  border:1px solid #b9c6c2;
  border-radius:10px;
  background:#fff;
}
body.woocommerce-account:not(.logged-in) .woocommerce-button{
  min-height:48px;
  padding:12px 24px !important;
  border-radius:999px !important;
  background:#d2aa45 !important;
  color:#07393b !important;
  font-weight:800 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.woocommerce-account:not(.logged-in) .woocommerce-button:hover{
  transform:translateY(-1px);
}
body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword{
  margin-top:18px;
}
body.woocommerce-account:not(.logged-in) .tss-marketing-optin{
  margin:22px 0 18px;
  padding:16px 18px;
  border:1px solid rgba(199,164,83,.28);
  border-radius:12px;
  background:#fbf7ed;
}
body.woocommerce-account:not(.logged-in) .tss-marketing-optin .checkbox{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:#08393a;
  font-weight:600;
}
body.woocommerce-account:not(.logged-in) .tss-marketing-optin input{
  margin-top:3px;
}
body.woocommerce-account:not(.logged-in) .tss-marketing-optin small{
  display:block;
  margin:7px 0 0 27px;
  color:#6c7775;
  line-height:1.5;
}
@media (max-width:760px){
  body.woocommerce-account:not(.logged-in) .woocommerce{
    padding:42px 16px 64px;
  }
  body.woocommerce-account:not(.logged-in) .u-columns.col2-set{
    grid-template-columns:1fr;
    gap:22px;
  }
  body.woocommerce-account:not(.logged-in) form.woocommerce-form-login,
  body.woocommerce-account:not(.logged-in) form.woocommerce-form-register{
    padding:24px !important;
  }
}


/* v3.184 — compact account page + password visibility fix */
body.woocommerce-account:not(.logged-in) .woocommerce{
  max-width:980px;
  padding:42px 22px 70px;
}
body.woocommerce-account:not(.logged-in) .u-columns.col2-set{
  gap:24px;
}
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-register{
  padding:26px !important;
  border-radius:16px !important;
}
body.woocommerce-account:not(.logged-in) .tss-account-card-intro{
  margin-bottom:18px;
}
body.woocommerce-account:not(.logged-in) .tss-account-card-intro h2{
  font-size:clamp(1.8rem,2.5vw,2.35rem);
}
body.woocommerce-account:not(.logged-in) .tss-account-card-intro p{
  font-size:.97rem;
}
body.woocommerce-account:not(.logged-in) .show-password-input{
  position:absolute !important;
  right:12px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:24px !important;
  height:24px !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.woocommerce-account:not(.logged-in) .password-input{
  position:relative;
  display:block;
}
body.woocommerce-account:not(.logged-in) .password-input input{
  padding-right:42px !important;
}
.tss-discovery__account-actions .tss-discovery__cta{
  text-decoration:none !important;
  line-height:1.2;
  font-size:.86rem;
}
.tss-discovery__account-actions .tss-discovery__cta:hover,
.tss-discovery__account-actions .tss-discovery__cta:focus{
  text-decoration:none !important;
}
body.woocommerce-account:not(.logged-in) .tss-marketing-optin{
  margin:16px 0 14px;
  padding:13px 14px;
}
@media (max-width:760px){
  body.woocommerce-account:not(.logged-in) .woocommerce{
    padding:32px 14px 54px;
  }
}


/* v3.185 — refined logged-out account experience */
body.woocommerce-account:not(.logged-in) .ss-page-hero{display:none!important}
body.woocommerce-account:not(.logged-in) .tss-account-compact-head{
  padding:18px 0 0;
  background:var(--ss-cream,#f7f2e8);
}
body.woocommerce-account:not(.logged-in) .tss-account-compact-head .tss-back-nav{
  margin:0;
  padding:0;
}
body.woocommerce-account:not(.logged-in) .tss-account-login-content{
  max-width:1040px;
  padding-top:18px;
  padding-bottom:72px;
}
body.woocommerce-account:not(.logged-in) .tss-account-login-content > .woocommerce{
  max-width:940px;
  margin:0 auto;
  padding:0;
  display:block;
}
body.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-notices-wrapper{
  max-width:940px;
  margin:0 auto 18px;
}
body.woocommerce-account:not(.logged-in) .u-columns.col2-set{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:26px!important;
  align-items:start!important;
  margin:0!important;
}
body.woocommerce-account:not(.logged-in) .u-column1,
body.woocommerce-account:not(.logged-in) .u-column2{
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-account:not(.logged-in) .u-column1 > h2,
body.woocommerce-account:not(.logged-in) .u-column2 > h2{
  display:none!important;
}
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-register{
  margin:0!important;
  padding:28px 30px!important;
  border:1px solid rgba(199,164,83,.28)!important;
  border-radius:18px!important;
  background:#fffdf8!important;
  box-shadow:0 16px 42px rgba(8,57,58,.07)!important;
}
body.woocommerce-account:not(.logged-in) .tss-account-card-intro{
  margin:0 0 22px!important;
}
body.woocommerce-account:not(.logged-in) .tss-account-card-intro span{
  margin-bottom:7px!important;
  font-size:.72rem!important;
}
body.woocommerce-account:not(.logged-in) .tss-account-card-intro h2{
  margin:0 0 7px!important;
  font-size:clamp(1.9rem,2.7vw,2.5rem)!important;
  line-height:1.04!important;
}
body.woocommerce-account:not(.logged-in) .tss-account-card-intro p{
  max-width:33rem;
  font-size:.95rem!important;
  line-height:1.55!important;
}
body.woocommerce-account:not(.logged-in) .woocommerce-form-row{
  margin:0 0 15px!important;
}
body.woocommerce-account:not(.logged-in) .woocommerce-form-row label{
  display:block;
  margin-bottom:6px;
  font-size:.88rem;
}
body.woocommerce-account:not(.logged-in) .woocommerce-Input,
body.woocommerce-account:not(.logged-in) input[type="text"],
body.woocommerce-account:not(.logged-in) input[type="email"],
body.woocommerce-account:not(.logged-in) input[type="password"]{
  min-height:46px!important;
  padding:10px 13px!important;
  border-radius:9px!important;
}
body.woocommerce-account:not(.logged-in) .form-row:last-of-type{
  margin-bottom:0!important;
}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register__submit{
  min-width:132px;
  justify-content:center;
}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme{
  margin-right:12px;
}
body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword{
  margin:14px 0 0!important;
}
body.woocommerce-account:not(.logged-in) .woocommerce-privacy-policy-text{
  margin:8px 0 14px;
  font-size:.88rem;
  line-height:1.55;
  color:#5e6f6b;
}
body.woocommerce-account:not(.logged-in) .tss-marketing-optin{
  margin:12px 0 16px!important;
  padding:12px 13px!important;
  border-radius:10px!important;
}
body.woocommerce-account:not(.logged-in) .tss-marketing-optin .checkbox{
  font-size:.88rem;
  line-height:1.45;
}
body.woocommerce-account:not(.logged-in) .tss-marketing-optin small{
  margin:5px 0 0 25px!important;
  font-size:.78rem;
}
/* Never let WooCommerce's password eye inherit the gold button treatment. */
body.woocommerce-account:not(.logged-in) span.password-input{position:relative!important;display:block!important}
body.woocommerce-account:not(.logged-in) span.show-password-input{
  position:absolute!important;
  top:50%!important;
  right:12px!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  margin:0!important;
  padding:0!important;
  transform:translateY(-50%)!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#506562!important;
}
.tss-discovery__account-actions .tss-discovery__cta,
.tss-discovery__account-actions .tss-discovery__cta:visited{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:240px!important;
  min-height:46px!important;
  padding:12px 24px!important;
  border:0!important;
  border-radius:999px!important;
  background:#d2aa45!important;
  color:#07393b!important;
  text-decoration:none!important;
  font-size:.82rem!important;
  font-weight:800!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
.tss-discovery__account-actions .tss-discovery__cta:hover,
.tss-discovery__account-actions .tss-discovery__cta:focus{
  color:#07393b!important;
  text-decoration:none!important;
  filter:brightness(.98);
}
@media(max-width:760px){
  body.woocommerce-account:not(.logged-in) .tss-account-login-content{padding:14px 14px 54px}
  body.woocommerce-account:not(.logged-in) .u-columns.col2-set{grid-template-columns:1fr!important;gap:18px!important}
  body.woocommerce-account:not(.logged-in) form.woocommerce-form-login,
  body.woocommerce-account:not(.logged-in) form.woocommerce-form-register{padding:22px!important}
}


/* v3.188 — username availability */
.tss-username-status{
  margin:-8px 0 15px;
  min-height:1.35em;
  font-size:.82rem;
  line-height:1.4;
  color:#6c7775;
}
.tss-username-status[data-state="checking"]{opacity:.8}
.tss-username-status[data-state="available"]{color:#2f6a4f;font-weight:700}
.tss-username-status[data-state="taken"],
.tss-username-status[data-state="invalid"],
.tss-username-status[data-state="error"]{color:#9a3d34;font-weight:700}


/* v3.189 — header account access */
.site-actions{display:flex;align-items:center;gap:13px}
.tss-header-account{position:relative}
.tss-header-account__signin,
.tss-header-account__trigger{
  color:#d5b55d;
  text-decoration:none;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.tss-header-account__signin:hover,
.tss-header-account__trigger:hover{color:#f0d98d}
.tss-header-account__menu{
  position:absolute;
  z-index:130;
  top:calc(100% + 10px);
  right:0;
  min-width:190px;
  padding:10px;
  border:1px solid rgba(211,178,85,.35);
  border-radius:12px;
  background:#08393a;
  box-shadow:0 16px 40px rgba(0,0,0,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(-5px);
  transition:.16s ease;
}
.tss-header-account:hover .tss-header-account__menu,
.tss-header-account:focus-within .tss-header-account__menu{
  opacity:1;
  visibility:visible;
  transform:none;
}
.tss-header-account__menu a{
  display:block;
  padding:9px 10px;
  border-radius:8px;
  color:#f6f0e2;
  text-decoration:none;
  font-size:.84rem;
}
.tss-header-account__menu a:hover{background:rgba(255,255,255,.07);color:#d5b55d}

/* v3.189 — checkout guest/member choice */
.tss-checkout-membership{
  max-width:1180px;
  margin:0 auto 28px;
  padding:24px 26px;
  border:1px solid rgba(199,164,83,.34);
  border-radius:18px;
  background:#fffdf8;
  box-shadow:0 12px 34px rgba(8,57,58,.06);
}
.tss-checkout-membership__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.tss-checkout-membership__eyebrow{
  display:block;
  margin-bottom:5px;
  color:#c7a453;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.tss-checkout-membership h2{
  margin:0 0 5px;
  color:#08393a;
  font-family:var(--font-heading, Georgia, serif);
  font-size:1.55rem;
  font-weight:500;
}
.tss-checkout-membership p{margin:0;color:#657370;line-height:1.55}
.tss-checkout-membership__toggle{
  display:flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
  padding:11px 15px;
  border:1px solid rgba(199,164,83,.45);
  border-radius:999px;
  color:#08393a;
  font-weight:700;
  cursor:pointer;
}
.tss-checkout-membership__fields{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid rgba(8,57,58,.10);
}
.tss-checkout-membership__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 18px;
}
.tss-checkout-membership__grid label>span:first-child{
  display:block;
  margin-bottom:6px;
  color:#08393a;
  font-weight:700;
  font-size:.86rem;
}
.tss-checkout-membership__grid input{
  width:100%;
  min-height:46px;
  box-sizing:border-box;
  padding:10px 12px;
  border:1px solid #bdc9c5;
  border-radius:9px;
  background:#fff;
}
.tss-checkout-membership__grid small{
  display:block;
  margin-top:5px;
  color:#6f7b78;
  font-size:.76rem;
}
.tss-checkout-password{position:relative;display:block}
.tss-checkout-password input{padding-right:42px}
.tss-checkout-password button{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:30px;
  height:30px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  opacity:.65;
}
.tss-checkout-membership__marketing{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:18px 0 0;
  padding:13px 14px;
  border-radius:10px;
  background:#faf5e9;
  color:#08393a;
  font-size:.84rem;
}
.tss-checkout-membership__actions{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:17px;
}
.tss-checkout-membership__create{
  min-height:44px;
  padding:11px 18px;
  border:0;
  border-radius:999px;
  background:#d2aa45;
  color:#07393b;
  font-weight:800;
  cursor:pointer;
}
.tss-checkout-membership__create:disabled{opacity:.68;cursor:default}
.tss-checkout-membership__status{font-size:.82rem;color:#657370}
.tss-checkout-membership__status[data-state="success"]{color:#2f6a4f;font-weight:700}
.tss-checkout-membership__status[data-state="error"]{color:#9a3d34;font-weight:700}
.tss-checkout-membership__note{margin-top:12px!important;font-size:.78rem}
.tss-checkout-membership.is-created{border-color:rgba(47,106,79,.45)}

@media (max-width:900px){
  .tss-header-account__signin,.tss-header-account__trigger{font-size:.72rem}
}
@media (max-width:760px){
  .tss-checkout-membership{margin:0 14px 22px;padding:19px}
  .tss-checkout-membership__head{align-items:flex-start;flex-direction:column}
  .tss-checkout-membership__grid{grid-template-columns:1fr}
  .tss-checkout-membership__actions{align-items:flex-start;flex-direction:column}
  .tss-header-account__menu{right:auto;left:0}
}
@media (max-width:560px){
  .tss-header-account__signin,
  .tss-header-account__trigger{display:none}
}

/* v3.190 — Cloudflare Turnstile */
.tss-turnstile-wrap{margin:16px 0;min-height:65px}
.tss-turnstile-wrap .cf-turnstile{max-width:100%}
body.woocommerce-account:not(.logged-in) .tss-turnstile-wrap{margin:16px 0 18px}
.tss-checkout-membership .tss-turnstile-wrap{margin:18px 0 4px}


/* v3.192 — targeted desktop header accommodation for account controls.
   Keep the theme's original responsive system; only give the right-hand
   account/social/basket area enough room to exist without widening the page. */
@media (min-width: 1021px) {
  .site-header__inner {
    grid-template-columns: 190px minmax(0, 1fr) minmax(225px, 250px);
    column-gap: 18px;
  }

  .site-nav ul,
  .site-nav__list {
    gap: 23px;
  }

  .site-nav a {
    letter-spacing: .12em;
  }

  .site-actions {
    min-width: 0;
    justify-content: flex-end;
    gap: 11px;
  }

  .tss-header-account {
    min-width: 0;
  }

  .tss-header-account__trigger,
  .tss-header-account__signin {
    font-size: .72rem;
    letter-spacing: .06em;
  }

  .tss-header-socials {
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
  }

  .ss-basket {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

/* On narrower laptops, collapse using the theme's existing menu behaviour
   before the account actions can ever collide with the navigation. */
@media (min-width: 783px) and (max-width: 1180px) {
  .site-header__inner {
    grid-template-columns: 165px minmax(0,1fr) minmax(205px,225px);
    gap: 14px;
  }

  .site-branding img,
  .custom-logo {
    max-width: 155px !important;
  }

  .site-nav ul,
  .site-nav__list {
    gap: 16px;
  }

  .site-nav a {
    font-size: .70rem;
    letter-spacing: .08em;
  }

  .tss-header-account__trigger,
  .tss-header-account__signin {
    font-size: .66rem;
  }

  .site-actions {
    gap: 8px;
  }
}


/* v3.193 — logged-in My Account polish */
body.woocommerce-account.logged-in .woocommerce{
  max-width:1120px;
  margin:0 auto;
  padding:54px 24px 76px;
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:32px;
  align-items:start;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
  width:auto !important;
  float:none !important;
  margin:0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{
  margin:0;
  padding:8px;
  list-style:none;
  border:1px solid rgba(8,57,58,.10);
  border-radius:16px;
  background:#fffdf8;
  box-shadow:0 14px 34px rgba(8,57,58,.06);
  overflow:hidden;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li{
  margin:0 !important;
  border:0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li + li{
  border-top:1px solid rgba(8,57,58,.08) !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a{
  display:block;
  padding:13px 14px;
  border-radius:10px;
  color:#0a4a4c;
  text-decoration:none;
  font-size:.95rem;
  line-height:1.2;
  transition:.15s ease;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active > a,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover{
  background:#f3ead5;
  color:#08393a;
  font-weight:700;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  min-width:0;
  padding:28px 30px;
  border:1px solid rgba(8,57,58,.10);
  border-radius:18px;
  background:#fffdf8;
  box-shadow:0 14px 34px rgba(8,57,58,.06);
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content > :first-child{
  margin-top:0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content p{
  color:#364a49;
  line-height:1.7;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content a{
  color:#0a5a5d;
}

/* Orders / Downloads empty states */
body.woocommerce-account.logged-in .woocommerce-info{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 !important;
  padding:18px 20px !important;
  border:1px solid rgba(8,57,58,.10) !important;
  border-left:3px solid #d2aa45 !important;
  border-radius:12px;
  background:#fff !important;
  color:#253b3a;
  box-shadow:none !important;
}

body.woocommerce-account.logged-in .woocommerce-info::before{
  display:none !important;
}

body.woocommerce-account.logged-in .woocommerce-info .button,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .button{
  float:none !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto !important;
  min-width:0 !important;
  min-height:40px;
  padding:10px 18px !important;
  margin:0 !important;
  border-radius:999px !important;
  background:#d2aa45 !important;
  color:#08393a !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  line-height:1.15 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none !important;
  white-space:nowrap;
}

body.woocommerce-account.logged-in .woocommerce-info .button:hover,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .button:hover{
  transform:translateY(-1px);
}

/* Account details form */
body.woocommerce-account.logged-in .woocommerce-EditAccountForm{
  max-width:760px;
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm .form-row{
  margin:0 0 18px;
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm label{
  display:block;
  margin-bottom:7px;
  color:#08393a;
  font-weight:700;
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm input[type="text"],
body.woocommerce-account.logged-in .woocommerce-EditAccountForm input[type="email"],
body.woocommerce-account.logged-in .woocommerce-EditAccountForm input[type="password"]{
  width:100%;
  min-height:48px;
  padding:11px 14px;
  border:1px solid #b9c6c2;
  border-radius:10px;
  background:#fff;
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm fieldset{
  margin:28px 0 22px;
  padding:20px;
  border:1px solid rgba(8,57,58,.12);
  border-radius:14px;
  background:#fbf7ed;
}

body.woocommerce-account.logged-in .woocommerce-EditAccountForm legend{
  padding:0 8px;
  color:#08393a;
  font-family:var(--font-heading, Georgia, serif);
  font-size:1.15rem;
}

/* Fix WooCommerce password reveal controls turning into gold pills */
body.woocommerce-account.logged-in .password-input{
  position:relative;
  display:block;
}

body.woocommerce-account.logged-in .password-input input{
  padding-right:44px !important;
}

body.woocommerce-account.logged-in .show-password-input{
  position:absolute !important;
  top:50% !important;
  right:12px !important;
  transform:translateY(-50%) !important;
  width:24px !important;
  height:24px !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#55706d !important;
}

/* Tighter endpoint pages so they do not feel empty */
body.woocommerce-account.logged-in.woocommerce-orders .woocommerce,
body.woocommerce-account.logged-in.woocommerce-downloads .woocommerce,
body.woocommerce-account.logged-in.woocommerce-edit-account .woocommerce{
  padding-top:46px;
  padding-bottom:62px;
}

@media (max-width:820px){
  body.woocommerce-account.logged-in .woocommerce{
    grid-template-columns:1fr;
    gap:20px;
    padding:34px 16px 54px;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li + li{
    border-top:0 !important;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-content{
    padding:22px 20px;
  }

  body.woocommerce-account.logged-in .woocommerce-info{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media (max-width:520px){
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{
    grid-template-columns:1fr;
  }
}


/* v3.194 — Specials side drawer */
.tss-specials{
  position:fixed;
  z-index:115;
  top:50%;
  right:0;
  transform:translateY(-50%);
  pointer-events:none;
}
.tss-specials__tab{
  pointer-events:auto;
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  min-height:118px;
  padding:12px 8px;
  border:1px solid rgba(210,170,69,.65);
  border-right:0;
  border-radius:12px 0 0 12px;
  background:#08393a;
  color:#d7b75e;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:-7px 9px 24px rgba(0,0,0,.13);
}
.tss-specials__tab span{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}
.tss-specials__panel{
  pointer-events:auto;
  width:min(390px,88vw);
  max-height:76vh;
  overflow:auto;
  padding:24px;
  border:1px solid rgba(210,170,69,.45);
  border-right:0;
  border-radius:18px 0 0 18px;
  background:#fffaf0;
  box-shadow:-18px 18px 48px rgba(0,0,0,.18);
  transform:translateX(calc(100% + 45px));
  transition:transform .22s ease;
}
.tss-specials.is-open .tss-specials__panel{transform:translateX(0)}
.tss-specials.is-open .tss-specials__tab{right:100%;margin-right:390px;opacity:0;pointer-events:none}
.tss-specials__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.tss-specials__head span{display:block;color:#b58c31;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tss-specials__head h2{margin:2px 0 0;color:#08393a;font-size:2rem}
.tss-specials__close{border:0;background:transparent;color:#08393a;font-size:1.8rem;cursor:pointer}
.tss-specials__intro{margin:12px 0 20px;color:#596966;line-height:1.6}
.tss-specials__list{display:grid;gap:14px}
.tss-specials__item{display:grid;grid-template-columns:78px 1fr;gap:14px;align-items:center;padding:11px;border:1px solid rgba(8,57,58,.09);border-radius:12px;background:#fff}
.tss-specials__image img{display:block;width:78px;height:78px;object-fit:cover;border-radius:9px}
.tss-specials__badge{color:#b58c31;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.tss-specials__item h3{margin:3px 0 4px;font-size:1.05rem}
.tss-specials__item h3 a{color:#08393a;text-decoration:none}
.tss-specials__price{font-weight:800;color:#0a4a4c}
.tss-specials__all{display:inline-flex;margin-top:18px;color:#0a4a4c;font-weight:800;text-decoration:none}
.tss-specials__terms{margin-top:12px!important;font-size:.74rem;color:#7b817d}

/* v3.194 — customer account credit */
.tss-account-credit{
  display:grid;
  grid-template-columns:1fr auto;
  gap:3px 16px;
  align-items:center;
  margin:0 0 24px;
  padding:16px 18px;
  border:1px solid rgba(210,170,69,.38);
  border-radius:12px;
  background:#fbf5e7;
}
.tss-account-credit span{color:#08393a;font-weight:700}
.tss-account-credit strong{color:#0a5a5d;font-size:1.25rem}
.tss-account-credit small{grid-column:1/-1;color:#697572}

.tss-credit-checkout{
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid rgba(210,170,69,.35);
  border-radius:10px;
  background:#fffaf0;
}
.tss-credit-checkout label{display:flex;gap:10px;align-items:center;color:#08393a;font-weight:700}

@media(max-width:600px){
  .tss-specials{top:auto;bottom:90px;transform:none}
  .tss-specials__tab{top:auto;bottom:0;transform:none;min-height:96px}
  .tss-specials__panel{max-height:65vh}
  .tss-account-credit{grid-template-columns:1fr}
}


/* v3.195 — header spacing and Specials visibility */
.site-actions{
  gap:10px;
}

.tss-header-account{
  margin-right:4px;
}

.tss-header-socials{
  display:flex;
  align-items:center;
  gap:6px !important;
}

.tss-header-socials a{
  margin:0 !important;
}

.tss-header-account__trigger,
.tss-header-account__signin{
  padding-right:2px;
}

.tss-nav-dropdown__trigger,
.tss-header-account__trigger{
  gap:0 !important;
}

.tss-specials__empty{
  padding:18px;
  border:1px dashed rgba(8,57,58,.16);
  border-radius:12px;
  background:#fff;
}

.tss-specials__empty h3{
  margin:5px 0 7px;
  color:#08393a;
  font-size:1.08rem;
}

.tss-specials__empty p{
  margin:0;
  color:#66726f;
  line-height:1.55;
}


/* v3.197 — corrected desktop account/social spacing */
@media (min-width: 783px) {
  .site-actions {
    gap: 9px !important;
  }

  /* Deliberate breathing room between My Account and the social pair. */
  .tss-header-account {
    margin-right: 12px !important;
  }

  /* Treat Facebook + Instagram as one compact pair. */
  .tss-header-socials {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .tss-header-socials a {
    display: inline-grid !important;
    place-items: center !important;
    width: 22px !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .tss-header-socials svg {
    width: 16px !important;
    height: 16px !important;
  }
}


/* v3.198 — multibuy offer messaging */
.tss-collection-offer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 26px;
  padding:14px 18px;
  border:1px solid rgba(210,170,69,.40);
  border-radius:12px;
  background:#fbf5e7;
  color:#08393a;
}

.tss-collection-offer strong{
  flex:0 0 auto;
  font-size:.9rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.tss-collection-offer span{
  color:#5f6d69;
  font-size:.86rem;
  line-height:1.45;
  text-align:right;
}

.tss-product-offer{
  margin:18px 0 20px;
  padding:14px 16px;
  border:1px solid rgba(210,170,69,.42);
  border-left:4px solid #d2aa45;
  border-radius:10px;
  background:#fffaf0;
}

.tss-product-offer strong{
  display:block;
  margin-bottom:4px;
  color:#08393a;
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.tss-product-offer span{
  display:block;
  color:#66726f;
  font-size:.82rem;
  line-height:1.5;
}

@media (max-width:720px){
  .tss-collection-offer{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }

  .tss-collection-offer span{
    text-align:left;
  }
}


/* v3.199 — premium stacked collection offer blocks */
.tss-collection-offer{
  display:block !important;
  max-width:620px;
  margin:0 0 30px !important;
  padding:20px 22px !important;
  border:1px solid rgba(210,170,69,.38) !important;
  border-left:3px solid #d2aa45 !important;
  border-radius:14px !important;
  background:#fffaf0 !important;
  text-align:left !important;
}

.tss-collection-offer__eyebrow,
.tss-product-offer__eyebrow{
  display:block;
  margin-bottom:5px;
  color:#b58c31 !important;
  font-size:.68rem !important;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.tss-collection-offer strong{
  display:block;
  margin:0 0 6px;
  color:#08393a;
  font-family:var(--font-heading, Georgia, serif);
  font-size:1.45rem !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

.tss-collection-offer__note{
  display:block;
  color:#526461 !important;
  font-size:.88rem !important;
  line-height:1.5;
  text-align:left !important;
}

.tss-collection-offer small,
.tss-product-offer small{
  display:block;
  margin-top:7px;
  color:#7a817e;
  font-size:.74rem;
  font-style:italic;
}

.tss-product-offer{
  text-align:left;
}

.tss-product-offer strong{
  margin-bottom:5px;
}


/* v3.203 — cinematic collection campaign pages */
.tss-campaign-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);
  min-height:440px;
  margin:0 0 42px;
  overflow:hidden;
  background:#f7f0e3;
  isolation:isolate;
}
.tss-campaign-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 74% 44%, rgba(255,255,255,.72), transparent 31%),
    linear-gradient(120deg, rgba(255,255,255,.96) 0 52%, rgba(242,229,203,.84) 72%, rgba(223,195,136,.55) 100%);
}
.tss-campaign-hero__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:54px clamp(32px,5vw,76px);
}
.tss-campaign-hero__copy > span{
  color:#b58c31;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.tss-campaign-hero h1{
  max-width:680px;
  margin:10px 0 16px;
  color:#08393a;
  font-size:clamp(3rem,5vw,5.5rem);
  line-height:.95;
}
.tss-campaign-hero__copy > p{
  max-width:620px;
  margin:0;
  color:#51625f;
  font-size:1.02rem;
  line-height:1.7;
}
.tss-campaign-hero__offer{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 16px;
  align-items:center;
  width:fit-content;
  margin-top:30px;
  padding:14px 0 0 22px;
  border-left:2px solid #d2aa45;
}
.tss-campaign-hero__offer small{
  grid-column:1/-1;
  color:#b58c31;
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.tss-campaign-hero__offer strong{
  color:#08393a;
  font-family:var(--font-heading,Georgia,serif);
  font-size:1.55rem;
  font-weight:500;
}
.tss-campaign-hero__offer em{
  color:#6a7774;
  font-size:.72rem;
}
.tss-campaign-hero__visual{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-height:440px;
  overflow:hidden;
}
.tss-campaign-hero__visual img{
  position:relative;
  z-index:2;
  width:min(420px,80%);
  max-height:430px;
  object-fit:contain;
  filter:drop-shadow(0 28px 28px rgba(18,33,32,.23));
  transform:translateY(10%);
}
.tss-campaign-hero__glow{
  position:absolute;
  width:340px;
  height:340px;
  border-radius:50%;
  background:rgba(210,170,69,.17);
  filter:blur(10px);
}

/* Collection identities */
.tss-campaign-hero--designer::before{
  background:
    linear-gradient(100deg, rgba(247,241,231,.98) 0 48%, rgba(20,43,43,.12) 68%, rgba(8,39,40,.68) 100%),
    radial-gradient(circle at 80% 35%, rgba(143,184,184,.35), transparent 35%);
}
.tss-campaign-hero--autumn{
  color:#fff;
}
.tss-campaign-hero--autumn::before{
  background:
    radial-gradient(circle at 77% 37%, rgba(239,130,45,.30), transparent 23%),
    linear-gradient(105deg, #17100d 0 50%, #4d1e10 72%, #130d0b 100%);
}
.tss-campaign-hero--autumn h1,
.tss-campaign-hero--autumn .tss-campaign-hero__offer strong{color:#fff8eb}
.tss-campaign-hero--autumn .tss-campaign-hero__copy > p,
.tss-campaign-hero--autumn .tss-campaign-hero__offer em{color:#dbcbbb}
.tss-campaign-hero--winter::before{
  background:
    radial-gradient(circle at 78% 32%, rgba(213,241,247,.72), transparent 27%),
    linear-gradient(110deg, #f9fbfa 0 52%, #cfe1e4 74%, #718e96 100%);
}
.tss-campaign-hero--spring::before{
  background:
    radial-gradient(circle at 78% 32%, rgba(255,245,177,.65), transparent 30%),
    linear-gradient(110deg, #fffaf0 0 50%, #e7ead0 72%, #b9cc9a 100%);
}

/* Permanent seasonal campaign navigation */
.tss-season-switcher{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin:0 0 34px;
  border-top:1px solid rgba(8,57,58,.12);
  border-bottom:1px solid rgba(8,57,58,.12);
}
.tss-season-switcher a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:58px;
  padding:12px 18px;
  border-right:1px solid rgba(8,57,58,.12);
  color:#315150;
  text-decoration:none;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tss-season-switcher a:last-child{border-right:0}
.tss-season-switcher a:hover,
.tss-season-switcher a.is-active{
  background:#08393a;
  color:#d7b75e;
}
.tss-season-switcher small{
  font-size:.58rem;
  letter-spacing:.04em;
  opacity:.8;
}

/* Hide the temporary standalone offer card on pages with a cinematic hero. */
body.tax-product_cat:has(.tss-campaign-hero) .tss-collection-offer{
  display:none !important;
}

/* Admin seasonal manager */
.tss-season-admin{max-width:1050px}
.tss-season-admin__choices{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:28px 0;
}
.tss-season-admin__choice{
  position:relative;
  display:grid;
  gap:8px;
  padding:20px 20px 18px 48px;
  border:1px solid #c8d0cc;
  border-radius:10px;
  background:#fff;
}
.tss-season-admin__choice input{
  position:absolute;
  left:20px;
  top:22px;
}
.tss-season-admin__choice strong{font-size:1.05rem}
.tss-season-admin__choice span{color:#596562;line-height:1.5}
.tss-season-admin__choice small{color:#747d79}
.tss-season-admin__choice a{width:fit-content}

@media(max-width:860px){
  .tss-campaign-hero{
    grid-template-columns:1fr;
  }
  .tss-campaign-hero__copy{
    padding:44px 24px 18px;
  }
  .tss-campaign-hero__visual{
    min-height:330px;
  }
  .tss-campaign-hero__visual img{
    max-height:350px;
  }
}
@media(max-width:620px){
  .tss-season-switcher{grid-template-columns:1fr}
  .tss-season-switcher a{border-right:0;border-bottom:1px solid rgba(8,57,58,.12)}
  .tss-season-admin__choices{grid-template-columns:1fr}
}


/* v3.205 — approved Signature Scents master hero */
.tss-campaign-hero--signature-lifestyle{
  position:relative;
  display:block;
  min-height:520px;
  margin:0 0 34px;
  overflow:hidden;
  background:#efe3d1;
  isolation:isolate;
}

.tss-campaign-hero--signature-lifestyle::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg, rgba(248,241,231,.97) 0%, rgba(248,241,231,.88) 29%, rgba(248,241,231,.24) 52%, rgba(248,241,231,0) 72%),
    url("../collections/signature-hero-lifestyle.jpg") center center / cover no-repeat;
}

.tss-campaign-hero--signature-lifestyle .tss-campaign-hero__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:520px;
  max-width:690px;
  padding:58px clamp(34px,6vw,82px) 112px;
}

.tss-campaign-hero--signature-lifestyle .tss-campaign-hero__copy > span{
  color:#b58c31;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.tss-campaign-hero--signature-lifestyle h1{
  max-width:620px;
  margin:10px 0 18px;
  color:#08393a;
  font-size:clamp(3.6rem,5.3vw,6.2rem);
  line-height:.92;
}

.tss-campaign-hero--signature-lifestyle .tss-campaign-hero__copy > p{
  max-width:560px;
  margin:0;
  color:#52625f;
  font-size:1.02rem;
  line-height:1.7;
}

.tss-campaign-hero--signature-lifestyle .tss-campaign-hero__visual{
  display:none;
}

.tss-campaign-hero--signature-lifestyle .tss-campaign-hero__offer{
  position:absolute;
  left:clamp(34px,6vw,82px);
  right:clamp(34px,4vw,54px);
  bottom:0;
  display:grid;
  grid-template-columns:auto minmax(230px,1fr) 1px minmax(280px,1.1fr);
  gap:10px 26px;
  align-items:center;
  width:auto;
  min-height:92px;
  margin:0;
  padding:17px 26px;
  border:1px solid rgba(181,140,49,.44);
  border-bottom:0;
  border-radius:14px 14px 0 0;
  background:rgba(255,250,240,.94);
  backdrop-filter:blur(8px);
  box-shadow:0 -10px 28px rgba(40,42,37,.08);
}

.tss-campaign-hero--signature-lifestyle .tss-campaign-hero__offer::before{
  content:"◇";
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  grid-row:1 / span 2;
  border:1px solid rgba(181,140,49,.55);
  border-radius:50%;
  color:#b58c31;
  font-size:1.1rem;
}

.tss-campaign-hero--signature-lifestyle .tss-campaign-hero__offer::after{
  content:"";
  width:1px;
  height:46px;
  grid-column:3;
  grid-row:1 / span 2;
  background:rgba(181,140,49,.35);
}

.tss-campaign-hero--signature-lifestyle .tss-campaign-hero__offer small{
  grid-column:2;
  align-self:end;
  color:#b58c31;
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.tss-campaign-hero--signature-lifestyle .tss-campaign-hero__offer strong{
  grid-column:2;
  align-self:start;
  color:#08393a;
  font-family:var(--font-heading,Georgia,serif);
  font-size:1.55rem;
  font-weight:500;
}

.tss-campaign-hero--signature-lifestyle .tss-campaign-hero__offer em{
  grid-column:4;
  grid-row:1 / span 2;
  max-width:440px;
  color:#52625f;
  font-size:.82rem;
  line-height:1.55;
}

@media(max-width:900px){
  .tss-campaign-hero--signature-lifestyle{
    min-height:620px;
  }

  .tss-campaign-hero--signature-lifestyle::before{
    background:
      linear-gradient(180deg, rgba(248,241,231,.98) 0%, rgba(248,241,231,.90) 38%, rgba(248,241,231,.18) 66%, rgba(248,241,231,0) 100%),
      url("../collections/signature-hero-lifestyle.jpg") 68% center / cover no-repeat;
  }

  .tss-campaign-hero--signature-lifestyle .tss-campaign-hero__copy{
    min-height:620px;
    max-width:none;
    justify-content:flex-start;
    padding:44px 24px 170px;
  }

  .tss-campaign-hero--signature-lifestyle .tss-campaign-hero__offer{
    left:18px;
    right:18px;
    grid-template-columns:auto 1fr;
    min-height:132px;
    padding:16px 18px;
  }

  .tss-campaign-hero--signature-lifestyle .tss-campaign-hero__offer::after{
    display:none;
  }

  .tss-campaign-hero--signature-lifestyle .tss-campaign-hero__offer em{
    grid-column:2;
    grid-row:auto;
  }
}

@media(max-width:560px){
  .tss-campaign-hero--signature-lifestyle h1{
    font-size:3.15rem;
  }

  .tss-campaign-hero--signature-lifestyle .tss-campaign-hero__offer{
    grid-template-columns:1fr;
    padding:16px;
  }

  .tss-campaign-hero--signature-lifestyle .tss-campaign-hero__offer::before{
    display:none;
  }

  .tss-campaign-hero--signature-lifestyle .tss-campaign-hero__offer small,
  .tss-campaign-hero--signature-lifestyle .tss-campaign-hero__offer strong,
  .tss-campaign-hero--signature-lifestyle .tss-campaign-hero__offer em{
    grid-column:1;
  }
}


/* v3.206 — final approved collection artwork integration */
.tss-campaign-hero{
  display:block;
  min-height:0;
  margin:0 0 42px;
  overflow:visible;
  background:transparent;
  isolation:auto;
}
.tss-campaign-hero::before{display:none!important}
.tss-campaign-hero__stage{
  position:relative;
  min-height:500px;
  overflow:hidden;
  border-radius:2px;
  background-image:
    linear-gradient(90deg, rgba(245,240,230,.94) 0%, rgba(245,240,230,.72) 31%, rgba(245,240,230,.10) 55%, rgba(245,240,230,0) 72%),
    var(--tss-hero-image);
  background-size:cover;
  background-position:center center;
  box-shadow:0 22px 50px rgba(8,34,35,.12);
}
.tss-campaign-hero--light-text .tss-campaign-hero__stage{
  background-image:
    linear-gradient(90deg, rgba(5,14,16,.86) 0%, rgba(5,14,16,.62) 31%, rgba(5,14,16,.08) 58%, rgba(5,14,16,0) 74%),
    var(--tss-hero-image);
}
.tss-campaign-hero__copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:500px;
  width:min(51%,680px);
  padding:54px clamp(34px,5vw,74px);
}
.tss-campaign-hero__copy > span{
  color:#b58c31;
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.tss-campaign-hero h1{
  max-width:650px;
  margin:9px 0 17px;
  color:#08393a;
  font-size:clamp(3.35rem,5vw,5.7rem);
  line-height:.91;
  text-wrap:balance;
}
.tss-campaign-hero__copy > p{
  max-width:570px;
  margin:0;
  color:#415754;
  font-size:1rem;
  line-height:1.67;
}
.tss-campaign-hero--light-text h1{color:#fffaf0}
.tss-campaign-hero--light-text .tss-campaign-hero__copy > p{color:rgba(255,255,255,.84)}
.tss-campaign-hero--light-text .tss-campaign-hero__copy > span{color:#e1bd61}
.tss-campaign-hero__offer{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(220px,1fr) minmax(250px,.9fr);
  align-items:center;
  gap:5px 28px;
  width:calc(100% - 48px);
  margin:-24px auto 0;
  padding:19px 28px;
  border:1px solid rgba(181,140,49,.38);
  border-radius:14px;
  background:rgba(255,252,246,.97);
  box-shadow:0 16px 34px rgba(8,34,35,.14);
  backdrop-filter:blur(10px);
  z-index:3;
}
.tss-campaign-hero__offer small{
  grid-column:1;
  color:#b58c31;
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.tss-campaign-hero__offer strong{
  grid-column:2;
  color:#08393a!important;
  font-family:var(--font-heading,Georgia,serif);
  font-size:1.55rem;
  font-weight:500;
}
.tss-campaign-hero__offer em{
  grid-column:3;
  color:#65736f!important;
  font-size:.79rem;
  line-height:1.5;
}
.tss-campaign-hero__visual{display:none!important}

/* Per-campaign focal points preserve the approved composition. */
.tss-campaign-hero--signature .tss-campaign-hero__stage{background-position:center 46%}
.tss-campaign-hero--designer .tss-campaign-hero__stage{background-position:center 48%}
.tss-campaign-hero--autumn .tss-campaign-hero__stage{background-position:center 49%}
.tss-campaign-hero--winter .tss-campaign-hero__stage{background-position:center 50%}
.tss-campaign-hero--spring .tss-campaign-hero__stage{background-position:center 48%}
.tss-campaign-hero--drivers-edge .tss-campaign-hero__stage{background-position:center 48%}

@media(max-width:900px){
  .tss-campaign-hero__stage,
  .tss-campaign-hero__copy{min-height:440px}
  .tss-campaign-hero__copy{width:62%;padding:40px 28px}
  .tss-campaign-hero h1{font-size:clamp(3rem,7vw,4.6rem)}
}
@media(max-width:680px){
  .tss-campaign-hero{margin-bottom:34px}
  .tss-campaign-hero__stage{
    min-height:0;
    padding-top:66%;
    background-image:var(--tss-hero-image)!important;
    background-position:72% center!important;
    border-radius:2px 2px 0 0;
  }
  .tss-campaign-hero__copy{
    position:relative;
    width:100%;
    min-height:0;
    padding:28px 22px 30px;
    background:#f7f0e3;
  }
  .tss-campaign-hero--light-text .tss-campaign-hero__copy{background:#0b2729}
  .tss-campaign-hero h1{font-size:3.25rem}
  .tss-campaign-hero__copy > p{font-size:.93rem}
  .tss-campaign-hero__offer{
    grid-template-columns:1fr;
    width:calc(100% - 24px);
    margin:-12px auto 0;
    padding:16px 18px;
    gap:2px;
  }
  .tss-campaign-hero__offer small,
  .tss-campaign-hero__offer strong,
  .tss-campaign-hero__offer em{grid-column:1}
  .tss-campaign-hero__offer strong{font-size:1.4rem}
}


/* v3.207 — standalone Driver's Edge hero */
body.page-slug-drivers-edge .ss-content,
body.page-id-0 .tss-campaign-hero--standalone + .ss-content{
  padding-top:0;
}
.tss-campaign-hero--standalone{
  width:min(100% - 40px, 1320px);
  margin:34px auto 0;
}
.tss-campaign-hero--standalone + .ss-content{
  padding-top:34px;
}
@media(max-width:700px){
  .tss-campaign-hero--standalone{
    width:calc(100% - 24px);
    margin-top:20px;
  }
}


/* v3.211 — WooCommerce Specials control */
.tss-special-admin{
  max-width:920px;
}
.tss-special-admin__panel{
  margin-top:24px;
  padding:26px;
  border:1px solid #d9c38b;
  border-radius:14px;
  background:#fff;
  box-shadow:0 12px 30px rgba(8,57,58,.07);
}
.tss-special-admin__toggle{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px;
  border-radius:12px;
  background:#f6f1e7;
}
.tss-special-admin__toggle input{
  margin-top:4px;
  transform:scale(1.25);
}
.tss-special-admin__toggle span,
.tss-special-admin__field{
  display:grid;
  gap:6px;
}
.tss-special-admin__toggle strong,
.tss-special-admin__field strong{
  color:#08393a;
  font-size:1rem;
}
.tss-special-admin__toggle small,
.tss-special-admin__field small{
  color:#596966;
  line-height:1.5;
}
.tss-special-admin__field{
  margin-top:24px;
}
.tss-special-admin__field select{
  width:100%;
  max-width:680px;
  min-height:44px;
}
.tss-special-admin__links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}


/* v3.213 — editable Special artwork and copy */
.tss-special-admin__grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:28px;margin-top:24px}
.tss-special-admin__image-field,.tss-special-admin__copy-fields{display:grid;gap:12px}
.tss-special-admin__preview{display:grid;place-items:center;min-height:230px;border:1px dashed #c9a24a;border-radius:12px;background:#f8f4eb;overflow:hidden}
.tss-special-admin__preview img{display:block;width:100%;height:100%;max-height:320px;object-fit:cover}
.tss-special-admin__preview span{color:#64736f}
.tss-special-admin__copy-fields label{display:grid;gap:6px}
.tss-special-admin__copy-fields input,.tss-special-admin__copy-fields textarea{width:100%}
.tss-specials__item--feature{display:grid;gap:18px}
.tss-specials__item--feature .tss-specials__image{aspect-ratio:16/10;overflow:hidden;border-radius:12px}
.tss-specials__item--feature .tss-specials__image img{width:100%;height:100%;object-fit:cover}
.tss-specials__custom-copy{margin:8px 0 12px;color:#52625f;line-height:1.55}
.tss-specials__feature-button{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:11px 18px;border-radius:999px;background:#c9a24a;color:#073b3c!important;font-weight:800;text-decoration:none}
@media(max-width:760px){.tss-special-admin__grid{grid-template-columns:1fr}}


/* v3.214 — approved Petrol artwork */
.tss-specials__image img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  display:block;
}
.tss-special-product-gallery img{
  width:100%;
  height:auto;
  display:block;
  border-radius:18px;
}
.tss-special-admin__inline-check{
  display:flex !important;
  grid-template-columns:auto 1fr !important;
  align-items:flex-start;
  gap:10px !important;
  padding:12px 0;
}
.tss-special-admin__inline-check input{
  margin-top:4px;
}
.tss-special-admin__inline-check span{
  display:grid;
  gap:4px;
}
\n\n/* v3.216 — full-width Specials feature artwork */\n.tss-specials__item.tss-specials__item--feature{\n  display:grid;\n  grid-template-columns:minmax(0,1fr);\n  gap:16px;\n  align-items:stretch;\n  padding:12px;\n}\n.tss-specials__item.tss-specials__item--feature .tss-specials__image{\n  display:block;\n  width:100%;\n  aspect-ratio:4/5;\n  overflow:hidden;\n  border-radius:12px;\n}\n.tss-specials__item.tss-specials__item--feature .tss-specials__image img{\n  display:block;\n  width:100%;\n  height:100%;\n  object-fit:cover;\n  object-position:center;\n  border-radius:0;\n}\n.tss-specials__item.tss-specials__item--feature > div{\n  padding:2px 4px 4px;\n}\n

/* v3.217 — large Specials drawer feature artwork */
.tss-specials__products{
  display:block !important;
}

.tss-specials__card{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  overflow:hidden;
  padding:0 !important;
}

.tss-specials__image{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  border-radius:0 !important;
  overflow:hidden;
}

.tss-specials__image img{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  aspect-ratio:4 / 5 !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:0 !important;
}

.tss-specials__body{
  width:100%;
  padding:20px 20px 22px;
}

@media (min-width:700px){
  .tss-specials{
    width:min(440px, calc(100vw - 28px));
  }

  .tss-specials__image img{
    aspect-ratio:16 / 11 !important;
    object-position:center 48% !important;
  }
}

@media (max-width:699px){
  .tss-specials__image img{
    max-height:52vh !important;
  }
}


/* v3.218 — actual Specials markup fix */
.tss-specials__list{
  display:block !important;
}

.tss-specials__item.tss-specials__item--feature{
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  align-items:stretch !important;
  gap:0 !important;
  width:100% !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:14px !important;
}

.tss-specials__item.tss-specials__item--feature > .tss-specials__image{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  aspect-ratio:16 / 10 !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:0 !important;
}

.tss-specials__item.tss-specials__item--feature > .tss-specials__image img{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center 48% !important;
  border-radius:0 !important;
}

.tss-specials__item.tss-specials__item--feature > div{
  width:100% !important;
  padding:18px 20px 22px !important;
  text-align:left !important;
}

.tss-specials__item.tss-specials__item--feature .tss-specials__feature-button{
  display:inline-flex;
  margin-top:12px;
}

@media(max-width:699px){
  .tss-specials__item.tss-specials__item--feature > .tss-specials__image{
    aspect-ratio:4 / 3 !important;
  }
}


/* v3.219 — smaller Specials artwork with the complete image visible */
.tss-specials__item.tss-specials__item--feature > .tss-specials__image{
  width:100% !important;
  height:300px !important;
  aspect-ratio:auto !important;
  padding:12px !important;
  background:#071f20 !important;
  box-sizing:border-box !important;
}

.tss-specials__item.tss-specials__item--feature > .tss-specials__image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#071f20 !important;
}

@media(max-width:699px){
  .tss-specials__item.tss-specials__item--feature > .tss-specials__image{
    height:260px !important;
    padding:10px !important;
  }
}


/* v3.220 — exact supplied Petrol artwork, natural 4:5 display */
.tss-specials__item.tss-specials__item--feature > .tss-specials__image{
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 5 !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  overflow:hidden !important;
}

.tss-specials__item.tss-specials__item--feature > .tss-specials__image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:4 / 5 !important;
  object-fit:cover !important;
  object-position:center !important;
  background:transparent !important;
}


/* v3.221 — simplified Current Special drawer */
.tss-specials__head{padding-bottom:16px}
.tss-specials__head > div > span{text-transform:uppercase;letter-spacing:.14em}
.tss-specials__item.tss-specials__item--feature > div{display:grid;gap:14px;padding:2px 0 0 !important}
.tss-specials__price{font-size:1.2rem;font-weight:700}


/* v3.222 — cleaner product-page header and tighter homepage collection hand-off. */
.single-product .site-main {
  padding-top: 26px !important;
}
.single-product .site-main > .ss-container {
  padding-top: 0 !important;
}
.single-product .site-main > .ss-container > .tss-back-nav {
  margin-bottom: 24px !important;
}

/* The single product already has a shortlist star on its image. */
.single-product .tss-shortlist-bar {
  display: none !important;
}

/* Bring Designer Inspired into view sooner after Signature Scents. */
.home #collections {
  padding-bottom: 44px !important;
}
.home #collections .ss-section-cta {
  margin-top: 22px;
}
.home #collections + #designer {
  padding-top: 30px !important;
}
.home #designer .tss-campaign__heading {
  margin-bottom: 24px;
}
.home #designer .tss-campaign__heading h2 {
  margin-bottom: 8px;
}
.home #designer .tss-campaign__heading p {
  max-width: 720px;
  margin-top: 0;
}

@media (max-width: 782px) {
  .single-product .site-main { padding-top: 18px !important; }
  .single-product .site-main > .ss-container > .tss-back-nav { margin-bottom: 18px !important; }
  .home #collections { padding-bottom: 32px !important; }
  .home #collections + #designer { padding-top: 24px !important; }
  .home #designer .tss-campaign__heading p { display: none; }
}


/* 3.223 — compact global shortlist access and cleaner product pages */
.tss-header-shortlist{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:36px;
  padding:7px 10px;
  border:1px solid rgba(202,163,74,.42);
  border-radius:999px;
  color:#fff;
  font-size:.74rem;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  text-decoration:none;
}
.tss-header-shortlist:hover,
.tss-header-shortlist:focus-visible{
  color:#f0d98d;
  border-color:rgba(202,163,74,.8);
}
.tss-header-shortlist__star{color:var(--ss-gold);font-size:.92rem}
.tss-header-shortlist__count{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:var(--ss-gold);
  color:var(--ss-teal-deep);
  font-size:.68rem;
  font-weight:800;
}
/* Safety net: the retired large shortlist strip must not occupy archive space. */
.tss-shortlist-bar{display:none!important}
@media(max-width:1080px){
  .tss-header-shortlist__label{display:none}
  .tss-header-shortlist{padding:7px 8px;gap:4px}
}
@media(max-width:782px){
  .tss-header-shortlist{min-height:34px;padding:6px 7px}
  .tss-header-shortlist__count{min-width:18px;height:18px;font-size:.64rem}
}
@media(max-width:420px){
  .tss-header-shortlist{border:0;padding:5px 2px}
  .tss-header-shortlist__star{font-size:1rem}
}

/* 3.224 — prevent desktop account and shortlist controls colliding */
@media (min-width: 1181px) {
  .site-header__inner {
    grid-template-columns: 185px minmax(0, 1fr) minmax(330px, 360px) !important;
    column-gap: 20px !important;
  }

  .site-actions {
    width: 100%;
    min-width: 0;
    justify-content: flex-end;
    gap: 11px !important;
  }

  .tss-header-account {
    flex: 0 0 auto;
    margin-right: 0 !important;
  }

  .tss-header-shortlist {
    flex: 0 0 auto;
    margin: 0;
  }

  .tss-header-socials,
  .ss-basket {
    flex: 0 0 auto;
  }
}

@media (min-width: 783px) and (max-width: 1180px) {
  .tss-header-shortlist__label { display: none; }
  .tss-header-shortlist { padding-inline: 8px; }
  .tss-header-account { margin-right: 0 !important; }
}

/* v3.226 — complete homepage editorial redesign. Existing header, account,
   shortlist, basket, checkout and WooCommerce systems are intentionally untouched. */
.tss-home-v226{overflow:hidden}
.tss-home-hero .ss-hero__inner{min-height:clamp(620px,82vh,860px);display:flex;align-items:center}
.tss-home-hero__copy{max-width:690px}
.tss-home-hero__copy h1{max-width:760px}
.tss-home-section-head{align-items:end}
.tss-home-moods .ss-moods{margin-top:34px}
.tss-home-moods .ss-mood-card{min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.tss-home-moods .ss-mood-card span{position:relative;z-index:2;margin-top:10px;font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}

.tss-home-collections{padding-top:105px;padding-bottom:115px}
.tss-collection-gateway-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:44px}
.tss-collection-gateway{position:relative;display:block;min-height:560px;border-radius:24px;overflow:hidden;color:#fff;box-shadow:0 25px 65px rgba(0,20,25,.28);isolation:isolate}
.tss-collection-gateway img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.tss-collection-gateway__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,18,21,.03) 20%,rgba(2,18,21,.86) 100%);z-index:1}
.tss-collection-gateway__copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:42px;display:flex;flex-direction:column;align-items:flex-start}
.tss-collection-gateway__copy small{font-size:.76rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--ss-gold-light);margin-bottom:10px}
.tss-collection-gateway__copy strong{font-family:"Playfair Display",Georgia,serif;font-size:clamp(2rem,3vw,3.2rem);line-height:1.02;font-weight:600}
.tss-collection-gateway__copy em{font-style:normal;max-width:460px;margin-top:12px;color:rgba(255,255,255,.84);font-size:1rem;line-height:1.65}
.tss-collection-gateway__copy b{margin-top:24px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;border-bottom:1px solid var(--ss-gold);padding-bottom:5px}
.tss-collection-gateway:hover img{transform:scale(1.035)}
.tss-collection-gateway:focus-visible{outline:3px solid var(--ss-gold-light);outline-offset:5px}
.tss-collection-gateway--drivers img{object-position:center center}

.tss-discovery-gateway{background:#f3ecdf}
.tss-discovery-gateway__inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:center;gap:clamp(42px,7vw,100px)}
.tss-discovery-gateway__image{border-radius:24px;overflow:hidden;box-shadow:var(--ss-shadow)}
.tss-discovery-gateway__image img{display:block;width:100%;min-height:510px;object-fit:cover}
.tss-discovery-gateway__copy{max-width:520px}
.tss-discovery-gateway__copy h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(2.5rem,4.6vw,4.5rem);line-height:1.03;margin:.3em 0 .35em;color:var(--ss-teal-deep)}
.tss-discovery-gateway__copy p{font-size:1.08rem;line-height:1.8;margin-bottom:30px}

.tss-home-featured{padding-top:105px;padding-bottom:110px}
.tss-home-values{padding-top:105px;padding-bottom:110px}
.tss-home-values .ss-benefits{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:40px}
.tss-value-icon{font-size:2rem;color:var(--ss-gold)}

.tss-home-story{position:relative;background:linear-gradient(110deg,rgba(3,47,55,.98),rgba(3,47,55,.82)),url('assets/hero-background-v39.webp') center/cover no-repeat;color:#fff}
.tss-home-story__inner{min-height:600px;display:flex;align-items:center;padding-top:90px;padding-bottom:90px}
.tss-home-story__inner>div{max-width:720px}
.tss-home-story h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(2.7rem,5vw,5.3rem);line-height:1.02;margin:.25em 0 .32em}
.tss-home-story p{max-width:650px;font-size:1.08rem;line-height:1.85;color:rgba(255,255,255,.84);margin-bottom:28px}

@media(max-width:900px){
  .tss-collection-gateway-grid{grid-template-columns:1fr}
  .tss-collection-gateway{min-height:500px}
  .tss-discovery-gateway__inner{grid-template-columns:1fr;gap:42px}
  .tss-discovery-gateway__copy{max-width:none}
  .tss-home-values .ss-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .tss-home-hero .ss-hero__inner{min-height:690px;align-items:flex-end;padding-bottom:72px}
  .tss-home-collections,.tss-home-featured,.tss-home-values{padding-top:72px;padding-bottom:76px}
  .tss-collection-gateway-grid{gap:18px;margin-top:30px}
  .tss-collection-gateway{min-height:455px;border-radius:18px}
  .tss-collection-gateway__copy{padding:28px 24px}
  .tss-collection-gateway__copy strong{font-size:2.25rem}
  .tss-collection-gateway__copy em{font-size:.94rem}
  .tss-discovery-gateway__image img{min-height:360px}
  .tss-home-values .ss-benefits{grid-template-columns:1fr}
  .tss-home-story__inner{min-height:540px;padding-top:70px;padding-bottom:70px}
}


/* v3.227 — shorter, cleaner homepage rhythm.
   Keeps the hero and mood gateways, converts collections to a compact four-card
   gateway row, reduces the Discovery and reassurance sections, and removes the
   large closing story panel. Functional header and WooCommerce systems untouched. */
.tss-home-v227{overflow:hidden}

.tss-home-v227 .tss-home-hero .ss-hero__inner{
  min-height:clamp(590px,76vh,790px);
}

.tss-home-v227 .tss-home-moods{
  padding-top:78px;
  padding-bottom:86px;
}

.tss-home-v227 .tss-home-moods .ss-mood-card{
  min-height:320px;
}

.tss-home-v227 .tss-home-collections{
  padding-top:78px;
  padding-bottom:86px;
}

.tss-home-v227 .tss-collection-gateway-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.tss-home-v227 .tss-collection-gateway{
  min-height:390px;
  border-radius:18px;
  box-shadow:0 18px 42px rgba(0,20,25,.22);
}

.tss-home-v227 .tss-collection-gateway__copy{
  padding:26px 22px;
}

.tss-home-v227 .tss-collection-gateway__copy small{
  font-size:.65rem;
  margin-bottom:7px;
}

.tss-home-v227 .tss-collection-gateway__copy strong{
  font-size:clamp(1.55rem,2vw,2.15rem);
}

.tss-home-v227 .tss-collection-gateway__copy em{
  font-size:.88rem;
  line-height:1.5;
  margin-top:8px;
}

.tss-home-v227 .tss-collection-gateway__copy b{
  margin-top:16px;
  font-size:.67rem;
}

.tss-home-v227 .tss-discovery-gateway{
  padding-top:78px;
  padding-bottom:78px;
}

.tss-home-v227 .tss-discovery-gateway__inner{
  grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);
  gap:clamp(36px,5vw,72px);
}

.tss-home-v227 .tss-discovery-gateway__image img{
  min-height:390px;
  max-height:440px;
}

.tss-home-v227 .tss-discovery-gateway__copy h2{
  font-size:clamp(2.35rem,3.8vw,3.8rem);
}

.tss-home-v227 .tss-home-featured{
  padding-top:82px;
  padding-bottom:84px;
}

.tss-home-v227 .tss-home-values{
  padding-top:62px;
  padding-bottom:68px;
}

.tss-home-v227 .tss-home-values .ss-section__head{
  margin-bottom:24px;
}

.tss-home-v227 .tss-home-values .ss-benefits{
  margin-top:24px;
  gap:0;
}

.tss-home-v227 .tss-home-values .ss-benefit{
  min-height:190px;
  padding:28px 24px;
}

.tss-home-v227 .tss-home-values .ss-benefit h3{
  color:#fff;
}

.tss-home-v227 .tss-home-values .ss-benefit p{
  font-size:.9rem;
  line-height:1.55;
}

@media(max-width:1120px){
  .tss-home-v227 .tss-collection-gateway-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .tss-home-v227 .tss-collection-gateway{
    min-height:420px;
  }
}

@media(max-width:760px){
  .tss-home-v227 .tss-home-moods,
  .tss-home-v227 .tss-home-collections,
  .tss-home-v227 .tss-discovery-gateway,
  .tss-home-v227 .tss-home-featured{
    padding-top:58px;
    padding-bottom:62px;
  }

  .tss-home-v227 .tss-collection-gateway-grid{
    grid-template-columns:1fr;
  }

  .tss-home-v227 .tss-collection-gateway{
    min-height:390px;
  }

  .tss-home-v227 .tss-discovery-gateway__inner{
    grid-template-columns:1fr;
  }

  .tss-home-v227 .tss-discovery-gateway__image img{
    min-height:320px;
  }
}

/* v3.232 — collection panel readability without full-image tint. */
.tss-home-v232{overflow:hidden}
.tss-home-v232 .tss-home-hero .ss-hero__inner{min-height:clamp(590px,76vh,790px)}
.tss-home-v232 .tss-home-moods{padding-top:78px;padding-bottom:86px}
.tss-home-v232 .tss-home-moods .ss-mood-card{min-height:320px}
.tss-home-v232 .tss-home-collections{padding-top:78px;padding-bottom:90px}

.tss-collection-accordion{
  display:flex;
  width:100%;
  height:clamp(560px,56vw,710px);
  gap:0;
  margin-top:36px;
  overflow:hidden;
}
.tss-collection-panel{
  position:relative;
  flex:0 0 92px;
  min-width:0;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 20px 52px rgba(0,20,25,.28);
  transition:flex-basis .55s cubic-bezier(.22,.61,.36,1),flex-grow .55s cubic-bezier(.22,.61,.36,1);
  z-index:1;
}
.tss-collection-panel + .tss-collection-panel{margin-left:-12px}
.tss-collection-panel:hover,.tss-collection-panel:focus-within{z-index:6}
.tss-collection-panel.is-active{flex:1 1 auto;z-index:5}
.tss-collection-panel__trigger{
  position:absolute;
  inset:0;
  display:block;
  cursor:pointer;
  color:#fff;
  isolation:isolate;
  outline:none;
}
.tss-collection-panel__trigger:focus-visible{box-shadow:inset 0 0 0 3px var(--ss-gold-light)}
.tss-collection-panel__trigger img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .7s ease,filter .45s ease;
}
.tss-collection-panel:hover .tss-collection-panel__trigger img{transform:scale(1.025)}
.tss-collection-panel__closed-title{
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  bottom:auto;
  transform:translate(-50%,-50%) rotate(-90deg);
  transform-origin:center;
  white-space:nowrap;
  font-family:"Playfair Display",Georgia,serif;
  font-size:1.2rem;
  line-height:1;
  letter-spacing:.025em;
  opacity:1;
  padding:.52rem .72rem;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(2,22,26,.78),rgba(2,22,26,.58));
  box-shadow:0 5px 18px rgba(0,15,18,.28);
  text-shadow:0 2px 9px rgba(0,0,0,.9);
  transition:opacity .2s ease;
}
.tss-collection-panel.is-active .tss-collection-panel__closed-title{opacity:0;pointer-events:none}
.tss-collection-panel__content{
  position:absolute;
  z-index:3;
  left:clamp(28px,4vw,58px);
  right:clamp(28px,5vw,72px);
  bottom:clamp(48px,5.5vw,78px);
  max-width:min(560px,calc(100% - 64px));
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  opacity:0;
  transform:translateY(18px);
  pointer-events:none;
  transition:opacity .28s ease .16s,transform .35s ease .16s;
  isolation:isolate;
}
.tss-collection-panel__content::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-22px;
  right:-22px;
  top:-18px;
  bottom:-18px;
  border-radius:18px;
  background:linear-gradient(90deg,rgba(2,20,24,.78) 0%,rgba(2,20,24,.50) 66%,rgba(2,20,24,0) 100%);
  pointer-events:none;
}
.tss-collection-panel.is-active .tss-collection-panel__content{opacity:1;transform:none;pointer-events:auto}
.tss-collection-panel__content small{
  margin-bottom:10px;
  color:var(--ss-gold-light);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgba(0,20,25,.72);
}
.tss-collection-panel__content strong{
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(2.55rem,4.4vw,4.65rem);
  line-height:.98;
  font-weight:600;
  text-shadow:0 3px 18px rgba(0,20,25,.78);
}
.tss-collection-panel__content em{
  max-width:500px;
  margin:17px 0 26px;
  color:rgba(255,255,255,.88);
  font-size:1.03rem;
  line-height:1.65;
  font-style:normal;
  text-shadow:0 2px 12px rgba(0,20,25,.82);
}
.tss-collection-panel__content .ss-btn{position:relative;z-index:5}

.tss-home-v232 .tss-discovery-gateway{padding-top:78px;padding-bottom:78px}
.tss-home-v232 .tss-discovery-gateway__inner{grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);gap:clamp(36px,5vw,72px)}
.tss-home-v232 .tss-discovery-gateway__image img{min-height:390px;max-height:440px}
.tss-home-v232 .tss-discovery-gateway__copy h2{font-size:clamp(2.35rem,3.8vw,3.8rem)}
.tss-home-v232 .tss-home-featured{padding-top:82px;padding-bottom:84px}
.tss-home-v232 .tss-home-values{padding-top:62px;padding-bottom:68px}
.tss-home-v232 .tss-home-values .ss-section__head{display:block;max-width:900px;margin-bottom:24px}
.tss-home-v232 .tss-home-values .ss-section__head p{max-width:720px;margin-top:14px}
.tss-home-v232 .tss-home-values .ss-benefits{margin-top:24px;gap:0}
.tss-home-v232 .tss-home-values .ss-benefit{min-height:190px;padding:28px 24px}
.tss-home-v232 .tss-home-values .ss-benefit h3{color:#fff}
.tss-home-v232 .tss-home-values .ss-benefit p{font-size:.9rem;line-height:1.55}

@media(max-width:980px){
  .tss-collection-accordion{height:620px}
  .tss-collection-panel{flex-basis:70px}
  .tss-collection-panel + .tss-collection-panel{margin-left:-9px}
  .tss-collection-panel__closed-title{font-size:1rem}
}

@media(max-width:760px){
  .tss-home-v232 .tss-home-moods,
  .tss-home-v232 .tss-home-collections,
  .tss-home-v232 .tss-discovery-gateway,
  .tss-home-v232 .tss-home-featured{padding-top:58px;padding-bottom:62px}
  .tss-collection-accordion{display:flex;flex-direction:column;height:auto;gap:12px;margin-top:28px;overflow:visible}
  .tss-collection-panel + .tss-collection-panel{margin-left:0}
  .tss-collection-panel{flex:0 0 78px;width:100%;height:78px;border-radius:16px;transition:height .5s cubic-bezier(.22,.61,.36,1),flex-basis .5s cubic-bezier(.22,.61,.36,1)}
  .tss-collection-panel.is-active{flex-basis:500px;height:500px}
  .tss-collection-panel__closed-title{left:22px;top:auto;bottom:50%;transform:translateY(50%);font-size:1.15rem;padding:.4rem .65rem}
  .tss-collection-panel__content::before{left:-14px;right:-14px;top:-14px;bottom:-14px;border-radius:14px}
  .tss-collection-panel__content{left:24px;right:24px;bottom:34px;max-width:calc(100% - 48px)}
  .tss-collection-panel__content strong{font-size:clamp(2.4rem,12vw,3.5rem)}
  .tss-collection-panel__content em{font-size:.94rem;margin:13px 0 20px}
  .tss-home-v232 .tss-discovery-gateway__inner{grid-template-columns:1fr}
  .tss-home-v232 .tss-discovery-gateway__image img{min-height:320px}
}

@media(prefers-reduced-motion:reduce){
  .tss-collection-panel,.tss-collection-panel__trigger img,.tss-collection-panel__content{transition:none!important}
}


/* v3.234.0 — icon-only utility header and fragrance-pyramid Discovery cards */
.site-actions .tss-header-icon-link,
.site-actions .tss-header-shortlist{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:38px;
  min-height:38px;
  padding:6px 8px;
  color:var(--ss-gold);
  border:0;
  background:transparent;
  text-decoration:none;
}
.site-actions .tss-header-icon-link svg{
  width:22px;
  height:22px;
  fill:currentColor;
  flex:0 0 auto;
}
.site-actions .tss-header-icon-link:hover,
.site-actions .tss-header-icon-link:focus-visible,
.site-actions .tss-header-shortlist:hover,
.site-actions .tss-header-shortlist:focus-visible{color:var(--ss-gold-light)}
.tss-header-account__trigger.tss-header-icon-link,
.tss-header-account__signin.tss-header-icon-link{font-size:0}
.tss-header-shortlist{border-radius:0!important}
.tss-header-shortlist__star{font-size:1.55rem!important;line-height:1;font-weight:400}
.ss-basket{justify-content:center!important}
.ss-basket .ss-cart-count,
.tss-header-shortlist__count{flex:0 0 auto}

.tss-discovery-card{
  grid-template-columns:72px minmax(0,1fr) 24px;
  min-height:126px;
  padding:12px 14px;
}
.tss-discovery-card__image{width:72px;aspect-ratio:4/5;border-radius:12px}
.tss-discovery-card__copy strong{font-size:1.08rem;line-height:1.05}
.tss-discovery-card__notes{display:grid;gap:2px;margin-top:8px}
.tss-discovery-card__copy .tss-discovery-card__notes small{
  display:block;
  margin:0;
  overflow:visible;
  color:rgba(30,38,41,.72);
  font-size:.59rem;
  line-height:1.35;
  -webkit-line-clamp:unset;
  -webkit-box-orient:initial;
}
.tss-discovery-card__notes b{color:#a97c1f;font-weight:800}
@media(max-width:680px){
  .tss-discovery-card{grid-template-columns:58px minmax(0,1fr) 22px;min-height:112px;padding:10px 11px}
  .tss-discovery-card__image{width:58px}
  .tss-discovery-card__copy .tss-discovery-card__notes small{font-size:.56rem}
}


/* v3.235.0 — transparent-header icon contrast + compact universal fragrance notes */
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions .tss-header-icon-link,
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions .tss-header-shortlist,
body:not(.tss-inner) .site-header:not(.is-scrolled) .tss-header-socials a{
  color:#fff;
}
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions .tss-header-icon-link:hover,
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions .tss-header-icon-link:focus-visible,
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions .tss-header-shortlist:hover,
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions .tss-header-shortlist:focus-visible,
body:not(.tss-inner) .site-header:not(.is-scrolled) .tss-header-socials a:hover,
body:not(.tss-inner) .site-header:not(.is-scrolled) .tss-header-socials a:focus-visible{
  color:var(--ss-gold-light);
}
.site-header.is-scrolled .site-actions .tss-header-icon-link,
.site-header.is-scrolled .site-actions .tss-header-shortlist,
.site-header.is-scrolled .tss-header-socials a,
.tss-inner .site-header .site-actions .tss-header-icon-link,
.tss-inner .site-header .site-actions .tss-header-shortlist,
.tss-inner .site-header .tss-header-socials a{
  color:var(--ss-gold);
}

.tss-discovery-card{
  grid-template-columns:62px minmax(0,1fr) 22px;
  min-height:104px;
  padding:10px 12px;
  gap:10px;
}
.tss-discovery-card__image{width:62px;border-radius:10px}
.tss-discovery-card__notes{display:grid;gap:0;margin-top:5px}
.tss-discovery-card__copy .tss-discovery-card__notes small,
.tss-product-note-pyramid span{
  display:block;
  margin:0;
  color:rgba(30,38,41,.72);
  font-size:.58rem;
  font-weight:400;
  line-height:1.22;
  letter-spacing:0;
  text-transform:none;
}
.tss-discovery-card__notes b,
.tss-product-note-pyramid b{
  color:#a97c1f;
  font-weight:600;
}

.tss-product-note-pyramid{
  display:grid;
  gap:1px;
  margin:.42rem 0 .5rem;
}
.woocommerce ul.products li.product .tss-product-note-pyramid{
  min-height:0;
}
.ss-live-product-card .tss-product-note-pyramid{
  margin:.45rem 0 .15rem;
}
@media(max-width:680px){
  .tss-discovery-card{grid-template-columns:54px minmax(0,1fr) 20px;min-height:96px;padding:9px 10px}
  .tss-discovery-card__image{width:54px}
  .tss-discovery-card__copy .tss-discovery-card__notes small,
  .tss-product-note-pyramid span{font-size:.55rem;line-height:1.2}
}


/* v3.236.0 — deliberate utility cluster + reusable Designer Inspired references */
.site-actions{
  gap:0!important;
  align-items:center;
}
.site-actions > .tss-header-account,
.site-actions > .tss-header-account__signin,
.site-actions > .tss-header-shortlist,
.site-actions > .ss-basket{
  position:relative;
  margin:0!important;
  padding-inline:13px!important;
}
.site-actions > .tss-header-shortlist::before,
.site-actions > .ss-basket::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:1px;
  height:22px;
  transform:translateY(-50%);
  background:rgba(202,163,74,.38);
}
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions > .tss-header-shortlist::before,
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions > .ss-basket::before{
  background:rgba(255,255,255,.35);
}
.tss-header-socials{display:none!important}
.site-actions .tss-header-icon-link,
.site-actions .tss-header-shortlist{
  min-width:auto;
  min-height:36px;
}
.tss-header-shortlist__star{font-size:1.35rem!important}
.site-actions .ss-cart-count,
.site-actions .tss-header-shortlist__count{
  min-width:22px;
  height:22px;
  font-size:.72rem;
}

.tss-discovery-card__inspired{
  display:block;
  margin-top:3px;
  color:rgba(30,38,41,.62);
  font-size:.57rem;
  font-weight:400;
  line-height:1.2;
  letter-spacing:.01em;
  text-transform:none;
}
.tss-discovery-card__inspired + .tss-discovery-card__notes{margin-top:4px}
@media(max-width:1100px){
  .site-actions > .tss-header-account,
  .site-actions > .tss-header-account__signin,
  .site-actions > .tss-header-shortlist,
  .site-actions > .ss-basket{padding-inline:9px!important}
}
@media(max-width:680px){
  .tss-discovery-card__inspired{font-size:.54rem}
}

/* v3.237.0 — stable hero utility contrast + responsive desktop collection accordion */
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions .tss-header-icon-link,
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions .tss-header-shortlist,
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions .tss-header-shortlist__star{
  color:#fff!important;
  filter:none!important;
  text-shadow:
    -1px 0 rgba(0,0,0,.72),
     1px 0 rgba(0,0,0,.72),
     0 -1px rgba(0,0,0,.72),
     0 1px rgba(0,0,0,.72);
}
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions .tss-header-icon-link svg{
  fill:currentColor!important;
  filter:
    drop-shadow(-1px 0 0 rgba(0,0,0,.72))
    drop-shadow(1px 0 0 rgba(0,0,0,.72))
    drop-shadow(0 -1px 0 rgba(0,0,0,.72))
    drop-shadow(0 1px 0 rgba(0,0,0,.72));
}
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions > .tss-header-shortlist::before,
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions > .ss-basket::before{
  background:rgba(255,255,255,.52);
  box-shadow:0 1px 2px rgba(0,0,0,.45);
}

@media (min-width:761px){
  .tss-home-v232 .tss-home-collections > .ss-container{
    width:min(calc(100% - 48px),1120px);
  }
  .tss-collection-accordion{
    height:clamp(440px,42vw,560px);
    max-width:1120px;
    margin-inline:auto;
  }
  .tss-collection-panel{flex-basis:82px}
  .tss-collection-panel__content{
    left:clamp(26px,3.2vw,46px);
    right:clamp(26px,4vw,58px);
    bottom:clamp(34px,4vw,56px);
  }
  .tss-collection-panel__content strong{
    font-size:clamp(2.4rem,3.65vw,4rem);
  }
  .tss-collection-panel__content em{
    margin:13px 0 20px;
    font-size:clamp(.9rem,1vw,1rem);
    line-height:1.5;
  }
}

@media (min-width:761px) and (max-width:980px){
  .tss-collection-accordion{height:clamp(430px,52vw,510px)}
  .tss-collection-panel{flex-basis:66px}
  .tss-collection-panel + .tss-collection-panel{margin-left:-8px}
  .tss-collection-panel__closed-title{font-size:.96rem}
}

/* v3.238.0 — keep hero icon contrast without shadowing shortlist/basket digits */
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions .tss-header-shortlist__count,
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions .ss-cart-count{
  filter:none!important;
  text-shadow:none!important;
}


/* v3.240.0 — crisp hero icon outline instead of blurred shadow */
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions .tss-header-shortlist__count,
body:not(.tss-inner) .site-header:not(.is-scrolled) .site-actions .ss-cart-count{
  filter:none!important;
  text-shadow:none!important;
}

/* v3.241.0 — homepage Limited Editions artwork and link follow the active campaign selected in admin. */

/* v3.242.0 — global Limited Editions visibility switch. */

/* v3.246.0 — simpler custom Special editor */
.tss-special-admin{max-width:1120px}
.tss-special-admin__panel{margin-top:22px;padding:24px;background:#fff;border:1px solid #dcdcde;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.tss-special-admin__grid{align-items:start}
.tss-special-admin__preview{width:100%;aspect-ratio:16/10;min-height:0;max-height:390px}
.tss-special-admin__preview img{width:100%;height:100%;max-height:none;object-fit:cover}
.tss-special-admin__copy-fields input[type="text"],.tss-special-admin__copy-fields input[type="number"],.tss-special-admin__copy-fields textarea{min-height:42px;border-radius:7px}
.tss-special-admin__stock-box{display:grid;gap:12px;padding:16px;border:1px solid #d8dfdc;border-radius:10px;background:#f7faf8}
.tss-special-admin__stock-box>label:not(.tss-special-admin__inline-check){display:grid;grid-template-columns:1fr 130px;align-items:center;gap:14px}
.tss-special-admin__actions{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e3e7e5}
@media(max-width:760px){.tss-special-admin__stock-box>label:not(.tss-special-admin__inline-check){grid-template-columns:1fr}}

/* v3.247.0 — active public Specials are available in the Discovery Pack. */


/* v3.249 — customer account credit */
.tss-credit-page{display:grid;gap:24px}
.tss-credit-page__balance{padding:24px;border:1px solid rgba(8,57,58,.15);border-radius:18px;background:#f7f2e9}
.tss-credit-page__balance span{display:block;color:#5f6d69;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase}
.tss-credit-page__balance strong{display:block;margin:6px 0;color:#08393a;font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.4rem);font-weight:500}
.tss-credit-page__balance p{margin:0;color:#5f6d69}
.tss-credit-history{border-top:1px solid rgba(8,57,58,.14)}
.tss-credit-history__row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid rgba(8,57,58,.14)}
.tss-credit-history__row div{display:grid;gap:3px}
.tss-credit-history__row strong{color:#08393a;font-weight:600}
.tss-credit-history__row small{color:#6b7774}
.tss-credit-history__row>span{font-weight:700;white-space:nowrap}
.tss-credit-history__row .is-credit{color:#0a6b53}
.tss-credit-history__row .is-debit{color:#8a3c42}
@media(max-width:520px){.tss-credit-history__row{align-items:flex-start}.tss-credit-page__balance{padding:20px}}

/* v3.250 — account credit checkout completion and My Credit polish. */
body.woocommerce-account .site-main{padding-top:clamp(120px,14vw,180px)}
.tss-credit-page__balance strong,
.tss-account-credit strong,
.tss-credit-history__row>span{white-space:nowrap}
.tss-credit-page__balance strong .woocommerce-Price-amount{display:inline-flex;align-items:baseline;white-space:nowrap}
.tss-credit-page__balance{
  position:relative;
  overflow:hidden;
  padding:28px;
  border-color:rgba(202,163,74,.45);
  background:linear-gradient(135deg,#fffaf0,#f4ead8);
}
.tss-credit-page__balance:before{
  content:'£';
  position:absolute;
  right:22px;
  top:4px;
  color:rgba(6,63,73,.06);
  font:500 7rem/1 Georgia,serif;
}
.tss-credit-history__row{grid-template-columns:minmax(0,1fr) auto}
.tss-credit-checkout--blocks{margin:0 0 24px;padding:18px;border-radius:14px}
.tss-credit-checkout--blocks .tss-credit-checkout__copy{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px;color:#08393a}
.tss-credit-checkout--blocks .tss-credit-checkout__copy span{white-space:nowrap;font-weight:700;color:#0a5a5d}
.tss-credit-checkout--blocks label{font-weight:600}
.tss-credit-checkout--blocks small{display:block;margin-top:8px;color:#697572}
.tss-credit-checkout__status{margin-top:8px;color:#5f6d69;font-size:.82rem}
.woocommerce form .form-row .required,
.wc-block-components-address-form .wc-block-components-required-label{color:#9a3d34!important;text-decoration:none}
@media(max-width:600px){
  body.woocommerce-account .site-main{padding-top:112px}
  .tss-credit-checkout--blocks .tss-credit-checkout__copy{align-items:flex-start;flex-direction:column;gap:2px}
}

/* v3.260.0: product thumbnails on customer-facing order details. */
.woocommerce-order-details td.woocommerce-table__product-name .tss-order-product{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.woocommerce-order-details .tss-order-product-thumb{
  flex:0 0 64px;
  width:64px;
  height:64px;
  overflow:hidden;
  border-radius:10px;
  background:#f5efe4;
  box-shadow:0 5px 14px rgba(3,43,49,.10);
}
.woocommerce-order-details .tss-order-product-thumb__image{
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:cover;
}
.woocommerce-order-details .tss-order-product-name{
  min-width:0;
}
@media(max-width:600px){
  .woocommerce-order-details td.woocommerce-table__product-name .tss-order-product{gap:10px}
  .woocommerce-order-details .tss-order-product-thumb{
    flex-basis:52px;
    width:52px;
    height:52px;
    border-radius:8px;
  }
}


/* v3.261.0 — About page and clean generic page heroes. */
.tss-about-lead { font-family: var(--ss-serif); font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.55; color: var(--ss-teal); }

/* v3.270.0 — PageSpeed accessibility/performance polish */
.tss-discovery-gateway__image img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:5 / 4;
}


/* ==========================================================================\n   v3.271.0 — Mobile homepage overhaul\n   Keeps the approved desktop experience intact while compressing the full\n   homepage journey for phone screens.\n   ========================================================================== */
.tss-footer-accordion-toggle{display:none}
.tss-card-purchase__price--mobile,
.tss-card-purchase__button--mobile-buy{display:none!important}

@media (max-width:760px){
  /* Promo + header: preserve the visual language but give the viewport back. */
  .tss-promo-ticker{height:30px}
  .tss-promo-ticker__track{gap:18px;font-size:.56rem;letter-spacing:.11em;animation-duration:30s}
  .tss-promo-ticker__track b{font-size:.48rem}
  .site-header,.site-header.is-scrolled,.tss-inner .site-header{top:30px!important}
  body.admin-bar .site-header,body.admin-bar .site-header.is-scrolled,body.admin-bar.tss-inner .site-header{top:76px!important}
  .site-header__inner{min-height:76px!important;gap:5px!important;grid-template-columns:minmax(0,1fr) auto auto!important}
  .site-branding{height:64px!important}
  .site-branding img,.custom-logo{height:58px!important;max-height:58px!important;max-width:124px!important}
  .site-actions{gap:3px!important}
  .site-actions > .tss-header-account,.site-actions > .tss-header-account__signin,.site-actions > .tss-header-shortlist,.site-actions > .ss-basket{padding-inline:6px!important}
  .site-actions .tss-header-icon-link,.site-actions .tss-header-shortlist{min-height:32px}
  .tss-header-shortlist__star{font-size:1.18rem!important}
  .site-actions .ss-cart-count,.site-actions .tss-header-shortlist__count{min-width:19px;height:19px;font-size:.64rem}
  .ss-menu-toggle{width:38px;height:38px;padding:0!important;font-size:1.2rem}
  .site-nav{padding:112px 24px 34px!important}

  /* Hero: still cinematic, just no longer a near-full-page stop. */
  .tss-home-v232 .tss-home-hero,.tss-home-v232 .tss-home-hero .ss-hero__inner{min-height:610px!important}
  .tss-home-v232 .tss-home-hero .ss-hero__inner{padding-top:122px!important;padding-bottom:48px!important;align-items:flex-end!important;text-align:left!important}
  .tss-home-v232 .tss-home-hero__copy{max-width:520px}
  .tss-home-v232 .tss-home-hero h1{font-size:clamp(3rem,14.5vw,4.2rem)!important;line-height:.96}
  .tss-home-v232 .tss-home-hero p{margin:16px 0 22px!important;font-size:.95rem;line-height:1.62;color:rgba(255,255,255,.84)}
  .tss-home-v232 .ss-hero__buttons{justify-content:flex-start!important;gap:9px}
  .tss-home-v232 .ss-hero__buttons .ss-btn{min-height:43px;padding:11px 16px;font-size:.64rem;letter-spacing:.09em}

  /* Shared mobile rhythm. */
  .tss-home-v232 .tss-home-moods,
  .tss-home-v232 .tss-home-collections,
  .tss-home-v232 .tss-discovery-gateway,
  .tss-home-v232 .tss-home-featured{padding-top:46px!important;padding-bottom:50px!important}
  .tss-home-v232 .tss-home-values{padding-top:46px!important;padding-bottom:50px!important}
  .tss-home-v232 .tss-home-section-head{margin-bottom:24px!important;gap:10px}
  .tss-home-v232 .tss-home-section-head h2{font-size:clamp(2.25rem,11vw,3.15rem);line-height:1}
  .tss-home-v232 .tss-home-section-head p{font-size:.9rem;line-height:1.6}

  /* Mood cards: keep the photography, turn each into a quick landscape choice. */
  .tss-home-v232 .tss-home-moods .ss-moods{grid-template-columns:1fr!important;gap:11px!important;margin-top:22px!important}
  .tss-home-v232 .tss-home-moods .ss-mood-card{min-height:172px!important;padding:20px 21px!important;border-radius:17px;background-position:center 45%}
  .tss-home-v232 .tss-home-moods .ss-mood-card h3{font-size:2rem;line-height:1}
  .tss-home-v232 .tss-home-moods .ss-mood-card p{margin-top:5px;font-size:.84rem}
  .tss-home-v232 .tss-home-moods .ss-mood-card span{margin-top:8px;font-size:.62rem;letter-spacing:.09em}

  /* Collections: on phones these are direct one-tap collection cards, not an accordion. */
  .tss-home-v232 .tss-collection-accordion{display:grid!important;grid-template-columns:1fr!important;height:auto!important;gap:11px!important;margin-top:0!important;overflow:visible!important}
  .tss-home-v232 .tss-collection-panel,
  .tss-home-v232 .tss-collection-panel.is-active{flex:none!important;flex-basis:auto!important;width:100%!important;height:168px!important;border-radius:17px!important;margin:0!important;box-shadow:0 12px 28px rgba(0,25,30,.18)}
  .tss-home-v232 .tss-collection-panel__trigger{height:100%!important;border-radius:17px!important}
  .tss-home-v232 .tss-collection-panel__trigger::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,20,24,.76),rgba(2,20,24,.22) 72%,rgba(2,20,24,.05));z-index:1;pointer-events:none}
  .tss-home-v232 .tss-collection-panel__closed-title,
  .tss-home-v232 .tss-collection-panel.is-active .tss-collection-panel__closed-title{display:block!important;opacity:1!important;left:20px!important;right:18px!important;top:auto!important;bottom:18px!important;transform:none!important;padding:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-size:1.75rem!important;line-height:1!important;white-space:normal!important;text-shadow:0 2px 12px rgba(0,0,0,.86)}
  .tss-home-v232 .tss-collection-panel__content{display:none!important}

  /* Discovery Pack: proposition first, supporting image second. */
  .tss-home-v232 .tss-discovery-gateway__inner{display:grid!important;grid-template-columns:1fr!important;gap:24px!important}
  .tss-home-v232 .tss-discovery-gateway__copy{grid-row:1;max-width:none!important}
  .tss-home-v232 .tss-discovery-gateway__image{grid-row:2;border-radius:17px}
  .tss-home-v232 .tss-discovery-gateway__image img{width:100%;height:218px!important;min-height:0!important;max-height:none!important;object-fit:cover}
  .tss-home-v232 .tss-discovery-gateway__copy h2{font-size:clamp(2.35rem,12vw,3.35rem)!important;margin:.24em 0 .28em}
  .tss-home-v232 .tss-discovery-gateway__copy p{font-size:.92rem;line-height:1.65;margin-bottom:21px}
  .tss-home-v232 .tss-discovery-gateway__copy .ss-btn{min-height:43px;padding:12px 17px;font-size:.66rem}

  /* Latest additions: four products become a compact two-column shopping grid. */
  .tss-home-v232 .tss-home-featured .ss-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .tss-home-v232 .tss-home-featured .ss-live-product-card{border-radius:15px!important;min-width:0;overflow:hidden}
  .tss-home-v232 .tss-home-featured .ss-card__media{aspect-ratio:1/1.05!important;min-height:0!important;padding:12px;font-size:.56rem;line-height:1.35;letter-spacing:.08em}
  .tss-home-v232 .tss-home-featured .ss-card__body{padding:13px 12px 12px!important;min-width:0}
  .tss-home-v232 .tss-home-featured .ss-card__meta{font-size:.52rem;line-height:1.3;letter-spacing:.11em}
  .tss-home-v232 .tss-home-featured .ss-card h3{font-size:clamp(1.3rem,6.3vw,1.65rem)!important;line-height:1.02;margin:5px 0 7px!important;overflow-wrap:anywhere}
  .tss-home-v232 .tss-home-featured .ss-card__inspiration{font-size:.78rem;line-height:1.25;margin:-1px 0 7px}
  .tss-home-v232 .tss-home-featured .tss-product-note-pyramid,
  .tss-home-v232 .tss-home-featured .ss-card__body > p:not(.ss-card__inspiration){display:none!important}
  .tss-home-v232 .tss-home-featured .ss-card__footer{gap:7px}
  .tss-home-v232 .tss-home-featured .tss-card-purchase{gap:7px!important;align-items:stretch!important}
  .tss-home-v232 .tss-home-featured .tss-card-purchase__price--mobile{display:block!important;color:#d6b35a!important;font-size:.86rem;font-weight:800}
  .tss-home-v232 .tss-home-featured .tss-card-purchase__button--desktop-discover{display:none!important}
  .tss-home-v232 .tss-home-featured .tss-card-purchase__button--mobile-buy{display:flex!important;width:100%!important;min-height:36px!important;padding:9px 8px!important;align-items:center;justify-content:center;border-radius:999px;font-size:.56rem!important;line-height:1.15!important;letter-spacing:.05em!important;white-space:normal;text-align:center}
  .tss-home-v232 .tss-home-featured .ss-section-cta{margin-top:26px!important}
  .tss-home-v232 .tss-home-featured .ss-section-cta .ss-btn{min-height:43px;padding:12px 18px;font-size:.65rem}

  /* Sanctuary Difference: four equal benefits in one compact 2x2 panel. */
  .tss-home-v232 .tss-home-values .ss-section__head{margin-bottom:22px!important}
  .tss-home-v232 .tss-home-values .ss-section__head p{margin-top:10px!important}
  .tss-home-v232 .tss-home-values .ss-benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1px!important;margin-top:20px!important}
  .tss-home-v232 .tss-home-values .ss-benefit{min-height:166px!important;padding:20px 14px!important;display:flex;flex-direction:column;align-items:center;justify-content:center}
  .tss-home-v232 .tss-home-values .tss-value-icon{font-size:1.25rem}
  .tss-home-v232 .tss-home-values .ss-benefit h3{font-size:1.18rem!important;line-height:1.08;margin:8px 0 7px!important}
  .tss-home-v232 .tss-home-values .ss-benefit p{font-size:.74rem!important;line-height:1.45!important}

  /* Specials: smaller edge tab, contained panel, no phone-width overflow. */
  .tss-specials{top:auto!important;right:0!important;bottom:72px!important;transform:none!important}
  .tss-specials__tab{top:auto!important;right:0!important;bottom:0!important;transform:none!important;width:30px!important;min-height:82px!important;padding:9px 5px!important;border-radius:10px 0 0 10px!important;font-size:.64rem;letter-spacing:.09em}
  .tss-specials__panel{width:calc(100vw - 24px)!important;max-width:420px!important;max-height:calc(100dvh - 118px)!important;margin-right:12px!important;padding:17px!important;border-right:1px solid rgba(210,170,69,.45)!important;border-radius:16px!important;transform:translateX(calc(100% + 36px))!important}
  .tss-specials.is-open .tss-specials__panel{transform:translateX(0)!important}
  .tss-specials__head h2{font-size:1.65rem}
  .tss-specials__intro{margin:8px 0 14px;font-size:.87rem}
  .tss-specials__item--feature{grid-template-columns:minmax(0,1fr)!important;gap:12px!important;padding:10px!important}
  .tss-specials__item--feature .tss-specials__image img{width:100%!important;height:auto!important;max-height:270px;aspect-ratio:4/3;object-fit:cover}
  .tss-specials__feature-button{min-height:40px}

  /* Footer: brand and socials stay visible; navigation groups collapse. */
  .site-footer{padding:48px 0 22px!important}
  .site-footer__grid{grid-template-columns:1fr!important;gap:22px!important}
  .site-footer__grid > div:first-child h2{font-size:2rem!important}
  .site-footer__grid > div:first-child p{margin-bottom:16px}
  .site-footer__grid > .tss-footer-accordion{padding-top:0;border-top:1px solid rgba(255,255,255,.12)}
  .tss-footer-accordion > h3{display:none!important}
  .tss-footer-accordion-toggle{display:flex;width:100%;min-height:48px;padding:0;border:0;background:transparent;color:var(--ss-gold-light);align-items:center;justify-content:space-between;text-align:left;font:700 .78rem/1 Montserrat,sans-serif;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}
  .tss-footer-accordion-toggle::after{content:"+";font-size:1.25rem;font-weight:400;line-height:1}
  .tss-footer-accordion-toggle[aria-expanded="true"]::after{content:"−"}
  .tss-footer-accordion > ul{display:none;padding:0 0 12px!important}
  .tss-footer-accordion.is-open > ul{display:block}
  .tss-footer-accordion li{margin:7px 0!important}
  .tss-footer-accordion a{font-size:.86rem}
  .site-footer__bottom{margin-top:26px!important;padding-top:18px!important;gap:6px!important;font-size:.72rem!important}
}

@media (max-width:390px){
  .tss-home-v232 .tss-home-featured .ss-product-grid{gap:9px!important}
  .tss-home-v232 .tss-home-featured .ss-card__body{padding:11px 10px!important}
  .tss-home-v232 .tss-home-featured .ss-card h3{font-size:1.24rem!important}
  .tss-home-v232 .tss-home-values .ss-benefit{min-height:158px!important;padding:18px 11px!important}
}


/* ==========================================================================\n   v3.271.2 — Mobile viewport sections + soft scroll settling\n   Gives each major homepage block a phone-sized stage and uses proximity\n   scroll snapping so sections settle gently without hijacking normal scrolling.\n   ========================================================================== */
@media (max-width:760px){
  /* Soft section settling. Proximity keeps tall content freely scrollable. */
  /* Native root scroll-snap removed in v3.271.3. Android Chrome can
     re-evaluate the snap position while the sticky header moves, which causes
     visible jumps. Section settling is now handled after scrolling stops. */
  html{scroll-snap-type:none!important;scroll-padding-top:0}
  .tss-home-v232 > section,.site-footer{scroll-snap-align:none!important;scroll-snap-stop:normal;scroll-margin-top:0}

  /* Slightly slimmer sticky chrome so each section gets more usable viewport. */
  .site-header__inner{min-height:68px!important}
  .site-branding{height:56px!important}
  .site-branding img,.custom-logo{height:50px!important;max-height:50px!important;max-width:112px!important}
  .ss-menu-toggle{width:36px;height:36px}
  .site-nav{padding-top:104px!important}

  /* v3.271.4: do not force sections to viewport height.
     The previous min-height created visible blank bands on Android when a
     section's real content was shorter than the calculated phone stage. */
  .tss-home-v232 .tss-home-moods,
  .tss-home-v232 .tss-home-collections,
  .tss-home-v232 .tss-discovery-gateway,
  .tss-home-v232 .tss-home-featured,
  .tss-home-v232 .tss-home-values{
    min-height:0!important;
    box-sizing:border-box;
  }

  /* Mood block: keep all three choices visible within the stage on common phones. */
  .tss-home-v232 .tss-home-moods{padding-top:30px!important;padding-bottom:30px!important}
  .tss-home-v232 .tss-home-moods .tss-home-section-head{margin-bottom:14px!important}
  .tss-home-v232 .tss-home-moods .tss-home-section-head h2{font-size:clamp(2.15rem,9.7vw,2.8rem)!important}
  .tss-home-v232 .tss-home-moods .tss-home-section-head p{font-size:.82rem!important;line-height:1.45!important}
  .tss-home-v232 .tss-home-moods .ss-moods{gap:8px!important;margin-top:14px!important}
  .tss-home-v232 .tss-home-moods .ss-mood-card{min-height:132px!important;padding:15px 18px!important;border-radius:15px}
  .tss-home-v232 .tss-home-moods .ss-mood-card h3{font-size:1.75rem!important}
  .tss-home-v232 .tss-home-moods .ss-mood-card p{font-size:.75rem!important;margin-top:3px!important}
  .tss-home-v232 .tss-home-moods .ss-mood-card span{font-size:.56rem!important;margin-top:5px!important}

  /* Collection block: four cinematic shortcuts sized to fit as a single mobile stage. */
  .tss-home-v232 .tss-home-collections{padding-top:26px!important;padding-bottom:26px!important;display:block}
  .tss-home-v232 .tss-home-collections > .ss-container{width:100%}
  .tss-home-v232 .tss-collection-accordion{gap:8px!important}
  .tss-home-v232 .tss-collection-panel,
  .tss-home-v232 .tss-collection-panel.is-active{height:132px!important;border-radius:15px!important}
  .tss-home-v232 .tss-collection-panel__trigger{border-radius:15px!important}
  .tss-home-v232 .tss-collection-panel__closed-title,
  .tss-home-v232 .tss-collection-panel.is-active .tss-collection-panel__closed-title{left:18px!important;bottom:14px!important;font-size:1.62rem!important}

  /* Discovery Pack: proposition and product visual fit into one deliberate stage. */
  .tss-home-v232 .tss-discovery-gateway{padding-top:30px!important;padding-bottom:30px!important;display:block}
  .tss-home-v232 .tss-discovery-gateway__inner{gap:17px!important}
  .tss-home-v232 .tss-discovery-gateway__copy h2{font-size:clamp(2.15rem,10.5vw,2.9rem)!important;margin:.18em 0 .2em!important}
  .tss-home-v232 .tss-discovery-gateway__copy p{font-size:.84rem!important;line-height:1.5!important;margin-bottom:15px!important}
  .tss-home-v232 .tss-discovery-gateway__image img{height:180px!important}

  /* Latest additions: preserve 2x2 shopping grid while tightening the stage. */
  .tss-home-v232 .tss-home-featured{padding-top:28px!important;padding-bottom:28px!important}
  .tss-home-v232 .tss-home-featured .tss-home-section-head{margin-bottom:17px!important}
  .tss-home-v232 .tss-home-featured .tss-home-section-head h2{font-size:clamp(2rem,9.5vw,2.75rem)!important}
  .tss-home-v232 .tss-home-featured .tss-home-section-head p{font-size:.8rem!important;line-height:1.45!important}
  .tss-home-v232 .tss-home-featured .ss-product-grid{gap:9px!important}
  .tss-home-v232 .tss-home-featured .ss-card__media{aspect-ratio:1/0.82!important;padding:9px!important}
  .tss-home-v232 .tss-home-featured .ss-card__body{padding:10px!important}
  .tss-home-v232 .tss-home-featured .ss-card h3{font-size:clamp(1.12rem,5.3vw,1.42rem)!important;margin:4px 0 5px!important}
  .tss-home-v232 .tss-home-featured .ss-card__inspiration{font-size:.68rem!important;margin-bottom:5px!important}
  .tss-home-v232 .tss-home-featured .tss-card-purchase__button--mobile-buy{min-height:33px!important;padding:7px 7px!important}
  .tss-home-v232 .tss-home-featured .ss-section-cta{margin-top:18px!important}

  /* Difference block: balanced 2x2 stage without the large dead areas. */
  .tss-home-v232 .tss-home-values{padding-top:30px!important;padding-bottom:30px!important;display:flex;align-items:center}
  .tss-home-v232 .tss-home-values > .ss-container{width:100%}
  .tss-home-v232 .tss-home-values .ss-section__head{margin-bottom:14px!important}
  .tss-home-v232 .tss-home-values .ss-section__head h2{font-size:clamp(2.05rem,9.7vw,2.8rem)!important}
  .tss-home-v232 .tss-home-values .ss-section__head p{font-size:.8rem!important;line-height:1.45!important}
  .tss-home-v232 .tss-home-values .ss-benefits{margin-top:14px!important}
  .tss-home-v232 .tss-home-values .ss-benefit{min-height:136px!important;padding:14px 10px!important}
  .tss-home-v232 .tss-home-values .ss-benefit h3{font-size:1.03rem!important;margin:6px 0 5px!important}
  .tss-home-v232 .tss-home-values .ss-benefit p{font-size:.68rem!important;line-height:1.35!important}

  /* The mobile Specials handle should be present, not dominant. */
  .tss-specials{bottom:58px!important}
  .tss-specials__tab{width:27px!important;min-height:70px!important;padding:7px 4px!important;font-size:.56rem!important;letter-spacing:.07em!important}
}

@media (max-width:760px) and (max-height:700px){
  /* Short phones still get the snap feel without content being clipped. */
  .tss-home-v232 .tss-home-moods,
  .tss-home-v232 .tss-home-collections,
  .tss-home-v232 .tss-discovery-gateway,
  .tss-home-v232 .tss-home-featured,
  .tss-home-v232 .tss-home-values{min-height:auto}
}


/* ==========================================================================\n   v3.271.5 — Mobile Latest Additions fit refinement\n   Keeps the working magnetic settle, but trims only the Latest Additions\n   stage so the full 2x2 product set and CTA sit more naturally in view.\n   ========================================================================== */
@media (max-width:760px){
  .tss-home-v232 .tss-home-featured{padding-top:20px!important;padding-bottom:20px!important}
  .tss-home-v232 .tss-home-featured .tss-home-section-head{margin-bottom:12px!important}
  .tss-home-v232 .tss-home-featured .tss-home-section-head .ss-kicker{margin-bottom:4px!important;font-size:.61rem!important}
  .tss-home-v232 .tss-home-featured .tss-home-section-head h2{font-size:clamp(1.82rem,8.6vw,2.42rem)!important;line-height:1!important}
  .tss-home-v232 .tss-home-featured .tss-home-section-head p{margin-top:8px!important;font-size:.75rem!important;line-height:1.35!important}
  .tss-home-v232 .tss-home-featured .ss-product-grid{gap:8px!important}
  .tss-home-v232 .tss-home-featured .ss-card__media{aspect-ratio:1/0.70!important;padding:7px!important}
  .tss-home-v232 .tss-home-featured .ss-card__body{padding:8px 9px 9px!important}
  .tss-home-v232 .tss-home-featured .ss-card__meta{font-size:.47rem!important}
  .tss-home-v232 .tss-home-featured .ss-card h3{font-size:clamp(1.02rem,4.9vw,1.30rem)!important;line-height:1!important;margin:3px 0 4px!important}
  .tss-home-v232 .tss-home-featured .ss-card__inspiration{font-size:.63rem!important;line-height:1.15!important;margin:0 0 4px!important}
  .tss-home-v232 .tss-home-featured .tss-card-purchase{gap:5px!important}
  .tss-home-v232 .tss-home-featured .tss-card-purchase__price--mobile{font-size:.76rem!important}
  .tss-home-v232 .tss-home-featured .tss-card-purchase__button--mobile-buy{min-height:30px!important;padding:6px!important;font-size:.51rem!important}
  .tss-home-v232 .tss-home-featured .ss-section-cta{margin-top:13px!important}
  .tss-home-v232 .tss-home-featured .ss-section-cta .ss-btn{min-height:38px!important;padding:10px 16px!important;font-size:.61rem!important}
}
