/* =========================================================
   MAISON VÉRA — Page-specific styles
   ========================================================= */

.page-banner{
  background:linear-gradient(180deg,var(--gold-100),var(--ivory));
  padding:2.6rem 0 2rem;text-align:center;
}
.page-banner h1{font-size:var(--step-2);}
.page-banner p{color:var(--ink-soft);margin-top:.5rem;font-size:.85rem;}

/* ---------- PLP ---------- */
.plp-layout{display:grid;grid-template-columns:260px 1fr;gap:2.6rem;align-items:start;padding-block:2.4rem 4rem;}
.filters{position:sticky;top:96px;}
.filter-group{border-bottom:1px solid rgba(168,124,46,.2);padding:1.3rem 0;}
.filter-group:first-child{padding-top:0;}
.filter-head{display:flex;justify-content:space-between;align-items:center;cursor:pointer;}
.filter-head h4{font-family:var(--font-eyebrow);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--maroon-800);}
.filter-head svg{width:12px;height:12px;stroke:var(--maroon-700);fill:none;stroke-width:2;transition:transform .3s;}
.filter-group.collapsed .filter-head svg{transform:rotate(-90deg);}
.filter-group.collapsed .filter-body{display:none;}
.filter-body{margin-top:.9rem;display:flex;flex-direction:column;gap:.65rem;}
.check{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--ink-soft);cursor:pointer;}
.check input{accent-color:var(--maroon-700);width:14px;height:14px;}
.check .n{margin-left:auto;color:#b09a92;font-size:.72rem;}
.swatch-row{display:flex;gap:.55rem;flex-wrap:wrap;}
.swatch-btn{
  width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.swatch-btn.selected{border-color:var(--maroon-700);}
.range-track{height:3px;background:var(--gold-200);border-radius:3px;position:relative;margin:1.1rem 0 .6rem;}
.range-track .fill{position:absolute;height:100%;background:var(--gold-500);border-radius:3px;}
.range-vals{display:flex;justify-content:space-between;font-size:.75rem;color:var(--ink-soft);}
.clear-filters{font-size:.74rem;color:var(--maroon-700);text-decoration:underline;background:none;border:none;padding:0;margin-top:.4rem;}

.plp-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.6rem;flex-wrap:wrap;gap:1rem;}
.plp-toolbar .count{font-size:.82rem;color:var(--ink-soft);}
.toolbar-right{display:flex;align-items:center;gap:1.2rem;}
.select-wrap{position:relative;}
.select-wrap select{
  appearance:none;background:var(--white);border:1px solid rgba(168,124,46,.35);
  padding:.6rem 2.2rem .6rem 1rem;font-size:.78rem;color:var(--ink);border-radius:2px;
}
.select-wrap::after{
  content:"";position:absolute;right:.9rem;top:50%;width:7px;height:7px;
  border-right:1.4px solid var(--maroon-700);border-bottom:1.4px solid var(--maroon-700);
  transform:translateY(-65%) rotate(45deg);pointer-events:none;
}
.active-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.2rem;}
.chip{
  display:flex;align-items:center;gap:.4rem;background:var(--blush);color:var(--maroon-800);
  font-size:.72rem;padding:.4rem .7rem;border-radius:20px;
}
.chip button{background:none;border:none;color:var(--maroon-700);font-size:.85rem;line-height:1;}
.pagination{display:flex;justify-content:center;gap:.5rem;margin-top:3rem;}
.pagination a{
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(168,124,46,.3);font-size:.8rem;color:var(--ink-soft);border-radius:2px;
}
.pagination a.active{background:var(--maroon-700);color:var(--gold-100);border-color:var(--maroon-700);}
.pagination a:hover:not(.active){border-color:var(--gold-500);}

/* ---------- PDP ---------- */
.pdp-layout{display:grid;grid-template-columns:1fr 1fr;gap:3.4rem;padding-block:1.6rem 4rem;}
.pdp-gallery{position:sticky;top:96px;align-self:start;}
.gallery-main{aspect-ratio:.95;border-radius:var(--radius-arch);margin-bottom:1rem;position:relative;}
.gallery-main .badge{position:absolute;top:1rem;left:1rem;}
.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem;}
.gallery-thumbs button{aspect-ratio:1;border-radius:6px;border:2px solid transparent;overflow:hidden;padding:0;}
.gallery-thumbs button.active{border-color:var(--gold-500);}

