@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");

*{
  box-sizing:border-box;
}

.product-page{
  min-height:100vh;
  padding:250px 34px 58px;
  font-family:"Inter",sans-serif;
  color:#fff;
}

.product-page button,
.product-page input{
  font:inherit;
}

.product-shell{
  width:min(1720px,100%);
  margin:0 auto;
  padding-top:15px;
}

.product-loading{
  min-height:340px;
  display:grid;
  place-items:center;
  border-radius:30px;
  background:rgba(15,12,25,.82);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 22px 60px rgba(0,0,0,.28);
  font-weight:900;
}

.product-error{
  min-height:420px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:38px;
  border-radius:34px;
  background:
    radial-gradient(620px 290px at 20% 0%,rgba(255,70,110,.22),transparent 70%),
    rgba(15,12,25,.86);
  border:1px solid rgba(255,80,110,.26);
  box-shadow:0 24px 70px rgba(0,0,0,.34);
}

.product-error h1{
  margin:0;
  font-size:clamp(34px,4vw,62px);
  letter-spacing:-.06em;
}

.product-error p{
  margin:12px 0 0;
  color:rgba(255,220,230,.76);
  font-weight:750;
}

.product-error a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:22px;
  min-height:46px;
  padding:0 20px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff7dbc,#d9468d);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 14px 32px rgba(217,70,141,.24);
}

/* HEADER ACCOUNT */

.account-nav__account{
  max-width:230px;
}

.account-nav__avatar{
  width:34px;
  height:34px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:999px;
  background:
    radial-gradient(circle at 35% 25%,rgba(255,255,255,.22),transparent 35%),
    linear-gradient(135deg,#ff7dbc,#d9468d);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 8px 18px rgba(217,70,141,.22);
}

.account-nav__avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.account-nav__avatar span{
  color:#fff;
  font-size:14px;
  font-weight:900;
}

.account-nav__profile{
  min-width:0;
  display:grid;
  gap:1px;
  text-align:left;
}

.account-nav__profile b{
  max-width:128px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:13px;
  font-weight:900;
  line-height:1.1;
}

.account-nav__profile small{
  max-width:128px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.58);
  font-size:11px;
  font-weight:800;
  line-height:1.1;
}

/* BREADCRUMBS */

.product-breadcrumbs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 18px;
  padding:0 4px;
  color:rgba(255,255,255,.52);
  font-size:13px;
  font-weight:850;
}

.product-breadcrumbs a{
  color:rgba(255,255,255,.7);
  text-decoration:none;
  transition:.18s;
}

.product-breadcrumbs a:hover{
  color:#ffc8e4;
}

.product-breadcrumbs span{
  color:rgba(255,125,188,.5);
}

.product-breadcrumbs b{
  max-width:720px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
}

/* MAIN DETAIL */

.product-detail{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);
  gap:30px;
  align-items:start;
}

.product-detail--no-media{
  grid-template-columns:minmax(0,860px);
  justify-content:center;
}

.product-gallery{
  position:sticky;
  top:145px;
  min-width:0;
}

.product-gallery__layout{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:16px;
  align-items:start;
}

.product-gallery__thumbs{
  display:grid;
  gap:12px;
  max-height:780px;
  overflow:auto;
  padding:2px 3px 2px 2px;
}

.product-gallery__thumbs::-webkit-scrollbar{
  width:6px;
}

.product-gallery__thumbs::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04);
  border-radius:999px;
}

.product-gallery__thumbs::-webkit-scrollbar-thumb{
  background:rgba(255,125,188,.34);
  border-radius:999px;
}

.product-gallery__thumbs button{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  width:86px;
  height:102px;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(120px 80px at 50% 0%,rgba(255,125,188,.1),transparent 75%),
    rgba(15,12,25,.8);
  cursor:pointer;
  padding:0;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.product-gallery__thumbs button:hover,
.product-gallery__thumbs button.is-active{
  transform:translateY(-1px);
  border-color:rgba(255,125,188,.64);
  box-shadow:
    0 14px 34px rgba(0,0,0,.28),
    0 0 24px rgba(255,125,188,.14);
}

.product-gallery__thumbs button img,
.product-gallery__thumbs button video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.product-gallery__thumb-video{
  position:relative;
  width:100%;
  height:100%;
  display:block;
}

.product-gallery__thumb-video b{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:18px;
  font-weight:950;
  background:rgba(0,0,0,.22);
  text-shadow:0 2px 14px rgba(0,0,0,.6);
}

.product-gallery__main{
  position:relative;
  width:100%;
  min-height:720px;
  height:720px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:36px;
  background:
    radial-gradient(780px 450px at 50% 10%,rgba(255,125,188,.13),transparent 72%),
    radial-gradient(560px 320px at 90% 0%,rgba(255,209,102,.1),transparent 72%),
    linear-gradient(180deg,rgba(15,12,25,.72),rgba(7,7,13,.88));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    0 28px 80px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.04);
}

.product-gallery__main:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  background:
    linear-gradient(135deg,rgba(255,255,255,.06),transparent 28%,rgba(217,70,141,.06)),
    radial-gradient(460px 240px at 60% 105%,rgba(255,125,188,.11),transparent 70%);
}

.product-gallery__main img,
.product-gallery__main video{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  filter:saturate(1.04) contrast(1.02);
}

.product-gallery__main video{
  background:#000;
}

/* BUYBOX */

.product-buybox{
  position:relative;
  min-width:0;
  padding:32px;
  border-radius:36px;
  background:
    radial-gradient(620px 280px at 18% 0%,rgba(255,125,188,.18),transparent 72%),
    radial-gradient(520px 260px at 96% 6%,rgba(255,209,102,.1),transparent 70%),
    rgba(15,12,25,.86);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 26px 74px rgba(0,0,0,.34);
  overflow:hidden;
}

.product-buybox:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(135deg,rgba(255,255,255,.07),transparent 34%,rgba(217,70,141,.07)),
    radial-gradient(420px 210px at 50% 108%,rgba(255,125,188,.1),transparent 72%);
}

.product-buybox > *{
  position:relative;
  z-index:2;
}

.product-kicker-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.product-eyebrow{
  margin:0;
  color:#ffc8e4;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.16em;
}

.product-wishlist{
  appearance:none;
  -webkit-appearance:none;
  width:48px;
  height:48px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.72);
  font-size:22px;
  line-height:1;
  cursor:pointer;
  box-shadow:
    0 12px 28px rgba(0,0,0,.2),
    inset 0 1px 0 rgba(255,255,255,.06);
  transition:
    transform .22s ease,
    color .22s ease,
    background .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.product-wishlist:hover:not(:disabled){
  transform:translateY(-1px) scale(1.03);
  border-color:rgba(255,125,188,.44);
  color:#ff7dbc;
  background:rgba(255,125,188,.12);
}

.product-wishlist.is-active{
  color:#fff;
  border-color:rgba(255,125,188,.78);
  background:
    radial-gradient(circle at 35% 20%,rgba(255,255,255,.22),transparent 35%),
    linear-gradient(135deg,#ff7dbc,#d9468d);
  box-shadow:
    0 16px 36px rgba(217,70,141,.36),
    0 0 28px rgba(255,125,188,.2),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.product-wishlist:disabled{
  opacity:.62;
  cursor:not-allowed;
}

.product-buybox h1{
  margin:0;
  color:#fff;
  font-size:clamp(38px,4vw,74px);
  line-height:.94;
  letter-spacing:-.075em;
  overflow-wrap:anywhere;
}

.product-short{
  margin:18px 0 0;
  color:rgba(255,255,255,.74);
  font-size:16px;
  font-weight:700;
  line-height:1.6;
}

.product-status-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:20px 0 0;
}

.product-status-row span{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  color:#fff;
  font-size:12px;
  font-weight:950;
}

.product-status-row span:first-child{
  background:linear-gradient(135deg,rgba(255,209,102,.95),rgba(255,159,28,.95));
  color:#241004;
  border-color:rgba(255,209,102,.42);
}

.product-stock-pill--ok{
  background:rgba(95,255,194,.12) !important;
  border-color:rgba(95,255,194,.26) !important;
  color:#96ffd8 !important;
}

.product-stock-pill--warn{
  background:rgba(255,209,102,.13) !important;
  border-color:rgba(255,209,102,.3) !important;
  color:#ffd98d !important;
}

.product-stock-pill--danger{
  background:rgba(255,70,110,.14) !important;
  border-color:rgba(255,70,110,.32) !important;
  color:#ff9fb7 !important;
}

.product-price-row{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:12px;
  margin:24px 0 0;
}

.product-price-row strong{
  color:#fff;
  font-size:clamp(36px,3.8vw,58px);
  font-weight:950;
  line-height:1;
  letter-spacing:-.055em;
}

.product-price-old,
.product-price-old del{
  color:#ff7dbc;
  font-size:19px;
  font-weight:900;
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:#ff7dbc;
  opacity:.86;
}

.product-save{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,125,188,.12);
  border:1px solid rgba(255,125,188,.32);
  color:#ffc8e4;
  font-size:12px;
  font-weight:950;
}

.product-stock-card{
  margin-top:20px;
  padding:16px 18px;
  border-radius:22px;
  background:
    radial-gradient(260px 120px at 18% 0%,rgba(255,125,188,.1),transparent 70%),
    rgba(255,255,255,.052);
  border:1px solid rgba(255,255,255,.09);
}

.product-stock-card b{
  display:block;
  color:#fff;
  font-size:15px;
  font-weight:950;
}

.product-stock-card p{
  margin:5px 0 0;
  color:rgba(255,255,255,.64);
  font-size:13px;
  font-weight:750;
  line-height:1.45;
}

.product-stock-card small{
  display:block;
  margin-top:8px;
  color:#ffc8e4;
  font-size:12px;
  font-weight:900;
}

/* NOZO */

.product-nozo-card{
  margin-top:14px;
  padding:18px 18px;
  border-radius:24px;
  background:
    radial-gradient(260px 130px at 10% 0%,rgba(255,209,102,.2),transparent 70%),
    radial-gradient(240px 110px at 92% 0%,rgba(255,125,188,.14),transparent 72%),
    rgba(255,255,255,.055);
  border:1px solid rgba(255,209,102,.18);
  box-shadow:
    0 16px 36px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.product-nozo-card--live{
  border-color:rgba(255,209,102,.28);
  box-shadow:
    0 18px 42px rgba(0,0,0,.22),
    0 0 26px rgba(255,209,102,.07),
    inset 0 1px 0 rgba(255,255,255,.07);
}

.product-nozo-card span{
  display:block;
  color:#ffd98d;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.product-nozo-card b{
  display:block;
  margin-top:5px;
  color:#fff;
  font-size:15px;
  font-weight:950;
  line-height:1.35;
}

.product-nozo-card p{
  margin:6px 0 0;
  color:rgba(255,255,255,.62);
  font-size:12px;
  font-weight:750;
}

/* ACTIONS */

.product-action-card{
  margin-top:16px;
  padding:18px;
  border-radius:26px;
  background:rgba(0,0,0,.2);
  border:1px solid rgba(255,255,255,.09);
}

.product-qty-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.product-qty-row > span{
  color:rgba(255,255,255,.82);
  font-size:13px;
  font-weight:950;
}

.product-qty{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
}

.product-qty button{
  appearance:none;
  -webkit-appearance:none;
  width:42px;
  height:42px;
  border:0;
  background:transparent;
  color:#fff;
  font-size:20px;
  font-weight:950;
  cursor:pointer;
  transition:.18s;
}

.product-qty button:hover:not(:disabled){
  background:rgba(255,125,188,.14);
  color:#ffc8e4;
}

.product-qty button:disabled{
  cursor:not-allowed;
  opacity:.38;
}

.product-qty b{
  min-width:46px;
  text-align:center;
  color:#fff;
  font-size:15px;
  font-weight:950;
}

.product-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.product-actions--single{
  grid-template-columns:1fr;
}

.product-add-cart{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:58px;
  border:0;
  border-radius:18px;
  background:
    radial-gradient(240px 100px at 25% 0%,rgba(255,255,255,.24),transparent 70%),
    linear-gradient(135deg,#ff7dbc,#d9468d);
  color:#fff;
  font-size:15px;
  font-weight:950;
  cursor:pointer;
  box-shadow:
    0 18px 38px rgba(217,70,141,.32),
    inset 0 1px 0 rgba(255,255,255,.18);
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    filter .2s ease;
}

.product-add-cart:hover:not(:disabled){
  transform:translateY(-1px);
  box-shadow:
    0 22px 48px rgba(217,70,141,.42),
    0 0 26px rgba(255,125,188,.22),
    inset 0 1px 0 rgba(255,255,255,.22);
  filter:saturate(1.08);
}

.product-add-cart:disabled{
  cursor:not-allowed;
  opacity:.55;
  box-shadow:none;
}

.product-message{
  margin:12px 0 0;
  padding:11px 12px;
  border-radius:16px;
  font-size:13px;
  font-weight:850;
  line-height:1.35;
}

.product-message--success{
  background:rgba(95,255,194,.1);
  border:1px solid rgba(95,255,194,.22);
  color:#9dffdc;
}

.product-message--error{
  background:rgba(255,70,110,.12);
  border:1px solid rgba(255,70,110,.25);
  color:#ffafc2;
}

/* TRUST */

.product-trust-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:16px;
}

.product-trust-grid span{
  min-height:48px;
  display:flex;
  align-items:center;
  padding:12px;
  border-radius:18px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:850;
  line-height:1.35;
}

.product-trust-grid--clean{
  grid-template-columns:1fr;
}

.product-trust-grid--clean span{
  min-height:64px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:12px;
  align-items:center;
  padding:14px 15px;
}

.product-trust-grid--clean span i{
  grid-row:1 / span 2;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,125,188,.12);
  color:#ff7dbc;
  font-size:12px;
  font-style:normal;
}

.product-trust-grid--clean span strong{
  display:block;
  color:#fff;
  font-size:13px;
  font-weight:950;
  line-height:1.15;
}

.product-trust-grid--clean span small{
  display:block;
  margin-top:3px;
  color:rgba(255,255,255,.62);
  font-size:12px;
  font-weight:750;
  line-height:1.35;
}

.product-trust-grid--highlight{
  background:
    radial-gradient(340px 140px at 12% 0%,rgba(255,125,188,.1),transparent 72%),
    rgba(255,255,255,.028);
  border:1px solid rgba(255,255,255,.06);
  border-radius:24px;
  padding:10px;
}

.product-trust-grid--highlight span{
  background:
    linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.035));
  border-color:rgba(255,255,255,.1);
}

.product-trust-grid--highlight span:hover{
  border-color:rgba(255,125,188,.22);
  background:
    radial-gradient(180px 80px at 12% 0%,rgba(255,125,188,.1),transparent 70%),
    rgba(255,255,255,.055);
}

/* TAGS UNDER BUYBOX */

.product-tags-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}

.product-tags-row a{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,125,188,.1);
  border:1px solid rgba(255,125,188,.24);
  color:#ffc8e4;
  text-decoration:none;
  font-size:12px;
  font-weight:950;
  transition:.18s;
}

.product-tags-row a:hover{
  background:rgba(255,125,188,.16);
  border-color:rgba(255,125,188,.38);
  color:#fff;
  transform:translateY(-1px);
}

/* FULL INFO */

.product-full-info{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:22px;
  margin-top:28px;
}

