/*
Theme Name: Tembisa's Closet
Theme URI: https://misslilygeeunlimited.co.za/
Author: MLG Digital
Author URI: https://misslilygeeunlimited.co.za/
Description: Custom WooCommerce theme for Tembisa's Closet, Designer Fashion House by Tembisa Boltina. Black, hot pink and white brand palette, editable homepage sections via the Customiser, styled shop, product, cart, checkout and account pages.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tembisas-closet
Tags: e-commerce, custom-logo, custom-menu, featured-images, full-width-template, theme-options
WC requires at least: 7.0
WC tested up to: 9.8
*/

:root{
  --ink:#140E11;
  --ink-soft:#2A2126;
  --pink:#EE0A6E;
  --pink-deep:#C4005A;
  --blush:#FFF1F6;
  --petal:#F8D6E5;
  --mist:#F4E6EC;
  --stone:#6F6068;
  --line:#EADCE3;
  --paper:#FFFFFF;
  --display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --script:"Pinyon Script","Snell Roundhand",cursive;
  --sans:"Jost","Futura","Century Gothic",system-ui,sans-serif;
  --wrap:1240px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
p a,.entry-content a{color:var(--pink-deep);text-decoration:underline;text-underline-offset:3px}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:var(--paper);clip:auto!important;clip-path:none;display:block;height:auto;left:8px;top:8px;padding:12px 20px;width:auto;z-index:100000;font-weight:600}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;color:var(--stone)}
.eyebrow.pink{color:var(--pink)}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;margin:0;text-wrap:balance;letter-spacing:-.01em;line-height:1.1}
.script{font-family:var(--script);color:var(--pink);font-weight:400;letter-spacing:0}
.alignleft{float:left;margin:0 24px 16px 0}.alignright{float:right;margin:0 0 16px 24px}.aligncenter{display:block;margin-inline:auto}
.wp-caption-text,.gallery-caption{font-size:14px;color:var(--stone)}
.sticky,.bypostauthor{}

/* ---------- Buttons ---------- */
.btn,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.wp-block-button__link,.wp-element-button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px;border:1.5px solid var(--ink);border-radius:0;
  background:var(--ink);color:#fff;font-family:var(--sans);font-size:13px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  transition:background .2s,color .2s,border-color .2s;text-decoration:none}
