/* =========================================================
   Cloth Zones — main stylesheet
   ========================================================= */

:root{
  /* Brand palette, matched to the Cloth Zones logo (deep indigo-purple + red) */
  --cz-ink:#2a1a5e;
  --cz-ink-soft:#4a3a85;
  --cz-gold:#e31e24;
  --cz-gold-light:#f2938d;
  --cz-paper:#faf9fb;
  --cz-cream:#f1edf7;
  --cz-line:#e2dcef;
  --cz-text:#241c38;
  --cz-muted:#6b6478;
  --cz-success:#2e7d32;
  --cz-error:#c81e24;
  --cz-radius:4px;
  --cz-container:1240px;
  --cz-shadow:0 6px 24px rgba(42,26,94,0.1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Jost',-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--cz-text);
  background:var(--cz-paper);
  line-height:1.6;
  font-size:16px;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:600;
  color:var(--cz-ink);
  line-height:1.2;
  margin:0 0 .5em;
}
.cz-container{max-width:var(--cz-container);margin:0 auto;padding:0 24px;}

/* ---- Buttons ---- */
.cz-btn{
  display:inline-block;
  padding:14px 30px;
  font-size:.85rem;
  letter-spacing:1.5px;
  text-transform:uppercase;
  border-radius:var(--cz-radius);
  border:1.5px solid transparent;
  cursor:pointer;
  transition:all .2s ease;
}
.cz-btn-primary{background:var(--cz-ink);color:#fff;border-color:var(--cz-ink);}
.cz-btn-primary:hover{background:var(--cz-gold);border-color:var(--cz-gold);color:#fff;}
.cz-btn-outline{background:transparent;color:var(--cz-ink);border-color:var(--cz-ink);}
.cz-btn-outline:hover{background:var(--cz-ink);color:#fff;}
.cz-btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}
.cz-btn-outline-light:hover{background:#fff;color:var(--cz-ink);}

/* ---- Top bar ---- */
.cz-topbar{background:var(--cz-ink);color:#c9c2e0;font-size:.78rem;}
.cz-topbar-inner{display:flex;justify-content:space-between;align-items:center;padding:8px 24px;flex-wrap:wrap;gap:6px;}
.cz-topbar-contact a{margin-left:16px;color:#c9c2e0;}
.cz-topbar-contact a:hover{color:var(--cz-gold-light);}

/* ---- Header ---- */
.cz-header{
  background:#fff;border-bottom:1px solid var(--cz-line);position:sticky;top:0;z-index:100;
  transition:box-shadow .25s ease;
}
.cz-header-inner{
  display:flex;align-items:center;justify-content:space-between;padding:16px 24px;gap:24px;
  transition:padding .25s ease;
}
.cz-header.is-scrolled{box-shadow:0 6px 24px rgba(42,26,94,.1);}
.cz-header.is-scrolled .cz-header-inner{padding-top:10px;padding-bottom:10px;}
.cz-header.is-scrolled .cz-wordmark-box{width:30px;height:30px;font-size:.85rem;}
.cz-header.is-scrolled .cz-wordmark-text{font-size:1.25rem;}
.cz-wordmark{display:flex;align-items:center;gap:10px;}
.cz-wordmark-box{
  width:36px;height:36px;border:1.5px solid var(--cz-gold);
  display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',serif;font-weight:700;color:var(--cz-gold);
}
.cz-wordmark-text{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.5rem;letter-spacing:1px;color:var(--cz-ink);}

.cz-primary-nav{flex:1;display:flex;justify-content:center;}
.cz-nav{display:flex;gap:22px;}
.cz-nav > li > a{
  font-size:.78rem;letter-spacing:.6px;text-transform:uppercase;
  color:var(--cz-ink-soft);padding:8px 0;border-bottom:2px solid transparent;
  transition:border-color .2s ease,color .2s ease;
  white-space:nowrap;
}
.cz-nav a:hover,.cz-nav li.current-menu-item>a{color:var(--cz-gold);border-color:var(--cz-gold);}

.cz-nav li{position:relative;}
.cz-nav li.menu-item-has-children > a::after{
  content:'';display:inline-block;margin-left:6px;width:6px;height:6px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);vertical-align:1px;
}
.cz-nav .sub-menu{
  display:none;position:absolute;top:100%;left:0;min-width:210px;
  background:#fff;border:1px solid var(--cz-line);border-top:2px solid var(--cz-gold);border-radius:0 0 6px 6px;
  box-shadow:0 14px 32px rgba(42,26,94,.16);padding:6px 0;z-index:50;
  margin:0;list-style:none;
}
.cz-nav li:hover > .sub-menu,
.cz-nav li:focus-within > .sub-menu{display:block;}
.cz-nav .sub-menu li{width:100%;}
.cz-nav .sub-menu a{
  display:block;padding:11px 20px;font-size:.78rem;letter-spacing:.4px;
  text-transform:none;color:var(--cz-ink-soft);border-bottom:none;white-space:nowrap;
  border-left:2px solid transparent;
}
.cz-nav .sub-menu a:hover{background:var(--cz-cream);color:var(--cz-gold);border-left-color:var(--cz-gold);}
.cz-nav .sub-menu a::after{content:none;}

.cz-header-actions{display:flex;align-items:center;gap:18px;}
.cz-search-form{display:flex;align-items:center;border:1px solid var(--cz-line);border-radius:var(--cz-radius);overflow:hidden;}
.cz-search-form input{border:none;padding:8px 12px;font-size:.85rem;width:150px;background:transparent;}
.cz-search-form input:focus{outline:none;}
.cz-search-form button{border:none;background:transparent;padding:8px 10px;cursor:pointer;color:var(--cz-ink-soft);}
.cz-search-form button svg{width:16px;height:16px;}

.cz-cart-link{position:relative;display:flex;}
.cz-cart-link svg{width:22px;height:22px;color:var(--cz-ink);}
.cz-cart-count{
  position:absolute;top:-8px;right:-8px;background:var(--cz-gold);color:#fff;
  font-size:.65rem;min-width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;padding:0 3px;
}

.cz-nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.cz-nav-toggle span{width:22px;height:2px;background:var(--cz-ink);}

/* ---- Hero ---- */
.cz-hero{
  background:linear-gradient(160deg,var(--cz-ink) 0%,var(--cz-ink-soft) 100%);
  color:#fff;padding:clamp(60px,12vh,120px) 0;
}
.cz-hero-inner{max-width:680px;}
.cz-eyebrow{font-size:.78rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--cz-gold-light);}
.cz-hero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.4rem);margin-top:10px;}
.cz-hero p{color:#c9c2e0;font-size:1.05rem;max-width:50ch;margin:18px 0 32px;font-weight:300;}
.cz-hero-cta{display:flex;gap:16px;flex-wrap:wrap;}

/* ---- Section heading ---- */
.cz-section-title{text-align:center;font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:40px;position:relative;}
.cz-section-title::after{content:"";display:block;width:56px;height:2px;background:var(--cz-gold);margin:14px auto 0;}

/* ---- Category grid ---- */
.cz-categories{padding:80px 0;}
.cz-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.cz-category-tile{position:relative;display:block;aspect-ratio:1/1.1;border-radius:var(--cz-radius);overflow:hidden;background:var(--cz-cream);}
.cz-category-tile-media{
  position:absolute;inset:0;background-size:cover;background-position:center;
  background-color:var(--cz-ink-soft);
  transition:transform .4s ease;
}
.cz-category-tile:hover .cz-category-tile-media{transform:scale(1.06);}
.cz-category-tile::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(42,26,94,.85),rgba(42,26,94,.05) 60%);
}
.cz-category-tile-label{
  position:absolute;left:0;right:0;bottom:0;padding:20px;color:#fff;
  display:flex;flex-direction:column;
}
.cz-category-tile-label span{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;}
.cz-category-tile-label small{color:var(--cz-gold-light);font-size:.75rem;letter-spacing:1px;text-transform:uppercase;margin-top:4px;}

/* ---- Export CTA ---- */
.cz-export-cta{background:var(--cz-cream);padding:70px 0;}
.cz-export-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;}
.cz-export-cta-copy{max-width:520px;}
.cz-export-cta-copy p{color:var(--cz-muted);margin:14px 0 24px;}
.cz-export-cta-stats{display:flex;gap:36px;flex-wrap:wrap;}
.cz-export-cta-stats div{text-align:center;}
.cz-export-cta-stats strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.7rem;color:var(--cz-ink);}
.cz-export-cta-stats span{font-size:.75rem;letter-spacing:1px;text-transform:uppercase;color:var(--cz-muted);}