.product-info-block{
  min-width:0;
  padding:26px;
  border-radius:30px;
  background:
    radial-gradient(420px 180px at 14% 0%,rgba(255,125,188,.12),transparent 72%),
    rgba(15,12,25,.82);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 58px rgba(0,0,0,.24);
}

.product-info-block--wide{
  grid-column:1 / -1;
}

.product-info-block h2{
  margin:8px 0 0;
  color:#fff;
  font-size:clamp(26px,2.4vw,40px);
  line-height:1;
  letter-spacing:-.052em;
}

.product-info-block p:not(.product-eyebrow){
  margin:16px 0 0;
  color:rgba(255,255,255,.7);
  font-size:15px;
  font-weight:650;
  line-height:1.75;
  white-space:pre-line;
}

.product-spec-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}

.product-spec-list span{
  min-height:58px;
  display:grid;
  gap:4px;
  align-content:center;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;
  font-size:13px;
  font-weight:850;
  overflow:hidden;
  text-overflow:ellipsis;
}

.product-spec-list b{
  color:#ffc8e4;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.product-link-list{
  display:grid;
  gap:10px;
  margin-top:18px;
}

.product-link-list a{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-height:74px;
  padding:8px;
  border-radius:20px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;
  text-decoration:none;
  transition:.2s;
}

.product-link-list a:hover{
  transform:translateY(-1px);
  background:rgba(255,125,188,.08);
  border-color:rgba(255,125,188,.24);
}

.product-link-list img,
.product-link-list span{
  width:64px;
  height:58px;
  display:block;
  object-fit:cover;
  border-radius:15px;
  background:
    radial-gradient(90px 60px at 50% 0%,rgba(255,125,188,.18),transparent 70%),
    rgba(0,0,0,.24);
}

.product-link-list b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
  font-weight:950;
}

.product-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}

.product-chip-list a{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  border-radius:999px;
  background:rgba(255,125,188,.1);
  border:1px solid rgba(255,125,188,.24);
  color:#ffc8e4;
  text-decoration:none;
  font-size:13px;
  font-weight:950;
  transition:.18s;
}

.product-chip-list a:hover{
  background:rgba(255,125,188,.16);
  color:#fff;
  transform:translateY(-1px);
}

/* RELATED */

.product-related-section{
  margin-top:34px;
  padding:28px;
  border-radius:34px;
  background:
    radial-gradient(620px 260px at 12% 0%,rgba(255,125,188,.13),transparent 70%),
    rgba(15,12,25,.72);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 22px 64px rgba(0,0,0,.26);
}

.product-related-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}

.product-related-head h2{
  margin:8px 0 0;
  font-size:clamp(30px,3vw,48px);
  line-height:1;
  letter-spacing:-.058em;
}

.product-related-head a{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:950;
  transition:.2s;
}

.product-related-head a:hover{
  transform:translateY(-1px);
  border-color:rgba(255,125,188,.34);
  background:rgba(255,125,188,.12);
}

.product-related-rail{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}

.product-related-rail--second{
  margin-top:16px;
}

.product-page-related-card.product-card{
  min-width:0 !important;
  overflow:hidden !important;
}

.product-page-related-card .product-card__content{
  min-width:0 !important;
}

.product-page-related-card .product-card__title{
  min-height:42px !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.product-page-related-card .product-card__price-hld{
  justify-content:flex-end !important;
  margin-top:auto !important;
}

/* HOME CARD COMPAT FIX */

.product-page .product-card__badges{
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  z-index:3;
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:7px;
  pointer-events:none;
}

.product-page .product-card__badges span{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border-radius:999px;
  background:rgba(8,8,13,.74);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-size:11px;
  font-weight:950;
  backdrop-filter:blur(12px);
}

.product-page .product-card__badges span:first-child{
  background:linear-gradient(135deg,rgba(255,209,102,.95),rgba(255,159,28,.95));
  color:#241004;
}

/* RESPONSIVE */

@media (max-width:1400px){
  .product-shell{
    width:min(1280px,100%);
  }

  .product-detail{
    grid-template-columns:minmax(0,1fr) minmax(390px,.82fr);
    gap:24px;
  }

  .product-gallery__main{
    min-height:620px;
    height:620px;
  }

  .product-related-rail{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media (max-width:1100px){
  .product-page{
    padding:235px 18px 44px;
  }

  .product-detail{
    grid-template-columns:1fr;
  }

  .product-gallery{
    position:relative;
    top:auto;
  }

  .product-gallery__main{
    min-height:560px;
    height:560px;
  }

  .product-buybox{
    padding:28px;
  }

  .product-full-info{
    grid-template-columns:1fr;
  }

  .product-related-rail{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .account-nav__account .account-nav__profile{
    display:none;
  }

  .account-nav__account{
    max-width:none;
  }
}

@media (max-width:680px){
  .product-page{
    padding:215px 12px 36px;
  }

  .product-shell{
    width:100%;
    padding-top:15px;
  }

  .product-breadcrumbs{
    padding:0 6px;
    gap:8px;
    font-size:12px;
  }

  .product-breadcrumbs b{
    max-width:230px;
  }

  .product-detail{
    gap:16px;
  }

  .product-gallery__layout{
    display:flex;
    flex-direction:column-reverse;
    gap:12px;
  }

  .product-gallery__thumbs{
    display:flex;
    gap:10px;
    max-height:none;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 4px 8px;
    -webkit-overflow-scrolling:touch;
  }

  .product-gallery__thumbs button{
    width:76px;
    height:88px;
    flex:0 0 76px;
    border-radius:15px;
  }

  .product-gallery__main{
    min-height:0;
    height:auto;
    aspect-ratio:1 / 1.18;
    border-radius:26px;
  }

  .product-gallery__main img,
  .product-gallery__main video{
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    object-position:center;
  }

  .product-buybox{
    padding:22px;
    border-radius:28px;
  }

  .product-buybox h1{
    font-size:clamp(34px,12vw,54px);
  }

  .product-short{
    font-size:14px;
    line-height:1.55;
  }

  .product-wishlist{
    width:44px;
    height:44px;
  }

  .product-price-row{
    gap:9px;
  }

  .product-price-row strong{
    font-size:40px;
  }

  .product-price-old,
  .product-price-old del{
    font-size:16px;
  }

  .product-stock-card,
  .product-nozo-card,
  .product-action-card{
    border-radius:22px;
  }

  .product-qty-row{
    align-items:flex-start;
    flex-direction:column;
  }

  .product-qty{
    width:100%;
    justify-content:space-between;
  }

  .product-qty button{
    width:54px;
  }

  .product-qty b{
    flex:1;
  }

  .product-trust-grid{
    grid-template-columns:1fr;
  }

  .product-trust-grid--highlight{
    padding:8px;
  }

  .product-full-info{
    gap:16px;
    margin-top:18px;
  }

  .product-info-block{
    padding:22px;
    border-radius:26px;
  }

  .product-info-block h2{
    font-size:30px;
  }

  .product-info-block p:not(.product-eyebrow){
    font-size:14px;
    line-height:1.62;
  }

  .product-spec-list{
    grid-template-columns:1fr;
  }

  .product-related-section{
    margin-top:22px;
    padding:20px;
    border-radius:28px;
  }

  .product-related-head{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }

  .product-related-head h2{
    font-size:34px;
  }

  .product-related-rail{
    display:flex;
    gap:14px;
    overflow-x:auto;
    padding:2px 2px 10px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }

  .product-related-rail::-webkit-scrollbar{
    height:7px;
  }

  .product-related-rail::-webkit-scrollbar-track{
    background:rgba(255,255,255,.04);
    border-radius:999px;
  }

  .product-related-rail::-webkit-scrollbar-thumb{
    background:rgba(255,125,188,.35);
    border-radius:999px;
  }

  .product-page-related-card.product-card{
    width:220px !important;
    min-width:220px !important;
    scroll-snap-align:start;
  }

  .product-page-related-card .product-card__title{
    min-height:auto !important;
  }
}

@media (max-width:430px){
  .product-page{
    padding:205px 10px 32px;
  }

  .product-buybox{
    padding:19px;
    border-radius:25px;
  }

  .product-gallery__main{
    border-radius:24px;
  }

  .product-status-row span{
    min-height:30px;
    font-size:11px;
    padding:0 10px;
  }

  .product-price-row strong{
    font-size:36px;
  }

  .product-stock-card,
  .product-nozo-card,
  .product-action-card{
    padding:15px;
  }

  .product-add-cart{
    min-height:54px;
  }

  .product-info-block{
    padding:19px;
    border-radius:24px;
  }

  .product-related-section{
    padding:18px;
  }

  .product-page-related-card.product-card{
    width:205px !important;
    min-width:205px !important;
  }
}

@media (max-width:390px){
  .product-page{
    padding:200px 8px 30px;
  }

  .product-breadcrumbs b{
    max-width:190px;
  }

  .product-gallery__thumbs button{
    width:70px;
    height:82px;
    flex-basis:70px;
  }

  .product-buybox h1{
    font-size:34px;
  }

  .product-price-row strong{
    font-size:34px;
  }

  .product-trust-grid--clean span{
    grid-template-columns:30px minmax(0,1fr);
    column-gap:10px;
    padding:12px;
  }

  .product-trust-grid--clean span i{
    width:30px;
    height:30px;
  }

  .product-page-related-card.product-card{
    width:190px !important;
    min-width:190px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  *,
  *:before,
  *:after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}

/* === CART PORT FROM THE ORIGINAL EROKAMI FRONTEND === */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");

*{
  box-sizing:border-box;
}

.cart-page{
  min-height:100vh;
  padding:320px 34px 70px;
  font-family:"Inter",sans-serif;
  color:#fff;
}

.cart-page button,
.cart-page input{
  font:inherit;
}

.cart-shell{
  width:min(1480px,100%);
  margin:0 auto;
}

.cart-loading{
  min-height:340px;
  display:grid;
  place-items:center;
  border-radius:30px;
  background:rgba(15,12,25,.82);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 22px 60px rgba(0,0,0,.28);
  font-weight:900;
}

/* HERO */

.cart-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:28px;
  align-items:stretch;
  overflow:hidden;
  margin:0 0 34px;
  padding:42px;
  border-radius:36px;
  background:
    radial-gradient(780px 340px at 12% 0%,rgba(255,125,188,.24),transparent 70%),
    radial-gradient(620px 280px at 94% 16%,rgba(255,209,102,.14),transparent 72%),
    linear-gradient(180deg,rgba(16,12,25,.92),rgba(10,9,16,.88));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 28px 80px rgba(0,0,0,.38);
}

.cart-hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(135deg,rgba(255,255,255,.08),transparent 34%,rgba(217,70,141,.08)),
    radial-gradient(460px 220px at 50% 115%,rgba(255,125,188,.12),transparent 72%);
}

.cart-hero > *{
  position:relative;
  z-index:2;
}

.cart-eyebrow{
  margin:0 0 10px;
  color:#ffc8e4;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.16em;
}

.cart-hero h1{
  margin:0;
  max-width:820px;
  font-size:clamp(44px,5vw,86px);
  line-height:.92;
  letter-spacing:-.075em;
}

.cart-hero p:not(.cart-eyebrow){
  margin:18px 0 0;
  max-width:780px;
  color:rgba(255,255,255,.72);
  font-size:16px;
  line-height:1.65;
  font-weight:650;
}

.cart-summary-mini{
  min-height:190px;
  display:grid;
  align-content:center;
  justify-items:start;
  gap:8px;
  padding:28px;
  border-radius:28px;
  background:
    radial-gradient(260px 150px at 20% 0%,rgba(255,125,188,.18),transparent 70%),
    rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 18px 42px rgba(0,0,0,.22);
}

.cart-summary-mini span{
  color:#ffc8e4;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.cart-summary-mini b{
  color:#fff;
  font-size:62px;
  font-weight:950;
  line-height:.9;
  letter-spacing:-.07em;
}

.cart-summary-mini small{
  color:rgba(255,255,255,.65);
  font-size:13px;
  font-weight:800;
}

/* HEADER ACCOUNT LIKE HOME */

.account-nav__account{
  max-width:230px;
}

.account-nav__avatar{
  width:34px;
  height:34px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:999px;
  background:
    radial-gradient(circle at 35% 25%,rgba(255,255,255,.22),transparent 35%),
    linear-gradient(135deg,#ff7dbc,#d9468d);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 8px 18px rgba(217,70,141,.22);
}

.account-nav__avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.account-nav__avatar span{
  color:#fff;
  font-size:14px;
  font-weight:900;
}

.account-nav__profile{
  min-width:0;
  display:grid;
  gap:1px;
  text-align:left;
}

.account-nav__profile b{
  max-width:128px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:13px;
  font-weight:900;
  line-height:1.1;
}

.account-nav__profile small{
  max-width:128px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.58);
  font-size:11px;
  font-weight:800;
  line-height:1.1;
}

/* LOGIN / ERROR / EMPTY */

.cart-login-card,
.cart-error,
.cart-empty{
  min-height:360px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:42px;
  border-radius:34px;
  background:
    radial-gradient(520px 210px at 20% 0%,rgba(255,125,188,.14),transparent 70%),
    rgba(15,12,25,.8);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 22px 60px rgba(0,0,0,.26);
}

.cart-login-card h2,
.cart-error h2,
.cart-empty h2{
  margin:0;
  font-size:clamp(30px,3vw,46px);
  letter-spacing:-.055em;
}

.cart-login-card p,
.cart-error p,
.cart-empty p{
  max-width:620px;
  margin:12px auto 0;
  color:rgba(255,255,255,.66);
  font-weight:700;
  line-height:1.6;
}

.cart-login-card a,
.cart-empty a,
.cart-error button{
  appearance:none;
  -webkit-appearance:none;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:22px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#ff7dbc,#d9468d);
  color:#fff;
  font-weight:950;
  text-decoration:none;
  cursor:pointer;
  box-shadow:
    0 16px 34px rgba(217,70,141,.32),
    inset 0 1px 0 rgba(255,255,255,.16);
}

.cart-login-card a:hover,
.cart-empty a:hover,
.cart-error button:hover{
  transform:translateY(-1px);
}

.cart-error{
  background:
    radial-gradient(520px 210px at 20% 0%,rgba(255,70,110,.2),transparent 70%),
    rgba(15,12,25,.84);
  border-color:rgba(255,80,110,.24);
}

/* LAYOUT */

.cart-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:22px;
  align-items:start;
}

.cart-items{
  min-width:0;
  display:grid;
  gap:18px;
}

/* CART LINE */

.cart-line{
  min-width:0;
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  overflow:hidden;
  border-radius:28px;
  background:
    radial-gradient(360px 180px at 12% 0%,rgba(255,125,188,.1),transparent 72%),
    rgba(15,12,25,.82);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    0 22px 54px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.045);
  transition:
    transform .24s ease,
    border-color .24s ease,
    box-shadow .24s ease;
}

.cart-line:hover{
  transform:translateY(-3px);
  border-color:rgba(255,125,188,.34);
  box-shadow:
    0 26px 62px rgba(0,0,0,.34),
    0 0 26px rgba(255,125,188,.1),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.cart-line--problem{
  border-color:rgba(255,80,110,.28);
  background:
    radial-gradient(360px 180px at 12% 0%,rgba(255,80,110,.12),transparent 72%),
    rgba(15,12,25,.86);
}

.cart-line__media{
  position:relative;
  min-width:0;
  height:100%;
  min-height:250px;
  display:block;
  overflow:hidden;
  background:
    radial-gradient(320px 220px at 50% 25%,rgba(255,125,188,.22),transparent 70%),
    linear-gradient(180deg,rgba(38,12,31,.72),rgba(5,5,11,.96));
  text-decoration:none;
}

.cart-line__media:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.06),transparent 34%,rgba(0,0,0,.18)),
    radial-gradient(220px 160px at 80% 0%,rgba(255,255,255,.1),transparent 72%);
}