.pdp-info .cat{color:var(--gold-600);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-family:var(--font-eyebrow);}
.pdp-info h1{font-size:var(--step-2);margin:.5rem 0 .7rem;}
.pdp-rating{display:flex;align-items:center;gap:.7rem;margin-bottom:1.2rem;}
.pdp-rating .stars{color:var(--gold-500);letter-spacing:2px;}
.pdp-rating a{font-size:.78rem;color:var(--ink-soft);text-decoration:underline;}
.pdp-price{display:flex;align-items:baseline;gap:.8rem;padding-bottom:1.3rem;border-bottom:1px solid rgba(168,124,46,.22);margin-bottom:1.3rem;}
.pdp-price .now{font-family:var(--font-display);font-size:2rem;color:var(--maroon-800);font-weight:600;}
.pdp-price .was{font-size:1rem;color:var(--ink-soft);text-decoration:line-through;}
.pdp-price .off{color:var(--emerald);font-size:.8rem;font-family:var(--font-eyebrow);}
.pdp-price .gst{display:block;font-size:.74rem;color:var(--ink-soft);margin-top:.3rem;}

.opt-group{margin-bottom:1.5rem;}
.opt-label{display:flex;justify-content:space-between;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--maroon-800);font-family:var(--font-eyebrow);margin-bottom:.75rem;}
.opt-label .val{color:var(--ink-soft);text-transform:none;letter-spacing:0;font-family:var(--font-body);}
.opt-label a{font-size:.72rem;color:var(--ink-soft);text-decoration:underline;text-transform:none;letter-spacing:0;font-family:var(--font-body);}
.pill-row{display:flex;gap:.6rem;flex-wrap:wrap;}
.pill{
  border:1px solid rgba(168,124,46,.4);background:var(--white);padding:.6rem 1.1rem;
  font-size:.8rem;border-radius:3px;color:var(--ink);
}
.pill.selected{border-color:var(--maroon-700);background:var(--maroon-700);color:var(--gold-100);}
.metal-swatches{display:flex;gap:.7rem;}
.metal-swatches button{width:36px;height:36px;border-radius:50%;border:2px solid transparent;position:relative;}
.metal-swatches button.selected::after{
  content:"";position:absolute;inset:-4px;border:1.5px solid var(--maroon-700);border-radius:50%;
}

.qty-stepper{display:inline-flex;align-items:center;border:1px solid rgba(168,124,46,.4);border-radius:3px;}
.qty-stepper button{width:38px;height:44px;background:none;border:none;font-size:1rem;color:var(--maroon-700);}
.qty-stepper input{width:40px;text-align:center;border:none;background:none;font-size:.9rem;}
.pdp-actions{display:flex;gap:.9rem;margin:1.6rem 0;align-items:stretch;}
.pdp-actions .btn{flex:1;padding-block:1.05rem;}
.icon-btn-lg{
  width:56px;flex:none;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--maroon-700);border-radius:2px;
}
.icon-btn-lg svg{width:19px;height:19px;stroke:var(--maroon-700);fill:none;stroke-width:1.4;}
.icon-btn-lg.active svg{fill:var(--maroon-700);}

.pincode-check{display:flex;gap:.7rem;border:1px dashed rgba(168,124,46,.5);padding:1.1rem;border-radius:4px;margin-bottom:1.6rem;}
.pincode-check input{flex:1;border:1px solid rgba(168,124,46,.4);padding:.7rem 1rem;font-size:.8rem;border-radius:3px;}
.pincode-check button{white-space:nowrap;}
.pdp-perks{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1.8rem;}
.pdp-perks li{display:flex;gap:.6rem;font-size:.78rem;color:var(--ink-soft);align-items:flex-start;}
.pdp-perks svg{width:16px;height:16px;stroke:var(--gold-600);fill:none;stroke-width:1.4;flex-shrink:0;margin-top:.1rem;}

