/* Jimznez — unique design system */
*,*::before,*::after{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{
  font-family:"DM Sans",system-ui,-apple-system,sans-serif;
  font-size:16px;line-height:1.6;color:var(--jz-ink);background:var(--jz-paper);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none}
ul,ol{list-style:none;padding:0}

.jz-skip{
  position:absolute;left:-9999px;
}
.jz-skip:focus{
  position:static;left:auto;padding:8px 16px;background:var(--jz-ink);color:var(--jz-paper);
}

.jz-wrap{
  width:92%;max-width:1200px;margin-inline:auto;
}

/* Header */
.jz-masthead{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--jz-rule);
}
.jz-masthead__top{
  display:none;
}
@media(min-width:768px){
  .jz-masthead__top{
    display:block;padding:6px 0;font-size:12px;text-align:center;color:var(--jz-mute);border-bottom:1px solid var(--jz-rule);
  }
}
.jz-masthead__main{
  display:flex;align-items:center;justify-content:space-between;padding:14px 0;
}
.jz-masthead__left,.jz-masthead__right{
  display:flex;align-items:center;gap:16px;
}
.jz-burger{
  display:flex;flex-direction:column;gap:4px;width:28px;padding:4px;
}
.jz-burger span{
  display:block;height:2px;background:var(--jz-ink);border-radius:1px;
}
@media(min-width:768px){
  .jz-burger{display:none}
}
.jz-nav--inline{
  display:none;gap:20px;font-size:14px;font-weight:500;
}
@media(min-width:768px){
  .jz-nav--inline{display:flex}
}
.jz-nav--inline a:hover{
  color:var(--jz-accent);
}
.jz-wordmark{
  text-align:center;
}
.jz-wordmark__serif{
  display:block;font-family:"DM Serif Display",serif;font-size:22px;font-weight:600;letter-spacing:-0.5px;
}
.jz-wordmark__sub{
  display:block;font-size:11px;color:var(--jz-mute);letter-spacing:0.5px;text-transform:uppercase;margin-top:2px;
}
.jz-iconlink{
  display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;
  transition:background .2s;
}
.jz-iconlink:hover{
  background:var(--jz-rule);
}
.jz-iconlink--basket{
  position:relative;
}
.jz-basketcount{
  position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;
  background:var(--jz-accent);color:#fff;font-size:11px;font-weight:600;
  border-radius:9px;display:flex;align-items:center;justify-content:center;
}

.jz-nav--drawer{
  display:none;flex-direction:column;gap:0;padding:16px;border-top:1px solid var(--jz-rule);
}
.jz-nav--drawer.is-open{
  display:flex;
}
.jz-nav--drawer a{
  padding:12px 0;border-bottom:1px solid var(--jz-rule);font-weight:500;
}

/* Buttons */
.jz-btn{
  display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;
  border-radius:8px;font-size:14px;font-weight:600;transition:all .25s ease;
}
.jz-btn--ink{
  background:var(--jz-accent);color:#fff;
}
.jz-btn--ink:hover{
  background:var(--jz-accent-alt);transform:translateY(-1px);
}
.jz-btn--ghost{
  background:transparent;color:var(--jz-ink);border:1px solid var(--jz-rule);
}
.jz-btn--ghost:hover{
  border-color:var(--jz-ink);
}

/* Hero */
.jz-hero{
  padding:64px 0;text-align:center;background:linear-gradient(180deg,var(--jz-paper) 0%,rgba(255,255,255,0) 100%);
}
.jz-hero__eyebrow{
  font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--jz-mute);margin-bottom:12px;
}
.jz-hero__title{
  font-family:"DM Serif Display",serif;font-size:clamp(32px,5vw,56px);font-weight:600;line-height:1.1;max-width:700px;margin-inline:auto;
}
.jz-hero__lede{
  font-size:18px;color:var(--jz-mute);max-width:560px;margin:16px auto 0;
}
.jz-hero__cta{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px;
}

