/* ===== ALL BUTTONS - FORCE white background, black text ===== */
#btn-redeem-voucher,
#btn-add-to-cart,
#btn-checkout,
button#btn-redeem-voucher,
button#btn-add-to-cart,
button#btn-checkout,
.btn-gradient,
.btn-primary,
.btn,
button.btn,
input[type="submit"].btn,
input[type="button"].btn {
    background-color: #ffffff !important;
    background: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 30px !important;
    color: #000000 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    outline: none !important;
    fill: #000000 !important;
}

/* Text inside buttons - black */
.availability-box button span,
.availability-box .btn span,
button.btn span,
.btn-primary span,
#btn-add-to-cart span,
#btn-checkout span,
#btn-redeem-voucher span,
.btn span,
.btn-primary,
.btn,
a.btn,
button,
input[type="submit"],
input[type="button"] {
    color: #000000 !important;
    fill: #000000 !important;
}

/* Icons - black */
.availability-box i,
.availability-box .fa,
#btn-add-to-cart i, #btn-add-to-cart .fa, 
#btn-checkout i, #btn-checkout .fa,
#btn-redeem-voucher i, #btn-redeem-voucher .fa,
button .fa,
.btn-primary .fa,
i.fa,
.fa {
    color: #000000 !important;
    fill: #000000 !important;
}

/* Remove ALL hover effects completely */
#btn-add-to-cart, #btn-checkout, #btn-redeem-voucher,
button#btn-add-to-cart, button#btn-checkout, button#btn-redeem-voucher,
.btn-primary#btn-add-to-cart, .btn-primary#btn-checkout, .btn-primary#btn-redeem-voucher,
.btn-gradient,
.btn.btn-primary[type="submit"],
.checkout-button-row .btn.btn-primary[type="submit"],
.btn-block.btn-primary.btn-lg[type="submit"],
a.btn-block.btn-primary.btn-lg,
button.btn-block.btn-primary.btn-lg,
.btn-primary {
    background-color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 30px !important;
    color: #000000 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    outline: none !important;
}

#btn-add-to-cart:hover, #btn-checkout:hover, #btn-redeem-voucher:hover,
button#btn-add-to-cart:hover, button#btn-checkout:hover, button#btn-redeem-voucher:hover,
.btn-primary#btn-add-to-cart:hover, .btn-primary#btn-checkout:hover, .btn-primary#btn-redeem-voucher:hover,
.btn-gradient:hover,
.btn.btn-primary[type="submit"]:hover,
.checkout-button-row .btn.btn-primary[type="submit"]:hover,
.btn-block.btn-primary.btn-lg[type="submit"]:hover,
a.btn-block.btn-primary.btn-lg:hover,
button.btn-block.btn-primary.btn-lg:hover,
.btn-primary:hover {
    background-color: #ffffff !important;
    border: 2px solid #ffffff !important;
    box-shadow: none !important;
    outline: none !important;
    color: #000000 !important;
}

#btn-add-to-cart:active, #btn-checkout:active, #btn-redeem-voucher:active,
button#btn-add-to-cart:active, button#btn-checkout:active, button#btn-redeem-voucher:active,
.btn-primary#btn-add-to-cart:active, .btn-primary#btn-checkout:active, .btn-primary#btn-redeem-voucher:active,
.btn-gradient:active,
.btn.btn-primary[type="submit"]:active,
.checkout-button-row .btn.btn-primary[type="submit"]:active,
.btn-block.btn-primary.btn-lg[type="submit"]:active,
a.btn-block.btn-primary.btn-lg:active,
button.btn-block.btn-primary.btn-lg:active,
.btn-primary:active {
    background-color: #ffffff !important;
    border: 2px solid #ffffff !important;
    box-shadow: none !important;
    outline: none !important;
    color: #000000 !important;
}

