

    :root{
        --kahvar-red:#460f15;
        --kahvar-green:#3a5850;
        --kahvar-beige:#ffeecc;
        --ink:#141414;
        --muted:rgba(0,0,0,0.65);
        --radius:18px;
        --shadow-soft:0 16px 40px rgba(0,0,0,0.08);
        --border:rgba(0,0,0,0.08);
    }

    .cart-hero{
        padding: 34px 0;
        background: var(--kahvar-beige);
        border-bottom: 1px solid rgba(0,0,0,0.06);
    }

    .cart-shell{
        padding: 22px 0 60px;
    }

    .cart-card{
        background:#fff;
        border:1px solid var(--border);
        border-radius: 22px;
        box-shadow: var(--shadow-soft);
    }

    .cart-card-head{
        padding: 16px 18px;
        border-bottom: 1px solid rgba(0,0,0,0.06);
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
    }

    .cart-card-body{
        padding: 14px 18px 18px;
    }

    .cart-item{
        display:grid;
        grid-template-columns: 1.6fr 110px 140px 130px 44px;
        gap: 12px;
        align-items:center;
        padding: 14px 0;
        border-bottom: 1px solid rgba(0,0,0,0.06);
    }

    .cart-item:last-child{ border-bottom: 0; }

    .cart-item-left{
        display:flex;
        align-items:center;
        gap: 14px;
        min-width: 0;
    }

    .cart-thumb{
        width:72px;
        height:72px;
        border-radius: 16px;
        overflow:hidden;
        border:1px solid rgba(70,15,21,0.14);
        background: rgba(0,0,0,0.03);
        flex: 0 0 auto;
    }

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

    .cart-title{
        font-weight: 800;
        color: var(--ink);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .cart-meta{
        font-size: 0.85rem;
        color: rgba(0,0,0,0.6);
        margin-top: 2px;
    }

    .cart-money{
        font-weight: 800;
        color: var(--kahvar-red);
    }

    .cart-unit{
        color: rgba(0,0,0,0.72);
        font-size: 0.92rem;
    }

    .cart-qty input{
        height: 42px;
        border-radius: 14px;
        border: 1px solid rgba(70,15,21,0.18);
        background: #fffaf2;
        text-align:center;
        font-weight: 700;
    }

    .cart-remove{
        width: 40px;
        height: 40px;
        border-radius: 12px;
        border: 1px solid rgba(0,0,0,0.10);
        background: rgba(0,0,0,0.02);
        display:flex;
        align-items:center;
        justify-content:center;
        cursor:pointer;
    }

    .cart-remove:hover{
        border-color: rgba(70,15,21,0.28);
        background: rgba(70,15,21,0.05);
    }

    .cart-actions{
        display:flex;
        justify-content: flex-end;
        gap: 10px;
        margin-top: 14px;
    }

    .cart-note{
        margin-top: 10px;
        font-size: 0.85rem;
        color: rgba(0,0,0,0.6);
    }

    .summary-lines{
        display:grid;
        gap: 10px;
        margin-top: 10px;
    }

    .summary-line{
        display:flex;
        align-items:center;
        justify-content:space-between;
        color: rgba(0,0,0,0.75);
    }

    .summary-total{
        padding-top: 12px;
        margin-top: 10px;
        border-top: 1px solid rgba(0,0,0,0.10);
        display:flex;
        align-items:center;
        justify-content:space-between;
        font-weight: 900;
        color: var(--ink);
    }

    .summary-total strong{
        color: var(--kahvar-red);
        font-size: 1.15rem;
    }

    .summary-foot{
        margin-top: 14px;
        display:grid;
        gap: 10px;
    }

    .cart-pill-row{
        display:flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 14px;
    }

    .cart-pill{
        display:inline-flex;
        align-items:center;
        gap: 8px;
        padding: 8px 12px;
        border-radius: 999px;
        border: 1px solid rgba(0,0,0,0.10);
        background: rgba(0,0,0,0.02);
        font-size: 0.9rem;
        color: rgba(0,0,0,0.72);
    }

    .summary-sticky{
        position: sticky;
        top: 110px;
    }

    /* Responsive */
    @media (max-width: 991.98px){
        .summary-sticky{ position: static; top: auto; }
        .cart-item{
            grid-template-columns: 1fr;
            gap: 10px;
            align-items: start;
        }
        .cart-item-left{ align-items: flex-start; }
        .cart-actions{ justify-content: stretch; flex-wrap: wrap; }
        .cart-actions > *{ flex: 1 1 auto; }
    }

    /* Qty stepper */
    .qty-stepper{
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    gap: 8px;
    align-items: center;
    background: #fffaf2;
    border: 1px solid rgba(70,15,21,0.18);
    border-radius: 14px;
    padding: 6px;
    height: 44px;
    }

    .qty-btn{
    height: 34px;
    border-radius: 12px;
    border: 0;
    background: rgba(0,0,0,0.04);
    cursor: pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    }

    .qty-btn:hover{
    background: rgba(70,15,21,0.06);
    }

    .qty-input{
        border: 0;
        background: transparent;
        outline: none;
        text-align: center;
        font-weight: 800;
        height: 34px;
        width: 100%;
    }

    /* Remove default spinners for a cleaner look */
    .qty-input::-webkit-outer-spin-button,
    .qty-input::-webkit-inner-spin-button{
        -webkit-appearance: none;
        margin: 0;
    }
    .qty-input[type=number]{
        -moz-appearance: textfield;
    }

    /* Subtle pulse when totals change */
    .pulse-update{
        animation: pulseUpdate 480ms ease;
    }

    @keyframes pulseUpdate{
        0%   { background: rgba(58,88,80,0.10); }
        100% { background: transparent; }
    }

    .qty-stepper{
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  height: 44px;

  background: #fffaf2;
  border: 1px solid rgba(70,15,21,0.18);
  border-radius: 999px;
  padding: 4px;
}

/* Minus / Plus buttons */
.qty-btn{
  height: 36px;
  width: 36px;
  border-radius: 999px;
  border: 0;
  background: rgba(0,0,0,0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.qty-btn:hover{
  background: rgba(70,15,21,0.08);
}

/* Quantity number */
.qty-input{
  height: 36px;
  border: 0;
  background: transparent;
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
  color: var(--kahvar-red);
  outline: none;
  padding: 0;
}

/* Remove browser controls */
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}
.qty-input[type=number]{
  -moz-appearance: textfield;
}

.qty-input[value="0"]{
  opacity: 0.6;
}

.qty-btn:active{
  transform: scale(0.94);
}

/* Stepper: premium + matches Kahvar buy panel */
.qty-stepper{
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;

  height: 46px;
  padding: 5px;

  background: #fffaf2;
  border: 1px solid rgba(70,15,21,0.18);
  border-radius: 999px;
}

/* − / + buttons */
.qty-btn{
  width: 36px;
  height: 36px;
  border-radius: 999px;

  border: 0;
  background: rgba(0,0,0,0.04);

  display: flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
  transition: transform 120ms ease, background 180ms ease, opacity 180ms ease;
}

.qty-btn:hover{
  background: rgba(70,15,21,0.08);
}

.qty-btn:active{
  transform: scale(0.94);
}

/* Disabled state */
.qty-btn:disabled{
  opacity: 0.38;
  cursor: not-allowed;
  background: rgba(0,0,0,0.03);
}

/* Center number: NO BOX, just text */
.qty-input{
  border: 0;
  outline: none;
  background: transparent;

  height: 36px;
  width: 100%;

  text-align: center;
  font-weight: 900;
  font-size: 1.05rem;
  color: var(--kahvar-red);

  padding: 0;
}

/* Hide browser spinners */
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}
.qty-input[type=number]{
  -moz-appearance: textfield;
}

/* Tiny animation on change */
.qty-input.qty-bump{
  animation: qtyBump 180ms ease;
}

@keyframes qtyBump{
  0%   { transform: translateY(2px); opacity: 0.75; }
  100% { transform: translateY(0);  opacity: 1; }
}

/* Stepper track */
.qty-stepper{
  display:grid;
  grid-template-columns: 44px 1fr 44px;
  align-items:center;

  height: 46px;
  padding: 5px;

  background: #fffaf2;
  border: 1px solid rgba(70,15,21,0.18);
  border-radius: 999px;
}

/* Buttons */
.qty-btn{
  width: 36px;
  height: 36px;
  border-radius: 999px;

  border: 0 !important;
  background: rgba(0,0,0,0.04);

  display:flex;
  align-items:center;
  justify-content:center;

  cursor:pointer;
  transition: transform 120ms ease, background 180ms ease, opacity 180ms ease;
}

.qty-btn:hover{ background: rgba(70,15,21,0.08); }
.qty-btn:active{ transform: scale(0.94); }

.qty-btn:disabled{
  opacity: 0.38;
  cursor: not-allowed;
  background: rgba(0,0,0,0.03);
}

/* IMPORTANT: hard reset the number input so it never looks boxed */
.qty-stepper .qty-input{
  -webkit-appearance: none;
  appearance: none;

  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;

  background: transparent !important;

  height: 36px;
  width: 100%;

  padding: 0 !important;
  margin: 0 !important;

  text-align: center;
  font-weight: 900;
  font-size: 1.05rem;
  color: var(--kahvar-red);

  border-radius: 0 !important; /* prevents “pill in the middle” */
}

/* Hide native spinners */
.qty-stepper .qty-input::-webkit-outer-spin-button,
.qty-stepper .qty-input::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}
.qty-stepper .qty-input[type=number]{
  -moz-appearance: textfield;
}

/* Tiny number animation */
.qty-stepper .qty-input.qty-bump{
  animation: qtyBump 180ms ease;
}
@keyframes qtyBump{
  0%   { transform: translateY(2px); opacity: 0.75; }
  100% { transform: translateY(0);  opacity: 1; }
}
