/* The shop in Compass's colours (static/compass/css/compass.css tokens), over Oscar's Bootstrap 4. */
:root {
  --csa-green: #1f533b;
  --csa-green-dark: #123a28;
  --csa-green-light: #e8f0ec;
  --csa-gold: #ceb455;
  --ink: #18231e;
  --cream: #f8f6ef;
  --focus-on-dark: #e3c95e;
}
body { color: var(--ink); background: #fff; font-family: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif; }
a { color: var(--csa-green); }
p a:not(.btn), li > a:not(.btn):not(.nav-link):not(.dropdown-item) { text-decoration: underline; }
a:hover, a:focus { color: var(--csa-green-dark); }
:focus-visible { outline: 3px solid var(--csa-green); outline-offset: 2px; }
.shop-topbar { background: var(--csa-green-dark); }
.shop-topbar a, .shop-topbar .navbar-text { color: #fff !important; }
.shop-topbar a:focus-visible { outline-color: var(--focus-on-dark); }
.shop-brand { display: flex; align-items: center; padding: .75rem 0; }
.shop-brand-link { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; }
.shop-name { font-family: Georgia, "Times New Roman", serif; font-size: 1.6rem; color: var(--csa-green-dark); }
.btn-primary, .btn-primary:disabled { background: var(--csa-green); border-color: var(--csa-green); }
.btn-primary:hover, .btn-primary:focus { background: var(--csa-green-dark); border-color: var(--csa-green-dark); }
.btn-outline-primary { color: var(--csa-green); border-color: var(--csa-green); }
.navbar.bg-dark, .navbar-dark.bg-dark { background: var(--csa-green) !important; }
.navbar-dark .nav-link, .navbar-dark .navbar-text, .nav-checkout .nav-link span, .nav-checkout .navbar-text { color: #fff !important; }
.nav-checkout .active .navbar-text, .nav-checkout .active span { font-weight: 600; text-decoration: underline; }
.page-header h1 { font-family: Georgia, "Times New Roman", serif; color: var(--csa-green-dark); }
.badge-primary, .badge-success { background: var(--csa-green); color: #fff; }
.btn-link { color: var(--csa-green); text-decoration: underline; }
.shop-footer { border-top: 1px solid #dfe5e1; margin-top: 2rem; padding: 1rem 0; color: #5c6b63; font-size: .9rem; }
.shop-policy-note { background: var(--cream); border-left: 4px solid var(--csa-gold); padding: .75rem 1rem; }
@media (max-width: 575px) { .shop-name { font-size: 1.25rem; } }
/* Quantity control that replaces Add to cart once an item is in the cart (templates/shop/_cart_stepper.html). */
.cart-stepper { display: flex; align-items: stretch; gap: .25rem; max-width: 16rem; }
.cart-stepper > .btn { min-width: 2.75rem; font-size: 1.25rem; line-height: 1; }
.cart-stepper-set { display: flex; align-items: center; gap: .25rem; flex: 1; margin: 0; }
.cart-stepper-set .form-control { text-align: center; min-width: 3.5rem; }
.product_pod .cart-stepper { margin: 0 auto; }