.btn:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,
.wp-block-button__link:hover,.wp-element-button:hover{background:var(--pink);border-color:var(--pink);color:#fff}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--pink);border-color:var(--pink)}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--ink);border-color:var(--ink)}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{opacity:.5;padding:15px 30px}

/* ---------- Announcement + header ---------- */
.announce{background:var(--ink);color:#fff;font-size:12px;letter-spacing:.24em;text-transform:uppercase;text-align:center;padding:10px 16px}
.announce b{color:var(--pink);font-weight:500}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:0}}
.hdr{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-block:14px}
.brand{display:flex;flex-direction:column;align-items:center;line-height:1;justify-self:center}
.brand .t{font-family:var(--display);font-size:25px;font-weight:600;letter-spacing:.04em;font-variant:small-caps}
.brand .c{font-family:var(--script);color:var(--pink);font-size:30px;margin-top:-8px;margin-left:44px}
.brand img.custom-logo{max-height:64px;width:auto}
.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.primary-nav li{position:relative}
.primary-nav a{position:relative;display:block;padding-block:6px}
.primary-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--pink);transition:right .25s}
.primary-nav a:hover::after,.primary-nav .current-menu-item>a::after{right:0}
.primary-nav .menu-sale>a,.primary-nav a.sale{color:var(--pink)}
.primary-nav .sub-menu{display:none;position:absolute;top:100%;left:-18px;background:var(--paper);border:1px solid var(--line);padding:12px 18px;min-width:220px;flex-direction:column;gap:4px;z-index:5;box-shadow:0 18px 40px -24px rgba(20,14,17,.35)}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{display:flex}
.tools{display:flex;justify-content:flex-end;gap:6px;align-items:center}
.icon-btn{width:42px;height:42px;display:grid;place-items:center;background:none;border:0;color:var(--ink);position:relative;border-radius:50%}
.icon-btn:hover{background:var(--blush)}
.icon-btn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6}
.count{position:absolute;top:4px;right:2px;min-width:18px;height:18px;border-radius:9px;background:var(--pink);color:#fff;font-size:11px;font-weight:600;display:grid;place-items:center;padding:0 4px;font-variant-numeric:tabular-nums}
.menu-toggle{display:none}
.mobile-nav{border-top:1px solid var(--line);padding-block:10px 18px}
.mobile-nav ul{list-style:none;margin:0;padding:0}
.mobile-nav .sub-menu{padding-left:16px}
.mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;letter-spacing:.14em;text-transform:uppercase}
.search-panel{border-top:1px solid var(--line);padding-block:18px}
.search-form,.woocommerce-product-search{display:flex;border:1.5px solid var(--ink);background:var(--paper);max-width:640px;margin:0 auto}
.search-form input[type=search],.woocommerce-product-search input[type=search]{flex:1;min-width:0;border:0;padding:14px 16px;font:inherit;background:transparent;color:var(--ink)}
.search-form input:focus,.woocommerce-product-search input:focus{outline:none}
.search-form:focus-within,.woocommerce-product-search:focus-within{outline:2px solid var(--pink);outline-offset:3px}
.search-form button,.woocommerce-product-search button{border:0;background:var(--ink);color:#fff;padding:0 22px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.search-form button:hover,.woocommerce-product-search button:hover{background:var(--pink)}

/* ---------- Hero ---------- */
.hero{background:linear-gradient(90deg,var(--paper) 0 52%,var(--blush) 52% 100%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:24px;min-height:600px}
.hero-copy{padding-block:64px}
.hero h1{font-size:clamp(44px,6.4vw,88px);line-height:.98;font-weight:500;margin-top:18px}
.hero h1 em{font-style:italic;font-weight:400}
.hero h1 .script{display:block;font-size:1.05em;line-height:.9;margin-top:6px}
.hero .lede{max-width:44ch;color:var(--stone);font-size:18px;margin:26px 0 34px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-art{position:relative;align-self:stretch;display:grid;place-items:center;padding-block:32px}
.hero-art img{width:min(100%,560px);height:auto;position:relative;z-index:1;animation:tc-rise 1s cubic-bezier(.2,.7,.2,1) both}
.hero-art .tag{position:absolute;z-index:2;right:4%;bottom:12%;background:var(--paper);padding:14px 18px;box-shadow:0 14px 40px -18px rgba(20,14,17,.35);font-size:12px;letter-spacing:.18em;text-transform:uppercase;line-height:1.5}
.hero-art .tag b{display:block;font-family:var(--display);font-size:22px;letter-spacing:0;text-transform:none;font-weight:500}
@keyframes tc-rise{from{opacity:.4;transform:translateY(24px)}to{opacity:1;transform:none}}

.motto{border-block:1px solid var(--line);background:var(--paper)}
.motto .row{display:flex;justify-content:center;align-items:center;gap:clamp(18px,5vw,64px);padding-block:22px;flex-wrap:wrap;font-family:var(--display);font-size:clamp(18px,2.2vw,26px);letter-spacing:.28em;text-transform:uppercase}
.motto .dot{width:7px;height:7px;border-radius:50%;background:var(--pink)}

section.block{padding-block:clamp(64px,9vw,110px)}
section.block.flush-top{padding-top:0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.sec-head h2{font-size:clamp(34px,4.4vw,54px);line-height:1.05;margin-top:10px}
.sec-head h2 .script{font-size:1.15em}
.link-arrow{font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;border-bottom:1.5px solid var(--pink);padding-bottom:4px}

/* ---------- Category tiles ---------- */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cat{position:relative;aspect-ratio:3/4;max-width:100%;background:var(--blush);overflow:hidden;display:flex;align-items:flex-end}
.cat:nth-child(4n+2){background:var(--petal)}
.cat:nth-child(4n+3){background:var(--ink)}
.cat:nth-child(4n+4){background:var(--mist)}
.cat img.cat-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.cat svg.sil{position:absolute;inset:8% 18% 22%;width:64%;height:70%;transition:transform .5s}
.cat:hover svg.sil{transform:scale(1.05) translateY(-6px)}
.cat:hover img.cat-img{transform:scale(1.04)}
.cat .lbl{position:relative;z-index:1;width:100%;padding:20px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;background:rgba(255,255,255,.95)}
.cat .lbl h3{font-size:22px}
.cat .lbl span{font-size:12px;color:var(--stone);letter-spacing:.14em;text-transform:uppercase;font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---------- Product cards (homepage + shop loop) ---------- */
.filters{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--paper);padding:9px 18px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;border-radius:40px;color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 20px}
.card .media{position:relative;aspect-ratio:4/5;max-width:100%;background:var(--blush);overflow:hidden;display:block}
.card .media img{width:100%;height:100%;object-fit:cover;transition:transform .6s;display:block}
.card:hover .media img{transform:scale(1.04)}
.badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--paper);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:5px 10px;font-weight:500;color:var(--ink)}
.badge.sale{background:var(--pink);color:#fff}
.card .media .add_to_cart_button,.card .media .product_type_variable,.card .media .product_type_grouped,.card .media .product_type_external,.card .media .product_type_simple{
  position:absolute;left:12px;right:12px;bottom:12px;padding:13px;font-size:12px;transform:translateY(calc(100% + 14px));transition:transform .3s,background .2s}
.card:hover .media .button,.card .media .button:focus-visible{transform:none}
.card .media .added_to_cart{position:absolute;left:12px;right:12px;bottom:60px;text-align:center;background:var(--paper);padding:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;z-index:3}
.card .info{padding-top:14px;display:grid;gap:4px}
.card h3{font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:.02em;line-height:1.35}
.card .cat-name{font-size:12px;color:var(--stone);letter-spacing:.14em;text-transform:uppercase}
.price{font-variant-numeric:tabular-nums;font-weight:500;color:var(--ink)}
.price del{color:var(--stone);font-weight:400;margin-right:6px;opacity:1}
.price ins{color:var(--pink);text-decoration:none}
.empty-note{padding:40px;background:var(--blush);text-align:center;color:var(--stone)}

/* ---------- Founder story ---------- */
.story{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,90px);align-items:center}
.portrait{position:relative;aspect-ratio:4/5;max-width:100%;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(238,10,110,.28),transparent 62%);overflow:hidden}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portrait .ring{position:absolute;inset:9%;border:1.5px solid var(--pink);border-radius:50%}
.portrait .initials{font-family:var(--display);font-size:clamp(90px,12vw,160px);font-style:italic;font-weight:400;line-height:1}
.story .eyebrow{color:var(--pink)}
.story h2{font-size:clamp(36px,4.6vw,58px);line-height:1.05;margin:14px 0 24px}
.story .story-text p{color:rgba(255,255,255,.78);max-width:56ch;font-size:17px;margin:0 0 18px}
.sig{font-family:var(--script);color:var(--pink);font-size:44px;line-height:1;margin-top:26px}
.sig small{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:12px}
.story .btn{background:var(--pink);border-color:var(--pink);margin-top:30px}
.story .btn:hover{background:#fff;color:var(--ink);border-color:#fff}

/* ---------- Occasion ---------- */
.occasion{background:var(--blush)}
.occ-grid{display:grid;grid-template-columns:1fr 1fr;min-height:420px}
.occ-art{background:var(--pink);position:relative;display:grid;place-items:center;overflow:hidden;min-height:320px}
.occ-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.occ-art svg{width:40%;height:80%;position:relative}
.occ-art .big{position:absolute;font-family:var(--script);color:rgba(255,255,255,.18);font-size:clamp(120px,16vw,220px);line-height:1;left:-2%;bottom:-6%;white-space:nowrap}
.occ-copy{padding:clamp(40px,6vw,80px);display:flex;flex-direction:column;justify-content:center}
.occ-copy h2{font-size:clamp(34px,4vw,50px);line-height:1.05;margin:12px 0 18px}
.occ-copy p{color:var(--stone);max-width:44ch;margin:0 0 28px}
.occ-list{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.occ-list span{border:1px solid var(--ink);padding:7px 14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}

/* ---------- Services ---------- */
.services{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}
.svc{padding:34px 26px;display:grid;gap:8px;align-content:start;border-right:1px solid var(--line)}
.svc:last-child{border-right:0}
.svc svg{width:30px;height:30px;fill:none;stroke:var(--pink);stroke-width:1.5}
.svc h3{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-top:6px}
.svc p{margin:0;color:var(--stone);font-size:15px}

/* ---------- Instagram gallery ---------- */
.gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.g{aspect-ratio:1;max-width:100%;display:grid;place-items:center;position:relative;overflow:hidden;background:var(--blush)}
.g:nth-child(even){background:var(--petal)}
.g:nth-child(3){background:var(--ink)}
.g img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.g svg{width:46%;height:74%}
.g .ov{position:absolute;inset:0;display:grid;place-items:center;background:rgba(238,10,110,.88);color:#fff;font-size:12px;letter-spacing:.16em;opacity:0;transition:opacity .25s}
.g:hover .ov,.g:focus-visible .ov{opacity:1}

/* ---------- Newsletter ---------- */
.news{text-align:center;background:var(--blush)}
.news h2{font-size:clamp(34px,4.4vw,54px);margin:10px 0 12px}
.news p{color:var(--stone);margin:0 auto 30px;max-width:48ch}
.news-form{display:flex;max-width:520px;margin:0 auto;border:1.5px solid var(--ink);background:var(--paper)}
.news-form input[type=email]{flex:1;min-width:0;border:0;padding:16px 18px;font:inherit;background:transparent;color:var(--ink)}
.news-form input:focus{outline:none}
.news-form:focus-within{outline:2px solid var(--pink);outline-offset:3px}
.news-form button{border:0;background:var(--ink);color:#fff;padding:0 26px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.news-form button:hover{background:var(--pink)}
.news-form .hp{position:absolute;left:-9999px}
.news .ok{margin-top:16px;color:var(--pink-deep);font-weight:500}
.news .err{margin-top:16px;color:#B00020;font-weight:500}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:rgba(255,255,255,.75);padding-block:70px 30px;font-size:15px}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.site-footer .brand{align-items:flex-start;color:#fff}
.site-footer h4{font-family:var(--sans);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#fff;margin:0 0 16px;font-weight:500}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-footer a:hover{color:var(--pink)}
.about-f p{max-width:34ch;margin:18px 0}
.socials{display:flex;gap:10px;flex-wrap:wrap}
.socials a{width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;font-size:12px;letter-spacing:.04em}
.socials a:hover{border-color:var(--pink)}
.base{margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.5)}
.pay{display:flex;gap:8px;flex-wrap:wrap}
.pay span{border:1px solid rgba(255,255,255,.2);padding:3px 9px;font-size:11px;letter-spacing:.1em}

/* ---------- Inner pages ---------- */
.page-hero{background:var(--blush);padding-block:clamp(40px,6vw,72px);text-align:center}
.page-hero h1{font-size:clamp(34px,5vw,60px)}
.page-hero .crumbs,.woocommerce .woocommerce-breadcrumb{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);margin:0 0 12px}
.page-hero .crumbs a,.woocommerce .woocommerce-breadcrumb a{color:var(--stone)}
.page-hero .term-description{max-width:60ch;margin:14px auto 0;color:var(--stone)}
.content-area{padding-block:clamp(40px,6vw,80px)}
.entry-content{max-width:760px;margin:0 auto}
.entry-content h2{font-size:34px;margin:1.6em 0 .5em}
.entry-content h3{font-size:26px;margin:1.4em 0 .5em}
.entry-content blockquote{border-left:3px solid var(--pink);margin:1.5em 0;padding:.2em 0 .2em 1.2em;font-family:var(--display);font-size:22px;font-style:italic}
.entry-content.wide{max-width:none}
.post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 24px}
.post-card .thumb{display:block;aspect-ratio:4/3;background:var(--blush);overflow:hidden}
.post-card .thumb img{width:100%;height:100%;object-fit:cover}
.post-card h2{font-size:24px;margin:14px 0 8px}
.post-card .meta,.entry-meta{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone)}
.pagination,.woocommerce nav.woocommerce-pagination{margin-top:50px;text-align:center}
.nav-links{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.nav-links .page-numbers,.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border:1px solid var(--line);font-size:14px}
.nav-links .current,.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.woocommerce nav.woocommerce-pagination ul{border:0;display:inline-flex;gap:6px}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.notfound{text-align:center;padding-block:100px}
.notfound .big{font-family:var(--script);color:var(--pink);font-size:clamp(90px,14vw,180px);line-height:1}
.comments-area{max-width:760px;margin:60px auto 0}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],input[type=url],textarea,select,
.woocommerce form .form-row .input-text,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{
  border:1px solid #D8C6CF;border-radius:0;padding:12px 14px;font:inherit;background:var(--paper);color:var(--ink);min-height:48px}
.select2-container--default .select2-selection--single{height:48px;display:flex;align-items:center}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
input:focus,textarea:focus,select:focus{outline:2px solid var(--pink);outline-offset:1px}
label{font-size:14px;font-weight:500}

/* ---------- WooCommerce: shop loop ---------- */
.woocommerce .woocommerce-result-count{color:var(--stone);font-size:14px;margin:0 0 30px}
.woocommerce .woocommerce-ordering{margin:0 0 30px}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 20px;margin:0;padding:0}
.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,1fr)}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;padding:0;text-align:left}
.woocommerce ul.products li.product a img{margin:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--sans);font-size:15px;font-weight:500;padding:0;letter-spacing:.02em}
.woocommerce ul.products li.product .price{color:var(--ink);font-size:15px;margin:0}
.woocommerce ul.products li.product .onsale,.woocommerce span.onsale{position:absolute;top:14px;left:14px;right:auto;margin:0;min-height:0;min-width:0;line-height:1.4;border-radius:0;background:var(--pink);color:#fff;font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:5px 10px;font-weight:500;z-index:2}
.woocommerce ul.products li.product .star-rating{font-size:12px;margin:2px 0}
.woocommerce .star-rating span::before,.woocommerce p.stars a{color:var(--pink)}
.woocommerce-products-header{display:none}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.shop-cats{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:22px}
.shop-cats a{border:1px solid var(--line);background:var(--paper);padding:8px 16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-radius:40px}
.shop-cats a.on,.shop-cats a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- WooCommerce: single product ---------- */
.woocommerce div.product{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,70px);align-items:start}
.woocommerce div.product::before,.woocommerce div.product::after{display:none}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1}
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto!important;float:none!important}
.woocommerce div.product .product_title{font-size:clamp(32px,4vw,46px);margin-bottom:12px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-size:24px;font-weight:500;margin-bottom:18px}
.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{color:var(--pink);text-decoration:none}
.woocommerce-product-details__short-description{color:var(--stone);margin-bottom:24px}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:24px 0}
.woocommerce div.product form.cart.variations_form{display:block}
.woocommerce div.product form.cart .variations{margin-bottom:16px;width:100%}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{display:block;padding:0;text-align:left;line-height:1.5}
.woocommerce div.product form.cart .variations th label{font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.woocommerce div.product form.cart .variations select{width:100%;margin:6px 0 14px}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart{display:flex;gap:12px;flex-wrap:wrap}
.woocommerce .quantity .qty{width:84px;min-height:52px;text-align:center}
.woocommerce div.product form.cart .button{flex:1;min-width:200px;padding:17px 30px}
.woocommerce .product_meta{font-size:13px;color:var(--stone);display:grid;gap:4px;border-top:1px solid var(--line);padding-top:18px;margin-top:10px}
.woocommerce div.product .woocommerce-tabs{margin-top:30px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 24px;display:flex;gap:28px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;margin:0;padding:0;border-radius:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 0;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--stone)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink);box-shadow:inset 0 -2px 0 var(--pink)}
.woocommerce div.product .woocommerce-tabs .panel h2:first-child{display:none}
.woocommerce .related>h2,.woocommerce .upsells>h2,.cross-sells>h2{font-size:clamp(30px,3.6vw,44px);margin:60px 0 30px}
.tc-trust{display:grid;gap:10px;margin:22px 0;padding:18px;background:var(--blush);font-size:14px}
.tc-trust div{display:flex;gap:10px;align-items:center}
.tc-trust svg{width:20px;height:20px;fill:none;stroke:var(--pink);stroke-width:1.6;flex:none}

