/*
Theme Name: WORDSTORE Studio v82 — Mercedes Image Fix
Theme URI: https://forestgreen-swan-644009.hostingersite.com/
Author: WORDSTORE
Description: واجهة مخصصة لمتجر WORDSTORE للطباعة عند الطلب، متوافقة مع WooCommerce.
Version: 82.0.0
Text Domain: wordstore-studio-v30
*/

:root {
  --ws-black: #111111;
  --ws-ink: #1d1d1d;
  --ws-white: #ffffff;
  --ws-paper: #f7f6f3;
  --ws-stone: #e8e5df;
  --ws-muted: #6d6a66;
  --ws-line: #dedbd5;
  --ws-radius: 14px;
  --ws-shadow: 0 12px 30px rgba(17, 17, 17, 0.08);
  --ws-max: 1240px;
}
.lang-short { display: none; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  background: var(--ws-white);
  color: var(--ws-ink);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  overflow-x: hidden;
}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #8a857c; outline-offset: 3px; }
body.wordstore-lang-fr, body.wordstore-lang-en { direction: ltr; text-align: left; }
body.wordstore-lang-ar { direction: rtl; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--ws-black); }
button, input, select, textarea { font: inherit; }
.container { width: min(calc(100% - 40px), var(--ws-max)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-header { position: relative; z-index: 20; background: var(--ws-white); border-bottom: 1px solid var(--ws-line); }
.header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 800; letter-spacing: .08em; }
.brand-logo { width: 40px; height: 32px; flex: 0 0 auto; object-fit: contain; object-position: center; }
.site-header .brand-logo { transform-origin: center; animation: wordstore-logo-reveal .55s cubic-bezier(.22,.61,.36,1) both; transition: transform .22s ease; }
.site-header .brand:hover .brand-logo, .site-header .brand:focus-visible .brand-logo { transform: translateY(-1px) scale(1.06) rotate(-2deg); }
@keyframes wordstore-logo-reveal { from { opacity: 0; transform: translateY(4px) scale(.92); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) { .site-header .brand-logo { animation: none; transition: none; } .site-header .brand:hover .brand-logo, .site-header .brand:focus-visible .brand-logo { transform: none; } }

/* Homepage entrance sequence: subtle, fast, and disabled for reduced-motion users. */
.home main > section { opacity: 0; animation: wordstore-section-in .62s cubic-bezier(.22,.61,.36,1) both; }
.home main > section:nth-of-type(1) { animation-delay: .05s; }
.home main > section:nth-of-type(2) { animation-delay: .14s; }
.home main > section:nth-of-type(3) { animation-delay: .23s; }
.home main > section:nth-of-type(4) { animation-delay: .32s; }
.home .hero-grid > * { opacity: 0; animation: wordstore-content-in .55s cubic-bezier(.22,.61,.36,1) both; }
.home .hero-grid > :nth-child(1) { animation-delay: .16s; }
.home .hero-grid > :nth-child(2) { animation-delay: .25s; }
@keyframes wordstore-section-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes wordstore-content-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .home main > section, .home .hero-grid > * { opacity: 1; animation: none; transform: none; } .hero-shirt-motion, .hero-shirt { animation: none; } }
.site-nav { display: flex; align-items: center; gap: 24px; font-size: 13px; font-weight: 600; }
.site-nav-list { display: flex; align-items: center; gap: 24px; list-style: none; margin: 0; padding: 0; }
.site-nav a { padding: 8px 0; border-bottom: 2px solid transparent; }
.site-nav a:hover { border-bottom-color: var(--ws-black); }
.language-switcher { display: inline-flex; align-items: center; gap: 6px; color: var(--ws-muted); font-size: 11px; font-weight: 700; white-space: nowrap; }
.language-switcher a { padding: 4px 0; border-bottom: 1px solid transparent; }
.language-switcher a:hover, .language-switcher a.is-active { color: var(--ws-black); border-bottom-color: var(--ws-black); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.header-action { min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ws-line); border-radius: 999px; font-size: 13px; }
.header-action:hover { background: var(--ws-black); color: var(--ws-white); border-color: var(--ws-black); }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; font-size: 25px; line-height: 1; cursor: pointer; }