/* Strip / benefits */
.jz-strip{
  padding:48px 0;border-top:1px solid var(--jz-rule);border-bottom:1px solid var(--jz-rule);
}
.jz-strip__grid{
  display:grid;gap:24px;
}
@media(min-width:768px){
  .jz-strip__grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .jz-strip__grid{grid-template-columns:repeat(4,1fr)}
}
.jz-strip__cell h3{
  font-family:"DM Serif Display",serif;font-size:18px;margin-bottom:6px;
}
.jz-strip__cell p{
  font-size:14px;color:var(--jz-mute);line-height:1.5;
}
.jz-strip__num{
  display:block;font-size:12px;font-weight:600;color:var(--jz-accent);margin-bottom:8px;
}

/* Blocks */
.jz-block{
  padding:56px 0;
}
.jz-block__head{
  display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:8px;
}
.jz-block__head h2{
  font-family:"DM Serif Display",serif;font-size:clamp(24px,3vw,32px);font-weight:600;
}

/* Grid */
.jz-grid{
  display:grid;gap:20px;
}
@media(min-width:480px){
  .jz-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .jz-grid{grid-template-columns:repeat(4,1fr)}
}

/* Cards */
.jz-card{
  background:var(--jz-card);border-radius:12px;overflow:hidden;border:1px solid var(--jz-rule);
  transition:box-shadow .3s,transform .3s;
}
.jz-card:hover{
  box-shadow:0 12px 32px rgba(0,0,0,.08);transform:translateY(-3px);
}
.jz-card__media{
  position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:var(--jz-paper);
}
.jz-card__media img{
  width:100%;height:100%;object-fit:cover;transition:transform .4s ease;
}
.jz-card:hover .jz-card__media img{
  transform:scale(1.04);
}
.jz-tag{
  position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:20px;
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;
}
.jz-tag--sale{
  background:#c0392b;color:#fff;
}
.jz-tag--best{
  background:var(--jz-accent-alt);color:#fff;
}
.jz-tag--new{
  background:var(--jz-ink);color:#fff;
}
.jz-card__body{
  padding:16px;
}
.jz-card__title{
  font-family:"DM Serif Display",serif;font-size:16px;font-weight:600;display:block;margin-bottom:4px;
}
.jz-card__short{
  font-size:13px;color:var(--jz-mute);line-height:1.4;margin-bottom:10px;
}
.jz-card__meta{
  display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:12px;
}
.jz-stars{
  display:inline-flex;gap:2px;color:var(--jz-accent-alt);
}
.jz-st{
  font-style:normal;
}
.jz-st--full::before{content:"★"}
.jz-st--half::before{content:"★";opacity:.5}
.jz-st--empty::before{content:"☆"}
.jz-card__row{
  display:flex;align-items:center;justify-content:space-between;
}
.jz-price__now{
  font-size:16px;font-weight:700;
}
.jz-price__was{
  font-size:13px;color:var(--jz-mute);margin-left:6px;
}

/* Mute */
.jz-mute{
  color:var(--jz-mute);
}

/* Collections */
.jz-coll{
  display:grid;gap:12px;
}
@media(min-width:768px){
  .jz-coll{grid-template-columns:repeat(2,1fr)}
}
.jz-coll a{
  display:flex;align-items:center;justify-content:space-between;padding:16px 20px;
  background:var(--jz-card);border:1px solid var(--jz-rule);border-radius:10px;font-weight:500;
  transition:all .2s;
}
.jz-coll a:hover{
  border-color:var(--jz-accent);color:var(--jz-accent);
}

/* Quotes */
.jz-editorial{
  padding:56px 0;
}
.jz-editorial__grid{
  display:grid;gap:24px;margin-top:28px;
}
@media(min-width:768px){
  .jz-editorial__grid{grid-template-columns:repeat(3,1fr)}
}
.jz-quote{
  background:var(--jz-card);border:1px solid var(--jz-rule);border-radius:12px;padding:24px;
}
.jz-quote blockquote{
  font-family:"DM Serif Display",serif;font-size:18px;line-height:1.5;margin-bottom:16px;
}
.jz-quote figcaption{
  font-size:13px;
}
.jz-quote__name{
  font-weight:600;display:block;
}

