:root {
    /* Brand palette */
    --cozzicotton-primary: #B89658;
    --cozzicotton-primary-hover: #947844;
    --text-default: #212529;
}

/* Scope to cart page only */
.cart-page .summary-card { background:#fafafa; border:1px solid #eaecef; border-radius:10px; padding:16px; }
/* Prevent the summary card from sitting on the footer on short pages */


.cart-page .proceed-btn { background:var(--cozzicotton-primary); border-color:var(--cozzicotton-primary); }
.cart-page .proceed-btn:hover,
.cart-page .proceed-btn:focus { background: var(--cozzicotton-primary-hover); border-color:var(--cozzicotton-primary-hover); }
.cart-page .trust-copy { color:#777; font-size:12px; margin:10px 0 0; }

/* Gentle gutters so columns don’t feel cramped */
.cart-page .row > .col-lg-8 { padding-right: 18px; }
.cart-page .row > .col-lg-4 { padding-left: 18px; }

/* Art-card touches for list items in basket_content */
.cart-line { padding:15px 0; border-bottom:1px solid #eee; }
.cart-line .thumbnail { border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.cart-line-meta { color:#777; margin:6px 0 0; font-size:12px; }
.qty-stepper .btn { min-width: 34px; }
.qty-input { text-align: center; }
/* Quantity column tidy-up */
.cart-page .qty-stepper .btn { min-width:34px; }
.cart-page .line-actions { margin-top:6px; font-size:12px; }
.cart-page .line-actions a + a { margin-left:6px; }
.cart-page .qty-input { text-align:center; width:96px; }  /* instead of max-width:70px */
/* Fix the tiny gap between minus and the input in the quantity stepper */
.cart-page .qty-stepper .input-group-btn:first-child > .btn { margin-right: -1px; }
.cart-page .qty-stepper .input-group-btn:last-child  > .btn { margin-left:  -1px; }

/* Optional: make the three controls read as one pill */
.cart-page .qty-stepper .qty-input { border-left-width: 0; border-right-width: 0; }
.cart-page .qty-stepper .btn,
.cart-page .qty-stepper .qty-input { border-radius: 0; }

/* Sizing/centering for readability */
.cart-page .qty-input { width: 96px; text-align: center; }
.cart-page .qty-stepper .btn { min-width: 34px; }
.cart-page .qty-stepper .input-group-btn:first-child > .btn { margin-right:-1px; }
.cart-page .qty-stepper .input-group-btn:last-child  > .btn { margin-left:-1px; }
.cart-page .qty-stepper .qty-input { width:96px; text-align:center; border-left-width:0; border-right-width:0; }

/* ---- Quantity stepper: remove gaps completely ---- */
.cart-page .qty-stepper { display: inline-flex; align-items: stretch; vertical-align: middle; }
.cart-page .qty-stepper .input-group-btn { display: inline-flex; }
.cart-page .qty-stepper .btn { margin: 0 !important; border-radius: 0; min-width: 34px; }
.cart-page .qty-stepper .input-group-btn:first-child > .btn { margin-right: -1px; border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
.cart-page .qty-stepper .input-group-btn:last-child  > .btn { margin-left:  -1px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; }

/* Center & size the number field; remove side borders so it reads as one pill */
.cart-page .qty-stepper .qty-input { width: 96px; text-align: center; border-left-width: 0; border-right-width: 0; }

/* ---- Hide browser spinner arrows on number inputs ---- */
/* Chrome/Safari/Edge (WebKit) */
.cart-page .qty-stepper .qty-input::-webkit-outer-spin-button,
.cart-page .qty-stepper .qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* Firefox */
.cart-page .qty-stepper .qty-input[type="number"] { -moz-appearance: textfield; }

/* Ensure consistent height across all three controls */
.cart-page .qty-stepper .btn,
.cart-page .qty-stepper .qty-input { height: 32px; line-height: 32px; padding: 0 10px; }
/* Quantity pill: new, framework-agnostic control */
.cart-page .qty-stepper{
  display:inline-flex; align-items:center;
  border:1px solid #ddd; border-radius:6px; overflow:hidden;
  height:34px; vertical-align:middle; background:#fff;
}
.cart-page .qty-stepper .btn{
  border:0; box-shadow:none; height:34px; line-height:34px; padding:0 10px;
  margin:0 !important; /* kill any theme margins */
}
.cart-page .qty-stepper .btn:first-child{ border-right:1px solid #ddd; }
.cart-page .qty-stepper .btn:last-child { border-left: 1px solid #ddd; }

.cart-page .qty-stepper .qty-input{
  width:96px; text-align:center; height:34px; line-height:34px;
  border:0; box-shadow:none; padding:0 8px; background:#fff;
}

/* Hide native number spinners */
.cart-page .qty-stepper .qty-input::-webkit-outer-spin-button,
.cart-page .qty-stepper .qty-input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.cart-page .qty-stepper .qty-input[type="number"]{ -moz-appearance:textfield; }
/* Quantity pill (framework-agnostic) */
.cart-page .qty-stepper{
  display:inline-flex; align-items:center;
  border:1px solid #ddd; border-radius:6px; overflow:hidden;
  height:34px; vertical-align:middle; background:#fff;
}
.cart-page .qty-stepper .btn{ border:0; box-shadow:none; height:34px; line-height:34px; padding:0 10px; margin:0 !important; }
.cart-page .qty-stepper .btn:first-child{ border-right:1px solid #ddd; }
.cart-page .qty-stepper .btn:last-child{  border-left: 1px solid #ddd; }
.cart-page .qty-stepper .qty-input{ width:96px; text-align:center; height:34px; line-height:34px; border:0; box-shadow:none; padding:0 8px; background:#fff; }
/* Hide native spinners */
.cart-page .qty-stepper .qty-input::-webkit-outer-spin-button,
.cart-page .qty-stepper .qty-input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.cart-page .qty-stepper .qty-input[type="number"]{ -moz-appearance:textfield; }
/* Use theme tokens */
.cart-page .summary-card{ background:var(--fi-cream); border-color:var(--fi-border); }
.cart-page .proceed-btn{ background:var(--fi-orange); border-color:var(--fi-orange); }
.cart-page .proceed-btn:hover,.cart-page .proceed-btn:focus{ background:var(--cozzicotton-primary-hover); border-color:var(--cozzicotton-primary-hover); }
.cart-page .summary-rows dt{ color:var(--fi-ink); }
/* Kill the top border on the first visible row inside the cart summary table */
.cart-page #basket_totals .table > tbody > tr:first-child > th,
.cart-page #basket_totals .table > tbody > tr:first-child > td {
  border-top: 0 !important;
}


/* --- Cart responsive fixes (tablet & below) --- */
.cart-page { padding-bottom: 80px; } /* keep footer from “kissing” the content */

/* Center product titles under the image on phones only */
@media (max-width: 767px) {
  .cart-line .title-col,
  .cart-line .title-col h3 {
    text-align: center;
  }
  /* keep the link from stretching full width, for nicer centering */
  .cart-line .title-col h3 a {
    display: inline-block;
  }
}
