/*
Theme Name: Luxury Worldwide Child
Theme URI: https://luxuryworldwide.com
Description: Child theme for Luxury Worldwide - Gucci-style fixed nav + fullscreen banner + Elementor compat.
Author: Luxury Worldwide Team
Template: luxury-worldwide
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: luxury-worldwide-child
*/

/* Nav: white default, transparent on home only */
nav { background: rgba(255,255,255,0.96) !important; backdrop-filter: blur(16px) !important; border-bottom: none !important; }
body.home nav { background: transparent !important; backdrop-filter: none !important; }
body.home nav .nav-logo { color: #fff !important; }
body.home nav .nav-menu-btn span { background: #fff !important; }
body.home nav .nav-search-btn { color: rgba(255,255,255,0.85) !important; }
body.home nav .nav-search-btn svg { stroke: #fff !important; }
body.home nav .nav-icon-btn { color: #fff !important; }
body.home nav .nav-action { color: rgba(255,255,255,0.85) !important; }
body.home nav .nav-divider { background: rgba(255,255,255,0.3) !important; }
body.home nav .bag-count { background: #fff !important; color: #000 !important; }
body.scrolled nav { background: rgba(255,255,255,0.96) !important; backdrop-filter: blur(16px) !important; }
body.scrolled nav .nav-logo { color: var(--ink) !important; }
body.scrolled nav .nav-menu-btn span { background: var(--stone) !important; }
body.scrolled nav .nav-search-btn { color: var(--stone) !important; }
body.scrolled nav .nav-search-btn svg { stroke: var(--stone) !important; }
body.scrolled nav .nav-icon-btn { color: var(--stone) !important; }
body.scrolled nav .nav-action { color: var(--stone) !important; }
body.scrolled nav .nav-divider { background: var(--linen) !important; }
body.scrolled nav .bag-count { background: var(--gold) !important; color: var(--ivory) !important; }

/* 鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺?   GUCCI-STYLE PRODUCT PAGE V3
   ElevateZoom magnifier + vertical thumbs + divider
鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺?*/

.gpdp-wrap { max-width: 1280px; margin: 0 auto; padding: 100px 40px 60px; }

/* 鈹€鈹€ PC Grid: Gallery 48% / Info 50% 鈹€鈹€ */
.gpdp-grid { display: grid; grid-template-columns: 46% 50%; gap: 4%; align-items: start; }

/* 鈹€鈹€ Gallery 鈹€鈹€ */
/* 鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺?   GUCCI GALLERY MODULE (gcg)
   Main image + animated divider + vertical thumbs
鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺?*/

/* 鈹€鈹€ Container 鈹€鈹€ */
/* 鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺?   GUCCI GALLERY V4 鈥?3-State Hover
   State 1: idle, thumbs+divider hidden
   State 2: hover, thumbs+divider+zoom appear
   State 3: scroll to cycle images
鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺?*/

/* 鈹€鈹€ Container 鈹€鈹€ */
/* 鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺?   GUCCI GALLERY V5 鈥?JS-driven states
鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺?*/
/* ═══════════════════════════════════
   GUCCI GALLERY V6 — 3-state, no divider
   State 1: idle — thumbs hidden
   State 2: hover — thumbs appear + zoom
   State 3: scroll — cycle images, lock page scroll
═══════════════════════════════════ */
/* ═══════════════════════════════════
   GUCCI GALLERY V8 — Spacing optimized
   State 1: idle — thumbs hidden
   State 2: hover — thumbs + zoom appear
   State 3: wheel — cycle + scroll lock
═══════════════════════════════════ */

/* ── Page grid spacing ── */
.gpdp-grid {
  display: grid;
  grid-template-columns: 46% 50%; gap: 4%;
  align-items: start;
}

/* ── Gallery container ── */
/* ═══════════════════════════════════
   GCG V9 — CLS-safe scoped gallery
   All rules prefixed .gcg-* / .gpdp-gallery
   Zero global side-effects
═══════════════════════════════════ */

/* ── Gallery wrapper (anti-CLS) ── */
.gpdp-gallery {
  width: 100%;
  min-height: 400px;
}

/* ── Gallery root ── */
.gcg {
  position: relative;
  width: 100%;
}

/* ── Stage (flex row: main + thumbs) ── */
.gcg-stage {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 28px;
}

/* ── Main image (anti-CLS fixed aspect) ── */
.gcg-main {
  flex: 1;
  min-width: 0;
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
  background: #FAFAFA;
}
.gcg-main-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── Thumbnails column ── */
.gcg-thumbs {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex-shrink: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility 0s .3s;
}
.gcg-thumbs.visible {
  opacity: 1;
  visibility: visible;
  transition: opacity .2s ease .1s, visibility 0s 0s;
}

/* ── Thumbnail tile ── */
.gcg-thumb {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  border: 1px solid #E0E0E0;
  cursor: pointer;
  overflow: hidden;
  transition: border-color .2s;
}
.gcg-thumb:hover,
.gcg-thumb.active { border-color: #000; }
.gcg-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── ElevateZoom (scoped) ── */
.gcg .zoomContainer { z-index: 100 !important; }
.gcg .zoomWindowContainer > div {
  border: none !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.12) !important;
}
.gcg .zoomLens { opacity: .3; background: #fff; }

/* ── Lightbox (scoped) ── */
.gcg-lb { position: fixed; inset: 0; z-index: 9999; }
.gcg-lb-bg { position: absolute; inset: 0; background: rgba(255,255,255,.97); }
.gcg-lb-close { position: absolute; top: 20px; right: 30px; z-index: 2; font-size: 36px; background: none; border: none; cursor: pointer; color: #333; }
.gcg-lb-img { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); max-width: 92vw; max-height: 92vh; object-fit: contain; z-index: 1; }

/* ── Info column spacing (scoped) ── */
.gpdp-info { padding-left: 40px; }

/* ═══════════════════════════════════
   TABLET 768-1024px
═══════════════════════════════════ */
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .gcg-stage { gap: 22px; }
  .gcg-thumb { width: 52px; height: 52px; }
  .gcg-thumbs { gap: 14px; }
  .gpdp-info { padding-left: 28px; }
}

/* ═══════════════════════════════════
   MOBILE <768px
═══════════════════════════════════ */
@media screen and (max-width: 767px) {
  .gcg-stage { flex-direction: column; gap: 0; }
  .gcg-main { aspect-ratio: auto; }
  .gcg-main-img { position: static; aspect-ratio: 3/4; }
  .gcg-thumbs { flex-direction: row; overflow-x: auto; gap: 10px; padding-top: 10px; }
  .gcg-thumb { width: 48px; height: 48px; flex-shrink: 0; }
  .gcg .zoomContainer { display: none !important; }
  .gpdp-info { padding-left: 0; }
  .gcg-lb-close { top: 10px; right: 16px; font-size: 28px; }
}

/* ── Grid parent (layout only, no visual spill) ── */
.gpdp-grid {
  display: grid;
  grid-template-columns: 46% 50%;
  gap: 4%;
  align-items: start;
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .gpdp-grid { grid-template-columns: 50% 44%; gap: 6%; }
}
@media screen and (max-width: 767px) {
  .gpdp-grid { grid-template-columns: 1fr; gap: 28px; }
}

.gpdp-info {
  padding-left: 40px;
}

/* ═══════════════════════════════════
   TABLET: 768px-1024px
═══════════════════════════════════ */
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .gpdp-grid {
    grid-template-columns: 50% 44%; gap: 6%;
  }
  .gcg-thumb { width: 52px; height: 52px; }
  .gcg-thumbs { gap: 14px; margin-left: 22px; }
  .gpdp-info { padding-left: 28px; }
}

/* ═══════════════════════════════════
   MOBILE: <768px
═══════════════════════════════════ */
@media screen and (max-width: 767px) {
  .gpdp-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .gcg-stage { flex-direction: column; }
  .gcg-thumbs {
    flex-direction: row;
    overflow-x: auto; gap: 10px;
    margin-left: 0;
    padding-top: 10px;
  }
  .gcg-thumb { width: 48px; height: 48px; flex-shrink: 0; }
  .gcg-thumbs.visible { transform: translateY(0); }
  .zoomContainer { display: none !important; }
  .gpdp-info { padding-left: 0; }
  .gcg-lb-close { top: 10px; right: 16px; font-size: 28px; }
}

.gpdp-info { padding-left: 28px; }
.gpdp-title { font-family: 'EB Garamond',Georgia,serif; font-size: 26px; font-weight: 600; line-height: 1.3; color: #000; margin: 0 0 16px; }
.gpdp-price { font-size: 18px; color: #000; margin-bottom: 20px; }
.gpdp-price del { color: #999; font-size: 14px; margin-right: 10px; }
.gpdp-price ins { text-decoration: none; color: #C00; }
.gpdp-desc { font-size: 14px; line-height: 1.8; color: #666; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid #EEE; }

/* Accordion */
.gpdp-accordion { margin-bottom: 24px; }
.gpdp-acc-item { border-bottom: 1px solid #EEE; }
.gpdp-acc-btn { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 14px 0; background: none; border: none; font-size: 14px; color: #000; cursor: pointer; text-align: left; }
.gpdp-acc-arrow { font-size: 18px; color: #999; }
.gpdp-acc-body { padding: 4px 0 16px; font-size: 13px; line-height: 1.8; color: #666; }

/* Variations */
.gpdp-variations { margin-bottom: 24px; }
.gpdp-var-header { display: flex; align-items: center; gap: 8px; padding: 12px 0; border-bottom: 1px solid #EEE; cursor: pointer; }
.gpdp-var-label { font-size: 13px; color: #333; min-width: 50px; }
.gpdp-var-selected { font-size: 13px; color: #000; flex: 1; }
.gpdp-var-expand { font-size: 20px; background: none; border: none; cursor: pointer; color: #999; width: 28px; text-align: center; }
.gpdp-var-options { display: none; padding: 12px 0; }
.gpdp-var-row { margin-bottom: 12px; }
.gpdp-var-name { display: block; font-size: 12px; letter-spacing: 1.5px; color: #999; margin-bottom: 8px; }
.gpdp-var-swatches { display: flex; gap: 8px; flex-wrap: wrap; }
.gpdp-swatch { padding: 8px 16px; border: 1px solid #CCC; background: #fff; font-size: 13px; cursor: pointer; transition: border-color 0.2s; }
.gpdp-swatch:hover, .gpdp-swatch.active { border-color: #000; }

/* Cart */
.gpdp-cart { margin-bottom: 24px; }
.gpdp-cart-row { display: flex; gap: 12px; }
.gpdp-qty-wrap { display: flex; border: 1px solid #CCC; height: 48px; }
.gpdp-qty-btn { width: 36px; border: none; background: none; font-size: 16px; cursor: pointer; color: #666; }
.gpdp-qty-input { width: 44px; border: none; text-align: center; font-size: 14px; -moz-appearance: textfield; }
.gpdp-qty-input::-webkit-outer-spin-button,
.gpdp-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.gpdp-add-btn { flex: 1; height: 48px; background: #fff; color: #000; border: 1px solid #000; font-size: 13px; letter-spacing: 1.5px; cursor: pointer; text-transform: uppercase; transition: background 0.2s, color 0.2s; }
.gpdp-add-btn:hover:not(:disabled) { background: #000; color: #fff; }
.gpdp-add-btn:disabled { opacity: 0.4; cursor: not-allowed; border-color: #CCC; color: #CCC; }
.gpdp-cart-msg { margin-top: 8px; font-size: 13px; }

/* Notes */
.gpdp-notes { margin-bottom: 24px; padding-top: 16px; border-top: 1px solid #EEE; }
.gpdp-note { font-size: 12px; color: #999; line-height: 2; }

/* Contact */
.gpdp-contact { padding-top: 16px; border-top: 1px solid #EEE; }
.gpdp-contact-link { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: #333; text-decoration: none; transition: color 0.2s; }
.gpdp-contact-link:hover { color: #000; }
.gpdp-contact-icon { font-size: 16px; }

/* Related */
.gpdp-related { max-width: 1280px; margin: 60px auto; padding: 0 40px; }
.gpdp-related-title { font-family: 'EB Garamond',Georgia,serif; font-size: 22px; font-weight: 400; text-align: center; margin-bottom: 30px; }
.gpdp-related-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.gpdp-related-card { text-decoration: none; color: inherit; }
.gpdp-related-img img { width: 100%; display: block; }
.gpdp-related-name { font-size: 14px; margin: 10px 0 4px; color: #000; }
.gpdp-related-price { font-size: 14px; color: #666; }
.gpdp-related-price del { color: #999; font-size: 12px; }
.gpdp-related-price ins { text-decoration: none; color: #C00; }

/* Hide Woocommerce defaults we don't want */
.single-product .woocommerce-breadcrumb,
.single-product .onsale,
.single-product .woocommerce-product-rating,
.single-product .product_meta { display: none !important; }

/* 鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺?   TABLET: 768px-1024px
鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺?*/
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .gpdp-wrap { padding: 90px 24px 40px; }
  .gpdp-grid { grid-template-columns: 50% 44%; gap: 6%; }
  .gpdp-thumb { width: 50px; height: 50px; }
  .gpdp-thumb-divider { margin: 0 8px; }
  .gpdp-title { font-size: 22px; }
  .gpdp-cart-row { flex-direction: column; }
  .gpdp-add-btn { width: 100%; }
  .gpdp-related-grid { grid-template-columns: repeat(3,1fr); }
}

/* 鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺?   MOBILE: <768px
鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺愨晲鈺?*/
@media screen and (max-width: 767px) {
  .gpdp-wrap { padding: 70px 16px 40px; }
  .gpdp-grid { grid-template-columns: 1fr; gap: 24px; }
  .gpdp-gallery { position: static; }
  .gpdp-gallery-inner { flex-direction: column; }
  .gpdp-thumb-divider { display: none; }
  .gpdp-thumbs-col { flex-direction: row; overflow-x: auto; gap: 6px; padding-top: 8px; }
  .gpdp-thumb { width: 48px; height: 48px; flex-shrink: 0; }
  .gpdp-info { padding-left: 0; }
  .gpdp-title { font-size: 20px; }
  .gpdp-cart-row { flex-direction: column; }
  .gpdp-add-btn { width: 100%; }
  .gpdp-related-grid { grid-template-columns: repeat(2,1fr); }
  .gpdp-lightbox-close { top: 10px; right: 16px; font-size: 28px; }
  /* Disable zoom on mobile */
  .zoomContainer { display: none !important; }
}

/* ═══════════════════════════════════
   TABLET: 768px - 1024px
═══════════════════════════════════ */
@media screen and (max-width: 1024px) {
  nav { grid-template-columns: 120px 1fr 120px; padding: 0 24px; height: 64px; width: 100%; }
  .nav-logo { font-size: 16px; letter-spacing: 6px; }
  .nav-action { display: none; }
  .nav-divider { display: none; }
  .hero { min-height: 100vh; }
  .hero-l { padding: 64px 32px 40px; order: 1; }
  .hero-h1 { font-size: 52px; }
  .hero-p { max-width: 100%; margin-bottom: 32px; }
  .hero-kpi { position: static; margin-top: 40px; gap: 32px; }
  .hero-r { min-height: 360px; border-left: none; order: 0; }
  .pcard { width: 220px; height: 310px; }
  .pcard-icon { font-size: 80px; }
  .chip { display: none; }
  .hero-btns { flex-wrap: wrap; gap: 16px; }
  .sec { padding: 60px 24px; }
  .products-grid { grid-template-columns: repeat(2, 1fr); }
  .sec-header { flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 32px; }
  .sec-title { font-size: 36px; }
  .quality-strip { grid-template-columns: repeat(2, 1fr); }
  .qual-item:nth-child(2) { border-right: none; }
  .reviews-grid { grid-template-columns: 1fr; }
  .newsletter { grid-template-columns: 1fr; padding: 60px 24px; }
  .nl-l { padding-right: 0; border-right: none; margin-bottom: 40px; }
  .nl-r { padding-left: 0; }
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
  footer { padding: 60px 24px 36px; }
  .catalog-panel { width: 320px; }
}

/* ═══════════════════════════════════
   PHONE: 320px - 767px
═══════════════════════════════════ */
@media screen and (max-width: 767px) {
  .top-bar { font-size: 8px; letter-spacing: 1px; padding: 8px 0; white-space: nowrap; overflow: hidden; }
  nav { grid-template-columns: 80px 1fr 48px; padding: 0 12px; height: 56px; width: 100%; }
  .nav-links { gap: 6px; }
  .nav-logo { font-size: 12px; letter-spacing: 3px; }
  .nav-search-btn { display: none; }
  .nav-icon-btn { width: 36px; height: 36px; }
  
  .hero-l { padding: 56px 20px 32px; }
  .hero-h1 { font-size: 36px; }
  .hero-h1 .outline-text { -webkit-text-stroke: 1px var(--linen); }
  .hero-p { font-size: 13px; margin-bottom: 24px; }
  .hero-season { font-size: 8px; letter-spacing: 3px; margin-bottom: 24px; }
  .hero-kpi { flex-wrap: wrap; gap: 20px; }
  .kpi-num { font-size: 28px; }
  .hero-r { min-height: 260px; }
  .pcard { width: 170px; height: 240px; }
  .pcard-icon { font-size: 60px; }
  .btn-primary { padding: 12px 28px; font-size: 10px; }
  .btn-text { font-size: 10px; }
  .ticker { height: 36px; }
  .ticker-item { font-size: 8px; letter-spacing: 1.5px; padding: 0 24px; }
  .sec { padding: 40px 16px; }
  .sec-header { margin-bottom: 24px; }
  .sec-title { font-size: 28px; }
  .eyebrow { font-size: 8px; letter-spacing: 3px; }
  .sec-more { font-size: 10px; }
  .products-grid { grid-template-columns: 1fr 1fr; }
  .prod-info { padding: 14px 12px 18px; }
  .prod-name { font-size: 14px; }
  .prod-price { font-size: 15px; }
  .prod-emoji { font-size: 50px; }
  .quality-strip { grid-template-columns: 1fr; }
  .qual-item { padding: 24px 20px; border-right: none; border-bottom: 1px solid var(--linen); }
  .qual-item:last-child { border-bottom: none; }
  .reviews-grid { grid-template-columns: 1fr; }
  .review { padding: 28px 20px; }
  .rv-text { font-size: 15px; }
  .newsletter { grid-template-columns: 1fr; padding: 40px 16px; }
  .nl-title { font-size: 32px; }
  .nl-l { padding-right: 0; border-right: none; margin-bottom: 28px; }
  .nl-r { padding-left: 0; }
  .nl-form { height: 44px; }
  .nl-input { font-size: 12px; padding: 0 16px; }
  .nl-btn { padding: 0 20px; font-size: 9px; }
  .nl-perks { flex-wrap: wrap; gap: 10px; }
  footer { padding: 40px 16px 28px; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; margin-bottom: 36px; }
  .f-logo { font-size: 18px; letter-spacing: 6px; }
  .f-bottom { flex-direction: column; gap: 14px; text-align: center; }
  .f-links { justify-content: center; flex-wrap: wrap; }
  .catalog-panel { width: 100%; }
  .catalog-panel .cat-body { padding: 0 24px 24px; }
  .cat-group { padding: 16px 0; }
  .cat-group-title { font-size: 10px; }
  .cat-link { font-size: 13px; padding: 8px 0; }
}

/* ═══════════════════════════════════════════════════════════════════
   GUCCI-STYLE PRODUCT LISTING — WooCommerce Integration
   Source: 产品列表页面制作.html (final)
   Prefix: pl-   Search [ADJUST] for all tunable values
═══════════════════════════════════════════════════════════════════ */

/* ── Tokens ── */
:root {
  --pl-black:   #000;
  --pl-gray:    #666;
  --pl-mist:    #999;
  --pl-line:    #E0E0E0;
  --pl-bg:      #fff;
  --pl-font-disp: 'EB Garamond', Georgia, serif;
  --pl-font-body: 'Tenor Sans', 'Didact Gothic', sans-serif;
}

/* ════════════════════ 1. BREADCRUMB ════════════════════ */
.pl-breadcrumb {
  padding: 40px 40px 0;
  font-size:12px; letter-spacing:1px; color:var(--pl-mist);
}
.pl-breadcrumb a{color:var(--pl-mist)}
.pl-breadcrumb a:hover{color:var(--pl-black)}
.pl-breadcrumb .delimiter{margin:0 6px;color:var(--pl-line)}

/* ════════════════════ 2. CATEGORY HEADER ════════════════════ */
.pl-header {
  padding: 36px 40px 52px;
  text-align:center;
}
.pl-header-title {
  font-family:var(--pl-font-disp);
  font-size:36px; font-weight:400; line-height:1.2; letter-spacing:0.5px;
}
.pl-header-count {
  font-size:12px; letter-spacing:2px; color:var(--pl-gray);
  margin-top:10px;
}

/* ════════════════════ 3. PRODUCT GRID ════════════════════ */
ul.products.pl-grid,
.pl-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  column-gap:28px; row-gap:56px;
  padding:0 40px 72px;
  list-style:none;
  margin:0;
  clear:both;
}
/* Override WooCommerce float-based grid */
ul.products.pl-grid::before,
ul.products.pl-grid::after{display:none !important}
ul.products.pl-grid li.product{
  float:none !important; width:auto !important; clear:none !important;
  margin:0 !important; padding:0 !important;
}

/* ════════════════════ 4. PRODUCT CARD ════════════════════ */
.pl-card{}

/* ① Label */
.pl-card-label {
  font-size:10px; letter-spacing:3px; text-transform:uppercase;
  color:var(--pl-mist);
  margin-bottom:12px; min-height:12px;
}

/* ② Image wrap */
.pl-card-img-wrap {
  position:relative; aspect-ratio:3/4; overflow:hidden;
  background:var(--pl-line);
  margin-bottom:18px;
}
.pl-card-img,
.pl-card-img-wrap img {
  display:block; width:100%; height:100%;
  position:absolute; inset:0;
  object-fit:cover;
  transition:transform .6s cubic-bezier(0.25,0.46,0.45,0.94);
}
.pl-card:hover .pl-card-img,
.pl-card-img-wrap img {transform:scale(1.04)}

/* Wishlist heart */
.pl-card-wish {
  position:absolute; top:12px; right:12px; z-index:2;
  width:32px; height:32px;
  display:flex; align-items:center; justify-content:center;
  background:none; border:none; cursor:pointer; opacity:1; padding:0;
}
.pl-card-wish svg{display:block;stroke:var(--pl-black);transition:stroke .25s,fill .25s}
.pl-card-wish:hover svg{stroke:#CC0000;fill:#CC0000}

/* ③ Name */
.pl-card-name {
  font-family:var(--pl-font-disp);
  font-size:16px; font-weight:400; line-height:1.35;
  color:var(--pl-black);
  margin-bottom:6px;
}
.pl-card-name a{color:inherit;text-decoration:none}

/* ④ Price row */
.pl-card-bottom {
  display:flex; justify-content:space-between; align-items:center;
}
.pl-card-price {
  font-size:14px; color:var(--pl-gray);
}
.pl-card-price del{color:var(--pl-mist);margin-right:6px}
.pl-card-price ins{text-decoration:none;color:#CC0000}

/* Cart icon */
.pl-card-cart {
  width:28px; height:28px;
  display:flex; align-items:center; justify-content:center;
  background:none; border:none; cursor:pointer; padding:0;
  color:var(--pl-gray); transition:color .2s;
}
.pl-card-cart:hover{color:var(--pl-black)}

/* ════════════════════ 5. PAGINATION ════════════════════ */
.pl-pager {
  display:flex; justify-content:center; align-items:center; gap:4px;
  padding:0 0 80px;
}
.woocommerce-pagination.pl-pager{text-align:center;margin:0}
.woocommerce-pagination ul.page-numbers{
  display:flex; gap:4px; list-style:none; padding:0; margin:0;
  border:none; float:none;
}
.woocommerce-pagination ul.page-numbers li{float:none}
.woocommerce-pagination ul.page-numbers a,
.woocommerce-pagination ul.page-numbers span{
  width:40px; height:40px;
  display:flex; align-items:center; justify-content:center;
  font-size:13px; color:var(--pl-gray);
  border:1px solid transparent; background:none;
  padding:0; line-height:1; text-decoration:none;
  border-radius:0; min-width:0;
}
.woocommerce-pagination ul.page-numbers a:hover{color:var(--pl-black)}
.woocommerce-pagination ul.page-numbers .current{
  border-color:var(--pl-black); color:var(--pl-black);
  background:none;
}

/* ════════════════════ RESPONSIVE ════════════════════ */
@media screen and (max-width:1024px) and (min-width:768px){
  ul.products.pl-grid,
  .pl-grid{grid-template-columns:repeat(3,1fr);column-gap:24px;row-gap:44px;padding:0 40px 60px}
  .pl-header-title{font-size:30px}
.pl-header-count {
  font-size:12px; letter-spacing:2px; color:var(--pl-gray);
  margin-top:10px;
}
  .pl-card-label{font-size:9px;letter-spacing:2.5px;margin-bottom:10px}
  .pl-card-img-wrap{margin-bottom:14px}
  .pl-card-name{font-size:15px}
}
@media screen and (max-width:767px){
  .pl-breadcrumb{display:none}
  .pl-header{padding:24px 16px 32px}
  .pl-header-title{font-size:24px}
.pl-header-count {
  font-size:12px; letter-spacing:2px; color:var(--pl-gray);
  margin-top:10px;
}
  ul.products.pl-grid,
  .pl-grid{grid-template-columns:repeat(2,1fr);column-gap:12px;row-gap:32px;padding:0 16px 48px}
  .pl-card-label{font-size:9px;letter-spacing:2px;margin-bottom:8px}
  .pl-card-img-wrap{margin-bottom:10px}
  .pl-card-name{font-size:14px}
  .pl-card-price{font-size:13px}
  .pl-pager{padding-bottom:48px}
  .woocommerce-pagination ul.page-numbers a,
  .woocommerce-pagination ul.page-numbers span{width:36px;height:36px;font-size:12px}
}

/* ── Hide WooCommerce defaults we replace ── */
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb{display:none}
.post-type-archive-product .woocommerce-products-header__title,
.tax-product_cat .woocommerce-products-header__title{display:none}
.woocommerce-result-count{display:none}
.woocommerce-ordering{display:none}