
/* Kolorystyka zorientowana bezpośrednio wokół aplikacji Stripe Checkout */

:root {
    --dbm-primary: #0074d4; /* #635bff */
    --dbm-primary-hover: #0056a3;
    --dbm-bg-light: #f8f9fa; /*  #4b44df */
    --dbm-text-dark: #0a2540;
    --dbm-text-disabled: #9ac7ee;
    /* --dbm-success: #3ecf8e; * #00ca72 #24b47e */
}

/* Nadpisanie domyślnych styli Bootstrapa */

.btn-primary {
    background-color: var(--dbm-primary);
    border-color: var(--dbm-primary);
    color: #ffffff;
    transition: all 0.15s ease;
}

.btn-primary:hover, .btn-primary:focus {
    background-color: var(--dbm-primary-hover);
    border-color: var(--dbm-primary-hover);
}

/* --- CHECKBOXY I RADIO (Styl Stripe) --- */

/* .form-check-input {
    border: 1px solid var(--dbm-border-color);
    background-color: #ffffff;
    box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.03), 0px 3px 6px rgba(18, 42, 66, 0.02);
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
    cursor: pointer;
    position: relative;
    background-image: none !important;
}

.form-check-input:hover:not(:checked):not(:disabled) {
    border-color: #a3acb9;
} */

.form-check-input:checked {
    background-color: var(--dbm-primary) !important;
    border-color: var(--dbm-primary) !important;
}

.form-check-input:focus {
    /* outline: none; */
    border-color: var(--dbm-primary);
    /* box-shadow: 0 0 0 3px rgba(0, 116, 212, 0.15); /* Subtelny glow Stripe */
}

/* .form-check-input[type="checkbox"]::after {
    content: "";
    position: absolute;
    display: none;
    left: 5px;
    top: 2px;
    width: 5px;
    height: 9px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.form-check-input[type="radio"]::after {
    content: "";
    position: absolute;
    display: none;
    left: 4px;
    top: 4px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ffffff;
} */

/* .form-check-input:checked::after {
    display: block;
}

.form-check-label {
    color: var(--dbm-text-dark);
    cursor: pointer;
    user-select: none;
}

.form-check-input:disabled, .form-check-input:disabled ~ .form-check-label {
    opacity: 0.6;
    cursor: not-allowed;
}

.form-check-input:disabled:checked {
    background-color: var(--dbm-text-disabled) !important;
    border-color: var(--dbm-text-disabled) !important;
} */

/* --- END - CHECKBOXY I RADIO --- */

.form-control:focus, .form-select:focus {
    border-color: var(--dbm-primary);
    border-color: var(--dbm-primary);
    box-shadow: 0 0 0 4px rgba(0, 116, 212, 0.15);
}

.form-floating > label {
    color: #6b7c93;
}

.text-primary {
    color: var(--dbm-primary) !important;
}

.bg-primary {
    background-color: var(--dbm-primary) !important;
}

/* Nadpisywanie Bootstrapa z użyciem dedykowanych styli */

.dbm-languge-selector .dropdown-item.active {
    background-color: #e9ecef;
    color: #212529;
    font-weight: 500;
}

.dbm-languge-selector .dropdown-item:hover, .dbm-languge-selector .dropdown-item:focus {
    background-color: #f8f9fa;
    color: #212529;
}

.dbm-languge-selector .dropdown-item:focus {
    box-shadow: none;
    outline: none;
}

/* 1. Główny styl aktywnego przycisku */
.dbm-button-checkout {
    position: relative; /* Kluczowe dla pozycjonowania błyku */
    overflow: hidden; /* Ukrywa błyk wychodzący poza zaokrąglenia przycisku */
}

.dbm-button-checkout:hover:not(:disabled) {
    background-color: var(--dbm-primary-hover);
    border-color: var(--dbm-primary-hover);
}

.dbm-button-checkout:disabled {
    background-color: var(--dbm-primary);
    border-color: var(--dbm-primary);
    color: var(--dbm-text-disabled);
    opacity: 1;
    cursor: not-allowed;
}

/* Efekt przesuwanego błyku (Shimmer). Dodaj do przycisku klasę .is-loading */
.dbm-button-checkout.is-loading::after {
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 60%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-20deg);
    /* animation: stripe-shimmer 1.6s infinite linear; - Opcjonalnie: błyk w nieskończoność. */
    animation: stripe-shimmer 1.6s 1 linear;
}

/* Animacja przesunięcia błyku od lewej do prawej strony */
@keyframes stripe-shimmer { 0% { left: -150%; } 100% { left: 150%; } }

/* Własne style, dedykowane */

.dbm-container-shopping {
    max-width: 1000px;
}

.dbm-icon-box {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dbm-index-card {
    border: 1px solid rgba(10, 37, 64, 0.06) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dbm-index-card.active:hover {
    transform: translateY(-3px); box-shadow: 0 20px 40px rgba(10, 37, 64, 0.06) !important;
}

.dbm-index-card.planned {
    opacity: 0.75; background-color: rgba(248, 249, 250, 0.5) !important;
}

.dbm-honeypot {
    position: absolute;
    left: -9999px;
}