#btn-add-to-cart:focus, #btn-checkout:focus, #btn-redeem-voucher:focus,
button#btn-add-to-cart:focus, button#btn-checkout:focus, button#btn-redeem-voucher:focus,
.btn-primary#btn-add-to-cart:focus, .btn-primary#btn-checkout:focus, .btn-primary#btn-redeem-voucher:focus,
.btn-gradient:focus,
.btn.btn-primary[type="submit"]:focus,
.checkout-button-row .btn.btn-primary[type="submit"]:focus,
.btn-block.btn-primary.btn-lg[type="submit"]:focus,
a.btn-block.btn-primary.btn-lg:focus,
button.btn-block.btn-primary.btn-lg:focus,
.btn-primary:focus {
    background-color: #ffffff !important;
    border: 2px solid #ffffff !important;
    box-shadow: none !important;
    outline: none !important;
    color: #000000 !important;
}

/* ===== FORCE WHITE TEXT ===== */
h1, h2, h3, h4, h5, h6,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
a.no-underline,
.content-header,
.event-title,
.event-name,
.content-header,
header h1, header h2,
div.page-header h1,
.page-header h1,
.page-header h2,
.front-page h1,
.front-page h2,
#content h1,
#content h2,
h2.content-header,
h2.subevent-head,
h2.event-name,
h2.event-title,
h1.event-name,
h1.event-title,
.subevent-head {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* Mobile - event title */
@media (max-width: 768px) {
    h1, h2, h3, h4, h5, h6,
    .event-name, .event-title,
    .content-header, .subevent-head,
    a.no-underline {
        color: #ffffff !important;
    }
}

a.no-underline:visited,
a.no-underline:hover {
    color: #ffffff !important;
}

/* ===== BACKGROUND WITH GRADIENT - Amare-style with image ===== */
body {
    background: 
        linear-gradient(135deg, rgba(52, 64, 159, 0.7) 0%, rgba(61, 77, 176, 0.7) 35%, rgba(92, 45, 133, 0.7) 70%, rgba(156, 38, 176, 0.7) 100%),
        url('/media/background.jpg') no-repeat center center fixed !important;
    background-size: cover !important;
    background-position: center center !important;
    background-attachment: fixed !important;
}

/* Remove the pseudo-element overlays */
body::before,
body::after {
    display: none !important;
}

/* ===== CONTENT BOXES - glassmorphism except #content and .page-header ===== */
#content, .front-page {
    background: transparent !important;
    border-radius: 15px;
    padding: 20px;
    margin: 10px auto;
    max-width: 1200px;
}

.page-header,
.page-header a,
.page-header-links,
.page-header-links-outside,
header,
header .container,
.page-header-links nav.locales {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.container {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    padding: 20px;
    margin: 10px auto;
    max-width: 1200px;
}

/* ===== CHECKBOX - bigger and glassmorphism ===== */
input[type="checkbox"],
.checkbox input[type="checkbox"],
#input_confirm_confirm_text_0 {
    width: 40px !important;
    height: 40px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: rgba(255, 255, 255, 0.2) !important;
    border: 3px solid rgba(255, 255, 255, 0.5) !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    position: relative !important;
    margin: 20px auto !important;
    display: block !important;
    float: none !important;
    clear: both !important;
}

.checkbox label,
.checkbox,
.panel-confirm .checkbox {
    display: flex !important;
    flex-direction: column !important;
}

.checkbox label > *:not(input[type="checkbox"]),
.panel-confirm .checkbox label > *:not(input[type="checkbox"]) {
    order: 1 !important;
}

.checkbox label > input[type="checkbox"],
.panel-confirm .checkbox label > input[type="checkbox"] {
    order: 99 !important;
    margin-top: 20px !important;
}

input[type="checkbox"]:checked,
.checkbox input[type="checkbox"]:checked,
#input_confirm_confirm_text_0:checked {
    background: linear-gradient(135deg, #34409f 0%, #9c26b0 100%) !important;
    border-color: #34409f !important;
}

input[type="checkbox"]:checked::after,
.checkbox input[type="checkbox"]:checked::after,
#input_confirm_confirm_text_0:checked::after {
    content: '✓' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: #ffffff !important;
    font-size: 24px !important;
    font-weight: bold !important;
}