.cart-line__media img{
  width:100%;
  height:100%;
  min-height:250px;
  object-fit:cover;
  object-position:center;
  display:block;
  transform:scale(1.01);
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
}

.cart-line:hover .cart-line__media img{
  transform:scale(1.045);
}

.cart-line__empty{
  width:100%;
  height:100%;
  min-height:250px;
  display:block;
  background:
    radial-gradient(320px 220px at 50% 28%,rgba(255,125,188,.24),transparent 70%),
    radial-gradient(300px 220px at 74% 0%,rgba(255,209,102,.12),transparent 72%),
    linear-gradient(180deg,rgba(38,12,31,.76),rgba(5,5,11,.96));
}

.cart-line__badges{
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  z-index:4;
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:7px;
  pointer-events:none;
}

.cart-line__badges span{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border-radius:999px;
  background:rgba(8,8,13,.74);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-size:11px;
  font-weight:950;
  backdrop-filter:blur(12px);
}

.cart-line__badges span:first-child{
  background:linear-gradient(135deg,rgba(255,209,102,.95),rgba(255,159,28,.95));
  color:#241004;
}

.cart-line__body{
  min-width:0;
  min-height:250px;
  display:flex;
  flex-direction:column;
  padding:22px;
}

.cart-line__top{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  gap:14px;
  align-items:start;
}

.cart-line__title{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#fff;
  font-size:22px;
  font-weight:950;
  line-height:1.13;
  letter-spacing:-.04em;
  text-decoration:none;
}

.cart-line__title:hover{
  color:#ffc8e4;
}

.cart-line__top p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:9px 0 0;
  color:rgba(255,255,255,.62);
  font-size:13px;
  font-weight:650;
  line-height:1.48;
}

.cart-line__remove{
  appearance:none;
  -webkit-appearance:none;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.065);
  color:#fff;
  font-size:24px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:
    0 12px 28px rgba(0,0,0,.2),
    inset 0 1px 0 rgba(255,255,255,.06);
  transition:
    transform .2s ease,
    background .2s ease,
    border-color .2s ease,
    opacity .2s ease;
}

.cart-line__remove:hover:not(:disabled){
  transform:translateY(-1px) scale(1.04);
  background:rgba(255,80,110,.16);
  border-color:rgba(255,80,110,.35);
}

.cart-line__remove:disabled{
  cursor:not-allowed;
  opacity:.52;
}

.cart-line__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0 0;
}

.cart-line__meta a,
.cart-stock-pill{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  padding:0 11px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.78);
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}

.cart-line__meta a:hover{
  color:#fff;
  background:rgba(255,125,188,.12);
  border-color:rgba(255,125,188,.28);
}

.cart-stock-pill--ok{
  background:rgba(76,217,148,.12);
  border-color:rgba(76,217,148,.22);
  color:#a7ffd2;
}

.cart-stock-pill--warn{
  background:rgba(255,209,102,.12);
  border-color:rgba(255,209,102,.25);
  color:#ffe3a1;
}

.cart-stock-pill--danger{
  background:rgba(255,80,110,.14);
  border-color:rgba(255,80,110,.3);
  color:#ffb1c0;
}

.cart-line__bottom{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:end;
  gap:16px;
  margin-top:auto;
  padding-top:22px;
}

.cart-line__price,
.cart-line__total{
  min-width:0;
  display:grid;
  gap:6px;
}

.cart-line__price span,
.cart-line__total span{
  color:rgba(255,255,255,.48);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.cart-line__price strong,
.cart-line__total strong{
  color:#fff;
  font-size:23px;
  font-weight:950;
  line-height:1;
  letter-spacing:-.04em;
  white-space:nowrap;
}

.cart-line__total{
  justify-items:end;
  text-align:right;
}

.cart-line__qty{
  min-height:44px;
  display:inline-grid;
  grid-template-columns:42px 52px 42px;
  align-items:center;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:
    0 12px 26px rgba(0,0,0,.2),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.cart-line__qty button{
  appearance:none;
  -webkit-appearance:none;
  width:42px;
  height:44px;
  border:0;
  background:transparent;
  color:#fff;
  font-size:18px;
  font-weight:950;
  cursor:pointer;
}

.cart-line__qty button:hover:not(:disabled){
  background:rgba(255,125,188,.14);
}

.cart-line__qty button:disabled{
  cursor:not-allowed;
  opacity:.38;
}

.cart-line__qty b{
  display:grid;
  place-items:center;
  height:44px;
  color:#fff;
  font-size:14px;
  font-weight:950;
  border-left:1px solid rgba(255,255,255,.08);
  border-right:1px solid rgba(255,255,255,.08);
}

.cart-line__warning{
  margin-top:14px;
  padding:11px 13px;
  border-radius:16px;
  background:rgba(255,80,110,.12);
  border:1px solid rgba(255,80,110,.22);
  color:#ffd0d9;
  font-size:12px;
  font-weight:800;
  line-height:1.45;
}

/* SIDE PANEL */

.cart-panel{
  position:sticky;
  top:110px;
  display:grid;
  gap:16px;
}

.cart-panel__card{
  overflow:hidden;
  padding:26px;
  border-radius:30px;
  background:
    radial-gradient(420px 180px at 20% 0%,rgba(255,125,188,.13),transparent 70%),
    linear-gradient(180deg,rgba(18,13,29,.9),rgba(10,9,16,.9));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:
    0 26px 68px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.cart-panel__card h2{
  margin:0 0 20px;
  color:#fff;
  font-size:28px;
  font-weight:950;
  letter-spacing:-.055em;
}

.cart-totals{
  display:grid;
  gap:12px;
}

.cart-totals span{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:rgba(255,255,255,.72);
  font-size:14px;
  font-weight:800;
}

.cart-totals span b{
  font-weight:900;
}

.cart-totals span strong{
  color:#fff;
  font-size:15px;
  font-weight:950;
  white-space:nowrap;
}

.cart-totals__final{
  margin-top:8px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.1);
}

.cart-totals__final b{
  color:#fff;
  font-size:17px;
}

.cart-totals__final strong{
  color:#fff !important;
  font-size:26px !important;
  letter-spacing:-.045em;
}

.cart-coupon{
  display:grid;
  gap:10px;
  margin-top:22px;
}

.cart-coupon label{
  color:#ffc8e4;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.cart-coupon > div{
  min-height:50px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 96px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:
    0 12px 26px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.cart-coupon input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  padding:0 18px;
  background:transparent;
  color:#fff;
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
}

.cart-coupon input::placeholder{
  color:rgba(255,255,255,.35);
}

.cart-coupon button{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:linear-gradient(135deg,#ff7dbc,#d9468d);
  color:#fff;
  font-size:13px;
  font-weight:950;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}

.cart-coupon button:hover:not(:disabled){
  filter:saturate(1.12);
}

.cart-coupon button:disabled,
.cart-coupon input:disabled{
  cursor:not-allowed;
  opacity:.58;
}

.cart-coupon-applied{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(76,217,148,.11);
  border:1px solid rgba(76,217,148,.2);
}

.cart-coupon-applied span{
  min-width:0;
  color:#b8ffdc;
  font-size:13px;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cart-coupon-applied button{
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 auto;
  border:0;
  background:transparent;
  color:#fff;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}

.cart-message{
  margin:14px 0 0;
  padding:11px 13px;
  border-radius:16px;
  font-size:12px;
  font-weight:850;
  line-height:1.45;
}

.cart-message--success{
  background:rgba(76,217,148,.12);
  border:1px solid rgba(76,217,148,.22);
  color:#a7ffd2;
}

.cart-message--error{
  background:rgba(255,80,110,.12);
  border:1px solid rgba(255,80,110,.22);
  color:#ffd0d9;
}

.cart-checkout{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:18px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#ff7dbc,#d9468d);
  color:#fff;
  font-size:15px;
  font-weight:950;
  cursor:pointer;
  box-shadow:
    0 18px 38px rgba(217,70,141,.34),
    inset 0 1px 0 rgba(255,255,255,.16);
}

.cart-checkout:hover:not(:disabled){
  transform:translateY(-1px);
  filter:saturate(1.12);
}

.cart-checkout:disabled{
  cursor:not-allowed;
  opacity:.58;
}

.cart-continue{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:12px;
  border-radius:999px;
  background:rgba(255,255,255,.065);
  border:1px solid rgba(255,255,255,.1);
  color:#fff;
  font-size:13px;
  font-weight:950;
  text-decoration:none;
}

.cart-continue:hover{
  background:rgba(255,125,188,.12);
  border-color:rgba(255,125,188,.28);
}

.cart-panel__trust{
  display:grid;
  gap:10px;
  padding:18px;
  border-radius:24px;
  background:rgba(15,12,25,.72);
  border:1px solid rgba(255,255,255,.075);
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}

.cart-panel__trust span{
  display:grid;
  gap:4px;
  padding:12px;
  border-radius:18px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.06);
}

.cart-panel__trust b{
  color:#fff;
  font-size:13px;
  font-weight:950;
}

.cart-panel__trust small{
  color:rgba(255,255,255,.58);
  font-size:12px;
  font-weight:750;
  line-height:1.45;
}

/* RESPONSIVE */

@media (max-width:1180px){
  .cart-page{
    padding-top:315px;
  }

  .cart-shell{
    width:min(980px,100%);
  }

  .cart-layout{
    grid-template-columns:1fr;
  }

  .cart-panel{
    position:relative;
    top:auto;
  }

  .cart-line{
    grid-template-columns:230px minmax(0,1fr);
  }
}

@media (max-width:900px){
  .cart-page{
    padding:310px 22px 54px;
  }

  .cart-shell{
    width:100%;
  }

  .cart-hero{
    grid-template-columns:1fr;
    gap:20px;
    padding:34px;
    margin-bottom:28px;
  }

  .cart-summary-mini{
    min-height:0;
  }
}

@media (max-width:760px){
  .account-nav__account .account-nav__profile{
    display:none;
  }

  .account-nav__account{
    max-width:none;
  }
}

@media (max-width:680px){
  .cart-page{
    padding:305px 18px 42px;
  }

  .cart-shell{
    width:100%;
  }

  .cart-hero{
    padding:26px 22px;
    border-radius:28px;
    margin:0 0 24px;
  }

  .cart-hero h1{
    font-size:clamp(38px,12vw,58px);
  }

  .cart-hero p:not(.cart-eyebrow){
    font-size:14px;
    line-height:1.55;
  }

  .cart-summary-mini{
    padding:20px;
    border-radius:22px;
  }

  .cart-summary-mini b{
    font-size:46px;
  }

  .cart-layout{
    gap:18px;
  }

  .cart-items{
    gap:16px;
  }

  .cart-line{
    grid-template-columns:138px minmax(0,1fr);
    min-height:184px;
    border-radius:20px;
  }

  .cart-line__media,
  .cart-line__media img,
  .cart-line__empty{
    min-height:184px;
    height:184px;
  }

  .cart-line__body{
    min-height:184px;
    padding:15px 13px 13px;
  }

  .cart-line__top{
    grid-template-columns:minmax(0,1fr) 36px;
    gap:10px;
  }

  .cart-line__title{
    font-size:15px;
    line-height:1.28;
    -webkit-line-clamp:3;
  }

  .cart-line__top p{
    margin-top:6px;
    font-size:12px;
    line-height:1.35;
    -webkit-line-clamp:2;
  }

  .cart-line__remove{
    width:36px;
    height:36px;
    font-size:20px;
  }

  .cart-line__badges{
    top:8px;
    left:8px;
    right:8px;
    gap:6px;
  }

  .cart-line__badges span{
    min-height:24px;
    padding:0 8px;
    font-size:10px;
  }

  .cart-line__meta{
    display:none;
  }

  .cart-line__bottom{
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    padding-top:10px;
  }

  .cart-line__price{
    display:none;
  }

  .cart-line__total{
    justify-items:start;
    text-align:left;
  }

  .cart-line__total span{
    font-size:10px;
  }

  .cart-line__total strong{
    font-size:16px;
  }

  .cart-line__qty{
    min-height:36px;
    grid-template-columns:34px 42px 34px;
  }

  .cart-line__qty button,
  .cart-line__qty b{
    height:36px;
  }

  .cart-line__qty button{
    width:34px;
    font-size:16px;
  }

  .cart-line__qty b{
    font-size:13px;
  }

  .cart-line__warning{
    margin-top:10px;
    padding:9px 11px;
    border-radius:14px;
    font-size:11px;
  }

  .cart-panel__card{
    padding:22px;
    border-radius:26px;
  }

  .cart-panel__card h2{
    font-size:25px;
  }

  .cart-login-card,
  .cart-error,
  .cart-empty{
    min-height:300px;
    padding:28px 18px;
    border-radius:24px;
  }
}

@media (max-width:430px){
  .cart-page{
    padding:300px 20px 38px;
  }

  .cart-hero{
    padding:24px 20px;
    border-radius:26px;
  }

  .cart-layout{
    gap:16px;
  }

  .cart-line{
    grid-template-columns:122px minmax(0,1fr);
    min-height:174px;
  }

  .cart-line__media,
  .cart-line__media img,
  .cart-line__empty{
    min-height:174px;
    height:174px;
  }

  .cart-line__body{
    min-height:174px;
    padding:13px 11px 11px;
  }

  .cart-line__title{
    font-size:14px;
  }

  .cart-line__top p{
    font-size:11px;
  }

  .cart-line__total strong{
    font-size:15px;
  }

  .cart-line__qty{
    grid-template-columns:32px 38px 32px;
  }

  .cart-coupon > div{
    grid-template-columns:minmax(0,1fr) 82px;
  }

  .cart-coupon input{
    padding:0 14px;
    font-size:13px;
  }

  .cart-coupon button{
    font-size:12px;
  }
}

@media (max-width:390px){
  .cart-page{
    padding:295px 18px 38px;
  }

  .cart-hero{
    padding:22px 18px;
  }

  .cart-line{
    grid-template-columns:118px minmax(0,1fr);
  }

  .cart-panel__card{
    padding:19px;
  }
}

@media (max-width:360px){
  .cart-page{
    padding:290px 16px 36px;
  }

  .cart-line{
    grid-template-columns:112px minmax(0,1fr);
  }

  .cart-line__media,
  .cart-line__media img,
  .cart-line__empty{
    min-height:168px;
    height:168px;
  }

  .cart-line__body{
    min-height:168px;
  }

  .cart-line__top{
    grid-template-columns:minmax(0,1fr) 34px;
  }

  .cart-line__remove{
    width:34px;
    height:34px;
    font-size:18px;
  }

  .cart-panel__card{
    padding:18px;
  }
}

@media (prefers-reduced-motion:reduce){
  *,
  *:before,
  *:after{
    animation:none !important;
    transition:none !important;
  }
}

/* CART SPACING TRUE 15PX FIX */
/* Mets ça tout en bas de Cart.css */

.cart-page{
  padding-top:15px !important;
  padding-left:15px !important;
  padding-right:15px !important;
  padding-bottom:70px !important;
}

.cart-shell{
  width:min(1480px, calc(100vw - 30px)) !important;
  max-width:calc(100vw - 30px) !important;
  margin:0 auto !important;
}

.cart-hero{
  margin-top:0 !important;
  margin-bottom:34px !important;
}

@media (max-width:900px){
  .cart-page{
    padding-top:15px !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .cart-shell{
    width:calc(100vw - 36px) !important;
    max-width:calc(100vw - 36px) !important;
  }
}

@media (max-width:680px){
  .cart-page{
    padding-top:15px !important;
    padding-left:20px !important;
    padding-right:20px !important;
    padding-bottom:44px !important;
  }

  .cart-shell{
    width:calc(100vw - 40px) !important;
    max-width:calc(100vw - 40px) !important;
  }
}

@media (max-width:430px){
  .cart-page{
    padding-top:15px !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .cart-shell{
    width:calc(100vw - 40px) !important;
    max-width:calc(100vw - 40px) !important;
  }
}

@media (max-width:360px){
  .cart-page{
    padding-top:15px !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .cart-shell{
    width:calc(100vw - 32px) !important;
    max-width:calc(100vw - 32px) !important;
  }
}

/* LOAD MORE CART ITEMS */

.cart-load-more{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:2px;
  padding:0 24px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#ff7dbc,#d9468d);
  color:#fff;
  font-size:14px;
  font-weight:950;
  cursor:pointer;
  box-shadow:
    0 16px 34px rgba(217,70,141,.28),
    inset 0 1px 0 rgba(255,255,255,.16);
  transition:
    transform .2s ease,
    filter .2s ease,
    opacity .2s ease;
}

.cart-load-more:hover:not(:disabled){
  transform:translateY(-1px);
  filter:saturate(1.12);
}

.cart-load-more:disabled{
  cursor:not-allowed;
  opacity:.58;
}

/* EXTRA SAFE SPACING FOR CART PAGE */

.cart-page--safe-space{
  overflow-x:hidden;
}

.cart-page--safe-space .cart-shell{
  padding-left:0;
  padding-right:0;
}

@media (max-width:680px){
  .cart-page--safe-space{
    padding-left:22px;
    padding-right:22px;
  }

  .cart-page--safe-space .cart-shell{
    width:100%;
    max-width:100%;
  }

  .cart-load-more{
    min-height:50px;
    font-size:13px;
  }
}

@media (max-width:430px){
  .cart-page--safe-space{
    padding-left:20px;
    padding-right:20px;
  }

  .cart-load-more{
    min-height:48px;
    padding:0 18px;
    font-size:12px;
  }
}

@media (max-width:360px){
  .cart-page--safe-space{
    padding-left:18px;
    padding-right:18px;
  }
}

/* === SEARCH PORT FROM THE ORIGINAL EROKAMI FRONTEND === */
/* =========================================================
   Search.css — EroKami search page
   Safe responsive layout + pagination + filters
   ========================================================= */

.search-page {
  width: 100%;
  min-height: 100vh;
}

.search-shell {
  width: min(1540px, calc(100% - 40px));
  margin: 0 auto;
  padding: 44px 0 72px;
}

.search-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: end;
  margin-bottom: 22px;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 0%, rgba(217, 70, 141, 0.28), transparent 34%),
    radial-gradient(circle at 86% 18%, rgba(125, 71, 255, 0.2), transparent 32%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.03));
  box-shadow: 0 24px 90px rgba(0, 0, 0, 0.28);
}

.search-hero::before {
  content: "";
  position: absolute;
  inset: -80px -120px auto auto;
  width: 320px;
  height: 320px;
  border-radius: 999px;
  background: rgba(217, 70, 141, 0.18);
  filter: blur(42px);
  pointer-events: none;
}

.search-eyebrow {
  margin: 0 0 8px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.search-hero h1 {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #fff;
  font-size: clamp(32px, 4vw, 62px);
  line-height: 0.95;
  letter-spacing: -0.055em;
}

.search-hero p {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 12px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 15px;
  line-height: 1.55;
}

.search-count-card {
  position: relative;
  z-index: 1;
  min-width: 170px;
  padding: 18px 20px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 24px;
  background: rgba(12, 8, 16, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  text-align: right;
}

.search-count-card span {
  display: block;
  margin-bottom: 4px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.11em;
}

.search-count-card b {
  display: block;
  color: #fff;
  font-size: 38px;
  line-height: 1;
  letter-spacing: -0.045em;
}

.search-count-card small {
  display: block;
  margin-top: 7px;
  color: rgba(255, 255, 255, 0.55);
  font-size: 12px;
}

/* =========================================================
   Filters
   ========================================================= */

.search-filters {
  display: grid;
  grid-template-columns:
    minmax(240px, 1.55fr)
    minmax(136px, 0.72fr)
    minmax(128px, 0.68fr)
    minmax(110px, 0.55fr)
    minmax(110px, 0.55fr)
    minmax(118px, 0.52fr)
    auto;
  gap: 12px;
  align-items: end;
  margin: 0 0 30px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.105);
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.072), rgba(255, 255, 255, 0.035)),
    rgba(13, 8, 17, 0.72);
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(18px);
}

.search-field {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.search-field > span,
.search-checks-title {
  color: rgba(255, 255, 255, 0.66);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.search-field input,
.search-field select {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(255, 255, 255, 0.145);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.065);
  color: #fff;
  padding: 0 14px;
  outline: none;
  font: inherit;
  font-size: 14px;
  transition:
    border-color 0.18s ease,
    background 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.search-field select {
  cursor: pointer;
  background-color: rgba(21, 12, 27, 0.98);
}

.search-field input::placeholder {
  color: rgba(255, 255, 255, 0.34);
}

.search-field input:focus,
.search-field select:focus {
  border-color: rgba(217, 70, 141, 0.72);
  background: rgba(255, 255, 255, 0.085);
  box-shadow: 0 0 0 4px rgba(217, 70, 141, 0.13);
}

.search-checks {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.search-check-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 19px;
  color: rgba(255, 255, 255, 0.77);
  font-size: 13px;
  font-weight: 750;
  user-select: none;
  cursor: pointer;
}

.search-check-row input {
  width: 15px;
  height: 15px;
  accent-color: #d9468d;
  cursor: pointer;
}

.search-filter-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.search-btn,
.search-reset-btn {
  min-height: 46px;
  border-radius: 999px;
  padding: 0 18px;
  font: inherit;
  font-size: 14px;
  font-weight: 950;
  border: 0;
  white-space: nowrap;
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    opacity 0.18s ease,
    background 0.18s ease;
}

.search-btn {
  color: #fff;
  background: linear-gradient(135deg, #ec5ca0, #d9468d 55%, #a935d8);
  box-shadow: 0 14px 34px rgba(217, 70, 141, 0.34);
}

.search-reset-btn {
  color: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.065);
}

.search-btn:hover,
.search-reset-btn:hover {
  transform: translateY(-1px);
}

.search-btn:active,
.search-reset-btn:active {
  transform: translateY(0);
}

.search-btn:disabled,
.search-reset-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}

/* =========================================================
   Result grid
   ========================================================= */

.search-results-area {
  min-height: 420px;
}

.search-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}

.product-grid--search {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}

/* Make product cards consistent on search */
.search-grid .product-card,
.product-grid--search .product-card {
  min-width: 0;
  height: 100%;
}

.search-grid .product-card__bg,
.product-grid--search .product-card__bg {
  aspect-ratio: 1 / 1.16;
}

.search-grid .product-card__content,
.product-grid--search .product-card__content {
  min-height: 154px;
}

.search-grid .product-card__title,
.product-grid--search .product-card__title {
  display: -webkit-box;
  overflow: hidden;
  min-height: 42px;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.search-grid .product-card__desc,
.product-grid--search .product-card__desc {
  display: -webkit-box;
  overflow: hidden;
  min-height: 38px;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* =========================================================
   States
   ========================================================= */

.search-state {
  min-height: 360px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 34px;
  border: 1px solid rgba(255, 255, 255, 0.105);
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 0%, rgba(217, 70, 141, 0.16), transparent 36%),
    rgba(255, 255, 255, 0.04);
}

.search-state h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(24px, 3vw, 38px);
  letter-spacing: -0.04em;
}

.search-state p {
  max-width: 520px;
  margin: 10px auto 0;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.55;
}

.search-state button,
.search-state a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 18px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #d9468d;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}

.search-loading {
  position: relative;
  color: rgba(255, 255, 255, 0.72);
  font-size: 15px;
  font-weight: 800;
}

.search-loading::before {
  content: "";
  display: block;
  width: 46px;
  height: 46px;
  margin: 0 auto 14px;
  border: 3px solid rgba(255, 255, 255, 0.13);
  border-top-color: #d9468d;
  border-radius: 999px;
  animation: search-spin 0.8s linear infinite;
}

@keyframes search-spin {
  to {
    transform: rotate(360deg);
  }
}

/* =========================================================
   Pagination
   ========================================================= */

.search-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 36px;
  flex-wrap: wrap;
}

.search-page-btn {
  min-height: 42px;
  min-width: 42px;
  border-radius: 999px;
  padding: 0 15px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.068);
  color: #fff;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  transition:
    transform 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease,
    opacity 0.18s ease;
}

.search-page-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: rgba(217, 70, 141, 0.5);
  background: rgba(217, 70, 141, 0.18);
}

