
:root{
  --zyz-ivory:#F6F1E9;
  --zyz-cream:#EDE4D7;
  --zyz-brown:#4B382F;
  --zyz-deep:#2D211C;
  --zyz-gold:#B89A68;
  --zyz-line:#E6DDD2;
  --zyz-white:#FFFFFF;
}
.zyzp-home,.zyzp-woocommerce{font-family:Poppins,sans-serif;color:var(--zyz-brown)}
.zyzp-home *,.zyzp-woocommerce *{box-sizing:border-box}
.zyzp-home h1,.zyzp-home h2,.zyzp-home h3,
.zyzp-woocommerce h1,.zyzp-woocommerce h2,.zyzp-woocommerce h3{
  font-family:"Cormorant Garamond",serif;
}
.zyzp-hero{display:grid;grid-template-columns:1fr 1fr;min-height:700px;background:linear-gradient(135deg,#f4eee6,#e3d8ca);overflow:hidden}
.zyzp-hero-copy{padding:90px max(28px,7vw);display:flex;flex-direction:column;justify-content:center}
.zyzp-kicker,.zyzp-heading>span,.zyzp-family-banner span{font-size:12px;letter-spacing:.22em;font-weight:600;text-transform:uppercase;color:#8A6B49}
.zyzp-hero h1{font-size:68px;line-height:1.02;margin:14px 0 22px;max-width:650px}
.zyzp-hero p{font-size:17px;line-height:1.8;max-width:610px}
.zyzp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.zyzp-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:14px 24px;font-weight:600;font-size:14px;transition:.2s;border:1px solid var(--zyz-deep)}
.zyzp-btn-dark{background:var(--zyz-deep);color:#fff}
.zyzp-btn-outline{background:transparent;color:var(--zyz-deep)}
.zyzp-btn-light{background:#fff;color:var(--zyz-deep);border-color:#fff}
.zyzp-btn:hover{transform:translateY(-2px)}
.zyzp-hero-visual{min-height:700px;background:#ddd}
.zyzp-hero-visual img{width:100%;height:100%;object-fit:cover;display:block}
.zyzp-trustbar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--zyz-line);border-bottom:1px solid var(--zyz-line)}
.zyzp-trustbar span{background:#fff;padding:18px;text-align:center;font-size:13px}
.zyzp-section{max-width:1240px;margin:auto;padding:88px 24px}
.zyzp-soft{max-width:none;background:var(--zyz-ivory);padding-left:max(24px,calc((100% - 1240px)/2));padding-right:max(24px,calc((100% - 1240px)/2))}
.zyzp-heading{text-align:center;margin-bottom:40px}
.zyzp-heading h2{font-size:50px;margin:8px 0 6px}
.zyzp-heading p{margin:0;color:#75665D}
.zyzp-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.zyzp-category-card{background:#fff;border:1px solid var(--zyz-line);padding:30px;min-height:235px;text-decoration:none;color:var(--zyz-brown);transition:.22s}
.zyzp-category-card:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(75,56,47,.08)}
.zyzp-category-letter{display:flex;width:48px;height:48px;border-radius:50%;align-items:center;justify-content:center;background:var(--zyz-ivory);font-family:"Cormorant Garamond",serif;font-size:25px}
.zyzp-category-card h3{font-size:32px;margin:18px 0 8px}
.zyzp-category-card p{font-size:14px;line-height:1.7;color:#75665D;min-height:48px}
.zyzp-category-card strong{font-size:13px}
.zyzp-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.zyzp-product-card{background:#fff;border:1px solid var(--zyz-line);overflow:hidden;position:relative}
.zyzp-card-media{position:relative;overflow:hidden;background:#eee}
.zyzp-product-image{display:block;aspect-ratio:4/5;overflow:hidden}
.zyzp-product-image img{width:100%;height:100%;object-fit:cover;display:block;transition:.35s}
.zyzp-product-card:hover .zyzp-product-image img{transform:scale(1.035)}
.zyzp-badge{position:absolute;left:12px;top:12px;background:var(--zyz-deep);color:#fff;font-size:11px;padding:6px 9px;text-transform:uppercase;letter-spacing:.08em}
.zyzp-wishlist{position:absolute;right:10px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:23px;cursor:pointer}
.zyzp-wishlist.is-active{background:var(--zyz-deep);color:#fff}
.zyzp-quickview{position:absolute;left:12px;right:12px;bottom:12px;padding:11px;border:0;background:rgba(45,33,28,.92);color:#fff;font-size:12px;font-weight:600;opacity:0;transform:translateY(10px);transition:.2s;cursor:pointer}
.zyzp-product-card:hover .zyzp-quickview{opacity:1;transform:none}
.zyzp-product-info{padding:18px}
.zyzp-product-cat,.zyzp-product-cat a{font-size:11px;color:#8C7D73;text-transform:uppercase;letter-spacing:.08em;text-decoration:none}
.zyzp-product-info h3{font-size:21px;line-height:1.25;margin:8px 0}
.zyzp-product-info h3 a{text-decoration:none;color:var(--zyz-deep)}
.zyzp-price{font-weight:600;margin-bottom:12px}
.zyzp-product-link{font-size:12px;font-weight:600;color:var(--zyz-deep);text-decoration:none;border-bottom:1px solid var(--zyz-deep)}
.zyzp-center{text-align:center;margin-top:34px}
.zyzp-more{color:var(--zyz-deep);font-weight:600}
.zyzp-feature{display:grid;grid-template-columns:1fr 1fr;max-width:1240px;margin:20px auto 60px;background:var(--zyz-ivory)}
.zyzp-feature-image img{width:100%;height:100%;object-fit:cover;display:block}
.zyzp-feature-copy{padding:64px;display:flex;flex-direction:column;justify-content:center}
.zyzp-feature-copy h2{font-size:49px;margin:10px 0 20px}
.zyzp-feature-copy ul{padding-left:20px;margin:0 0 28px}
.zyzp-feature-copy li{margin:11px 0;line-height:1.6}
.zyzp-family-banner{max-width:1192px;margin:10px auto 80px;padding:58px;background:var(--zyz-deep);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px}
.zyzp-family-banner h2{font-size:47px;margin:8px 0}.zyzp-family-banner p{margin:0;color:#E9E0D7}
.zyzp-empty,.zyzp-notice{padding:24px;text-align:center;border:1px dashed var(--zyz-line);background:#fff}

/* Quick view */
.zyzp-modal{position:fixed;inset:0;z-index:99999;display:none}
.zyzp-modal.is-open{display:block}
.zyzp-modal-backdrop{position:absolute;inset:0;background:rgba(20,15,12,.62)}
.zyzp-modal-box{position:relative;z-index:2;max-width:860px;width:calc(100% - 32px);max-height:88vh;overflow:auto;margin:6vh auto;background:#fff;padding:28px}
.zyzp-modal-close{position:absolute;right:14px;top:8px;border:0;background:transparent;font-size:34px;cursor:pointer;z-index:3}
.zyzp-qv-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.zyzp-qv-image{width:100%;aspect-ratio:4/5;object-fit:cover}
.zyzp-qv-copy h2{font-size:42px;margin:8px 0}
.zyzp-qv-price{font-size:20px;font-weight:600;margin-bottom:18px}
.zyzp-qv-desc{line-height:1.8;color:#6E625A;margin-bottom:24px}

/* WooCommerce shop */
.zyzp-woocommerce .site-content{background:#fff}
.zyzp-woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:22px!important}
.zyzp-woocommerce ul.products li.product{width:auto!important;margin:0!important;border:1px solid var(--zyz-line);padding-bottom:16px;background:#fff;overflow:hidden}
.zyzp-woocommerce ul.products li.product img{margin:0!important;aspect-ratio:4/5;object-fit:cover}
.zyzp-woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:21px!important;padding:14px 16px 4px!important;color:var(--zyz-deep)}
.zyzp-woocommerce ul.products li.product .price{padding:0 16px;color:var(--zyz-brown)!important}
.zyzp-woocommerce ul.products li.product .button{margin:10px 16px 0!important;background:var(--zyz-deep)!important;color:#fff!important;border-radius:0!important}

/* Single product */
.zyzp-woocommerce.single-product div.product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:54px;align-items:start}
.zyzp-woocommerce.single-product div.product div.images,
.zyzp-woocommerce.single-product div.product div.summary{width:auto!important;float:none!important}
.zyzp-woocommerce.single-product .product_title{font-size:46px;line-height:1.05;color:var(--zyz-deep)}
.zyzp-woocommerce.single-product .price{font-size:23px!important;color:var(--zyz-brown)!important}
.zyzp-woocommerce.single-product .woocommerce-product-details__short-description{line-height:1.8;color:#6E625A}
.zyzp-woocommerce.single-product table.variations select{min-height:48px;border:1px solid var(--zyz-line);padding:0 12px}
.zyzp-woocommerce.single-product .quantity .qty{min-height:48px}
.zyzp-woocommerce.single-product .single_add_to_cart_button{min-height:48px;background:var(--zyz-deep)!important;border-radius:0!important;padding:0 28px!important}
.zyzp-woocommerce.single-product .woocommerce-tabs{grid-column:1/-1}
.zyzp-woocommerce.single-product .woocommerce-tabs ul.tabs{padding:0!important}
.zyzp-woocommerce.single-product .woocommerce-tabs ul.tabs li{border-radius:0!important}
.zyzp-woocommerce.single-product .related.products{grid-column:1/-1}
.zyzp-woocommerce.single-product .related.products>h2{font-size:42px;text-align:center;margin:30px 0}

/* Mobile sticky cart */
@media(max-width:782px){
  .zyzp-woocommerce.single-product form.cart{
    position:sticky;bottom:0;z-index:50;background:#fff;padding:12px;border-top:1px solid var(--zyz-line);box-shadow:0 -8px 25px rgba(0,0,0,.08)
  }
}

@media(max-width:980px){
  .zyzp-hero{grid-template-columns:1fr;min-height:auto}
  .zyzp-hero-copy{padding:64px 28px}.zyzp-hero h1{font-size:54px}
  .zyzp-hero-visual{min-height:520px}
  .zyzp-trustbar{grid-template-columns:repeat(2,1fr)}
  .zyzp-category-grid{grid-template-columns:repeat(2,1fr)}
  .zyzp-product-grid{grid-template-columns:repeat(2,1fr)}
  .zyzp-feature{grid-template-columns:1fr;margin:20px 24px 60px}
  .zyzp-family-banner{margin:10px 24px 60px;flex-direction:column;align-items:flex-start}
  .zyzp-woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}
  .zyzp-woocommerce.single-product div.product{grid-template-columns:1fr;gap:28px}
  .zyzp-qv-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .zyzp-hero-copy{padding:48px 20px}.zyzp-hero h1{font-size:43px}
  .zyzp-hero-visual{min-height:430px}
  .zyzp-trustbar{grid-template-columns:1fr}
  .zyzp-section{padding:62px 16px}.zyzp-heading h2{font-size:40px}
  .zyzp-category-grid{grid-template-columns:1fr}
  .zyzp-product-grid{gap:12px}
  .zyzp-product-info{padding:12px}.zyzp-product-info h3{font-size:17px}
  .zyzp-quickview{opacity:1;transform:none;font-size:11px}
  .zyzp-feature{margin:10px 16px 50px}.zyzp-feature-copy{padding:34px 22px}.zyzp-feature-copy h2{font-size:39px}
  .zyzp-family-banner{margin:10px 16px 50px;padding:36px 24px}.zyzp-family-banner h2{font-size:38px}
  .zyzp-woocommerce ul.products{gap:12px!important}
  .zyzp-woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:17px!important}
  .zyzp-woocommerce.single-product .product_title{font-size:38px}
}