/* Checkout flow - gradient blue to purple */
.checkout-flow,
ol.checkout-flow {
    display: flex !important;
    justify-content: space-between !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 20px 0 !important;
}

.checkout-step,
.checkout-flow li {
    flex: 1 !important;
    text-align: center !important;
    position: relative !important;
}

.checkout-step-icon,
.checkout-flow .checkout-step-icon {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 10px !important;
    font-size: 20px !important;
    border: 3px solid rgba(255, 255, 255, 0.6) !important;
}

/* Step 1 - Blue */
.checkout-step:nth-child(1) .checkout-step-icon,
.checkout-flow li:nth-child(1) .checkout-step-icon {
    background: linear-gradient(135deg, #314CB6 0%, #4a3fcc 100%) !important;
    color: #ffffff !important;
}

/* Step 2 - More purple */
.checkout-step:nth-child(2) .checkout-step-icon,
.checkout-flow li:nth-child(2) .checkout-step-icon {
    background: linear-gradient(135deg, #4a3fcc 0%, #6b26b0 100%) !important;
    color: #ffffff !important;
}

/* Step 3 - Even more purple */
.checkout-step:nth-child(3) .checkout-step-icon,
.checkout-flow li:nth-child(3) .checkout-step-icon {
    background: linear-gradient(135deg, #6b26b0 0%, #9c26b0 100%) !important;
    color: #ffffff !important;
}

/* Step 4 - Mostly purple */
.checkout-step:nth-child(4) .checkout-step-icon,
.checkout-flow li:nth-child(4) .checkout-step-icon {
    background: linear-gradient(135deg, #9c26b0 0%, #b01c9c 100%) !important;
    color: #ffffff !important;
}

/* Completed steps */
.checkout-step.step-done .checkout-step-icon,
li.step-done .checkout-step-icon {
    background: linear-gradient(135deg, #6b26b0 0%, #9c26b0 100%) !important;
}

/* Current step */
.checkout-step.step-current .checkout-step-icon,
li.step-current .checkout-step-icon {
    background: linear-gradient(135deg, #34409f 0%, #9c26b0 100%) !important;
    box-shadow: 0 0 15px rgba(156, 38, 176, 0.5) !important;
}

/* Checkout step label */
.checkout-step-label,
.checkout-flow .checkout-step-label {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

/* Connecting lines between steps */
.checkout-step::before,
.checkout-step::after,
.checkout-flow li::before,
.checkout-flow li::after {
    content: '' !important;
    position: absolute !important;
    top: 25px !important;
    height: 3px !important;
    z-index: 0 !important;
}

/* Line AFTER each step (going to next) */
.checkout-step::after,
.checkout-flow li::after {
    right: -50% !important;
    width: 100% !important;
}

.checkout-step:nth-child(1)::after,
.checkout-flow li:nth-child(1)::after {
    background: linear-gradient(90deg, #314CB6 0%, #4a3fcc 50%, #6b26b0 100%) !important;
}

.checkout-step:nth-child(2)::after,
.checkout-flow li:nth-child(2)::after {
    background: linear-gradient(90deg, #4a3fcc 0%, #6b26b0 50%, #9c26b0 100%) !important;
}

.checkout-step:nth-child(3)::after,
.checkout-flow li:nth-child(3)::after {
    background: linear-gradient(90deg, #6b26b0 0%, #9c26b0 50%, #b01c9c 100%) !important;
}

/* Line BEFORE each step (coming from previous) */
.checkout-step::before,
.checkout-flow li::before {
    left: -50% !important;
    width: 100% !important;
}

.checkout-step:nth-child(1)::before,
.checkout-flow li:nth-child(1)::before {
    background: transparent !important;
}

.checkout-step:nth-child(2)::before,
.checkout-flow li:nth-child(2)::before {
    background: linear-gradient(90deg, #314CB6 0%, #4a3fcc 50%, #6b26b0 100%) !important;
}

.checkout-step:nth-child(3)::before,
.checkout-flow li:nth-child(3)::before {
    background: linear-gradient(90deg, #4a3fcc 0%, #6b26b0 50%, #9c26b0 100%) !important;
}

.checkout-step:nth-child(4)::before,
.checkout-flow li:nth-child(4)::before {
    background: linear-gradient(90deg, #6b26b0 0%, #9c26b0 50%, #b01c9c 100%) !important;
}

/* Last step - no line after */
.checkout-step:last-child::after,
.checkout-flow li:last-child::after {
    display: none !important;
}

/* First step - no line before */
.checkout-step:first-child::before,
.checkout-flow li:first-child::before {
    display: none !important;
}

/* Panel confirmed - glassmorphism */
.panel-confirm,
.panel-confirm .panel-heading,
.panel-confirm .panel-body,
.panel-primary.panel-confirm {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-radius: 15px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

/* Invoices panel - transparent */
.panel-primary,
.panel-primary .panel-heading,
.panel-primary .panel-body {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
}

/* Modal card - glassmorphism */
.modal-card,
dialog.modal-card,
#dialog-cart-extended,
.modal-card-inner {
    background: rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

/* Modal text - black */
.modal-card,
dialog.modal-card,
.modal-card-inner,
.modal-card-title,
.modal-card-description,
.modal-card-title h2,
.modal-card-title h3,
.modal-card-title .h3,
.modal-card-content,
.modal-card-confirm,
.modal-card p,
.modal-card h2,
.modal-card h3 {
    color: #000000 !important;
}

/* Cart and panels - transparent */
.cart.panel,
.cart .panel-heading,
.cart .panel-body,
.cart details,
.panel-default,
.panel-heading,
panel-body,
summary,
details,
list-group,
.list-group-item {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
}

input[type="checkbox"]:checked,
.checkbox input[type="checkbox"]:checked,
#input_confirm_confirm_text_0:checked {
    background: linear-gradient(135deg, #34409f 0%, #9c26b0 100%) !important;
    border-color: #34409f !important;
}

input[type="checkbox"]:checked::after,
.checkbox input[type="checkbox"]:checked::after,
#input_confirm_confirm_text_0:checked::after {
    content: '✓' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: bold !important;
}

/* Cart and panels - transparent */
.cart.panel,
.cart .panel-heading,
.cart .panel-body,
.cart details,
.panel-default,
.panel-heading,
.panel-body,
panel-confirm,
.panel-confirm .panel-heading,
.panel-confirm .panel-body,
summary,
details,
list-group,
.list-group-item {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
}

/* ===== LINKS ===== */
a:not(.btn) {
    color: #667eea !important;
}

/* LYDIA Technology Services link */
footer li a[href*="pretix"],
footer a[href*="pretix.eu"],
li a[href*="pretix"],
a[href*="pretix.eu"] {
    color: #ffffff !important;
}

/* Invoice link */
a[href*="invoice"],
.panel-primary a {
    color: #ffffff !important;
}

/* Success bubble */
.textbubble-success,
.textbubble-success i,
.textbubble-success .fa,
.text-success,
.text-success i,
.text-success .fa,
.textbubble-success .fa::before,
.text-success .fa::before,
.fa-check-circle,
.fa-check-circle::before {
    color: #50a167 !important;
}

/* Locale buttons */
.page-header-links nav.locales a {
    color: rgba(255, 255, 255, 0.8) !important;
    background: none !important;
    opacity: 0.8;
}

.page-header-links nav.locales a.active {
    color: #ffffff !important;
    opacity: 1;
}

/* ===== SHOW VARIANTS BY DEFAULT ===== */
button[data-toggle="variations"] {
    display: none !important;
}

.variations,
div.variations {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: none !important;
    overflow: visible !important;
}

.variations-collapsed {
    display: block !important;
}

/* Hide collapsed variations by default */
.variations-collapsed {
    display: none !important;
}
.form-control,
input.form-control,
input[type="number"],
input[type="number"].form-control,
.input-item-count {
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid #cccccc !important;
    color: #000000 !important;
}

/* Quantity selector - unified pill style */
.input-item-count-group {
    display: inline-flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border-radius: 30px !important;
    border: 2px solid #ffffff !important;
    overflow: hidden !important;
    padding: 0 !important;
    gap: 0 !important;
}

.input-item-count-group .btn {
    width: 40px !important;
    height: 40px !important;
    border: none !important;
    border-radius: 30px !important;
    background: #000000 !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: bold !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
}

.input-item-count-group .btn:hover {
    background: #333333 !important;
}

.input-item-count-group .input-item-count {
    width: 50px !important;
    height: 40px !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.form-control:focus,
input.form-control:focus,
input[type="number"]:focus,
input[type="number"].form-control:focus,
.input-item-count:focus,
input:focus,
textarea:focus,
select:focus {
    border-color: #314CB6 !important;
    box-shadow: 0 0 0 2px rgba(52, 64, 159, 0.3), 0 0 0 4px rgba(156, 38, 176, 0.2) !important;
    outline: none !important;
}

.form-control::placeholder,
input.form-control::placeholder,
input[type="number"]::placeholder,
.input-item-count::placeholder {
    color: #666666 !important;
}

.input-group-addon {
    background: rgba(255, 255, 255, 0.2) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    color: #ffffff !important;
}

label, .control-label {
    color: #ffffff !important;
}

p, span, div, .text-muted {
    color: #ffffff !important;
}

/* ===== FOOTER ===== */
footer {
    background: rgba(0, 0, 0, 0.7) !important;
}

footer a {
    color: #667eea !important;
}

small, .text-muted {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* Keep empty count cells visible but blank */
.count.hidden-xs.hidden-sm,
.cart .count.hidden-xs.hidden-sm {
    visibility: visible !important;
    opacity: 0 !important;
    min-width: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Align total to right */
.cart .totalprice.price,
.totalprice.price {
    text-align: right !important;
    justify-content: flex-end !important;
}

/* Mobile cart items - centered layout */
@media (max-width: 768px) {
    .cart-row,
    .cart .row,
    .cart-row > div,
    .cart .product,
    .cart .singleprice,
    .cart .totalprice {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
    }
    
    .cart-row .count,
    .cart .count {
        font-size: 20px !important;
        font-weight: 600 !important;
        color: #ffffff !important;
        background: transparent !important;
        border: 2px solid #ffffff !important;
        border-radius: 10px !important;
        padding: 5px 15px !important;
        margin: 10px 0 !important;
    }
}

/* Desktop cart - number with white border, transparent inside */
.cart .count,
.count {
    font-size: 18px !important;
    font-weight: bold !important;
    color: #ffffff !important;
    background: transparent !important;
    border: 2px solid #ffffff !important;
    padding: 5px 12px !important;
    border-radius: 10px !important;
}

/* Hide empty count cell but keep layout */
.cart .count.hidden-xs.hidden-sm,
.count.hidden-xs.hidden-sm,
.cart .count:empty,
.count:empty {
    opacity: 0 !important;
    color: transparent !important;
    background: transparent !important;
    border: none !important;
}

/* ===== CART TOTAL ROW - 4 columns ===== */
.cart-rowgroup-total .cart-row {
    display: flex !important;
    justify-content: space-between !important;
}

.cart-rowgroup-total .product {
    flex: 1 !important;
    order: 1 !important;
}

.cart-rowgroup-total .count {
    flex: 0.5 !important;
    order: 2 !important;
    min-width: 50px !important;
}

.cart-rowgroup-total .singleprice {
    flex: 0.5 !important;
    order: 3 !important;
    min-width: 50px !important;
}

.cart-rowgroup-total .totalprice {
    flex: 1 !important;
    order: 4 !important;
    text-align: right !important;
}

/* Mobile */
@media (max-width: 768px) {
    .cart-rowgroup-total .cart-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    
    .cart-rowgroup-total .product,
    .cart-rowgroup-total .count,
    .cart-rowgroup-total .singleprice,
    .cart-rowgroup-total .totalprice {
        order: unset !important;
        flex: unset !important;
        width: 100% !important;
        text-align: center !important;
    }
}

/* Price and taxes - stacked layout */
.totalprice.price,
.singleprice.price {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    text-align: right !important;
}

.totalprice.price strong,
.singleprice.price strong {
    font-size: 18px !important;
    font-weight: bold !important;
}

.totalprice.price small,
.singleprice.price small {
    font-size: 12px !important;
    margin-top: 2px !important;
}

/* Mobile - center align prices */
@media (max-width: 768px) {
    .totalprice.price,
    .singleprice.price {
        align-items: center !important;
        text-align: center !important;
    }
}

/* ===== CART BUTTONS - hide remove/add in cart ===== */
.cart .count form,
.cart .count button.btn-mini.btn-link,
.count form[action*="cart/remove"],
.count form[action*="cart/add"],
.count button[title*="Remove"],
.count button[title*="Add"] {
    display: none !important;
}

/* ===== ICONS ===== */
.fa-map-marker, .fa-clock, .fa-calendar,
.fa-map-marker:before, .fa-clock:before, .fa-calendar:before,
.fa-clock-o, .fa-clock-o:before,
i.fa, i.fa:before,
.label-required {
    color: #ffffff !important;
}

/* Location icon - white */
.fa-map-marker {
    color: #ffffff !important;
}

/* SPECIFIC: btn-mini btn-link with + and - icons - BLACK */
button.btn.btn-mini.btn-link i.fa,
button.btn-mini.btn-link i.fa-plus,
button.btn-mini.btn-link i.fa-minus,
.btn-mini.btn-link .fa,
.btn-mini.btn-link .fa-plus,
.btn-mini.btn-link .fa-minus,
.btn.btn-mini.btn-link > .fa,
.btn.btn-mini.btn-link > i,
button[title*="Add"] .fa-plus,
button[title*="Remove"] .fa-minus,
.btn .fa-plus,
.btn .fa-minus,
button .fa-plus,
button .fa-minus {
    color: #000000 !important;
}

/* SPECIFIC: btn-mini btn-link with + and - icons */
button.btn.btn-mini.btn-link i.fa,
button.btn-mini.btn-link i.fa-plus,
button.btn-mini.btn-link i.fa-minus,
.btn-mini.btn-link .fa,
.btn-mini.btn-link .fa-plus,
.btn-mini.btn-link .fa-minus,
button[title*="Add"] .fa-plus,
button[title*="Add"] .fa,
button[title*="Remove"] .fa-minus,
button[title*="Remove"] .fa,
.btn.btn-mini.btn-link > .fa,
.btn.btn-mini.btn-link > i {
    color: #000000 !important;
    fill: #000000 !important;
}

/* ALL buttons with + and - icons */
.btn,
button,
a.btn,
.btn-link,
.btn-mini,
button.btn-mini,
.btn .fa-plus,
.btn .fa-minus,
button .fa-plus,
button .fa-minus {
    color: #000000 !important;
}

/* ===== ICONS ===== */
.fa-trash, .fa-trash:before,
.fa-plus, .fa-plus:before {
    color: #000000 !important;
}

.label-required {
    color: #ffffff !important;
}

/* Add to Calendar link */
a.text-gradient,
.text-gradient {
    color: #ffffff !important;
}

/* ===== ALERT ===== */
.alert {
    background: rgba(255, 255, 255, 0.2) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    color: #ffffff !important;
}

/* ===== CHECKOUT PANELS - transparent only, no blur ===== */
.panel-group details.panel.panel-default,
.panel-group > details,
details.panel.panel-default[open],
.checkout .panel-default,
#questions_group details.panel-default,
.panel-group .panel-default,
.panel-default summary,
.panel-default .panel-heading {
    background: transparent !important;
}

.panel-group details.panel-default .panel-heading,
.checkout .panel-default .panel-heading {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.panel-group details.panel-default .panel-body,
.checkout .panel-default .panel-body {
    background: transparent !important;
}