.search-page-btn:disabled {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.032);
  cursor: not-allowed;
}

.search-page-info {
  padding: 0 8px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 14px;
}

.search-page-info b {
  color: #fff;
}

/* =========================================================
   Header suggest safety/overflow corrections
   ========================================================= */

.search-suggest {
  z-index: 80;
}

.search-suggest__item {
  min-width: 0;
}

.search-suggest__body {
  min-width: 0;
}

.search-suggest__body strong,
.search-suggest__body p {
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-suggest__price {
  white-space: nowrap;
}

/* =========================================================
   Inline fallback compatibility
   If Search.tsx still uses inline catalog-block layout.
   ========================================================= */

.catalog-block .product-grid--search {
  margin-top: 0;
}

.catalog-block > form input[type="checkbox"] {
  accent-color: #d9468d;
}

.catalog-block > form button {
  transition:
    transform 0.18s ease,
    opacity 0.18s ease,
    box-shadow 0.18s ease;
}

.catalog-block > form button:hover {
  transform: translateY(-1px);
}

.catalog-block > form button:active {
  transform: translateY(0);
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1380px) {
  .search-grid,
  .product-grid--search {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .search-filters {
    grid-template-columns:
      minmax(240px, 1.3fr)
      minmax(136px, 0.75fr)
      minmax(128px, 0.7fr)
      minmax(110px, 0.58fr)
      minmax(110px, 0.58fr)
      minmax(118px, 0.6fr);
  }

  .search-filter-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }

  .catalog-block > form {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .catalog-block > form > div:last-child {
    justify-content: flex-end;
  }
}

@media (max-width: 1120px) {
  .search-shell {
    width: min(100% - 32px, 980px);
    padding-top: 34px;
  }

  .search-hero {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .search-count-card {
    width: fit-content;
    text-align: left;
  }

  .search-grid,
  .product-grid--search {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .search-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .search-filter-actions {
    grid-column: auto;
    justify-content: stretch;
  }

  .search-filter-actions button {
    flex: 1;
  }
}

@media (max-width: 860px) {
  .search-shell {
    width: min(100% - 24px, 720px);
    padding-top: 26px;
    padding-bottom: 54px;
  }

  .search-hero {
    padding: 22px;
    border-radius: 24px;
  }

  .search-hero h1 {
    font-size: clamp(30px, 8vw, 48px);
  }

  .search-count-card {
    width: 100%;
  }

  .search-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 14px;
    border-radius: 22px;
  }

  .search-field:first-child {
    grid-column: 1 / -1;
  }

  .search-checks {
    grid-column: 1 / -1;
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
  }

  .search-checks-title {
    width: 100%;
  }

  .search-filter-actions {
    grid-column: 1 / -1;
  }

  .search-grid,
  .product-grid--search {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .catalog-block > form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .catalog-block > form > label:first-child {
    grid-column: 1 / -1;
  }

  .catalog-block > form > div:nth-last-child(2),
  .catalog-block > form > div:last-child {
    grid-column: 1 / -1;
  }

  .catalog-block > form > div:last-child {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 620px) {
  .search-shell {
    width: min(100% - 18px, 520px);
    padding-top: 18px;
  }

  .search-hero {
    padding: 18px;
    border-radius: 20px;
  }

  .search-hero p {
    font-size: 14px;
  }

  .search-count-card {
    padding: 15px 16px;
    border-radius: 20px;
  }

  .search-count-card b {
    font-size: 31px;
  }

  .search-filters {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  .search-field:first-child,
  .search-checks,
  .search-filter-actions {
    grid-column: auto;
  }

  .search-filter-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .search-btn,
  .search-reset-btn {
    width: 100%;
    padding: 0 12px;
  }

  .search-grid,
  .product-grid--search {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .search-grid .product-card__content,
  .product-grid--search .product-card__content {
    min-height: 136px;
  }

  .search-grid .product-card__title,
  .product-grid--search .product-card__title {
    min-height: 38px;
  }

  .search-grid .product-card__desc,
  .product-grid--search .product-card__desc {
    min-height: 34px;
    font-size: 12px;
  }

  .search-state {
    min-height: 300px;
    padding: 24px 16px;
    border-radius: 22px;
  }

  .search-pagination {
    gap: 8px;
  }

  .search-page-btn {
    min-height: 40px;
    min-width: 40px;
    padding: 0 12px;
    font-size: 13px;
  }

  .search-page-info {
    width: 100%;
    order: -1;
    text-align: center;
  }

  .catalog-block > form {
    grid-template-columns: 1fr !important;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.105);
    border-radius: 22px;
    background: rgba(13, 8, 17, 0.72);
  }

  .catalog-block > form > label:first-child,
  .catalog-block > form > div:nth-last-child(2),
  .catalog-block > form > div:last-child {
    grid-column: auto;
  }

  .catalog-block > form > div:last-child {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 420px) {
  .search-shell {
    width: min(100% - 14px, 390px);
  }

  .search-hero {
    padding: 16px;
  }

  .search-grid,
  .product-grid--search {
    gap: 10px;
  }

  .search-grid .product-card__content,
  .product-grid--search .product-card__content {
    padding: 12px;
  }

  .search-grid .product-card__badges,
  .product-grid--search .product-card__badges {
    gap: 4px;
  }

  .search-grid .product-card__badges span,
  .product-grid--search .product-card__badges span {
    font-size: 10px;
    padding: 5px 7px;
  }

  .search-filter-actions,
  .catalog-block > form > div:last-child {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Motion safety
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .search-loading::before {
    animation: none;
  }

  .search-btn,
  .search-reset-btn,
  .search-page-btn,
  .catalog-block > form button,
  .search-field input,
  .search-field select {
    transition: none;
  }

  .search-btn:hover,
  .search-reset-btn:hover,
  .search-page-btn:hover,
  .catalog-block > form button:hover {
    transform: none;
  }
}

.search-state .search-reset-btn,
.search-state button.search-reset-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 18px;
  padding: 0 20px;
  border: 1px solid rgba(217, 70, 141, 0.45);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(236, 92, 160, 0.95), rgba(217, 70, 141, 0.95));
  color: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(217, 70, 141, 0.28);
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    opacity 0.18s ease;
}

.search-state .search-reset-btn:hover,
.search-state button.search-reset-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 42px rgba(217, 70, 141, 0.34);
}

.search-state .search-reset-btn:active,
.search-state button.search-reset-btn:active {
  transform: translateY(0);
}

.search-state .search-reset-btn:disabled,
.search-state button.search-reset-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}

@media (max-width: 620px) {
  .search-state .search-reset-btn,
  .search-state button.search-reset-btn {
    width: 100%;
    max-width: 260px;
  }
}

.search-reset-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 18px;
  padding: 0 22px;
  border: 1px solid rgba(217, 70, 141, 0.46);
  border-radius: 999px;
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.18), transparent 34%),
    linear-gradient(135deg, #ec5ca0, #d9468d);
  color: #fff;
  font-size: 14px;
  font-weight: 950;
  letter-spacing: 0.01em;
  text-decoration: none;
  box-shadow:
    0 14px 34px rgba(217, 70, 141, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease,
    filter 0.18s ease;
}

.search-reset-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 139, 198, 0.78);
  box-shadow:
    0 18px 44px rgba(217, 70, 141, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.26);
  filter: brightness(1.05);
}

.search-reset-btn:active {
  transform: translateY(0);
  box-shadow:
    0 10px 24px rgba(217, 70, 141, 0.26),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.search-reset-btn:focus-visible {
  outline: 3px solid rgba(236, 92, 160, 0.34);
  outline-offset: 3px;
}

@media (max-width: 620px) {
  .search-reset-btn {
    width: 100%;
    max-width: 260px;
  }
}

.search-taxon-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
}

.search-taxon-card {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 10px;
  text-decoration: none;
}

.search-taxon-card img,
.search-taxon-card .taxon-card__empty {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 18px;
}

.search-taxon-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.search-tag-empty {
  display: grid;
  place-items: center;
  font-size: 64px;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.24);
  background:
    radial-gradient(circle at 30% 20%, rgba(217, 70, 141, 0.28), transparent 34%),
    rgba(255, 255, 255, 0.06);
}