.hero { background: var(--ws-black); color: var(--ws-white); padding: 92px 0 86px; }
.hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 64px; }
.eyebrow { margin: 0 0 18px; color: #c9c4bb; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.hero h1 { max-width: 760px; margin: 0; font-size: clamp(38px, 6vw, 76px); line-height: 1.08; letter-spacing: -.045em; }
.hero h1 span { color: #d8d3ca; }
.hero-copy { max-width: 540px; margin: 24px 0 0; color: #d6d3cd; font-size: 17px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 8px; padding: 12px 22px; border: 1px solid var(--ws-black); border-radius: 999px; background: var(--ws-black); color: var(--ws-white); font-size: 13px; font-weight: 700; cursor: pointer; transition: .2s ease; }
.button:hover { transform: translateY(-2px); background: #303030; color: var(--ws-white); }
.button-light { background: var(--ws-white); color: var(--ws-black); border-color: var(--ws-white); }
.button-light:hover { background: #eceae5; color: var(--ws-black); }
.button-outline { background: transparent; color: var(--ws-black); }
.button-outline:hover { background: var(--ws-black); color: var(--ws-white); }
.hero-card { min-height: 460px; display: flex; align-items: flex-end; padding: 28px; background: linear-gradient(145deg, #292929, #101010); border: 1px solid #3c3c3c; border-radius: 22px; }
.hero-shirt-stage { position: relative; overflow: hidden; isolation: isolate; }
.hero-shirt-glow { position: absolute; z-index: 0; top: 18%; left: 50%; width: 280px; height: 280px; transform: translateX(-50%); border-radius: 50%; background: rgba(255,255,255,.08); filter: blur(34px); pointer-events: none; }
.hero-shirt-motion { position: absolute; z-index: 1; inset: 10px 8px 52px; display: grid; place-items: center; pointer-events: none; animation: wordstore-shirt-entrance .9s cubic-bezier(.22,.61,.36,1) .18s both; }
.hero-shirt { width: 430px; max-width: 92%; height: 390px; object-fit: contain; object-position: center; filter: drop-shadow(0 24px 22px rgba(0,0,0,.28)); animation: wordstore-shirt-float 6s ease-in-out 1.08s infinite; }
.hero-card-inner { position: relative; z-index: 2; width: 100%; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-top: auto; }
.hero-card-label { color: #bab6af; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.hero-card-title { margin-top: 8px; font-size: 24px; font-weight: 700; }
.hero-card-mark { color: #d8d3ca; font-size: 12px; font-weight: 800; letter-spacing: .18em; }
@keyframes wordstore-shirt-entrance { from { opacity: 0; transform: translateY(34px) scale(.88); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes wordstore-shirt-float { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-9px) rotate(1deg); } }

.feature-strip { border-bottom: 1px solid var(--ws-line); background: var(--ws-paper); }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.feature { padding: 22px 20px; border-inline-start: 1px solid var(--ws-line); }
.feature:first-child { border-inline-start: 0; }
.feature strong { display: block; font-size: 13px; }
.feature span { color: var(--ws-muted); font-size: 12px; }

.section { padding: 88px 0; }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.section-kicker { margin: 0 0 8px; color: var(--ws-muted); font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.section-title { margin: 0; color: var(--ws-black); font-size: clamp(28px, 4vw, 46px); line-height: 1.12; letter-spacing: -.04em; }
.section-intro { max-width: 550px; margin: 16px 0 0; color: var(--ws-muted); }
.products-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 280px)); justify-content: center; gap: 22px; }
.product-card { overflow: hidden; border: 1px solid var(--ws-line); border-radius: var(--ws-radius); background: var(--ws-white); transition: .2s ease; }
.product-card:hover { transform: translateY(-4px); box-shadow: var(--ws-shadow); }
.product-image { aspect-ratio: 1 / 1; overflow: hidden; background: var(--ws-paper); }
.product-image img { width: 100%; height: 100%; object-fit: cover; }
.product-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: var(--ws-muted); font-size: 13px; }
.product-info { padding: 18px; }
.product-title { min-height: 50px; margin: 0; font-size: 16px; line-height: 1.45; }
.product-price { margin: 10px 0 16px; font-weight: 700; }
.product-link { display: inline-flex; padding: 9px 14px; border: 1px solid var(--ws-black); border-radius: 999px; font-size: 12px; font-weight: 700; }
.product-link:hover { background: var(--ws-black); color: var(--ws-white); }

.custom-design { background: var(--ws-paper); }
.custom-design-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: start; }
.custom-design-panel { padding: 30px; border: 1px solid var(--ws-line); border-radius: 18px; background: var(--ws-white); }
.design-points { display: grid; gap: 14px; margin-top: 28px; }
.design-point { display: flex; gap: 12px; align-items: flex-start; }
.design-point-number { flex: 0 0 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--ws-black); color: var(--ws-white); font-size: 12px; font-weight: 700; }
.design-point strong { display: block; font-size: 13px; }
.design-point span { display: block; color: var(--ws-muted); font-size: 12px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-field { display: grid; gap: 7px; }
.form-field.full { grid-column: 1 / -1; }
.form-field label { font-size: 12px; font-weight: 700; }
.form-field input, .form-field select, .form-field textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--ws-line); border-radius: 10px; background: var(--ws-white); color: var(--ws-ink); }
.form-field textarea { min-height: 120px; resize: vertical; }
.form-note { color: var(--ws-muted); font-size: 11px; }
.form-success, .form-error { margin-bottom: 18px; padding: 12px 14px; border-radius: 10px; font-size: 13px; }
.form-success { background: #e8f2e9; color: #1f5c28; }
.form-error { background: #f9e7e5; color: #76261f; }

.site-footer { padding: 58px 0 26px; background: var(--ws-black); color: var(--ws-white); }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 42px; padding-bottom: 42px; }
.footer-title { margin: 0 0 14px; font-size: 14px; }
.footer-copy, .footer-links a { color: #bdb9b2; font-size: 12px; }
.footer-links { display: grid; gap: 8px; }
.footer-links a:hover { color: var(--ws-white); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid #3a3a3a; color: #918d87; font-size: 11px; }

.woocommerce .site-main, .site-main { padding: 62px 0 90px; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 24px; color: var(--ws-muted); font-size: 12px; }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 280px)); justify-content: center; gap: 22px; margin: 0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; border: 1px solid var(--ws-line); border-radius: var(--ws-radius); overflow: hidden; background: var(--ws-white); }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1; object-fit: cover; margin: 0 !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 18px 18px 0; font-size: 16px; }
.woocommerce ul.products li.product .price { padding: 0 18px; color: var(--ws-ink); font-weight: 700; }
.woocommerce ul.products li.product .button { margin: 0 18px 18px; }
.woocommerce span.onsale { top: 12px; left: 12px; right: auto; min-width: 0; min-height: 0; padding: 7px 11px; border-radius: 999px; background: var(--ws-black); font-size: 10px; line-height: 1; }
.woocommerce .quantity .qty, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { padding: 12px; border: 1px solid var(--ws-line); border-radius: 8px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--ws-black); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { border-radius: 999px; background: var(--ws-black); color: var(--ws-white); }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover { background: #333; color: var(--ws-white); }

/* v89 — unified premium controls for every WooCommerce product. */
.woocommerce div.product form.cart .variations select,
.woocommerce div.product form.cart .variations option {
  font-family: "Montserrat", Arial, sans-serif;
}
.woocommerce div.product form.cart .variations select {
  min-height: 48px;
  min-width: 220px;
  padding: 0 16px;
  border: 1px solid #555;
  border-radius: 8px;
  background: #151515;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}
.woocommerce div.product form.cart .variations select:focus {
  border-color: #fff;
  outline: 2px solid rgba(255,255,255,.24);
  outline-offset: 2px;
}
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  min-height: 50px;
  padding: 13px 24px;
  border: 1px solid #fff;
  border-radius: 8px;
  background: #fff;
  color: #111;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.2;
  text-transform: uppercase;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  border-color: #d9d9d9;
  background: #d9d9d9;
  color: #111;
}
.woocommerce div.product form.cart .quantity .qty {
  min-height: 50px;
  border: 1px solid #555;
  border-radius: 8px;
  background: #151515;
  color: #fff;
  font-weight: 700;
}
.woocommerce div.product form.cart .reset_variations {
  color: #aaa;
  font-size: 11px;
}
@media (max-width: 720px) {
  .woocommerce div.product form.cart .variations select { width: 100%; min-width: 0; }
  .woocommerce div.product form.cart .single_add_to_cart_button { min-height: 52px; width: 100%; }
  .woocommerce ul.products li.product .button { width: calc(100% - 36px); justify-content: center; }
}

/* v90 — button-based variation choices for every variable product. */
.woocommerce div.product form.cart .variations td.value {
  position: relative;
}
.woocommerce div.product form.cart .variations select.wordstore-variation-select {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.wordstore-option-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  min-height: 48px;
}
.wordstore-option-button {
  min-width: 58px;
  min-height: 44px;
  padding: 9px 16px;
  border: 1px solid #555;
  border-radius: 7px;
  background: #151515;
  color: #f5f5f5;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.1;
  cursor: pointer;
}
.wordstore-option-button:hover,
.wordstore-option-button:focus-visible {
  border-color: #fff;
  background: #292929;
  color: #fff;
}
.wordstore-option-button.is-selected {
  border-color: #fff;
  background: #fff;
  color: #111;
}
.wordstore-option-button:disabled {
  cursor: not-allowed;
  opacity: .28;
  text-decoration: line-through;
}
@media (max-width: 720px) {
  .wordstore-option-buttons { gap: 8px; }
  .wordstore-option-button { min-width: 52px; min-height: 42px; padding-inline: 13px; }
}

.pagination { display: flex; gap: 8px; margin-top: 35px; }
.pagination a, .pagination span { padding: 8px 12px; border: 1px solid var(--ws-line); border-radius: 8px; font-size: 12px; }
.pagination .current { background: var(--ws-black); color: var(--ws-white); border-color: var(--ws-black); }
.entry-title { margin-top: 0; font-size: clamp(30px, 4vw, 52px); line-height: 1.12; letter-spacing: -.04em; }
.entry-content { max-width: 800px; }

@media (max-width: 980px) {
  .hero-grid, .custom-design-grid { grid-template-columns: 1fr; gap: 34px; }
  .products-grid, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .container { width: min(calc(100% - 28px), var(--ws-max)); }
  .header-inner { min-height: 66px; }
  .menu-toggle { display: block; }
  .site-nav { position: absolute; top: 66px; left: 14px; right: 14px; max-height: calc(100vh - 82px); overflow-y: auto; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 18px; border: 1px solid var(--ws-line); border-radius: 14px; background: var(--ws-white); box-shadow: var(--ws-shadow); }
  .site-nav-list { display: grid; gap: 0; }
  .site-nav.is-open { display: flex; }
  .site-nav a { display: flex; min-height: 44px; align-items: center; padding: 10px 0; }
  .header-actions .header-action:nth-child(2) { display: none; }
  .header-inner { gap: 10px; }
  .language-switcher { order: 3; flex-shrink: 0; margin-inline-start: auto; font-size: 10px; }
  .hero { padding: 54px 0 50px; }
  .hero-grid { gap: 28px; }
  .hero-card.hero-shirt-stage { order: -1; }
  .hero h1 { font-size: clamp(36px, 12vw, 52px); }
  .hero-copy { margin-top: 18px; font-size: 15px; }
  .hero-actions { margin-top: 26px; }
  .hero-actions .button { width: 100%; }
  .hero-card { min-height: 230px; padding: 22px; }
  .hero-shirt-stage { min-height: 330px; padding: 18px; }
  .hero-shirt-motion { inset: 2px 4px 50px; }
  .hero-shirt { width: 300px; height: 250px; }
  .hero-card-title { font-size: 20px; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .feature { min-height: 86px; padding: 18px 14px; border-bottom: 1px solid var(--ws-line); }
  .feature strong { font-size: 12px; }
  .feature span { font-size: 11px; }
  .section { padding: 62px 0; }
  .section-head { display: block; }
  .section-head .button { margin-top: 18px; }
  .products-grid, .woocommerce ul.products { grid-template-columns: 1fr 1fr; gap: 12px; }
  .product-info { padding: 12px; }
  .product-title { min-height: 42px; font-size: 13px; }
  .product-price { margin: 8px 0 12px; font-size: 13px; }
  .product-link { width: 100%; min-height: 42px; padding: 8px 10px; font-size: 10px; }
  .woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100%; float: none; }
  .woocommerce div.product div.summary { margin-top: 26px; }
  .woocommerce div.product form.cart .variations, .woocommerce div.product form.cart .variations select { width: 100%; }
  .woocommerce div.product form.cart .quantity { margin-bottom: 12px; }
  .woocommerce div.product form.cart .button { min-height: 46px; width: 100%; }
  .woocommerce .cart-collaterals, .woocommerce .cart_totals { width: 100%; float: none; }
  .woocommerce table.shop_table { font-size: 12px; }
  .woocommerce .woocommerce-checkout-review-order-table { display: block; overflow-x: auto; white-space: nowrap; }
  .woocommerce form .form-row, .woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; margin-inline-end: 0; }
  .woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; }
  .custom-design-panel { padding: 20px; }
  .custom-design .section-title { font-size: 32px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field input, .form-field select, .form-field textarea { min-height: 46px; }
  .form-field textarea { min-height: 130px; }
  .form-field.full { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .footer-bottom { display: block; }
  .footer-bottom span { display: block; margin-top: 8px; }
}
@media (max-width: 420px) {
  .container { width: min(calc(100% - 24px), var(--ws-max)); }
  .brand { font-size: 18px; gap: 7px; }
  .brand-logo { width: 34px; height: 29px; }
  .hero-shirt-stage { min-height: 300px; }
  .hero-shirt { width: 270px; height: 230px; }
  .language-switcher { gap: 4px; font-size: 9px; }
  .language-switcher .lang-full { display: none; }
  .language-switcher .lang-short { display: inline; }
  .header-actions .header-action { min-width: 38px; height: 38px; font-size: 11px; }
  .products-grid, .woocommerce ul.products { grid-template-columns: 1fr; }
  .hero h1 { font-size: 36px; }
  .section { padding: 52px 0; }
  .section-title { font-size: 30px; }
  .feature-grid { grid-template-columns: 1fr 1fr; }
  .feature { padding-inline: 10px; }
}

/* v22 poster motion preview: visual staging for the four real Wordstore poster drafts. */
.poster-hero { position: relative; overflow: hidden; min-height: 720px; padding: 72px 0 34px; background: #111111; color: #ffffff; isolation: isolate; }
.poster-hero::before, .poster-hero::after { position: absolute; z-index: -1; content: ''; pointer-events: none; }
.poster-hero::before { top: -22%; right: -12%; width: 64vw; height: 90%; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; transform: rotate(-14deg); }
.poster-hero::after { bottom: -35%; left: -18%; width: 62vw; height: 78%; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; transform: rotate(18deg); }
.poster-hero-noise { position: absolute; z-index: -1; inset: 0; opacity: .22; pointer-events: none; background-image: linear-gradient(120deg, rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(30deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: 54px 54px, 38px 38px; }
.poster-hero-grid { min-height: 620px; display: grid; grid-template-columns: .84fr 1.16fr; align-items: center; gap: 48px; }
.poster-hero-copy { position: relative; z-index: 2; max-width: 520px; }
.poster-hero-index { margin: 0 0 18px; color: #bdb9b2; font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.poster-hero-index span { color: #ffffff; }
.poster-hero h1 { max-width: 600px; margin: 0; color: #ffffff; font-size: clamp(44px, 7vw, 88px); line-height: .98; letter-spacing: -.06em; }
.poster-hero h1 span { color: #d8d3ca; }
.poster-hero .hero-copy { max-width: 460px; margin: 26px 0 0; color: #cfcac2; font-size: 16px; }
.poster-hero .hero-actions { margin-top: 30px; }
.poster-hero-meta { display: grid; gap: 5px; max-width: 360px; margin-top: 46px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.2); }
.poster-hero-meta-label { color: #99958e; font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.poster-hero-meta strong { color: #ffffff; font-size: 15px; font-weight: 700; line-height: 1.45; }
.poster-hero-meta > span:last-child { color: #d8d3ca; font-size: 13px; font-weight: 700; }
.poster-stage-wrap { min-width: 0; }
.poster-stage { position: relative; min-height: 590px; display: grid; place-items: center; perspective: 1300px; outline: none; touch-action: pan-y; }
.poster-stage:focus-visible { outline: 3px solid #ffffff; outline-offset: 14px; }
.poster-stage-orbit { position: absolute; width: min(42vw, 540px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; transform: rotate(-18deg) scaleY(.42); }
.poster-stage-orbit::before, .poster-stage-orbit::after { position: absolute; content: ''; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; }
.poster-stage-orbit::before { inset: 11%; }
.poster-stage-orbit::after { inset: 22%; }
.poster-stage-shadow { position: absolute; bottom: 6%; width: min(34vw, 390px); height: 42px; border-radius: 50%; background: rgba(0,0,0,.65); filter: blur(22px); transform: rotate(-5deg); }
.poster-card { position: absolute; top: 50%; left: 50%; width: min(260px, 32vw); aspect-ratio: 0.7065; transform-style: preserve-3d; transform-origin: center center; border: 1px solid rgba(255,255,255,.38); background: #232323; box-shadow: 0 30px 60px rgba(0,0,0,.4); transition: transform .72s cubic-bezier(.22,.61,.36,1), opacity .72s ease, filter .72s ease; }
.poster-card::after { position: absolute; z-index: -1; top: 10px; right: -9px; bottom: -10px; width: 10px; content: ''; border: 1px solid rgba(255,255,255,.16); border-left: 0; background: #292929; transform: skewY(-6deg); transform-origin: left center; }
.poster-card-frame { position: absolute; inset: 8px; display: block; overflow: hidden; background: #eeeeee; }
.poster-card-frame img { width: 100%; height: 100%; object-fit: cover; }
.poster-card-sheen { position: absolute; z-index: 2; inset: 0; pointer-events: none; background: linear-gradient(120deg, transparent 28%, rgba(255,255,255,.16) 47%, transparent 64%); mix-blend-mode: screen; opacity: .55; transform: translateX(-115%); }
.poster-card-active { z-index: 3; display: block; opacity: 1; cursor: pointer; transform: translate(-50%, -50%) rotateY(-9deg) rotateZ(-3deg) translateZ(60px); }
.poster-card-active:hover { transform: translate(-50%, -50%) rotateY(-4deg) rotateZ(-2deg) translateZ(70px) scale(1.015); }
.poster-card-active.is-changing .poster-card-sheen { animation: poster-sheen .8s ease both; }
.poster-card-prev, .poster-card-next { z-index: 1; opacity: .56; filter: saturate(.55) brightness(.72); pointer-events: none; }
.poster-card-prev { transform: translate(calc(-50% - 190px), -50%) rotateY(28deg) rotateZ(-8deg) scale(.82); }
.poster-card-next { transform: translate(calc(-50% + 190px), -50%) rotateY(-31deg) rotateZ(8deg) scale(.82); }
.poster-card-prev::before, .poster-card-next::before { position: absolute; inset: 0; content: ''; background: rgba(0,0,0,.12); }
.poster-stage-hint { position: absolute; right: 7%; bottom: 2%; color: #9b978f; font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.poster-controls { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: -4px; }
.poster-control { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: transparent; color: #ffffff; font-size: 15px; font-weight: 700; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.poster-control:hover, .poster-control:focus-visible { border-color: #ffffff; background: #ffffff; color: #111111; }
.poster-control-play { font-size: 12px; }
.poster-hero-footer { display: flex; justify-content: space-between; gap: 20px; color: #77736d; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
@keyframes poster-sheen { 0% { opacity: 0; transform: translateX(-115%); } 35% { opacity: .75; } 100% { opacity: 0; transform: translateX(115%); } }
@keyframes poster-hero-in { from { opacity: 0; transform: translateY(28px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
.poster-hero-copy > *, .poster-stage-wrap { opacity: 0; animation: poster-hero-in .7s cubic-bezier(.22,.61,.36,1) both; }
.poster-hero-copy > :nth-child(1) { animation-delay: .08s; }
.poster-hero-copy > :nth-child(2) { animation-delay: .14s; }
.poster-hero-copy > :nth-child(3) { animation-delay: .2s; }
.poster-hero-copy > :nth-child(4) { animation-delay: .26s; }
.poster-hero-copy > :nth-child(5) { animation-delay: .32s; }
.poster-stage-wrap { animation-delay: .2s; }
@media (max-width: 980px) {
  .poster-hero { min-height: 0; padding-top: 56px; }
  .poster-hero-grid { min-height: 0; grid-template-columns: 1fr; gap: 20px; }
  .poster-hero-copy { max-width: 700px; }
  .poster-stage { min-height: 560px; }
  .poster-stage-orbit { width: min(70vw, 520px); }
  .poster-card { width: min(260px, 34vw); }
  .poster-card-prev { transform: translate(calc(-50% - 150px), -50%) rotateY(28deg) rotateZ(-8deg) scale(.82); }
  .poster-card-next { transform: translate(calc(-50% + 150px), -50%) rotateY(-31deg) rotateZ(8deg) scale(.82); }
}
@media (max-width: 720px) {
  .poster-hero { padding: 40px 0 24px; }
  .poster-hero h1 { font-size: clamp(42px, 15vw, 66px); }
  .poster-hero .hero-copy { margin-top: 20px; font-size: 14px; }
  .poster-hero .hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .poster-hero .hero-actions .button { min-height: 46px; padding-inline: 10px; font-size: 11px; }
  .poster-hero-meta { margin-top: 28px; }
  .poster-stage { min-height: 470px; margin-inline: -10px; }
  .poster-stage-orbit { width: 92vw; }
  .poster-stage-shadow { bottom: 5%; width: 58vw; }
  .poster-card { width: min(230px, 55vw); }
  .poster-card-prev { transform: translate(calc(-50% - 116px), -50%) rotateY(27deg) rotateZ(-8deg) scale(.76); }
  .poster-card-next { transform: translate(calc(-50% + 116px), -50%) rotateY(-30deg) rotateZ(8deg) scale(.76); }
  .poster-stage-hint { right: 3%; bottom: 1%; font-size: 9px; }
  .poster-hero-footer { display: none; }
}
@media (max-width: 420px) {
  .poster-hero .hero-actions { grid-template-columns: 1fr; }
  .poster-stage { min-height: 410px; }
  .poster-card { width: 190px; }
  .poster-card-prev { transform: translate(calc(-50% - 86px), -50%) rotateY(25deg) rotateZ(-8deg) scale(.72); }
  .poster-card-next { transform: translate(calc(-50% + 86px), -50%) rotateY(-28deg) rotateZ(8deg) scale(.72); }
  .poster-control { width: 40px; height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .poster-hero-copy > *, .poster-stage-wrap { opacity: 1; animation: none; }
  .poster-card, .poster-control { transition: none; }
  .poster-card-active.is-changing .poster-card-sheen { animation: none; }
}

/* v23 category motion hero */
.category-hero {
  position: relative;
  min-height: 720px;
  overflow: hidden;
  background: #111;
  color: #fff;
}
.category-hero::before,
.category-hero::after {
  content: '';
  position: absolute;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
}
.category-hero::before { width: 900px; height: 900px; right: -260px; top: -360px; }
.category-hero::after { width: 560px; height: 560px; left: -240px; bottom: -300px; }
.category-hero-grid {
  position: relative;
  z-index: 1;
  min-height: 645px;
  display: grid;
  grid-template-columns: minmax(300px, .9fr) minmax(430px, 1.1fr);
  align-items: center;
  gap: 4vw;
  padding-top: 112px;
}
.category-hero-copy { max-width: 530px; padding-top: 8px; }
.category-hero-copy .eyebrow { color: rgba(255,255,255,.58); }
.category-hero-index { margin: 12px 0 16px; color: #fff; font-size: 13px; letter-spacing: .14em; font-weight: 700; }
.category-hero h1 { margin: 0; color: #fff; font-size: clamp(48px, 6vw, 86px); line-height: .98; letter-spacing: -.06em; }
.category-hero h1 span { color: #d6d2ca; }
.category-hero .hero-copy { max-width: 460px; margin: 26px 0 0; color: rgba(255,255,255,.72); font-size: 16px; }
.category-hero .button { border-color: rgba(255,255,255,.35); color: #fff; }
.category-hero .button:hover, .category-hero .button:focus-visible { background: #fff; color: #111; }
.category-hero .button-light { background: #fff; border-color: #fff; color: #111; }
.category-hero-meta { display: grid; gap: 3px; margin-top: 34px; min-height: 78px; border-top: 1px solid rgba(255,255,255,.16); padding-top: 14px; }
.category-hero-meta-label { color: rgba(255,255,255,.5); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.category-hero-meta strong { color: #fff; font-size: 19px; }
.category-hero-meta > span:last-child { color: #d6d2ca; font-size: 13px; }
.category-stage-wrap { min-width: 0; }
.category-stage {
  position: relative;
  min-height: 505px;
  perspective: 1200px;
  outline: none;
  touch-action: pan-y;
}
.category-stage:focus-visible { outline: 2px solid #fff; outline-offset: 10px; }
.category-stage-orbit { position: absolute; width: 480px; height: 480px; left: 50%; top: 50%; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }
.category-stage-orbit::after { content: ''; position: absolute; inset: 42px; border: 1px dashed rgba(255,255,255,.11); border-radius: 50%; }
.category-stage-shadow { position: absolute; width: 370px; height: 52px; left: 50%; bottom: 38px; transform: translateX(-50%); background: rgba(0,0,0,.7); filter: blur(20px); border-radius: 50%; }
.category-card { position: absolute; left: 50%; top: 50%; display: block; width: 245px; aspect-ratio: 3 / 4; transform-style: preserve-3d; text-decoration: none; transition: transform .75s cubic-bezier(.22,.8,.2,1), opacity .75s ease, filter .75s ease; }
.category-card-frame { display: block; height: 100%; overflow: hidden; background: #e8e5df; border: 1px solid rgba(255,255,255,.35); box-shadow: 0 28px 60px rgba(0,0,0,.36); }
.category-card-frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.category-card-label { position: absolute; right: 14px; bottom: 13px; left: 14px; color: #fff; font-size: 12px; font-weight: 700; text-shadow: 0 1px 10px rgba(0,0,0,.7); }
.category-card-active { z-index: 3; transform: translate(-50%,-50%) rotateY(-7deg) rotateZ(-2deg) translateZ(70px); }
.category-card-active:hover, .category-card-active:focus-visible { transform: translate(-50%,-50%) rotateY(-1deg) rotateZ(0deg) translateZ(96px) scale(1.02); }
.category-card-prev { z-index: 2; opacity: .72; filter: saturate(.82); transform: translate(calc(-50% - 154px), -50%) rotateY(28deg) rotateZ(-8deg) scale(.78); }
.category-card-next { z-index: 1; opacity: .64; filter: saturate(.74); transform: translate(calc(-50% + 154px), -50%) rotateY(-28deg) rotateZ(8deg) scale(.78); }
.category-card-sheen { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(112deg, transparent 30%, rgba(255,255,255,.3) 48%, transparent 64%); mix-blend-mode: screen; opacity: 0; }
.category-card-active.is-changing .category-card-sheen { animation: categorySheen .9s ease-out; }
@keyframes categorySheen { 0% { opacity: 0; transform: translateX(-35%); } 25% { opacity: .75; } 100% { opacity: 0; transform: translateX(35%); } }
.category-stage-hint { position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%); color: rgba(255,255,255,.46); font-size: 11px; letter-spacing: .08em; white-space: nowrap; }
.category-controls { display: flex; justify-content: center; gap: 10px; margin-top: -2px; }
.category-control { width: 48px; height: 42px; border: 1px solid rgba(255,255,255,.32); background: transparent; color: #fff; font: inherit; cursor: pointer; }
.category-control:hover, .category-control:focus-visible { border-color: #fff; background: #fff; color: #111; }
.category-control-play { font-size: 15px; }
.category-hero-footer { position: relative; z-index: 1; display: flex; justify-content: space-between; padding-top: 18px; color: rgba(255,255,255,.38); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
@media (max-width: 900px) {
  .category-hero { min-height: 780px; }
  .category-hero-grid { min-height: 710px; grid-template-columns: 1fr; gap: 14px; padding-top: 100px; }
  .category-hero-copy { max-width: 620px; }
  .category-hero-copy .hero-copy { max-width: 560px; }
  .category-stage { min-height: 405px; margin-top: -4px; }
  .category-stage-orbit { width: 360px; height: 360px; }
  .category-stage-shadow { bottom: 28px; width: 275px; }
  .category-card { width: 190px; }
  .category-card-prev { transform: translate(calc(-50% - 112px), -50%) rotateY(25deg) rotateZ(-7deg) scale(.76); }
  .category-card-next { transform: translate(calc(-50% + 112px), -50%) rotateY(-25deg) rotateZ(7deg) scale(.76); }
  .category-hero-footer { padding: 0 20px; }
}
@media (max-width: 520px) {
  .category-hero { min-height: 735px; }
  .category-hero-grid { min-height: 670px; padding-top: 88px; }
  .category-hero h1 { font-size: clamp(43px, 14vw, 64px); }
  .category-hero .hero-copy { margin-top: 18px; font-size: 14px; line-height: 1.8; }
  .category-hero-meta { margin-top: 22px; }
  .category-stage { min-height: 328px; }
  .category-stage-orbit { width: 290px; height: 290px; }
  .category-stage-shadow { bottom: 24px; width: 220px; height: 38px; }
  .category-card { width: 145px; }
  .category-card-active { transform: translate(-50%,-50%) rotateY(-5deg) rotateZ(-2deg) translateZ(42px); }
  .category-card-prev { transform: translate(calc(-50% - 83px), -50%) rotateY(22deg) rotateZ(-6deg) scale(.76); }
  .category-card-next { transform: translate(calc(-50% + 83px), -50%) rotateY(-22deg) rotateZ(6deg) scale(.76); }
  .category-card-label { right: 8px; bottom: 8px; left: 8px; font-size: 10px; }
  .category-stage-hint { bottom: 0; font-size: 10px; }
  .category-hero-footer { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .category-card, .category-control { transition: none; }
  .category-card-active.is-changing .category-card-sheen { animation: none; }
}

/* v24 front-end refinement layer */
.site-header { position: sticky; top: 0; backdrop-filter: blur(14px); background: rgba(255,255,255,.94); }
.header-inner { min-height: 82px; }
.brand { color: var(--ws-black); letter-spacing: .1em; }
.site-nav a { position: relative; border-bottom: 0; }
.site-nav a::after { position: absolute; right: 0; bottom: 1px; left: 0; height: 2px; content: ''; background: var(--ws-black); transform: scaleX(0); transform-origin: right; transition: transform .22s ease; }
.site-nav a:hover::after, .site-nav a:focus-visible::after { transform: scaleX(1); }
.header-action { border-radius: 10px; }
.category-hero { min-height: 690px; background: radial-gradient(circle at 18% 48%, rgba(255,255,255,.07), transparent 28%), #111; }
.category-hero-grid { min-height: 610px; }
.category-hero-copy { max-width: 560px; }
.category-hero-index { display: inline-flex; gap: 7px; border-bottom: 1px solid rgba(255,255,255,.3); padding-bottom: 8px; }
.category-hero h1 { font-weight: 800; }
.category-hero-meta { max-width: 400px; }
.category-stage { min-height: 480px; }
.category-card-frame { border-color: rgba(255,255,255,.5); box-shadow: 0 34px 80px rgba(0,0,0,.48); }
.category-stage-hint { background: rgba(17,17,17,.72); padding: 3px 8px; }
.category-controls { gap: 8px; }
.category-control { border-radius: 10px; }
.category-rail { border-bottom: 1px solid var(--ws-line); background: var(--ws-paper); }
.category-rail-head { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0 12px; color: var(--ws-muted); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.category-rail-list { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ws-line); }
.category-rail-list a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; min-height: 86px; padding: 13px 18px; border-inline-start: 1px solid var(--ws-line); color: var(--ws-black); }
.category-rail-list a:first-child { border-inline-start: 0; }
.category-rail-list a:hover, .category-rail-list a:focus-visible { background: var(--ws-white); }
.category-rail-index { color: var(--ws-muted); font-size: 11px; font-weight: 800; }
.category-rail-name { display: grid; gap: 1px; }
.category-rail-name strong { font-size: 13px; }
.category-rail-name small { color: var(--ws-muted); font-size: 10px; }
.category-rail-arrow { font-size: 18px; line-height: 1; }
.section-head { margin-bottom: 28px; }
.products-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); justify-content: stretch; gap: 16px; }
.product-card { border-radius: 10px; }
.product-card:hover { transform: translateY(-6px); }
.product-image { aspect-ratio: 1 / 1.08; }
.product-info { padding: 16px; }
.product-link { border-radius: 10px; }
@media (max-width: 980px) {
  .products-grid, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-rail-list { grid-template-columns: repeat(2, 1fr); }
  .category-rail-list a:nth-child(3) { border-inline-start: 0; border-top: 1px solid var(--ws-line); }
  .category-rail-list a:nth-child(4) { border-top: 1px solid var(--ws-line); }
}
@media (max-width: 720px) {
  .site-header { top: 0; }
  .header-inner { min-height: 68px; }
  .site-nav { top: 68px; border-radius: 10px; }
  .category-hero { min-height: 710px; }
  .category-hero-grid { min-height: 645px; padding-top: 76px; }
  .category-stage { min-height: 365px; margin-top: -6px; }
  .category-hero-meta { margin-top: 18px; }
  .category-rail-head { padding-top: 16px; }
  .category-rail-list a { min-height: 76px; padding: 11px 12px; gap: 8px; }
}
@media (max-width: 420px) {
  .category-hero { min-height: 700px; }
  .category-hero-grid { min-height: 650px; padding-top: 64px; }
  .category-stage { min-height: 350px; }
  .category-rail-list { grid-template-columns: 1fr; }
  .category-rail-list a, .category-rail-list a:nth-child(3), .category-rail-list a:nth-child(4) { border-inline-start: 0; border-top: 1px solid var(--ws-line); }
  .category-rail-list a:first-child { border-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .site-nav a::after { transition: none; }
}

/* v25 editorial storefront layer inspired by modern Moroccan streetwear storefronts */
.announcement-bar { min-height: 30px; display: flex; align-items: center; justify-content: center; gap: 24px; padding: 6px 14px; background: var(--ws-black); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.announcement-bar strong { color: #d8d3ca; font-weight: 700; }
.site-header { position: sticky; top: 0; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); }
.header-inner { min-height: 76px; }
.brand { color: var(--ws-black); letter-spacing: .1em; }
.header-action { border-radius: 10px; }
.site-nav a { position: relative; border-bottom: 0; }
.site-nav a::after { position: absolute; right: 0; bottom: 1px; left: 0; height: 2px; content: ''; background: var(--ws-black); transform: scaleX(0); transform-origin: right; transition: transform .22s ease; }
.site-nav a:hover::after, .site-nav a:focus-visible::after { transform: scaleX(1); }
.store-hero { position: relative; overflow: hidden; min-height: 700px; background: #f0eee9; color: var(--ws-black); }
.store-hero::before { position: absolute; top: -20%; left: -12%; width: 48vw; min-width: 430px; height: 100%; content: ''; background: #111; transform: rotate(-8deg); transform-origin: center; }
.store-hero-inner { position: relative; z-index: 1; min-height: 630px; display: grid; grid-template-columns: .88fr 1.12fr; align-items: stretch; gap: 54px; }
.store-hero-copy { display: flex; flex-direction: column; justify-content: center; max-width: 500px; padding: 76px 0 54px; color: #fff; }
.store-hero-copy .eyebrow { color: #aaa59c; }
.store-hero-index { display: inline-flex; align-items: center; gap: 7px; width: max-content; margin: 0 0 20px; border-bottom: 1px solid rgba(255,255,255,.35); padding-bottom: 8px; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.store-hero h1 { margin: 0; color: #fff; font-size: clamp(46px, 6.5vw, 84px); line-height: .98; letter-spacing: -.07em; }
.store-hero h1 span { color: #cfcac1; }
.store-hero-copy-text { max-width: 430px; margin: 24px 0 0; color: #c9c4bc; font-size: 15px; line-height: 1.9; }
.store-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.store-hero-actions .button { min-height: 46px; padding-inline: 20px; }
.button-ghost-light { border-color: rgba(255,255,255,.45); background: transparent; color: #fff; }
.button-ghost-light:hover, .button-ghost-light:focus-visible { background: #fff; color: #111; }
.store-hero-meta { display: grid; gap: 4px; max-width: 360px; margin-top: 38px; border-top: 1px solid rgba(255,255,255,.2); padding-top: 14px; }
.store-hero-meta-label { color: #8e8a83; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.store-hero-meta strong { font-size: 18px; }
.store-hero-meta > span:last-child { color: #d8d3ca; font-size: 13px; font-weight: 700; }
.store-hero-visual { position: relative; display: flex; align-items: center; justify-content: center; padding: 48px 6% 48px 0; }
.store-hero-frame { position: relative; width: min(100%, 540px); aspect-ratio: 1 / 1.08; overflow: hidden; background: #d9d6cf; box-shadow: 24px 24px 0 #111; transform: rotate(2.5deg); }
.store-hero-frame::after { position: absolute; inset: 0; content: ''; background: linear-gradient(120deg, rgba(255,255,255,.18), transparent 37%, rgba(0,0,0,.2)); pointer-events: none; }
.store-hero-frame img { width: 100%; height: 100%; object-fit: cover; }
.store-hero-stamp { position: absolute; z-index: 2; right: 20px; bottom: 18px; display: grid; gap: 2px; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .16em; text-align: right; text-shadow: 0 1px 8px rgba(0,0,0,.5); }
.store-hero-stamp b { color: #d8d3ca; font-size: 11px; }
.store-hero-side-note { position: absolute; right: 0; bottom: 58px; color: #77736d; font-size: 10px; font-weight: 800; letter-spacing: .15em; line-height: 1.6; }
.store-hero-bottom { position: relative; z-index: 2; display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-top: -64px; padding-bottom: 22px; }
.store-hero-controls { display: flex; gap: 8px; }
.store-hero-controls .category-control { border-color: rgba(17,17,17,.35); background: #f0eee9; color: #111; border-radius: 10px; }
.store-hero-controls .category-control:hover, .store-hero-controls .category-control:focus-visible { background: #111; color: #fff; }
.store-hero-hint { color: #77736d; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.category-index { border-bottom: 1px solid var(--ws-line); background: var(--ws-paper); }
.category-index-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.category-index-grid a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; min-height: 88px; padding: 14px 18px; border-inline-start: 1px solid var(--ws-line); color: var(--ws-black); }
.category-index-grid a:first-child { border-inline-start: 0; }
.category-index-grid a:hover, .category-index-grid a:focus-visible { background: var(--ws-white); }
.category-index-grid a > span:nth-child(2) { display: grid; gap: 2px; }
.category-index-grid strong { font-size: 13px; }
.category-index-grid small { color: var(--ws-muted); font-size: 10px; }
.category-index-number { color: var(--ws-muted); font-size: 11px; font-weight: 800; }
.collections { padding: 90px 0 0; background: var(--ws-white); }
.section-lead { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 54px; }
.section-lead .section-intro { max-width: 320px; margin: 0; }
.collection-row { border-top: 1px solid var(--ws-line); padding: 24px 0 66px; }
.collection-head { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 22px; }
.collection-title-wrap { display: flex; align-items: center; gap: 16px; }
.collection-index { color: var(--ws-muted); font-size: 11px; font-weight: 800; }
.collection-eyebrow { margin: 0 0 3px; color: var(--ws-muted); font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.collection-head h3 { margin: 0; font-size: clamp(22px, 3vw, 32px); letter-spacing: -.04em; }
.collection-info { display: flex; align-items: center; gap: 15px; color: var(--ws-muted); font-size: 11px; }
.collection-info strong { color: var(--ws-black); font-size: 14px; }
.collection-info a, .text-link { color: var(--ws-black); font-size: 11px; font-weight: 800; }
.collection-info a:hover, .text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.collection-track { display: flex; gap: 16px; overflow-x: auto; padding: 2px 0 16px; scrollbar-width: thin; scrollbar-color: #111 transparent; }
.collection-track > .product-card { flex: 0 0 236px; width: 236px; border-radius: 10px; }
.collection-track .product-image { aspect-ratio: 1 / 1.08; }
.collection-track .product-info { padding: 14px; }
.collection-track .product-title { min-height: 46px; font-size: 14px; }
.collection-track .product-link { border-radius: 9px; }
.brand-note { border-top: 1px solid var(--ws-line); border-bottom: 1px solid var(--ws-line); background: #111; color: #fff; padding: 76px 0; }
.brand-note-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; }
.brand-note .section-kicker { color: #99958e; }
.brand-note h2 { max-width: 680px; margin: 0; color: #fff; font-size: clamp(34px, 5vw, 66px); line-height: .98; letter-spacing: -.06em; }
.brand-note p:not(.section-kicker) { max-width: 600px; margin: 24px 0; color: #c9c4bc; font-size: 16px; line-height: 1.9; }
.brand-note .text-link { color: #fff; }
.custom-design { background: var(--ws-paper); }
@media (max-width: 980px) {
  .store-hero-inner { grid-template-columns: .9fr 1.1fr; gap: 30px; }
  .store-hero-visual { padding-right: 2%; }
  .store-hero-frame { box-shadow: 16px 16px 0 #111; }
  .category-index-grid { grid-template-columns: repeat(2, 1fr); }
  .category-index-grid a:nth-child(3) { border-inline-start: 0; border-top: 1px solid var(--ws-line); }
  .category-index-grid a:nth-child(4) { border-top: 1px solid var(--ws-line); }
  .brand-note-grid { grid-template-columns: 1fr 1.5fr; gap: 30px; }
}
@media (max-width: 720px) {
  .announcement-bar { gap: 8px; font-size: 8px; letter-spacing: .04em; }
  .announcement-bar span:first-child, .announcement-bar span:last-child { display: none; }
  .header-inner { min-height: 68px; }
  .site-nav { top: 68px; border-radius: 10px; }
  .store-hero { min-height: 760px; }
  .store-hero::before { top: 0; left: 0; width: 100%; min-width: 0; height: 54%; transform: none; }
  .store-hero-inner { min-height: 700px; display: flex; flex-direction: column; gap: 0; }
  .store-hero-copy { order: 2; max-width: none; padding: 28px 0 46px; }
  .store-hero-visual { order: 1; min-height: 350px; padding: 34px 18px 16px; }
  .store-hero-frame { width: min(76vw, 330px); box-shadow: 11px 11px 0 #111; }
  .store-hero-side-note { right: 8px; bottom: 32px; font-size: 8px; }
  .store-hero-copy-text { margin-top: 17px; font-size: 14px; line-height: 1.7; }
  .store-hero-actions { margin-top: 20px; }
  .store-hero-actions .button { flex: 1 1 0; min-width: 0; padding-inline: 9px; font-size: 11px; }
  .store-hero-meta { margin-top: 22px; }
  .store-hero-bottom { justify-content: center; margin-top: -42px; padding-bottom: 16px; }
  .category-index-grid a { min-height: 74px; padding: 11px 12px; gap: 8px; }
  .collections { padding-top: 62px; }
  .section-lead { display: block; margin-bottom: 34px; }
  .section-lead .section-intro { margin-top: 14px; }
  .collection-head { display: block; }
  .collection-info { margin-top: 12px; flex-wrap: wrap; }
  .collection-track { margin-inline: -2px; }
  .collection-track > .product-card { flex-basis: 210px; width: 210px; }
  .brand-note { padding: 56px 0; }
  .brand-note-grid { display: block; }
  .brand-note h2 { margin-top: 24px; font-size: 42px; }
}
@media (max-width: 420px) {
  .store-hero { min-height: 745px; }
  .store-hero-inner { min-height: 690px; }
  .store-hero-visual { min-height: 320px; }
  .store-hero-frame { width: 220px; }
  .store-hero h1 { font-size: 42px; }
  .store-hero-actions { display: grid; grid-template-columns: 1fr; }
  .collection-track > .product-card { flex-basis: 194px; width: 194px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-nav a::after { transition: none; }
  .store-hero-frame { transform: none; }
}

/* v25 compatibility for the existing accessible category carousel */
.store-hero-frame.category-stage { min-height: 0; display: grid; place-items: center; perspective: 1300px; }
.store-hero-frame.category-stage::after { z-index: 4; background: linear-gradient(120deg, rgba(255,255,255,.12), transparent 37%, rgba(0,0,0,.18)); }
.store-hero-frame .category-stage-orbit { width: 86%; height: auto; aspect-ratio: 1; }
.store-hero-frame .category-stage-shadow { bottom: 8%; width: 62%; height: 30px; }
.store-hero-frame .category-card { width: min(46%, 245px); }
.store-hero-frame .category-card-active { z-index: 3; }
.store-hero-frame .category-card-prev { transform: translate(calc(-50% - 112px), -50%) rotateY(28deg) rotateZ(-8deg) scale(.78); }
.store-hero-frame .category-card-next { transform: translate(calc(-50% + 112px), -50%) rotateY(-28deg) rotateZ(8deg) scale(.78); }
.store-hero-frame .category-stage-hint { z-index: 5; bottom: 16px; background: rgba(17,17,17,.65); padding: 4px 8px; }
.store-hero-stamp { z-index: 6; }
@media (max-width: 980px) {
  .store-hero-frame .category-card-prev { transform: translate(calc(-50% - 84px), -50%) rotateY(25deg) rotateZ(-7deg) scale(.76); }
  .store-hero-frame .category-card-next { transform: translate(calc(-50% + 84px), -50%) rotateY(-25deg) rotateZ(7deg) scale(.76); }
}
@media (max-width: 720px) {
  .store-hero-frame.category-stage { min-height: 0; }
  .store-hero-frame .category-card { width: 145px; }
  .store-hero-frame .category-card-prev { transform: translate(calc(-50% - 83px), -50%) rotateY(22deg) rotateZ(-6deg) scale(.76); }
  .store-hero-frame .category-card-next { transform: translate(calc(-50% + 83px), -50%) rotateY(-22deg) rotateZ(6deg) scale(.76); }
  .store-hero-frame .category-stage-hint { bottom: 8px; }
}
@media (max-width: 420px) {
  .store-hero-frame .category-card { width: 132px; }
  .store-hero-frame .category-card-prev { transform: translate(calc(-50% - 70px), -50%) rotateY(20deg) rotateZ(-6deg) scale(.74); }
  .store-hero-frame .category-card-next { transform: translate(calc(-50% + 70px), -50%) rotateY(-20deg) rotateZ(6deg) scale(.74); }
}

/* v25 editorial hero contrast correction for the RTL split layout */
.store-hero-copy { color: #111; }
.store-hero-copy .eyebrow { color: #77736d; }
.store-hero h1 { color: #111; }
.store-hero h1 span { color: #77736d; }
.store-hero-copy-text { color: #55514b; }
.store-hero-actions .button { border-color: rgba(17,17,17,.45); color: #111; }
.store-hero-actions .button:hover, .store-hero-actions .button:focus-visible { background: #111; color: #fff; }
.store-hero-actions .button-light { background: #111; border-color: #111; color: #fff; }
.store-hero-actions .button-light:hover, .store-hero-actions .button-light:focus-visible { background: #fff; color: #111; }
.store-hero-meta { border-top-color: rgba(17,17,17,.18); }
.store-hero-meta-label { color: #77736d; }
.store-hero-meta strong { color: #111; }
.store-hero-meta > span:last-child { color: #55514b; }
@media (max-width: 720px) {
  .store-hero-copy { color: #111; }
  .store-hero-copy-text { color: #55514b; }
}
/* v25 cache-busting and explicit contrast priority */
.store-hero-copy, .store-hero h1 { color: #111 !important; }
.store-hero h1 span { color: #77736d !important; }
.store-hero-copy .eyebrow { color: #77736d !important; }
.store-hero-copy-text { color: #55514b !important; }
.store-hero-meta-label { color: #77736d !important; }
.store-hero-meta strong { color: #111 !important; }
.store-hero-meta > span:last-child { color: #55514b !important; }

/* v26 — Black Luxury Edition: dark editorial storefront with restrained white accents */
:root {
  --ws-black: #0b0b0b;
  --ws-white: #ffffff;
  --ws-paper: #121212;
  --ws-line: #2c2c2c;
  --ws-muted: #9b9b9b;
  --ws-shadow: 0 24px 70px rgba(0,0,0,.45);
}
html { background: #0b0b0b; }
body { background: #0b0b0b; color: #f4f4f4; }
a { color: #fff; }
.announcement-bar { background: #111; border-bottom: 1px solid #2d2d2d; color: #fff; }
.announcement-bar strong { color: #fff; }
.site-header { background: rgba(11,11,11,.97); border-bottom: 1px solid #2c2c2c; box-shadow: 0 10px 30px rgba(0,0,0,.2); }
.brand, .brand span { color: #fff; }
.brand-logo { filter: invert(1); }
.site-nav a { color: #f5f5f5; }
.site-nav a::after { background: #fff; }
.language-switcher, .language-switcher a, .header-action { color: #e9e9e9; }
.header-action { border-color: #4a4a4a; background: transparent; }
.header-action:hover, .header-action:focus-visible { border-color: #fff; background: #fff; color: #111; }
.menu-toggle { border-color: #4a4a4a; background: transparent; color: #fff; }
.menu-toggle:hover, .menu-toggle:focus-visible { background: #fff; color: #111; }
.store-hero { background: #0b0b0b; color: #fff; }
.store-hero::before { background: radial-gradient(circle at 20% 38%, #292929 0, #111 32%, #0b0b0b 72%); opacity: .9; }
.store-hero::after { position: absolute; inset: 0; content: ''; pointer-events: none; background: linear-gradient(90deg, rgba(255,255,255,.035), transparent 30%, transparent 70%, rgba(255,255,255,.025)); }
.store-hero-inner, .store-hero-bottom { position: relative; z-index: 1; }
.store-hero-copy { color: #fff; }
.store-hero-copy .eyebrow { color: #a5a5a5 !important; }
.store-hero-index { border-color: #444; color: #fff; }
.store-hero h1, .store-hero h1 span { color: #fff !important; }
.store-hero h1 span { opacity: .5; }
.store-hero-copy-text { color: #b8b8b8 !important; }
.store-hero-actions .button { border-radius: 0; }
.store-hero-actions .button-light { background: #fff; border-color: #fff; color: #0b0b0b; }
.store-hero-actions .button-light:hover, .store-hero-actions .button-light:focus-visible { background: #d8d8d8; border-color: #d8d8d8; color: #0b0b0b; }
.store-hero-actions .button-ghost-light { border-color: #676767; background: transparent; color: #fff; }
.store-hero-actions .button-ghost-light:hover, .store-hero-actions .button-ghost-light:focus-visible { border-color: #fff; background: #fff; color: #0b0b0b; }
.store-hero-meta { border-color: #333; }
.store-hero-meta-label { color: #8f8f8f !important; }
.store-hero-meta strong, .store-hero-meta > span:last-child { color: #fff !important; }
.store-hero-frame { background: #1a1a1a; box-shadow: 24px 24px 0 #f4f4f4; }
.store-hero-side-note, .store-hero-hint { color: #8f8f8f; }
.store-hero-controls .category-control { border-color: #555; background: #0b0b0b; color: #fff; border-radius: 0; }
.store-hero-controls .category-control:hover, .store-hero-controls .category-control:focus-visible { border-color: #fff; background: #fff; color: #111; }
.category-index, .category-rail { background: #111; border-color: #2d2d2d; }
.category-index-grid a, .category-rail-list a { border-color: #2d2d2d; color: #fff; }
.category-index-grid a:hover, .category-index-grid a:focus-visible, .category-rail-list a:hover, .category-rail-list a:focus-visible { background: #202020; }
.category-index-grid strong, .category-rail-list strong, .category-index-grid a > span:nth-child(2) { color: #fff; }
.category-index-grid small, .category-index-number, .category-rail-index, .category-rail-head { color: #898989; }
.collections { background: #0b0b0b; }
.section-lead, .section-kicker, .section-intro { color: #a4a4a4; }
.section-title, .collection-head h3, .collection-title-wrap, .collection-info strong { color: #fff; }
.collection-row { border-color: #2d2d2d; }
.collection-eyebrow, .collection-info { color: #8d8d8d; }
.collection-info a, .text-link { color: #fff; }
.collection-track { scrollbar-color: #fff transparent; }
.collection-track > .product-card, .product-card { border-color: #363636; border-radius: 0; background: #151515; box-shadow: none; }
.collection-track > .product-card:hover, .product-card:hover { border-color: #777; box-shadow: 0 18px 45px rgba(0,0,0,.38); transform: translateY(-8px); }
.collection-track .product-image, .product-image { background: #242424; }
.collection-track .product-info, .product-info { color: #fff; }
.collection-track .product-title, .product-title { color: #fff; }
.collection-track .product-price, .product-price { color: #fff; }
.collection-track .product-link, .product-link { border-color: #777; border-radius: 0; color: #fff; }
.collection-track .product-link:hover, .product-link:hover { border-color: #fff; background: #fff; color: #111; }
.brand-note { border-color: #333; background: #141414; color: #fff; }
.brand-note .section-kicker { color: #999; }
.brand-note h2 { color: #fff; }
.brand-note p:not(.section-kicker) { color: #bcbcbc; }
.custom-design { background: #0f0f0f; color: #fff; }
.custom-design .section-title, .custom-design .section-intro, .custom-design label { color: #fff; }
.custom-design .section-intro { color: #a8a8a8; }
.custom-design-panel { border-color: #383838; border-radius: 0; background: #171717; }
.custom-design input, .custom-design select, .custom-design textarea { border-color: #4a4a4a; border-radius: 0; background: #0d0d0d; color: #fff; }
.custom-design input::placeholder, .custom-design textarea::placeholder { color: #777; }
.custom-design .button { border-radius: 0; }
.custom-design .button-light { background: #fff; border-color: #fff; color: #111; }
.site-footer { border-top: 1px solid #2e2e2e; background: #060606; color: #fff; }
.footer-copy, .footer-links a { color: #999; }
.footer-links a:hover { color: #fff; }
.footer-bottom { border-color: #2d2d2d; color: #777; }
@media (max-width: 720px) {
  .site-nav { border-color: #333; background: #111; }
  .store-hero-frame { box-shadow: 11px 11px 0 #f4f4f4; }
  .store-hero::after { background: linear-gradient(180deg, rgba(255,255,255,.03), transparent 50%); }
  .collection-track > .product-card { flex-basis: 210px; width: 210px; }
}
@media (prefers-reduced-motion: reduce) {
  .product-card, .store-hero-frame { transition: none; }
}

/* v27 — image sizing and quality pass */
.product-image,
.collection-track .product-image {
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1.08;
  padding: 12px;
  background: #202020;
}
.product-image img,
.collection-track .product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  image-rendering: auto;
}

/* v216 — show portrait poster artwork larger without cropping or stretching. */
.collection-track .product-image-poster {
  aspect-ratio: 0.706 / 1;
  padding: 8px;
}
.collection-track .product-image-poster img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.category-card-frame img,
.store-hero-frame .category-card-frame img {
  object-fit: contain;
  object-position: center;
  padding: 12px;
  background: #202020;
}
.woocommerce ul.products li.product a img {
  object-fit: contain;
  background: #202020;
  padding: 12px;
}
.collection-track > .product-card {
  flex-basis: 252px;
  width: 252px;
}
@media (max-width: 720px) {
  .product-image,
  .collection-track .product-image { padding: 9px; }
  .collection-track .product-image-poster { aspect-ratio: 0.706 / 1; padding: 6px; }
  .category-card-frame img,
  .store-hero-frame .category-card-frame img { padding: 8px; }
  .collection-track > .product-card { flex-basis: 216px; width: 216px; }
}
@media (max-width: 420px) {
  .collection-track > .product-card { flex-basis: 198px; width: 198px; }
}

/* v28 — product page gallery and detail layout */
body.single-product { background: #0b0b0b; }
body.single-product .site-main { padding: 72px 0 96px; background: #0b0b0b; }
body.single-product .site-main > .container { max-width: 1240px; }
body.single-product div.product { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .82fr); align-items: start; gap: clamp(34px, 6vw, 82px); margin: 0; }
body.single-product div.product div.images,
body.single-product div.product div.summary { width: auto; float: none; margin: 0; }
body.single-product div.product div.images { min-width: 0; }
body.single-product .woocommerce-product-gallery__image { overflow: hidden; border: 1px solid #363636; background: #171717; }
body.single-product .woocommerce-product-gallery__image a { display: block; }
body.single-product .woocommerce-product-gallery__image img { width: 100%; max-height: 720px; object-fit: contain; object-position: center; padding: clamp(14px, 3vw, 30px); background: #171717; }

/* v219 — framed poster mockup matching the approved reference image. */
body.single-product .woocommerce-product-gallery__image.wordstore-poster-gallery-image {
  overflow: visible;
  border: 0;
  background: #fff;
  padding: clamp(18px, 4vw, 48px);
  perspective: 1300px;
}
body.single-product .wordstore-poster-3d {
  position: relative;
  display: block;
  width: min(100%, 470px);
  aspect-ratio: 0.706 / 1;
  margin: 0 auto;
  transform: perspective(1300px) rotateY(-2deg) rotateX(.5deg);
  transform-style: preserve-3d;
  cursor: grab;
  touch-action: none;
  user-select: none;
  transition: transform .28s ease;
}
body.single-product .wordstore-poster-3d.is-dragging {
  cursor: grabbing;
  transition: none;
}
body.single-product .wordstore-poster-face {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block;
  overflow: hidden;
  border: 13px solid #111;
  background: #fff;
  box-shadow: 0 18px 28px rgba(0, 0, 0, .28);
  transform: translateZ(10px);
  backface-visibility: hidden;
}
body.single-product .wordstore-poster-face::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .5);
  content: '';
  pointer-events: none;
}
body.single-product .wordstore-poster-face img {
  width: 100%;
  height: 100%;
  max-height: none;
  padding: 0;
  object-fit: contain;
  object-position: center;
  background: #fff;
}
body.single-product .wordstore-poster-edge {
  position: absolute;
  top: 2%;
  right: -10px;
  bottom: 2%;
  z-index: 2;
  width: 11px;
  background: linear-gradient(90deg, #303030 0%, #0b0b0b 52%, #5b5b5b 100%);
  transform: translateZ(1px) skewY(-2deg);
  transform-origin: left center;
}
body.single-product .wordstore-poster-bottom {
  position: absolute;
  right: -4px;
  bottom: -10px;
  left: 2%;
  z-index: 1;
  height: 11px;
  background: linear-gradient(180deg, #555 0%, #111 78%);
  transform: translateZ(1px) skewX(-22deg);
  transform-origin: left top;
}
body.single-product .wordstore-poster-shadow {
  position: absolute;
  right: -8%;
  bottom: -22px;
  left: 7%;
  z-index: 0;
  height: 20px;
  border-radius: 50%;
  background: rgba(0, 0, 0, .28);
  filter: blur(12px);
  transform: rotate(-1deg) translateZ(-8px);
}
body.single-product .wordstore-poster-3d:hover,
body.single-product .wordstore-poster-3d:focus-visible {
  transform: perspective(1300px) rotateY(-1deg) rotateX(0deg) translateY(-3px);
}
@media (prefers-reduced-motion: reduce) {
  body.single-product .wordstore-poster-3d { transition: none; }
  body.single-product .wordstore-poster-3d:hover,
  body.single-product .wordstore-poster-3d:focus-visible { transform: perspective(1300px) rotateY(-2deg) rotateX(.5deg); }
}
@media (max-width: 900px) {
  body.single-product .wordstore-poster-3d { width: min(100%, 420px); }
}
@media (max-width: 520px) {
  body.single-product .woocommerce-product-gallery__image.wordstore-poster-gallery-image { padding: 14px; }
  body.single-product .wordstore-poster-3d { width: min(100%, 330px); }
  body.single-product .wordstore-poster-face { border-width: 9px; }
  body.single-product .wordstore-poster-edge { right: -7px; width: 8px; }
  body.single-product .wordstore-poster-bottom { right: -3px; bottom: -7px; height: 8px; }
  body.single-product .wordstore-poster-shadow { bottom: -16px; height: 16px; }
}
body.single-product div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0; }
body.single-product div.product div.images .flex-control-thumbs li { width: auto; float: none; margin: 0; border: 1px solid #363636; background: #171717; }
body.single-product div.product div.images .flex-control-thumbs img { width: 100%; height: 92px; object-fit: contain; padding: 6px; opacity: .62; background: #171717; }
body.single-product div.product div.images .flex-control-thumbs .flex-active { opacity: 1; outline: 1px solid #fff; outline-offset: -1px; }
body.single-product div.product .summary { position: sticky; top: 116px; padding-top: 8px; }
body.single-product div.product .product_title { margin: 0 0 16px; color: #fff; font-size: clamp(30px, 4vw, 58px); line-height: 1.02; letter-spacing: -.06em; }
body.single-product div.product .price { margin: 0 0 26px; color: #fff; font-size: 24px; font-weight: 800; }
body.single-product div.product .woocommerce-product-details__short-description { margin: 0 0 28px; color: #a9a9a9; font-size: 14px; line-height: 1.9; }
body.single-product div.product form.cart { margin: 0; padding: 24px 0; border-top: 1px solid #333; border-bottom: 1px solid #333; }
body.single-product div.product form.cart .variations { margin: 0 0 18px; border: 0; }
body.single-product div.product form.cart .variations td,
body.single-product div.product form.cart .variations th { padding: 8px 0; border: 0; background: transparent; color: #fff; text-align: start; }
body.single-product div.product form.cart .variations label { color: #fff; font-size: 12px; font-weight: 700; }
body.single-product div.product form.cart .variations select { min-height: 46px; border: 1px solid #555; border-radius: 0; background: #111; color: #fff; }
body.single-product div.product form.cart .reset_variations { color: #999; font-size: 11px; }
body.single-product div.product form.cart .quantity .qty { min-height: 48px; border: 1px solid #555; border-radius: 0; background: #111; color: #fff; }
body.single-product div.product form.cart .single_add_to_cart_button { min-height: 48px; border: 1px solid #fff; border-radius: 0; background: #fff; color: #111; font-weight: 800; }
body.single-product div.product form.cart .single_add_to_cart_button:hover,
body.single-product div.product form.cart .single_add_to_cart_button:focus-visible { background: #d9d9d9; color: #111; }
body.single-product .product_meta { padding-top: 20px; color: #858585; font-size: 11px; }
body.single-product .product_meta a { color: #fff; }
body.single-product .woocommerce-tabs { margin-top: 72px; border-top: 1px solid #333; }
body.single-product .woocommerce-tabs ul.tabs { margin: 0; padding: 0; border: 0; }
body.single-product .woocommerce-tabs ul.tabs::before { border-color: #333; }
body.single-product .woocommerce-tabs ul.tabs li { margin: 0; border: 0; border-radius: 0; background: transparent; }
body.single-product .woocommerce-tabs ul.tabs li a { padding: 18px 24px 18px 0; color: #888; font-size: 12px; }
body.single-product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
body.single-product .woocommerce-Tabs-panel { color: #b5b5b5; font-size: 14px; line-height: 1.9; }
body.single-product .related.products { margin-top: 72px; border-top: 1px solid #333; padding-top: 42px; }
body.single-product .related.products > h2 { color: #fff; font-size: 30px; }
body.single-product .related.products ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
body.single-product .related.products ul.products li.product { width: auto; margin: 0; }
@media (max-width: 900px) {
  body.single-product div.product { grid-template-columns: 1fr; gap: 32px; }
  body.single-product div.product .summary { position: static; }
  body.single-product .woocommerce-product-gallery__image img { max-height: 620px; }
  body.single-product .related.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  body.single-product .site-main { padding: 42px 0 72px; }
  body.single-product .woocommerce-product-gallery__image img { max-height: 470px; padding: 10px; }
  body.single-product div.product div.images .flex-control-thumbs img { height: 64px; }
  body.single-product div.product .product_title { font-size: 36px; }
  body.single-product div.product form.cart .quantity { width: 100%; margin: 0 0 10px; }
  body.single-product div.product form.cart .quantity .qty { width: 100%; }
  body.single-product div.product form.cart .single_add_to_cart_button { width: 100%; }
}

/* v29 — transparent product presentation */
.product-image-transparent,
.collection-track .product-image-transparent,
.store-hero-frame .category-card-frame,
.category-card-frame:has(img[data-category-image]) {
  background: transparent;
  border-color: transparent;
}
.product-image-transparent img,
.collection-track .product-image-transparent img,
.store-hero-frame .category-card-frame img,
img[data-category-image] {
  background: transparent;
  padding: 0;
  object-fit: contain;
  mix-blend-mode: normal;
  filter: drop-shadow(0 22px 24px rgba(0,0,0,.42));
}
.product-image-transparent {
  padding: 0;
  min-height: 0;
}
.store-hero-frame .category-card-frame img,
img[data-category-image] {
  filter: drop-shadow(0 28px 30px rgba(0,0,0,.55));
}
.woocommerce ul.products li.product a img {
  background: transparent;
  padding: 0;
  object-fit: contain;
  filter: drop-shadow(0 16px 18px rgba(0,0,0,.35));
}
@media (max-width: 720px) {
  .product-image-transparent img,
  .collection-track .product-image-transparent img { filter: drop-shadow(0 14px 16px rgba(0,0,0,.38)); }
  .store-hero-frame .category-card-frame img,
  img[data-category-image] { filter: drop-shadow(0 18px 20px rgba(0,0,0,.48)); }
}

/* v30 — full transparency inside single-product gallery */
body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__image a,
body.single-product .woocommerce-product-gallery__image img {
  background: transparent;
}
body.single-product .woocommerce-product-gallery__image {
  border-color: transparent;
}
body.single-product .woocommerce-product-gallery__image img {
  width: 100%;
  max-height: 720px;
  padding: 0;
  object-fit: contain;
  filter: drop-shadow(0 28px 30px rgba(0,0,0,.54));
}
body.single-product div.product div.images .flex-control-thumbs li,
body.single-product div.product div.images .flex-control-thumbs img {
  background: transparent;
  border-color: #333;
}
body.single-product div.product div.images .flex-control-thumbs img {
  padding: 4px;
  filter: drop-shadow(0 8px 10px rgba(0,0,0,.32));
}
@media (max-width: 520px) {
  body.single-product .woocommerce-product-gallery__image img { max-height: 470px; }
}


/* v32 welcome message: replaces the first category index on the home page. */
.welcome-message {
  position: relative;
  overflow: hidden;
  padding: 78px 0 82px;
  background: #111111;
  color: #ffffff;
  border-top: 1px solid #2d2d2d;
  border-bottom: 1px solid #2d2d2d;
}
.welcome-message::after {
  content: 'WORDSTORE';
  position: absolute;
  right: -28px;
  bottom: -40px;
  color: rgba(255,255,255,.035);
  font-size: clamp(70px, 13vw, 190px);
  font-weight: 800;
  letter-spacing: -.08em;
  line-height: 1;
  pointer-events: none;
  white-space: nowrap;
}
.welcome-message-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(180px, .7fr);
  align-items: end;
  gap: 58px;
}
.welcome-message-copy { max-width: 720px; }
.welcome-message .section-kicker { margin-bottom: 18px; color: #a4a4a4; }
.welcome-message h2 {
  max-width: 700px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(38px, 6vw, 74px);
  line-height: 1;
  letter-spacing: -.055em;
}
.welcome-message-text {
  max-width: 620px;
  margin: 24px 0 0;
  color: #c9c9c9;
  font-size: 16px;
  line-height: 1.9;
}
.welcome-message-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.welcome-message .button-outline-light {
  background: transparent;
  border-color: rgba(255,255,255,.5);
  color: #ffffff;
}
.welcome-message .button-outline-light:hover,
.welcome-message .button-outline-light:focus-visible {
  background: #ffffff;
  border-color: #ffffff;
  color: #111111;
}
.welcome-message-sign {
  display: grid;
  justify-items: end;
  gap: 14px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.22);
  color: #8f8f8f;
}
.welcome-message-sign span { font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.welcome-message-sign strong {
  color: #ffffff;
  font-size: clamp(22px, 3vw, 38px);
  line-height: .93;
  letter-spacing: -.045em;
  text-align: right;
}
@media (max-width: 720px) {
  .welcome-message { padding: 58px 0 62px; }
  .welcome-message-grid { grid-template-columns: 1fr; gap: 36px; }
  .welcome-message h2 { font-size: clamp(38px, 12vw, 56px); }
  .welcome-message-text { margin-top: 18px; font-size: 14px; line-height: 1.8; }
  .welcome-message-actions { display: grid; grid-template-columns: 1fr; gap: 9px; margin-top: 24px; }
  .welcome-message-actions .button { width: 100%; }
  .welcome-message-sign { justify-items: start; padding-top: 14px; }
  .welcome-message-sign strong { text-align: left; }
}

/* v33 welcome hero: replaces the animated product/category hero. */
.welcome-hero { position: relative; overflow: hidden; min-height: 560px; display: grid; align-items: center; background: #111111; color: #ffffff; border-bottom: 1px solid #2d2d2d; isolation: isolate; }
.welcome-hero::before, .welcome-hero::after { content: ''; position: absolute; z-index: -1; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; pointer-events: none; }
.welcome-hero::before { width: 760px; height: 760px; right: -230px; top: -390px; }
.welcome-hero::after { width: 520px; height: 520px; left: -280px; bottom: -330px; }
.welcome-hero-grid { min-height: 560px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(260px, .95fr); align-items: center; gap: 72px; padding-top: 42px; }
.welcome-hero-copy { max-width: 690px; }
.welcome-hero .eyebrow { margin-bottom: 24px; color: #969696; }
.welcome-hero h1 { max-width: 760px; margin: 0; color: #ffffff; font-size: clamp(48px, 8vw, 104px); line-height: .96; letter-spacing: -.065em; }
.welcome-hero h1 span { color: #bdbdbd; }
.welcome-hero-text { max-width: 560px; margin: 28px 0 0; color: #c7c7c7; font-size: 17px; line-height: 1.9; }
.welcome-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.welcome-hero .button-ghost-light { background: transparent; border-color: rgba(255,255,255,.48); color: #ffffff; }
.welcome-hero .button-ghost-light:hover, .welcome-hero .button-ghost-light:focus-visible { background: #ffffff; border-color: #ffffff; color: #111111; }
.welcome-hero-mark { position: relative; min-height: 360px; display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; padding: 24px 0 30px; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.welcome-hero-mark::before { content: ''; position: absolute; inset: 50% auto auto 50%; width: 300px; height: 300px; transform: translate(-50%, -50%) rotate(-18deg) scaleY(.45); border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.welcome-hero-mark span { color: #898989; font-size: 11px; font-weight: 800; letter-spacing: .16em; line-height: 1.6; text-align: right; }
.welcome-hero-mark strong { position: relative; color: #ffffff; font-size: clamp(32px, 5vw, 62px); line-height: .9; letter-spacing: -.06em; text-align: right; }
.welcome-hero-mark i { position: relative; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; }
.welcome-hero-mark i::after { content: '↗'; position: absolute; inset: 0; display: grid; place-items: center; color: #ffffff; font-size: 18px; font-style: normal; }
@media (max-width: 980px) { .welcome-hero-grid { grid-template-columns: 1fr; gap: 36px; padding-top: 62px; padding-bottom: 62px; } .welcome-hero-mark { min-height: 220px; align-items: flex-start; } .welcome-hero-mark strong, .welcome-hero-mark span { text-align: left; } .welcome-hero-mark::before { left: 72%; } }
@media (max-width: 720px) { .welcome-hero { min-height: 0; } .welcome-hero-grid { min-height: 0; gap: 38px; padding-top: 58px; padding-bottom: 52px; } .welcome-hero h1 { font-size: clamp(46px, 14vw, 70px); } .welcome-hero-text { margin-top: 20px; font-size: 14px; line-height: 1.8; } .welcome-hero-actions { display: grid; grid-template-columns: 1fr; gap: 9px; margin-top: 26px; } .welcome-hero-actions .button { width: 100%; } .welcome-hero-mark { min-height: 190px; padding-top: 18px; padding-bottom: 20px; } .welcome-hero-mark strong { font-size: 40px; } .welcome-hero-mark::before { width: 220px; height: 220px; } }

/* v34 header icons: visual symbols with accessible labels preserved in the markup. */
.header-action-icon { width: 40px; min-width: 40px; height: 40px; padding: 0; }
.header-icon { width: 19px; height: 19px; display: block; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.header-action-icon:hover .header-icon, .header-action-icon:focus-visible .header-icon { stroke: currentColor; }
@media (max-width: 720px) {
  .header-action-icon { width: 38px; min-width: 38px; height: 38px; }
  .header-icon { width: 18px; height: 18px; }
}

/* v35 unified welcome banner: one surface, no image, no split columns. */
.welcome-banner { background: #111111; padding: 34px 0 42px; }
.welcome-banner-wrap { max-width: 1180px; }
.welcome-banner-inner { position: relative; overflow: hidden; min-height: 430px; display: grid; justify-items: center; align-content: center; gap: 0; padding: 66px 28px; border: 1px solid #2e2e2e; border-radius: 28px; background: #050505; color: #ffffff; text-align: center; isolation: isolate; }
.welcome-banner-inner::before, .welcome-banner-inner::after { content: ''; position: absolute; z-index: -1; border: 1px solid rgba(255,255,255,.10); border-radius: 50%; pointer-events: none; }
.welcome-banner-inner::before { width: 620px; height: 620px; left: 50%; top: -420px; transform: translateX(-50%); }
.welcome-banner-inner::after { width: 420px; height: 420px; left: 50%; bottom: -315px; transform: translateX(-50%) rotate(18deg) scaleY(.42); }
.welcome-banner-kicker { margin: 0 0 22px; color: #8f8f8f; font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.welcome-banner h1 { margin: 0; color: #ffffff; font-size: clamp(58px, 9vw, 112px); line-height: .95; letter-spacing: -.07em; }
.welcome-banner-subtitle { margin: 22px 0 0; color: #d0d0d0; font-size: clamp(18px, 2.2vw, 27px); font-weight: 500; line-height: 1.5; }
.welcome-banner-button { min-width: 150px; margin-top: 30px; }
@media (max-width: 720px) {
  .welcome-banner { padding: 18px 0 28px; }
  .welcome-banner-inner { min-height: 360px; padding: 48px 20px; border-radius: 20px; }
  .welcome-banner-kicker { margin-bottom: 18px; font-size: 9px; }
  .welcome-banner h1 { font-size: clamp(58px, 18vw, 84px); }
  .welcome-banner-subtitle { margin-top: 16px; font-size: 19px; }
  .welcome-banner-button { width: min(100%, 190px); margin-top: 26px; }
}

/* v38 split welcome banner: original image retained, proportional crop only at display time. */
.welcome-split-banner { background: #111111; padding: 34px 0 42px; }
.welcome-split-frame { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 430px; overflow: hidden; border: 1px solid #2e2e2e; border-radius: 28px; background: #050505; direction: ltr; }
.welcome-split-copy { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 56px 42px; background: #050505; color: #ffffff; text-align: center; direction: rtl; }
.welcome-split-copy::before { content: ''; position: absolute; width: 420px; height: 420px; top: -260px; left: 50%; border: 1px solid rgba(255,255,255,.10); border-radius: 50%; transform: translateX(-50%); pointer-events: none; }
.welcome-split-copy .welcome-banner-kicker, .welcome-split-copy h1, .welcome-split-copy .welcome-banner-subtitle, .welcome-split-copy .welcome-banner-button { position: relative; z-index: 1; }
.welcome-split-copy .welcome-banner-kicker { margin: 0 0 20px; }
.welcome-split-copy h1 { margin: 0; color: #ffffff; font-size: clamp(54px, 7vw, 92px); line-height: .98; letter-spacing: -.06em; }
.welcome-split-copy .welcome-banner-subtitle { margin: 18px 0 0; color: #d0d0d0; font-size: clamp(18px, 2vw, 25px); line-height: 1.5; }
.welcome-split-copy .welcome-banner-button { min-width: 150px; margin-top: 28px; }
.welcome-split-media { min-width: 0; min-height: 430px; background: #181818; }
.welcome-split-media img { display: block; width: 100%; height: 100%; min-height: 430px; object-fit: cover; object-position: center center; image-rendering: auto; }
body.wordstore-lang-en .welcome-split-copy, body.wordstore-lang-fr .welcome-split-copy { direction: ltr; }
@media (max-width: 720px) {
  .welcome-split-banner { padding: 18px 0 28px; }
  .welcome-split-frame { grid-template-columns: 1fr; min-height: 0; border-radius: 20px; }
  .welcome-split-copy { min-height: 300px; padding: 44px 22px 38px; order: 1; }
  .welcome-split-media { min-height: 310px; order: 2; }
  .welcome-split-media img { min-height: 310px; max-height: 390px; object-position: center center; }
  .welcome-split-copy h1 { font-size: clamp(58px, 18vw, 84px); }
  .welcome-split-copy .welcome-banner-subtitle { margin-top: 14px; font-size: 19px; }
  .welcome-split-copy .welcome-banner-button { width: min(100%, 190px); margin-top: 24px; }
}
/* v40 — Glass Checkout: frosted dark surfaces with readable controls. */
body.woocommerce-checkout { background: #0b0b0b; color: #f4f4f4; }
body.woocommerce-checkout .site-main { background: #0b0b0b; padding: 48px 0 88px; }
body.woocommerce-checkout .wc-block-checkout { display: grid !important; grid-template-columns: minmax(0, 1.28fr) minmax(320px, .72fr) !important; gap: 28px !important; width: min(1180px, calc(100% - 40px)); max-width: 1180px; margin: 0 auto; color: #f4f4f4; }
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar { min-width: 0; }
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-shipping-rates-control,
body.woocommerce-checkout .wc-block-components-payment-method,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review { border: 1px solid rgba(255,255,255,.16); border-radius: 20px; background: rgba(255,255,255,.055); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 48px rgba(0,0,0,.24); -webkit-backdrop-filter: blur(18px) saturate(120%); backdrop-filter: blur(18px) saturate(120%); }
body.woocommerce-checkout .wc-block-components-checkout-step { margin: 0 0 16px; padding: 24px !important; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-order-summary__title { color: #ffffff !important; }
body.woocommerce-checkout .wc-block-components-checkout-step__description,
body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value { color: #d0d5db !important; }
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input select,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-select select,
body.woocommerce-checkout .wc-block-components-address-form input,
body.woocommerce-checkout .wc-block-components-address-form select,
body.woocommerce-checkout .woocommerce form .form-row input.input-text,
body.woocommerce-checkout .woocommerce form .form-row textarea,
body.woocommerce-checkout .woocommerce form .form-row select { min-height: 52px !important; border: 1px solid rgba(255,255,255,.23) !important; border-radius: 14px !important; background: rgba(255,255,255,.075) !important; color: #ffffff !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 8px 22px rgba(0,0,0,.14) !important; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
body.woocommerce-checkout .wc-block-components-address-form input:focus,
body.woocommerce-checkout .woocommerce form .form-row input.input-text:focus { border-color: rgba(255,255,255,.72) !important; outline: 2px solid rgba(255,255,255,.12); outline-offset: 1px; }
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox label,
body.woocommerce-checkout .wc-block-components-select label,
body.woocommerce-checkout .woocommerce form .form-row label { color: #d9dde2 !important; }
body.woocommerce-checkout input::placeholder,
body.woocommerce-checkout textarea::placeholder { color: #aeb6bf !important; opacity: 1 !important; }
body.woocommerce-checkout .wc-block-components-checkbox label,
body.woocommerce-checkout .wc-block-components-radio-control__label,
body.woocommerce-checkout .wc-block-components-radio-control__description { color: #e6e9ed !important; }
body.woocommerce-checkout .wc-block-components-checkbox input,
body.woocommerce-checkout .wc-block-components-radio-control__input { accent-color: #ffffff; }
body.woocommerce-checkout .wc-block-components-order-summary { padding: 24px !important; }
body.woocommerce-checkout .wc-block-components-order-summary-item__name,
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
body.woocommerce-checkout .wc-block-components-order-summary-item__price { color: #ffffff !important; }
body.woocommerce-checkout .wc-block-components-totals-wrapper { padding: 18px 20px !important; }
body.woocommerce-checkout .wc-block-components-button,
body.woocommerce-checkout #place_order { min-height: 52px; border: 1px solid #ffffff !important; border-radius: 14px !important; background: #ffffff !important; color: #0b0b0b !important; font-weight: 800; }
body.woocommerce-checkout .wc-block-components-payment-method { padding: 18px 20px !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table { color: #ffffff; border-color: rgba(255,255,255,.14); }
body.woocommerce-checkout .woocommerce-checkout-review-order-table td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table th { border-color: rgba(255,255,255,.14); color: #e9edf1; }
@media (max-width: 900px) {
  body.woocommerce-checkout .wc-block-checkout { grid-template-columns: 1fr !important; width: min(100% - 28px, 680px); gap: 16px !important; }
  body.woocommerce-checkout .wc-block-checkout__sidebar { position: static; }
}
@media (max-width: 520px) {
  body.woocommerce-checkout .site-main { padding: 28px 0 60px; }
  body.woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-checkout .wc-block-components-order-summary { padding: 18px !important; border-radius: 16px; }
  body.woocommerce-checkout .wc-block-components-text-input input,
  body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
  body.woocommerce-checkout .wc-block-components-address-form input,
  body.woocommerce-checkout .wc-block-components-address-form select { min-height: 50px !important; }
}

/* v42 — final WooCommerce block targeting: outer wrapper stays normal; inner layout gets Glass grid. */
body.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout > .wc-block-components-sidebar-layout.wc-block-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.28fr) minmax(320px, .72fr) !important;
  gap: 28px !important;
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  box-sizing: border-box;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout > .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-checkout__main,
body.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout > .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-checkout__sidebar { min-width: 0; width: auto; }
@media (max-width: 900px) {
  body.woocommerce-checkout .wp-block-woocommerce-checkout.wc-block-checkout > .wc-block-components-sidebar-layout.wc-block-checkout {
    grid-template-columns: 1fr !important;
    width: min(680px, calc(100% - 28px)) !important;
    gap: 16px !important;
  }
}

/* v43 — Clean Moroccan Checkout: keep only the delivery details customers need. */
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-select:has(#shipping-country),
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-select:has(#shipping-state),
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input:has(#shipping-postcode),
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-checkbox:has(#checkbox-control-0),
body.woocommerce-checkout .wc-block-components-address-form__country,
body.woocommerce-checkout .wc-block-components-address-form__state,
body.woocommerce-checkout .wc-block-components-address-form__postcode,
body.woocommerce-checkout .wc-block-components-address-form__address_2 { display: none !important; }
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox label,
body.woocommerce-checkout .wc-block-components-select label,
body.woocommerce-checkout .wc-block-components-address-form label { color: #ffffff !important; opacity: 1 !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .01em; }
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-address-form input,
body.woocommerce-checkout .wc-block-components-address-form select { color: #ffffff !important; caret-color: #ffffff; }
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-select { margin-bottom: 14px !important; }
body.woocommerce-checkout .wc-block-components-address-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
body.woocommerce-checkout .wc-block-components-address-form > * { min-width: 0; }
body.woocommerce-checkout .wc-block-components-address-form > :has(#shipping-address_1),
body.woocommerce-checkout .wc-block-components-address-form > :has(#shipping-city),
body.woocommerce-checkout .wc-block-components-address-form > :has(#shipping-phone) { grid-column: span 2; }
@media (max-width: 620px) {
  body.woocommerce-checkout .wc-block-components-address-form { grid-template-columns: 1fr; column-gap: 0; }
  body.woocommerce-checkout .wc-block-components-address-form > :has(#shipping-address_1),
  body.woocommerce-checkout .wc-block-components-address-form > :has(#shipping-city),
  body.woocommerce-checkout .wc-block-components-address-form > :has(#shipping-phone) { grid-column: auto; }
}

/* v44 — remove the last unnecessary controls for Morocco-only delivery. */
body.woocommerce-checkout .wc-block-checkout__use-address-for-billing,
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle { display: none !important; }
body.woocommerce-checkout .wc-block-components-address-form__address_1,
body.woocommerce-checkout .wc-block-components-address-form__city,
body.woocommerce-checkout .wc-block-components-address-form__phone { grid-column: span 2; }
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-select select { font-size: 15px !important; }
@media (max-width: 620px) {
  body.woocommerce-checkout .wc-block-components-address-form__address_1,
  body.woocommerce-checkout .wc-block-components-address-form__city,
  body.woocommerce-checkout .wc-block-components-address-form__phone { grid-column: auto; }
}

/* v45 — Checkout polish: wider contact email and compact single-option rows. */
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-text-input input { width: 100% !important; }
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-text-input input { min-height: 58px !important; font-size: 16px !important; }
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-text-input { margin-bottom: 0 !important; }
body.woocommerce-checkout .wc-block-checkout__shipping-methods,
body.woocommerce-checkout .wc-block-checkout__payment-methods { margin-top: 0 !important; }
body.woocommerce-checkout .wc-block-checkout__shipping-methods .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-checkout__payment-methods .wc-block-components-checkout-step { margin-bottom: 12px; }
body.woocommerce-checkout .wc-block-components-shipping-rates-control,
body.woocommerce-checkout .wc-block-components-payment-method { border-radius: 16px; }
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control { min-height: 52px; }
body.woocommerce-checkout .wc-block-components-radio-control__label { font-size: 14px !important; font-weight: 700; }
body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-payment-method .wc-block-components-radio-control__option { padding: 14px 16px !important; }
body.woocommerce-checkout .wc-block-checkout__payment-methods .wc-block-components-payment-method { padding: 14px 16px !important; }
body.woocommerce-checkout .wc-block-checkout__shipping-methods .wc-block-components-shipping-rates-control { padding: 12px 16px !important; }

/* v46 — target WooCommerce's actual Checkout block IDs. */
body.woocommerce-checkout fieldset#contact-fields .wc-block-components-address-form#contact,
body.woocommerce-checkout fieldset#contact-fields .wc-block-components-address-form__email,
body.woocommerce-checkout fieldset#contact-fields .wc-block-components-address-form__email input { width: 100% !important; max-width: none !important; }
body.woocommerce-checkout fieldset#contact-fields .wc-block-components-address-form#contact { display: block !important; }
body.woocommerce-checkout fieldset#contact-fields .wc-block-components-address-form__email { min-height: 64px !important; margin: 0 !important; }
body.woocommerce-checkout fieldset#contact-fields .wc-block-components-address-form__email input { min-height: 58px !important; font-size: 16px !important; }
body.woocommerce-checkout fieldset#shipping-option,
body.woocommerce-checkout fieldset#payment-method { padding: 16px !important; margin: 12px 0 !important; border-radius: 20px !important; }
body.woocommerce-checkout fieldset#shipping-option .wc-block-components-radio-control,
body.woocommerce-checkout fieldset#payment-method .wc-block-components-radio-control { margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
body.woocommerce-checkout fieldset#shipping-option .wc-block-components-radio-control__option,
body.woocommerce-checkout fieldset#payment-method .wc-block-components-radio-control__option { min-height: 48px !important; padding: 12px 14px !important; border-radius: 14px !important; }
body.woocommerce-checkout fieldset#shipping-option .wc-block-components-radio-control__label,
body.woocommerce-checkout fieldset#payment-method .wc-block-components-radio-control__label { font-size: 14px !important; font-weight: 700 !important; color: #fff !important; }
body.woocommerce-checkout fieldset#payment-method .wc-block-components-payment-method { margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; }

/* v47 — compact payment method and refined legal consent. */
body.woocommerce-checkout fieldset#payment-method { padding: 12px 14px !important; margin: 10px 0 !important; border-radius: 18px !important; }
body.woocommerce-checkout fieldset#payment-method .wc-block-components-radio-control,
body.woocommerce-checkout fieldset#payment-method .wc-block-components-payment-method { margin: 0 !important; padding: 0 !important; }
body.woocommerce-checkout fieldset#payment-method .wc-block-components-radio-control__option { min-height: 42px !important; padding: 10px 12px !important; border: 0 !important; background: transparent !important; }
body.woocommerce-checkout fieldset#payment-method .wc-block-components-radio-control__label { font-size: 13px !important; line-height: 1.45 !important; }
body.woocommerce-checkout fieldset#payment-method .wc-block-components-radio-control__description { font-size: 11px !important; line-height: 1.4 !important; opacity: .78; }
body.woocommerce-checkout .wc-block-checkout__terms { margin: 10px 0 12px !important; padding: 8px 12px !important; border: 0 !important; border-top: 1px solid rgba(255,255,255,.16) !important; background: transparent !important; }
body.woocommerce-checkout .wc-block-checkout__terms .wc-block-components-checkbox { margin: 0 !important; align-items: flex-start !important; }
body.woocommerce-checkout .wc-block-checkout__terms .wc-block-components-checkbox__label { color: rgba(255,255,255,.72) !important; font-size: 11px !important; line-height: 1.65 !important; }
body.woocommerce-checkout .wc-block-checkout__terms .wc-block-components-checkbox__label a { color: #fff !important; text-decoration: underline !important; text-underline-offset: 2px; }
body.woocommerce-checkout .wc-block-checkout__terms input[type="checkbox"] { margin-top: 3px !important; accent-color: #fff; }

/* v48 — remove only the requested COD description and optional order-note field. */
body.woocommerce-checkout fieldset#payment-method .wc-block-components-radio-control__description { display: none !important; }
body.woocommerce-checkout #order-notes { display: none !important; }

/* v49 correction — the Blocks COD description lives in the accordion content node. */
body.woocommerce-checkout fieldset#payment-method #radio-control-wc-payment-method-options-cod__content { display: none !important; }

/* v50 — flat Delivery and Payment sections: no outer cards and no inner option boxes. */
body.woocommerce-checkout fieldset#shipping-option,
body.woocommerce-checkout fieldset#payment-method {
  margin: 0 0 18px !important;
  padding: 0 0 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.woocommerce-checkout fieldset#shipping-option .wc-block-components-radio-control,
body.woocommerce-checkout fieldset#payment-method .wc-block-components-radio-control,
body.woocommerce-checkout fieldset#shipping-option .wc-block-components-shipping-rates-control,
body.woocommerce-checkout fieldset#payment-method .wc-block-components-radio-control-accordion-option {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.woocommerce-checkout fieldset#shipping-option .wc-block-components-radio-control__option,
body.woocommerce-checkout fieldset#payment-method .wc-block-components-radio-control__option {
  min-height: 42px !important;
  margin: 0 !important;
  padding: 9px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.woocommerce-checkout fieldset#shipping-option .wc-block-components-radio-control__option-layout,
body.woocommerce-checkout fieldset#payment-method .wc-block-components-radio-control__option-layout { padding: 0 !important; }
body.woocommerce-checkout fieldset#shipping-option .wc-block-components-checkout-step__heading,
body.woocommerce-checkout fieldset#payment-method .wc-block-components-checkout-step__heading { margin-bottom: 3px !important; }

/* v51 — hide the requested Delivery and Payment method sections from the UI only. */
body.woocommerce-checkout fieldset#shipping-option,
body.woocommerce-checkout fieldset#payment-method {
  display: none !important;
}

/* v52 — remove only currently empty WooCommerce summary rows. */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-discount-block:empty,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-fee-block:empty {
  display: none !important;
}

/* v53 — remove the empty Deposet summary shell after hiding its two rows. */
body.woocommerce-checkout .wc-block-components-totals-wrapper:has(.deposet-block--summary) {
  display: none !important;
}


/* v61 — borderless Order summary: remove outlines only, keep layout and values intact. */
body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
body.woocommerce-checkout .wc-block-components-checkout-order-summary__content,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-order-summary__content,
body.woocommerce-checkout .wc-block-components-order-summary-item,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-coupon,
body.woocommerce-checkout .wc-block-components-panel__button {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
body.woocommerce-checkout .wc-block-components-checkout-order-summary__content,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-coupon,
body.woocommerce-checkout .wc-block-components-panel__button {
  border-radius: 0 !important;
}


/* v63 — required English consent with a compact checkbox. */
body.woocommerce-checkout .wc-block-checkout__terms {
  margin: 12px 0 14px !important;
  padding: 8px 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.woocommerce-checkout .wc-block-checkout__terms .wordstore-consent-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  color: rgba(255,255,255,.76) !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  cursor: pointer;
}
body.woocommerce-checkout .wc-block-checkout__terms .wordstore-consent-checkbox {
  flex: 0 0 14px !important;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  accent-color: #ffffff !important;
  cursor: pointer;
}
body.woocommerce-checkout .wc-block-checkout__terms .wordstore-consent-label span {
  display: block !important;
}
body.woocommerce-checkout .wc-block-checkout__actions .wordstore-consent-required-disabled {
  opacity: .45 !important;
  cursor: not-allowed !important;
}


/* v64 — animated announcement marquee. */
.announcement-bar {
  display: block !important;
  min-height: 30px !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  direction: ltr !important;
}
.announcement-track {
  display: flex !important;
  width: max-content !important;
  min-width: max-content !important;
  animation: wordstore-announcement-scroll 32s linear infinite;
  will-change: transform;
}
.announcement-content {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 24px !important;
  min-height: 30px !important;
  padding: 6px 24px !important;
  box-sizing: border-box;
}
.announcement-content span,
.announcement-content strong {
  display: inline-block !important;
  flex: 0 0 auto !important;
}
@keyframes wordstore-announcement-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-25%); }
}
@media (max-width: 720px) {
  .announcement-content { gap: 12px !important; padding-inline: 14px !important; }
  .announcement-content span:first-child,
  .announcement-content span:last-child { display: inline-block !important; }
}
@media (prefers-reduced-motion: reduce) {
  .announcement-track { animation: none !important; transform: none !important; }
}


/* v66 — mobile Hero overflow fix: keep French/Arabic/English headings inside the viewport. */
@media (max-width: 720px) {
  html, body { overflow-x: hidden !important; }
  .store-hero { overflow: hidden !important; }
  .store-hero-inner,
  .store-hero-copy,
  .store-hero-visual { min-width: 0 !important; max-width: 100% !important; }
  .store-hero-copy { width: 100% !important; }
  .store-hero h1 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(36px, 11vw, 50px) !important;
    line-height: .98 !important;
    letter-spacing: -.035em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  .store-hero h1 span { display: inline !important; }
  .store-hero-copy-text { width: 100% !important; max-width: 100% !important; }
  .store-hero-visual { width: 100% !important; padding-inline: 10px !important; box-sizing: border-box; }
  .store-hero-frame { max-width: 100% !important; margin-inline: auto !important; }
}
@media (max-width: 420px) {
  .store-hero h1 { font-size: clamp(34px, 10.5vw, 44px) !important; }
  .store-hero-copy { padding-inline: 2px !important; }
  .store-hero-actions .button { font-size: 10px !important; }
}

/* v67 — keep both header icons visible and prevent the account icon from being clipped on phones. */
@media (max-width: 720px) {
  .header-inner { gap: 4px !important; }
  .brand { min-width: 0 !important; flex: 1 1 auto !important; }
  .brand span { font-size: 16px !important; letter-spacing: .05em !important; white-space: nowrap !important; }
  .menu-toggle { width: 34px !important; flex: 0 0 34px !important; }
  .language-switcher { margin-inline-start: 0 !important; gap: 3px !important; }
  .header-actions { flex: 0 0 auto !important; gap: 5px !important; }
  .header-actions .header-action-icon { width: 35px !important; min-width: 35px !important; height: 35px !important; }
  .header-actions .header-action-icon:nth-child(2) {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}
@media (max-width: 420px) {
  .header-actions .header-action-icon { width: 34px !important; min-width: 34px !important; height: 34px !important; }
  .header-icon { width: 17px !important; height: 17px !important; }
}

/* v69 — Editorial collections: a more modern, premium category presentation. */
.collections {
  padding-top: 104px;
  background: #0b0b0b;
}
.collections > .container { max-width: 1240px; }
.section-lead {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .42fr);
  align-items: end;
  gap: 48px;
  margin-bottom: 70px;
  padding-bottom: 30px;
  border-bottom: 1px solid #303030;
}
.section-lead::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 86px;
  height: 2px;
  background: #fff;
}
.section-lead .section-kicker {
  margin-bottom: 14px;
  color: #9a9a9a;
  font-size: 10px;
  letter-spacing: .2em;
}
.section-lead .section-title {
  color: #fff;
  font-size: clamp(38px, 5.4vw, 72px);
  line-height: .94;
  letter-spacing: -.065em;
}
.section-lead .section-intro {
  max-width: 300px;
  margin: 0 0 3px;
  color: #929292;
  font-size: 13px;
  line-height: 1.85;
}
.collection-row {
  position: relative;
  margin-bottom: 22px;
  border-top: 0;
  padding: 34px 0 68px;
}
.collection-row::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, #fff 0 11%, #303030 11% 100%);
}
.collection-row::after {
  content: '';
  position: absolute;
  top: 0;
  left: 11%;
  width: 1px;
  height: 9px;
  background: #fff;
}
.collection-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 32px;
  margin-bottom: 24px;
}
.collection-title-wrap {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: start;
  gap: 16px;
}
.collection-index {
  padding-top: 5px;
  color: #666;
  font-size: 12px;
  letter-spacing: .12em;
}
.collection-eyebrow {
  margin-bottom: 8px;
  color: #929292;
  font-size: 10px;
  letter-spacing: .2em;
}
.collection-head h3 {
  color: #fff;
  font-size: clamp(34px, 5vw, 66px);
  line-height: .9;
  letter-spacing: -.065em;
}
.collection-info {
  display: grid;
  grid-template-columns: auto auto auto;
  align-items: center;
  gap: 14px;
  color: #8d8d8d;
  font-size: 10px;
  white-space: nowrap;
}
.collection-info span {
  padding: 7px 10px;
  border: 1px solid #393939;
  color: #aaa;
  letter-spacing: .08em;
}
.collection-info strong {
  color: #fff;
  font-size: 16px;
  letter-spacing: -.02em;
}
.collection-info a {
  padding-bottom: 3px;
  border-bottom: 1px solid #fff;
  color: #fff;
  font-size: 10px;
  letter-spacing: .08em;
}
.collection-track {
  gap: 18px;
  margin-inline: 72px 0;
  padding: 2px 0 18px;
  scrollbar-color: #fff transparent;
}
.collection-track > .product-card {
  flex-basis: 252px;
  width: 252px;
  border: 1px solid #2d2d2d;
  border-radius: 0;
  background: #111;
  box-shadow: none;
}
.collection-track > .product-card:hover {
  border-color: #777;
  box-shadow: 0 18px 34px rgba(0,0,0,.28);
  transform: translateY(-4px);
}
.collection-track .product-image { background: #151515; }
.collection-track .product-info { padding: 16px 16px 18px; }
.collection-track .product-title { color: #fff; }
.collection-track .product-price { color: #fff; }
.collection-track .product-link { border-color: #777; color: #fff; border-radius: 0; }
.collection-track .product-link:hover { background: #fff; color: #111; }
@media (max-width: 720px) {
  .collections { padding-top: 68px; }
  .section-lead {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 46px;
    padding-bottom: 24px;
  }
  .section-lead .section-title { font-size: clamp(42px, 13vw, 58px); }
  .section-lead .section-intro { max-width: 320px; }
  .collection-row { padding: 28px 0 48px; }
  .collection-head {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 18px;
    margin-bottom: 20px;
  }
  .collection-title-wrap { grid-template-columns: 42px minmax(0, 1fr); gap: 10px; }
  .collection-head h3 { font-size: clamp(38px, 12vw, 54px); }
  .collection-info {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 9px;
    white-space: normal;
  }
  .collection-info span { font-size: 9px; }
  .collection-info strong { font-size: 14px; }
  .collection-info a { font-size: 9px; }
  .collection-track { margin-inline: 0; gap: 12px; }
  .collection-track > .product-card { flex-basis: 214px; width: 214px; }
}
@media (max-width: 420px) {
  .section-lead .section-title { font-size: 42px; }
  .collection-info { grid-template-columns: 1fr auto; }
  .collection-info span { grid-column: 1 / -1; justify-self: start; }
  .collection-track > .product-card { flex-basis: 194px; width: 194px; }
}

/* v70 — clean collection headers: remove category eyebrow, index, sizes and header price. */
.collection-title-wrap { grid-template-columns: minmax(0, 1fr); }
.collection-index,
.collection-eyebrow,
.collection-info span,
.collection-info strong { display: none !important; }
.collection-info { display: block; }
.collection-info a { display: inline-block; }
@media (max-width: 720px) {
  .collection-title-wrap { grid-template-columns: minmax(0, 1fr); }
  .collection-info { display: block; }
}

/* v73 — moving promo inside the Shop by category section, not the site header. */
.collection-promo-marquee {
  margin: -46px 0 38px;
  overflow: hidden;
  border-top: 1px solid #303030;
  border-bottom: 1px solid #303030;
  background: #0b0b0b;
  white-space: nowrap;
}
.collection-promo-track {
  display: flex;
  width: max-content;
  min-height: 42px;
  align-items: center;
  animation: wordstore-collection-promo-scroll 20s linear infinite;
  will-change: transform;
}
.collection-promo-track span {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 34px;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
}
.collection-promo-track span::after {
  content: '✦';
  margin-inline-start: 34px;
  color: #777;
  font-size: 12px;
}
@keyframes wordstore-collection-promo-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-25%); }
}
@media (max-width: 720px) {
  .collection-promo-marquee { margin: -24px 0 28px; }
  .collection-promo-track { min-height: 38px; }
  .collection-promo-track span {
    min-height: 38px;
    padding-inline: 24px;
    font-size: 9px;
    letter-spacing: .1em;
  }
  .collection-promo-track span::after { margin-inline-start: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .collection-promo-track { animation: none; transform: none; }
}

/* v74 — remove the two decorative section rules; keep the promo marquee as the only divider. */
.section-lead { border-bottom: 0 !important; padding-bottom: 0 !important; }
.section-lead::after { display: none !important; }
.collection-row::before,
.collection-row::after { display: none !important; }


/* v84 — single-button language dropdown. */
.language-switcher {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  margin-inline-start: auto;
  gap: 0 !important;
}
.language-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 5px 10px;
  border: 1px solid #4a4a4a;
  border-radius: 999px;
  background: #0b0b0b;
  color: #fff;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  cursor: pointer;
}
.language-toggle:hover,
.language-toggle:focus-visible {
  border-color: #fff;
  background: #fff;
  color: #111;
}
.language-chevron {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translate(-1px, -1px);
  transform-origin: center;
}
.language-menu {
  position: absolute;
  z-index: 40;
  top: calc(100% + 8px);
  inset-inline-end: 0;
  display: grid;
  min-width: 132px;
  padding: 5px;
  border: 1px solid #454545;
  border-radius: 10px;
  background: #111;
  box-shadow: 0 16px 36px rgba(0,0,0,.35);
}
.language-menu[hidden] { display: none !important; }
.language-menu a,
.language-menu a:hover,
.language-menu a:focus-visible,
.language-menu a.is-active {
  display: flex;
  min-height: 34px;
  align-items: center;
  padding: 7px 10px;
  border: 0 !important;
  border-radius: 6px;
  color: #eee !important;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}
.language-menu a:hover,
.language-menu a:focus-visible,
.language-menu a.is-active {
  background: #fff;
  color: #111 !important;
}
@media (max-width: 720px) {
  .language-switcher { order: 3; margin-inline-start: auto !important; }
  .language-toggle { min-height: 30px; padding-inline: 9px; font-size: 9px; }
  .language-menu { inset-inline-end: 0; min-width: 124px; }
}
@media (max-width: 420px) {
  .language-toggle { min-height: 29px; padding-inline: 8px; }
  .language-menu { top: calc(100% + 6px); }
}


/* v86 — keep the category heading fully visible on narrow screens. */
.section-lead .section-title {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}
@media (max-width: 720px) {
  .section-lead .section-title {
    font-size: clamp(34px, 10.5vw, 52px);
    line-height: 1.02;
    letter-spacing: -.045em;
  }
}
@media (max-width: 420px) {
  .section-lead .section-title { font-size: clamp(32px, 10.5vw, 42px); }
}

/* v88 — premium material and fit details for product 94. */
.wordstore-material-details {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  margin: 18px 0 22px;
  padding: 13px 0 15px;
  border-top: 1px solid #303030;
  border-bottom: 1px solid #303030;
  color: #d8d8d8;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
}
.wordstore-material-details span {
  display: inline-flex;
  align-items: center;
}
.wordstore-material-details span + span::before {
  content: '·';
  margin-inline-end: 10px;
  color: #777;
}
@media (max-width: 720px) {
  .wordstore-material-details {
    gap: 4px 8px;
    margin: 14px 0 18px;
    padding: 11px 0 13px;
    font-size: 11px;
  }
}

/* v91 — refined option layout and premium purchase controls. */
body.single-product div.product form.cart .variations,
body.single-product div.product form.cart .variations tbody,
body.single-product div.product form.cart .variations tr,
body.single-product div.product form.cart .variations td {
  display: block;
  width: 100%;
}
body.single-product div.product form.cart .variations {
  margin-bottom: 26px;
}
body.single-product div.product form.cart .variations td.label {
  padding: 0 0 10px;
}
body.single-product div.product form.cart .variations td.value {
  padding: 0 0 16px;
}
body.single-product div.product form.cart .variations .wordstore-option-buttons {
  min-height: 0;
  justify-content: flex-start;
  gap: 10px;
}
body.single-product div.product form.cart .variations .wordstore-option-button {
  min-width: 58px;
  min-height: 46px;
  border: 1px solid #4d4d4d;
  border-radius: 10px;
  background: #151515;
  color: #fff;
  font-size: 12px;
}
body.single-product div.product form.cart .variations .wordstore-option-button:hover,
body.single-product div.product form.cart .variations .wordstore-option-button:focus-visible {
  border-color: #fff;
  background: #2a2a2a;
  color: #fff;
}
body.single-product div.product form.cart .variations .wordstore-option-button.is-selected {
  border-color: #fff;
  background: #fff;
  color: #111;
}
body.single-product div.product form.cart .quantity {
  display: inline-flex;
  width: 82px;
  float: none;
  margin: 0 10px 0 0;
  vertical-align: middle;
}
body.single-product div.product form.cart .quantity .qty {
  width: 100%;
  min-height: 52px;
  border: 1px solid #4d4d4d;
  border-radius: 10px;
  background: #151515;
  color: #fff;
  text-align: center;
}
body.single-product div.product form.cart .single_add_to_cart_button {
  display: inline-flex !important;
  width: calc(100% - 96px) !important;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  border: 1px solid #fff;
  border-radius: 10px;
  background: #fff;
  color: #111;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
}
body.single-product div.product form.cart .single_add_to_cart_button:hover,
body.single-product div.product form.cart .single_add_to_cart_button:focus-visible {
  border-color: #d7d7d7;
  background: #d7d7d7;
  color: #111;
}
body.single-product div.product form.cart .single_add_to_cart_button.disabled,
body.single-product div.product form.cart .single_add_to_cart_button:disabled {
  border-color: #4f4f4f;
  background: #4f4f4f;
  color: #171717;
  opacity: 1;
}
@media (max-width: 520px) {
  body.single-product div.product form.cart .quantity {
    width: 78px;
    margin-inline-end: 8px;
  }
  body.single-product div.product form.cart .single_add_to_cart_button {
    width: calc(100% - 90px) !important;
  }
}

/* v92 — make the wishlist control visible on every product page. */
body.single-product .yith-wcwl-add-to-wishlist {
  display: block;
  margin: 22px 0 0;
  color: #fff;
}
body.single-product .yith-wcwl-add-to-wishlist .yith-wcwl-add-button,
body.single-product .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse,
body.single-product .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse {
  display: block;
}
body.single-product .yith-wcwl-add-to-wishlist a {
  display: inline-flex !important;
  min-height: 46px;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border: 1px solid #4d4d4d !important;
  border-radius: 10px;
  background: #151515 !important;
  color: #fff !important;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
}
body.single-product .yith-wcwl-add-to-wishlist a:hover,
body.single-product .yith-wcwl-add-to-wishlist a:focus-visible {
  border-color: #fff !important;
  background: #fff !important;
  color: #111 !important;
}
body.single-product .yith-wcwl-add-to-wishlist a .yith-wcwl-icon,
body.single-product .yith-wcwl-add-to-wishlist a i,
body.single-product .yith-wcwl-add-to-wishlist a svg {
  color: currentColor !important;
  fill: currentColor;
  font-size: 17px;
  line-height: 1;
}
body.single-product .yith-wcwl-add-to-wishlist .feedback {
  color: #fff;
  font-size: 12px;
}
@media (max-width: 520px) {
  body.single-product .yith-wcwl-add-to-wishlist a {
    min-height: 44px;
    padding-inline: 14px;
  }
}

/* v93 — target YITH's actual anchor button, not only its legacy wrapper. */
body.single-product a.yith-wcwl-add-to-wishlist-button,
body.single-product a.yith-wcwl-add-to-wishlist-button:visited {
  display: inline-flex !important;
  min-height: 46px;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border: 1px solid #4d4d4d !important;
  border-radius: 10px !important;
  background: #151515 !important;
  color: #fff !important;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  vertical-align: middle;
}
body.single-product a.yith-wcwl-add-to-wishlist-button:hover,
body.single-product a.yith-wcwl-add-to-wishlist-button:focus-visible {
  border-color: #fff !important;
  background: #fff !important;
  color: #111 !important;
}
body.single-product a.yith-wcwl-add-to-wishlist-button .yith-wcwl-icon,
body.single-product a.yith-wcwl-add-to-wishlist-button .yith-wcwl-add-to-wishlist-button-icon {
  width: 18px !important;
  height: 18px !important;
  color: currentColor !important;
  fill: none !important;
  stroke: currentColor !important;
  flex: 0 0 18px;
}
body.single-product a.yith-wcwl-add-to-wishlist-button .yith-wcwl-add-to-wishlist-button__label {
  color: currentColor !important;
  white-space: nowrap;
}
@media (max-width: 520px) {
  body.single-product a.yith-wcwl-add-to-wishlist-button {
    min-height: 44px;
    padding-inline: 14px;
  }
}

/* v106 — centered CSS chevron with no glyph artifacts. */
body.single-product .wordstore-delivery-panel {
  grid-column: 1 / -1;
  justify-self: center;
  display: block;
  width: min(100%, 820px);
  max-width: 820px;
  margin: 54px auto 0;
  border: 0;
  border-radius: 22px;
  background: #fff;
  color: #111;
  overflow: hidden;
}
body.single-product .wordstore-delivery-panel summary {
  display: flex;
  min-height: 88px;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 24px 30px;
  color: #111;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: .02em;
  cursor: pointer;
  list-style: none;
}
body.single-product .wordstore-delivery-panel summary::-webkit-details-marker { display: none; }
body.single-product .wordstore-delivery-panel summary::marker { display: none; }
.wordstore-delivery-title {
  display: inline-flex;
  align-items: center;
  gap: 15px;
}
.wordstore-delivery-icon {
  display: inline-grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1.5px solid #111;
  border-radius: 50%;
  font-size: 14px;
  line-height: 1;
}
.wordstore-delivery-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wordstore-delivery-toggle {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border: 1.5px solid #111;
  border-radius: 50%;
  color: #111;
  transform: rotate(0deg);
  transform-origin: center;
}
.wordstore-delivery-toggle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 9px;
  margin: -6px 0 0 -5px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}
body.single-product .wordstore-delivery-panel[open] .wordstore-delivery-toggle { transform: rotate(180deg); }
.wordstore-delivery-content {
  padding: 0 30px 30px;
  border-top: 1px solid #e5e5e5;
  color: #333;
  font-size: 16px;
}
.wordstore-delivery-content p {
  margin: 22px 0 0;
  font-weight: 700;
  line-height: 1.7;
}
.wordstore-delivery-content p + p { margin-top: 8px; }
body.single-product .wordstore-delivery-panel summary:hover { background: #f3f3f3; }
@media (max-width: 720px) {
  body.single-product .wordstore-delivery-panel { width: 100%; max-width: none; margin-top: 34px; border-radius: 18px; }
  body.single-product .wordstore-delivery-panel summary { min-height: 72px; padding: 18px 20px; font-size: 16px; }
  .wordstore-delivery-icon, .wordstore-delivery-toggle { width: 32px; height: 32px; }
  .wordstore-delivery-icon svg { width: 19px; height: 19px; }
  .wordstore-delivery-content { padding: 0 20px 24px; font-size: 14px; }
}

/* v111 — align both recommendation rows to the same full-width grid. */
body.single-product .related.products,
body.single-product .wordstore-hoodie-recommendations {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
body.single-product .wordstore-hoodie-recommendations > .container {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
body.single-product .related.products > h2,
body.single-product .wordstore-hoodie-recommendations .section-title {
  margin-top: 0;
  margin-bottom: 34px;
  font-size: 30px;
  line-height: 1.12;
}
body.single-product .wordstore-hoodie-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  justify-content: stretch;
  gap: 14px;
}
@media (max-width: 900px) {
  body.single-product .wordstore-hoodie-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  body.single-product .related.products > h2,
  body.single-product .wordstore-hoodie-recommendations .section-title { font-size: 26px; margin-bottom: 24px; }
  body.single-product .wordstore-hoodie-grid { gap: 12px; }
}

/* v110 — place the hoodie recommendations on a full row below Related products. */
body.single-product .wordstore-hoodie-recommendations {
  grid-column: 1 / -1;
  width: 100%;
  justify-self: stretch;
  margin-top: 18px;
  padding: 72px 0 92px;
  border-top: 1px solid #2d2d2d;
  background: #111;
  color: #fff;
}
body.single-product .wordstore-hoodie-recommendations .section-head {
  margin-bottom: 34px;
}
body.single-product .wordstore-hoodie-recommendations .section-title {
  color: #fff;
  font-size: clamp(30px, 4vw, 46px);
}
body.single-product .wordstore-hoodie-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 280px));
  justify-content: start;
  gap: 22px;
}
body.single-product .wordstore-hoodie-grid .product-card {
  color: #111;
  background: #fff;
}
@media (max-width: 720px) {
  body.single-product .wordstore-hoodie-recommendations { margin-top: 8px; padding: 52px 0 64px; }
  body.single-product .wordstore-hoodie-recommendations .section-head { margin-bottom: 24px; }
  body.single-product .wordstore-hoodie-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

/* v111 final overrides — keep both recommendation sections aligned. */
body.single-product .related.products,
body.single-product .wordstore-hoodie-recommendations {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
body.single-product .wordstore-hoodie-recommendations > .container {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
body.single-product .related.products > h2,
body.single-product .wordstore-hoodie-recommendations .section-title {
  margin-top: 0;
  margin-bottom: 34px;
  font-size: 30px;
  line-height: 1.12;
}
body.single-product .wordstore-hoodie-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  justify-content: stretch;
  gap: 14px;
}
@media (max-width: 900px) {
  body.single-product .wordstore-hoodie-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  body.single-product .related.products > h2,
  body.single-product .wordstore-hoodie-recommendations .section-title { font-size: 26px; margin-bottom: 24px; }
  body.single-product .wordstore-hoodie-grid { gap: 12px; }
}

/* v112 — show product name and price only in both recommendation rows. */
body.single-product .related.products ul.products li.product,
body.single-product .wordstore-hoodie-grid .product-card {
  color: #111;
  background: #fff;
}
body.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
body.single-product .related.products ul.products li.product .woocommerce-loop-product__title a,
body.single-product .wordstore-hoodie-grid .product-title,
body.single-product .wordstore-hoodie-grid .product-title a {
  color: #111;
  font-weight: 800;
}
body.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
  min-height: 54px;
  margin: 0;
  padding: 18px 18px 0;
  font-size: 15px;
  line-height: 1.4;
}
body.single-product .related.products ul.products li.product .price,
body.single-product .wordstore-hoodie-grid .product-price {
  color: #111;
  font-weight: 700;
}
body.single-product .related.products ul.products li.product .price { padding: 8px 18px 18px; }
body.single-product .related.products ul.products li.product .button,
body.single-product .wordstore-hoodie-grid .product-link {
  display: none !important;
}
body.single-product .wordstore-hoodie-grid .product-info { padding: 18px; }
body.single-product .wordstore-hoodie-grid .product-title {
  min-height: 54px;
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.4;
}
body.single-product .wordstore-hoodie-grid .product-price { margin: 0; }
@media (max-width: 520px) {
  body.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
  body.single-product .wordstore-hoodie-grid .product-title { min-height: 46px; padding-top: 14px; font-size: 13px; }
  body.single-product .wordstore-hoodie-grid .product-info { padding: 14px; }
}


/* v114 — black off-canvas cart drawer inspired by the supplied reference. */
body.wordstore-cart-open { overflow: hidden; }
.wordstore-cart-overlay[hidden] { display: none; }
.wordstore-cart-overlay {
  position: fixed;
  z-index: 9998;
  inset: 0;
  background: rgba(0, 0, 0, .62);
}
.wordstore-cart-drawer {
  position: fixed;
  z-index: 9999;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  width: min(100%, 460px);
  min-height: 100dvh;
  max-height: 100dvh;
  background: #070707;
  color: #fff;
  transform: translateX(105%);
  transition: transform .26s ease;
  box-shadow: -18px 0 48px rgba(0, 0, 0, .36);
}
.wordstore-cart-drawer.is-open { transform: translateX(0); }
.wordstore-cart-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 74px;
  padding: 14px 20px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, .3);
}
.wordstore-cart-drawer__header h2 {
  margin: 0;
  color: #fff;
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: -.02em;
}
.wordstore-cart-drawer__close {
  display: grid;
  width: 42px;
  height: 42px;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 39px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
}
.wordstore-cart-drawer__content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 22px 20px 28px;
}
.wordstore-cart-empty {
  margin: 10px 0;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}
.wordstore-cart-items { display: grid; gap: 22px; }
.wordstore-cart-item {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255, 255, 255, .22);
}
.wordstore-cart-item__image {
  display: grid;
  width: 82px;
  height: 96px;
  place-items: center;
  background: #111;
}
.wordstore-cart-item__image img {
  display: block;
  width: 82px;
  height: 96px;
  object-fit: contain;
}
.wordstore-cart-item__main { min-width: 0; }
.wordstore-cart-item__main h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
}
.wordstore-cart-item__main h3 a { color: #fff; text-decoration: none; }
.wordstore-cart-item__price {
  margin-bottom: 3px;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
}
.wordstore-cart-item__meta {
  color: #c9c9c9;
  font-size: 12px;
  font-weight: 600;
}
.wordstore-cart-item__controls {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin-top: 14px;
  border: 1px solid rgba(255, 255, 255, .7);
}
.wordstore-cart-item__controls button,
.wordstore-cart-item__controls span {
  display: grid;
  width: 34px;
  height: 32px;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  line-height: 1;
}
.wordstore-cart-item__controls button { cursor: pointer; }
.wordstore-cart-item__controls button:hover { background: #fff; color: #070707; }
.wordstore-cart-item__controls .wordstore-cart-item__remove {
  width: 36px;
  margin-left: 14px;
  border-left: 1px solid rgba(255, 255, 255, .42);
  font-size: 25px;
}
.wordstore-cart-drawer__footer {
  flex: 0 0 auto;
  padding: 18px 20px 20px;
  border-top: 1px solid rgba(255, 255, 255, .42);
  background: #070707;
}
.wordstore-cart-subtotal {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  color: #fff;
  font-size: 17px;
  font-weight: 800;
}
.wordstore-cart-subtotal strong { color: #fff; }
.wordstore-cart-note {
  margin: 7px 0 17px;
  color: #c9c9c9;
  font-size: 12px;
  line-height: 1.4;
}
.wordstore-cart-checkout,
.wordstore-cart-view {
  display: block;
  width: 100%;
  text-align: center;
  text-decoration: none;
}
.wordstore-cart-checkout {
  padding: 13px 16px;
  background: #fff;
  color: #070707;
  font-size: 16px;
  font-weight: 800;
}
.wordstore-cart-checkout:hover { background: #e8e8e8; color: #070707; }
.wordstore-cart-view {
  margin-top: 12px;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}
.wordstore-cart-view:hover { color: #c9c9c9; }
@media (max-width: 520px) {
  .wordstore-cart-drawer { width: 100%; }
  .wordstore-cart-drawer__header { min-height: 68px; padding: 10px 14px; }
  .wordstore-cart-drawer__header h2 { font-size: 25px; }
  .wordstore-cart-drawer__content { padding: 18px 14px 24px; }
  .wordstore-cart-drawer__footer { padding: 16px 14px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .wordstore-cart-drawer { transition: none; }
}

/* Keep the non-editable DELIVERY summary free of text-caret artifacts. */
body.single-product .wordstore-delivery-panel > summary,
body.single-product .wordstore-delivery-panel > summary * {
  caret-color: transparent !important;
  user-select: none;
  -webkit-user-select: none;
}

/* v122 — OUR COLLECTION image and white editorial card. */
.collection-promise {
  background: #fff;
  color: #111;
  padding: 92px 0 104px;
}
.collection-promise-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(300px, .72fr);
  align-items: center;
  gap: 0;
}
.collection-promise-media {
  position: relative;
  z-index: 1;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border-radius: 18px;
  background: #111;
}
.collection-promise-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  image-rendering: auto;
}
.collection-promise-card {
  position: relative;
  z-index: 2;
  margin-inline-start: -52px;
  padding: 52px 46px;
  border: 1px solid #111;
  border-radius: 22px;
  background: #fff;
  color: #111;
  box-shadow: 18px 18px 0 #111;
}
.collection-promise-kicker {
  margin: 0 0 28px;
  color: #555;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.4;
}
.collection-promise-card h2 {
  margin: 0;
  color: #111;
  font-size: clamp(38px, 5vw, 68px);
  font-weight: 800;
  letter-spacing: -.06em;
  line-height: .94;
}
.collection-promise-card p:not(.collection-promise-kicker) {
  max-width: 350px;
  margin: 28px 0 30px;
  color: #444;
  font-size: 14px;
  line-height: 1.75;
}
.collection-promise-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #111;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-decoration: none;
}
.collection-promise-link span {
  font-size: 16px;
  line-height: 1;
}
@media (max-width: 980px) {
  .collection-promise-inner { grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr); }
  .collection-promise-card { margin-inline-start: -34px; padding: 40px 32px; }
}
@media (max-width: 720px) {
  .collection-promise { padding: 58px 0 72px; }
  .collection-promise-inner { display: block; }
  .collection-promise-media { border-radius: 14px; }
  .collection-promise-card {
    margin: -42px 18px 0;
    padding: 34px 28px 38px;
    border-radius: 16px;
    box-shadow: 10px 10px 0 #111;
  }
  .collection-promise-kicker { margin-bottom: 22px; }
  .collection-promise-card h2 { font-size: 48px; }
  .collection-promise-card p:not(.collection-promise-kicker) { margin-top: 22px; }
}
@media (max-width: 420px) {
  .collection-promise-card { margin-inline: 12px; padding-inline: 22px; }
  .collection-promise-card h2 { font-size: 42px; }
}

/* v123 — WORDSTORE Design Studio for T-shirts, hoodies, mugs and posters. */
.designer-section { background: #0d0d0d; color: #fff; }
.designer-section-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; align-items: end; margin-bottom: 34px; }
.designer-section-intro .section-kicker { color: #9b9b9b; }
.designer-section-intro .section-title { color: #fff; }
.designer-section-intro .section-intro { max-width: 620px; margin: 0; color: #aaa; }
.custom-designer { border: 1px solid #343434; background: #151515; color: #fff; }
.designer-toolbar { display: flex; align-items: center; gap: 12px; padding: 14px; border-bottom: 1px solid #343434; background: #101010; }
.designer-product-select { display: grid; gap: 4px; min-width: 230px; color: #aaa; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.designer-product-select select, .designer-setting input, .designer-setting select, .designer-setting textarea { width: 100%; border: 1px solid #464646; border-radius: 0; background: #0c0c0c; color: #fff; }
.designer-product-select select { min-height: 40px; padding: 0 12px; font-size: 12px; letter-spacing: 0; text-transform: none; }
.designer-sides { display: inline-flex; gap: 6px; margin-inline-start: auto; }
.designer-side, .designer-stage-tabs button { min-height: 38px; padding: 9px 16px; border: 1px solid #444; border-radius: 0; background: transparent; color: #aaa; font-size: 11px; font-weight: 800; cursor: pointer; }
.designer-side.is-active, .designer-stage-tabs button.is-active { border-color: #fff; background: #fff; color: #111; }
.designer-price { min-width: 80px; color: #fff; font-size: 13px; text-align: end; }
.designer-workspace { display: grid; grid-template-columns: 116px minmax(360px, 1fr) 300px; min-height: 620px; }
.designer-tools { display: grid; align-content: start; gap: 8px; padding: 16px 12px; border-inline-end: 1px solid #343434; background: #101010; }
.designer-tool { min-height: 48px; border: 1px solid #3e3e3e; border-radius: 0; background: #191919; color: #ddd; font-size: 10px; font-weight: 800; cursor: pointer; }
.designer-tool.is-active, .designer-tool:hover { border-color: #fff; background: #fff; color: #111; }
.designer-color-list { display: grid; grid-template-columns: repeat(2, 28px); justify-content: center; gap: 7px; padding-top: 12px; }
.designer-color { width: 28px; height: 28px; border: 2px solid #555; border-radius: 50%; cursor: pointer; }
.designer-color.is-selected { outline: 2px solid #fff; outline-offset: 2px; }
.designer-stage-wrap { display: grid; grid-template-rows: minmax(520px, 1fr) auto; min-width: 0; background: #252525; }
.designer-stage { position: relative; display: grid; min-height: 520px; place-items: center; padding: 54px 34px 24px; background: #252525; }
.designer-product-art { position: relative; display: grid; width: min(82%, 470px); aspect-ratio: 1 / 1; place-items: center; background: #d5d5d5; box-shadow: 0 18px 30px rgba(0,0,0,.25); }
.designer-product-art::before { content: ''; display: block; width: 68%; height: 70%; background: var(--designer-product-color, #fff); clip-path: polygon(25% 0, 39% 11%, 61% 11%, 75% 0, 100% 26%, 86% 43%, 79% 33%, 82% 100%, 18% 100%, 21% 33%, 14% 43%, 0 26%); filter: drop-shadow(0 14px 7px rgba(0,0,0,.2)); }
.designer-print-area { position: absolute; z-index: 2; display: grid; width: 30%; min-height: 34%; place-items: center; text-align: center; }
.designer-print-area span { max-width: 100%; color: #111; font-size: clamp(13px, 2vw, 25px); font-weight: 800; line-height: 1.05; overflow-wrap: anywhere; }
.designer-print-area img { display: block; width: 100%; max-height: 170px; object-fit: contain; }
.designer-stage[data-product="hoodie"] .designer-product-art::before { width: 73%; height: 76%; clip-path: polygon(23% 0, 40% 12%, 60% 12%, 77% 0, 100% 24%, 86% 46%, 78% 37%, 82% 100%, 18% 100%, 22% 37%, 14% 46%, 0 24%); }
.designer-stage[data-product="mug"] .designer-product-art::before { width: 53%; height: 46%; clip-path: none; border-radius: 5px 5px 20px 20px; }
.designer-stage[data-product="mug"] .designer-product-art::after { content: ''; position: absolute; width: 17%; height: 24%; border: 13px solid var(--designer-product-color, #fff); border-inline-start: 0; border-radius: 0 30px 30px 0; }
.designer-stage[data-product="poster"] .designer-product-art::before { width: 48%; height: 65%; clip-path: none; border: 10px solid var(--designer-product-color, #fff); background: #fafafa; box-shadow: 0 10px 16px rgba(0,0,0,.22); }
.designer-stage[data-product="poster"] .designer-print-area { width: 35%; min-height: 45%; }
.designer-stage[data-side="back"] .designer-print-area { transform: scale(.92); opacity: .82; }
.designer-stage-hint { position: absolute; bottom: 10px; left: 0; right: 0; color: #777; font-size: 10px; text-align: center; }
.designer-stage-tabs { display: flex; justify-content: center; gap: 7px; padding: 12px; border-top: 1px solid #343434; background: #1c1c1c; }
.designer-settings { display: grid; align-content: start; gap: 14px; padding: 20px; border-inline-start: 1px solid #343434; background: #151515; }
.designer-setting { display: grid; gap: 6px; }
.designer-size-setting[data-size-product="mug"] { display: none !important; }
.designer-setting label { color: #eee; font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.designer-setting input, .designer-setting select { min-height: 42px; padding: 9px 11px; font-size: 12px; }
.designer-setting textarea { min-height: 76px; padding: 9px 11px; resize: vertical; font-size: 12px; }
.designer-setting span { color: #8c8c8c; font-size: 10px; }
.designer-apply-text { min-height: 34px; border: 1px solid #555; border-radius: 0; background: #222; color: #fff; font-size: 10px; font-weight: 800; cursor: pointer; }
.designer-submit { min-height: 48px; margin-top: 3px; border: 1px solid #fff; border-radius: 0; background: #fff; color: #111; font-size: 11px; font-weight: 800; letter-spacing: .05em; cursor: pointer; text-transform: uppercase; }
.designer-submit:hover { background: #ddd; }
.custom-designer .form-success, .custom-designer .form-error { margin: 0; border: 0; border-radius: 0; }
@media (max-width: 980px) {
  .designer-section-intro { grid-template-columns: 1fr; gap: 12px; }
  .designer-workspace { grid-template-columns: 92px minmax(300px, 1fr); }
  .designer-settings { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #343434; border-inline-start: 0; }
  .designer-settings .designer-submit { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .designer-toolbar { display: grid; grid-template-columns: 1fr 1fr; }
  .designer-product-select { grid-column: 1 / -1; min-width: 0; }
  .designer-sides { margin-inline-start: 0; }
  .designer-price { justify-self: end; align-self: center; }
  .designer-workspace { display: block; min-height: 0; }
  .designer-tools { display: flex; flex-wrap: wrap; border-inline-end: 0; border-bottom: 1px solid #343434; }
  .designer-tool { flex: 1 1 42%; min-height: 40px; }
  .designer-color-list { display: flex; flex: 1 1 100%; justify-content: start; padding: 8px 2px 2px; }
  .designer-stage-wrap { display: block; }
  .designer-stage { min-height: 400px; padding: 34px 18px 20px; }
  .designer-product-art { width: min(86vw, 390px); }
  .designer-settings { display: grid; grid-template-columns: 1fr; padding: 16px; }
  .designer-settings .designer-submit { grid-column: auto; }
}

/* v124 — movable and resizable print area. */
.designer-stage { touch-action: none; }
.designer-print-area { left: var(--designer-print-x, 50%); top: var(--designer-print-y, 50%); transform: translate(-50%, -50%) scale(var(--designer-print-scale, 1)); cursor: grab; touch-action: none; }
.designer-stage.is-dragging .designer-print-area { cursor: grabbing; }
.designer-transform-controls input[type="range"] { width: 100%; min-height: 0; padding: 0; accent-color: #fff; }
.designer-transform-controls small { color: #777; font-size: 10px; line-height: 1.4; }
.designer-stage[data-side="back"] .designer-print-area { transform: translate(-50%, -50%) scale(var(--designer-print-scale, 1)); opacity: .82; }

/* v125 — real WORDSTORE product images in the design studio. */
.designer-product-art.has-base-image::before,
.designer-product-art.has-base-image::after { opacity: 0; pointer-events: none; }
.designer-base-product { position: absolute; z-index: 1; display: block; width: 78%; height: 78%; object-fit: contain; object-position: center; }
.designer-stage[data-product="mug"] .designer-base-product { width: 72%; height: 72%; }
.designer-stage[data-product="poster"] .designer-base-product { width: 70%; height: 82%; }
.designer-print-area { z-index: 3; }

/* v127 — customer-only editor with real blank T-shirt mockups. */
.customer-mockup-art { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #ececec; }
.customer-mockup-image { position: absolute; inset: 0; z-index: 1; display: none; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.customer-mockup-image.is-active { display: block; }
.customer-mockup-art .designer-print-area { z-index: 4; left: 50%; top: 52%; width: 38%; min-height: 25%; display: grid; place-items: center; transform: translate(-50%, -50%) scale(1); cursor: grab; }
.customer-mockup-art .designer-print-area img { max-width: 100%; max-height: 100%; object-fit: contain; }
.customer-mockup-art .designer-print-area [data-designer-text-preview] { max-width: 100%; color: #111; font-size: clamp(14px, 2.5vw, 28px); font-weight: 800; line-height: 1.05; text-align: center; overflow-wrap: anywhere; }
.designer-stage[data-side="back"] .customer-mockup-art .designer-print-area { left: 50%; top: 52%; }
.designer-stage[data-side="left_sleeve"] .customer-mockup-art .designer-print-area,
.designer-stage[data-side="right_sleeve"] .customer-mockup-art .designer-print-area { left: 50%; top: 55%; width: 30%; min-height: 18%; }
.designer-stage.is-dragging .designer-print-area { cursor: grabbing; }
.customer-design-tools .designer-tool-note { display: block; margin-top: 16px; color: #777; font-size: 11px; line-height: 1.5; }

/* v129 — larger transparent customer mockup and black color option. */
.customer-mockup-art { width: min(96%, 760px); height: min(72vh, 620px); aspect-ratio: auto; background: transparent; box-shadow: none; }
.customer-mockup-art .customer-mockup-image { background: transparent; }
.designer-stage[data-side="left_sleeve"] .customer-mockup-art,
.designer-stage[data-side="right_sleeve"] .customer-mockup-art { width: min(52%, 370px); height: min(88%, 620px); }
.customer-mockup-image.is-black { filter: invert(1) grayscale(1) contrast(1.18); }
.designer-color-choice { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.designer-color-choice > span { flex: 0 0 100%; color: #aaa; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.designer-color-choice .designer-color { min-width: 78px; min-height: 36px; padding: 8px 14px; border: 1px solid #555; border-radius: 0; background: #252525; color: #aaa; font-size: 11px; font-weight: 800; cursor: pointer; }
.designer-color-choice .designer-color[data-customer-color="white"] { background: #fff; color: #111; }
.designer-color-choice .designer-color[data-customer-color="black"] { background: #111; color: #fff; }
.designer-color-choice .designer-color.is-selected { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 720px) {
  .customer-mockup-art { width: 96%; height: min(66vh, 500px); }
  .designer-stage[data-side="left_sleeve"] .customer-mockup-art,
  .designer-stage[data-side="right_sleeve"] .customer-mockup-art { width: 58%; height: min(70vh, 500px); }
}

/* v133 — restore the exact original mockup asset; hide only the legacy silhouette. */
.customer-mockup-art::before,
.customer-mockup-art::after { content: none !important; display: none !important; }
.customer-mockup-art .customer-mockup-image { z-index: 2 !important; }
.customer-mockup-image.is-black { filter: invert(1) grayscale(1) contrast(1.18) !important; }
.designer-stage-tabs { display: none !important; }
.designer-toolbar .designer-sides { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; min-width: 0; }
.designer-toolbar .designer-side { min-width: 96px; margin: 0; }
.designer-toolbar .designer-side.is-active { border-color: #fff; background: #fff; color: #111; }
.designer-toolbar .designer-side:hover { border-color: #fff; background: transparent; color: #fff; }
.designer-toolbar .designer-side.is-active:hover { background: #fff; color: #111; }
@media (max-width: 720px) {
  .designer-toolbar .designer-sides { justify-content: flex-start; width: 100%; }
  .designer-toolbar .designer-side { flex: 1 1 calc(50% - 8px); min-width: 0; }
}

/* v134 — compact reference-style designer tool rail, in WORDSTORE black and white. */
.designer-tools.customer-design-tools { display: flex; flex-direction: column; align-items: stretch; gap: 8px; padding: 16px 10px; background: #101010; }
.designer-tool-rail-title { padding: 0 6px 5px; color: #8b8b8b; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.designer-tool-panel-toggle,
.designer-tool-action { display: flex; align-items: center; justify-content: flex-start; gap: 9px; width: 100%; min-height: 48px; padding: 8px 10px; border: 1px solid #3d3d3d; border-radius: 0; background: #191919; color: #eee; font-size: 10px; font-weight: 800; cursor: pointer; text-align: start; }
.designer-tool-panel-toggle:hover,
.designer-tool-action:hover,
.designer-tool-panel-toggle.is-active { border-color: #fff; background: #fff; color: #111; }
.designer-tool-icon { display: inline-grid; width: 19px; height: 19px; place-items: center; border: 1px solid currentColor; font-size: 12px; line-height: 1; }
.designer-tool-panel { display: block; padding: 9px 8px 10px; border: 1px solid #333; border-top: 0; background: #171717; }
.designer-tool-panel[hidden] { display: none; }
.designer-color-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 0; }
.designer-color-choice > .designer-color { min-width: 0; min-height: 34px; padding: 7px 4px; border: 1px solid #555; border-radius: 0; font-size: 9px; font-weight: 800; cursor: pointer; }
.designer-color-choice > .designer-color[data-customer-color="white"] { background: #fff; color: #111; }
.designer-color-choice > .designer-color[data-customer-color="black"] { background: #111; color: #fff; }
.designer-color-choice > .designer-color.is-selected { outline: 2px solid #fff; outline-offset: 1px; }
.designer-layer-list { display: grid; gap: 5px; color: #aaa; font-size: 9px; line-height: 1.4; }
.designer-layer-item { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 6px 7px; border: 1px solid #3c3c3c; color: #ddd; }
.designer-tool-save { margin-top: auto; border-color: #fff; background: #fff; color: #111; }
.designer-tool-save:hover { background: #ddd; color: #111; }
@media (max-width: 980px) {
  .designer-tools.customer-design-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; }
  .designer-tool-rail-title, .designer-tool-note { grid-column: 1 / -1; }
  .designer-tool-panel { min-width: 0; }
  .designer-tool-save { margin-top: 0; }
}
@media (max-width: 720px) {
  .designer-tools.customer-design-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; }
  .designer-tool-panel-toggle, .designer-tool-action { min-height: 44px; }
}

/* v135 — remove Layers and elevate the tool rail with restrained luxury motion. */
.designer-tools.customer-design-tools { gap: 10px; padding: 16px 10px; }
.designer-tool-panel-toggle,
.designer-tool-action { position: relative; overflow: hidden; min-height: 52px; border-color: #454545; background: linear-gradient(145deg, #202020, #111); color: #f4f4f4; box-shadow: inset 0 0 0 1px rgba(255,255,255,.025); transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease; }
.designer-tool-panel-toggle::after,
.designer-tool-action::after { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.13) 48%, transparent 64%); transform: translateX(-130%); transition: transform .55s ease; pointer-events: none; }
.designer-tool-panel-toggle:hover,
.designer-tool-action:hover { transform: translateY(-2px); border-color: #fff; background: linear-gradient(145deg, #303030, #151515); color: #fff; box-shadow: 0 9px 22px rgba(0,0,0,.34), 0 0 0 1px rgba(255,255,255,.08); }
.designer-tool-panel-toggle:hover::after,
.designer-tool-action:hover::after { transform: translateX(130%); }
.designer-tool-panel-toggle:active,
.designer-tool-action:active { transform: translateY(0) scale(.98); }
.designer-tool-panel-toggle.is-active { border-color: #fff; background: #fff; color: #111; box-shadow: 0 8px 18px rgba(255,255,255,.08); }
.designer-tool-panel-toggle.is-active .designer-tool-icon { border-color: #111; }
.designer-tool-icon { position: relative; flex: 0 0 22px; width: 22px; height: 22px; border: 1px solid currentColor; background: rgba(255,255,255,.03); transition: transform .25s ease, box-shadow .25s ease; }
.designer-tool-panel-toggle:hover .designer-tool-icon,
.designer-tool-action:hover .designer-tool-icon { transform: rotate(-7deg) scale(1.08); box-shadow: 0 0 0 3px rgba(255,255,255,.06); }
.tool-icon-color { border-radius: 50%; }
.tool-icon-color::before, .tool-icon-color::after, .tool-icon-color span { content: ''; position: absolute; border-radius: 50%; background: currentColor; }
.tool-icon-color::before { width: 5px; height: 5px; left: 3px; top: 3px; }
.tool-icon-color::after { width: 5px; height: 5px; right: 3px; bottom: 3px; }
.tool-icon-color span { width: 5px; height: 5px; right: 3px; top: 3px; opacity: .55; }
.tool-icon-image::before { content: ''; position: absolute; inset: 4px; border: 1px solid currentColor; }
.tool-icon-image::after { content: ''; position: absolute; left: 6px; bottom: 6px; width: 8px; height: 6px; border-left: 1px solid currentColor; border-top: 1px solid currentColor; transform: skew(-28deg); }
.tool-icon-text { display: inline-grid; place-items: center; border-radius: 2px; font-size: 12px; font-weight: 900; line-height: 1; }
.tool-icon-save::before { content: ''; position: absolute; left: 6px; top: 4px; width: 9px; height: 11px; border: 1px solid currentColor; border-top: 0; }
.tool-icon-save::after { content: ''; position: absolute; left: 8px; bottom: 3px; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); }
.designer-tool-panel { animation: designerPanelIn .28s ease both; }
@keyframes designerPanelIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
.designer-tool-save { border-color: #fff; background: #fff; color: #111; }
.designer-tool-save:hover { background: #f0f0f0; color: #111; box-shadow: 0 9px 22px rgba(255,255,255,.11); }
@media (prefers-reduced-motion: reduce) {
  .designer-tool-panel-toggle, .designer-tool-action, .designer-tool-icon, .designer-tool-panel-toggle::after, .designer-tool-action::after, .designer-tool-panel { transition: none; animation: none; }
}

/* v136 — supplied icon assets and compact White/Black swatches. */
.designer-user-icon { display: block; width: 23px; height: 23px; flex: 0 0 23px; object-fit: contain; border: 0; background: transparent; mix-blend-mode: multiply; }
.designer-tool-panel-toggle.is-active .designer-user-icon { filter: none; }
.designer-tool-action:not(.designer-tool-save) .designer-user-icon { filter: invert(1); }
.designer-tool-save .designer-user-icon { filter: none; }
.designer-color-choice { display: flex; align-items: center; justify-content: flex-start; gap: 8px; padding: 1px 0 2px; }
.designer-color-choice > .designer-color { position: relative; display: grid; place-items: center; width: 47px; min-width: 47px; height: 38px; min-height: 38px; padding: 3px; border: 1px solid #4a4a4a; border-radius: 0; background: #111; color: #eee; font-size: 9px; font-weight: 800; line-height: 1; cursor: pointer; box-shadow: inset 0 0 0 1px rgba(255,255,255,.04); transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease; }
.designer-color-choice > .designer-color::before { content: ''; position: absolute; inset: 3px; border: 1px solid rgba(255,255,255,.17); pointer-events: none; }
.designer-color-choice > .designer-color[data-customer-color="white"] { background: #fff; color: #111; }
.designer-color-choice > .designer-color[data-customer-color="black"] { background: #111; color: #fff; }
.designer-color-choice > .designer-color:hover { transform: translateY(-1px); border-color: #fff; box-shadow: 0 5px 12px rgba(0,0,0,.28); }
.designer-color-choice > .designer-color:active { transform: scale(.96); }
.designer-color-choice > .designer-color.is-selected { outline: 1px solid #fff; outline-offset: 2px; }
.designer-color-choice > .designer-color[data-customer-color="white"].is-selected { outline-color: #111; }
@media (prefers-reduced-motion: reduce) {
  .designer-color-choice > .designer-color { transition: none; }
}

/* v137 — visible image glyph and circular colour swatches. */
.tool-icon-image { position: relative; display: inline-block; flex: 0 0 22px; width: 22px; height: 22px; border: 1.5px solid currentColor; border-radius: 2px; background: transparent; }
.tool-icon-image::before { content: ''; position: absolute; top: 3px; right: 3px; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.tool-icon-image::after { content: ''; position: absolute; left: 3px; bottom: 3px; width: 11px; height: 8px; border-top: 1.5px solid currentColor; border-left: 1.5px solid currentColor; transform: skew(-25deg) rotate(1deg); }
.designer-color-choice > .designer-color { width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; background: transparent; border-color: #555; }
.designer-color-choice > .designer-color::before { content: ''; position: absolute; inset: 8px; border: 0; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1px rgba(0,0,0,.2); transition: transform .2s ease, box-shadow .2s ease; }
.designer-color-choice > .designer-color[data-customer-color="white"]::before { background: #fff; }
.designer-color-choice > .designer-color[data-customer-color="black"]::before { background: #050505; box-shadow: inset 0 0 0 1px rgba(255,255,255,.45); }
.designer-color-choice > .designer-color > span { position: relative; z-index: 1; color: transparent; font-size: 0; }
.designer-color-choice > .designer-color:hover::before { transform: scale(1.08); box-shadow: 0 0 0 3px rgba(255,255,255,.15); }
.designer-color-choice > .designer-color.is-selected { outline: 1px solid #fff; outline-offset: 2px; }
.designer-color-choice > .designer-color[data-customer-color="white"].is-selected { outline-color: #fff; }
@media (max-width: 720px) {
  .designer-color-choice > .designer-color { width: 40px; min-width: 40px; height: 40px; min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .designer-color-choice > .designer-color::before { transition: none; }
}

/* v138 — final clear Add image glyph, matching the supplied reference. */
svg.tool-icon-image { display: block; flex: 0 0 22px; width: 22px; height: 22px; overflow: visible; border: 0; background: transparent; color: currentColor; }
svg.tool-icon-image rect, svg.tool-icon-image circle, svg.tool-icon-image path { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
svg.tool-icon-image circle { fill: currentColor; stroke-width: 1; }
.designer-tool-action:hover svg.tool-icon-image { transform: translateY(-1px) scale(1.08); }
.designer-tool-action:active svg.tool-icon-image { transform: scale(.96); }
@media (prefers-reduced-motion: reduce) {
  .designer-tool-action:hover svg.tool-icon-image, .designer-tool-action:active svg.tool-icon-image { transform: none; }
}

/* v140 — customer font variety for custom text. */
.designer-font-label { margin-top: 9px; }
[data-designer-font] { width: 100%; min-height: 40px; padding: 9px 10px; border: 1px solid #444; border-radius: 0; background: #151515; color: #f5f5f5; font: 700 11px Montserrat, sans-serif; cursor: pointer; }
[data-designer-font]:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
[data-designer-text-preview] { white-space: pre-wrap; }

/* v141 — locally bundled customer font collection. */
@font-face { font-family: 'WS-Montserrat'; src: url('./assets/fonts/ws-montserrat.ttf') format('truetype'); font-style: normal; font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'WS-BebasNeue'; src: url('./assets/fonts/ws-bebas-neue.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'WS-Anton'; src: url('./assets/fonts/ws-anton.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'WS-Bahnschrift'; src: url('./assets/fonts/ws-bahnschrift.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'WS-Cairo'; src: url('./assets/fonts/ws-cairo.ttf') format('truetype'); font-style: normal; font-weight: 200 1000; font-display: swap; }
@font-face { font-family: 'WS-Dubai'; src: url('./assets/fonts/ws-dubai.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'WS-IBMPlexArabic'; src: url('./assets/fonts/ws-ibm-plex-arabic.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'WS-Aldhabi'; src: url('./assets/fonts/ws-aldhabi.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
[data-designer-font] { font-family: 'WS-Montserrat', sans-serif; }

/* v142 — immediate font application; no Apply font action required. */
[data-designer-text-preview] { font-family: 'WS-Montserrat', sans-serif !important; }
[data-designer-font] { font-family: 'WS-Montserrat', sans-serif; }

/* v143 — explicit font classes guarantee visible font changes on the design layer. */
[data-designer-text-preview].designer-font-ws-montserrat { font-family: 'WS-Montserrat', sans-serif !important; }
[data-designer-text-preview].designer-font-ws-bebasneue { font-family: 'WS-BebasNeue', sans-serif !important; }
[data-designer-text-preview].designer-font-ws-anton { font-family: 'WS-Anton', sans-serif !important; }
[data-designer-text-preview].designer-font-ws-bahnschrift { font-family: 'WS-Bahnschrift', sans-serif !important; }
[data-designer-text-preview].designer-font-ws-cairo { font-family: 'WS-Cairo', sans-serif !important; }
[data-designer-text-preview].designer-font-ws-dubai { font-family: 'WS-Dubai', sans-serif !important; }
[data-designer-text-preview].designer-font-ws-ibmplexarabic { font-family: 'WS-IBMPlexArabic', sans-serif !important; }
[data-designer-text-preview].designer-font-ws-aldhabi { font-family: 'WS-Aldhabi', serif !important; }

/* v144 — each garment side owns its own text, image, font, position and scale. */

/* v145 — final toolbar keeps SAVE TEMPLATE as the only submission action. */

/* v146 — independent Text/Image selection, position and scale controls. */
.customer-mockup-art .designer-print-area { display: block !important; pointer-events: none; }
.customer-mockup-art .designer-print-area > [data-designer-text-preview],
.customer-mockup-art .designer-print-area > [data-designer-image-preview] { position: absolute; left: 50%; top: 50%; pointer-events: auto; transform-origin: center center; cursor: grab; }
.customer-mockup-art .designer-print-area > [data-designer-text-preview] { width: max-content; max-width: 100%; }
.customer-mockup-art .designer-print-area > [data-designer-image-preview] { width: 100%; max-width: 100%; max-height: 100%; object-fit: contain; }
.customer-mockup-art .designer-print-area > [data-designer-text-preview].is-selected,
.customer-mockup-art .designer-print-area > [data-designer-image-preview].is-selected { outline: 1px dashed currentColor; outline-offset: 7px; }
.designer-element-controls { display: flex; align-items: center; gap: 6px; margin-top: 10px; }
.designer-element-label { margin-right: auto; color: #888; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.designer-element-choice { min-width: 56px; min-height: 30px; padding: 5px 9px; border: 1px solid #444; border-radius: 0; background: #171717; color: #aaa; font-size: 10px; font-weight: 800; cursor: pointer; }
.designer-element-choice.is-active, .designer-element-choice:hover { border-color: #fff; background: #fff; color: #111; }
@media (prefers-reduced-motion: reduce) { .customer-mockup-art .designer-print-area > [data-designer-text-preview], .customer-mockup-art .designer-print-area > [data-designer-image-preview] { transition: none; } }

/* v147 — smooth direct manipulation for independent design elements. */
.customer-mockup-art .designer-print-area > [data-designer-text-preview],
.customer-mockup-art .designer-print-area > [data-designer-image-preview] { touch-action: none; user-select: none; transition: left 160ms ease-out, top 160ms ease-out, transform 160ms ease-out, outline-color 160ms ease-out; }
.customer-mockup-art .designer-print-area > [data-designer-text-preview].is-selected,
.customer-mockup-art .designer-print-area > [data-designer-image-preview].is-selected { outline: 1px dashed currentColor; outline-offset: 8px; }
.designer-element-controls { flex-wrap: wrap; }
.designer-element-nudge { width: 28px; min-height: 30px; border: 1px solid #444; border-radius: 0; background: #171717; color: #aaa; font-size: 13px; font-weight: 800; line-height: 1; cursor: pointer; }
.designer-element-nudge:hover, .designer-element-nudge:focus-visible { border-color: #fff; background: #fff; color: #111; outline: none; }
@media (prefers-reduced-motion: reduce) { .customer-mockup-art .designer-print-area > [data-designer-text-preview], .customer-mockup-art .designer-print-area > [data-designer-image-preview] { transition: none; } }

/* v148 — expanded movement range for selected text/image elements. */
.customer-mockup-art .designer-print-area { overflow: visible !important; }
.customer-mockup-art .designer-print-area > [data-designer-text-preview],
.customer-mockup-art .designer-print-area > [data-designer-image-preview] { touch-action: none; }

/* v149 — full Mockup interaction surface for direct element dragging. */
.customer-mockup-art .designer-print-area {
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: block !important;
  transform: none !important;
  pointer-events: none !important;
  overflow: visible !important;
}
.customer-mockup-art .designer-print-area > [data-designer-text-preview],
.customer-mockup-art .designer-print-area > [data-designer-image-preview] {
  pointer-events: auto !important;
}


/* v154 — per-side undo and redo controls. */
.designer-history-controls { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.designer-history-button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-width: 86px; min-height: 34px; padding: 6px 10px; border: 1px solid #444; border-radius: 0; background: #171717; color: #eee; font: 800 10px/1 Montserrat, sans-serif; letter-spacing: .08em; cursor: pointer; }
.designer-history-button:hover:not(:disabled), .designer-history-button:focus-visible:not(:disabled) { border-color: #fff; background: #fff; color: #111; outline: none; }
.designer-history-button:disabled { opacity: .35; cursor: not-allowed; }
.designer-history-button:first-child { margin-right: auto; }
@media (max-width: 720px) { .designer-history-button { min-width: 78px; } }

/* v155 — history controls moved before the side buttons; LAYERS stays in the editor rail. */
.designer-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.designer-toolbar .designer-history-controls-toolbar { order: 1; margin: 0; flex: 0 0 auto; }
.designer-toolbar .designer-history-button:first-child { margin-right: 0; }
.designer-toolbar .designer-sides { order: 2; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.designer-toolbar .designer-sides .designer-side { min-height: 34px; }
@media (max-width: 720px) {
  .designer-toolbar .designer-history-controls-toolbar { width: 100%; justify-content: flex-start; }
  .designer-toolbar .designer-sides { width: 100%; }
}

/* v156 — Photoshop-like vertical layer list with per-layer visibility. */
.designer-layers-panel { margin-top: 14px; border: 1px solid #444; background: #171717; color: #eee; }
.designer-layers-heading { padding: 10px 12px; border-bottom: 1px solid #3e3e3e; color: #fff; font: 800 10px/1 Montserrat, sans-serif; letter-spacing: .16em; }
.designer-layer-list { display: grid; gap: 1px; padding: 0; background: #3d3d3d; }
.designer-layer-row { min-height: 54px; display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 10px; padding: 6px 10px; background: #242424; color: #ddd; cursor: pointer; }
.designer-layer-row:hover, .designer-layer-row:focus-visible { background: #303030; outline: none; }
.designer-layer-row.is-active { background: #3a3a3a; box-shadow: inset 3px 0 0 #fff; }
.designer-layer-thumb { width: 42px; height: 40px; display: grid; place-items: center; overflow: hidden; border: 1px solid #555; background: #d7d7d7; color: #222; font: 800 18px/1 Montserrat, sans-serif; }
.designer-layer-thumb img { width: 100%; height: 100%; object-fit: contain; background: #eee; }
.designer-layer-placeholder-image { color: #777; font-size: 20px; }
.designer-layer-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 11px/1.2 Montserrat, sans-serif; }
/* v157 — multiple independent image layers in the same garment side. */
[data-designer-image-layer-container] { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.customer-mockup-art .designer-print-area [data-designer-image-preview] { position: absolute; left: 50%; top: 50%; width: 100%; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; pointer-events: auto !important; transform-origin: center center; cursor: grab; touch-action: none; user-select: none; }
.customer-mockup-art .designer-print-area [data-designer-image-preview].is-selected { outline: 1px dashed currentColor; outline-offset: 8px; }
.customer-mockup-art .designer-print-area [data-designer-image-preview]:active { cursor: grabbing; }

/* v158 — draggable layer rows and visible drop target. */
.designer-layer-row { cursor: grab; user-select: none; }
.designer-layer-row.is-dragging { opacity: .45; cursor: grabbing; }
.designer-layer-row.is-drop-target { outline: 1px solid #fff; outline-offset: -2px; background: #454545; }
.designer-layer-row[draggable="true"]:active { cursor: grabbing; }

/* v160 — dark iPhone glass controls for the Design Studio. */
.designer-tools.customer-design-tools {
  --glass-bg: rgba(255,255,255,.075);
  --glass-bg-strong: rgba(255,255,255,.13);
  --glass-line: rgba(255,255,255,.22);
  --glass-line-soft: rgba(255,255,255,.12);
  --glass-shadow: 0 12px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.14);
}
.designer-tools.customer-design-tools .designer-side,
.designer-tools.customer-design-tools .designer-history-button,
.designer-tools.customer-design-tools .designer-tool-action,
.designer-tools.customer-design-tools .designer-tool-panel-toggle,
.designer-tools.customer-design-tools .designer-tool-save,
.designer-tools.customer-design-tools .designer-color,
.designer-tools.customer-design-tools .designer-layer-row,
.designer-tools.customer-design-tools select,
.designer-tools.customer-design-tools input[type="text"],
.designer-tools.customer-design-tools input[type="email"],
.designer-tools.customer-design-tools textarea {
  border: 1px solid var(--glass-line-soft);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.035));
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
}
.designer-tools.customer-design-tools .designer-side,
.designer-tools.customer-design-tools .designer-history-button,
.designer-tools.customer-design-tools .designer-tool-action,
.designer-tools.customer-design-tools .designer-tool-panel-toggle,
.designer-tools.customer-design-tools .designer-tool-save { color: #f4f4f4; }
.designer-tools.customer-design-tools .designer-side:hover,
.designer-tools.customer-design-tools .designer-side:focus-visible,
.designer-tools.customer-design-tools .designer-history-button:hover:not(:disabled),
.designer-tools.customer-design-tools .designer-history-button:focus-visible:not(:disabled),
.designer-tools.customer-design-tools .designer-tool-action:hover,
.designer-tools.customer-design-tools .designer-tool-action:focus-visible,
.designer-tools.customer-design-tools .designer-tool-panel-toggle:hover,
.designer-tools.customer-design-tools .designer-tool-panel-toggle:focus-visible {
  border-color: var(--glass-line);
  background: linear-gradient(145deg, rgba(255,255,255,.22), rgba(255,255,255,.07));
  color: #fff;
  outline: none;
  box-shadow: 0 14px 32px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.24);
}
.designer-tools.customer-design-tools .designer-side.is-active,
.designer-tools.customer-design-tools .designer-color.is-selected,
.designer-tools.customer-design-tools .designer-tool-save {
  border-color: rgba(255,255,255,.72);
  background: linear-gradient(145deg, rgba(255,255,255,.95), rgba(220,220,220,.78));
  color: #111;
  box-shadow: 0 14px 30px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.9);
}
.designer-tools.customer-design-tools .designer-history-button:disabled { border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.035); box-shadow: none; }
.designer-tools.customer-design-tools .designer-layers-panel { border: 1px solid var(--glass-line-soft); border-radius: 16px; background: rgba(255,255,255,.045); box-shadow: var(--glass-shadow); overflow: hidden; -webkit-backdrop-filter: blur(18px) saturate(135%); backdrop-filter: blur(18px) saturate(135%); }
.designer-tools.customer-design-tools .designer-layers-heading { border-bottom-color: var(--glass-line-soft); background: rgba(255,255,255,.07); }
.designer-tools.customer-design-tools .designer-layer-list { gap: 6px; padding: 7px; background: transparent; }
.designer-tools.customer-design-tools .designer-layer-row { min-height: 54px; border-color: var(--glass-line-soft); background: rgba(255,255,255,.065); }
.designer-tools.customer-design-tools .designer-layer-row:hover,
.designer-tools.customer-design-tools .designer-layer-row:focus-visible,
.designer-tools.customer-design-tools .designer-layer-row.is-drop-target { border-color: var(--glass-line); background: rgba(255,255,255,.14); }
.designer-tools.customer-design-tools .designer-layer-row.is-active { border-color: rgba(255,255,255,.72); background: rgba(255,255,255,.17); box-shadow: inset 3px 0 0 #fff, var(--glass-shadow); }
.designer-tools.customer-design-tools .designer-layer-thumb { border-color: rgba(255,255,255,.3); border-radius: 9px; box-shadow: inset 0 1px 0 rgba(255,255,255,.28); }
@media (max-width: 720px) {
  .designer-tools.customer-design-tools .designer-side,
  .designer-tools.customer-design-tools .designer-history-button,
  .designer-tools.customer-design-tools .designer-tool-action,
  .designer-tools.customer-design-tools .designer-tool-panel-toggle { border-radius: 13px; }
}

/* v161 — compact layer rows and a clearer glass color icon. */
.designer-tools.customer-design-tools .designer-layers-panel { width: 100%; max-width: 100%; }
.designer-tools.customer-design-tools .designer-layer-list { max-height: 260px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.4) transparent; }
.designer-tools.customer-design-tools .designer-layer-row { min-height: 46px; grid-template-columns: 36px minmax(0,1fr); gap: 7px; padding: 5px 7px; border-radius: 11px; }
.designer-tools.customer-design-tools .designer-layer-thumb { width: 34px; height: 34px; border-radius: 8px; font-size: 15px; }
.designer-tools.customer-design-tools .designer-layer-name { font-size: 10px; }
.designer-tools.customer-design-tools .designer-color-icon { display: grid !important; grid-template-columns: repeat(2, 9px); grid-template-rows: repeat(2, 9px); gap: 2px; width: 22px; height: 22px; align-content: center; justify-content: center; flex: 0 0 22px; }
.designer-tools.customer-design-tools .designer-color-icon i { display: block; width: 9px; height: 9px; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; background: #fff; box-shadow: inset 0 1px 1px rgba(0,0,0,.2); }
.designer-tools.customer-design-tools .designer-color-icon i:nth-child(2) { background: #bfc3c7; }
.designer-tools.customer-design-tools .designer-color-icon i:nth-child(3) { background: #111; border-color: rgba(255,255,255,.4); }

/* v166 — floating duplicate/delete controls for the selected mockup element. */
.designer-layer-visibility,
.designer-eye-mark,
[data-layer-visibility-input] { display: none !important; }
.customer-mockup-art .designer-selection-tools { position: absolute; z-index: 50; display: inline-flex; align-items: center; gap: 5px; padding: 4px; border: 1px solid rgba(255,255,255,.28); border-radius: 12px; background: rgba(20,20,20,.82); box-shadow: 0 8px 18px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.18); pointer-events: auto !important; transform: translate(-50%, -100%); -webkit-backdrop-filter: blur(14px) saturate(135%); backdrop-filter: blur(14px) saturate(135%); }
.customer-mockup-art .designer-selection-tools[hidden] { display: none; }
.customer-mockup-art .designer-selection-tool { width: 26px; height: 26px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.28); border-radius: 8px; background: linear-gradient(145deg, rgba(255,255,255,.22), rgba(255,255,255,.06)); color: #fff; font: 700 17px/1 Arial, sans-serif; cursor: pointer; pointer-events: auto !important; }
.customer-mockup-art .designer-selection-tool:hover, .customer-mockup-art .designer-selection-tool:focus-visible { border-color: rgba(255,255,255,.8); background: #fff; color: #111; outline: none; }
.customer-mockup-art .designer-selection-tool-delete { font-size: 23px; line-height: .8; }
.customer-mockup-art .designer-selection-tool > span { display: block; transform: translateY(-1px); }


/* v179 — true interactive 3D mug preview with local Three.js. */
.designer-mug-3d {
  position: absolute;
  inset: 12px;
  z-index: 3;
  min-height: 0;
  background: radial-gradient(circle at 50% 42%, rgba(255,255,255,.08), transparent 58%);
  cursor: grab;
  touch-action: none;
}
.designer-mug-3d:active { cursor: grabbing; }
.designer-mug-3d[hidden] { display: none !important; }
.designer-mug-3d canvas { display: block; width: 100% !important; height: 100% !important; }
.designer-mug-3d-hint { position: absolute; right: 12px; bottom: 10px; z-index: 2; color: rgba(255,255,255,.5); font-size: 10px; letter-spacing: .03em; pointer-events: none; }
.designer-stage[data-product="mug"] .customer-mockup-image[data-designer-mockup-product="mug"] { display: none !important; }
.designer-stage[data-product="mug"] .customer-mockup-art .designer-print-area { visibility: hidden !important; pointer-events: none !important; }
.designer-stage[data-product="mug"] .designer-mug-3d { display: block; }
@media (max-width: 720px) {
  .designer-mug-3d { inset: 6px; }
  .designer-mug-3d-hint { font-size: 9px; }
}


/* v189 — flat Mug preview matching the supplied Front/Back reference. */
.designer-mug-flat { position: absolute; inset: 7% 5%; z-index: 3; display: block; min-height: 0; pointer-events: none; }
.designer-mug-flat[hidden] { display: none !important; }
.designer-mug-flat-body { position: absolute; z-index: 2; left: 26%; top: 14%; width: 48%; height: 72%; border-radius: 8% 8% 12% 12% / 5% 5% 7% 7%; background: linear-gradient(90deg, #f7f7f7 0%, #ffffff 22%, #fbfbfb 58%, #e5e5e5 100%); box-shadow: inset 10px 0 18px rgba(255,255,255,.75), inset -12px 0 18px rgba(0,0,0,.08), 0 16px 20px rgba(0,0,0,.18); }
.designer-mug-flat-handle { position: absolute; z-index: 1; left: 66%; top: 29%; width: 25%; height: 43%; border: 18px solid #f4f4f4; border-left: 0; border-radius: 0 54% 54% 0; box-shadow: inset -8px 0 10px rgba(0,0,0,.08), 9px 9px 16px rgba(0,0,0,.12); }
.designer-mug-flat[data-side="back"] .designer-mug-flat-handle { left: auto; right: 66%; border-right: 0; border-left: 18px solid #f4f4f4; border-radius: 54% 0 0 54%; box-shadow: inset 8px 0 10px rgba(0,0,0,.08), -9px 9px 16px rgba(0,0,0,.12); }
.designer-mug-flat-rim { position: absolute; z-index: 3; left: -3%; top: -6%; width: 106%; height: 15%; border-radius: 50%; background: linear-gradient(180deg, #ffffff 0%, #f8f8f8 54%, #dcdcdc 100%); box-shadow: 0 3px 5px rgba(0,0,0,.14), inset 0 3px 4px rgba(255,255,255,.9); }
.designer-mug-flat-rim::after { content: ''; position: absolute; left: 7%; right: 7%; top: 25%; height: 42%; border-radius: 50%; background: linear-gradient(180deg, #e4e4e4, #fafafa 70%); box-shadow: inset 0 2px 3px rgba(0,0,0,.1); }
.designer-mug-flat-base { position: absolute; z-index: 1; left: 2%; bottom: -2%; width: 96%; height: 8%; border-radius: 50%; background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(210,210,210,.72)); box-shadow: 0 4px 7px rgba(0,0,0,.16); }
.designer-stage[data-product="mug"] .designer-mug-flat { display: block; }
.designer-stage[data-product="mug"] .designer-mug-3d,
.designer-stage[data-product="mug"] .customer-mockup-image[data-designer-mockup-product="mug"] { display: none !important; }
.designer-stage[data-product="mug"] .customer-mockup-art .designer-print-area { visibility: visible !important; left: 26% !important; top: 23% !important; width: 48% !important; height: 58% !important; min-height: 0 !important; display: block !important; transform: none !important; opacity: 1 !important; pointer-events: none !important; overflow: visible !important; }
.designer-stage[data-product="mug"] .customer-mockup-art .designer-print-area > [data-designer-text-preview],
.designer-stage[data-product="mug"] .customer-mockup-art .designer-print-area > [data-designer-image-preview] { pointer-events: auto !important; }
.designer-stage[data-product="mug"] .customer-mockup-art { background: #f0f0f0; }
.designer-stage[data-product="mug"] .designer-mug-flat + .designer-print-area { z-index: 8; }
@media (max-width: 720px) {
  .designer-mug-flat { inset: 7% 2%; }
  .designer-mug-flat-handle { border-width: 13px; }
  .designer-mug-flat[data-side="back"] .designer-mug-flat-handle { border-left-width: 13px; }
}


/* v190 — correct black Mug contrast for the flat Front/Back preview. */
.designer-mug-flat.is-black .designer-mug-flat-body { background: linear-gradient(90deg, #111111 0%, #202020 24%, #151515 58%, #050505 100%); box-shadow: inset 10px 0 18px rgba(255,255,255,.08), inset -12px 0 18px rgba(0,0,0,.42), 0 16px 20px rgba(0,0,0,.35); }
.designer-mug-flat.is-black .designer-mug-flat-rim,
.designer-mug-flat.is-black .designer-mug-flat-base { background: linear-gradient(180deg, #fdfdfd 0%, #e8e8e8 55%, #bdbdbd 100%); }
.designer-mug-flat.is-black .designer-mug-flat-rim::after { background: linear-gradient(180deg, #c8c8c8, #f4f4f4 70%); }
.designer-mug-flat.is-black .designer-mug-flat-handle { border-color: #f2f2f2; box-shadow: inset -8px 0 10px rgba(0,0,0,.2), 9px 9px 16px rgba(0,0,0,.3); }
.designer-mug-flat.is-black[data-side="back"] .designer-mug-flat-handle { border-left-color: #f2f2f2; box-shadow: inset 8px 0 10px rgba(0,0,0,.2), -9px 9px 16px rgba(0,0,0,.3); }


/* v192 — place the side selector directly above the product preview. */
.designer-toolbar > .designer-sides { display: none !important; }
.designer-stage { padding-top: 74px; }
.designer-stage .designer-stage-sides { position: absolute; top: 12px; left: 16px; right: 16px; z-index: 8; display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; margin: 0; }
.designer-stage .designer-stage-sides .designer-side { min-width: 88px; min-height: 34px; padding: 8px 12px; border: 1px solid #4a4a4a; border-radius: 0; background: rgba(20,20,20,.94); color: #cfcfcf; font-size: 10px; font-weight: 800; letter-spacing: .04em; cursor: pointer; }
.designer-stage .designer-stage-sides .designer-side:hover,
.designer-stage .designer-stage-sides .designer-side:focus-visible { border-color: #fff; background: #2b2b2b; color: #fff; outline: none; }
.designer-stage .designer-stage-sides .designer-side.is-active { border-color: #fff; background: #fff; color: #111; }
@media (max-width: 720px) {
  .designer-stage { padding: 74px 14px 24px; }
  .designer-stage .designer-stage-sides { left: 10px; right: 10px; gap: 6px; }
  .designer-stage .designer-stage-sides .designer-side { flex: 1 1 calc(50% - 6px); min-width: 0; padding-inline: 7px; }
}

/* v194 — Mug is white only: hide the black color choice while Mug is selected. */
[data-wordstore-designer]:has([data-designer-stage][data-product="mug"]) [data-customer-color="black"] { display: none !important; }


/* v196 — interactive 3D Poster preview inspired by the supplied reference video. */
.designer-stage[data-product="poster"] .designer-product-art { background: radial-gradient(circle at 50% 42%, #3d3d3d 0%, #252525 62%, #1b1b1b 100%); box-shadow: none; perspective: 1100px; }
.designer-stage[data-product="poster"] .designer-product-art::before { display: none; }
.designer-stage[data-product="poster"] .designer-product-art::after { display: none; }
.designer-poster-3d { position: absolute; inset: 7% 5%; z-index: 4; display: grid; place-items: center; min-height: 0; perspective: 1100px; pointer-events: auto; touch-action: none; }
.designer-poster-3d[hidden] { display: none !important; }
.designer-poster-3d-panel { position: relative; width: min(52%, 250px); aspect-ratio: 3 / 4; transform: rotateX(var(--poster-rotate-x, 0deg)) rotateY(var(--poster-rotate-y, 0deg)) scale(var(--poster-scale, 1)); transform-style: preserve-3d; transform-origin: center center; overflow: hidden; isolation: isolate; border: 5px solid #8f8f8f; border-radius: 4px; background: #f7f7f7; box-shadow: inset 0 0 4px rgba(255,255,255,.8), 22px 28px 28px rgba(0,0,0,.42), -8px -8px 18px rgba(255,255,255,.08); transition: box-shadow .18s ease; }
.designer-poster-3d-panel::before { display: none !important; }
.designer-stage[data-product="poster"] .designer-poster-3d-panel > .designer-print-area.is-poster-surface::after { content: ''; position: absolute; top: calc(var(--poster-shine-y, 50%) - 85%); left: calc(var(--poster-shine-x, 50%) - 18%); width: 36%; height: 170%; z-index: 8; border-radius: 50%; pointer-events: none; opacity: .34; background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.08) 34%, rgba(255,255,255,.9) 50%, rgba(255,255,255,.08) 66%, rgba(255,255,255,0) 100%); transform: rotate(18deg); filter: blur(.7px); mix-blend-mode: screen; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.designer-stage[data-product="poster"] .designer-poster-3d.is-dragging .designer-poster-3d-panel > .designer-print-area.is-poster-surface::after { opacity: .7; }
.designer-poster-face { position: absolute; inset: 0; border-radius: 0; backface-visibility: hidden; overflow: hidden; background: #f7f7f7; }
.designer-poster-front { transform: translateZ(2px); background: linear-gradient(135deg, rgba(255,255,255,.2), transparent 34%), #f7f7f7; }
.designer-poster-back { display: none !important; }
.designer-poster-back span { display: none !important; }
.designer-poster-3d::after { content: ''; position: absolute; left: 22%; right: 22%; bottom: 10%; height: 7%; border-radius: 50%; background: rgba(0,0,0,.42); filter: blur(13px); transform: translateZ(-50px); pointer-events: none; }
.designer-poster-3d-hint { position: absolute; right: 3%; bottom: 1%; color: #9b978f; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; pointer-events: none; }
.designer-stage[data-product="poster"] .designer-print-area { left: 50% !important; top: 52% !important; width: min(52%, 250px) !important; height: auto !important; aspect-ratio: 3 / 4 !important; min-height: 0 !important; display: grid !important; place-items: center !important; visibility: visible !important; opacity: 1 !important; overflow: visible !important; pointer-events: none !important; z-index: 8 !important; }
.designer-stage[data-product="poster"] .designer-print-area [data-designer-image-preview] { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: cover !important; object-position: center !important; }
.designer-stage[data-product="poster"] .designer-print-area > [data-designer-text-preview],
.designer-stage[data-product="poster"] .designer-print-area > [data-designer-image-preview] { pointer-events: auto !important; }
.designer-stage[data-product="poster"] .designer-print-area::before { display: none !important; }
.designer-stage[data-product="poster"] .designer-print-area > [data-designer-text-preview],
.designer-stage[data-product="poster"] .designer-print-area > [data-designer-text-copy] { font-size: clamp(15px, 2.8vw, 30px); }
.designer-stage[data-product="poster"] .designer-poster-3d.is-dragging .designer-poster-3d-panel { transition: none; box-shadow: inset 0 0 4px rgba(255,255,255,.8), 26px 32px 32px rgba(0,0,0,.48), -8px -8px 18px rgba(255,255,255,.08); }
@media (max-width: 720px) {
  .designer-poster-3d { inset: 7% 2%; }
  .designer-poster-3d-panel { width: min(58%, 220px); }
  .designer-poster-3d-hint { font-size: 9px; }
  .designer-stage[data-product="poster"] .designer-print-area { width: 58% !important; }
}
/* v210 — Front artwork is hidden whenever the rotating board faces away from the viewer. */
.designer-stage[data-product="poster"] .designer-poster-3d-panel > .designer-print-area.is-poster-surface { inset: 0 !important; left: 0 !important; top: 0 !important; width: 100% !important; height: 100% !important; min-height: 0 !important; aspect-ratio: auto !important; display: block !important; position: absolute !important; overflow: hidden !important; transform: translateZ(2.5px) !important; transform-style: flat !important; backface-visibility: hidden !important; -webkit-backface-visibility: hidden !important; background: transparent !important; opacity: 1 !important; pointer-events: none !important; z-index: 6 !important; }
.designer-stage[data-product="poster"] .designer-poster-3d-panel > .designer-print-area.is-poster-surface [data-designer-image-layer-container] { position: absolute; inset: 0 !important; width: 100% !important; height: 100% !important; }
.designer-stage[data-product="poster"] .designer-poster-3d-panel > .designer-print-area.is-poster-surface [data-designer-image-preview] { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: cover !important; object-position: center !important; backface-visibility: hidden !important; -webkit-backface-visibility: hidden !important; }
.designer-stage[data-product="poster"] .designer-poster-3d-panel > .designer-print-area.is-poster-surface > [data-designer-text-preview],
.designer-stage[data-product="poster"] .designer-poster-3d-panel > .designer-print-area.is-poster-surface > [data-designer-text-copy] { z-index: 7 !important; }
.designer-stage[data-product="poster"] .designer-poster-3d-panel > .designer-print-area.is-poster-surface [data-designer-image-preview].is-selected { outline-offset: -2px !important; }
.designer-stage[data-product="poster"] .designer-poster-3d-panel > .designer-print-area.is-poster-surface.is-poster-reverse-hidden { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
.designer-stage[data-product="poster"] .designer-poster-3d-panel > .designer-print-area.is-poster-surface.is-poster-reverse-hidden::after { display: none !important; }

/* v222 — closed 360-degree poster mockup on a transparent stage. */
body.single-product div.product div.images:has(.wordstore-poster-gallery-image),
body.single-product .woocommerce-product-gallery:has(.wordstore-poster-gallery-image),
body.single-product .woocommerce-product-gallery__wrapper:has(.wordstore-poster-gallery-image),
body.single-product .woocommerce-product-gallery__image.wordstore-poster-gallery-image {
  background: transparent !important;
}
body.single-product .woocommerce-product-gallery__image.wordstore-poster-gallery-image {
  overflow: visible !important;
  border: 0 !important;
  padding: clamp(18px, 4vw, 48px);
  perspective: 1400px;
}
body.single-product .wordstore-poster-3d-stage {
  --poster-depth: 20px;
  --poster-half-depth: 10px;
  position: relative;
  display: block;
  width: min(100%, 470px);
  aspect-ratio: 0.706 / 1;
  margin: 0 auto;
  perspective: 1400px;
  background: transparent;
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-3d {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  transform: rotateY(-12deg) rotateX(2deg);
  transform-style: preserve-3d;
  cursor: grab;
  touch-action: none;
  user-select: none;
  transition: none;
  will-change: transform;
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-3d:hover,
body.single-product .wordstore-poster-3d-stage .wordstore-poster-3d:focus-visible {
  transform: rotateY(-12deg) rotateX(2deg);
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-3d.is-dragging {
  cursor: grabbing;
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-face {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block;
  overflow: hidden;
  box-sizing: border-box;
  border: 13px solid #111;
  background: #fff;
  box-shadow: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-face-front {
  transform: translateZ(var(--poster-half-depth));
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-face-back {
  transform: rotateY(180deg) translateZ(var(--poster-half-depth));
  border-color: #090909;
  background: linear-gradient(145deg, #242424 0%, #111 52%, #050505 100%);
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-face-front::after,
body.single-product .wordstore-poster-3d-stage .wordstore-poster-face-back::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .34);
  content: '';
  pointer-events: none;
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-face img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  box-sizing: border-box;
  padding: 0;
  object-fit: contain;
  object-position: center;
  background: #fff;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-side {
  position: absolute;
  z-index: 2;
  display: block;
  background: linear-gradient(90deg, #050505 0%, #3a3a3a 48%, #0a0a0a 100%);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-side-left,
body.single-product .wordstore-poster-3d-stage .wordstore-poster-side-right {
  top: 0;
  width: var(--poster-depth);
  height: 100%;
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-side-left {
  left: calc(var(--poster-half-depth) * -1);
  transform: rotateY(-90deg);
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-side-right {
  right: calc(var(--poster-half-depth) * -1);
  transform: rotateY(90deg);
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-side-top,
body.single-product .wordstore-poster-3d-stage .wordstore-poster-side-bottom {
  left: 0;
  width: 100%;
  height: var(--poster-depth);
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-side-top {
  top: calc(var(--poster-half-depth) * -1);
  transform: rotateX(90deg);
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-side-bottom {
  bottom: calc(var(--poster-half-depth) * -1);
  transform: rotateX(-90deg);
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-shadow {
  position: absolute;
  right: 7%;
  bottom: -24px;
  left: 7%;
  z-index: -1;
  height: 22px;
  border-radius: 50%;
  background: rgba(0, 0, 0, .34);
  filter: blur(13px);
  pointer-events: none;
}
@media (max-width: 900px) {
  body.single-product .wordstore-poster-3d-stage { width: min(100%, 420px); }
}
@media (max-width: 520px) {
  body.single-product .woocommerce-product-gallery__image.wordstore-poster-gallery-image { padding: 12px; }
  body.single-product .wordstore-poster-3d-stage {
    --poster-depth: 14px;
    --poster-half-depth: 7px;
    width: min(100%, 330px);
  }
  body.single-product .wordstore-poster-3d-stage .wordstore-poster-face { border-width: 9px; }
}

/* v223 — remove only the visible grey bottom strip from poster mockups. */
body.single-product .wordstore-poster-3d-stage .wordstore-poster-side-bottom {
  display: none !important;
}

/* v224 — remove the remaining grey strip from the front bottom edge only. */
body.single-product .wordstore-poster-3d-stage .wordstore-poster-face-front {
  border-bottom-width: 0 !important;
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-face-front::after {
  border-bottom-width: 0 !important;
}

/* v225 — let each poster define its natural height so no bottom letterbox can appear. */
body.single-product .wordstore-poster-3d-stage {
  height: auto !important;
  aspect-ratio: auto !important;
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-3d {
  height: auto !important;
  aspect-ratio: auto !important;
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-face-front {
  position: relative !important;
  inset: auto !important;
  width: 100%;
  height: auto !important;
  border-bottom-width: 13px !important;
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-face-front::after {
  border-bottom-width: 1px !important;
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-face-front img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
body.single-product .wordstore-poster-3d-stage .wordstore-poster-side-bottom {
  display: block !important;
  background: #0a0a0a !important;
}
@media (max-width: 520px) {
  body.single-product .wordstore-poster-3d-stage .wordstore-poster-face-front {
    border-bottom-width: 9px !important;
  }
}

/* v227 — custom Sticker editor and storefront row. */
[data-designer-sticker-options][hidden] { display: none !important; }
.designer-sticker-options { display: grid; gap: 18px; padding: 18px; border: 1px solid var(--ws-line); background: var(--ws-white); }
.sticker-option-group { display: grid; gap: 9px; }
.sticker-option-group > label { color: var(--ws-ink); font-size: 12px; font-weight: 800; letter-spacing: .02em; }
.sticker-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.sticker-choice { min-height: 43px; padding: 9px 8px; border: 1px solid #bdbab4; border-radius: 8px; background: var(--ws-white); color: var(--ws-ink); font-size: 11px; font-weight: 800; line-height: 1.1; cursor: pointer; }
.sticker-choice:hover, .sticker-choice:focus-visible { border-color: var(--ws-black); background: #f1f0ed; outline: none; }
.sticker-choice.is-selected { border-color: var(--ws-black); background: var(--ws-black); color: var(--ws-white); }
.sticker-choice:disabled { cursor: default; opacity: 1; }
.sticker-matte-only .sticker-choice { width: 100%; }
.sticker-total-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding-top: 16px; border-top: 1px solid var(--ws-line); }
.sticker-total-row strong { font-size: 20px; line-height: 1.1; }
.sticker-total-row > strong { white-space: nowrap; }
.sticker-total-row small, .sticker-shipping-note { display: block; color: var(--ws-muted); font-size: 10px; line-height: 1.4; }
.sticker-shipping-note { margin-top: 3px; color: var(--ws-black); font-weight: 700; }
.designer-stage.is-sticker .designer-product-art { background: radial-gradient(circle at 50% 44%, #eeeeeb 0%, #d9d7d1 62%, #c7c4bc 100%); }
.designer-stage.is-sticker .designer-product-art::before, .designer-stage.is-sticker .designer-product-art::after { display: none; }
.designer-sticker-preview { position: absolute; inset: 10% 12%; z-index: 3; display: grid; place-items: center; pointer-events: none; }
.designer-sticker-preview[hidden] { display: none !important; }
.designer-sticker-sheet { position: relative; width: min(68%, 270px); aspect-ratio: 1; display: grid; place-items: center; border: 3px solid var(--ws-black); border-radius: 24%; background: var(--ws-white); box-shadow: 0 18px 32px rgba(17,17,17,.2); transform: rotate(-4deg); }
.designer-sticker-sheet::after { content: ''; position: absolute; inset: 9px; border: 1px dashed #aaa69e; border-radius: 18%; }
.designer-sticker-sheet span { position: relative; z-index: 1; color: var(--ws-black); font-size: 16px; font-weight: 900; letter-spacing: .12em; }
.sticker-service-image { display: grid; place-items: center; background: radial-gradient(circle at 50% 42%, #f1f0ed 0%, #d8d5cf 100%); }
.sticker-service-mark { width: 62%; aspect-ratio: 1; display: grid; place-items: center; border: 3px solid var(--ws-black); border-radius: 24%; background: var(--ws-white); color: var(--ws-black); font-size: 18px; font-weight: 900; letter-spacing: .12em; transform: rotate(-5deg); box-shadow: 0 14px 24px rgba(17,17,17,.14); }
.sticker-collection-row .collection-track { align-items: start; }
.sticker-service-card { width: min(280px, 100%); }
@media (max-width: 720px) {
  .sticker-choice-grid { gap: 6px; }
  .sticker-choice { min-height: 41px; padding-inline: 5px; font-size: 10px; }
  .designer-sticker-options { padding: 14px; }
  .sticker-service-card { width: 100%; }
}

/* v227 — Sticker print surface placement. */
.designer-stage.is-sticker [data-print-area-home] { position: absolute; inset: 10% 12%; z-index: 5; display: block; pointer-events: none; }
.designer-stage.is-sticker [data-print-area-home] .designer-print-area { position: absolute !important; left: 50% !important; top: 50% !important; width: 68% !important; height: 68% !important; min-height: 0 !important; display: block !important; transform: translate(-50%, -50%) !important; overflow: visible !important; pointer-events: none !important; }
.designer-stage.is-sticker [data-print-area-home] .designer-print-area [data-designer-image-layer-container] { position: absolute; inset: 0; width: 100%; height: 100%; }
.designer-stage.is-sticker [data-print-area-home] .designer-print-area [data-designer-image-preview] { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: contain !important; object-position: center !important; }
.designer-stage.is-sticker [data-print-area-home] .designer-print-area > [data-designer-text-preview], .designer-stage.is-sticker [data-print-area-home] .designer-print-area > [data-designer-text-copy] { display: block; width: 100%; max-width: 100%; text-align: center; overflow-wrap: anywhere; }
.designer-stage.is-sticker [data-print-area-home] .designer-print-area > [data-designer-text-preview], .designer-stage.is-sticker [data-print-area-home] .designer-print-area > [data-designer-text-copy], .designer-stage.is-sticker [data-print-area-home] .designer-print-area [data-designer-image-preview] { pointer-events: auto !important; }
/* v228 — live Sticker artwork surface. */
.designer-sticker-sheet { overflow: hidden; }
.designer-sticker-preview.has-design .sticker-service-label { display: none; }
.designer-sticker-preview .sticker-print-surface { position: absolute !important; inset: 10% !important; z-index: 4 !important; display: block !important; width: auto !important; height: auto !important; min-height: 0 !important; transform: none !important; overflow: visible !important; pointer-events: none !important; }
.designer-sticker-preview .sticker-print-surface [data-designer-image-layer-container] { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
.designer-sticker-preview .sticker-print-surface [data-designer-image-preview] { display: block; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: contain !important; object-position: center !important; }
.designer-sticker-preview .sticker-print-surface > [data-designer-text-preview], .designer-sticker-preview .sticker-print-surface > [data-designer-text-copy] { position: relative; z-index: 5; display: block; width: 100%; text-align: center; overflow-wrap: anywhere; }
.designer-sticker-preview .sticker-print-surface > [data-designer-text-preview], .designer-sticker-preview .sticker-print-surface > [data-designer-text-copy], .designer-sticker-preview .sticker-print-surface [data-designer-image-preview] { pointer-events: auto !important; }

/* v229 — Sticker artwork fills the square mockup without distortion. */
.designer-stage.is-sticker .sticker-print-surface [data-designer-image-preview] { object-fit: cover !important; object-position: center !important; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; }

/* v230 — Sticker artwork reaches the full inner square with no inset gap. */
.designer-sticker-preview .sticker-print-surface { inset: 0 !important; border-radius: inherit !important; overflow: hidden !important; }
.designer-sticker-preview.has-design .designer-sticker-sheet::after { display: none !important; }
.designer-stage.is-sticker .sticker-print-surface [data-designer-image-preview] { object-fit: cover !important; object-position: center !important; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; }

/* v231 — Sticker print area fills the complete square surface. */
.designer-sticker-preview .sticker-print-surface .designer-print-area { position: absolute !important; inset: 0 !important; left: 0 !important; top: 0 !important; width: 100% !important; height: 100% !important; min-height: 0 !important; max-width: none !important; max-height: none !important; transform: none !important; overflow: hidden !important; display: block !important; }
.designer-sticker-preview .sticker-print-surface .designer-print-area [data-designer-image-layer-container] { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
.designer-sticker-preview .sticker-print-surface .designer-print-area [data-designer-image-preview] { position: absolute !important; left: 50% !important; top: 50% !important; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: cover !important; object-position: center !important; }

/* v232 — Anchor the sticker surface to the square sheet. */
.designer-sticker-preview .designer-sticker-sheet { position: relative !important; overflow: hidden !important; }
.designer-sticker-preview .sticker-print-surface { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; min-height: 0 !important; max-width: none !important; max-height: none !important; border-radius: inherit !important; overflow: hidden !important; }
.designer-sticker-preview .sticker-print-surface .designer-print-area { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; left: 0 !important; top: 0 !important; transform: none !important; overflow: hidden !important; }
.designer-sticker-preview .sticker-print-surface .designer-print-area [data-designer-image-layer-container] { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
.designer-sticker-preview .sticker-print-surface .designer-print-area [data-designer-image-preview] { position: absolute !important; left: 50% !important; top: 50% !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; transform-origin: center center !important; }

/* v234 — clearer Sticker pricing without changing product data. */
.designer-sticker-options .sticker-total-row {
    align-items: center;
    gap: 20px;
    padding-top: 20px;
}
.designer-sticker-options .sticker-total-row strong {
    font-size: 26px;
    font-weight: 900;
    letter-spacing: -.02em;
}
.designer-sticker-options .sticker-total-row > div {
    display: grid;
    gap: 5px;
}
.designer-sticker-options .sticker-total-row > div > strong {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.designer-sticker-options .sticker-total-row small,
.designer-sticker-options .sticker-shipping-note {
    font-size: 12px;
    font-weight: 700;
}
@media (max-width: 640px) {
    .designer-sticker-options .sticker-total-row strong { font-size: 22px; }
}


/* v236 — Personal design cards appear first in each collection. */
.custom-design-card { flex: 0 0 min(280px, 100%); }
.custom-design-card-image { position: relative; display: grid; place-items: center; min-height: 250px; aspect-ratio: .87 / 1; background: #111; border: 1px solid rgba(255,255,255,.28); overflow: hidden; }
.custom-design-card-kicker { position: absolute; top: 18px; left: 18px; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.custom-design-card-mark { display: grid; place-items: center; width: 57%; aspect-ratio: 1; border: 2px solid #111; border-radius: 24%; background: #fff; color: #111; font-size: clamp(13px, 1.6vw, 18px); font-weight: 900; letter-spacing: .08em; transform: rotate(-5deg); box-shadow: 0 14px 25px rgba(0,0,0,.3); }
.custom-design-card .product-price { color: #111; font-weight: 800; }
.custom-design-card .product-link { display: inline-flex; align-items: center; gap: 8px; }
@media (max-width: 720px) {
  .custom-design-card { flex-basis: 100%; }
  .custom-design-card-image { min-height: 230px; }
}


/* v237 visual correction — product-specific personal-design card mockups. */
.custom-design-card-image { background: #111; }
.custom-design-card-mark { position: relative; z-index: 1; }
.custom-design-card--tshirt .custom-design-card-mark,
.custom-design-card--hoodie .custom-design-card-mark { width: 62%; aspect-ratio: 1.08 / 1; border-radius: 18% 18% 12% 12%; transform: rotate(-3deg); font-size: 13px; }
.custom-design-card--tshirt .custom-design-card-mark::before,
.custom-design-card--hoodie .custom-design-card-mark::before { content: ''; position: absolute; inset: -14% -21% -8%; z-index: -1; background: #fff; border: 2px solid #111; border-radius: 20% 20% 12% 12%; clip-path: polygon(0 16%, 24% 0, 38% 14%, 62% 14%, 76% 0, 100% 16%, 84% 41%, 78% 31%, 78% 100%, 22% 100%, 22% 31%, 16% 41%); }
.custom-design-card--hoodie .custom-design-card-mark { border-radius: 14% 14% 9% 9%; }
.custom-design-card--hoodie .custom-design-card-mark::after { content: ''; position: absolute; left: 39%; top: 8%; width: 22%; height: 25%; border: 2px solid #111; border-bottom: 0; border-radius: 50% 50% 0 0; }
.custom-design-card--mug .custom-design-card-mark { width: 53%; aspect-ratio: 1.18 / 1; border-radius: 12% 12% 16% 16%; transform: rotate(-4deg); font-size: 14px; }
.custom-design-card--mug .custom-design-card-mark::after { content: ''; position: absolute; right: -27%; top: 18%; width: 35%; height: 52%; border: 6px solid #fff; border-left: 0; border-radius: 0 50% 50% 0; }
.custom-design-card--poster .custom-design-card-mark { width: 48%; aspect-ratio: .7 / 1; border-radius: 2%; transform: rotate(-3deg); font-size: 13px; letter-spacing: .04em; }
.custom-design-card--poster .custom-design-card-mark::after { content: ''; position: absolute; inset: 7%; border: 1px solid rgba(17,17,17,.5); }
.custom-design-card--sticker .custom-design-card-mark { width: 57%; aspect-ratio: 1; border-radius: 24%; transform: rotate(-5deg); }


/* v238 — refined product-specific icons for personal-design cards. */
.custom-design-card-image { isolation: isolate; }
.custom-design-card--tshirt .custom-design-card-mark,
.custom-design-card--hoodie .custom-design-card-mark { width: 46%; aspect-ratio: .82 / 1; border: 0; border-radius: 9% 9% 6% 6%; background: #f7f7f7; color: #111; transform: rotate(-3deg); box-shadow: 0 18px 28px rgba(0,0,0,.32); }
.custom-design-card--tshirt .custom-design-card-mark::before,
.custom-design-card--hoodie .custom-design-card-mark::before { content: ''; position: absolute; inset: -14% -28% -7%; z-index: -1; background: #fff; border: 2px solid #111; border-radius: 10% 10% 7% 7%; clip-path: polygon(0 18%, 23% 0, 38% 15%, 62% 15%, 77% 0, 100% 18%, 84% 45%, 77% 33%, 77% 100%, 23% 100%, 23% 33%, 16% 45%); }
.custom-design-card--hoodie .custom-design-card-mark::before { border-radius: 14% 14% 8% 8%; clip-path: polygon(0 18%, 21% 2%, 36% 15%, 64% 15%, 79% 2%, 100% 18%, 84% 42%, 77% 32%, 77% 100%, 23% 100%, 23% 32%, 16% 42%); }
.custom-design-card--hoodie .custom-design-card-mark::after { content: ''; position: absolute; left: 37%; top: 1%; width: 26%; height: 22%; border: 3px solid #111; border-bottom: 0; border-radius: 50% 50% 0 0; }
.custom-design-card--mug .custom-design-card-mark { width: 55%; aspect-ratio: 1.3 / 1; border: 0; border-radius: 12% 12% 16% 16%; background: #fff; color: #111; transform: rotate(-4deg); box-shadow: 0 16px 25px rgba(0,0,0,.32); }
.custom-design-card--mug .custom-design-card-mark::after { content: ''; position: absolute; right: -31%; top: 19%; width: 38%; height: 53%; border: 7px solid #fff; border-left: 0; border-radius: 0 50% 50% 0; filter: drop-shadow(3px 3px 0 #111); }


/* v239 — reveal the silhouettes above the card background. */
.custom-design-card--tshirt .custom-design-card-mark::before,
.custom-design-card--hoodie .custom-design-card-mark::before { z-index: 0; }
.custom-design-card--tshirt .custom-design-card-mark,
.custom-design-card--hoodie .custom-design-card-mark,
.custom-design-card--mug .custom-design-card-mark { z-index: 1; }


/* v240 — reference-matched mockup assets for the three requested cards only. */
.custom-design-card--tshirt .custom-design-card-mark,
.custom-design-card--hoodie .custom-design-card-mark,
.custom-design-card--mug .custom-design-card-mark {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 88%;
  aspect-ratio: 1 / 1;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  overflow: visible;
}
.custom-design-card--tshirt .custom-design-card-mark::before,
.custom-design-card--tshirt .custom-design-card-mark::after,
.custom-design-card--hoodie .custom-design-card-mark::before,
.custom-design-card--hoodie .custom-design-card-mark::after,
.custom-design-card--mug .custom-design-card-mark::before,
.custom-design-card--mug .custom-design-card-mark::after { display: none !important; }
.custom-design-card--tshirt .custom-design-card-mockup,
.custom-design-card--hoodie .custom-design-card-mockup,
.custom-design-card--mug .custom-design-card-mockup {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: center;
  filter: none;
}
.custom-design-card--tshirt .custom-design-card-mockup { width: 92%; height: 92%; }
.custom-design-card--hoodie .custom-design-card-mockup { width: 96%; height: 96%; }
.custom-design-card--mug .custom-design-card-mockup { width: 92%; height: 92%; }


/* v246 — Ready-made sticker pack card. */
.ready-sticker-pack-card { width: min(280px, 100%); }
.ready-sticker-pack-image { position: relative; display: grid; place-items: center; min-height: 250px; aspect-ratio: .87 / 1; padding: 12px; background: #f7f7f7; border: 1px solid rgba(255,255,255,.28); overflow: hidden; }
.ready-sticker-pack-image img { display: block; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; object-position: center; }
.ready-sticker-pack-badge { position: absolute; top: 16px; left: 16px; z-index: 2; padding: 6px 9px; background: #e5484d; color: #fff; font-size: 10px; font-weight: 900; letter-spacing: .08em; line-height: 1; }
.ready-sticker-pack-card .product-price { color: #111; font-weight: 800; }
.ready-sticker-pack-card .product-link { display: inline-flex; align-items: center; gap: 8px; }
@media (max-width: 720px) { .ready-sticker-pack-card { width: 100%; } }


/* v253 — Buttons only. No layout, card, image, hero, header or product changes. */
:root { --ws-button-purple: #8224E3; --ws-button-purple-deep: #6f1bc2; }
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce ul.products li.product .button {
  min-height: 46px;
  padding: 12px 22px;
  border: 1px solid var(--ws-button-purple);
  border-radius: 7px;
  background: var(--ws-button-purple);
  color: #fff;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.2;
  box-shadow: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.button:hover,
.button:focus-visible,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce ul.products li.product .button:hover {
  background: var(--ws-button-purple-deep);
  border-color: var(--ws-button-purple-deep);
  color: #fff;
  transform: translateY(-1px);
}
.button-light { background: var(--ws-button-purple); border-color: var(--ws-button-purple); color: #fff; }
.button-light:hover, .button-light:focus-visible { background: var(--ws-button-purple-deep); border-color: var(--ws-button-purple-deep); color: #fff; }
.button-outline { background: transparent; border-color: var(--ws-button-purple); color: var(--ws-button-purple); }
.button-outline:hover, .button-outline:focus-visible { background: var(--ws-button-purple); border-color: var(--ws-button-purple); color: #fff; }
.product-link,
.collection-track .product-link {
  min-height: 40px;
  align-items: center;
  border: 1px solid var(--ws-button-purple);
  border-radius: 7px;
  background: transparent;
  color: var(--ws-button-purple);
  font-weight: 700;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.product-link:hover, .product-link:focus-visible,
.collection-track .product-link:hover, .collection-track .product-link:focus-visible {
  background: var(--ws-button-purple);
  border-color: var(--ws-button-purple);
  color: #fff;
  transform: translateY(-1px);
}
@media (max-width: 720px) {
  .woocommerce div.product form.cart .single_add_to_cart_button { min-height: 50px; width: 100%; }
  .woocommerce ul.products li.product .button { width: calc(100% - 36px); justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .button, .product-link, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { transition: none; }
}


/* v254 — Right-scroll arrow for every product row. */
.collection-track-wrap {
  position: relative;
  min-width: 0;
}
.collection-track-wrap .collection-track-arrow {
  position: absolute;
  z-index: 5;
  top: 50%;
  right: 12px;
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 50%;
  background: rgba(10,10,10,.88);
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
  transition: background-color .18s ease, border-color .18s ease, opacity .18s ease, transform .18s ease;
}
.collection-track-wrap .collection-track-arrow:hover:not(:disabled),
.collection-track-wrap .collection-track-arrow:focus-visible:not(:disabled) {
  border-color: #8224E3;
  background: #8224E3;
  color: #fff;
  transform: translateY(-50%) scale(1.05);
}
.collection-track-wrap .collection-track-arrow:disabled {
  opacity: .22;
  cursor: default;
}
.collection-track-wrap.is-scroll-end .collection-track-arrow { opacity: .22; }
.collection-track-wrap.is-scrollable .collection-track-arrow { opacity: 1; }
@media (max-width: 720px) {
  .collection-track-wrap .collection-track-arrow {
    right: 6px;
    width: 40px;
    height: 40px;
    font-size: 21px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .collection-track-wrap .collection-track-arrow { transition: none; }
}

/* v255 — Refined clean collection arrow only. */
.collection-track-wrap .collection-track-arrow {
  right: 14px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 50%;
  background: rgba(18,18,18,.72);
  color: rgba(255,255,255,.94);
  font-family: Arial, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  box-shadow: 0 6px 18px rgba(0,0,0,.24);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.collection-track-wrap .collection-track-arrow:hover:not(:disabled),
.collection-track-wrap .collection-track-arrow:focus-visible:not(:disabled) {
  border-color: #8224E3;
  background: rgba(130,36,227,.92);
  color: #fff;
  transform: translateY(-50%) scale(1.04);
}
.collection-track-wrap .collection-track-arrow:active:not(:disabled) {
  transform: translateY(-50%) scale(.97);
}
.collection-track-wrap .collection-track-arrow:disabled {
  border-color: rgba(255,255,255,.24);
  background: rgba(18,18,18,.34);
  box-shadow: none;
}
@media (max-width: 720px) {
  .collection-track-wrap .collection-track-arrow {
    right: 8px;
    width: 34px;
    height: 34px;
    font-size: 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .collection-track-wrap .collection-track-arrow { transition: none; }
}

/* v256 — Place the right-scroll arrow below the scrollbar, centered. */
.collection-track-wrap .collection-track-arrow {
  position: relative;
  top: auto;
  right: auto;
  display: grid;
  margin: 8px auto 0;
  transform: none;
}
.collection-track-wrap .collection-track-arrow:hover:not(:disabled),
.collection-track-wrap .collection-track-arrow:focus-visible:not(:disabled) {
  transform: scale(1.04);
}
.collection-track-wrap .collection-track-arrow:active:not(:disabled) {
  transform: scale(.97);
}
@media (max-width: 720px) {
  .collection-track-wrap .collection-track-arrow {
    right: auto;
    margin-top: 7px;
  }
}


/* v258 — Shiny, glass-like paired collection arrows inspired by the latest 21st.dev button patterns. */
.collection-track-arrow-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin: 10px auto 0;
}
.collection-track-arrow-group .collection-track-arrow {
  --arrow-purple: #8224E3;
  position: relative;
  top: auto;
  right: auto;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin: 0;
  flex: 0 0 auto;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), transparent 42%),
    linear-gradient(112deg, rgba(130,36,227,.08) 28%, rgba(255,255,255,.30) 49%, rgba(130,36,227,.12) 67%),
    rgba(10,10,10,.88);
  background-size: 100% 100%, 220% 100%, 100% 100%;
  background-position: 0 0, 100% 0, 0 0;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 21px;
  font-weight: 400;
  line-height: 1;
  text-shadow: 0 1px 8px rgba(0,0,0,.55);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.26),
    0 5px 16px rgba(0,0,0,.25),
    0 0 0 0 rgba(130,36,227,0);
  cursor: pointer;
  transition: transform .28s ease, border-color .28s ease, background-position .65s ease, box-shadow .28s ease, opacity .28s ease;
}
.collection-track-arrow-group .collection-track-arrow::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(118deg, transparent 26%, rgba(255,255,255,.42) 49%, transparent 67%);
  background-size: 220% 100%;
  background-position: 125% 0;
  opacity: .7;
  pointer-events: none;
  transition: background-position .7s ease, opacity .28s ease;
}
.collection-track-arrow-group .collection-track-arrow:hover:not(:disabled),
.collection-track-arrow-group .collection-track-arrow:focus-visible:not(:disabled) {
  border-color: rgba(130,36,227,.92);
  background-position: 0 0, 0 0, 0 0;
  transform: translateY(-2px) scale(1.045);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    0 8px 20px rgba(0,0,0,.30),
    0 0 0 4px rgba(130,36,227,.14),
    0 0 20px rgba(130,36,227,.22);
}
.collection-track-arrow-group .collection-track-arrow:hover:not(:disabled)::before,
.collection-track-arrow-group .collection-track-arrow:focus-visible:not(:disabled)::before {
  background-position: -15% 0;
  opacity: .95;
}
.collection-track-arrow-group .collection-track-arrow:active:not(:disabled) {
  transform: translateY(0) scale(.96);
}
.collection-track-arrow-group .collection-track-arrow:focus-visible {
  outline: 2px solid rgba(130,36,227,.78);
  outline-offset: 4px;
}
.collection-track-arrow-group .collection-track-arrow:disabled {
  border-color: rgba(255,255,255,.18);
  background: rgba(18,18,18,.34);
  color: rgba(255,255,255,.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  cursor: not-allowed;
  opacity: .42;
}
@media (max-width: 720px) {
  .collection-track-arrow-group {
    gap: 8px;
    margin-top: 8px;
  }
  .collection-track-arrow-group .collection-track-arrow {
    width: 38px;
    height: 38px;
    font-size: 19px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .collection-track-arrow-group .collection-track-arrow,
  .collection-track-arrow-group .collection-track-arrow::before { transition: none; }
}