/* ---- Featured products section ---- */
.cz-featured{padding:80px 0;}

/* =========================================================
   WooCommerce overrides (default markup, styled here)
   ========================================================= */
.cz-shop-main{padding:48px 0 80px;}
.woocommerce-products-header__title{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:8px;}

.cz-breadcrumb{font-size:.8rem;color:var(--cz-muted);margin-bottom:24px;}
.cz-breadcrumb a{color:var(--cz-muted);}
.cz-breadcrumb a:hover{color:var(--cz-gold);}

.cz-shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:12px;font-size:.85rem;color:var(--cz-muted);}
.cz-shop-toolbar select{border:1px solid var(--cz-line);padding:8px 10px;border-radius:var(--cz-radius);background:#fff;}

ul.products{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:28px;margin:0 !important;padding:0 !important;}
ul.products::before,ul.products::after{content:none !important;display:none !important;}
ul.products li.product{
  list-style:none !important;background:transparent;border:none;border-radius:0;
  padding:0;position:relative;
  min-width:0 !important;width:100% !important;
  float:none !important;clear:none !important;margin:0 !important;
  display:flex !important;flex-direction:column;
}
ul.products li.product > a:first-of-type{
  display:flex;flex-direction:column;position:relative;color:inherit;
}
ul.products li.product a.button.add_to_cart_button{margin-top:auto;align-self:flex-start;}
ul.products li.product a img{
  display:block !important;width:100% !important;height:auto;aspect-ratio:1/1.08;object-fit:contain;object-position:center;
  background:var(--cz-cream);border-radius:10px;padding:22px;box-sizing:border-box;margin:0 0 16px !important;
  transition:transform .3s ease;
}
ul.products li.product:hover a img{transform:scale(1.03);}
.cz-card-badges{position:absolute;top:14px;left:14px;z-index:2;display:flex;flex-wrap:wrap;gap:6px;}
.cz-badge{
  font-size:.66rem;font-weight:600;letter-spacing:.2px;padding:5px 12px;border-radius:20px;line-height:1;
}
.cz-badge-new{background:#fff;color:var(--cz-ink);box-shadow:0 1px 5px rgba(42,26,94,.14);}
.cz-badge-sale{background:#fbe1e0;color:#a3151a;}
.cz-card-eyebrow{
  display:block;font-size:.66rem;letter-spacing:1.3px;text-transform:uppercase;color:var(--cz-muted);margin-bottom:5px;
}
.woocommerce-loop-product__title{
  font-family:'Jost',sans-serif;font-size:.92rem;font-weight:500;color:var(--cz-ink);margin:0 0 8px !important;padding:0 !important;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;
}
ul.products li.product .price{font-size:.95rem;color:var(--cz-ink) !important;font-weight:600;}
ul.products li.product .price del{color:var(--cz-muted) !important;opacity:.65;margin-right:8px;font-weight:400;font-size:.88em;}
ul.products li.product .price ins{text-decoration:none;color:var(--cz-ink) !important;}
.star-rating{color:var(--cz-gold);font-size:.85rem;margin-bottom:4px;}
a.button.add_to_cart_button{
  display:inline-block;margin-top:12px;
  padding:8px 20px;font-size:.68rem;letter-spacing:1px;text-transform:uppercase;
  background:transparent;color:var(--cz-ink) !important;border-radius:20px;border:1px solid var(--cz-ink);cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
a.button.add_to_cart_button:hover{background:var(--cz-ink);color:#fff !important;}
.single_add_to_cart_button{
  display:inline-block;width:100%;text-align:center;
  padding:14px 20px;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;
  background:var(--cz-ink) !important;color:#fff !important;border-radius:var(--cz-radius);border:none !important;cursor:pointer;
  box-shadow:none !important;text-shadow:none !important;
}
.single_add_to_cart_button:hover{background:var(--cz-gold) !important;}

.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch;}
.woocommerce div.product .quantity{
  display:flex;align-items:stretch;border:1.5px solid var(--cz-line);border-radius:var(--cz-radius);
  overflow:hidden;height:48px;flex:none;
}
.woocommerce div.product .quantity .cz-qty-btn{
  width:40px;border:none;background:var(--cz-cream);color:var(--cz-ink);font-size:1.1rem;
  cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none;
}
.woocommerce div.product .quantity .cz-qty-btn:hover{background:var(--cz-gold);color:#fff;}
.woocommerce div.product .quantity input.qty{
  width:52px;border:none;text-align:center;font-size:.95rem;-moz-appearance:textfield;
}
.woocommerce div.product .quantity input.qty::-webkit-inner-spin-button,
.woocommerce div.product .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.woocommerce div.product .single_add_to_cart_button{flex:1;width:auto;min-width:200px;}

.woocommerce-pagination{margin-top:56px;padding-top:8px;}
.woocommerce-pagination ul{display:flex;gap:8px;justify-content:center;margin:0;}
.woocommerce-pagination a,.woocommerce-pagination span{
  display:flex;align-items:center;justify-content:center;width:38px;height:38px;
  border:1px solid var(--cz-line);border-radius:var(--cz-radius);font-size:.85rem;
}
.woocommerce-pagination .current{background:var(--cz-ink);color:#fff;border-color:var(--cz-ink);}

/* Sidebar / filter widgets */
.widget_layered_nav ul,.widget_product_categories ul,.widget_price_filter{margin-bottom:32px;}
.widget-title{font-size:1.1rem;margin-bottom:14px;}

/* ---- Single product ---- */
.woocommerce div.product{display:grid !important;grid-template-columns:1fr 1fr !important;gap:56px;align-items:start;position:relative;}
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .summary.entry-summary{
  min-width:0 !important;width:100% !important;float:none !important;margin:0 !important;
}
.woocommerce div.product .woocommerce-product-gallery{background:var(--cz-cream);border-radius:12px;padding:24px;box-sizing:border-box;overflow:hidden;}
/* NOTE: do not force width on __wrapper / __image — FlexSlider (the gallery slider JS)
   sets those inline via JS for the slide track; overriding them with !important breaks
   the slider (only the first image shows, others render off-track). */
.woocommerce div.product .woocommerce-product-gallery img{
  width:100%;height:auto;max-width:100%;
  border-radius:var(--cz-radius);object-fit:contain;aspect-ratio:1/1;
}
.woocommerce div.product .woocommerce-product-gallery .flex-viewport{width:100%;}
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav{
  margin:0;padding:0;list-style:none;
}
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav li{
  list-style:none;margin:0;padding:0;width:auto;
}
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav a{
  position:absolute !important;top:50%;z-index:20;
  width:36px;height:36px;margin-top:-18px;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border-radius:50%;box-shadow:0 2px 8px rgba(42,26,94,.22);
  opacity:0;transition:opacity .2s ease;
  text-indent:-9999px;overflow:hidden;
}
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav a::before{
  content:'';position:absolute;top:50%;left:50%;width:8px;height:8px;
  border-top:2px solid var(--cz-ink);border-right:2px solid var(--cz-ink);
  margin-top:-1px;
}
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav a.flex-prev{left:14px;}
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav a.flex-prev::before{
  transform:translate(-30%,-50%) rotate(-135deg);margin-left:1px;
}
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav a.flex-next{right:14px;}
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav a.flex-next::before{
  transform:translate(-70%,-50%) rotate(45deg);margin-left:-1px;
}
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav a.flex-disabled{opacity:0 !important;pointer-events:none;}
.woocommerce div.product .woocommerce-product-gallery:hover .flex-direction-nav a:not(.flex-disabled){opacity:1;}
.woocommerce div.product .flex-control-thumbs{display:flex !important;gap:10px;margin-top:16px !important;flex-wrap:wrap;width:auto !important;}
.woocommerce div.product .flex-control-thumbs li{width:70px !important;float:none !important;margin:0 !important;}
.woocommerce div.product .flex-control-thumbs img{width:100% !important;border-radius:6px;border:1.5px solid transparent;cursor:pointer;background:#fff;opacity:1 !important;}
.woocommerce div.product .flex-control-thumbs img.flex-active{border-color:var(--cz-gold);}
.cz-single-meta-line{font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--cz-gold);margin-bottom:10px;}
.cz-single-meta-line a{color:var(--cz-gold);}
.cz-single-meta-line .sep{margin:0 8px;opacity:.5;}
.product_title{font-size:clamp(1.6rem,3vw,2.2rem);max-width:none;}
.woocommerce div.product p.price{font-size:1.4rem;color:var(--cz-ink) !important;margin:10px 0 20px;}
.woocommerce div.product p.price del{opacity:.6;font-size:1rem;margin-right:10px;}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--cz-text);margin-bottom:20px;}
.woocommerce div.product .woocommerce-product-details__short-description ul{list-style:none !important;padding-left:0;margin:0;}
.woocommerce div.product .woocommerce-product-details__short-description li{
  position:relative;padding-left:20px;margin-bottom:8px;line-height:1.6;
}
.woocommerce div.product .woocommerce-product-details__short-description li::before{
  content:'';position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--cz-gold);
}
.cz-accordion-panel ul{list-style:none !important;padding-left:0;margin:0;}
.cz-accordion-panel li{position:relative;padding-left:20px;margin-bottom:8px;}
.cz-accordion-panel li::before{
  content:'';position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--cz-gold);
}
.cz-trust-row{display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--cz-line);}
.cz-trust-row div{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--cz-muted);}
.cz-trust-row svg{width:18px;height:18px;color:var(--cz-gold);flex:none;}
table.variations{margin-bottom:16px;width:100%;}
table.variations td{padding:8px 0;}
.cz-fabric-specs{margin-top:32px;border-top:1px solid var(--cz-line);padding-top:24px;}
.cz-fabric-specs table{width:100%;border-collapse:collapse;}
.cz-fabric-specs th,.cz-fabric-specs td{text-align:left;padding:8px 0;border-bottom:1px solid var(--cz-line);font-size:.9rem;}
.cz-fabric-specs th{color:var(--cz-muted);font-weight:400;width:35%;}
.cz-export-quote-btn{display:inline-block;margin-top:12px;width:100%;text-align:center;}
.product_meta{margin-top:20px;font-size:.85rem;color:var(--cz-muted);}

