/*
 * Design 3.8 — the Talal Shop. Shop grid, quick view, cart drawer, product page
 * and the WooCommerce cart / checkout / account views, in the site's tokens.
 * Loaded only on store views, after v3/v31/v35.
 */

/* 0. Header cart and Shop link ------------------------------------------- */
.tp38-cart-btn{position:relative;display:none;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;border-radius:99px;color:var(--nav-ink,#143b3f)!important;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 28%,transparent);text-decoration:none!important;transition:transform .35s var(--tp3-ease),background .25s,border-color .25s}
.tp38-cart-btn svg{width:21px;height:21px}
.tp38-cart-btn:hover{background:#b8862f1f;border-color:var(--tp3-gold)}
.tp38-cart-btn.is-store,.tp38-cart-btn.has-items{display:inline-flex}
.tp38-cart-btn b{position:absolute;top:-4px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--tp3-magenta);color:#fff;font:700 .66rem/19px var(--tp3-sans);text-align:center;box-shadow:0 0 0 2px var(--tp3-cream)}
.tp38-cart-btn.is-bump{animation:tp38-bump .6s var(--tp3-ease)}
@keyframes tp38-bump{30%{transform:scale(1.18) rotate(-6deg)}60%{transform:scale(.94) rotate(3deg)}}
@media(min-width:1101px){.tp3-header[data-living-nav] .tp38-cart-btn{order:9;margin-left:14px}}
@media(max-width:1100px){.tp38-store .tp3-quote-mini{display:none}.tp38-cart-btn.has-items:not(.is-store){display:none}}
.tp-navigation .tp38-nav-shop{position:relative}

/* 1. Page base ----------------------------------------------------------- */
.tp38-page main{background:var(--tp3-cream)}
.tp38-page .tp-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font:500 .78rem/1.4 var(--tp3-sans);color:var(--tp3-muted)}
.tp38-page .tp-breadcrumb a{color:inherit}
.tp38-notices{padding-top:24px}
.tp38-notices .woocommerce-message,.tp38-notices .woocommerce-error,.tp38-notices .woocommerce-info{list-style:none;margin:0;padding:14px 18px;border-radius:var(--tp3-radius);background:#fff;border-left:4px solid var(--tp3-teal-2);box-shadow:var(--tp3-shadow-1);font:500 .92rem/1.5 var(--tp3-sans);color:var(--tp3-text)}
.tp38-notices .woocommerce-error{border-left-color:var(--tp3-magenta)}
.tp38-notices .button{float:right;margin-left:14px;font-weight:700;color:var(--tp3-teal)!important}

/* 2. Hero ---------------------------------------------------------------- */
.tp38-hero{position:relative;overflow:hidden;padding:clamp(48px,6vw,92px) 0 clamp(56px,6vw,96px);background:radial-gradient(110% 130% at 88% 10%,#0a5b67 0%,var(--tp3-teal) 42%,#03262c 100%);color:var(--tp3-on-dark);isolation:isolate}
.tp38-hero::before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(100deg,#000 0%,transparent 70%)}
.tp38-hero::after{content:'';position:absolute;z-index:-1;width:560px;height:560px;right:-160px;bottom:-280px;border-radius:50%;background:conic-gradient(from 0deg,var(--tp3-cyan),var(--tp3-magenta),var(--tp3-yellow),var(--tp3-cyan));opacity:.14;filter:blur(60px);animation:tp38-spin 26s linear infinite}
@keyframes tp38-spin{to{transform:rotate(1turn)}}
.tp38-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,5vw,72px);align-items:center}
.tp38-hero .tp-eyebrow{color:#f0c063!important}
.tp38-hero h1{margin:0 0 18px;font:500 clamp(2.7rem,5.6vw,5rem)/.98 var(--tp3-serif);letter-spacing:-.01em;color:#fff}
.tp38-hero h1 .tp38-word{display:inline-block;animation:tp38-rise .9s calc(var(--w) * 90ms + .1s) var(--tp3-ease) both}
@keyframes tp38-rise{from{opacity:0;transform:translateY(.45em) rotate(2deg)}}
.tp38-hero .tp-lead{max-width:34em;color:#d8e4e0;font-size:1.06rem;line-height:1.65}
.tp38-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin:30px 0 26px}
.tp38-hero-actions .tp-button{border-radius:99px;padding-inline:24px}
.tp38-hero-actions .tp-button span{transition:transform .35s var(--tp3-ease)}
.tp38-hero-actions .tp-button:hover span{transform:translateY(3px)}
.tp38-hero .tp-text-link{color:#f5e6c2!important;font-weight:600}
.tp38-hero .tp-breadcrumb{color:#9fb3b0}
.tp38-hero-film{position:relative;margin:0;aspect-ratio:16/10.5;border-radius:18px;background:#101514 center/cover;box-shadow:0 40px 80px -30px #000a,0 0 0 1px #ffffff1a;transform:perspective(1400px) rotateY(-7deg) rotateX(3deg);transition:transform 1s var(--tp3-ease)}
.tp38-hero-film:hover{transform:perspective(1400px) rotateY(-2deg) rotateX(1deg)}
.tp38-hero-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.tp38-tag{position:absolute;left:14px;bottom:14px;z-index:3;padding:5px 10px;border-radius:99px;background:#0b2328cc;backdrop-filter:blur(6px);color:#e8efe9;font:600 .64rem/1 var(--tp3-sans);letter-spacing:.08em;text-transform:uppercase}
.tp38-float{position:absolute;z-index:2;display:flex;flex-direction:column;width:clamp(96px,11vw,150px);padding:7px 7px 9px;border-radius:12px;background:#fffdf7;color:var(--tp3-text)!important;text-decoration:none!important;box-shadow:0 24px 40px -18px #000b;font:600 .7rem/1.25 var(--tp3-sans);animation:tp38-bob 6s ease-in-out infinite;transition:transform .5s var(--tp3-ease)}
.tp38-float img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px;margin-bottom:7px}
.tp38-float span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.tp38-float.f0{top:-26px;right:-18px;--r:5deg}
.tp38-float.f1{bottom:-34px;right:18%;--r:-4deg;animation-delay:-2s}
.tp38-float.f2{top:30%;left:-44px;--r:-7deg;animation-delay:-4s}
.tp38-float:hover{animation-play-state:paused;transform:rotate(0) scale(1.06)}
@keyframes tp38-bob{0%,100%{transform:translateY(0) rotate(var(--r))}50%{transform:translateY(-12px) rotate(calc(var(--r) * -.4))}}

/* 3. Tools: category chips, search, sort -------------------------------- */
.tp38-shop{padding-top:0!important}
.tp38-tools{position:sticky;top:var(--tp3-header-h);z-index:30;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px;margin:0 0 34px;padding:18px 0;background:#faf8f2e8;backdrop-filter:blur(10px);border-bottom:1px solid var(--tp3-line)}
.admin-bar .tp38-tools{top:calc(var(--tp3-header-h) + 32px)}
.tp38-chips{position:relative;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:3px;margin:-3px}
.tp38-chips::-webkit-scrollbar{display:none}
.tp38-chips button{position:relative;z-index:1;flex:0 0 auto;min-height:40px;padding:0 17px;border:1px solid var(--tp3-line);border-radius:99px;background:#fff;color:var(--tp3-text);font:600 .82rem/1 var(--tp3-sans);cursor:pointer;transition:color .3s,border-color .3s,background .3s}
.tp38-chips button:hover{border-color:var(--tp3-gold)}
.tp38-chips button[aria-pressed="true"]{background:var(--tp3-teal);border-color:var(--tp3-teal);color:#fff}
.tp38-chips.has-ink button[aria-pressed="true"]{background:transparent}
.tp38-ink{position:absolute;z-index:0;top:3px;left:0;height:40px;border-radius:99px;background:var(--tp3-teal);transition:transform .5s var(--tp3-ease),width .5s var(--tp3-ease);pointer-events:none}
.tp38-tools-right{display:flex;gap:10px;align-items:center}
.tp38-search{position:relative;display:flex;align-items:center}
.tp38-search svg{position:absolute;left:13px;width:17px;height:17px;color:var(--tp3-muted);pointer-events:none}
.tp38-search input{width:210px;min-height:42px;padding:0 14px 0 38px;border:1px solid var(--tp3-line);border-radius:99px;background:#fff;font:500 .88rem var(--tp3-sans);color:var(--tp3-text);transition:width .45s var(--tp3-ease),border-color .25s,box-shadow .25s}
.tp38-search input:focus{outline:none;width:260px;border-color:var(--tp3-teal-2);box-shadow:0 0 0 4px #0a6b7a1f}
.tp38-sort select{min-height:42px;padding:0 34px 0 14px;border:1px solid var(--tp3-line);border-radius:99px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23183f42' stroke-width='1.6'/%3E%3C/svg%3E") right 13px center/11px no-repeat;appearance:none;font:600 .84rem var(--tp3-sans);color:var(--tp3-text);cursor:pointer}

/* 4. Product grid and cards --------------------------------------------- */
.tp38-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,32px)}
.tp38-card{position:relative;display:flex;flex-direction:column;border-radius:16px;background:#fff;box-shadow:var(--tp3-shadow-1);transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateY(var(--ty,0));transition:transform .6s var(--tp3-ease),box-shadow .5s var(--tp3-ease),opacity .4s;will-change:transform}
.tp38-card:hover{--ty:-6px;box-shadow:var(--tp3-shadow-2)}
.tp38-card.is-hidden{display:none}
.tp38-armed .tp38-card{opacity:0;transform:translateY(34px)}
.tp38-armed .tp38-card.is-in{opacity:1;transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateY(var(--ty,0));transition:transform .9s calc(var(--d,0) * 80ms) var(--tp3-ease),opacity .7s calc(var(--d,0) * 80ms),box-shadow .5s}
.tp38-card-media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:16px 16px 0 0;background:var(--tp3-paper)}
.tp38-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--tp3-ease),opacity .6s var(--tp3-ease)}
.tp38-card:hover .tp38-card-media img{transform:scale(1.07)}
.tp38-card-media .tp38-alt{opacity:0}
.tp38-card:hover .tp38-card-media .tp38-alt{opacity:1}
.tp38-card-media::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,#ffffff55 50%,transparent 65%);transform:translateX(-120%);transition:transform 1.1s var(--tp3-ease);pointer-events:none}
.tp38-card:hover .tp38-card-media::after{transform:translateX(120%)}
.tp38-badges{position:absolute;top:14px;left:14px;z-index:2;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 72px);pointer-events:none}
.tp38-badges span{padding:6px 10px;border-radius:99px;background:#fffdf7f0;color:var(--tp3-text);font:700 .62rem/1 var(--tp3-sans);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 12px -6px #0005}
.tp38-badges .is-sample{background:var(--tp3-yellow);color:#231d00}
.tp38-badges .is-custom{background:var(--tp3-teal);color:#fff}
.tp38-badges .is-out{background:#5b5b5b;color:#fff}
.tp38-peek{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:#fffdf7;color:var(--tp3-text);box-shadow:0 8px 20px -8px #0006;cursor:pointer;opacity:0;transform:translateY(-6px) scale(.9);transition:opacity .35s,transform .45s var(--tp3-ease),background .25s}
.tp38-peek svg{width:20px;height:20px}
.tp38-card:hover .tp38-peek,.tp38-peek:focus-visible{opacity:1;transform:none}
.tp38-peek:hover{background:var(--tp3-gold-soft)}
@media(hover:none){.tp38-peek{opacity:1;transform:none}}
.tp38-card-body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.tp38-card-cat{margin:0 0 6px;font:700 .64rem/1.3 var(--tp3-sans);letter-spacing:.14em;text-transform:uppercase;color:#8a6a2c}
.tp38-card h3{margin:0 0 8px;font:600 1.45rem/1.12 var(--tp3-serif);color:var(--tp3-ink)}
.tp38-card h3 a{color:inherit!important;text-decoration:none!important;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .45s var(--tp3-ease)}
.tp38-card h3 a:hover{background-size:100% 1px}
.tp38-card h3 a::after{content:'';position:absolute;inset:0;z-index:1}
.tp38-card-short{margin:0 0 16px;font-size:.88rem;line-height:1.55;color:var(--tp3-muted)}
.tp38-card-foot{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px dashed var(--tp3-line)}
.tp38-price{font:700 1.08rem/1 var(--tp3-sans);color:var(--tp3-ink)}
.tp38-price em,.tp38-pd-price em,.tp38-q-price em{font:italic 500 1.05rem/1 var(--tp3-serif);color:var(--tp3-muted)}
.tp38-price del{opacity:.5;font-weight:500;margin-right:6px}
.tp38-price ins{text-decoration:none}
.tp38-add{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 6px 0 16px;border:0;border-radius:99px;background:var(--tp3-teal);color:#fff!important;font:700 .8rem/1 var(--tp3-sans);text-decoration:none!important;white-space:nowrap;cursor:pointer;overflow:hidden;transition:background .3s,transform .3s var(--tp3-ease),padding .4s var(--tp3-ease)}
.tp38-add i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffff26;font:500 1.1rem/1 var(--tp3-sans);font-style:normal;transition:transform .45s var(--tp3-ease),background .3s}
.tp38-add:hover{background:#06525d}
.tp38-add:hover i{transform:rotate(90deg);background:var(--tp3-gold-soft);color:var(--tp3-ink)}
.tp38-add.is-quote{background:transparent;color:var(--tp3-teal)!important;box-shadow:inset 0 0 0 1.5px var(--tp3-teal)}
.tp38-add.is-quote i{background:#04424c14}
.tp38-add.is-quote:hover{background:var(--tp3-teal);color:#fff!important}
.tp38-add.is-quote:hover i{transform:translate(2px,-2px)}
.tp38-add.is-busy{pointer-events:none}
.tp38-add.is-busy i{animation:tp38-spin .8s linear infinite;background:transparent;border:2px solid #fff6;border-top-color:#fff}
.tp38-add.is-busy i::before{content:''}
.tp38-add.is-done{background:#1f7a4d}
.tp38-add.is-done i{background:#ffffff33;transform:none}
.tp38-add.is-big{min-height:52px;padding-left:24px;font-size:.9rem}
.tp38-add.is-big i{width:38px;height:38px}
.tp38-empty,.tp38-none{padding:48px 20px;text-align:center;color:var(--tp3-muted)}
.tp38-empty button{border:0;background:none;color:var(--tp3-teal);font-weight:700;text-decoration:underline;cursor:pointer}
.tp38-none{max-width:560px;margin:0 auto;padding:70px 20px}
.tp38-none h2{font:500 2.2rem/1.1 var(--tp3-serif);color:var(--tp3-ink)}
.tp38-fly{position:fixed;z-index:2000;width:64px;height:64px;border-radius:12px;object-fit:cover;box-shadow:0 16px 30px -10px #0008;pointer-events:none}

/* 5. Ordering strip ------------------------------------------------------ */
.tp38-promise{padding-top:24px!important}
.tp38-promise-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-radius:18px;background:#fff;box-shadow:var(--tp3-shadow-1);overflow:hidden}
.tp38-p{position:relative;padding:30px 26px 32px}
.tp38-p+.tp38-p{border-left:1px solid var(--tp3-line)}
.tp38-p::before{content:'';position:absolute;left:0;top:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:var(--c,var(--tp3-cyan));transition:transform .9s calc(var(--k,0) * 140ms + .1s) var(--tp3-ease)}
.tp38-p:nth-child(1){--c:var(--tp3-cyan);--k:0}.tp38-p:nth-child(2){--c:var(--tp3-magenta);--k:1}.tp38-p:nth-child(3){--c:var(--tp3-yellow);--k:2}.tp38-p:nth-child(4){--c:var(--tp3-ink);--k:3}
.tp38-promise.is-in .tp38-p::before{transform:none}
.tp38-p-no{display:block;margin-bottom:14px;font:500 2.3rem/1 var(--tp3-serif);color:var(--tp3-gold)}
.tp38-p h3{margin:0 0 8px;font:600 1.2rem/1.2 var(--tp3-serif);color:var(--tp3-ink)}
.tp38-p p{margin:0;font-size:.88rem;line-height:1.55;color:var(--tp3-muted)}

/* 6. Corporate band ------------------------------------------------------ */
.tp38-bulk{padding:0 0 clamp(64px,7vw,110px)!important}
.tp38-bulk-grid{position:relative;display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:40px;padding:clamp(34px,5vw,64px);border-radius:24px;background:radial-gradient(120% 140% at 10% 0%,#0a5b67,var(--tp3-teal) 45%,#03262c);color:var(--tp3-on-dark);overflow:hidden;isolation:isolate}
.tp38-bulk-grid::before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ffffff14 1px,transparent 1.2px);background-size:18px 18px;mask-image:linear-gradient(90deg,transparent,#000)}
.tp38-bulk .tp-eyebrow{color:#f0c063!important}
.tp38-bulk h2{margin:0 0 14px;font:500 clamp(2rem,3.6vw,3.1rem)/1.05 var(--tp3-serif);color:#fff}
.tp38-bulk h2 em{color:#f0c063}
.tp38-bulk p{max-width:36em;color:#cfdcd8;line-height:1.65;margin:0 0 26px}
.tp38-bulk .tp-button{border-radius:99px}
.tp38-stamp{position:relative;justify-self:center;width:min(230px,100%);aspect-ratio:1}
.tp38-stamp-ring{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;animation:tp38-spin 22s linear infinite}
.tp38-stamp-ring text{fill:#f0c063;font:700 13.2px var(--tp3-sans);letter-spacing:.2em}
.tp38-stamp-core{position:absolute;inset:26%;display:grid;place-items:center;border-radius:50%;background:#fffdf7;color:var(--tp3-ink);box-shadow:0 0 0 8px #ffffff14,0 20px 40px -12px #0009;overflow:hidden}
.tp38-stamp-core b{position:relative;z-index:1;font:700 1.15rem/1.05 var(--tp3-serif);text-align:center;text-transform:uppercase;letter-spacing:.06em}
.tp38-stamp-core i{position:absolute;width:62%;height:62%;border-radius:50%;mix-blend-mode:multiply;opacity:.55;animation:tp38-plate 6s ease-in-out infinite}
.tp38-stamp-core .c{background:var(--tp3-cyan);--x:-14%;--y:-8%}
.tp38-stamp-core .m{background:var(--tp3-magenta);--x:14%;--y:-8%;animation-delay:-2s}
.tp38-stamp-core .y{background:var(--tp3-yellow);--x:0%;--y:14%;animation-delay:-4s}
@keyframes tp38-plate{0%,100%{transform:translate(var(--x),var(--y)) scale(.35);opacity:.2}50%{transform:translate(0,0) scale(1.35);opacity:.55}}

/* 7. Quick view dialog --------------------------------------------------- */
.tp38-quick{width:min(980px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:0;border:0;border-radius:22px;background:var(--tp3-cream);color:var(--tp3-text);box-shadow:0 60px 120px -40px #000c;overflow:auto}
.tp38-quick::backdrop{background:#0b2328b3;backdrop-filter:blur(6px)}
.tp38-quick[open]{animation:tp38-pop .55s var(--tp3-ease)}
.tp38-quick[open]::backdrop{animation:tp38-fade .4s ease}
@keyframes tp38-pop{from{opacity:0;transform:translateY(24px) scale(.96)}}
@keyframes tp38-fade{from{opacity:0}}
.tp38-x{position:absolute;top:14px;right:14px;z-index:5;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--tp3-ink);font:400 1.6rem/1 var(--tp3-sans);cursor:pointer;box-shadow:var(--tp3-shadow-1);transition:transform .4s var(--tp3-ease)}
.tp38-x:hover{transform:rotate(90deg)}
.tp38-q-grid{display:grid;grid-template-columns:1.05fr 1fr}
.tp38-q-media{position:relative;padding:18px;background:var(--tp3-paper)}
.tp38-q-media>img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px}
.tp38-q-thumbs{display:flex;gap:8px;margin-top:10px}
.tp38-q-thumbs button{width:62px;height:62px;padding:0;border:2px solid transparent;border-radius:9px;overflow:hidden;cursor:pointer;background:none}
.tp38-q-thumbs button[aria-pressed="true"]{border-color:var(--tp3-gold)}
.tp38-q-thumbs img{width:100%;height:100%;object-fit:cover}
.tp38-q-info{display:flex;flex-direction:column;gap:12px;padding:44px 38px 36px}
.tp38-q-info h2{margin:0;font:500 clamp(1.9rem,3vw,2.6rem)/1.05 var(--tp3-serif);color:var(--tp3-ink)}
.tp38-q-price{margin:0;font:700 1.35rem/1 var(--tp3-sans);color:var(--tp3-ink)}
.tp38-q-info>p{margin:0;line-height:1.6;color:var(--tp3-muted)}
.tp38-q-badges{display:flex;flex-wrap:wrap;gap:6px}
.tp38-q-badges span{padding:6px 10px;border-radius:99px;background:#fff;font:700 .62rem/1 var(--tp3-sans);letter-spacing:.08em;text-transform:uppercase}
.tp38-q-badges .is-sample{background:var(--tp3-yellow)}
.tp38-q-badges .is-custom{background:var(--tp3-teal);color:#fff}
.tp38-q-buy{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px}
.tp38-q-buy[hidden]{display:none}
.tp38-qty{display:inline-flex;align-items:center;height:52px;border:1px solid var(--tp3-line);border-radius:99px;background:#fff}
.tp38-qty button{width:44px;height:100%;border:0;background:none;font:500 1.2rem/1 var(--tp3-sans);color:var(--tp3-ink);cursor:pointer}
.tp38-qty input{width:40px;border:0;background:none;text-align:center;font:700 1rem var(--tp3-sans);color:var(--tp3-ink);-moz-appearance:textfield}
.tp38-qty input::-webkit-inner-spin-button{appearance:none}
.tp38-q-info .tp-text-link{margin-top:6px;font-weight:700;align-self:flex-start}
.tp38-q-info .tp38-add.is-quote{align-self:flex-start}

/* 8. Cart drawer --------------------------------------------------------- */
.tp38-drawer{position:fixed;z-index:1500;top:0;right:0;bottom:0;display:flex;flex-direction:column;width:min(420px,100%);background:var(--tp3-cream);box-shadow:-30px 0 80px -30px #0009;transform:translateX(104%);transition:transform .6s var(--tp3-ease);visibility:hidden}
.tp38-drawer.is-open{transform:none;visibility:visible}
.tp38-scrim{position:fixed;inset:0;z-index:1400;background:#0b232899;backdrop-filter:blur(3px);opacity:0;transition:opacity .45s}
.tp38-scrim.is-open{opacity:1}
.tp38-drawer-head{position:relative;display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--tp3-line)}
.tp38-drawer-head h2{margin:0;font:500 1.8rem/1 var(--tp3-serif);color:var(--tp3-ink)}
.tp38-drawer-head .tp38-x{position:static}
.tp38-drawer-body{flex:1;overflow:auto;padding:10px 24px}
.tp38-drawer-empty{padding:40px 0;text-align:center;color:var(--tp3-muted)}
.tp38-line{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px dashed var(--tp3-line);animation:tp38-slide .5s var(--tp3-ease) both}
@keyframes tp38-slide{from{opacity:0;transform:translateX(24px)}}
.tp38-line img{width:70px;height:70px;border-radius:10px;object-fit:cover;background:var(--tp3-paper)}
.tp38-line h3{margin:0 0 4px;font:600 1.05rem/1.2 var(--tp3-serif);color:var(--tp3-ink)}
.tp38-line p{margin:0;font:600 .82rem var(--tp3-sans);color:var(--tp3-muted)}
.tp38-line-qty{display:inline-flex;align-items:center;margin-top:8px;height:32px;border:1px solid var(--tp3-line);border-radius:99px;background:#fff}
.tp38-line-qty button{width:30px;height:100%;border:0;background:none;cursor:pointer;color:var(--tp3-ink);font-size:1rem}
.tp38-line-qty span{min-width:22px;text-align:center;font:700 .82rem var(--tp3-sans)}
.tp38-line-rm{border:0;background:none;color:var(--tp3-muted);font:600 .74rem var(--tp3-sans);text-decoration:underline;cursor:pointer}
.tp38-line-rm:hover{color:var(--tp3-magenta)}
.tp38-drawer.is-busy .tp38-drawer-body{opacity:.55;pointer-events:none}
.tp38-drawer-foot{display:grid;gap:12px;padding:20px 24px 26px;border-top:1px solid var(--tp3-line);background:#fff}
.tp38-drawer-foot p{display:flex;justify-content:space-between;margin:0;font:600 .95rem var(--tp3-sans);color:var(--tp3-ink)}
.tp38-drawer-foot .tp-button{border-radius:99px;width:100%}
.tp38-drawer-foot .tp-text-link{justify-self:center;font-weight:700}
.tp38-toast{position:fixed;z-index:2100;left:50%;bottom:24px;max-width:calc(100% - 32px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;padding:12px 20px;border-radius:99px;background:var(--tp3-ink);color:#fff;font:600 .86rem var(--tp3-sans);box-shadow:0 20px 40px -16px #000a;transform:translate(-50%,140%);opacity:0;transition:transform .5s var(--tp3-ease),opacity .4s;pointer-events:none}
.tp38-toast.is-on{transform:translate(-50%,0);opacity:1}

/* 9. Product page -------------------------------------------------------- */
.tp38-pd{padding:28px 0 clamp(56px,6vw,90px)}
.tp38-pd .tp-breadcrumb{margin-bottom:26px}
.tp38-pd-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,72px);align-items:start}
.tp38-gallery{position:sticky;top:calc(var(--tp3-header-h) + 20px)}
.tp38-main{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:22px;background:var(--tp3-paper);box-shadow:var(--tp3-shadow-2);cursor:zoom-in}
.tp38-main img{width:100%;height:100%;object-fit:cover;transform-origin:var(--zx,50%) var(--zy,50%);transition:transform .5s var(--tp3-ease),opacity .35s}
.tp38-main.is-zoom img{transform:scale(1.9)}
.tp38-main.is-swap img{opacity:0}
.tp38-thumbs{display:flex;gap:10px;margin-top:14px}
.tp38-thumbs button{width:78px;height:78px;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:none;cursor:pointer;transition:border-color .3s,transform .3s var(--tp3-ease)}
.tp38-thumbs button:hover{transform:translateY(-3px)}
.tp38-thumbs button[aria-pressed="true"]{border-color:var(--tp3-gold)}
.tp38-thumbs img{width:100%;height:100%;object-fit:cover}
.tp38-buy h1{margin:0 0 14px;font:500 clamp(2.3rem,4.4vw,3.6rem)/1.02 var(--tp3-serif);color:var(--tp3-ink)}
.tp38-pd-price{margin:0 0 18px;font:700 1.6rem/1 var(--tp3-sans);color:var(--tp3-ink)}
.tp38-pd-short{color:var(--tp3-muted);line-height:1.65;font-size:1rem}
.tp38-sample-note{margin:18px 0 0;padding:12px 14px;border-radius:10px;background:#fff6c7;color:#4d3f00;font:500 .84rem/1.5 var(--tp3-sans)}
.tp38-pd-cart{margin:26px 0 20px}
.tp38-pd-cart form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0}
.tp38-pd-cart .quantity{display:inline-flex;align-items:center;height:52px;border:1px solid var(--tp3-line);border-radius:99px;background:#fff;overflow:hidden}
.tp38-pd-cart .quantity .qty{width:88px;height:100%;border:0;background:none;text-align:center;font:700 1rem var(--tp3-sans);color:var(--tp3-ink)}
.tp38-pd-cart .single_add_to_cart_button{min-height:52px;padding:0 30px;border:0;border-radius:99px;background:var(--tp3-teal);color:#fff;font:700 .92rem var(--tp3-sans);cursor:pointer;transition:background .3s,transform .3s var(--tp3-ease)}
.tp38-pd-cart .single_add_to_cart_button:hover{background:#06525d;transform:translateY(-2px)}
.tp38-pd-cart .single_add_to_cart_button.is-busy{opacity:.7;pointer-events:none}
.tp38-pd-cart .single_add_to_cart_button.is-done{background:#1f7a4d}
.tp38-pd-cart .stock{margin:0 0 10px;font:600 .84rem var(--tp3-sans);color:#1f7a4d}
.tp38-pd-cart .stock.out-of-stock{color:var(--tp3-magenta)}
.tp38-custom-cta{display:flex;gap:16px;align-items:center;padding:16px 18px;border:1px solid var(--tp3-line);border-radius:14px;background:#fff;color:var(--tp3-text)!important;text-decoration:none!important;transition:border-color .3s,transform .4s var(--tp3-ease),box-shadow .4s}
.tp38-custom-cta:hover{border-color:var(--tp3-gold);transform:translateY(-3px);box-shadow:var(--tp3-shadow-1)}
.tp38-custom-cta strong{display:block;font:600 1.1rem/1.2 var(--tp3-serif);color:var(--tp3-ink)}
.tp38-custom-cta span:last-child{font-size:.86rem;color:var(--tp3-muted)}
.tp38-mini-stamp{flex:0 0 auto;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:conic-gradient(var(--tp3-cyan) 0 33%,var(--tp3-magenta) 0 66%,var(--tp3-yellow) 0);color:var(--tp3-ink);font:800 .6rem/1 var(--tp3-sans);letter-spacing:.08em;position:relative}
.tp38-mini-stamp::before{content:'';position:absolute;inset:5px;border-radius:50%;background:#fffdf7}
.tp38-mini-stamp{isolation:isolate}.tp38-mini-stamp::before{z-index:-1}
.tp38-custom-cta:hover .tp38-mini-stamp{animation:tp38-spin 3s linear infinite}
.tp38-assure{display:grid;gap:0;margin:22px 0 0;padding:0;list-style:none;border-top:1px solid var(--tp3-line)}
.tp38-assure li{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--tp3-line);font-size:.88rem;color:var(--tp3-muted)}
.tp38-assure b{font:700 .66rem/1.8 var(--tp3-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--tp3-ink)}
.tp38-meta{margin:14px 0 0;font:500 .78rem var(--tp3-sans);color:var(--tp3-muted)}
.tp38-pd-more{background:#fff;padding:clamp(52px,6vw,90px) 0!important}
.tp38-pd-more-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(30px,5vw,70px)}
.tp38-desc p{font-size:1.05rem;line-height:1.75;color:var(--tp3-text);max-width:40em}
.tp38-specs dl{margin:0}
.tp38-specs div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--tp3-line)}
.tp38-specs dt{font-weight:700;color:var(--tp3-ink)}
.tp38-specs dd{margin:0;color:var(--tp3-muted);text-align:right}
.tp38-related h2{margin:0 0 30px;font:500 clamp(2rem,3.4vw,2.8rem)/1.05 var(--tp3-serif);color:var(--tp3-ink)}

/* 10. WooCommerce cart / checkout / account ------------------------------ */
.tp38-woo{padding-top:48px!important}
.tp38-back{padding-bottom:56px}
.tp38-woo .wc-block-components-button:not(.is-link),.tp38-woo .wc-block-cart__submit-button,.tp38-woo .wc-block-components-checkout-place-order-button,.tp38-woo .woocommerce-Button,.tp38-woo button.button,.tp38-woo a.button{border-radius:99px!important;background:var(--tp3-teal)!important;color:#fff!important;border:0!important;font-family:var(--tp3-sans)!important;font-weight:700!important;text-decoration:none!important}
.tp38-woo .wc-block-components-button:not(.is-link):hover,.tp38-woo button.button:hover,.tp38-woo a.button:hover{background:#06525d!important}
.tp38-woo .wc-block-components-title,.tp38-woo .wc-block-cart__totals-title,.tp38-woo h2,.tp38-woo h3{font-family:var(--tp3-serif)!important;color:var(--tp3-ink)}
.tp38-woo .wc-block-components-product-name{font:600 1.1rem/1.2 var(--tp3-serif);color:var(--tp3-ink)!important;text-decoration:none!important}
.tp38-woo .wc-block-cart-item__image img{border-radius:10px}
.tp38-woo .wp-block-woocommerce-cart,.tp38-woo .wp-block-woocommerce-checkout{font-family:var(--tp3-sans)}
.tp38-woo .wc-block-components-sidebar{padding:24px!important;border-radius:18px;background:#fff;box-shadow:var(--tp3-shadow-1)}
.tp38-woo .wc-block-cart__empty-cart__title{font:500 2rem/1.1 var(--tp3-serif)}
.tp38-woo .wp-block-woocommerce-empty-cart-block .wc-block-grid,.tp38-woo .wp-block-woocommerce-empty-cart-block hr,.tp38-woo .wp-block-woocommerce-empty-cart-block>h2:not(.wc-block-cart__empty-cart__title){display:none}
.tp38-account .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:40px}
.tp38-account .woocommerce-MyAccount-navigation ul{margin:0;padding:8px;list-style:none;border-radius:16px;background:#fff;box-shadow:var(--tp3-shadow-1)}
.tp38-account .woocommerce-MyAccount-navigation a{display:block;padding:11px 14px;border-radius:10px;color:var(--tp3-text)!important;font-weight:600;text-decoration:none!important}
.tp38-account .woocommerce-MyAccount-navigation .is-active a,.tp38-account .woocommerce-MyAccount-navigation a:hover{background:var(--tp3-paper)}
.tp38-account .woocommerce:has(.woocommerce-form-login){display:block;max-width:620px}
.tp38-account .woocommerce-form-login,.tp38-account .woocommerce-form-register{padding:28px;border-radius:18px;background:#fff;box-shadow:var(--tp3-shadow-1)}
.tp38-account .woocommerce-form-row{display:grid;gap:6px;margin-bottom:14px}
.tp38-account input.input-text{min-height:46px;padding:0 14px;border:1px solid var(--tp3-line);border-radius:10px;font:500 .95rem var(--tp3-sans)}

/* 11. Responsive --------------------------------------------------------- */
@media(max-width:1100px){
  .tp38-hero-grid{grid-template-columns:1fr}
  .tp38-hero-film{transform:none;max-width:720px}
  .tp38-float.f2{left:-10px}
  .tp38-float.f0{right:-6px}
  .tp38-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tp38-promise-grid{grid-template-columns:repeat(2,1fr)}
  .tp38-p:nth-child(3){border-left:0}
  .tp38-p:nth-child(n+3){border-top:1px solid var(--tp3-line)}
}
@media(max-width:900px){
  .tp38-pd-grid,.tp38-pd-more-grid{grid-template-columns:1fr}
  .tp38-gallery{position:static}
  .tp38-q-grid{grid-template-columns:1fr}
  .tp38-q-info{padding:26px 22px 28px}
  .tp38-bulk-grid{grid-template-columns:1fr}
  .tp38-stamp{width:170px;justify-self:start}
  .tp38-account .woocommerce{grid-template-columns:1fr}
}
@media(max-width:700px){
  .tp38-tools{flex-direction:column;flex-wrap:nowrap;align-items:stretch;padding:12px 0;gap:10px}
  .tp38-chips{min-width:0}
  .tp38-tools-right{width:100%}
  .tp38-search{flex:1}
  .tp38-search input,.tp38-search input:focus{width:100%}
  .tp38-grid{gap:14px}
  .tp38-card-body{padding:14px 14px 16px}
  .tp38-card h3{font-size:1.15rem}
  .tp38-card-short{display:none}
  .tp38-tools{position:static}
  .tp38-card-foot{gap:8px}
  .tp38-card .tp38-add{flex:0 0 auto;width:42px;height:42px;min-height:0;padding:0;justify-content:center}
  .tp38-card .tp38-add span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .tp38-card .tp38-add i{width:42px;height:42px;background:transparent;font-size:1.3rem}
  .tp38-card .tp38-add.is-quote i{background:transparent}
  .tp38-price{font-size:.98rem}
  .tp38-price em{font-size:.9rem}
  .tp38-badges{top:10px;left:10px;max-width:calc(100% - 56px)}
  .tp38-badges span{font-size:.54rem;padding:5px 7px}
  .tp38-badges .is-custom{display:none}
  .tp38-peek{width:36px;height:36px;top:8px;right:8px}
  .tp38-float{width:92px}
  .tp38-float.f1{display:none}
  .tp38-float.f2{top:auto;bottom:-24px;left:10px}
  .tp38-float.f0{top:-18px;right:4px}
  .tp38-hero-film{margin-bottom:10px}
  .tp38-promise-grid{grid-template-columns:1fr}
  .tp38-p+.tp38-p{border-left:0;border-top:1px solid var(--tp3-line)}
  .tp38-assure li{grid-template-columns:1fr;gap:2px}
}
@media(max-width:420px){.tp38-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(prefers-reduced-motion:reduce){
  .tp38-hero::after,.tp38-float,.tp38-stamp-ring,.tp38-stamp-core i,.tp38-hero h1 .tp38-word{animation:none!important}
  .tp38-card,.tp38-hero-film,.tp38-drawer{transition:none!important}
  .tp38-armed .tp38-card{opacity:1;transform:none}
}
.admin-bar .tp38-drawer{top:32px}
@media(max-width:782px){.admin-bar .tp38-drawer{top:46px}}
/* WooCommerce's own .button.alt colours are replaced on the product page. */
.tp38-page .tp38-pd-cart button.single_add_to_cart_button.button{min-height:52px;padding:0 30px;border:0;border-radius:99px;background:var(--tp3-teal)!important;color:#fff!important;font:700 .92rem var(--tp3-sans)}
.tp38-page .tp38-pd-cart button.single_add_to_cart_button.button:hover{background:#06525d!important}
.tp38-page .tp38-pd-cart button.single_add_to_cart_button.button.is-done{background:#1f7a4d!important}
.tp38-page .tp38-pd-cart .quantity{float:none;margin:0}
/* Order received / view order */
.tp38-woo .woocommerce-order{font-family:var(--tp3-sans)}
.tp38-woo .woocommerce-thankyou-order-received{margin:0 0 20px;font:500 1.5rem/1.3 var(--tp3-serif);color:var(--tp3-ink)}
.tp38-woo ul.woocommerce-order-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 34px;padding:0;list-style:none}
.tp38-woo ul.woocommerce-order-overview li{margin:0;padding:16px 18px;border:0;border-radius:14px;background:#fff;box-shadow:var(--tp3-shadow-1);font:700 .62rem/1.5 var(--tp3-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--tp3-muted)}
.tp38-woo ul.woocommerce-order-overview li strong{display:block;margin-top:6px;font:600 1rem/1.3 var(--tp3-sans);letter-spacing:0;text-transform:none;color:var(--tp3-ink);word-break:break-word}
.tp38-woo table.shop_table{width:100%;border-collapse:collapse;border:0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--tp3-shadow-1)}
.tp38-woo table.shop_table th,.tp38-woo table.shop_table td{padding:14px 18px;border:0;border-bottom:1px solid var(--tp3-line);text-align:left}
.tp38-woo table.shop_table tfoot tr:last-child th,.tp38-woo table.shop_table tfoot tr:last-child td{font-weight:700;color:var(--tp3-ink);border-bottom:0}
.tp38-woo .woocommerce-customer-details address{padding:18px;border:0;border-radius:14px;background:#fff;box-shadow:var(--tp3-shadow-1);font-style:normal;line-height:1.7}
.tp38-woo .woocommerce-order-details,.tp38-woo .woocommerce-customer-details{margin-top:30px}
.tp38-woo ul.woocommerce-order-overview::before,.tp38-woo ul.woocommerce-order-overview::after{display:none}