.accordion-item{border-top:1px solid rgba(168,124,46,.22);}
.accordion-item:last-child{border-bottom:1px solid rgba(168,124,46,.22);}
.accordion-head{
  display:flex;justify-content:space-between;align-items:center;width:100%;
  background:none;border:none;padding:1.15rem 0;font-family:var(--font-eyebrow);
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--maroon-800);
}
.accordion-head svg{width:13px;height:13px;stroke:var(--maroon-700);fill:none;stroke-width:2;transition:transform .3s;}
.accordion-item.open .accordion-head svg{transform:rotate(45deg);}
.accordion-panel{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);}
.accordion-item.open .accordion-panel{max-height:600px;}
.accordion-panel .inner{padding-bottom:1.3rem;font-size:.85rem;color:var(--ink-soft);line-height:1.75;}
.spec-table{width:100%;border-collapse:collapse;font-size:.82rem;}
.spec-table td{padding:.5rem 0;border-bottom:1px dotted rgba(168,124,46,.3);}
.spec-table td:first-child{color:var(--ink-soft);width:45%;}
.spec-table td:last-child{color:var(--ink);font-weight:500;}

/* ---------- Cart ---------- */
.cart-layout{display:grid;grid-template-columns:1fr 380px;gap:2.6rem;align-items:start;padding-block:2rem 4rem;}
.cart-list{display:flex;flex-direction:column;}
.cart-row{
  display:grid;grid-template-columns:110px 1fr auto;gap:1.3rem;
  padding:1.6rem 0;border-bottom:1px solid rgba(168,124,46,.2);align-items:center;
}
.cart-row .ph{aspect-ratio:1;border-radius:6px;}
.cart-row h4{font-family:var(--font-display);font-size:1.15rem;color:var(--ink);margin-bottom:.3rem;}
.cart-row .meta{font-size:.76rem;color:var(--ink-soft);margin-bottom:.6rem;}
.cart-row .row-actions{display:flex;align-items:center;gap:1.3rem;}
.cart-row .remove{font-size:.74rem;color:var(--maroon-700);text-decoration:underline;background:none;border:none;padding:0;}
.cart-row .side{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.8rem;}
.cart-row .line-price{font-family:var(--font-eyebrow);color:var(--maroon-800);font-size:1rem;}

.promo-row{display:flex;gap:.7rem;margin:1.6rem 0;}
.promo-row input{flex:1;border:1px solid rgba(168,124,46,.4);padding:.8rem 1rem;border-radius:3px;font-size:.82rem;}

.summary-card{
  background:var(--white);border:1px solid rgba(168,124,46,.25);
  border-radius:var(--radius-sm);padding:1.9rem;position:sticky;top:96px;
}
.summary-card h3{font-size:1.25rem;margin-bottom:1.3rem;}
.summary-line{display:flex;justify-content:space-between;font-size:.85rem;color:var(--ink-soft);padding:.55rem 0;}
.summary-line span:last-child{color:var(--ink);}
.summary-line.discount span:last-child{color:var(--emerald);}
.summary-total{
  display:flex;justify-content:space-between;align-items:baseline;
  border-top:1px solid rgba(168,124,46,.3);margin-top:.8rem;padding-top:1.1rem;
}
.summary-total span:first-child{font-family:var(--font-eyebrow);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--maroon-800);}
.summary-total span:last-child{font-family:var(--font-display);font-size:1.65rem;color:var(--maroon-800);font-weight:600;}
.secure-note{display:flex;align-items:center;gap:.6rem;font-size:.74rem;color:var(--ink-soft);justify-content:center;margin-top:1.1rem;}
.secure-note svg{width:14px;height:14px;stroke:var(--gold-600);fill:none;stroke-width:1.4;}

.empty-state{text-align:center;padding:5rem 1rem;}
.empty-state .ph{width:120px;height:120px;border-radius:50%;margin:0 auto 1.6rem;}
.empty-state h3{font-size:1.5rem;margin-bottom:.6rem;}
.empty-state p{color:var(--ink-soft);margin-bottom:1.8rem;}