.woocommerce-tabs{margin-top:56px;}
.woocommerce-tabs ul.tabs{display:flex;gap:24px;border-bottom:1px solid var(--cz-line);margin-bottom:24px;}
.woocommerce-tabs ul.tabs li a{padding:10px 0;display:block;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;color:var(--cz-muted);}
.woocommerce-tabs ul.tabs li.active a{color:var(--cz-ink);border-bottom:2px solid var(--cz-gold);}

/* Accordion version (built by main.js from the tabs above) */
.cz-accordion{border-top:1px solid var(--cz-line);margin-top:48px;}
.cz-accordion-item{border-bottom:1px solid var(--cz-line);}
.cz-accordion-header{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:18px 2px;background:none;border:none;cursor:pointer;
  font-family:'Jost',sans-serif;font-size:.95rem;font-weight:500;color:var(--cz-ink);text-align:left;
}
.cz-accordion-header .cz-accordion-icon{font-size:1.3rem;font-weight:300;color:var(--cz-muted);flex:none;}
.cz-accordion-panel{padding:0 2px 22px;color:var(--cz-muted);font-size:.92rem;line-height:1.75;}
.cz-accordion-panel table.shop_attributes{width:100%;border-collapse:collapse;}
.cz-accordion-panel table.shop_attributes th,.cz-accordion-panel table.shop_attributes td{padding:8px 0;border-bottom:1px solid var(--cz-line);text-align:left;font-size:.88rem;}

