body{overflow-x:hidden;overflow-y:auto;}
[hidden]{display:none !important;}

.cart2-page{
  position:relative;z-index:2;
  padding:110px 5% 60px;
  min-height:90vh;
}

/* ---- empty state ---- */
.cart2__empty{
  text-align:center;padding:100px 0;
}
.cart2__empty p{color:var(--grey);font-size:15px;margin-bottom:20px;}
.cart2__promo-btn{
  display:inline-block;padding:14px 28px;
  border:1px solid var(--border);color:var(--white);
  font-family:'Archivo',sans-serif;font-size:12px;font-weight:700;letter-spacing:0.06em;
  transition:background .3s,border-color .3s;
}
.cart2__promo-btn:hover{background:var(--red);border-color:var(--red);}

/* ---- panel shell ---- */
.cart2__panel{
  border:1px solid var(--border);border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0) 30%);
  padding:22px 28px 32px;
  overflow:hidden;
}

.cart2__topbar{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding-bottom:16px;border-bottom:1px solid var(--border);
  margin-bottom:28px;
}
.cart2__nav{display:flex;gap:28px;grid-column:2;justify-self:center;}
.cart2__nav a{
  display:flex;align-items:center;gap:6px;
  font-family:'Anton',sans-serif;font-size:13px;letter-spacing:0.06em;
  color:rgba(237,237,237,0.65);text-transform:uppercase;
  position:relative;padding-bottom:4px;transition:color .3s;
}
.cart2__nav a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--red);transition:width .3s ease;}
.cart2__nav a.active,.cart2__nav a:hover{color:var(--white);}
.cart2__nav a.active::after{width:100%;}
.cart2__nav-badge{
  min-width:16px;height:16px;padding:0 4px;border-radius:999px;
  background:var(--red);color:var(--white);
  font-family:'Archivo',sans-serif;font-size:9px;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;
}
.cart2__id{grid-column:3;justify-self:end;font-size:11px;letter-spacing:0.1em;color:var(--grey);}

.cart2__body{
  display:grid;
  grid-template-columns:220px 1fr 300px;
  gap:36px;
  align-items:stretch;
}

/* ---- left brand column ---- */
.cart2__brand{display:flex;flex-direction:column;gap:20px;}
.cart2__brand-title{
  font-family:'Anton',sans-serif;font-size:40px;color:var(--red);line-height:0.9;
}
.cart2__brand-tag{display:flex;gap:10px;}
.cart2__brand-tag img{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0;margin-top:2px;}
.cart2__brand-tag h3{font-family:'Anton',sans-serif;font-size:13px;color:var(--white);margin-bottom:4px;}
.cart2__brand-tag p{font-size:11px;line-height:1.5;color:var(--grey);}

.cart2__brand-photo{
  width:100%;flex:1 1 0;min-height:0;border-radius:12px;overflow:hidden;
  background:rgba(255,255,255,0.02);border:1px solid var(--border);
}
.cart2__brand-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;}

.cart2__promo{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  border:1px solid var(--border);border-radius:10px;padding:14px;
  margin-bottom:18px;
  transition:border-color .3s,background .3s;
}
.cart2__promo:hover{border-color:var(--red);background:rgba(200,30,44,0.06);}
.cart2__promo-text{display:flex;flex-direction:column;gap:4px;}
.cart2__promo-text strong{font-family:'Anton',sans-serif;font-size:12px;color:var(--white);letter-spacing:0.02em;}
.cart2__promo-text span{font-size:11px;color:var(--grey);line-height:1.4;}
.cart2__promo-arrow{color:var(--red);font-size:16px;flex-shrink:0;}

/* ---- middle: items ---- */
.cart2__items-head{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:18px;
}
.cart2__items-head h3{font-family:'Anton',sans-serif;font-size:15px;letter-spacing:0.04em;color:var(--white);}
.cart2__items-head span{font-size:11px;color:var(--grey);}

.cart2__items{display:flex;flex-direction:column;gap:16px;margin-bottom:20px;}
.cart2-item{
  display:flex;gap:16px;
  border:1px solid var(--border);border-radius:10px;padding:14px;
}
.cart2-item__img{
  width:70px;aspect-ratio:3/4;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.02);border:1px solid var(--border);border-radius:6px;
}
.cart2-item__img img{max-width:80%;max-height:80%;object-fit:contain;}
.cart2-item__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;}
.cart2-item__info h4{font-family:'Anton',sans-serif;font-size:14px;color:var(--white);}
.cart2-item__meta{font-size:11px;color:var(--grey);}
.cart2-item__row{display:flex;align-items:center;gap:16px;margin-top:auto;}
.cart2-item__qty{display:inline-flex;align-items:center;border:1px solid var(--border);}
.cart2-item__qty button{width:28px;height:28px;background:none;border:none;color:var(--white);cursor:pointer;font-size:13px;transition:background .3s;}
.cart2-item__qty button:hover{background:rgba(237,237,237,0.08);}
.cart2-item__qty span{min-width:26px;text-align:center;font-family:'Archivo',sans-serif;font-size:12px;color:var(--white);}
.cart2-item__remove{background:none;border:none;color:var(--grey);font-size:11px;letter-spacing:0.03em;text-decoration:underline;cursor:pointer;transition:color .3s;}
.cart2-item__remove:hover{color:var(--white);}
.cart2-item__price{font-family:'Anton',sans-serif;font-size:14px;color:var(--red);flex-shrink:0;align-self:flex-start;}

