/* Styles pour la page d'achat de cookies */
.purchase-options-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* Colonnes responsives */
    gap: 20px;
    margin-top: 20px;
}

.purchase-option-item {
    background-color: #3b4446; /* Similaire au fond des sections du dashboard */
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    border: 1px solid #525d60;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Pour que le bouton soit en bas si les textes varient */
}

.purchase-option-item h3 {
    color: #2ecc71; /* Vert */
    margin-top: 0;
    font-size: 1.4em;
}

.purchase-option-item .estimated-info {
    font-size: 0.85em;
    color: #b2bec3;
    margin-bottom: 20px;
}

.purchase-option-item .button-buy {
    width: 100%;
    padding: 12px 15px;
    font-size: 1.1em;
}

.purchase-option-item .button-buy .nav-icon { /* Si vous utilisez l'icône panier */
    margin-right: 8px;
    vertical-align: middle;
}

.current-offer-header {
    text-align: center;
    padding: 15px;
    background-color: #414c4f; /* Un peu plus clair */
    border-radius: 6px;
    margin-bottom: 25px;
}
.current-offer-header h3 {
    margin-top: 0;
    color: #55efc4; /* Vert menthe */
}
.offer-multiplier-info, .offer-description-info {
    color: #dfe6e9;
    font-size: 0.95em;
}

.purchase-option-item h4 { /* Titre de chaque pack */
    color: #dfe6e9; /* Texte clair */
    font-size: 1.2em;
    margin-bottom: 10px;
}
.cookies-estimation, .price-display {
    font-size: 1em;
    color: #b2bec3;
    margin-bottom: 5px;
}
.cookies-estimation strong {
    color: #55efc4; /* Vert menthe pour le nombre de cookies */
}
.estimated-info-small {
    font-size: 0.8em;
    color: #7f8c8d; /* Gris plus discret */
    margin-bottom: 15px;
}
.paypal-form .form-group.custom-amount-group {
    margin-bottom: 10px;
}
.custom-amount-input {
    width: auto !important; /* Pour qu'il ne prenne pas 100% dans le flex si parent est flex */
    /* max-width: 120px; ANCIEN */
    padding: 10px; /* Plus de padding */
    font-size: 1.1em; /* Police plus grande */
    text-align: center;
    margin-bottom: 5px;
    border: 1px solid #525d60;
    border-radius: 4px;
    background-color: #2d3436;
    color: #dfe6e9;
    /* Pour s'assurer qu'il prend une largeur raisonnable, on peut lui donner une largeur fixe ou min-width */
    min-width: 200px; /* Exemple, ajustez */
	max-width: 220px;
}
.custom-amount-input:focus { /* Hérite des styles de focus globaux, c'est bien */
    outline: none;
    border-color: #2ecc71;
    box-shadow: 0 0 5px rgba(46, 204, 113, 0.5);
}

/* Cacher les flèches pour input type=number sur Webkit (Chrome, Safari, Edge) */
.custom-amount-input::-webkit-outer-spin-button,
.custom-amount-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0; /* Peut être nécessaire pour certains navigateurs */
}

/* Cacher les flèches pour input type=number sur Firefox */
.custom-amount-input[type=number] {
    -moz-appearance: textfield; /* Firefox */
}

.calculated-cookies-preview {
    display: block;
    font-size: 0.9em;
    color: #2ecc71; /* Vert pour la prévisualisation */
    min-height: 1.2em; /* Pour éviter les sauts de page */
    margin-bottom: 10px;
}

.purchase-options-container {
    display: grid;
    /* grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* ANCIEN: auto-fit */
    grid-template-columns: repeat(3, 1fr); /* NOUVEAU: Toujours 3 colonnes égales */
    gap: 20px;
    margin-top: 20px;
}

/* Pour rendre les 3 colonnes responsives et passer à moins sur petits écrans */
@media (max-width: 992px) { /* Ex: tablettes */
    .purchase-options-container {
        grid-template-columns: repeat(2, 1fr); /* 2 colonnes */
    }
}

@media (max-width: 600px) { /* Ex: mobiles */
    .purchase-options-container {
        grid-template-columns: 1fr; /* 1 colonne */
    }
}