.related.products{margin-top:64px;padding-top:48px;border-top:1px solid var(--cz-line);}
.related.products > h2{font-size:1.6rem;text-align:center;margin-bottom:32px;}
.related.products ul.products{grid-template-columns:repeat(3,1fr) !important;}
.related.products .woocommerce-loop-product__title{font-size:.85rem;}
.related.products .cz-card-eyebrow{font-size:.62rem;}
.related.products ul.products li.product .price{font-size:.88rem;}

/* ---- Cart / Checkout ---- */
table.shop_table{width:100%;border-collapse:collapse;margin-bottom:24px;}
table.shop_table th,table.shop_table td{padding:14px 10px;border-bottom:1px solid var(--cz-line);text-align:left;font-size:.9rem;}
.woocommerce-cart-form img{width:64px;border-radius:2px;}
#order_review,.woocommerce-checkout-review-order{background:var(--cz-cream);padding:24px;border-radius:var(--cz-radius);}
.form-row input.input-text,.form-row select,.form-row textarea{
  width:100%;padding:10px 12px;border:1px solid var(--cz-line);border-radius:var(--cz-radius);font-family:inherit;
}
.form-row label{font-size:.85rem;color:var(--cz-muted);margin-bottom:4px;display:block;}
#place_order{width:100%;}