@media (max-width: 1200px) {
  .search-taxon-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .search-taxon-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .search-taxon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .search-taxon-card {
    min-height: 220px;
  }
}

/* === COLLECTION / TAXON PORT FROM THE ORIGINAL EROKAMI FRONTEND === */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");

*{
  box-sizing:border-box;
}

.collection-page{
  min-height:100vh;
  padding:250px 34px 54px;
  font-family:"Inter",sans-serif;
  color:#fff;
}

.collection-page button,
.collection-page input{
  font:inherit;
}

.collection-shell{
  width:min(1720px,100%);
  margin:0 auto;
  padding-top:15px !important;
}

.collection-loading{
  min-height:340px;
  display:grid;
  place-items:center;
  border-radius:30px;
  background:rgba(15,12,25,.82);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 22px 60px rgba(0,0,0,.28);
  font-weight:900;
}

.collection-error{
  min-height:420px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:38px;
  border-radius:34px;
  background:
    radial-gradient(600px 280px at 20% 0%,rgba(255,70,110,.22),transparent 70%),
    rgba(15,12,25,.86);
  border:1px solid rgba(255,80,110,.26);
  box-shadow:0 24px 70px rgba(0,0,0,.34);
}

.collection-error h1{
  margin:0;
  font-size:clamp(34px,4vw,62px);
  letter-spacing:-.06em;
}

.collection-error p{
  margin:12px 0 0;
  color:rgba(255,220,230,.76);
  font-weight:750;
}

.collection-error a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:22px;
  min-height:46px;
  padding:0 20px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff7dbc,#d9468d);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 14px 32px rgba(217,70,141,.24);
}

/* HEADER ACCOUNT LIKE HOME */

.account-nav__account{
  max-width:230px;
}

.account-nav__avatar{
  width:34px;
  height:34px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:999px;
  background:
    radial-gradient(circle at 35% 25%,rgba(255,255,255,.22),transparent 35%),
    linear-gradient(135deg,#ff7dbc,#d9468d);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 8px 18px rgba(217,70,141,.22);
}

.account-nav__avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.account-nav__avatar span{
  color:#fff;
  font-size:14px;
  font-weight:900;
}

.account-nav__profile{
  min-width:0;
  display:grid;
  gap:1px;
  text-align:left;
}

.account-nav__profile b{
  max-width:128px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:13px;
  font-weight:900;
  line-height:1.1;
}

.account-nav__profile small{
  max-width:128px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.58);
  font-size:11px;
  font-weight:800;
  line-height:1.1;
}

/* HERO */

.collection-hero{
  position:relative;
  min-height:430px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);
  gap:34px;
  overflow:hidden;
  margin-bottom:34px;
  padding:46px;
  border-radius:38px;
  background:
    radial-gradient(920px 420px at 12% 0%,rgba(255,125,188,.26),transparent 68%),
    radial-gradient(780px 380px at 92% 8%,rgba(255,209,102,.16),transparent 70%),
    linear-gradient(180deg,rgba(16,12,25,.92),rgba(10,9,16,.88));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 28px 80px rgba(0,0,0,.38);
  align-items:center;
}

.collection-hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(135deg,rgba(255,255,255,.08),transparent 34%,rgba(217,70,141,.08)),
    radial-gradient(480px 220px at 48% 112%,rgba(255,125,188,.12),transparent 72%);
}

.collection-hero:after{
  content:"";
  position:absolute;
  right:44px;
  bottom:32px;
  width:170px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,125,188,.52),transparent);
  opacity:.75;
  pointer-events:none;
}

.collection-hero__text{
  position:relative;
  z-index:2;
  min-width:0;
}

.collection-eyebrow{
  margin:0 0 10px;
  color:#ffc8e4;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.16em;
}

.collection-hero__text h1{
  margin:0;
  max-width:980px;
  font-size:clamp(50px,5.8vw,104px);
  line-height:.9;
  letter-spacing:-.078em;
  overflow-wrap:anywhere;
}

.collection-hero__text p:not(.collection-eyebrow){
  margin:20px 0 0;
  max-width:820px;
  color:rgba(255,255,255,.72);
  font-size:17px;
  line-height:1.68;
  font-weight:650;
}

.collection-hero__image{
  position:relative;
  z-index:2;
  width:100%;
  height:320px;
  max-height:320px;
  align-self:center;
  border-radius:32px;
  overflow:hidden;
  background:
    radial-gradient(420px 220px at 50% 35%,rgba(255,125,188,.2),transparent 70%),
    linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,125,188,.08)),
    #0b0914;
  border:1px solid rgba(255,255,255,.11);
  box-shadow:
    0 24px 60px rgba(0,0,0,.4),
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 0 0 8px rgba(255,125,188,.045);
}

.collection-hero__image:before{
  content:"";
  position:absolute;
  inset:16px;
  z-index:2;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.08);
  pointer-events:none;
}

.collection-hero__image:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),transparent 32%,rgba(0,0,0,.16)),
    radial-gradient(280px 180px at 72% 12%,rgba(255,255,255,.12),transparent 70%);
}

.collection-hero__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:saturate(1.05) contrast(1.03);
}

/* MOBILE FILTER BAR */

.collection-mobile-filter-bar{
  display:none;
  position:relative;
  z-index:2;
}

.collection-mobile-filter-toggle{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  padding:0 16px;
  border-radius:16px;
  border:1px solid rgba(255,125,188,.36);
  background:
    radial-gradient(180px 70px at 12% 0%,rgba(255,125,188,.12),transparent 70%),
    rgba(255,255,255,.045);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

.collection-mobile-filter-toggle b{
  margin-left:auto;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:linear-gradient(135deg,#ff7dbc,#d9468d);
  color:#fff;
  font-size:12px;
}

.collection-mobile-filter-icon{
  color:#ff7dbc;
  font-size:20px;
  line-height:1;
}

.collection-mobile-sort-label{
  display:none !important;
}

/* LAYOUT */

.collection-layout{
  display:grid;
  grid-template-columns:340px minmax(0,1fr);
  gap:28px;
  align-items:start;
}

.collection-filters{
  position:sticky;
  top:150px;
  min-width:0;
  z-index:5;
}

.collection-filter-card{
  position:relative;
  z-index:1;
  padding:22px;
  border-radius:30px;
  background:
    radial-gradient(360px 160px at 12% 0%,rgba(255,125,188,.15),transparent 72%),
    rgba(15,12,25,.82);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 22px 60px rgba(0,0,0,.28);
}

.collection-filter-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

.collection-filter-head h2{
  margin:0;
  font-size:26px;
  letter-spacing:-.045em;
}

.collection-filter-head button{
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-weight:900;
  cursor:pointer;
  transition:.2s;
}

.collection-filter-head button:hover{
  background:rgba(255,125,188,.16);
  border-color:rgba(255,125,188,.34);
  transform:translateY(-1px);
}

/* CUSTOM DROPDOWN */

.collection-dropdown{
  position:relative;
  z-index:1;
  margin-bottom:14px;
}

.collection-dropdown--open{
  z-index:30;
}

.collection-dropdown__button{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.11);
  background:
    radial-gradient(180px 70px at 12% 0%,rgba(255,125,188,.12),transparent 70%),
    rgba(0,0,0,.24);
  color:#fff;
  text-align:left;
  font-weight:900;
  cursor:pointer;
  transition:.2s;
}

.collection-dropdown__button:hover{
  border-color:rgba(255,125,188,.34);
  background:
    radial-gradient(180px 70px at 12% 0%,rgba(255,125,188,.18),transparent 70%),
    rgba(255,255,255,.065);
}

.collection-dropdown__button small{
  display:block;
  margin-bottom:3px;
  color:#ffc8e4;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.collection-dropdown__button b{
  display:block;
  color:#fff;
  font-size:14px;
  line-height:1.25;
}

.collection-dropdown__button i{
  position:relative !important;
  width:34px !important;
  height:34px !important;
  flex:0 0 34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:rgba(255,125,188,.12) !important;
  color:#ff7dbc !important;
  font-size:0 !important;
  line-height:0 !important;
  font-style:normal !important;
}

.collection-dropdown__button i::before{
  content:"" !important;
  width:9px !important;
  height:9px !important;
  border-right:2px solid #ff7dbc !important;
  border-bottom:2px solid #ff7dbc !important;
  transform:translateY(-2px) rotate(45deg) !important;
  display:block !important;
}

.collection-dropdown--open .collection-dropdown__button i::before{
  transform:translateY(2px) rotate(225deg) !important;
}

.collection-dropdown__menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 8px);
  z-index:80;
  padding:8px;
  border-radius:20px;
  background:rgba(13,10,22,.98);
  border:1px solid rgba(255,125,188,.28);
  box-shadow:0 22px 60px rgba(0,0,0,.5);
  backdrop-filter:blur(18px);
  max-height:280px;
  overflow:auto;
}

.collection-dropdown__menu::-webkit-scrollbar{
  width:8px;
}

.collection-dropdown__menu::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04);
  border-radius:999px;
}

.collection-dropdown__menu::-webkit-scrollbar-thumb{
  background:rgba(255,125,188,.35);
  border-radius:999px;
}

.collection-dropdown__menu button{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 12px;
  border:0;
  border-radius:14px;
  background:transparent;
  color:rgba(255,255,255,.78);
  font-weight:850;
  cursor:pointer;
  text-align:left;
}

.collection-dropdown__menu button:hover,
.collection-dropdown__menu button.is-active{
  background:rgba(255,125,188,.14);
  color:#fff;
}

.collection-dropdown__menu button b{
  color:#5fffc2;
}

/* PRICE + CHECKS */

.collection-filter-field{
  display:grid;
  gap:8px;
  margin-bottom:14px;
}

.collection-filter-field span{
  color:#ffc8e4;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.collection-filter-field input{
  width:100%;
  min-height:50px;
  border:1px solid rgba(255,255,255,.11);
  outline:0;
  border-radius:16px;
  padding:0 14px;
  background:rgba(0,0,0,.24);
  color:#fff;
  font-weight:800;
}

.collection-filter-field input::placeholder{
  color:rgba(255,255,255,.38);
}

.collection-filter-field input:focus{
  border-color:rgba(255,125,188,.6);
  box-shadow:0 0 0 4px rgba(217,70,141,.14);
}

.collection-price-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.collection-check{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:50px;
  margin-top:10px;
  padding:0 14px;
  border-radius:16px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.78);
  font-weight:850;
  cursor:pointer;
  transition:.2s;
}

.collection-check:hover{
  background:rgba(255,125,188,.09);
  border-color:rgba(255,125,188,.24);
}

.collection-check input{
  width:18px;
  height:18px;
  accent-color:#d9468d;
}

/* ACTIVE FILTERS */

.collection-active-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 18px;
}

.collection-active-filters button{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,125,188,.24);
  background:rgba(255,125,188,.1);
  color:#fff;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}

.collection-active-filters button span{
  color:#ffc8e4;
  font-size:16px;
  line-height:1;
}

/* PRODUCTS */

.collection-products{
  min-width:0;
}

.collection-products-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
  padding:0 2px;
}

.collection-products-head h2{
  margin:0;
  font-size:clamp(28px,3vw,44px);
  letter-spacing:-.055em;
}

.collection-products-head span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 13px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
  color:#ffc8e4;
  font-size:12px;
  font-weight:900;
}

.collection-product-grid.product-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.collection-product-grid.product-grid .product-card{
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}

