/* Override Bootstrap Primary Color */
:root {
    --bs-primary: #f39200;
    --bs-primary-rgb: 243, 146, 0;
}

/* Background colors */
.bg-primary {
    background-color: #f39200 !important;
}

/* Border colors */
.border-primary {
    border-color: #f39200 !important;
}

/* Text colors */
.text-primary {
    color: #f39200 !important;
}

/* Links */
a.text-primary:hover,
a.text-primary:focus {
    color: #c27700 !important;
}

/* Buttons */
.btn-primary {
    background-color: #f39200 !important;
    border-color: #f39200 !important;
}

.btn-link {
    color: #f39200 !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #c27700 !important;
    border-color: #c27700 !important;
}

.btn-primary:active,
.btn-primary.active {
    background-color: #a86300 !important;
    border-color: #a86300 !important;
}

.btn-outline-primary {
    color: #f39200 !important;
    border-color: #f39200 !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: #f39200 !important;
    border-color: #f39200 !important;
    color: #fff !important;
}

/* Alerts */
.alert-primary {
    background-color: #fef3e6 !important;
    border-color: #f39200 !important;
    color: #8a5300 !important;
}

/* Badges */
.badge-primary,
.badge.bg-primary {
    background-color: #f39200 !important;
}

/* List group */
.list-group-item-primary {
    background-color: #fef3e6 !important;
    color: #8a5300 !important;
}

/* Forms */
.form-control:focus {
    border-color: #f39200 !important;
    box-shadow: 0 0 0 0.2rem rgba(243, 146, 0, 0.25) !important;
}

.custom-control-input:checked ~ .custom-control-label::before {
    background-color: #f39200 !important;
    border-color: #f39200 !important;
}

/* Progress bars */
.progress-bar {
    background-color: #f39200 !important;
}

/* Pagination */
.page-item.active .page-link {
    background-color: #f39200 !important;
    border-color: #f39200 !important;
}

.py-xl-20 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

.card-header {
  padding: 1rem 1rem;
  margin-bottom: 0;
  background-color: rgba(0,0,0,0);
  border-bottom: 1px solid rgba(0,0,0,0.125);
}

.card-header button{
  cursor: pointer;
  width: 100%;
  text-align: left;
}
.card-hover-gradient:hover {
    background-color: #f39200;
}

.btn-check:focus+.btn, .btn:focus {
    #outline: 0;
    box-shadow: 0 0 0 0rem #f39200;
}


/* ##########################################################################
   ADDED LOCALLY — cart drawer readability + accessible close button.
   Everything ABOVE this line is the original production shopCustom.css.
   ########################################################################## */


/* --- Summary box: Zwischensumme 1/2, Rabatt, Versandkosten, Gesamtsumme, MwSt --- */
.cart-total-box,
.cart-body .cart-total-box,
.cart-total-box .cart-total-left,
.cart-total-box .cart-total-right,
.cart-total-box label,
.cart-total-box .control-label,
.cart-total-box .cart-total-row-discount label.control-label {
    color: #151e28 !important;
}

/* --- Item meta: "Art. Nr.: … · 1 x 10 ml" and qty × price ("2 x 4,49 EUR") --- */
.cart-inner .cart-item,
.cart-inner .item-description,
.cart-inner .item-description .info,
.cart-inner .item-price-row,
.cart-inner .item-quantity {
    color: #151e28 !important;
}

/* --- "Artikel entfernen" and other text buttons inside the cart --- */
.cart-inner .btn-text,
.cart-body .cart-items .cart-item .item-action .btn-text {
    color: #151e28 !important;
    text-decoration: underline;
}

/* --- Subscription options: "Einmaliger Kauf", "Dieses Produkt abonnieren" --- */
.cart-inner .basket-subscription-options,
.cart-inner .basket-subscription-options label,
.cart-inner [data-subscription-choice-card] {
    color: #151e28 !important;
}

/* The cart heading ("Warenkorb") — ensure it is the normal dark heading colour */
.cart-inner .cart-heading-row,
.cart-inner .cart-heading-row * {
    color: #151e28 !important;
}

/* --- Mini-cart recommendations: heading "Das könnte Sie auch interessieren:" --- */
.cart-inner .recom-heading,
.cart-recommend-container .recom-heading {
    color: #151e28 !important;
}

/* --- Recommended product subtitle / short description ("Sauer macht lustig.") ---
   Scoped to the cart recommend area so site-wide listing pages are unaffected. */
.cart-inner .cart-recommend-container .product-info,
.cart-recommend-container .product-info {
    color: #151e28 !important;
}

/* NOTE: .item-name (product title, e.g. "Vanille | No 75") is deliberately NOT
   overridden so it keeps the theme's orange accent colour. */


/* ============================================================================
   Cart close button (.cart-close) — modernise + WCAG 2.1 AA
   ----------------------------------------------------------------------------
   The theme left the <button> with its default browser chrome (grey bezel),
   which looks dated. Turn it into a clean circular icon button that matches the
   theme accent (#f39200) and satisfies:
     - 1.4.11 Non-text Contrast: focus ring uses a dark colour (>= 3:1).
     - 2.4.7 Focus Visible: clear :focus-visible indicator (keyboard users).
     - 2.5.8 Target Size: 40x40px hit area (well above the 24px minimum).
     - 4.1.2 / 1.1.1: name/role already provided via aria-label + empty alt.
   ============================================================================ */
.cart-inner .cart-heading-row .cart-close,
.cart-inner .cart-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background-color: transparent;
    color: #151e28;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    right: -4px;
    top: 50%;
    transform: translateY(-50%);
    transition: background-color .18s ease, box-shadow .18s ease, transform .12s ease;
}

/* Hover / keyboard-focus: subtle on-theme orange tint */
.cart-inner .cart-close:hover,
.cart-inner .cart-close:focus-visible {
    background-color: rgba(243, 146, 0, .14);
}

/* Pressed feedback */
.cart-inner .cart-close:active {
    transform: translateY(-50%) scale(.9);
}

/* 2.4.7 + 1.4.11: high-contrast, clearly visible keyboard focus ring */
.cart-inner .cart-close:focus-visible {
    outline: 3px solid #151e28;
    outline-offset: 2px;
}
/* Remove the default focus ring only when we render our own (mouse users) */
.cart-inner .cart-close:focus:not(:focus-visible) {
    outline: none;
}

/* Keep the glyph crisp and centred */
.cart-inner .cart-close img {
    width: 14px;
    height: 14px;
    display: block;
    pointer-events: none;
}

/* 2.3.3: respect users who ask for reduced motion */
@media (prefers-reduced-motion: reduce) {
    .cart-inner .cart-close {
        transition: none;
    }
    .cart-inner .cart-close:active {
        transform: translateY(-50%);
    }
}
