/* ============================================================
   VELLINORE — WooCommerce Style Overrides
   Harmonises WooCommerce default markup with Vellinore design tokens
   ============================================================ */

/* ── SHOP HERO ── */
.shop-hero{position:relative;min-height:420px;display:flex;align-items:flex-end;overflow:hidden;margin-bottom:48px}
.sh-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(0.7)}
.shop-hero .wrap{position:relative;z-index:2;padding-bottom:48px}
.shop-hero .eyebrow{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);margin-bottom:10px}
.shop-hero h1{font-family:var(--serif);font-size:clamp(36px,5vw,72px);color:var(--cream);font-weight:400;line-height:1;margin:0 0 12px}
.shop-hero .lead{font-family:var(--sans);font-size:14px;color:rgba(250,246,238,.7);max-width:420px;line-height:1.6}

/* ── SHOP TOOLBAR ── */
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;padding:20px 0 28px;border-bottom:1px solid var(--line);margin-bottom:32px}
.st-count{font-family:var(--sans);font-size:12px;color:var(--ink-soft);letter-spacing:.06em}
.st-sort{display:flex;align-items:center}
.st-sort .label{font-family:var(--sans);font-size:10px;color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase}
/* Override WC ordering dropdown */
.woocommerce-ordering select{appearance:none;border:1px solid var(--line);background:var(--cream);padding:8px 32px 8px 12px;font-family:var(--sans);font-size:12px;color:var(--ink);cursor:pointer;border-radius:0}

/* ── PRODUCT GRID ── */
ul.products,
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px;list-style:none!important;padding:0!important;margin:0!important}
ul.products::before,ul.products::after{display:none!important}

/* ── PRODUCT CARD ── */
.pcard{position:relative}
.pcard-media{display:block;position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--cream-2)}
.pcard-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s ease}
.pcard-img-2{opacity:0}
.pcard-media:hover .pcard-img-1{opacity:0}
.pcard-media:hover .pcard-img-2{opacity:1}
.pcard-badge{position:absolute;top:12px;left:12px;font-family:var(--sans);font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;z-index:2}
.pcard-badge-sale{background:var(--gold-deep);color:var(--cream)}
.pcard-badge-excl{background:var(--espresso);color:var(--cream)}
.pcard-badge-sold{background:rgba(42,37,28,.7);color:var(--cream)}
.pcard-qv{position:absolute;right:12px;bottom:12px;background:rgba(250,246,238,.92);border:1px solid var(--line);padding:8px 10px;cursor:pointer;opacity:0;transition:opacity .25s ease;z-index:2}
.pcard:hover .pcard-qv{opacity:1}
.pcard-info{display:block;text-decoration:none;color:inherit;padding-top:14px}
.pcard-cat{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px}
.pcard-name{font-family:var(--serif);font-size:16px;font-weight:400;color:var(--ink);margin:0 0 6px;line-height:1.3}
.pcard-price{font-family:var(--sans);font-size:13px;color:var(--ink)}
.pcard-old{text-decoration:line-through;color:var(--ink-soft);margin-right:6px}
.pcard-vat{font-size:10px;color:var(--ink-soft);margin-left:4px}

/* ── PDP (Product Detail Page) ── */
.pdp{padding:32px 0 64px}
.pdp-breadcrumbs{font-family:var(--sans);font-size:11px;color:var(--ink-soft);margin-bottom:24px;letter-spacing:.04em}
.pdp-breadcrumbs a{color:var(--ink-soft);text-decoration:none}
.pdp-breadcrumbs a:hover{color:var(--gold-deep)}
.pdp-breadcrumbs .sep{margin:0 6px;opacity:.5}
.pdp-breadcrumbs .current{color:var(--ink)}
.pdp-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:960px){.pdp-grid{grid-template-columns:1fr;gap:24px}}

/* PDP Gallery */
.pdp-gallery{display:grid;grid-template-columns:80px 1fr;gap:12px;position:sticky;top:100px}
@media(max-width:960px){.pdp-gallery{grid-template-columns:1fr;position:static}}
.pdp-thumbs{display:flex;flex-direction:column;gap:8px}
@media(max-width:960px){.pdp-thumbs{flex-direction:row;overflow-x:auto}}
.pdp-thumb{width:72px;height:90px;border:1px solid var(--line);cursor:pointer;padding:2px;background:none;transition:border-color .2s}
.pdp-thumb.active{border-color:var(--gold-deep)}
.pdp-thumb img{width:100%;height:100%;object-fit:cover}
.pdp-main-img{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--cream-2);cursor:zoom-in}
.pdp-main-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.pdp-main-img:hover img{transform:scale(1.08)}