/* Product page */
.jz-product{
  padding:32px 0;
}
.jz-product__grid{
  display:grid;gap:32px;
}
@media(min-width:768px){
  .jz-product__grid{grid-template-columns:1fr 1fr}
}
.jz-gallery{
  display:grid;gap:12px;
}
.jz-gallery__main{
  aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:var(--jz-paper);border:1px solid var(--jz-rule);
}
.jz-gallery__main img{
  width:100%;height:100%;object-fit:cover;
}
.jz-gallery__thumbs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
.jz-gallery__thumbs img{
  aspect-ratio:1/1;object-fit:cover;border-radius:8px;border:2px solid transparent;cursor:pointer;
}
.jz-gallery__thumbs img.is-active{
  border-color:var(--jz-accent);
}
.jz-product__info h1{
  font-family:"DM Serif Display",serif;font-size:clamp(24px,3vw,36px);font-weight:600;margin-bottom:8px;
}
.jz-product__rating{
  display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:16px;
}
.jz-product__price{
  display:flex;align-items:center;gap:10px;margin-bottom:16px;
}
.jz-product__price .jz-price__now{
  font-size:28px;
}
.jz-product__actions{
  display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;
}
.jz-qty{
  display:flex;align-items:center;border:1px solid var(--jz-rule);border-radius:8px;overflow:hidden;
}
.jz-qty button{
  width:40px;height:44px;font-size:18px;color:var(--jz-mute);
}
.jz-qty button:hover{
  background:var(--jz-rule);
}
.jz-qty input{
  width:48px;height:44px;text-align:center;border:none;font-weight:600;
}
.jz-trust{
  display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--jz-mute);margin-bottom:24px;
}
.jz-tabs{
  border-top:1px solid var(--jz-rule);padding-top:20px;
}
.jz-tabs__nav{
  display:flex;gap:20px;border-bottom:1px solid var(--jz-rule);margin-bottom:16px;
}
.jz-tabs__nav button{
  padding-bottom:10px;font-size:14px;font-weight:600;color:var(--jz-mute);position:relative;
}
.jz-tabs__nav button.is-active{
  color:var(--jz-ink);
}
.jz-tabs__nav button.is-active::after{
  content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--jz-accent);
}
.jz-tabs__panel{
  display:none;font-size:14px;line-height:1.7;
}
.jz-tabs__panel.is-active{
  display:block;
}
.jz-tabs__panel ul{
  list-style:disc;padding-left:20px;margin-top:8px;
}

/* Cart */
.jz-cart{
  padding:32px 0;
}
.jz-cart__empty{
  text-align:center;padding:80px 20px;
}
.jz-cart__empty svg{
  width:64px;height:64px;color:var(--jz-rule);margin-bottom:16px;
}
.jz-cart__empty h2{
  font-family:"DM Serif Display",serif;font-size:24px;margin-bottom:8px;
}
.jz-cart__empty p{
  color:var(--jz-mute);margin-bottom:20px;
}
.jz-cart__grid{
  display:grid;gap:32px;
}
@media(min-width:768px){
  .jz-cart__grid{grid-template-columns:1fr 340px}
}
.jz-cart__items{
  display:flex;flex-direction:column;gap:16px;
}
.jz-cart__item{
  display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;
  padding:16px;background:var(--jz-card);border-radius:12px;border:1px solid var(--jz-rule);
}
.jz-cart__item img{
  width:80px;height:80px;object-fit:cover;border-radius:8px;
}
.jz-cart__summary{
  background:var(--jz-card);border:1px solid var(--jz-rule);border-radius:12px;padding:24px;
}
.jz-cart__summary h3{
  font-family:"DM Serif Display",serif;font-size:20px;margin-bottom:16px;
}
.jz-cart__line{
  display:flex;justify-content:space-between;padding:8px 0;font-size:14px;
}
.jz-cart__line--total{
  border-top:1px solid var(--jz-rule);font-size:18px;font-weight:700;padding-top:12px;margin-top:8px;
}

