/* Jaaques — unique design system */
*,*::before,*::after{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{
  font-family:"Rubik",system-ui,-apple-system,sans-serif;
  font-size:16px;line-height:1.6;color:var(--jq-ink);background:var(--jq-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}

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

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

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

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

/* Buttons */
.jq-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;
}
.jq-btn--ink{
  background:var(--jq-accent);color:#fff;
}
.jq-btn--ink:hover{
  background:var(--jq-accent-alt);transform:translateY(-1px);
}
.jq-btn--ghost{
  background:transparent;color:var(--jq-ink);border:1px solid var(--jq-rule);
}
.jq-btn--ghost:hover{
  border-color:var(--jq-ink);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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