/* ── Snipcart theming — partagé shop + plaintext ───────────────── */
@import url('variables.css');

#snipcart {
    --color-default: white;
    --width-modal: 80vw;
    --borderColor-input: black;
    --bgColor-input: black;
    --bgColor-input-hover: black;
    --borderColor-input-hover: white;
    --borderColor-input-focus: white !important;
    --borderColor-input-active: white !important;
    --shadow-input-focus: black;
    --color-input-hover: white;
    --bgColor-input-focus: black;
    --color-input-focus: white;
    --color-input: white;
    --color-inputLabel: white;
    --bgColor-alt: black;
    --bgColor-default: black;
    --borderColor-default: white;
    --bgColor-modal: black;
    --bgColor-error: black;
    --color-inputIcon-hover: white;
    --bgColor-inputIcon-hover: white;
    --bgColor-input-autofill: black;
    --color-buttonPrimary: white;
    --borderColor-buttonPrimary: white;
    --bgColor-buttonPrimary: black;
    --color-buttonPrimary-hover: black;
    --borderColor-buttonPrimary-hover: white;
    --bgColor-buttonPrimary-hover: white;
    --color-buttonPrimary-active: black;
    --bgColor-buttonPrimary-active: white;
    --borderColor-buttonDanger: white;
    --bgColor-buttonDanger: black;
    --color-buttonDanger: white;
    --borderColor-buttonDanger-hover: black;
    --bgColor-buttonDanger-hover: white;
    --color-buttonDanger-hover: black;
    --borderColor-buttonSecondary: white;
    --bgColor-buttonSecondary: black;
    --color-buttonSecondary: white;
    --borderColor-buttonSecondary-hover: black;
    --bgColor-buttonSecondary-hover: white;
    --color-buttonSecondary-hover: black;
    --bgColor-badge-active: black;
    --color-badge: black;
    --color-badge-active: white;
    --bgColor-input-checked: white;
    --color-input-checked: black;
    --borderColor-input-checked: white;
    --color-icon: white;
    --color-link: white;
    --bgColor-info: black;
    --shadow-default: 0px 1px 0px 0px white;
    font-feature-settings: "tnum";
}
#snipcart * {
    color: white;
    font-family: "BasicallySans", sans-serif;
    border-width: 1px;
}
#snipcart .snipcart-base-button:hover *,
#snipcart .snipcart-base-button:hover { color: black !important; }
#snipcart .snipcart__box--badge { padding-left: .1em; }
#snipcart .snipcart__box--badge.snipcart__font--secondary:not(.snipcart__box--badge-highlight),
#snipcart .snipcart__box--badge.snipcart__font--secondary:not(.snipcart__box--badge-highlight) * { color: black !important; }
#snipcart .snipcart__box--badge-disabled { color: black !important; }
#snipcart .snipcart-modal__container {
    left: auto;
    right: 0;
    width: calc(81vw + 1px);
    border-left: 1px solid white;
    z-index: 99999;
}
#snipcart .snipcart-cart-header__title { display: none; }
#snipcart .snipcart-flash-message__icon { display: none !important; }
#snipcart .snipcart-form__separator { display: none; }
#snipcart .snipcart-test-banner { display: none; }
#snipcart .snipcart__box--badge,
#snipcart .snipcart-form__select { border: 1px solid white; }
#snipcart .snipcart-flash-message { border: 1px solid white; }
#snipcart .snipcart-item-line__container { border-bottom: 0; padding: 32px 0; }
#snipcart .snipcart-cart-header { padding: 16px 0; }
#snipcart .snipcart-form__select,
#snipcart .snipcart-item-quantity__quantity { border: 0; border-bottom: 1px solid white; padding: 0; background: black; }
#snipcart .snipcart-input { border: 0; border-bottom: 1px solid white; padding: 0; background: black; }
/* Case à cocher (newsletter, etc.) : le thème Snipcart la dessine dans le
   ::before du label, avec un contour pris dans --borderColor-input, réglé plus
   haut à noir sur fond noir — donc invisible tant qu'on ne la survole pas.
   La règle qui visait .snipcart-checkbox ne pouvait rien y faire : c'est l'input
   réel, masqué en position:absolute / opacity:0. On habille donc le pseudo-élément.
   Les états survolés et cochés étaient déjà lisibles (--borderColor-input-hover
   et --borderColor-input-checked valent blanc) : seul le repos manquait. */
#snipcart .snipcart-checkbox + label:before { border-color: white; }
#snipcart .snipcart-form__label { color: rgb(128,128,128); }
#snipcart .snipcart-form-radio__label { color: white; font-size: var(--fs-normal); }
#snipcart .snipcart__action--back,
#snipcart .snipcart-cart-header__close,
#snipcart .snipcart-modal__close-title { font-size: var(--fs-petit) !important; }
#snipcart .snipcart-item-line__variants .snipcart-item-custom-fields--dropdown { font-size: var(--fs-petit) !important; display: flex; flex-direction: row; margin-top: 1em; }
#snipcart .snipcart-item-line__variants .snipcart-item-custom-fields--dropdown > .snipcart-custom-field-wrapper__input { width: 8em; margin-left: 1em; }
#snipcart .snipcart-item-line__variants .snipcart-item-custom-fields--dropdown .snipcart__font--regular { font-size: var(--fs-petit) !important; height: 1.7em; }
#snipcart .snipcart-item-line__variants .snipcart-form__select-wrapper { height: 1em; }
#snipcart .snipcart-shipping-rates-list-item { display: block; }
/* Choix du mode de livraison : le thème dessine chaque ligne avec
   `--borderColor-input`, réglé à noir plus haut — donc un contour noir sur fond
   noir, invisible. Seule la ligne survolée ou sélectionnée se distinguait, via
   `--borderColor-input-focus`. On redonne un contour visible au repos en gardant
   le blanc pour la sélection. Même cause que la case à cocher ci-dessus. */
