 *,*::before,*::after{
    margin:0;
    padding:0;
    box-sizing:border-box
}
  :root{
    --cream:#F5F0E8;
    --ivory:#FAF7F2;
    --gold:#B8965A;
    --gold-light:#D4AF72;
    --dark:#1A1612;
    --charcoal:#2E2A25;
    --warm-gray:#8A847C;
    --border:rgba(184,150,90,0.25)
}
  html{
    scroll-behavior:smooth
}
  body{
    background:var(--ivory);
    color:var(--dark);
    font-family:'Montserrat',sans-serif;
    font-weight:300;
    overflow-x:hidden;
    min-height:100vh
}
  nav{
    position:fixed;
    top:0;left:0;
    right:0;
    z-index:100;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:1.5rem 4rem;
    background:rgba(250,247,242,0.92);
    backdrop-filter:blur(12px);
    border-bottom:0.5px solid var(--border)
}
  .nav-logo{
    text-decoration:none;
    display:flex;
    align-items:center
}
  .nav-logo img{
    height:48px;
    width:auto;
    object-fit:contain;
    mix-blend-mode:multiply
}
  .nav-links{
    display:flex;
    gap:3rem;
    list-style:none
}
  .nav-links a{
    font-size:0.65rem;
    letter-spacing:0.25em;
    text-transform:uppercase;
    color:var(--charcoal);
    text-decoration:none;
    transition:color 0.3s
}
  .nav-links a:hover{
    color:var(--gold)
}
  .nav-actions{
    display:flex;
    gap:1.5rem;
    align-items:center
}
  .nav-actions a{
    font-size:0.65rem;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--charcoal);
    text-decoration:none
}
  .nav-cart{
    width:36px;
    height:36px;
    border:0.5px solid var(--gold);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    position:relative
}
  .nav-cart svg{
    width:14px;
    height:14px;
    stroke:var(--gold);
    fill:none
}
  .cart-badge{
    position:absolute;
    top:-6px;right:-6px;
    width:16px;
    height:16px;
    border-radius:50%;
    background:var(--gold);
    color:var(--ivory);
    font-size:0.45rem;
    display:flex;align-items:center;
    justify-content:center;
    font-weight:400;
    letter-spacing:0
}

  /* PAGE LAYOUT */
  .page-wrap{
    padding-top:80px;
    min-height:100vh;
    display:grid;
    grid-template-columns:1fr 380px;
    align-items:start
}

  /* LEFT — CART ITEMS */
  .cart-main{
    padding:4rem 4rem 4rem 4rem;
    border-right:0.5px solid var(--border);
    min-height:calc(100vh - 80px)
}
  .cart-header{
    margin-bottom:3rem;
    padding-bottom:1.5rem;
    border-bottom:0.5px solid var(--border);
    display:flex;
    justify-content:space-between;
    align-items:flex-end
}
  .cart-eyebrow{
    font-size:0.52rem;
    letter-spacing:0.45em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:0.6rem
}
  .cart-title{
    font-family:'Cormorant Garamond',serif;font-size:2.2rem;
    font-weight:300;color:var(--dark)
}
  .cart-title em{
    font-style:italic;color:var(--gold)
}
  .cart-count{
    font-size:0.58rem;
    letter-spacing:0.2em;
    color:var(--warm-gray)
}
  .cart-count span{
    color:var(--gold)
}

  /* ITEM */
  .cart-items{display:flex;flex-direction:column;gap:2px}
  .cart-item{display:grid;grid-template-columns:100px 1fr auto;gap:2rem;background:var(--cream);padding:1.8rem 2rem;align-items:center;transition:background 0.2s;position:relative}
  .cart-item:hover{background:#F0EBE0}
  .item-img{width:100px;height:130px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .item-info{display:flex;flex-direction:column;gap:0.4rem}
  .item-family{font-size:0.48rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold)}
  .item-name{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;color:var(--dark)}
  .item-notes{font-size:0.58rem;letter-spacing:0.05em;color:var(--warm-gray);margin-top:0.1rem}
  .item-size{font-size:0.52rem;letter-spacing:0.2em;color:var(--warm-gray);margin-top:0.3rem}
  .item-actions{display:flex;align-items:center;gap:0.5rem;margin-top:0.8rem}
  .qty-btn{width:28px;height:28px;border:0.5px solid var(--border);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.7rem;color:var(--charcoal);transition:all 0.2s}
  .qty-btn:hover{background:var(--dark);color:var(--gold);border-color:var(--dark)}
  .qty-val{width:32px;text-align:center;font-size:0.65rem;letter-spacing:0.1em;color:var(--dark)}
  .item-remove{font-size:0.48rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--warm-gray);background:none;border:none;cursor:pointer;margin-left:1rem;transition:color 0.2s;padding:0}
  .item-remove:hover{color:var(--dark)}
  .item-price-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:0.5rem}
  .item-price{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:300;color:var(--dark)}
  .item-unit-price{font-size:0.5rem;letter-spacing:0.15em;color:var(--warm-gray)}

  /* GIFT SECTION */
  .gift-wrap{background:var(--dark);padding:1.5rem 2rem;display:flex;align-items:center;gap:1.5rem;margin-top:2px;cursor:pointer;transition:background 0.2s}
  .gift-wrap:hover{background:var(--charcoal)}
  .gift-icon{width:36px;height:36px;border:0.5px solid rgba(184,150,90,0.4);display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .gift-icon svg{width:16px;height:16px;stroke:var(--gold);fill:none}
  .gift-title{font-size:0.6rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--ivory);margin-bottom:0.2rem}
  .gift-sub{font-size:0.55rem;letter-spacing:0.06em;color:rgba(250,247,242,0.4)}
  .gift-arrow{margin-left:auto;font-size:0.55rem;color:var(--gold);letter-spacing:0.15em}

  /* RECENTLY VIEWED */
  .recently-section{margin-top:4rem}
  .recently-title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:300;color:var(--dark);margin-bottom:1.5rem;padding-top:1.5rem;border-top:0.5px solid var(--border)}
  .recently-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
  .recently-card{background:var(--cream);cursor:pointer;overflow:hidden;transition:transform 0.3s}
  .recently-card:hover{transform:translateY(-3px)}
  .recently-img{aspect-ratio:1/1.2;display:flex;align-items:center;justify-content:center;transition:transform 0.5s}
  .recently-card:hover .recently-img{transform:scale(1.03)}
  .recently-info{padding:1rem 1.2rem 1.3rem}
  .recently-name{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:400;color:var(--dark);margin-bottom:0.2rem}
  .recently-price{font-size:0.6rem;letter-spacing:0.1em;color:var(--warm-gray)}
  .recently-add{font-size:0.48rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--warm-gray);background:none;border:0.5px solid var(--border);padding:0.35rem 0.7rem;cursor:pointer;margin-top:0.5rem;transition:all 0.2s;display:block;width:100%}
  .recently-add:hover{background:var(--dark);color:var(--gold);border-color:var(--dark)}

  /* RIGHT — ORDER SUMMARY */
  .cart-sidebar{padding:4rem 3rem;position:sticky;top:80px;background:var(--ivory)}
  .summary-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;color:var(--dark);margin-bottom:2rem;padding-bottom:1rem;border-bottom:0.5px solid var(--border)}

  .summary-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem}
  .summary-label{font-size:0.58rem;letter-spacing:0.1em;color:var(--warm-gray)}
  .summary-val{font-size:0.65rem;letter-spacing:0.1em;color:var(--dark)}
  .summary-divider{height:0.5px;background:var(--border);margin:1.2rem 0}
  .summary-total-label{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--dark)}
  .summary-total-val{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:var(--dark)}
  .summary-tax{font-size:0.5rem;letter-spacing:0.1em;color:var(--warm-gray);text-align:right;margin-top:-0.6rem;margin-bottom:2rem}

  /* PROMO CODE */
  .promo-wrap{margin-bottom:2rem}
  .promo-label{font-size:0.52rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--warm-gray);margin-bottom:0.8rem}
  .promo-field{display:flex;border-bottom:0.5px solid var(--border)}
  .promo-input{flex:1;background:transparent;border:none;outline:none;font-family:'Montserrat',sans-serif;font-size:0.62rem;letter-spacing:0.1em;color:var(--dark);padding:0.7rem 0}
  .promo-input::placeholder{color:rgba(138,132,124,0.5)}
  .promo-btn{font-size:0.52rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);background:none;border:none;cursor:pointer;padding:0.7rem 0;transition:color 0.2s}
  .promo-btn:hover{color:var(--gold-light)}

  /* SHIPPING */
  .shipping-options{margin-bottom:2rem}
  .shipping-label{font-size:0.52rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--warm-gray);margin-bottom:1rem}
  .shipping-opt{display:flex;align-items:center;gap:0.8rem;padding:0.8rem 0;border-bottom:0.5px solid var(--border);cursor:pointer}
  .shipping-opt:last-child{border-bottom:none}
  .shipping-radio{width:16px;height:16px;border-radius:50%;border:0.5px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color 0.2s}
  .shipping-radio.on{border-color:var(--gold)}
  .shipping-radio.on::after{content:'';width:8px;height:8px;border-radius:50%;background:var(--gold)}
  .shipping-opt-info{flex:1}
  .shipping-opt-name{font-size:0.58rem;letter-spacing:0.08em;color:var(--dark)}
  .shipping-opt-time{font-size:0.5rem;letter-spacing:0.05em;color:var(--warm-gray)}
  .shipping-opt-price{font-size:0.58rem;letter-spacing:0.1em;color:var(--dark)}

  /* CHECKOUT BTN */
  .btn-checkout{width:100%;padding:1.2rem;background:var(--dark);color:var(--ivory);border:none;cursor:pointer;font-family:'Montserrat',sans-serif;font-size:0.6rem;letter-spacing:0.35em;text-transform:uppercase;transition:background 0.3s;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:1rem}
  .btn-checkout:hover{background:var(--charcoal)}
  .btn-checkout svg{width:14px;height:14px;stroke:var(--gold);fill:none}
  .btn-continue{width:100%;padding:0.9rem;background:transparent;color:var(--warm-gray);border:0.5px solid var(--border);cursor:pointer;font-family:'Montserrat',sans-serif;font-size:0.58rem;letter-spacing:0.25em;text-transform:uppercase;transition:all 0.2s}
  .btn-continue:hover{border-color:var(--dark);color:var(--dark)}

  /* TRUST BADGES */
  .trust-wrap{margin-top:2rem;display:flex;flex-direction:column;gap:0.8rem}
  .trust-item{display:flex;align-items:center;gap:0.8rem}
  .trust-item svg{width:14px;height:14px;stroke:var(--gold);fill:none;flex-shrink:0}
  .trust-text{font-size:0.52rem;letter-spacing:0.08em;color:var(--warm-gray)}

  /* EMPTY STATE */
  .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;gap:1.5rem}
  .empty-icon{width:80px;height:80px;border:0.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center}
  .empty-icon svg{width:28px;height:28px;stroke:var(--warm-gray);fill:none}
  .empty-title{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:var(--dark)}
  .empty-sub{font-size:0.62rem;letter-spacing:0.06em;color:var(--warm-gray);max-width:260px;line-height:1.8}
  .btn-shop{font-size:0.58rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--ivory);background:var(--dark);border:none;padding:1rem 2.5rem;cursor:pointer;transition:background 0.3s;text-decoration:none;display:inline-block}

  .hidden{display:none!important}