/* Checkout */
.jz-checkout{
  padding:32px 0;
}
.jz-checkout__grid{
  display:grid;gap:32px;
}
@media(min-width:768px){
  .jz-checkout__grid{grid-template-columns:1fr 360px}
}
.jz-field{
  margin-bottom:16px;
}
.jz-field label{
  display:block;font-size:13px;font-weight:600;margin-bottom:6px;
}
.jz-field input,.jz-field select,.jz-field textarea{
  width:100%;padding:10px 12px;border:1px solid var(--jz-rule);border-radius:8px;
  font-size:14px;background:#fff;transition:border-color .2s;
}
.jz-field input:focus,.jz-field select:focus,.jz-field textarea:focus{
  outline:none;border-color:var(--jz-accent);
}
.jz-field--error input,.jz-field--error select{
  border-color:#c0392b;
}
.jz-error-msg{
  font-size:12px;color:#c0392b;margin-top:4px;display:none;
}
.jz-field--error .jz-error-msg{
  display:block;
}
.jz-radio-group{
  display:flex;flex-direction:column;gap:8px;
}
.jz-radio{
  display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--jz-rule);border-radius:8px;cursor:pointer;
}
.jz-radio:hover{
  border-color:var(--jz-accent);
}
.jz-radio input{
  width:18px;height:18px;accent-color:var(--jz-accent);
}
.jz-secure{
  display:flex;align-items:center;gap:8px;font-size:13px;color:var(--jz-mute);margin-top:12px;
}

/* Footer */
.jz-foot{
  background:var(--jz-ink);color:var(--jz-paper);margin-top:40px;
}
.jz-foot__top{
  display:grid;gap:32px;padding:48px 0;
}
@media(min-width:768px){
  .jz-foot__top{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .jz-foot__top{grid-template-columns:1.5fr 1fr 1fr 1fr}
}
.jz-foot__col h4{
  font-family:"DM Serif Display",serif;font-size:16px;font-weight:600;margin-bottom:14px;
}
.jz-foot__links li{
  margin-bottom:8px;
}
.jz-foot__links a{
  font-size:14px;opacity:.8;transition:opacity .2s;
}
.jz-foot__links a:hover{
  opacity:1;
}
.jz-foot__brand{
  font-family:"DM Serif Display",serif;font-size:22px;font-weight:600;margin-bottom:8px;
}
.jz-foot__line{
  font-size:14px;opacity:.75;line-height:1.6;margin-bottom:14px;max-width:280px;
}
.jz-social{
  display:flex;gap:12px;
}
.jz-social a{
  font-size:13px;opacity:.7;
}
.jz-social a:hover{
  opacity:1;
}
.jz-foot__addr{
  font-size:14px;opacity:.8;line-height:1.7;font-style:normal;
}
.jz-foot__addr a:hover{
  text-decoration:underline;
}
.jz-foot__bottom{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 0;border-top:1px solid rgba(255,255,255,.12);font-size:12px;opacity:.65;
}
.jz-pay{
  display:flex;gap:8px;
}
.jz-pay__chip{
  padding:3px 8px;border:1px solid rgba(255,255,255,.25);border-radius:4px;font-size:11px;
}

/* Cookie banner */
.jz-cookie{
  position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--jz-rule);
  padding:16px 20px;z-index:100;box-shadow:0 -4px 20px rgba(0,0,0,.08);
}
.jz-cookie__inner{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;
}
.jz-cookie__text{
  font-size:14px;color:var(--jz-mute);flex:1 1 300px;
}
.jz-cookie__text a{
  color:var(--jz-accent);text-decoration:underline;
}
.jz-cookie__actions{
  display:flex;gap:8px;
}
.jz-cookie__btn{
  padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;
}
.jz-cookie__btn--accept{
  background:var(--jz-accent);color:#fff;
}
.jz-cookie__btn--reject{
  background:var(--jz-rule);color:var(--jz-ink);
}

/* Pages: about, contact, etc */
.jz-page{
  padding:40px 0;
}
.jz-page h1{
  font-family:"DM Serif Display",serif;font-size:clamp(28px,4vw,40px);font-weight:600;margin-bottom:16px;
}
.jz-page h2{
  font-family:"DM Serif Display",serif;font-size:22px;font-weight:600;margin:32px 0 12px;
}
.jz-page p,.jz-page li{
  font-size:15px;line-height:1.7;color:var(--jz-mute);margin-bottom:10px;
}
.jz-page ul{
  list-style:disc;padding-left:22px;
}
.jz-page a{
  color:var(--jz-accent);text-decoration:underline;
}