/* ---------- WooCommerce: notices, cart, checkout, account ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice{border-top:3px solid var(--pink);background:var(--blush);color:var(--ink);list-style:none}
.woocommerce-message::before,.woocommerce-info::before{color:var(--pink)}
.woocommerce-error{border-top-color:#B00020}
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:0;border-collapse:collapse}
.woocommerce table.shop_table th{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-top:1px solid var(--line);padding:16px 14px}
.woocommerce table.cart img{width:80px}
.woocommerce a.remove{color:var(--ink)!important}
.woocommerce a.remove:hover{background:var(--pink);color:#fff!important}
.woocommerce .cart-collaterals .cart_totals h2,.woocommerce-checkout h3,#order_review_heading{font-size:28px;margin-bottom:18px}
.woocommerce .cart-collaterals .cart_totals{background:var(--blush);padding:28px}
.woocommerce-checkout #payment{background:var(--blush);border-radius:0}
.woocommerce-checkout #payment div.payment_box{background:var(--paper)}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--paper)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--pink)}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.checkout_coupon{border:1px solid var(--line);border-radius:0;padding:28px}
.wc-block-components-button:not(.is-link){background:var(--ink);color:#fff;border-radius:0}
.wc-block-components-button:not(.is-link):hover{background:var(--pink)}

/* ---------- Toast ---------- */
.toast{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:61;background:var(--ink);color:#fff;padding:14px 20px;font-size:14px;transform:translateY(160%);visibility:hidden;transition:transform .3s,visibility .3s}
.toast.show{transform:none;visibility:visible}
.toast b{color:var(--pink);font-weight:500}

/* ---------- Responsive ---------- */
@media (max-width:1020px){
  .primary-nav{display:none}
  .menu-toggle{display:grid}
  .hdr{grid-template-columns:auto 1fr auto}
  .cats,.grid,.woocommerce ul.products,.woocommerce ul.products.columns-3{grid-template-columns:repeat(2,1fr)}
  .services{grid-template-columns:repeat(2,1fr)}
  .svc:nth-child(2){border-right:0}
  .svc:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .foot{grid-template-columns:1fr 1fr}
  .post-list{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .hero{background:var(--blush)}
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding-block:40px 0}
  .hero-art{padding-block:0 30px}
  .hero-art img{width:min(100%,380px)}
  .story-grid,.occ-grid,.woocommerce div.product{grid-template-columns:1fr}
  .portrait{max-width:360px;width:100%;margin:0 auto}
  .brand .t{font-size:20px}.brand .c{font-size:25px;margin-left:34px}
  .post-list{grid-template-columns:1fr}
  .woocommerce table.shop_table_responsive tr td{text-align:right!important}
}
@media (max-width:480px){
  .grid,.woocommerce ul.products{gap:26px 12px}
  .services{grid-template-columns:1fr}
  .svc{border-right:0;border-bottom:1px solid var(--line)}
  .svc:last-child{border-bottom:0}
  .foot{grid-template-columns:1fr}
  .card h3{font-size:14px}
  .card .media .button{transform:none!important;padding:10px!important;font-size:11px!important;letter-spacing:.12em!important}
  .motto .row{letter-spacing:.18em}
  .announce{letter-spacing:.12em;font-size:11px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.card .media .button{margin:0!important}
.card .media .button.loading{opacity:.7}
.card .media .button.added::after{margin-left:6px}
@media (min-width:1021px){.services.n-1{grid-template-columns:1fr}.services.n-2{grid-template-columns:repeat(2,1fr)}.services.n-3{grid-template-columns:repeat(3,1fr)}}
.primary-nav a{white-space:nowrap}
@media (max-width:1240px){.primary-nav ul{gap:16px;font-size:12px;letter-spacing:.1em}}