/* PDP Info */
.pdp-cat{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}
.pdp-name{font-family:var(--serif);font-size:clamp(24px,3vw,36px);font-weight:400;color:var(--ink);line-height:1.1;margin:0 0 16px}
.pdp-price-block{margin-bottom:16px}
.pdp-old-price{font-family:var(--sans);font-size:14px;text-decoration:line-through;color:var(--ink-soft);margin-right:8px}
.pdp-price{font-family:var(--sans);font-size:18px;font-weight:500;color:var(--ink)}
.pdp-vat{display:block;font-size:11px;color:var(--ink-soft);margin-top:2px}
.pdp-vat a{color:var(--gold-deep)}
.pdp-desc{font-family:var(--sans);font-size:13px;color:var(--ink-soft);line-height:1.6;margin-bottom:20px}
.pdp-specs-strip{display:flex;flex-wrap:wrap;gap:16px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}
.pdp-specs-strip .spec{display:flex;flex-direction:column}
.pdp-specs-strip .k{font-family:var(--sans);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px}
.pdp-specs-strip .v{font-family:var(--sans);font-size:12px;color:var(--ink)}

/* Fit Scale */
.pdp-fit{margin-bottom:20px}
.fit-label{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.fit-bar{display:flex;gap:8px}
.fit-dot{width:12px;height:12px;border-radius:50%;border:1px solid var(--line);background:none;transition:all .2s}
.fit-dot.on{background:var(--gold-deep);border-color:var(--gold-deep)}
.fit-note{display:block;font-size:11px;color:var(--ink-soft);margin-top:6px;font-style:italic}

/* Fit Type Pills */
.pdp-fittype{margin-bottom:20px}
.ft-label{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.ft-pills{display:flex;gap:6px}
.ft-pill{padding:6px 14px;font-family:var(--sans);font-size:11px;letter-spacing:.08em;border:1px solid var(--line);background:none;color:var(--ink-soft);cursor:default}
.ft-pill.active{border-color:var(--gold-deep);color:var(--gold-deep);font-weight:500}

/* WooCommerce add-to-cart form overrides */
.pdp-form{margin-bottom:16px}
.pdp-form .single_add_to_cart_button{display:block;width:100%;padding:14px;background:var(--espresso);color:var(--cream);font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;border:none;cursor:pointer;transition:background .25s}
.pdp-form .single_add_to_cart_button:hover{background:var(--ink)}
.pdp-form .quantity{display:flex;align-items:center;margin-bottom:12px}
.pdp-form .quantity input[type="number"]{width:60px;text-align:center;border:1px solid var(--line);padding:8px;font-family:var(--sans);font-size:14px;-moz-appearance:textfield;appearance:textfield}
.pdp-form .quantity input::-webkit-outer-spin-button,
.pdp-form .quantity input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pdp-form table.variations{width:100%;margin-bottom:16px}
.pdp-form table.variations td{padding:8px 0}
.pdp-form table.variations .label{font-family:var(--sans);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.pdp-form table.variations td select{width:100%;padding:10px 12px;border:1px solid var(--line);font-family:var(--sans);font-size:13px;border-radius:0;appearance:none;background:var(--cream) url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6" viewBox="0 0 10 6"><path d="M1 1l4 4 4-4" stroke="%232A251C" stroke-width="1.2" fill="none"/></svg>') no-repeat right 12px center}
.pdp-form .reset_variations{font-family:var(--sans);font-size:11px;color:var(--gold-deep)}

/* Buy Now button */
.pdp-direkt{width:100%;margin-bottom:16px}

/* Size Guide Link */
.pdp-size-link{margin-bottom:16px}

/* Stock Notification */
.pdp-notify{padding:20px;background:var(--cream-2);border:1px solid var(--line);margin-bottom:20px}
.pdp-notify .notify-msg{font-family:var(--serif);font-size:15px;color:var(--gold-deep);margin:0 0 12px}
.pdp-notify .notify-form{display:flex;gap:8px;margin-bottom:8px}
.pdp-notify .notify-form input{flex:1;padding:10px 12px;border:1px solid var(--line);font-family:var(--sans);font-size:13px;background:var(--cream)}
.pdp-notify .notify-note{font-size:10px;color:var(--ink-soft);margin:0}

/* Trust micro strip */
.pdp-trust{display:flex;flex-wrap:wrap;gap:12px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px;font-family:var(--sans);font-size:11px;color:var(--ink-soft)}

/* Accordions */
.pdp-acc{border-bottom:1px solid var(--line)}
.pdp-acc summary{padding:16px 0;font-family:var(--sans);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.pdp-acc summary::after{content:'＋';font-size:14px;transition:transform .3s}
.pdp-acc[open] summary::after{content:'−'}
.pdp-acc summary::-webkit-details-marker{display:none}
.acc-body{padding:0 0 20px;font-family:var(--sans);font-size:13px;color:var(--ink-soft);line-height:1.6}

/* Guide links */
.pdp-guides{display:flex;flex-wrap:wrap;gap:16px;padding-top:20px;font-family:var(--sans);font-size:11px}
.pdp-guides a{color:var(--gold-deep);text-decoration:none;letter-spacing:.06em}
.pdp-guides a:hover{text-decoration:underline}

/* ── CART PAGE ── */
.page#page-cart{padding:48px 0 80px}
.cart-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.cart-head h1{font-family:var(--serif);font-size:clamp(28px,3.5vw,44px);font-weight:400;margin:0}
.cart-count-label{font-family:var(--sans);font-size:12px;color:var(--ink-soft);letter-spacing:.1em}
.cart-empty{text-align:center;padding:80px 0;font-family:var(--serif);font-size:18px;color:var(--ink-soft)}
.cart-empty .btn{margin-top:20px}
.cart-grid{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start}
@media(max-width:900px){.cart-grid{grid-template-columns:1fr;gap:32px}}

/* Cart line items */
.cart-line{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.cl-img img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--cream-2)}
.cl-name{display:block;font-family:var(--serif);font-size:16px;color:var(--ink);text-decoration:none;margin-bottom:4px}
.cl-name:hover{color:var(--gold-deep)}
.cl-mono{display:block;font-family:var(--sans);font-size:11px;color:var(--gold-deep);margin-top:4px;font-style:italic}
.cl-price{font-family:var(--sans);font-size:14px;color:var(--ink)}
.cl-bottom{display:flex;align-items:center;gap:16px;margin-top:12px}
.cl-qty .quantity input{width:50px;text-align:center;border:1px solid var(--line);padding:6px;font-family:var(--sans)}
.cl-remove{font-family:var(--sans);font-size:11px;color:var(--ink-soft);text-decoration:underline;text-underline-offset:2px;cursor:pointer;background:none;border:none;padding:0}
.cl-remove:hover{color:var(--gold-deep)}
.cl-total{margin-left:auto;font-family:var(--sans);font-size:14px;font-weight:500}

/* Cart summary sidebar */
.cart-summary{position:sticky;top:100px;padding:28px;background:var(--cream-2);border:1px solid var(--line)}
.cart-summary h3{font-family:var(--serif);font-size:18px;font-weight:400;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.cs-row{display:flex;justify-content:space-between;font-family:var(--sans);font-size:13px;color:var(--ink-soft);padding:6px 0}
.cs-grand{font-weight:600;font-size:16px;color:var(--ink);padding-top:12px;margin-top:8px;border-top:1px solid var(--line)}
.cs-note{font-family:var(--sans);font-size:10px;color:var(--ink-soft);margin:12px 0 20px}
.cs-coupon{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.cs-coupon .input-text{flex:1;padding:8px 12px;border:1px solid var(--line);font-family:var(--sans);font-size:12px;background:var(--cream)}

/* Proceed to checkout button */
.wc-proceed-to-checkout .checkout-button{display:block;width:100%;padding:14px;background:var(--espresso);color:var(--cream);font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;border:none;cursor:pointer;text-align:center;text-decoration:none;transition:background .25s}
.wc-proceed-to-checkout .checkout-button:hover{background:var(--ink)}
.cart-actions{display:flex;gap:12px;padding-top:20px}

/* ── WOOCOMMERCE NOTICES ── */
.woocommerce-message,.woocommerce-info,.woocommerce-error{font-family:var(--sans);font-size:13px;padding:14px 20px;border:1px solid var(--line);background:var(--cream-2);margin-bottom:20px;color:var(--ink)}
.woocommerce-message{border-left:3px solid var(--gold-deep)}
.woocommerce-error{border-left:3px solid #c0392b}

/* ── WOOCOMMERCE PAGINATION ── */
.woocommerce-pagination{text-align:center;padding:40px 0}
.woocommerce-pagination ul{display:flex;justify-content:center;gap:4px;list-style:none;padding:0}
.woocommerce-pagination .page-numbers{display:flex;align-items:center;justify-content:center;width:40px;height:40px;font-family:var(--sans);font-size:12px;border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:all .2s}
.woocommerce-pagination .page-numbers.current,.woocommerce-pagination .page-numbers:hover{background:var(--espresso);color:var(--cream);border-color:var(--espresso)}
