/* MYBURKINI — shared styles */

:root{
  --cream:#f4efe7;
  --sand:#e9e0d1;
  --ink:#1c1c1a;
  --charcoal:#2b2b28;
  --teal:#2f4a4a;
  --deep-teal:#1c3232;
  --terracotta:#a8674f;
  --line:#d9d0c1;
  --white:#ffffff;
  --font-luxury:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-sans:'Outfit', sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-sans);
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  font-weight:400;
}
h1,h2,h3,.serif{
  font-family:var(--font-luxury);
  font-weight:700;
  letter-spacing:0.01em;
}
a{text-decoration:none; color:inherit;}
img{display:block; width:100%; height:100%; object-fit:cover;}
ul{list-style:none;}
.wrap{max-width:1240px; margin:0 auto; padding:0 40px;}
button,input,select{font-family:inherit;}

/* ---------- Top bar ---------- */
.topbar{
  background:#faf7f3; color:#000;
  font-size:11px; letter-spacing:0.12em; text-transform:uppercase;
  font-weight:500;
}
.topbar-track{
  max-width:1240px; margin:0 auto; padding:9px 40px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.topbar-slide{
  display:flex; align-items:center; gap:6px; color:#000; white-space:nowrap;
}
.topbar-slide i{font-size:14px; color:#000;}

/* ---------- Header ---------- */
header{
  background:#ffffff;
  border-bottom:1px solid var(--line);
  position:sticky; top:0; z-index:50;
  color:#000;
}
.header-inner{
  max-width:1240px; margin:0 auto; padding:16px 40px 10px;
  display:flex; align-items:center; justify-content:space-between;
}
.logo{font-size:28px; letter-spacing:0.18em; font-family:var(--font-luxury); font-weight:700; color:#000; font-style:normal;}
nav.main-nav{display:flex; gap:36px; font-size:13px; letter-spacing:0.06em; text-transform:uppercase; font-weight:500;}
nav.main-nav a{position:relative; padding-bottom:4px; color:#000;}
nav.main-nav a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:#000;transition:width .25s;}
nav.main-nav a:hover:after{width:100%;}
.header-icons{display:flex; gap:22px; align-items:center;}
.header-icons a, .header-icons button{
  display:inline-flex; align-items:center; justify-content:center;
  color:#000; background:none; border:none; padding:0; cursor:pointer;
  position:relative;
}
.header-icons i{font-size:22px; color:#000;}
.cart-badge,
.header-icons .cart-badge{
  position:absolute; top:-6px; right:-9px;
  min-width:16px; height:16px; padding:0 4px;
  background:#000; color:#fff;
  font-size:10px; font-weight:600; line-height:16px;
  border-radius:999px; text-align:center;
  font-family:var(--font-sans); letter-spacing:0;
}
.menu-toggle{display:none;}
.menu-toggle i{font-size:26px;}

/* ---------- Mobile nav drawer ---------- */
.nav-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.45);
  opacity:0; visibility:hidden; transition:.3s; z-index:220;
}
.mobile-nav{
  position:fixed; top:0; right:0; height:100%; width:min(360px, 92vw);
  background:#fff; color:#000; z-index:230;
  transform:translateX(100%); transition:transform .35s ease;
  display:flex; flex-direction:column; box-shadow:-8px 0 30px rgba(0,0,0,.12);
}
body.nav-open{overflow:hidden;}
body.nav-open .nav-overlay{opacity:1; visibility:visible;}
body.nav-open .mobile-nav{transform:translateX(0);}
.mobile-nav-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 22px; border-bottom:1px solid var(--line);
}
.mobile-nav-header .logo{font-size:22px;}
.mobile-nav-close{
  background:none; border:none; cursor:pointer; color:#000; padding:4px;
  display:inline-flex;
}
.mobile-nav-close i{font-size:24px;}
.mobile-nav-links{
  display:flex; flex-direction:column; padding:18px 8px; gap:2px;
  flex:1; overflow-y:auto;
}
.mobile-nav-links a{
  display:block; padding:14px 16px; font-size:15px; font-weight:500;
  letter-spacing:0.08em; text-transform:uppercase;
}
.mobile-nav-links a:hover{background:#faf7f3;}
.mobile-nav-meta{
  padding:20px 22px 28px; border-top:1px solid var(--line);
  display:flex; flex-direction:column; gap:14px;
}
.mobile-nav-meta a,
.mobile-nav-meta span{
  display:flex; align-items:center; gap:10px;
  font-size:13px; font-weight:500;
}
.mobile-nav-meta i{font-size:18px;}

/* ---------- Cart drawer ---------- */
.cart-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.45);
  opacity:0; visibility:hidden; transition:.3s; z-index:200;
}
.cart-drawer{
  position:fixed; top:0; right:0; height:100%; width:min(420px, 100%);
  background:#fff; color:#000; z-index:210;
  transform:translateX(100%); transition:transform .35s ease;
  display:flex; flex-direction:column; box-shadow:-8px 0 30px rgba(0,0,0,.12);
}
body.cart-open{overflow:hidden;}
body.cart-open .cart-overlay{opacity:1; visibility:visible;}
body.cart-open .cart-drawer{transform:translateX(0);}
.cart-drawer-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 24px; border-bottom:1px solid var(--line); flex-shrink:0;
}
.cart-drawer-header h3{
  font-family:var(--font-luxury); font-size:22px; font-weight:700;
  letter-spacing:0.06em; text-transform:uppercase; margin:0;
  display:flex; align-items:baseline; gap:8px;
}
.cart-count{
  font-family:var(--font-sans); font-size:13px; font-weight:500;
  letter-spacing:0; text-transform:none; color:#666;
}
.cart-close{
  background:none; border:none; cursor:pointer; color:#000; padding:4px;
  display:inline-flex; align-items:center; justify-content:center;
}
.cart-close i{font-size:24px;}
.cart-shipping{
  padding:18px 24px; background:#faf7f3; border-bottom:1px solid var(--line);
  flex-shrink:0;
}
.cart-shipping-msg{
  display:flex; align-items:flex-start; gap:10px;
  font-size:13.5px; font-weight:600; line-height:1.4; margin:0 0 12px; color:#000;
}
.cart-shipping-msg i{
  font-size:20px; color:#905d2f; flex-shrink:0; margin-top:1px;
}
.cart-shipping-msg strong{
  font-weight:700; color:#905d2f;
}
.cart-shipping-msg.is-complete strong{color:#000;}
.cart-shipping-bar{
  position:relative; height:6px; background:rgba(0,0,0,.08); overflow:hidden;
  border-radius:999px;
}
.cart-shipping-bar > span{
  position:relative; display:block; height:100%; width:0;
  background:linear-gradient(90deg, #6e4523 0%, #905d2f 45%, #b47a45 100%);
  transition:width .7s cubic-bezier(.22,1,.36,1);
  overflow:hidden;
  border-radius:999px;
}
.cart-shipping-bar > span::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,.45) 50%,
    transparent 100%
  );
  transform:translateX(-100%);
  animation:cartBarShine 1.6s ease-in-out infinite;
}
.cart-shipping-bar.is-animating > span{
  animation:cartBarPulse .7s ease;
}
.cart-shipping.is-complete .cart-shipping-bar > span{
  background:linear-gradient(90deg, #2f5d3a 0%, #3f7a4c 100%);
}
.cart-shipping.is-complete .cart-shipping-msg i{color:#3f7a4c;}

@keyframes cartBarShine{
  0%{transform:translateX(-100%);}
  60%,100%{transform:translateX(100%);}
}
@keyframes cartBarPulse{
  0%{filter:brightness(1);}
  40%{filter:brightness(1.25);}
  100%{filter:brightness(1);}
}
@keyframes cartMsgPop{
  0%{transform:translateY(4px); opacity:.4;}
  100%{transform:translateY(0); opacity:1;}
}
.cart-shipping-msg.is-updating{
  animation:cartMsgPop .45s ease;
}
@media (prefers-reduced-motion: reduce){
  .cart-shipping-bar > span{transition:none;}
  .cart-shipping-bar > span::after,
  .cart-shipping-bar.is-animating > span,
  .cart-shipping-msg.is-updating{animation:none;}
}
.cart-drawer-body{
  flex:1; overflow-y:auto; padding:8px 24px 20px;
}
.cart-item{
  display:grid; grid-template-columns:88px 1fr auto; gap:14px;
  padding:18px 0; border-bottom:1px solid var(--line); align-items:start;
}
.cart-item:last-child{border-bottom:none;}
.cart-item img{
  width:88px; height:110px; object-fit:cover; display:block; background:#eee;
}
.cart-item-info .name{
  font-size:13px; text-transform:uppercase; letter-spacing:0.06em; font-weight:500;
}
.cart-item-info .meta{font-size:12px; color:#666; margin-top:6px;}
.cart-item-info .price{font-size:14px; font-weight:500; margin-top:10px;}
.cart-item-qty{
  display:inline-flex; align-items:center; gap:0; margin-top:12px;
  border:1px solid var(--line);
}
.cart-item-qty button{
  background:none; border:none; cursor:pointer; color:#000;
  width:32px; height:32px; font-size:16px; line-height:1; padding:0;
  display:inline-flex; align-items:center; justify-content:center;
}
.cart-item-qty button:hover{background:#faf7f3;}
.cart-item-qty span{
  font-size:13px; min-width:28px; text-align:center;
  border-left:1px solid var(--line); border-right:1px solid var(--line);
  line-height:32px; height:32px;
}
.cart-item-remove{
  background:none; border:none; cursor:pointer; color:#000; padding:2px;
  opacity:.55; transition:opacity .2s;
}
.cart-item-remove:hover{opacity:1;}
.cart-item-remove i{font-size:18px;}
.cart-empty{
  flex:1; display:none; flex-direction:column; align-items:center; justify-content:center;
  padding:40px 24px; text-align:center; gap:18px;
}
.cart-empty.is-visible{display:flex;}
.cart-empty i{font-size:40px; color:#905d2f;}
.cart-empty p{
  font-family:var(--font-luxury); font-size:20px; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; margin:0;
}
.cart-empty span{font-size:14px; color:#666; font-weight:400; line-height:1.5; max-width:260px;}
.cart-drawer.is-empty .cart-drawer-body,
.cart-drawer.is-empty .cart-drawer-footer,
.cart-drawer.is-empty .cart-shipping{display:none;}
.cart-drawer.is-empty .cart-empty{display:flex;}
.cart-drawer-footer{
  padding:20px 24px 28px; border-top:1px solid var(--line); flex-shrink:0;
  background:#fff;
}
.cart-subtotal{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:6px; font-size:14px; font-weight:500;
}
.cart-subtotal strong{font-size:17px; font-weight:600;}
.cart-shipping-hint{
  font-size:12px; color:#666; margin:0 0 16px; font-weight:400;
}
.cart-drawer-footer .btn{
  width:100%; text-align:center; border-radius:40px; box-sizing:border-box;
}
.cart-drawer-footer .btn-outline{
  margin-top:10px; display:block; background:#fff; border:1px solid #000; color:#000;
}
.cart-drawer-footer .btn-outline:hover{background:#f5f5f5;}
.cart-note{font-size:11.5px; color:#666; margin-top:14px; text-align:center;}

/* ---------- Cart page ---------- */
.cart-page{padding:40px 0 70px;}
.cart-page-head{margin-bottom:28px;}
.cart-page-head h1{
  font-family:var(--font-luxury); font-size:36px; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em; margin:0 0 8px;
}
.cart-page-head p{font-size:14px; color:#666; font-weight:500; margin:0;}
.cart-page-shipping{
  margin-bottom:28px; border:1px solid var(--line);
  padding:18px 20px; border-radius:14px;
}
.cart-page-layout{
  display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:40px; align-items:start;
}
.cart-page-list{display:flex; flex-direction:column;}
.cart-page-item{
  display:grid; grid-template-columns:120px 1fr; gap:20px;
  padding:24px 0; border-bottom:1px solid var(--line);
}
.cart-page-item:first-child{border-top:1px solid var(--line);}
.cart-page-thumb{
  display:block; aspect-ratio:3/4; overflow:hidden; background:#eee;
}
.cart-page-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.cart-page-info{display:flex; flex-direction:column; min-width:0;}
.cart-page-top{
  display:flex; justify-content:space-between; align-items:flex-start; gap:16px;
}
.cart-page-info .name{
  font-size:15px; text-transform:uppercase; letter-spacing:.06em; font-weight:500;
  display:block; margin-bottom:6px;
}
.cart-page-info .meta{font-size:13px; color:#666;}
.cart-page-bottom{
  margin-top:auto; padding-top:18px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.cart-page-bottom .price{font-size:16px; font-weight:500;}
.cart-page-item .cart-item-qty{margin-top:0;}
.cart-summary{
  background:#faf7f3; padding:28px 24px; position:sticky; top:90px;
  border-radius:16px;
}
.cart-summary h2{
  font-family:var(--font-luxury); font-size:22px; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em; margin:0 0 22px;
}
.cart-summary-row{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  font-size:14px; font-weight:500; margin-bottom:12px;
}
.cart-summary-row strong{font-weight:500; text-align:right;}
.cart-summary-total{
  margin-top:16px; padding-top:16px; border-top:1px solid var(--line);
  font-size:16px; margin-bottom:8px;
}
.cart-summary-total strong{font-size:18px; font-weight:600;}
.cart-summary .cart-shipping-hint{margin:0 0 20px;}
.cart-summary .btn{width:100%; text-align:center; box-sizing:border-box;}
.cart-summary .btn-outline{
  margin-top:10px; display:block; background:#fff; border:1px solid #000; color:#000;
}
.cart-summary .btn-outline:hover{background:#f5f5f5;}
.cart-summary-trust{
  list-style:none; margin:22px 0 0; padding:18px 0 0; border-top:1px solid var(--line);
  display:flex; flex-direction:column; gap:12px;
}
.cart-summary-trust li{
  display:flex; align-items:center; gap:10px;
  font-size:12.5px; font-weight:500;
}
.cart-summary-trust i{font-size:18px; color:#905d2f;}
.cart-page-empty{
  text-align:center; padding:80px 20px 40px;
  display:flex; flex-direction:column; align-items:center; gap:14px;
}
.cart-page-empty[hidden]{display:none !important;}
.cart-page-empty i{font-size:48px; color:#905d2f;}
.cart-page-empty h2{
  font-family:var(--font-luxury); font-size:28px; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em; margin:0;
}
.cart-page-empty p{font-size:15px; color:#666; max-width:360px; line-height:1.6; margin:0 0 8px;}

@media (max-width:1024px){
  .cart-page-layout{grid-template-columns:1fr; gap:28px;}
  .cart-summary{position:static;}
}
@media (max-width:640px){
  .cart-page{padding:24px 0 48px;}
  .cart-page-head h1{font-size:28px;}
  .cart-page-item{grid-template-columns:88px 1fr; gap:14px; padding:18px 0;}
  .cart-page-info .name{font-size:13px;}
  .cart-page-bottom{flex-wrap:wrap; padding-top:14px;}
  .cart-summary{padding:22px 18px;}
}

@media (max-width:480px){
  .cart-drawer{width:100%;}
  .cart-drawer-header,
  .cart-shipping,
  .cart-drawer-body,
  .cart-drawer-footer{padding-left:18px; padding-right:18px;}
  .cart-item{grid-template-columns:72px 1fr auto; gap:12px;}
  .cart-item img{width:72px; height:90px;}
}

/* ---------- Checkout ---------- */
.checkout-page{padding:36px 0 70px; background:linear-gradient(180deg, #faf7f3 0%, #fff 220px);}
.checkout-head{margin-bottom:32px;}
.checkout-back{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:500; margin-bottom:18px; color:#000;
}
.checkout-back:hover{opacity:.6;}
.checkout-back i{font-size:16px;}
.checkout-head h1{
  font-family:var(--font-luxury); font-size:34px; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em; margin:0 0 18px;
}
.checkout-steps{
  display:flex; flex-wrap:wrap; gap:10px 18px; list-style:none; padding:0; margin:0;
}
.checkout-steps li{
  position:relative; font-size:12px; font-weight:500; letter-spacing:.06em;
  text-transform:uppercase; color:#999; padding-left:18px;
}
.checkout-steps li::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:8px; height:8px; border-radius:50%; background:#d9d0c1;
}
.checkout-steps li.is-done{color:#000;}
.checkout-steps li.is-done::before{background:#905d2f;}
.checkout-steps li.is-active{color:#000; font-weight:600;}
.checkout-steps li.is-active::before{background:#000;}
.checkout-layout{
  display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:40px; align-items:start;
}
.checkout-main{display:flex; flex-direction:column; gap:22px;}
.checkout-block{
  background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px 24px;
}
.checkout-block h2{
  font-family:var(--font-luxury); font-size:22px; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em; margin:0 0 20px;
}
.checkout-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
}
.field{display:flex; flex-direction:column; gap:8px; min-width:0;}
.field-full{grid-column:1 / -1;}
.field span{
  font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
}
.field input,
.field select{
  width:100%; border:1px solid var(--line); background:#fff;
  padding:13px 14px; font-size:14px; font-weight:400; color:#000;
  border-radius:10px; outline:none; transition:border-color .2s;
}
.field input:focus,
.field select:focus{border-color:#000;}
.country-field{
  display:flex; align-items:center; gap:12px;
}
.country-flag{
  width:40px; height:30px; object-fit:cover; flex-shrink:0;
  border:1px solid var(--line); border-radius:4px; background:#f4efe7;
}
.country-field select{flex:1; min-width:0;}
.checkout-options{display:flex; flex-direction:column; gap:12px;}
.checkout-option{
  display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center;
  border:1px solid var(--line); border-radius:12px; padding:14px 16px; cursor:pointer;
  transition:border-color .2s, background .2s;
}
.checkout-option:has(input:checked){
  border-color:#000; background:#faf7f3;
}
.checkout-option input{accent-color:#000; width:16px; height:16px;}
.checkout-option-title{display:block; font-size:14px; font-weight:600; margin-bottom:3px;}
.checkout-option-meta{display:block; font-size:12.5px; color:#666; font-weight:400;}
.checkout-option-price{font-size:13.5px; font-weight:600;}
.checkout-option > i{font-size:22px; color:#905d2f;}
.checkout-card-fields{margin-top:18px;}
.checkout-secure{
  display:flex; align-items:center; gap:8px;
  margin-top:16px; font-size:12.5px; font-weight:500; color:#666;
}
.checkout-secure i{font-size:16px; color:#905d2f;}
.checkout-error{
  margin:0 0 12px; padding:10px 12px;
  background:#fdf2f0; color:#8a2e1f; border:1px solid #f0c7bf;
  font-size:12.5px; font-weight:500; line-height:1.4;
}
.checkout-summary-items{
  display:flex; flex-direction:column; gap:14px;
  margin-bottom:20px; padding-bottom:18px; border-bottom:1px solid var(--line);
}
.checkout-summary-item{
  display:grid; grid-template-columns:56px 1fr auto; gap:12px; align-items:center;
}
.checkout-summary-item img{
  width:56px; height:70px; object-fit:cover; background:#eee; border-radius:6px;
}
.checkout-summary-item .name{
  font-size:12.5px; text-transform:uppercase; letter-spacing:.05em; font-weight:500;
}
.checkout-summary-item .meta{font-size:12px; color:#666; margin-top:4px;}
.checkout-summary-item strong{font-size:13.5px; font-weight:500;}
.checkout-summary .btn-dark{margin-top:8px;}
.checkout-footer{padding:28px 0; border-top:1px solid var(--line);}

/* ---------- Thank you ---------- */
.thankyou-page{
  padding:48px 0 80px;
  background:linear-gradient(180deg, #faf7f3 0%, #fff 280px);
}
.thankyou-hero{text-align:center; max-width:640px; margin:0 auto 40px;}
.thankyou-icon{
  position:relative;
  width:88px; height:88px; margin:0 auto 22px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #fff 0%, #f3ebe3 100%);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 28px rgba(144,93,47,.12);
  animation:thankyouIconIn .6s cubic-bezier(.22,1,.36,1) both;
}
.thankyou-icon::before{
  content:""; position:absolute; inset:-8px; border-radius:50%;
  border:1px solid rgba(144,93,47,.22);
  animation:thankyouRing 1.1s ease .15s both;
}
.thankyou-check{
  width:54px; height:54px; display:block;
}
.thankyou-check-ring{
  fill:none;
  stroke:#905d2f;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-dasharray:176;
  stroke-dashoffset:176;
  animation:thankyouDrawRing .7s ease .2s forwards;
}
.thankyou-check-mark{
  fill:none;
  stroke:#905d2f;
  stroke-width:3.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:48;
  stroke-dashoffset:48;
  animation:thankyouDrawCheck .45s ease .75s forwards;
}

@keyframes thankyouIconIn{
  0%{transform:scale(.72); opacity:0;}
  100%{transform:scale(1); opacity:1;}
}
@keyframes thankyouRing{
  0%{transform:scale(.85); opacity:0;}
  60%{opacity:1;}
  100%{transform:scale(1); opacity:.9;}
}
@keyframes thankyouDrawRing{
  to{stroke-dashoffset:0;}
}
@keyframes thankyouDrawCheck{
  to{stroke-dashoffset:0;}
}
@media (prefers-reduced-motion: reduce){
  .thankyou-icon,
  .thankyou-icon::before,
  .thankyou-check-ring,
  .thankyou-check-mark{animation:none;}
  .thankyou-check-ring,
  .thankyou-check-mark{stroke-dashoffset:0;}
}
.thankyou-eyebrow{
  font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:#905d2f; margin:0 0 10px;
}
.thankyou-hero h1{
  font-family:var(--font-luxury); font-size:36px; font-weight:700;
  text-transform:uppercase; letter-spacing:.03em; margin:0 0 14px; line-height:1.2;
}
.thankyou-lead{
  font-size:15px; line-height:1.7; color:#444; font-weight:400; margin:0 0 22px;
}
.thankyou-lead strong{font-weight:600; color:#000;}
.thankyou-steps{justify-content:center;}
.thankyou-grid{
  display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:start;
}
.thankyou-block{
  background:#fff; border:1px solid var(--line); border-radius:16px; padding:28px 24px;
}
.thankyou-block h2{
  font-family:var(--font-luxury); font-size:22px; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em; margin:0 0 20px;
}
.thankyou-items{
  display:flex; flex-direction:column; gap:14px;
  margin-bottom:20px; padding-bottom:18px; border-bottom:1px solid var(--line);
}
.thankyou-item{
  display:grid; grid-template-columns:64px 1fr auto; gap:14px; align-items:center;
}
.thankyou-item img{
  width:64px; height:80px; object-fit:cover; background:#eee; border-radius:6px;
}
.thankyou-item .name{
  font-size:13px; text-transform:uppercase; letter-spacing:.05em; font-weight:500;
}
.thankyou-item .meta{font-size:12.5px; color:#666; margin-top:4px;}
.thankyou-item strong{font-size:14px; font-weight:500;}
.thankyou-details{display:flex; flex-direction:column; gap:18px;}
.thankyou-details dt{
  font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:#666; margin-bottom:4px;
}
.thankyou-details dd{
  font-size:14.5px; font-weight:500; line-height:1.55; white-space:pre-line; margin:0;
}
.thankyou-actions{
  display:flex; flex-direction:column; gap:10px; margin-top:28px;
}
.thankyou-actions .btn{width:100%; text-align:center; box-sizing:border-box;}
.thankyou-actions .btn-outline{
  background:#fff; border:1px solid #000; color:#000;
}
.thankyou-actions .btn-outline:hover{background:#f5f5f5;}
.thankyou-empty{
  text-align:center; padding:60px 20px; display:flex; flex-direction:column;
  align-items:center; gap:14px;
}
.thankyou-empty[hidden]{display:none !important;}
.thankyou-empty h2{
  font-family:var(--font-luxury); font-size:28px; font-weight:700;
  text-transform:uppercase; margin:0;
}
.thankyou-empty p{color:#666; margin:0 0 8px;}

@media (max-width:1024px){
  .checkout-layout,
  .thankyou-grid{grid-template-columns:1fr; gap:28px;}
}
@media (max-width:640px){
  .checkout-page,
  .thankyou-page{padding:24px 0 48px;}
  .checkout-head h1{font-size:26px;}
  .thankyou-hero h1{font-size:28px;}
  .checkout-grid{grid-template-columns:1fr;}
  .checkout-block{padding:22px 18px; border-radius:14px;}
  .thankyou-block{padding:22px 18px;}
}

/* ---------- Hero ---------- */
.hero{
  position:relative; height:78vh; min-height:520px;
  background:url('../images/hero.png') center / cover no-repeat;
  display:flex; align-items:center;
  overflow:hidden;
}
.hero:after{
  content:""; position:absolute; inset:0;
  background:rgba(0,0,0,.45);
  pointer-events:none;
}
.hero-inner{
  width:100%; max-width:1240px; margin:0 auto; padding:0 40px;
  position:relative; z-index:2;
}
.hero-content{max-width:640px; color:var(--white);}
.hero-content h1{font-size:58px; line-height:1.18; color:var(--white); text-transform:uppercase; font-weight:700;}
.hero-content p{margin-top:18px; font-size:18px; font-weight:400; line-height:1.65; max-width:420px; color:#ffffff;}
.hero-ctas{display:flex; gap:14px; margin-top:32px;}
.btn{
  padding:14px 30px; font-size:12px; letter-spacing:0.12em; text-transform:uppercase;
  border:1px solid transparent; cursor:pointer; transition:.25s;
  display:inline-block;
}
.btn-dark{background:#000; color:var(--white); border-radius:40px; border-color:#000;}
.btn-dark:hover{background:#000; color:var(--white);}
.btn-outline{background:#e6d6c8; color:#000; border-color:#e6d6c8; border-radius:40px; font-weight:500;}
.btn-outline:hover{background:#dcc9b8; color:#000;}

/* ---------- Trust strip ---------- */
.trust-strip{
  background:#faf7f3;
  font-size:11.5px; letter-spacing:0.04em; text-align:center;
}
.trust-strip-inner{
  max-width:1240px; margin:0 auto; padding:26px 40px;
  display:flex; justify-content:space-between; align-items:center; gap:20px;
}
.trust-strip .item{display:flex; align-items:center; gap:10px; max-width:240px; color:#000;}
.trust-strip .item i{flex-shrink:0; font-size:26px; color:#000;}
.trust-strip .item div{text-align:left; text-transform:uppercase; line-height:1.4; color:#000; font-weight:500;}
.trust-strip .item div b{display:block; font-weight:600;}

/* ---------- Section heading ---------- */
.section-head{text-align:center; margin:0 0 42px;}
.section-head h2{font-size:34px; text-transform:uppercase; letter-spacing:0.04em; font-weight:700;}
.section-head p{margin-top:8px; font-size:13px; color:#7a7469; letter-spacing:0.03em; font-weight:500;}
section{padding:80px 0;}

/* ---------- Products ---------- */
.product-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:28px;}
.product-card{display:block; color:inherit;}
.product-card .product-card-media{
  position:absolute; inset:0; z-index:1; display:block;
}
.product-card .product-card-body{display:block; color:inherit;}
.product-card .thumb{
  position:relative; aspect-ratio:3/4; overflow:hidden; margin-bottom:14px;
  background:#eee; isolation:isolate;
}
.product-card .thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.product-card .thumb-actions{
  position:absolute; inset:0; z-index:2; pointer-events:none;
}
.product-card .thumb .fav{
  position:absolute; top:14px; right:14px; z-index:3; width:34px; height:34px; border-radius:50%;
  background:rgba(255,255,255,.9); display:flex; align-items:center; justify-content:center;
  color:#000; cursor:pointer; border:none; padding:0; pointer-events:auto;
}
.product-card .thumb .fav i{font-size:18px; color:#000;}
.product-card .thumb .fav.is-active,
.wishlist-btn.is-active{
  background:#000; color:#fff;
}
.product-card .thumb .fav.is-active i,
.wishlist-btn.is-active i{color:#fff;}
.wishlist-link{position:relative;}
.wishlist-badge{
  position:absolute; top:-4px; right:-8px;
  min-width:16px; height:16px; padding:0 4px;
  border-radius:999px; background:#905d2f; color:#fff;
  font-size:10px; font-weight:600; line-height:16px; text-align:center;
}
.header-account-btn,
.mobile-nav-logout{
  background:none; border:none; padding:0; cursor:pointer; color:inherit; font:inherit;
}
.auth-logout-form{display:inline;}
.product-card .product-card-cart{
  position:absolute; left:14px; right:14px; bottom:14px; z-index:3;
  border:none; cursor:pointer; pointer-events:auto;
  background:#000; color:#fff;
  padding:12px 14px;
  font-family:inherit; font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:500;
  opacity:0; transform:translateY(8px);
  transition:opacity .25s ease, transform .25s ease, background .2s ease;
  pointer-events:none;
}
.product-card:hover .product-card-cart,
.product-card:focus-within .product-card-cart{
  opacity:1; transform:translateY(0); pointer-events:auto;
}
.product-card .product-card-cart:hover{background:#222;}
@media (hover:none){
  .product-card .product-card-cart{
    opacity:1; transform:none; pointer-events:auto;
  }
}
.product-card .swatches{display:flex; gap:6px; margin-bottom:8px;}
.product-card .swatches span{width:12px; height:12px; border-radius:50%; display:inline-block; border:1px solid rgba(0,0,0,.15);}
.product-card .name{font-size:12px; letter-spacing:0.08em; text-transform:uppercase; font-weight:500; color:#000;}
.product-card .price{font-size:13.5px; color:#000; margin-top:2px; font-weight:500;}
.center-btn{text-align:center; margin-top:44px;}
.section-divider{
  margin-top:48px;
  border:none; border-top:1px solid var(--line);
}
#produits{padding-bottom:0;}
#produits + section{padding-top:40px;}

/* ---------- Category tiles ---------- */
.cat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.cat-card{
  position:relative; aspect-ratio:3/4; overflow:hidden;
  display:flex; align-items:flex-end; padding:26px;
  background:#ddd; border-radius:16px;
  color:inherit; text-decoration:none; cursor:pointer;
}
.cat-card img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:transform .45s ease;
}
.cat-card:hover img{transform:scale(1.04);}
.cat-card:before{content:"";position:absolute; inset:0; z-index:1; background:rgba(0,0,0,.4);}
.cat-card .label{position:relative; z-index:2; color:var(--white);}
.cat-card .label h3{font-size:22px; text-transform:uppercase; letter-spacing:0.03em;}
.cat-card .label p{font-size:11.5px; margin-top:6px; font-weight:400; opacity:.9;}

/* ---------- Split banner ---------- */
.split{
  background:#f8f4f1; padding:0;
  display:grid; grid-template-columns:1fr 1fr;
}
.split .text-col{
  display:flex; flex-direction:column; justify-content:center;
  padding:70px 48px 70px max(40px, calc((100vw - 1240px) / 2 + 40px));
  background:#f8f4f1;
  min-width:0;
}
.split .text-col h2{font-size:36px; line-height:1.15; text-transform:uppercase; margin-bottom:36px; font-weight:700;}
.split .feature{display:flex; gap:18px; margin-bottom:28px; align-items:flex-start;}
.split .feature i{font-size:28px; color:#000; flex-shrink:0; margin-top:2px;}
.split .feature h4{font-size:15px; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:6px; font-weight:600; color:#000;}
.split .feature p{font-size:15px; color:#000; line-height:1.55; font-weight:500;}
.split .btn{width:max-content; margin-top:10px;}
.split .img-col{
  background:url('../images/promo.png') center / cover no-repeat;
  min-height:520px;
}

/* ---------- Reviews ---------- */
.reviews{background:#fff;}
.reviews .section-head{margin-bottom:18px;}
.reviews .section-head h2{color:#000; font-weight:600;}
.rating-summary{
  display:flex; align-items:center; justify-content:center; gap:10px;
  margin-bottom:44px; font-size:13px; color:#000; font-weight:500;
}
.rating-summary .stars,
.review-card .stars{
  display:inline-flex; align-items:center; gap:2px; color:#905d2f; margin:0; line-height:1;
}
.review-card .stars{margin-bottom:16px;}
.stars i{font-size:16px; color:#905d2f;}
.review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.review-card{
  border:1px solid #e5e0d8; padding:36px 28px; text-align:center; background:#fff;
}
.review-card p.quote{
  font-size:14px; line-height:1.7; color:#000; margin:0 0 22px;
  font-style:normal; font-weight:400;
}
.review-card .who{
  font-size:13px; text-transform:none; letter-spacing:0.02em;
  font-weight:600; color:#000;
}
.review-card .where{font-size:12px; color:#000; margin-top:4px; font-weight:400;}

/* ---------- Why choose ---------- */
.why{background:#fff;}
.why .section-head h2{color:#000;}
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:30px; text-align:center;}
.why-grid i{
  display:flex; align-items:center; justify-content:center;
  width:100%; font-size:36px; color:#905d2f; margin:0 auto 16px;
}
.why-grid h4{font-size:14px; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:8px; font-weight:600; color:#000;}
.why-grid p{font-size:12.5px; color:#000; line-height:1.5; font-weight:500;}

/* ---------- Instagram / moments slider ---------- */
.insta{background:#fff; overflow:hidden;}
.insta .section-head{padding:0 40px; max-width:1240px; margin:0 auto 32px;}
.insta .section-head h2{color:#000;}
.insta-slider{
  width:100%; overflow:hidden; position:relative;
}
.insta-track{
  display:flex; gap:12px; width:max-content;
  animation:insta-slide 40s linear infinite;
}
.insta-track:hover{animation-play-state:paused;}
.insta-slide{
  flex:0 0 auto; width:min(320px, 70vw); aspect-ratio:3/4;
  position:relative; overflow:hidden; border-radius:4px;
}
.insta-slide img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.insta-slide:after{
  content:"#MYBURKINI"; position:absolute; bottom:12px; left:12px;
  color:rgba(255,255,255,.92); font-size:11px; letter-spacing:0.06em;
  text-shadow:0 1px 4px rgba(0,0,0,.45); z-index:1;
}
@keyframes insta-slide{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* ---------- Bottom trust bar ---------- */
.bottom-trust{
  background:#fff; border-top:1px solid var(--line);
}
.bottom-trust-inner{
  max-width:1240px; margin:0 auto; padding:40px;
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
}
.bottom-trust .item{
  display:flex; align-items:flex-start; gap:14px; color:#000;
}
.bottom-trust .item i{font-size:26px; color:#000; flex-shrink:0; margin-top:2px;}
.bottom-trust .item div b{
  display:block; text-transform:uppercase; font-weight:600;
  font-size:12px; letter-spacing:0.06em; margin-bottom:4px;
}
.bottom-trust .item div span{color:#000; font-size:12.5px; font-weight:400; line-height:1.4;}

/* ---------- Newsletter ---------- */
.newsletter-wrap{
  background:#111; padding:40px;
}
.newsletter{
  max-width:1240px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:40px 48px; background:#111; color:var(--white); gap:40px;
  border:1px solid rgba(255,255,255,.12);
}
.newsletter h3{font-size:24px; text-transform:uppercase; margin-bottom:8px; font-weight:700; font-family:var(--font-luxury);}
.newsletter p{font-size:13px; color:#c9c3b8; font-weight:400;}
.newsletter form{display:flex; gap:0; flex-shrink:0;}
.newsletter input{
  background:transparent; border:1px solid rgba(255,255,255,.35); border-right:none;
  padding:14px 18px; color:var(--white); font-size:13px; width:280px; font-family:var(--font-sans);
}
.newsletter input::placeholder{color:#a39c8f;}
.newsletter button{
  background:var(--white); color:#000; border:none; padding:0 26px;
  font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; font-weight:500;
}
.newsletter button:hover{background:#e6d6c8; color:#000;}

/* ---------- Footer ---------- */
footer{background:#faf7f3; padding:70px 0 30px; color:#000;}
.footer-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr 1fr; gap:36px;}
.footer-brand .logo{margin-bottom:14px; display:inline-block;}
.footer-brand p{font-size:13px; color:#000; line-height:1.65; max-width:260px; font-weight:400;}
.footer-brand .socials{display:flex; gap:16px; margin-top:22px;}
.footer-brand .socials a{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border:1px solid #d9d0c1; color:#000;
  transition:.2s;
}
.footer-brand .socials a:hover{background:#000; color:#fff; border-color:#000;}
.footer-brand .socials i{font-size:18px;}
.footer-col h5{
  font-size:12px; text-transform:uppercase; letter-spacing:0.1em;
  margin-bottom:18px; font-weight:600; color:#000;
}
.footer-col li{font-size:13px; color:#000; margin-bottom:12px; font-weight:400;}
.footer-col a{color:inherit; transition:.2s;}
.footer-col a:hover{opacity:.55;}
.footer-bottom{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:11.5px; color:#000; margin-top:56px;
  border-top:1px solid var(--line); padding-top:22px; font-weight:400;
}
.footer-bottom .legal-links{display:flex; gap:20px;}
.footer-bottom .legal-links a:hover{opacity:.55;}

@media (max-width:1024px){
  .product-grid, .cat-grid, .review-grid, .why-grid{grid-template-columns:repeat(2,1fr);}
  .insta-grid{grid-template-columns:repeat(3,1fr);}
  .split{
    grid-template-columns:1fr;
  }
  .split .text-col{
    order:1;
    padding:48px 20px !important;
    width:100%;
    max-width:100%;
  }
  .split .text-col h2{font-size:28px; margin-bottom:28px;}
  .split .feature{margin-bottom:22px;}
  .split .feature i{font-size:24px;}
  .split .feature h4{font-size:14px;}
  .split .feature p{font-size:14px;}
  .split .btn{
    width:100%;
    max-width:100%;
    text-align:center;
    box-sizing:border-box;
  }
  .split .img-col{
    order:2;
    min-height:320px;
    width:100%;
  }
  .footer-grid{grid-template-columns:repeat(3,1fr);}
  .trust-strip-inner{flex-wrap:wrap; gap:20px;}
  .hero-content h1{font-size:42px;}
  nav.main-nav{display:none;}
  .menu-toggle{display:inline-flex;}
  .header-icons .hide-mobile{display:none;}

  /* Topbar becomes a rotating slider */
  .topbar-track{
    position:relative; height:38px; padding:0 20px;
    justify-content:center; overflow:hidden;
  }
  .topbar-slide{
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    opacity:0; transform:translateY(10px);
    transition:opacity .45s ease, transform .45s ease;
    pointer-events:none;
  }
  .topbar-slide.is-active{
    opacity:1; transform:translateY(0); pointer-events:auto;
  }
}
@media (max-width:640px){
  .product-grid, .cat-grid, .review-grid, .why-grid, .footer-grid{grid-template-columns:repeat(2,1fr);}
  .bottom-trust-inner{grid-template-columns:repeat(2,1fr); padding:30px 20px;}
  .newsletter-wrap{padding:24px 20px;}
  .newsletter{flex-direction:column; text-align:center; padding:32px 24px;}
  .newsletter input{width:100%;}
  .newsletter form{width:100%; flex-direction:column; gap:10px;}
  .newsletter button{padding:14px 26px;}
  .footer-grid{grid-template-columns:repeat(2,1fr);}
  .footer-bottom{flex-direction:column; text-align:center;}
  header .header-inner{padding:14px 16px 10px;}
  .logo{font-size:26px; letter-spacing:0.12em;}
  .header-icons{gap:18px;}
  .header-icons i{font-size:26px;}
  .menu-toggle i{font-size:30px;}
  .cart-badge,
  .header-icons .cart-badge{
    top:-4px; right:-8px;
    min-width:18px; height:18px; line-height:18px; font-size:11px;
  }
  .wrap{padding:0 20px;}
  .hero-inner{padding:0 20px;}
  .trust-strip-inner{padding:26px 20px;}
  .split .text-col{padding:40px 20px !important;}
  .split .text-col h2{font-size:26px; line-height:1.2;}
  .split .img-col{min-height:260px;}
  .hero-content h1{font-size:32px;}
  .hero-ctas{flex-direction:column; align-items:stretch;}
  .hero-ctas .btn{text-align:center;}
  .insta .section-head{padding:0 20px;}
}

/* ---------- Product page ---------- */
.breadcrumb{padding:22px 0 10px;font-size:12px;color:#666;}
.breadcrumb a:hover{color:#000;}
.breadcrumb span{margin:0 8px;color:#bbb;}

.product-page{padding:36px 0 70px;}
.product-main{
  display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start;
}

.gallery{display:flex;flex-direction:column;gap:12px;}
.gallery-main{
  position:relative;aspect-ratio:3/4;background:#f3f1ed;overflow:hidden;
}
.gallery-main img{width:100%;height:100%;object-fit:cover;}
.gallery-thumbs{display:flex;gap:10px;}
.gallery-thumbs button{
  flex:0 0 78px;aspect-ratio:3/4;border:1px solid transparent;padding:0;
  background:#f3f1ed;cursor:pointer;overflow:hidden;
}
.gallery-thumbs button.active,
.gallery-thumbs button:hover{border-color:#000;}
.gallery-thumbs img{width:100%;height:100%;object-fit:cover;}

.buybox h1{
  font-family:var(--font-luxury);font-size:32px;font-weight:700;
  line-height:1.2;letter-spacing:.01em;margin-bottom:14px;
}
.buybox .price{font-size:28px;font-weight:500;margin-bottom:18px;}
.buybox .short-desc{
  font-size:15px;line-height:1.6;font-weight:400;margin-bottom:28px;color:#000;
}
.buybox .short-desc strong{font-weight:600;}
.option-row{margin-bottom:22px;}
.option-row label{
  display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;
  font-weight:600;margin-bottom:10px;
}
.size-options{display:flex;flex-wrap:wrap;gap:8px;}
.size-options button{
  min-width:54px;padding:10px 14px;border:1px solid var(--line);
  background:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:.2s;
}
.size-options button.active,
.size-options button:hover{border-color:#000;background:#000;color:#fff;}
.color-options{display:flex;flex-wrap:wrap;gap:10px;}
.color-swatch{
  width:28px;height:28px;border-radius:50%;border:2px solid #fff;
  box-shadow:0 0 0 1px var(--line); cursor:pointer; padding:0;
  background:var(--swatch,#ccc);
}
.color-swatch.active{box-shadow:0 0 0 2px #000;}
.buybox-note{font-size:13px;color:#666;font-weight:500;margin:0;}
.buybox-feedback{font-size:13px;font-weight:500;margin:10px 0 0;color:#2d5a36;}
.buybox-feedback:not([hidden]){display:block;}
#colorLabel{text-transform:none;letter-spacing:0;font-weight:500;opacity:.7;margin-left:6px;}
.qty-row{display:flex;align-items:center;gap:16px;margin-bottom:8px;}
.qty-control{display:inline-flex;align-items:center;border:1px solid var(--line);}
.qty-control button{
  width:42px;height:46px;border:none;background:#fff;cursor:pointer;font-size:18px;color:#000;
}
.qty-control input{
  width:48px;height:46px;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);
  text-align:center;font-size:14px;font-weight:500;
}
.btn-add{
  flex:1;height:46px;background:#000;color:#fff;border:none;cursor:pointer;
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;transition:.25s;
}
.btn-add:hover{background:#222;}
.wishlist-btn{
  width:46px;height:46px;border:1px solid var(--line);background:#fff;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#000;
}
.wishlist-btn i{font-size:20px;}
.wishlist-btn:hover{border-color:#000;}

.trust-row{
  display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;
  margin-top:28px;padding-top:24px;border-top:1px solid var(--line);
}
.trust-item{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:500;}
.trust-item i{font-size:20px;color:#905d2f;}

.product-tabs{margin-top:70px;border-top:1px solid var(--line);padding-top:0;}
.tabs-nav{display:flex;gap:0;border-bottom:1px solid var(--line);}
.tabs-nav button{
  background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;
  padding:16px 22px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;
  font-weight:500;cursor:pointer;color:#777;
}
.tabs-nav button.active{color:#000;border-bottom-color:#000;}
.tab-panel{display:none;padding:36px 0 10px;max-width:820px;}
.tab-panel.active{display:block;}
.tab-panel h2{font-family:var(--font-luxury);font-size:24px;font-weight:700;margin-bottom:18px;}
.tab-panel h3{font-size:15px;font-weight:600;margin:28px 0 12px;text-transform:uppercase;letter-spacing:.04em;}
.tab-panel p{font-size:14.5px;line-height:1.75;font-weight:400;margin-bottom:14px;}
.tab-panel ul{margin:0 0 16px 18px;list-style:disc;}
.tab-panel li{font-size:14.5px;line-height:1.7;font-weight:400;margin-bottom:6px;}
.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.size-table{width:100%;border-collapse:collapse;margin:18px 0 28px;font-size:13.5px;}
.size-table th,.size-table td{border:1px solid var(--line);padding:12px 14px;text-align:left;}
.size-table th{background:var(--cream);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:12px;}

.related{margin-top:36px;}
.related h2{
  font-family:var(--font-luxury);font-size:28px;font-weight:700;
  text-transform:uppercase;letter-spacing:.04em;margin-bottom:28px;text-align:center;
}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.related-card .thumb{aspect-ratio:3/4;overflow:hidden;background:#eee;margin-bottom:12px;}
.related-card .thumb img{width:100%;height:100%;object-fit:cover;}
.related-card .name{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;}
.related-card .price{font-size:13.5px;font-weight:500;margin-top:4px;}

@media (max-width:1024px){
  .product-page{padding:24px 0 56px;}
  .product-main{grid-template-columns:1fr;gap:28px;}
  .gallery-thumbs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;}
  .gallery-thumbs button{flex:0 0 72px;}
  .buybox h1{font-size:28px;}
  .buybox .price{font-size:24px;}
  .product-tabs{margin-top:48px;}
  .tabs-nav{
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .tabs-nav::-webkit-scrollbar{display:none;}
  .tabs-nav button{flex:0 0 auto;padding:14px 16px;white-space:nowrap;}
  .related-grid{grid-template-columns:repeat(2,1fr);gap:18px;}
  .related h2{font-size:24px;}
}

@media (max-width:640px){
  .product-page{padding:16px 0 48px;}
  .product-main{gap:22px;}
  .gallery{gap:10px;}
  .gallery-thumbs{gap:8px;}
  .gallery-thumbs button{flex:0 0 64px;}
  .buybox h1{font-size:24px;margin-bottom:10px;}
  .buybox .price{font-size:22px;margin-bottom:14px;}
  .buybox .short-desc{font-size:14px;margin-bottom:22px;}
  .size-options button{min-width:48px;padding:10px 12px;}
  .qty-row{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:10px;
    align-items:center;
  }
  .btn-add{width:100%;min-width:0;}
  .trust-row{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;padding-top:20px;}
  .trust-item{font-size:12.5px;}
  .product-tabs{margin-top:36px;}
  .tabs-nav button{padding:12px 14px;font-size:12px;letter-spacing:.04em;}
  .tab-panel{padding:28px 0 6px;}
  .tab-panel h2{font-size:20px;}
  .tab-panel h3{margin:22px 0 10px;}
  .size-table{min-width:480px;font-size:12.5px;margin:14px 0 20px;}
  .size-table th,.size-table td{padding:10px 12px;}
  .related{margin-top:-120px;}
  .related h2{font-size:22px;margin-bottom:20px;}
  .related-grid{gap:14px 12px;}
  .related-card .name{font-size:11px;}
}

/* ---------- Shop page ---------- */
.shop-page{padding:0 0 70px;}
.shop-hero{
  background:#faf7f3;padding:42px 0 36px;margin-bottom:36px;border-bottom:1px solid var(--line);
}
.shop-hero h1{
  font-family:var(--font-luxury);font-size:36px;font-weight:700;
  text-transform:none;letter-spacing:.02em;margin:8px 0 14px;line-height:1.2;
  max-width:780px;
}
.shop-hero p{font-size:15px;font-weight:400;color:#444;max-width:620px;line-height:1.65;}

.shop-layout{
  display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start;
}

.shop-sidebar{position:sticky;top:90px;}
.filter-block{
  border-bottom:1px solid var(--line);padding:0 0 22px;margin-bottom:22px;
}
.filter-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.filter-block h3{
  font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;
  margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;
}
.filter-list label{
  display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:400;
  margin-bottom:10px;cursor:pointer;color:#000;
}
.filter-list input[type="checkbox"],
.filter-list input[type="radio"]{
  width:16px;height:16px;accent-color:#000;flex-shrink:0;
}
.filter-list .count{margin-left:auto;color:#999;font-size:12px;}
.color-filters{display:flex;flex-wrap:wrap;gap:10px;}
.color-filters label{
  width:28px;height:28px;border-radius:50%;border:1px solid rgba(0,0,0,.12);
  cursor:pointer;position:relative;margin:0;
}
.color-filters input{position:absolute;opacity:0;pointer-events:none;}
.color-filters label span{
  display:block;width:100%;height:100%;border-radius:50%;
}
.color-filters label:has(input:checked){
  outline:1px solid #000;outline-offset:3px;
}
.price-range{display:flex;flex-direction:column;gap:12px;}
.price-range input[type="range"]{width:100%;accent-color:#000;}
.price-values{display:flex;justify-content:space-between;font-size:13px;font-weight:500;}
.filter-reset{
  display:inline-flex;align-items:center;gap:6px;margin-top:8px;
  background:none;border:none;padding:0;cursor:pointer;
  font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;color:#000;
}
.filter-reset:hover{opacity:.55;}

.shop-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--line);
}
.shop-count{font-size:13.5px;font-weight:500;}
.shop-toolbar-right{display:flex;align-items:center;gap:16px;}
.shop-sort{display:flex;align-items:center;gap:10px;font-size:13px;}
.shop-sort label{font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:11px;}
.shop-sort select{
  border:1px solid var(--line);background:#fff;padding:10px 36px 10px 12px;
  font-size:13px;font-weight:400;cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;
}
.filter-toggle{
  display:none;align-items:center;gap:8px;
  border:1px solid #000;background:#fff;padding:10px 16px;cursor:pointer;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;
}
.filter-toggle i{font-size:16px;}
#closeFilters{display:none;background:none;border:none;cursor:pointer;padding:0;color:#000;}
#closeFilters i{font-size:20px;}

.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 22px;}
.product-card .badge{
  position:absolute;top:14px;left:14px;z-index:3;pointer-events:none;
  background:#000;color:#fff;font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;padding:6px 10px;font-weight:500;
}
.product-card .badge.new{background:#905d2f;}

.shop-pagination{
  display:flex;align-items:center;justify-content:center;gap:8px;margin-top:48px;
}
.shop-pagination a,
.shop-pagination span{
  min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);font-size:13px;font-weight:500;color:#000;
}
.shop-pagination a:hover{border-color:#000;}
.shop-pagination .active{background:#000;color:#fff;border-color:#000;}
.shop-pagination .nav-btn{padding:0 14px;}

.shop-filter-overlay{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:180;
}
body.filters-open .shop-filter-overlay{display:block;}
body.filters-open{overflow:hidden;}

@media (max-width:1024px){
  .shop-layout{grid-template-columns:1fr;}
  .filter-toggle{display:inline-flex;}
  .shop-sidebar{
    position:fixed;top:0;left:0;bottom:0;width:min(320px,88vw);
    background:#fff;z-index:190;padding:24px 20px;overflow-y:auto;
    transform:translateX(-105%);transition:transform .3s ease;
  }
  body.filters-open .shop-sidebar{transform:translateX(0);}
  #closeFilters{display:inline-flex;}
  .shop-grid{grid-template-columns:repeat(2,1fr);}
  .shop-hero h1{font-size:26px;}
}
@media (max-width:640px){
  .shop-toolbar{flex-direction:column;align-items:flex-start;}
  .shop-grid{gap:20px 14px;}
  .shop-hero{padding:28px 0 24px;}
  .shop-hero h1{font-size:22px;}
  .shop-hero p{font-size:14px;}
}

/* Content / legal / help pages */
.content-page{padding:64px 0 90px;}
.content-page-inner{max-width:760px;}
.content-page-head{margin-bottom:36px;}
.content-page-head h1{
  font-size:40px; text-transform:uppercase; letter-spacing:.04em;
  font-weight:700; margin-bottom:12px; line-height:1.15;
}
.content-page-head p{font-size:15px; color:#666; font-weight:500; line-height:1.6; margin:0;}
.content-body{font-size:15px; line-height:1.7; font-weight:500; color:var(--ink);}
.content-body h2{
  font-size:22px; margin:32px 0 12px; text-transform:uppercase; letter-spacing:.03em;
}
.content-body h2:first-child{margin-top:0;}
.content-body p{margin:0 0 16px;}
.content-body a{text-decoration:underline; text-underline-offset:3px;}
.content-body .btn{text-decoration:none; margin-top:8px; display:inline-flex;}
.content-list{list-style:none; padding:0; margin:0 0 20px; display:flex; flex-direction:column; gap:14px;}
.content-list li{padding-left:0; line-height:1.6;}
.content-muted{display:block; color:#666; font-size:14px; margin-top:4px;}
.table-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch; margin-bottom:8px;}
.faq-list{display:flex; flex-direction:column; gap:0; border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{
  cursor:pointer; list-style:none; padding:18px 0;
  font-size:15px; font-weight:600; display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+"; font-size:20px; font-weight:400; color:#905d2f; flex-shrink:0;}
.faq-item[open] summary::after{content:"−";}
.faq-item p{padding:0 0 18px; margin:0; color:#555; font-weight:500;}
.bottom-trust .item{color:inherit;}
@media (max-width:640px){
  .content-page{padding:40px 0 64px;}
  .content-page-head h1{font-size:28px;}
}

/* Auth */
.auth-page{padding:72px 0 90px;}
.auth-wrap{max-width:420px;margin:0 auto;}
.auth-wrap h1{font-size:34px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;margin-bottom:10px;}
.auth-lead{font-size:14px;color:#7a7469;margin-bottom:28px;font-weight:500;}
.auth-form{display:flex;flex-direction:column;gap:16px;}
.auth-remember{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;}
.auth-form .btn{width:100%;margin-top:8px;}
.auth-switch{margin-top:22px;font-size:13.5px;font-weight:500;}
.auth-switch a{text-decoration:underline;}
.auth-error{
  margin-bottom:16px;padding:10px 12px;background:#fdf2f0;color:#8a2e1f;
  border:1px solid #f0c7bf;font-size:13px;font-weight:500;
}

/* Wishlist page */
.wishlist-page{padding:60px 0 90px;}
.wishlist-empty{
  text-align:center;padding:60px 20px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.wishlist-empty i{
  font-size:42px;width:64px;height:64px;margin:0 auto 16px;
  display:flex;align-items:center;justify-content:center;
}
.wishlist-empty h3{font-size:22px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;}
.wishlist-empty p{color:#7a7469;margin-bottom:24px;font-weight:500;max-width:320px;}
.wishlist-empty .btn{margin-top:4px;}
.wishlist-btn.is-active{background:#000;border-color:#000;color:#fff;}
.mobile-nav-logout{
  display:block;width:100%;text-align:left;padding:14px 0;
  font-size:18px;font-weight:500;border-bottom:1px solid rgba(0,0,0,.06);
}

/* Account dashboard */
.account-page{padding:56px 0 90px;}
.account-layout{
  display:grid; grid-template-columns:220px 1fr; gap:48px; align-items:start;
}
.account-nav-hello{
  font-size:14px; color:#666; font-weight:500; margin-bottom:22px; line-height:1.5;
}
.account-nav-hello strong{color:var(--ink); font-weight:600;}
.account-nav nav{display:flex; flex-direction:column; gap:4px;}
.account-nav a,
.account-logout{
  display:block; width:100%; text-align:left; padding:12px 0;
  font-size:14px; font-weight:500; border:none; background:none;
  border-bottom:1px solid rgba(0,0,0,.06); color:inherit; cursor:pointer;
}
.account-nav a.is-active{font-weight:700;}
.account-nav a:hover,
.account-logout:hover{opacity:.55;}
.account-head{margin-bottom:28px;}
.account-head h1{
  font-size:34px; text-transform:uppercase; letter-spacing:.04em;
  font-weight:700; margin-bottom:8px; line-height:1.15;
}
.account-head p{font-size:14px; color:#666; font-weight:500; margin:0;}
.account-head-row{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  margin-bottom:8px;
}
.account-head-row h1{margin-bottom:0;}
.account-back{
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; font-weight:500; margin-bottom:20px; color:#666;
}
.account-back:hover{opacity:.6;}
.account-empty{
  text-align:center; padding:56px 20px;
  display:flex; flex-direction:column; align-items:center;
  border:1px solid var(--line);
}
.account-empty i{font-size:42px; color:#905d2f; margin-bottom:14px;}
.account-empty h2{
  font-size:22px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:8px;
}
.account-empty p{color:#666; font-weight:500; max-width:360px; margin-bottom:20px; line-height:1.6;}
.account-orders{display:flex; flex-direction:column; gap:14px;}
.account-order-card{
  display:block; padding:20px 22px; border:1px solid var(--line);
  transition:border-color .2s, background .2s;
}
.account-order-card:hover{border-color:#c9beac; background:#faf7f3;}
.account-order-top{
  display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:14px;
}
.account-order-number{
  display:block; font-size:15px; font-weight:600; letter-spacing:.02em;
}
.account-order-date{display:block; font-size:13px; color:#666; margin-top:4px; font-weight:500;}
.account-status{
  display:inline-flex; align-items:center; padding:6px 10px;
  font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  background:var(--cream); color:var(--ink); white-space:nowrap;
}
.account-status.status-pending{background:#f4efe7; color:#6b5a3e;}
.account-status.status-confirmed,
.account-status.status-processing{background:#eef4f0; color:#2f4a4a;}
.account-status.status-shipped,
.account-status.status-delivered{background:#eaf3ea; color:#2d5a36;}
.account-status.status-cancelled{background:#f7ece9; color:#8a2e1f;}
.account-order-meta{
  display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center;
  font-size:13.5px; color:#555; font-weight:500; margin-bottom:12px;
}
.account-order-meta strong{color:var(--ink); margin-left:auto;}
.account-order-link{
  display:inline-flex; align-items:center; gap:4px;
  font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.04em;
}
.account-pagination{
  display:flex; align-items:center; justify-content:center; gap:20px;
  margin-top:28px; font-size:13px; font-weight:500;
}
.account-pagination a{text-decoration:underline; text-underline-offset:3px;}
.account-pagination .is-disabled{opacity:.35;}
.account-page-num{color:#666;}
.account-detail-grid{
  display:grid; grid-template-columns:1.2fr .9fr; gap:28px; align-items:start;
}
.account-block{
  border:1px solid var(--line); padding:24px;
}
.account-block h2{
  font-size:18px; text-transform:uppercase; letter-spacing:.04em;
  margin-bottom:18px;
}
.account-items{display:flex; flex-direction:column; gap:0; margin-bottom:16px;}
.account-item{
  display:grid; grid-template-columns:64px 1fr auto; gap:14px; align-items:center;
  padding:14px 0; border-bottom:1px solid var(--line);
}
.account-item:first-child{border-top:1px solid var(--line);}
.account-item img{width:64px; height:80px; object-fit:cover;}
.account-item .name{font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.04em;}
.account-item .meta{font-size:12.5px; color:#666; margin-top:3px; font-weight:500;}
@media (max-width:900px){
  .account-layout{grid-template-columns:1fr; gap:28px;}
  .account-nav nav{flex-direction:row; flex-wrap:wrap; gap:8px 18px;}
  .account-nav a,
  .account-logout{border-bottom:none; padding:8px 0; width:auto;}
  .account-detail-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .account-page{padding:36px 0 64px;}
  .account-head h1{font-size:26px;}
  .account-order-meta strong{margin-left:0; width:100%;}
}