/* ---- My account ---- */
.woocommerce-MyAccount-navigation ul{border:1px solid var(--cz-line);border-radius:var(--cz-radius);overflow:hidden;}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--cz-line);}
.woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;font-size:.9rem;}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--cz-ink);color:#fff;}

/* ---- Notices ---- */
.woocommerce-message,.woocommerce-error,.woocommerce-info,.cz-notice{
  padding:14px 20px;border-radius:var(--cz-radius);margin-bottom:24px;font-size:.9rem;list-style:none;
}
.woocommerce-message,.cz-notice-success{background:#eaf5ea;color:var(--cz-success);border:1px solid #c8e6c9;}
.woocommerce-error,.cz-notice-error{background:#fdecea;color:var(--cz-error);border:1px solid #f5c6c0;}
.woocommerce-info{background:var(--cz-cream);color:var(--cz-ink-soft);}

/* =========================================================
   Inquiry / contact page
   ========================================================= */
.cz-inquiry-page{padding:56px 0 90px;max-width:760px;}
.cz-page-title{font-size:clamp(1.8rem,3vw,2.4rem);}
.cz-inquiry-intro{color:var(--cz-muted);margin-bottom:28px;}
.cz-inquiry-form{display:flex;flex-direction:column;gap:18px;}
.cz-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.cz-inquiry-form label{display:flex;flex-direction:column;font-size:.85rem;color:var(--cz-muted);gap:6px;}
.cz-inquiry-form input,.cz-inquiry-form textarea{
  padding:12px 14px;border:1px solid var(--cz-line);border-radius:var(--cz-radius);font-family:inherit;font-size:.95rem;color:var(--cz-text);
}
.cz-form-full{display:flex;flex-direction:column;}
.cz-inquiry-form button{align-self:flex-start;}

/* ---- Generic page/post content ---- */
.cz-page-content{padding:56px 0 90px;max-width:820px;}
.cz-entry-content{color:var(--cz-text);}
.cz-entry-content h2,.cz-entry-content h3{margin-top:1.4em;}
.cz-post-list{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;padding:56px 0;}
.cz-post-card img{border-radius:var(--cz-radius);margin-bottom:14px;}

/* ---- 404 ---- */
.cz-404{text-align:center;padding:110px 0;}
.cz-404 h1{font-size:5rem;color:var(--cz-gold);}
.cz-404 .cz-btn{margin:8px;}

/* ---- Footer ---- */
.cz-footer{background:var(--cz-ink);color:#c9c2e0;padding-top:64px;}
.cz-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;padding-bottom:48px;}
.cz-footer-brand p{color:#a89bc7;font-size:.9rem;margin-top:12px;max-width:32ch;}
.cz-footer .cz-wordmark-text{color:#fff;}
.cz-footer-links h4,.cz-footer-contact h4{color:#fff;font-family:'Jost',sans-serif;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;}
.cz-footer-links ul{display:flex;flex-direction:column;gap:10px;}
.cz-footer-links a,.cz-footer-contact a{color:#c9c2e0;font-size:.9rem;}
.cz-footer-links a:hover,.cz-footer-contact a:hover{color:var(--cz-gold-light);}
.cz-footer-contact p{margin:0 0 8px;}
.cz-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;}
.cz-footer-bottom-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.78rem;color:#a89bc7;}
.cz-footer-menu{display:flex;gap:18px;}

/* ---- WhatsApp float ---- */
.cz-whatsapp-float{
  position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,.25);z-index:200;
}
.cz-whatsapp-float svg{width:28px;height:28px;color:#fff;}

/* ---- Back to top ---- */
.cz-back-to-top{
  position:fixed;bottom:92px;right:24px;width:44px;height:44px;border-radius:50%;
  background:#fff;color:var(--cz-ink);border:1px solid var(--cz-line);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 4px 14px rgba(42,26,94,.12);z-index:200;
  opacity:0;pointer-events:none;transform:translateY(8px);
  transition:opacity .2s ease,transform .2s ease;
}
.cz-back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0);}
.cz-back-to-top svg{width:18px;height:18px;}
.cz-back-to-top:hover{border-color:var(--cz-gold);color:var(--cz-gold);}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1024px){
  .cz-category-grid{grid-template-columns:repeat(2,1fr);}
  ul.products{grid-template-columns:repeat(3,1fr) !important;}
  .woocommerce div.product{grid-template-columns:1fr;}
  .cz-footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:768px){
  .cz-primary-nav{
    position:fixed;top:0;left:-100%;bottom:0;width:78%;max-width:320px;
    background:#fff;flex-direction:column;padding:90px 24px 24px;
    transition:left .25s ease;z-index:150;box-shadow:var(--cz-shadow);
  }
  .cz-primary-nav.is-open{left:0;}
  .cz-nav{flex-direction:column;gap:6px;overflow-y:auto;max-height:100%;}
  .cz-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--cz-line) !important;}
  .cz-nav .sub-menu{
    display:block;position:static;box-shadow:none;border:none;padding:0 0 0 16px;
    background:none;min-width:0;
  }
  .cz-nav .sub-menu a{padding:10px 0;font-size:.78rem;}
  .cz-nav li.menu-item-has-children > a::after{display:none;}
  .cz-nav-toggle{display:flex;}
  .cz-search-form{display:none;}
  ul.products{grid-template-columns:repeat(2,1fr) !important;gap:16px;}
  .cz-category-grid{grid-template-columns:1fr 1fr;gap:14px;}
  .cz-export-cta-inner{flex-direction:column;align-items:flex-start;}
  .cz-form-row{grid-template-columns:1fr;}
  .cz-post-list{grid-template-columns:1fr;}
  .cz-footer-grid{grid-template-columns:1fr;}
}
@media (max-width:480px){
  ul.products{grid-template-columns:1fr 1fr !important;}
  .cz-hero h1{font-size:2rem;}
}