#snipcart .snipcart-shipping-rates-list-item { border-color: rgba(255,255,255,.35); }
#snipcart .snipcart-shipping-rates-list-item--highlight,
#snipcart .snipcart-shipping-rates-list-item:focus-within { border-color: white; }
#snipcart .snipcart__font--black,
#snipcart .snipcart__font--subtitle,
#snipcart .snipcart__font--subtitle-small,
#snipcart .snipcart__box--badge,
#snipcart .snipcart__font--xlarge { font-family: "PetitFrereWide", sans-serif !important; font-weight: 400; font-size: var(--fs-moyen); }
#snipcart .snipcart__font--small { font-size: var(--fs-petit); }
#snipcart .snipcart-shipping-address__subtitle { font-size: var(--fs-petit); }
#snipcart .snipcart-cart-summary-items-list,
#snipcart .snipcart-cart-summary-items-list *,
#snipcart .snipcart-cart-summary__totals,
#snipcart .snipcart-cart-summary__totals * { font-size: var(--fs-petit) !important; }
#snipcart p + .test-card-hint,
#snipcart .snipcart__font--bold,
#snipcart .snipcart__font--large,
#snipcart .snipcart-modal__close-title,
#snipcart .snipcart__font--regular,
#snipcart .snipcart-featured-payment-methods__link { font-size: var(--fs-petit) !important; }
#snipcart .snipcart-featured-payment-methods__link,
#snipcart .snipcart-summary-fees__title,
#snipcart .snipcart-summary-fees__amount,
#snipcart .snipcart-form__label { font-size: var(--fs-normal); font-weight: 100; }
#snipcart .snipcart-summary-fees__notice { margin-bottom: 1em; line-height: 1.2em; }
#snipcart .snipcart-item-quantity__total-price { margin-left: .8em; }
#snipcart .snipcart-item-line__quantity { min-width: 35em; }
#snipcart .snipcart__font--tiny,
#snipcart .snipcart__font--std { font-size: var(--fs-petit); }
#snipcart .snipcart-cart__footer-col { width: 45%; }
#snipcart [type=text] { background: black; color: white; height: auto; margin: auto; padding: 0; }
#snipcart [type=submit] { margin-top: 1em; }
#snipcart .snipcart-form__field { margin-top: 1em; }
#snipcart .snipcart-base-button.is-icon-right .snipcart-base-button__label { text-align: center; }
#snipcart .snipcart-base-button__label { font-size: var(--fs-normal) !important; }
#snipcart legend { color: white !important; }
#snipcart .snipcart-loading-overlay__content { width: 99% !important; }

@media (max-width: 560px) {
    #snipcart { --width-modal: 100vw; }
    #snipcart .snipcart-modal__container { width: 100vw; border-left: none; }
    #snipcart .snipcart-item-line__media { display: none !important; }
    #snipcart .snipcart__font--black,
    #snipcart .snipcart__font--subtitle,
    #snipcart .snipcart__font--subtitle-small,
    #snipcart .snipcart__box--badge,
    #snipcart .snipcart__font--xlarge { font-size: var(--fs-grand-sp-pfw) !important; }
    #snipcart .snipcart-item-line__quantity { min-width: 0; margin-right: 0; }
    #snipcart .snipcart-item-quantity__total-price { flex: 1; text-align: right; }
    #snipcart .snipcart__font--xlarge,
    #snipcart .snipcart__font--subtitle { margin-bottom: 4px !important; }
    #snipcart .snipcart-item-line__header { margin-bottom: 0 !important; }
    #snipcart .snipcart-item-line__container { padding-bottom: 64px !important; }
    #snipcart .snipcart-cart-header { padding-left: 1.5em; padding-right: 1.5em; }
    #snipcart .snipcart-cart__footer-col { width: 100% !important; }
    #snipcart .snipcart-modal__header-summary-title > span { font-size: var(--fs-moyen) !important; }
    #snipcart .snipcart__box--badge { padding-left: 0; padding-top: .1em; }
    #snipcart .snipcart-item-line__variants .snipcart-item-custom-fields--dropdown { flex-direction: column; width: 100%; margin-bottom: 5em; }
    #snipcart .snipcart-item-line__variants .snipcart-item-custom-fields--dropdown > .snipcart-custom-field-wrapper__input { margin-left: 0; margin-top: 0.5em; width: 100%; }
    #snipcart .snipcart-item-line__variants .snipcart-item-custom-fields--dropdown .snipcart__font--regular { height: 5.1em; }
    #snipcart .snipcart-item-line__variants .snipcart-form__select-wrapper { height: 3em; }
    #snipcart .snipcart-item-line__variants .snipcart-form__label { color: white !important; }
}
/* Cacher la zone de saisie manuelle de code promo (les codes sont appliqués via JS) */
#snipcart .snipcart-discount-box { display: none !important; }