.cart2__note-btn{
  width:100%;
  display:flex;flex-direction:column;align-items:center;gap:2px;
  border:1px dashed var(--border);border-radius:10px;
  padding:14px;margin-bottom:32px;
  background:none;cursor:pointer;transition:border-color .3s;
}
.cart2__note-btn:hover{border-color:var(--white);}
.cart2__note-btn span:first-child{font-family:'Anton',sans-serif;font-size:12px;color:var(--white);}
.cart2__note-hint{font-size:11px;color:var(--grey);}
.cart2__note-input{
  width:100%;min-height:70px;margin:-20px 0 32px;
  background:rgba(255,255,255,0.02);border:1px solid var(--border);border-radius:10px;
  color:var(--white);padding:14px;font-family:'Archivo',sans-serif;font-size:12px;resize:vertical;
}
.cart2__note-input:focus{outline:none;border-color:var(--white);}

.cart2__recs h3{font-family:'Anton',sans-serif;font-size:12px;letter-spacing:0.06em;color:var(--grey);margin-bottom:14px;}
.cart2__recs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.cart2-rec{
  border:1px solid var(--border);border-radius:8px;padding:8px;
  transition:border-color .3s;
}
.cart2-rec:hover{border-color:var(--white);}
.cart2-rec__img{
  aspect-ratio:3/4;width:100%;margin-bottom:8px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.02);
}
.cart2-rec__img img{max-width:80%;max-height:80%;object-fit:contain;}
.cart2-rec h4{font-size:10px;color:var(--white);line-height:1.3;margin-bottom:4px;}
.cart2-rec span{font-family:'Anton',sans-serif;font-size:11px;color:var(--red);}

/* ---- right: summary ---- */
.cart2__summary{
  border:1px solid var(--border);border-radius:14px;padding:22px;
  position:sticky;top:100px;
}
.cart2__summary h3{font-family:'Anton',sans-serif;font-size:13px;letter-spacing:0.06em;color:var(--white);margin-bottom:18px;}
.cart2__summary-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--grey);margin-bottom:10px;}
.cart2__summary-row--total{
  font-family:'Anton',sans-serif;font-size:18px;color:var(--white);
  margin-top:14px;padding-top:14px;border-top:1px solid var(--border);
}
.cart2__summary-row--total span:last-child{color:var(--red);}

.cart2__checkout{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;margin-top:18px;
  background:var(--red);border:1px solid var(--red);color:var(--white);
  padding:15px;font-size:12px;font-weight:700;letter-spacing:0.06em;
  cursor:pointer;transition:background .3s,border-color .3s;
  font-family:'Archivo',sans-serif;
}
.cart2__checkout:hover{background:var(--white);border-color:var(--white);color:var(--black);}
.cart2__continue{
  display:block;text-align:center;
  width:100%;margin-top:10px;
  border:1px solid var(--border);color:var(--white);
  padding:14px;font-size:11px;font-weight:700;letter-spacing:0.06em;
  transition:border-color .3s;
}
.cart2__continue:hover{border-color:var(--white);}

.cart2__icons{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  margin-top:24px;padding-top:20px;border-top:1px solid var(--border);
}
.cart2__icons div{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;}
.cart2__icons svg{width:20px;height:20px;color:var(--grey);}
.cart2__icons span{font-size:9px;color:var(--grey);line-height:1.3;}

.cart2__drop-box{
  display:flex;align-items:center;gap:12px;
  margin-top:20px;padding:14px;
  border:1px solid var(--border);border-radius:10px;
}
.cart2__drop-plus{
  width:28px;height:28px;flex-shrink:0;border-radius:50%;
  border:1px solid var(--red);color:var(--red);
  display:flex;align-items:center;justify-content:center;font-size:16px;
}
.cart2__drop-box strong{display:block;font-family:'Anton',sans-serif;font-size:11px;color:var(--white);}
.cart2__drop-box span{font-size:10px;color:var(--grey);}

@media (max-width:1000px){
  .cart2__body{grid-template-columns:1fr;}
  .cart2__brand{flex-direction:row;flex-wrap:wrap;height:auto;}
  .cart2__brand-photo{width:140px;flex:none;aspect-ratio:3/4;min-height:0;order:-1;}
  .cart2__summary{position:relative;top:0;}
  .cart2__recs-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .cart2__panel{padding:18px 16px 24px;}
  .cart2__nav{gap:14px;}
  .cart2__id{display:none;}
}