/* ---------- Checkout ---------- */
.checkout-steps{display:flex;justify-content:center;gap:0;margin-bottom:2.6rem;}
.checkout-steps .step{display:flex;align-items:center;gap:.7rem;padding:0 1.6rem;position:relative;}
.checkout-steps .step:not(:last-child)::after{
  content:"";position:absolute;right:-0;top:50%;width:1.6rem;height:1px;background:rgba(168,124,46,.4);transform:translateX(100%);
}
.checkout-steps .num{
  width:28px;height:28px;border-radius:50%;border:1px solid var(--maroon-700);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-eyebrow);font-size:.75rem;color:var(--maroon-700);
}
.checkout-steps .step.done .num{background:var(--maroon-700);color:var(--gold-100);}
.checkout-steps .step.active .num{background:var(--gold-500);border-color:var(--gold-500);color:var(--maroon-900);}
.checkout-steps .label{font-family:var(--font-eyebrow);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);}
.checkout-steps .step.active .label{color:var(--maroon-800);}

.checkout-layout{display:grid;grid-template-columns:1fr 380px;gap:2.6rem;padding-block:0 4rem;align-items:start;}
.panel{background:var(--white);border:1px solid rgba(168,124,46,.25);border-radius:var(--radius-sm);padding:1.9rem;margin-bottom:1.6rem;}
.panel h3{font-size:1.15rem;margin-bottom:1.2rem;display:flex;align-items:center;gap:.6rem;}
.panel h3 .n{
  width:24px;height:24px;border-radius:50%;background:var(--maroon-700);color:var(--gold-100);
  font-size:.7rem;display:flex;align-items:center;justify-content:center;font-family:var(--font-eyebrow);
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.form-field{display:flex;flex-direction:column;gap:.4rem;}
.form-field.full{grid-column:1/-1;}
.form-field label{font-size:.74rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;}
.form-field input,.form-field select,.form-field textarea{
  border:1px solid rgba(168,124,46,.4);padding:.8rem 1rem;border-radius:3px;font-size:.86rem;color:var(--ink);background:var(--ivory-dim);
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--gold-500);background:var(--white);}

.pay-methods{display:flex;flex-direction:column;gap:.8rem;}
.pay-method{
  display:flex;align-items:center;gap:.9rem;border:1px solid rgba(168,124,46,.35);
  padding:1rem 1.1rem;border-radius:4px;cursor:pointer;
}
.pay-method.selected{border-color:var(--maroon-700);background:var(--blush);}
.pay-method input{accent-color:var(--maroon-700);width:16px;height:16px;}
.pay-method .pm-name{font-size:.86rem;color:var(--ink);flex:1;}
.pay-method .pm-icons{display:flex;gap:.4rem;}
.pay-method .pm-icons span{border:1px solid rgba(168,124,46,.3);border-radius:3px;padding:.15rem .4rem;font-size:.6rem;color:var(--ink-soft);}

.mini-cart-item{display:flex;gap:.9rem;padding:.9rem 0;border-bottom:1px dotted rgba(168,124,46,.3);}
.mini-cart-item .ph{width:56px;height:56px;border-radius:5px;flex-shrink:0;}
.mini-cart-item .mi-info{flex:1;}
.mini-cart-item .mi-info h5{font-size:.85rem;font-family:var(--font-body);font-weight:500;color:var(--ink);}
.mini-cart-item .mi-info span{font-size:.72rem;color:var(--ink-soft);}
.mini-cart-item .mi-price{font-size:.82rem;color:var(--maroon-800);font-family:var(--font-eyebrow);}

.order-confirm{text-align:center;padding:4rem 1rem;}
.order-confirm .tick{
  width:74px;height:74px;border-radius:50%;background:var(--emerald);color:#fff;
  display:flex;align-items:center;justify-content:center;margin:0 auto 1.6rem;
}
.order-confirm .tick svg{width:32px;height:32px;stroke:#fff;fill:none;stroke-width:2;}
.order-confirm h1{font-size:var(--step-2);margin-bottom:.7rem;}
.order-confirm p{color:var(--ink-soft);margin-bottom:.4rem;}
.order-confirm .oid{font-family:var(--font-eyebrow);letter-spacing:.1em;color:var(--maroon-700);}

@media (max-width:1080px){
  .plp-layout,.pdp-layout,.cart-layout,.checkout-layout{grid-template-columns:1fr;}
  .filters{position:static;}
}
@media (max-width:640px){
  .form-grid{grid-template-columns:1fr;}
  .cart-row{grid-template-columns:80px 1fr;}
  .cart-row .side{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;margin-top:.5rem;}
  .checkout-steps .label{display:none;}
  .gallery-thumbs{grid-template-columns:repeat(4,1fr);}
}