.collection-product-grid.product-grid .product-card__bg{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

.collection-product-grid.product-grid .product-card__bg img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  min-width:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

.collection-product-grid.product-grid .product-card__bg .product-card__empty{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
}

.collection-product-grid.product-grid .product-card__empty{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  max-width:none !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:
    radial-gradient(360px 260px at 50% 28%,rgba(255,125,188,.24),transparent 70%),
    radial-gradient(360px 260px at 74% 0%,rgba(255,209,102,.12),transparent 72%),
    linear-gradient(180deg,rgba(38,12,31,.76),rgba(5,5,11,.96)) !important;
}

.product-card__empty:before,
.product-card__empty:after{
  content:none !important;
  display:none !important;
}

.collection-product-grid.product-grid .product-card__image,
.collection-product-grid.product-grid .product-card__media,
.collection-product-grid.product-grid .product-card__thumb,
.collection-product-grid.product-grid .product-card > a:first-child{
  width:100% !important;
  max-width:none !important;
  min-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow:hidden !important;
}

.collection-product-grid.product-grid .product-card__image img,
.collection-product-grid.product-grid .product-card__media img,
.collection-product-grid.product-grid .product-card__thumb img,
.collection-product-grid.product-grid .product-card > a:first-child img{
  width:100% !important;
  max-width:none !important;
  min-width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

.product-card__badges{
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  z-index:3;
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:7px;
  pointer-events:none;
}

.product-card__badges span{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border-radius:999px;
  background:rgba(8,8,13,.74);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-size:11px;
  font-weight:950;
  backdrop-filter:blur(12px);
}

.product-card__badges span:first-child{
  background:linear-gradient(135deg,rgba(255,209,102,.95),rgba(255,159,28,.95));
  color:#241004;
}

.collection-product-grid.product-grid .product-card__body,
.collection-product-grid.product-grid .product-card__content{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
}

.collection-product-grid.product-grid .product-card__body h3,
.collection-product-grid.product-grid .product-card__content h3{
  min-height:42px !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.collection-product-grid.product-grid .product-card__price-hld{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:flex !important;
  align-items:baseline !important;
  justify-content:flex-end !important;
  gap:9px !important;
  flex-wrap:nowrap !important;
  overflow:visible !important;
  white-space:nowrap !important;
  margin-top:auto !important;
  padding-top:12px !important;
  text-align:right !important;
}

.collection-product-grid.product-grid .product-card__price--old,
.collection-product-grid.product-grid .product-card__price-hld del,
.collection-product-grid.product-grid .product-card del,
.collection-product-grid.product-grid .product-card__compare,
.collection-product-grid.product-grid .product-card__old-price{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:max-content !important;
  max-width:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
  color:#ff7dbc !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-decoration:line-through !important;
  text-decoration-thickness:2px !important;
  text-decoration-color:#ff7dbc !important;
  white-space:nowrap !important;
}

.collection-product-grid.product-grid .product-card__price-hld strong,
.collection-product-grid.product-grid .product-card__price,
.collection-product-grid.product-grid .product-card__price-new{
  display:inline-flex !important;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:max-content !important;
  color:#fff !important;
  font-size:19px !important;
  font-weight:950 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.collection-product-grid.product-grid .product-card picture,
.collection-product-grid.product-grid .product-card figure{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
}

/* EMPTY STATE */

.collection-empty{
  min-height:320px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:38px;
  border-radius:30px;
  background:
    radial-gradient(420px 180px at 18% 0%,rgba(255,125,188,.12),transparent 70%),
    rgba(15,12,25,.78);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 46px rgba(0,0,0,.22);
}

.collection-empty h3{
  margin:0;
  font-size:30px;
  letter-spacing:-.045em;
}

.collection-empty p{
  margin:8px 0 0;
  color:rgba(255,255,255,.62);
  font-weight:700;
}

.collection-empty button{
  margin-top:18px;
  min-height:46px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#ff7dbc,#d9468d);
  color:#fff;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(217,70,141,.22);
}

.collection-empty button:hover{
  transform:translateY(-1px);
}

/* PAGINATION */

.collection-pagination{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-top:36px;
  padding:22px 18px 30px;
  overflow:visible;
}

.collection-pagination__pages{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  column-gap:14px;
  row-gap:12px;
  flex-wrap:wrap;
  overflow:visible;
}

.collection-pagination__btn,
.collection-pagination__pages button{
  appearance:none;
  -webkit-appearance:none;
  min-width:54px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  padding:0 17px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(120px 70px at 20% 0%,rgba(255,125,188,.08),transparent 70%),
    rgba(255,255,255,.055);
  color:#fff;
  font-size:14px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
  box-shadow:
    0 10px 24px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.06);
  transition:
    transform .2s ease,
    border-color .2s ease,
    background .2s ease,
    box-shadow .2s ease,
    opacity .2s ease;
  overflow:visible;
}

.collection-pagination__btn{
  min-width:104px;
}

.collection-pagination__btn:hover:not(:disabled),
.collection-pagination__pages button:hover:not(:disabled){
  transform:translateY(-1px);
  border-color:rgba(255,125,188,.42);
  background:
    radial-gradient(120px 70px at 20% 0%,rgba(255,125,188,.18),transparent 70%),
    rgba(255,255,255,.085);
  box-shadow:
    0 14px 30px rgba(0,0,0,.28),
    0 0 18px rgba(255,125,188,.14),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.collection-pagination__pages button.is-active{
  border-color:rgba(255,125,188,.72);
  background:
    radial-gradient(130px 80px at 18% 0%,rgba(255,255,255,.22),transparent 70%),
    linear-gradient(135deg,#ff7dbc,#d9468d);
  color:#fff;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08) inset,
    0 16px 34px rgba(217,70,141,.44),
    0 0 28px rgba(255,125,188,.26);
}

.collection-pagination__btn:disabled,
.collection-pagination__pages button:disabled{
  cursor:not-allowed;
  opacity:.42;
  transform:none;
  box-shadow:none;
}

.collection-pagination__pages span{
  min-width:28px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:rgba(255,255,255,.48);
  font-size:18px;
  font-weight:950;
  user-select:none;
}

/* RESPONSIVE */

@media (max-width:1400px){
  .collection-shell{
    width:min(1280px,100%);
  }

  .collection-product-grid.product-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:1100px){
  .collection-page{
    padding:235px 18px 42px;
  }

  .collection-shell{
    padding-top:15px !important;
  }

  .collection-hero{
    grid-template-columns:1fr;
    min-height:0;
    padding:30px;
  }

  .collection-hero__image{
    order:-1;
    height:300px;
    max-height:300px;
  }

  .collection-layout{
    grid-template-columns:1fr;
  }

  .collection-filters{
    position:relative;
    top:auto;
  }

  .collection-product-grid.product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .account-nav__account .account-nav__profile{
    display:none;
  }

  .account-nav__account{
    max-width:none;
  }
}

@media (max-width:680px){
  .collection-page{
    padding:205px 12px 34px;
    overflow-x:hidden;
  }

  .collection-shell{
    width:100%;
    padding-top:8px !important;
  }

  .collection-hero{
    padding:18px;
    border-radius:24px;
    gap:16px;
    margin:0 4px 14px;
    min-height:0;
    box-shadow:0 20px 50px rgba(0,0,0,.28);
  }

  .collection-hero:after{
    display:none;
  }

  .collection-hero__text{
    padding:2px 2px 4px;
  }

  .collection-hero__text h1{
    font-size:clamp(32px,11vw,52px);
    line-height:.96;
    letter-spacing:-.065em;
  }

  .collection-hero__text p:not(.collection-eyebrow){
    margin-top:14px;
    font-size:14px;
    line-height:1.55;
  }

  .collection-hero__image{
    height:210px;
    max-height:210px;
    border-radius:20px;
  }

  .collection-hero__image:before{
    inset:10px;
    border-radius:14px;
  }

  .collection-mobile-filter-bar{
    display:grid;
    gap:10px;
    margin:0 4px 16px;
    position:relative;
    z-index:2;
  }

  .collection-layout{
    display:block;
  }

  .collection-filters{
    display:none;
    position:relative;
    top:auto;
    margin:0 4px 16px;
    z-index:4;
  }

  .collection-filters--open{
    display:block;
    animation:collectionFiltersIn .22s ease both;
  }

  @keyframes collectionFiltersIn{
    from{
      opacity:0;
      transform:translateY(-6px);
    }
    to{
      opacity:1;
      transform:translateY(0);
    }
  }

  .collection-filter-card{
    padding:18px;
    border-radius:24px;
    overflow:visible;
  }

  .collection-dropdown{
    z-index:1;
  }

  .collection-dropdown--open{
    z-index:90;
  }

  .collection-dropdown__menu{
    z-index:100;
    max-height:240px;
  }

  .collection-products{
    position:relative;
    z-index:1;
  }

  .collection-products-head{
    align-items:flex-start;
    flex-direction:column;
    margin-left:4px;
    margin-right:4px;
  }

  .collection-active-filters{
    margin-left:4px;
    margin-right:4px;
  }

  .collection-price-row{
    grid-template-columns:1fr;
  }

  .collection-product-grid.product-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
    padding:0 6px !important;
  }

  .collection-product-grid.product-grid .product-card{
    display:grid !important;
    grid-template-columns:138px minmax(0,1fr) !important;
    min-height:182px !important;
    border-radius:14px !important;
    overflow:hidden !important;
    background:rgba(15,12,25,.78) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    color:#fff !important;
    box-shadow:0 14px 34px rgba(0,0,0,.18) !important;
    transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease !important;
  }

  .collection-product-grid.product-grid .product-card:hover{
    transform:translateY(-3px) scale(1.003) !important;
    border-color:rgba(255,125,188,.34) !important;
    box-shadow:0 18px 42px rgba(255,0,120,.18) !important;
  }

  .collection-product-grid.product-grid .product-card__bg{
    position:relative !important;
    width:138px !important;
    min-width:138px !important;
    height:182px !important;
    min-height:182px !important;
    aspect-ratio:auto !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    background:#0b0914 !important;
  }

  .collection-product-grid.product-grid .product-card__bg img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    transition:transform .55s cubic-bezier(.22,.61,.36,1) !important;
  }

  .collection-product-grid.product-grid .product-card:hover .product-card__bg img{
    transform:scale(1.025) !important;
  }

  .collection-product-grid.product-grid .product-card__empty{
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    max-width:none !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:
      radial-gradient(280px 210px at 50% 28%,rgba(255,125,188,.24),transparent 70%),
      radial-gradient(260px 210px at 74% 0%,rgba(255,209,102,.12),transparent 72%),
      linear-gradient(180deg,rgba(38,12,31,.76),rgba(5,5,11,.96)) !important;
  }

  .collection-product-grid.product-grid .product-card__empty:before,
  .collection-product-grid.product-grid .product-card__empty:after{
    content:none !important;
    display:none !important;
  }

  .collection-product-grid.product-grid .product-card__shine{
    display:block !important;
    position:absolute !important;
    inset:-45% !important;
    z-index:2 !important;
    pointer-events:none !important;
    opacity:0 !important;
    background:linear-gradient(
      120deg,
      transparent 34%,
      rgba(255,255,255,.07) 44%,
      rgba(255,255,255,.35) 50%,
      rgba(255,255,255,.08) 56%,
      transparent 66%
    ) !important;
    transform:translateX(-135%) rotate(10deg) !important;
  }

  .collection-product-grid.product-grid .product-card:hover .product-card__shine{
    opacity:1 !important;
    animation:productShine 2.8s cubic-bezier(.22,.61,.36,1) forwards !important;
  }

  .collection-product-grid.product-grid .product-card__badges{
    position:absolute !important;
    top:8px !important;
    left:8px !important;
    right:8px !important;
    z-index:3 !important;
    display:flex !important;
    align-items:flex-start !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    pointer-events:none !important;
  }

  .collection-product-grid.product-grid .product-card__badges span{
    min-height:24px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 8px !important;
    border-radius:999px !important;
    background:rgba(8,8,13,.74) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    color:#fff !important;
    font-size:10px !important;
    font-weight:950 !important;
    backdrop-filter:blur(12px) !important;
  }

  .collection-product-grid.product-grid .product-card__badges span:first-child{
    background:linear-gradient(135deg,rgba(255,209,102,.95),rgba(255,159,28,.95)) !important;
    color:#241004 !important;
  }

  .collection-product-grid.product-grid .product-card__content{
    min-height:182px !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;
    padding:16px 14px 14px !important;
    background:rgba(15,12,25,.78) !important;
    color:#fff !important;
  }

  .collection-product-grid.product-grid .product-card__title{
    margin:0 0 8px !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:800 !important;
    line-height:1.3 !important;
    letter-spacing:-.01em !important;
    min-height:auto !important;
    display:-webkit-box !important;
    -webkit-line-clamp:3 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  .collection-product-grid.product-grid .product-card__desc{
    margin:0 0 10px !important;
    color:rgba(255,255,255,.62) !important;
    font-size:12px !important;
    line-height:1.35 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  .collection-product-grid.product-grid .product-card__price-hld{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:flex !important;
    align-items:baseline !important;
    justify-content:flex-end !important;
    gap:8px !important;
    flex-wrap:nowrap !important;
    overflow:visible !important;
    white-space:nowrap !important;
    margin-top:auto !important;
    padding-top:10px !important;
    text-align:right !important;
  }

  .collection-product-grid.product-grid .product-card__price--old,
  .collection-product-grid.product-grid .product-card__price--old del{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:.78 !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-width:max-content !important;
    max-width:none !important;
    overflow:visible !important;
    color:#ff2d8d !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1 !important;
    text-decoration:line-through !important;
    text-decoration-thickness:2px !important;
    text-decoration-color:#ff2d8d !important;
    white-space:nowrap !important;
  }

  .collection-product-grid.product-grid .product-card__price{
    display:inline-flex !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-width:max-content !important;
    color:#fff !important;
    font-size:16px !important;
    font-weight:800 !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .collection-pagination{
    width:100%;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin-top:32px;
    padding:20px 12px 32px;
    overflow:visible;
  }

  .collection-pagination__pages{
    justify-content:center;
    align-items:center;
    gap:10px;
    column-gap:10px;
    row-gap:10px;
    flex-wrap:wrap;
    overflow:visible;
  }

  .collection-pagination__btn,
  .collection-pagination__pages button{
    min-width:42px;
    height:42px;
    padding:0 13px;
    border-radius:14px;
    font-size:13px;
    overflow:visible;
  }

  .collection-pagination__btn{
    min-width:82px;
  }

  .collection-pagination__pages span{
    min-width:22px;
    height:42px;
    font-size:16px;
  }

  .collection-pagination__pages button.is-active{
    box-shadow:
      0 0 0 1px rgba(255,255,255,.08) inset,
      0 14px 30px rgba(217,70,141,.42),
      0 0 24px rgba(255,125,188,.24);
  }
}

@media (max-width:430px){
  .collection-pagination{
    gap:8px;
    padding-left:6px;
    padding-right:6px;
  }

  .collection-pagination__pages{
    gap:8px;
    column-gap:8px;
    row-gap:8px;
  }

  .collection-pagination__btn,
  .collection-pagination__pages button{
    min-width:38px;
    height:40px;
    padding:0 10px;
    border-radius:13px;
    font-size:12px;
  }

  .collection-pagination__btn{
    min-width:72px;
  }

  .collection-pagination__pages span{
    min-width:18px;
    height:40px;
  }
}

@media (max-width:390px){
  .collection-page{
    padding:198px 8px 30px;
  }

  .collection-shell{
    padding-top:6px !important;
  }

  .collection-hero{
    padding:16px;
    margin-left:2px;
    margin-right:2px;
    border-radius:22px;
  }

  .collection-hero__image{
    height:190px;
  }

  .collection-filter-card{
    padding:16px;
    border-radius:22px;
  }

  .collection-product-grid.product-grid{
    padding:0 4px !important;
  }

  .collection-product-grid.product-grid .product-card{
    grid-template-columns:122px minmax(0,1fr) !important;
    min-height:170px !important;
  }

  .collection-product-grid.product-grid .product-card__bg{
    width:122px !important;
    min-width:122px !important;
    height:170px !important;
    min-height:170px !important;
  }

  .collection-product-grid.product-grid .product-card__content{
    min-height:170px !important;
    padding:14px 12px 12px !important;
  }

  .collection-product-grid.product-grid .product-card__title{
    font-size:14px !important;
  }

  .collection-product-grid.product-grid .product-card__price{
    font-size:15px !important;
  }

  .collection-product-grid.product-grid .product-card__price--old,
  .collection-product-grid.product-grid .product-card__price--old del{
    font-size:12px !important;
  }

  .collection-product-grid.product-grid .product-card__price--old,
  .collection-product-grid.product-grid .product-card__price-hld del,
  .collection-product-grid.product-grid .product-card del,
  .collection-product-grid.product-grid .product-card__compare,
  .collection-product-grid.product-grid .product-card__old-price{
    font-size:13px !important;
  }

  .collection-product-grid.product-grid .product-card__price-hld strong,
  .collection-product-grid.product-grid .product-card__price,
  .collection-product-grid.product-grid .product-card__price-new{
    font-size:18px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  *,
  *:before,
  *:after{
    animation:none !important;
    transition:none !important;
  }
}
/* ========================================================================== */
/* SYLIUS NATIVE BRIDGE — V10                                                  */
/* Keeps the original EroKami visual language while Sylius owns all state.     */
/* ========================================================================== */

body[data-route^="sylius_shop_product_show"],
body[data-route^="sylius_shop_product_index"],
body[data-route^="sylius_shop_cart"],
body[data-route^="sylius_shop_checkout"]{
  background:#08080d;
  color:#fff7fb;
}

.product-page{
  padding-top:48px;
  background:
    radial-gradient(900px 520px at 18% -12%,rgba(217,70,141,.18),transparent 64%),
    radial-gradient(760px 460px at 92% 0%,rgba(117,74,255,.12),transparent 66%),
    #08080d;
}

.product-buybox,
.product-info-block,
.product-related-section,
.cart-panel__card,
.cart-panel__trust,
.cart-line,
.catalog-block,
.collection-hero,
.collection-filter-card{
  color:#fff7fb;
}

.product-buybox a,
.product-info-block a,
.product-related-section a,
.cart-page a,
.catalog-block a{
  color:inherit;
}

/* Product native form */
.product-native-form{
  display:grid;
  gap:18px;
}
.product-native-form .product-variant-picker{
  display:grid;
  gap:10px;
}
.product-native-form .product-variant-picker label,
.product-native-form .product-quantity-label{
  color:rgba(255,255,255,.68);
  font-size:12px;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.product-native-form select,
.product-native-form input[type="number"]{
  width:100%;
  min-height:50px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  outline:0;
  background:rgba(255,255,255,.055);
  color:#fff;
  padding:0 14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.product-native-form select option{color:#111;background:#fff}
.product-native-form .product-qty-row{
  margin:0;
}
.product-native-form .product-qty{
  min-width:164px;
}
.product-native-form .product-qty input{
  width:66px;
  min-height:44px;
  padding:0;
  border:0;
  border-radius:0;
  text-align:center;
  background:transparent;
  appearance:textfield;
  -moz-appearance:textfield;
}
.product-native-form .product-qty input::-webkit-inner-spin-button,
.product-native-form .product-qty input::-webkit-outer-spin-button{appearance:none;margin:0}
.product-native-form .product-add-cart{
  width:100%;
}
.product-native-form .invalid-feedback,
.product-native-form .form-error-message,
.product-native-form .text-danger{
  color:#ff99ad!important;
}
.product-message[hidden]{display:none!important}

/* Product gallery keeps the original vertical thumbnails */
.product-gallery__main video,
.product-gallery__main img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#08070d;
}
.product-gallery__thumb-video{
  position:relative;
  display:block;
  width:100%;
  height:100%;
}
.product-gallery__thumb-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.7;
}
.product-gallery__thumb-video b{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:22px;
  text-shadow:0 3px 16px #000;
}
.product-gallery__empty{
  min-height:640px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  background:
    radial-gradient(420px 260px at 50% 20%,rgba(217,70,141,.12),transparent 70%),
    rgba(14,12,22,.92);
  color:rgba(255,255,255,.4);
  font-weight:850;
}

/* Native product card guard / no image */
.product-card__empty{
  width:100%;
  height:100%;
  min-height:250px;
  background:
    radial-gradient(180px 140px at 50% 18%,rgba(255,125,188,.15),transparent 72%),
    linear-gradient(145deg,#16121e,#0a0910);
}
.product-card__unavailable{
  color:#ff9ebd;
  font-size:12px;
  font-weight:850;
}

/* Cart component built on Sylius LiveComponent */
.cart-native-form{
  position:relative;
}
.cart-native-form .loader{display:none}
.cart-items{
  display:grid;
  gap:14px;
}
.cart-line{
  display:grid;
  grid-template-columns:112px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:16px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  background:
    radial-gradient(300px 150px at 0 0,rgba(217,70,141,.08),transparent 72%),
    linear-gradient(145deg,rgba(21,18,30,.98),rgba(10,9,15,.98));
  box-shadow:0 18px 46px rgba(0,0,0,.23);
}
.cart-line__image{
  width:112px;
  height:132px;
  overflow:hidden;
  display:grid;
  place-items:center;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:#090810;
}
.cart-line__image img{width:100%;height:100%;object-fit:cover}
.cart-line__empty-image{width:100%;height:100%;background:linear-gradient(145deg,#18131f,#0a0910)}
.cart-line__body{min-width:0;display:grid;gap:10px}
.cart-line__body h3{margin:0;color:#fff;font-size:18px;line-height:1.25}
.cart-line__body h3 a{text-decoration:none}
.cart-line__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:rgba(255,255,255,.52);font-size:11px;font-weight:750}
.cart-line__meta span{padding:5px 8px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.035)}
.cart-line__price{display:flex;align-items:baseline;gap:8px}
.cart-line__price strong{color:#fff;font-size:16px}
.cart-line__price del{color:rgba(255,255,255,.38);font-size:12px}
.cart-line__controls{display:grid;justify-items:end;gap:13px}
.cart-line__quantity{display:flex;align-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(255,255,255,.045)}
.cart-line__quantity button{width:38px;height:40px;border:0;background:transparent;color:#fff;font-size:20px;cursor:pointer}
.cart-line__quantity input{width:52px;height:40px;border:0!important;border-radius:0!important;background:transparent!important;color:#fff!important;text-align:center;padding:0!important;appearance:textfield;-moz-appearance:textfield}
.cart-line__quantity input::-webkit-inner-spin-button,.cart-line__quantity input::-webkit-outer-spin-button{appearance:none;margin:0}
.cart-line__remove{border:0;background:transparent;color:#ff9fbd;font-size:11px;font-weight:850;cursor:pointer}
.cart-line__total{color:#fff;font-size:18px;font-weight:900}
.cart-coupon .field{display:flex;gap:8px}
.cart-coupon input{flex:1;min-width:0;min-height:46px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.055);color:#fff;padding:0 13px;outline:0}
.cart-coupon button{min-height:46px;border:0;border-radius:14px;background:rgba(217,70,141,.18);color:#ffc0dd;padding:0 15px;font-weight:850;cursor:pointer}
.cart-checkout{width:100%;border:0}
.cart-native-errors{margin-bottom:14px;color:#ff9bae}

/* Catalog / search / taxon */
.catalog-page-custom{
  min-height:75vh;
  padding:44px 30px 90px;
  background:
    radial-gradient(820px 460px at 14% -8%,rgba(217,70,141,.17),transparent 66%),
    radial-gradient(720px 420px at 92% 0,rgba(120,73,255,.1),transparent 68%),
    #08080d;
  color:#fff;
}
.catalog-shell-custom{width:min(1700px,100%);margin:0 auto}
.catalog-hero-custom{
  position:relative;
  min-height:240px;
  overflow:hidden;
  display:grid;
  align-items:end;
  margin-bottom:26px;
  padding:34px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:32px;
  background:linear-gradient(145deg,rgba(24,19,33,.98),rgba(10,9,15,.98));
  box-shadow:0 28px 72px rgba(0,0,0,.28);
}
.catalog-hero-custom__media{position:absolute;inset:0}
.catalog-hero-custom__media img{width:100%;height:100%;object-fit:cover;opacity:.52}
.catalog-hero-custom__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,13,.95) 0,rgba(8,8,13,.74) 46%,rgba(8,8,13,.22))}
.catalog-hero-custom__content{position:relative;z-index:1;max-width:850px}
.catalog-hero-custom__eyebrow{margin:0 0 8px;color:#ff9bc9;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.catalog-hero-custom h1{margin:0;color:#fff;font-size:clamp(38px,5vw,72px);letter-spacing:-.055em;line-height:.98}
.catalog-hero-custom__description{max-width:720px;margin:14px 0 0;color:rgba(255,255,255,.68);font-size:14px;line-height:1.65}
.catalog-filter-custom{
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto auto;
  gap:12px;
  align-items:end;
  margin-bottom:26px;
  padding:18px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:22px;
  background:rgba(17,14,24,.9);
  box-shadow:0 18px 52px rgba(0,0,0,.2);
}
.catalog-filter-custom label{display:grid;gap:7px;color:rgba(255,255,255,.58);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.catalog-filter-custom input,.catalog-filter-custom select{min-height:48px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.05);color:#fff;padding:0 14px;outline:0}
.catalog-filter-custom select option{color:#111}
.catalog-filter-custom button,.catalog-filter-custom a{min-height:48px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;text-decoration:none;padding:0 19px;font-weight:900;cursor:pointer}
.catalog-filter-custom button{background:linear-gradient(135deg,#d9468d,#ff7dbc);color:#fff;box-shadow:0 12px 28px rgba(217,70,141,.23)}
.catalog-filter-custom a{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:rgba(255,255,255,.75)}
.catalog-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 18px}
.catalog-section-head h2{margin:0;color:#fff;font-size:28px;letter-spacing:-.035em}
.catalog-section-head p{margin:7px 0 0;color:rgba(255,255,255,.52);font-size:12px}
.catalog-grid-custom{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:17px}
.catalog-taxon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:32px}
.catalog-taxon-card{position:relative;min-height:190px;overflow:hidden;display:flex;align-items:end;padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:24px;background:linear-gradient(145deg,#17131f,#0a0910);text-decoration:none;box-shadow:0 18px 48px rgba(0,0,0,.22);transition:transform .22s,border-color .22s}
.catalog-taxon-card:hover{transform:translateY(-3px);border-color:rgba(255,125,188,.32)}
.catalog-taxon-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.56}
.catalog-taxon-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,13,.96),rgba(8,8,13,.08) 72%)}
.catalog-taxon-card__content{position:relative;z-index:1}
.catalog-taxon-card strong{display:block;color:#fff;font-size:20px}
.catalog-taxon-card span{display:block;margin-top:4px;color:rgba(255,255,255,.56);font-size:11px}
.catalog-empty-custom{min-height:300px;display:grid;place-items:center;text-align:center;border:1px dashed rgba(255,255,255,.12);border-radius:28px;color:rgba(255,255,255,.65);background:rgba(255,255,255,.025)}
.catalog-pagination-custom{margin-top:34px}.catalog-pagination-custom .pagination{justify-content:center;gap:7px}.catalog-pagination-custom .page-link{border:1px solid rgba(255,255,255,.1)!important;border-radius:999px!important;background:rgba(255,255,255,.045)!important;color:#fff!important}.catalog-pagination-custom .active .page-link{border-color:transparent!important;background:linear-gradient(135deg,#d9468d,#ff7dbc)!important}

/* Checkout/payment: keep all Sylius mechanics, apply the EroKami skin */
body[data-route^="sylius_shop_checkout"] main,
body[data-route^="sylius_shop_order_thank_you"] main{
  min-height:70vh;
  padding:42px 22px 80px;
  color:#fff;
  background:radial-gradient(850px 420px at 80% -10%,rgba(217,70,141,.14),transparent 66%),#08080d;
}
body[data-route^="sylius_shop_checkout"] .container,
body[data-route^="sylius_shop_order_thank_you"] .container{max-width:1320px}
body[data-route^="sylius_shop_checkout"] .card,
body[data-route^="sylius_shop_checkout"] .accordion-item,
body[data-route^="sylius_shop_checkout"] .list-group-item,
body[data-route^="sylius_shop_checkout"] .table,
body[data-route^="sylius_shop_order_thank_you"] .card{
  color:#fff!important;
  border-color:rgba(255,255,255,.09)!important;
  background:linear-gradient(145deg,rgba(22,18,30,.98),rgba(10,9,15,.98))!important;
  box-shadow:0 22px 65px rgba(0,0,0,.25);
}
body[data-route^="sylius_shop_checkout"] h1,
body[data-route^="sylius_shop_checkout"] h2,
body[data-route^="sylius_shop_checkout"] h3,
body[data-route^="sylius_shop_checkout"] label,
body[data-route^="sylius_shop_checkout"] legend{color:#fff!important}
body[data-route^="sylius_shop_checkout"] .text-muted,
body[data-route^="sylius_shop_checkout"] .text-secondary{color:rgba(255,255,255,.56)!important}
body[data-route^="sylius_shop_checkout"] input,
body[data-route^="sylius_shop_checkout"] select,
body[data-route^="sylius_shop_checkout"] textarea{color:#fff!important;border-color:rgba(255,255,255,.13)!important;background:#18141f!important}
body[data-route^="sylius_shop_checkout"] select option{color:#111}
body[data-route^="sylius_shop_checkout"] .btn-primary,
body[data-route^="sylius_shop_checkout"] button[type=submit]{border-color:transparent!important;background:linear-gradient(100deg,#c9347b,#e44f99 55%,#9c62ef)!important;box-shadow:0 12px 30px rgba(201,52,123,.2)}

@media(max-width:1300px){.catalog-grid-custom{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-taxon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.catalog-grid-custom{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-filter-custom{grid-template-columns:1fr 1fr}.catalog-filter-custom label:first-child{grid-column:1/-1}.cart-line{grid-template-columns:90px minmax(0,1fr)}.cart-line__image{width:90px;height:112px}.cart-line__controls{grid-column:1/-1;grid-template-columns:1fr auto auto;align-items:center;justify-items:start}}
@media(max-width:720px){.catalog-page-custom{padding:26px 12px 70px}.catalog-hero-custom{min-height:200px;padding:24px;border-radius:24px}.catalog-grid-custom{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-taxon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-filter-custom{grid-template-columns:1fr}.catalog-filter-custom label:first-child{grid-column:auto}.cart-line{grid-template-columns:78px minmax(0,1fr);gap:12px;padding:12px}.cart-line__image{width:78px;height:98px}.product-gallery__empty{min-height:420px}}
.product-native-form table,
.product-native-form thead,
.product-native-form tbody,
.product-native-form tr,
.product-native-form td,
.product-native-form th{color:#fff!important;border-color:rgba(255,255,255,.09)!important;background:transparent!important}
.product-native-form .form-check-label,.product-native-form .form-label{color:rgba(255,255,255,.76)!important}
.product-native-form .btn,.product-native-form button{color:#fff}
.product-native-form .btn-outline-secondary,.product-native-form .btn-outline-gray{border-color:rgba(255,255,255,.13)!important;background:rgba(255,255,255,.05)!important}

/* V10.1: explicit commercial add-to-cart form */
.product-native-form > form{
  display:grid;
  gap:14px;
}
.product-native-form input[type="hidden"]{
  display:none!important;
}
.product-native-form .product-add-cart{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:60px!important;
  padding:0 22px!important;
  border:0!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:950!important;
  line-height:1!important;
  text-align:center;
  visibility:visible!important;
  opacity:1!important;
}
.product-native-form .product-variant-picker .mb-3,
.product-native-form .product-variant-picker .field{
  margin:0!important;
}
.product-native-form .product-variant-picker label{
  display:block;
  margin-bottom:8px;
}

/* V10.1: tags available inside the current category */
.catalog-tag-filter{
  display:grid;
  gap:14px;
  margin:22px 0;
  padding:20px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:26px;
  background:
    radial-gradient(420px 160px at 0 0,rgba(255,125,188,.12),transparent 72%),
    rgba(14,12,22,.9);
  box-shadow:0 18px 48px rgba(0,0,0,.2);
}
.catalog-tag-filter__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.catalog-tag-filter__head > div{
  display:grid;
  gap:2px;
}
.catalog-tag-filter__head span{
  color:rgba(255,255,255,.48);
  font-size:11px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.catalog-tag-filter__head strong{
  color:#fff;
  font-size:20px;
  font-weight:950;
}
.catalog-tag-filter__head > a{
  color:#ffc3df;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}
.catalog-tag-filter__chips{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.catalog-tag-filter__chips a{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.72)!important;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease;
}
.catalog-tag-filter__chips a:hover,
.catalog-tag-filter__chips a.is-active{
  transform:translateY(-1px);
  border-color:rgba(255,125,188,.48);
  background:linear-gradient(135deg,rgba(255,125,188,.24),rgba(217,70,141,.18));
  color:#fff!important;
  box-shadow:0 10px 24px rgba(217,70,141,.14);
}
.catalog-filter-custom__actions{
  display:flex;
  align-items:center;
  gap:10px;
}

@media (max-width:720px){
  .catalog-tag-filter{
    padding:16px;
    border-radius:22px;
  }
  .catalog-tag-filter__head{
    align-items:flex-end;
  }
  .catalog-tag-filter__chips{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:thin;
  }
  .catalog-tag-filter__chips a{
    flex:0 0 auto;
  }
}

/* ========================================================================== */
/* EROKAMI V10.2 — LIVE LOADER, CART REMOVE, CHECKOUT                         */
/* ========================================================================== */

/* Product LiveComponent loading state: no Sylius white/green overlay. */
.product-native-form > [data-loading]{
  position:absolute!important;
  inset:0!important;
  z-index:80!important;
  overflow:hidden!important;
  border-radius:24px!important;
  pointer-events:all!important;
}

.product-native-form > [data-loading] .sylius-shop-loader,
.product-native-form .product-native-loader{
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  min-height:100%!important;
  padding:20px!important;
  border:1px solid rgba(255,114,182,.24)!important;
  border-radius:24px!important;
  background:
    radial-gradient(320px 150px at 50% 0%,rgba(255,114,182,.20),transparent 72%),
    rgba(9,7,14,.90)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 18px 48px rgba(0,0,0,.36)!important;
  backdrop-filter:blur(12px) saturate(130%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(130%)!important;
}

.product-native-form .spinner-dots,
.product-native-form .product-native-loader__dots{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:58px!important;
  min-height:28px!important;
  padding:8px 12px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.055)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.28)!important;
}

.product-native-form .spinner-dots > div{
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#ff72b6!important;
  box-shadow:
    0 0 0 3px rgba(255,114,182,.10),
    0 0 18px rgba(255,114,182,.58)!important;
}

.product-native-form:has(> [data-loading]:not([style*="display: none"])) .product-add-cart{
  filter:saturate(.78) brightness(.86);
}

/* Remove action is an icon button, never a clipped word. */
.cart-native-form .cart-line__controls{
  min-width:142px;
}

.cart-native-form .cart-line__remove{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  display:grid!important;
  place-items:center!important;
  align-self:end!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,111,151,.25)!important;
  border-radius:999px!important;
  background:rgba(255,70,110,.10)!important;
  color:#ff9fbd!important;
  font-size:0!important;
  line-height:1!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-shadow:
    0 10px 26px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.05)!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease!important;
}

.cart-native-form .cart-line__remove-icon{
  display:block!important;
  width:100%!important;
  color:inherit!important;
  font-size:25px!important;
  font-weight:500!important;
  line-height:38px!important;
  text-align:center!important;
  transform:translateY(-1px);
}

.cart-native-form .cart-line__remove:hover:not(:disabled){
  transform:translateY(-1px) scale(1.04)!important;
  border-color:rgba(255,111,151,.48)!important;
  background:rgba(255,70,110,.18)!important;
  color:#fff!important;
}

.cart-native-form .cart-line__remove:focus-visible{
  outline:2px solid #ff72b6!important;
  outline-offset:3px!important;
}

/* Full EroKami checkout shell. Native forms and workflow stay untouched. */
body[data-route^="sylius_shop_checkout"]{
  min-height:100vh!important;
  margin:0!important;
  color:#fff!important;
  background:
    radial-gradient(1100px 620px at 8% -8%,rgba(217,70,141,.20),transparent 66%),
    radial-gradient(900px 560px at 100% 4%,rgba(122,78,255,.13),transparent 68%),
    #08080d!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  font-family:"Inter",sans-serif;
  color:#fff;
  background:
    linear-gradient(180deg,rgba(255,255,255,.015),transparent 34%),
    transparent;
}

.ek-checkout-header{
  position:relative;
  z-index:30;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(9,8,14,.86);
  box-shadow:0 16px 44px rgba(0,0,0,.24);
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
}

.ek-checkout-header__inner{
  width:min(1480px,calc(100% - 40px));
  min-height:94px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin:0 auto;
}

.ek-checkout-brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:16px;
}

.ek-checkout-brand > a{
  width:162px;
  min-width:162px;
  display:block;
}

.ek-checkout-brand img{
  width:100%;
  max-height:50px;
  display:block;
  object-fit:contain;
  object-position:left center;
}

.ek-checkout-brand > span{
  display:grid;
  gap:3px;
  padding-left:16px;
  border-left:1px solid rgba(255,255,255,.11);
}

.ek-checkout-brand b{
  color:#fff;
  font-size:14px;
  font-weight:950;
  letter-spacing:.02em;
}

.ek-checkout-brand small{
  color:rgba(255,255,255,.48);
  font-size:11px;
  font-weight:750;
}

.ek-checkout-account{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px 12px;
  color:rgba(255,255,255,.52);
  font-size:12px;
  font-weight:750;
}

.ek-checkout-account > a:not(.ek-checkout-account__cart){
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  font-weight:900;
  text-decoration:none;
}

.ek-checkout-account > a img{
  width:22px;
  height:22px;
  object-fit:contain;
}

.ek-checkout-account__cart{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:#ffc8e4!important;
  font-weight:900!important;
  text-decoration:none;
  transition:.18s ease;
}

.ek-checkout-account__cart:hover{
  border-color:rgba(255,114,182,.32);
  background:rgba(255,114,182,.10);
  color:#fff!important;
}

.ek-checkout-main{
  flex:1;
  padding:48px 22px 68px;
}

.ek-checkout-shell{
  width:min(1480px,100%);
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  gap:28px;
  align-items:start;
  margin:0 auto;
}

.ek-checkout-content,
.ek-checkout-sidebar{
  min-width:0;
}

.ek-checkout-content{
  padding:30px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:32px;
  background:
    radial-gradient(620px 260px at 4% 0%,rgba(255,114,182,.12),transparent 72%),
    linear-gradient(145deg,rgba(21,17,29,.97),rgba(10,9,15,.97));
  box-shadow:0 26px 72px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.045);
}

.ek-checkout-content .pe-lg-6{
  padding-right:0!important;
}

.ek-checkout-sidebar{
  position:sticky;
  top:24px;
  padding:24px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:30px;
  background:
    radial-gradient(420px 210px at 100% 0%,rgba(122,78,255,.12),transparent 72%),
    linear-gradient(145deg,rgba(20,17,29,.98),rgba(9,8,14,.98));
  box-shadow:0 24px 66px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.045);
}

.ek-checkout-sidebar::before,
body[data-route^="sylius_shop_checkout"] .checkout-sidebar::before{
  display:none!important;
  content:none!important;
}

/* Checkout steps */
.ek-checkout-content .steps{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0 0 28px!important;
}

.ek-checkout-content .steps-item{
  position:relative;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:15px;
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.44);
  font-size:11px;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.ek-checkout-content .steps-item a{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  color:inherit!important;
  text-decoration:none!important;
}

.ek-checkout-content .steps-item-active{
  border-color:rgba(255,114,182,.46);
  background:
    radial-gradient(180px 80px at 50% 0%,rgba(255,255,255,.12),transparent 70%),
    linear-gradient(135deg,rgba(217,70,141,.32),rgba(151,75,226,.20));
  color:#fff;
  box-shadow:0 10px 28px rgba(217,70,141,.15);
}

.ek-checkout-content .steps-item-completed{
  border-color:rgba(255,114,182,.20);
  background:rgba(255,114,182,.07);
  color:#ffc8e4;
}

/* Common Sylius content transformed into EroKami surfaces. */
body[data-route^="sylius_shop_checkout"] .ek-checkout-page h1,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page h2,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page h3,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page h4,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page h5,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page h6{
  color:#fff!important;
  font-family:"Inter",sans-serif!important;
  font-weight:950!important;
  letter-spacing:-.035em;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-content > div > h1,
body[data-route^="sylius_shop_checkout"] .ek-checkout-content h1{
  margin-top:0!important;
  font-size:clamp(30px,3vw,48px)!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page p,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page label,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page legend,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page dt,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page dd,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page td,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page th{
  color:rgba(255,255,255,.74)!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page a{
  color:#ffc8e4;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .text-dark,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .text-black,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .text-body{
  color:#fff!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .text-muted,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .text-secondary,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .text-black-50{
  color:rgba(255,255,255,.52)!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .bg-white,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .bg-light,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .bg-body,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .bg-body-tertiary{
  background:rgba(255,255,255,.035)!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .card,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .accordion-item,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .list-group-item,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page fieldset,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .table-responsive{
  color:#fff!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:20px!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.050),rgba(255,255,255,.024))!important;
  box-shadow:none!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page fieldset{
  margin-bottom:18px!important;
  padding:20px!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .card-header,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .card-footer,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .accordion-header,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .accordion-button{
  color:#fff!important;
  border-color:rgba(255,255,255,.08)!important;
  background:rgba(255,255,255,.035)!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .accordion-button::after{
  filter:invert(1) brightness(1.8);
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .table,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page table{
  --bs-table-bg:transparent!important;
  --bs-table-color:#fff!important;
  --bs-table-border-color:rgba(255,255,255,.08)!important;
  color:#fff!important;
  background:transparent!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page tr,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page td,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page th{
  border-color:rgba(255,255,255,.08)!important;
  background:transparent!important;
}

/* Inputs, selects and check controls. */
body[data-route^="sylius_shop_checkout"] .ek-checkout-page input:not([type="checkbox"]):not([type="radio"]),
body[data-route^="sylius_shop_checkout"] .ek-checkout-page select,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page textarea{
  width:100%;
  min-height:50px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.055)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
  outline:none!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page textarea{
  min-height:120px!important;
  padding-top:12px!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page input::placeholder,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page textarea::placeholder{
  color:rgba(255,255,255,.32)!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page input:focus,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page select:focus,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page textarea:focus{
  border-color:rgba(255,114,182,.58)!important;
  box-shadow:0 0 0 4px rgba(255,114,182,.10)!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page select option{
  color:#111!important;
  background:#fff!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .form-label,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page label{
  margin-bottom:7px;
  color:rgba(255,255,255,.78)!important;
  font-size:12px;
  font-weight:850;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .form-check{
  min-height:48px;
  padding:12px 14px 12px 42px!important;
  border:1px solid rgba(255,255,255,.08);
  border-radius:15px;
  background:rgba(255,255,255,.035);
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .form-check-input{
  width:19px!important;
  height:19px!important;
  margin-left:-29px!important;
  border:1px solid rgba(255,255,255,.24)!important;
  background-color:rgba(255,255,255,.06)!important;
  box-shadow:none!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .form-check-input:checked{
  border-color:#ff72b6!important;
  background-color:#ff72b6!important;
}

/* Shipping/payment method cards. */
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .list-group{
  display:grid;
  gap:12px;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .list-group-item{
  padding:18px!important;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .list-group-item:has(input:checked),
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .card:has(input:checked),
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .form-check:has(input:checked){
  border-color:rgba(255,114,182,.48)!important;
  background:
    radial-gradient(260px 100px at 0 0,rgba(255,114,182,.14),transparent 72%),
    rgba(255,114,182,.065)!important;
  box-shadow:0 12px 34px rgba(217,70,141,.10)!important;
}

/* Buttons */
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .btn,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page button{
  min-height:46px;
  border-radius:999px!important;
  font-weight:900!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .btn-primary,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page button[type="submit"]{
  border:0!important;
  background:
    radial-gradient(260px 100px at 20% 0%,rgba(255,255,255,.22),transparent 70%),
    linear-gradient(135deg,#ff72b6,#d9468d 58%,#a15eef)!important;
  color:#fff!important;
  box-shadow:0 15px 34px rgba(217,70,141,.28)!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .btn-primary:hover,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page button[type="submit"]:hover{
  transform:translateY(-1px);
  filter:saturate(1.08);
  box-shadow:0 19px 42px rgba(217,70,141,.36)!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .btn-secondary,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .btn-outline-secondary,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .btn-light,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .btn-transparent{
  border:1px solid rgba(255,255,255,.11)!important;
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* Validation and messages */
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .alert,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .invalid-feedback,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .form-error-message{
  border-radius:15px!important;
}

body[data-route^="sylius_shop_checkout"] .ek-checkout-page .alert-danger,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .invalid-feedback,
body[data-route^="sylius_shop_checkout"] .ek-checkout-page .form-error-message{
  color:#ffb5c8!important;
}

/* Sidebar order summary */
.ek-checkout-sidebar h2,
.ek-checkout-sidebar h3{
  margin-top:0!important;
}

.ek-checkout-sidebar img{
  border-radius:13px;
}

.ek-checkout-sidebar .border-bottom,
.ek-checkout-sidebar .border-top{
  border-color:rgba(255,255,255,.08)!important;
}

.ek-checkout-sidebar hr{
  border-color:rgba(255,255,255,.10)!important;
  opacity:1!important;
}

.ek-checkout-sidebar .fw-bold,
.ek-checkout-sidebar strong{
  color:#fff!important;
}

.ek-checkout-footer{
  padding:0 22px 34px;
}

.ek-checkout-footer__inner{
  width:min(1480px,100%);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 auto;
}

.ek-checkout-footer__inner > span{
  min-height:74px;
  display:grid;
  align-content:center;
  gap:4px;
  padding:15px 18px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}

.ek-checkout-footer b{
  color:#fff;
  font-size:12px;
  font-weight:900;
}

.ek-checkout-footer small{
  color:rgba(255,255,255,.47);
  font-size:11px;
  font-weight:650;
}

@media(max-width:1080px){
  .ek-checkout-shell{
    grid-template-columns:1fr;
  }
  .ek-checkout-sidebar{
    position:static;
  }
}

@media(max-width:760px){
  .cart-native-form .cart-line__controls{
    min-width:0;
  }
  .ek-checkout-header__inner{
    width:min(100% - 24px,1480px);
    min-height:82px;
    gap:12px;
  }
  .ek-checkout-brand > a{
    width:126px;
    min-width:126px;
  }
  .ek-checkout-brand > span,
  .ek-checkout-account > span,
  .ek-checkout-account > a:not(.ek-checkout-account__cart){
    display:none;
  }
  .ek-checkout-main{
    padding:22px 12px 48px;
  }
  .ek-checkout-content,
  .ek-checkout-sidebar{
    padding:17px;
    border-radius:23px;
  }
  .ek-checkout-content .steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ek-checkout-footer{
    padding:0 12px 22px;
  }
  .ek-checkout-footer__inner{
    grid-template-columns:1fr;
  }
}
