/* Fichier de compatibilite Phenix, appele par themes/cavedivin16/templates/_partials/assets16.tpl :
   la 1.6 chargeait assets/css/autoload.css, qui n'existait deja pas (404 sur toutes ses pages).
   Le fichier doit avoir du contenu : la regle du .htaccess de la racine
   « RewriteCond %{REQUEST_FILENAME} -s » ne sert que les fichiers non vides ; un fichier de
   0 octet tombe sur index.php et rend un 404.
   Cree au lot 7 (§ 4.4), script de rejeu : _tmp/outils/bascule/107-css-autoload-rempli.php */

/* ===========================================================================================
   Compatibilite des gabarits « classic » 9.2 avec le theme 1.6 - lot 7 ter (§ 1)
   -------------------------------------------------------------------------------------------
   Le theme cavedivin16 herite des gabarits de classic pour tout ce que la 1.6 n'avait pas
   (tunnel, compte client, panier, modales, messages de formulaire) mais ne charge que les CSS
   de la 1.6 : les regles ci-dessous sont le strict minimum repris de
   themes/classic/assets/css/theme.css. Ne pas charger theme.css en entier : il casserait la
   mise en page 1.6 (remise a zero des tailles, grille 4 colonnes...).
   =========================================================================================== */

/* 1. Police d'icones. classic ecrit <i class="material-icons">delete</i> : le nom de l'icone
      n'est traduit en pictogramme que par la police, via ses ligatures. Sans elle, le
      navigateur affiche le nom en clair (« delete », « expand_more », « close ») ou un carre
      (&#xE001;). Fichiers servis par le theme classic installe (aucun appel a Google). */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('../../../classic/assets/css/2d8017489da689caedc1.woff2') format('woff2'),
       url('../../../classic/assets/css/08cefa1bc6566a650da7.woff') format('woff');
}
.material-icons {
  font-family: 'Material Icons', Arial, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
}

/* 2. Bandeau d'erreur des formulaires (code promo, adresses, compte). Le gabarit classic rend
      <div class="alert alert-danger js-error"> vide ; la 1.6 colore .alert-danger, d'ou un
      bandeau rouge sans texte. core.js le montre par .show() (style en ligne) des qu'il a un
      message a ecrire : display:none ici n'empeche donc pas l'affichage des vraies erreurs. */
.js-error { display: none; }

/* 3. Replis. Les gabarits classic comptent sur bootstrap 4 (.collapse{display:none} +
      .collapse.show{display:block}). La 1.6 fournit bootstrap 3 (.collapse{display:none} +
      .collapse.in) : on accepte les deux vocabulaires pour que le code 9.2 et les scripts 1.6
      ouvrent et ferment les memes blocs. */
.collapse.in { display: block; }
.collapse:not(.in):not(.show) { display: none; }

/* ===========================================================================================
   Pont de presentation pour les gabarits « classic » - lot 7 ter (§ 1 et § 2)
   -------------------------------------------------------------------------------------------
   Portee : uniquement les blocs rendus par les gabarits de classic (panier, tunnel, compte).
   Les pages rendues par les gabarits 1.6 du theme ne sont pas touchees : la classe
   .cdv-classic est posee par checkout/cart.tpl, checkout/checkout.tpl et, pour le compte,
   par cdv16.js sur #center_column.
   Les gabarits classic comptent sur bootstrap 4 (utilitaires .hidden-md-up, .text-xs-right,
   .ml-1, .h3...) et sur theme.css ; la 1.6 fournit bootstrap 3. On complete donc les
   utilitaires manquants et on redonne une presentation lisible aux structures du panier,
   du tunnel et des formulaires, sans charger theme.css (qui casserait la 1.6).
   =========================================================================================== */

/* A. Utilitaires bootstrap 4 utilises par classic et absents de la 1.6 --------------------- */
.cdv-classic .h3 { font-size: 22px; font-weight: 400; }
.cdv-classic .h5 { font-size: 14px; font-weight: 400; }
.cdv-classic .text-xs-right { text-align: right; }
.cdv-classic .text-xs-center { text-align: center; }
.cdv-classic .text-sm-center { text-align: center; }
.cdv-classic .float-xs-left { float: left; }
.cdv-classic .float-xs-right { float: right; }
.cdv-classic .font-italic { font-style: italic; }
.cdv-classic .font-weight-bold { font-weight: 700; }
.cdv-classic .text-muted { color: #777; }
.cdv-classic .ml-1 { margin-left: 6px; }
.cdv-classic .my-2 { margin-top: 10px; margin-bottom: 10px; }
.cdv-classic .card-block { display: block; }
.cdv-classic .hidden-md-up { display: none !important; }
.cdv-classic .clearfix:after { content: ''; display: table; clear: both; }
@media (max-width: 767px) {
  .cdv-classic .hidden-md-up { display: block !important; }
  .cdv-classic .hidden-sm-down { display: none !important; }
}

/* B. Formulaires : la 1.6 supprime la bordure de .form-control (bloc Nymphea :
      .form-control { border: transparent; border-radius: 10px }). Les gabarits classic
      n'ont que cette classe pour dessiner un champ : sans bordure ni fond contraste, les
      champs du tunnel et du compte sont invisibles sur fond blanc. */
.cdv-classic .form-control {
  display: block;
  width: 100%;
  height: auto;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.42857;
  color: #333;
  background-color: #fff;
  border: 1px solid #d6d4d4;
  border-radius: 4px;
  box-shadow: none;
}
.cdv-classic .form-control:focus { border-color: #66afe9; outline: 0; }
.cdv-classic .form-control-comment {
  font-size: 12px;
  color: #888;
  padding-top: 10px;
}
.cdv-classic .form-control-label { font-weight: 600; color: #333; padding-top: 9px; }
.cdv-classic .form-control-label.required:after { content: ' *'; color: #d0021b; }
.cdv-classic .form-group { margin-bottom: 12px; }
.cdv-classic .form-group.has-error .form-control { border-color: #f13340; background-color: #fff1f2; }
.cdv-classic .form-informations { margin: 18px 0 6px; font-size: 13px; color: #555; }
.cdv-classic .custom-radio,
.cdv-classic .custom-checkbox { display: inline-block; }
.cdv-classic .radio-inline,
.cdv-classic .checkbox-inline { margin-right: 14px; font-weight: 400; }
.cdv-classic .input-group { display: table; width: 100%; }
.cdv-classic .input-group .form-control { display: table-cell; }
.cdv-classic .input-group-btn { display: table-cell; width: 1%; white-space: nowrap; vertical-align: middle; }
.cdv-classic .input-group-btn .btn { border: 1px solid #d6d4d4; margin-left: 6px; background: #fff; color: #333; }
.cdv-classic .input-group-btn .btn:hover { background: #f1f1f1; color: #333; }
.cdv-classic .progress { height: 7px; margin: 5px 0 8px; background: #f1f1f1; }
.cdv-classic .progress-bar { height: 7px; background: #6d1f2a; }
.cdv-classic .field-password-policy .progress { width: 100% !important; }

/* C. Code promo (panier, tunnel) ------------------------------------------------------------ */
.cdv-classic .promo-code .cancel-promo { display: none; }
.cdv-classic .promo-code .cancel-promo[aria-expanded="true"] { display: inline-block; }
.cdv-classic .cart-voucher .promo-code-button { margin: 0 0 8px; }
.cdv-classic .cart-voucher .promo-code-button a { color: #6d1f2a; text-decoration: underline; }
.cdv-classic .cart-voucher .promo-input { width: 60%; }
.cdv-classic .cart-voucher .btn { margin-left: 6px; }
.cdv-classic .alert .material-icons { margin-right: 6px; vertical-align: middle; }

/* D. Etapes du tunnel (panier et commande) -------------------------------------------------- */
.cdv-classic #order_step { margin: 18px 0 22px; }
.cdv-classic #order_step li {
  display: block;
  float: left;
  width: 20%;
  padding: 12px 10px;
  text-align: center;
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  background: #9c9c9c;
  border: 0;
  border-right: 1px solid #fff;
  text-transform: none;
  text-shadow: none;
}
.cdv-classic #order_step li.step_current { background: #6d1f2a; }
.cdv-classic #order_step li:last-child { border-right: 0; }
.cdv-classic #order_step li a,
.cdv-classic #order_step li span { display: block; color: #fff; font-size: 14px; }
.cdv-classic section.checkout-step,
.cdv-classic .checkout-step {
  border: 1px solid #e4e4e4;
  margin-bottom: 14px;
  background: #fff;
}
.cdv-classic .checkout-step .step-title {
  margin: 0;
  padding: 12px 16px;
  font-size: 16px;
  font-weight: 600;
  color: #333;
  border-bottom: 1px solid #e4e4e4;
  background: #f7f7f7;
}
.cdv-classic .checkout-step .step-title .step-number { margin-right: 6px; }
.cdv-classic .checkout-step .step-title .material-icons { font-size: 18px; color: #6d1f2a; }
.cdv-classic .checkout-step .step-edit { float: right; font-size: 13px; font-weight: 400; color: #888; }
.cdv-classic .checkout-step .content { padding: 14px 16px; }
/* lot 7 quater : seule l etape courante est depliee (theme.css de classic, non charge, le faisait) */
.cdv-classic .checkout-step .content { display: none; }
.cdv-classic .checkout-step.-current .content { display: block; }
/* lot 7 quater : le champ message du transporteur debordait (1122 px sur mobile) */
.cdv-classic textarea, .cdv-classic #delivery_message { width: 100%; max-width: 100%; box-sizing: border-box; }
.cdv-classic .checkout-step.-unreachable .step-title { cursor: pointer; color: #888; }
.cdv-classic .checkout-step.-unreachable .step-title .material-icons { display: none; }
.cdv-classic .checkout-step.-complete .step-title { color: #666; }
.cdv-classic .checkout-step .nav-inline { list-style: none; padding: 0; margin: 0 0 12px; }
.cdv-classic .checkout-step .nav-inline li { display: inline-block; }
.cdv-classic .checkout-step .nav-inline .nav-link {
  display: inline-block;
  padding: 6px 12px;
  color: #6d1f2a;
  border-bottom: 2px solid transparent;
}
.cdv-classic .checkout-step .nav-inline .nav-link.active { border-bottom-color: #6d1f2a; font-weight: 600; }
.cdv-classic .checkout-step .nav-separator { color: #ccc; }
.cdv-classic .delivery-option,
.cdv-classic .payment-option {
  display: block;
  padding: 12px 14px;
  border: 1px solid #e4e4e4;
  margin-bottom: 10px;
  background: #fff;
}
.cdv-classic .delivery-option .row,
.cdv-classic .payment-option .row { margin: 0; }
.cdv-classic .delivery-option-name,
.cdv-classic .payment-option label { font-weight: 600; }
.cdv-classic .delivery-option .carrier-price,
.cdv-classic .payment-option .payment-option-name { font-weight: 700; color: #6d1f2a; }
.cdv-classic .delivery-option .carrier-extra-content { font-size: 12px; color: #777; }
.cdv-classic .checkout-step .btn-primary,
.cdv-classic .checkout-step .continue {
  margin-top: 8px;
}
.cdv-classic .modal,
.cdv-classic .blockcart-modal { color: #333; }

/* E. Panier (gabarit classic cart-detailed) -------------------------------------------------- */
.cdv-classic .cart-grid-body { width: 100%; float: none; margin-bottom: 18px; }
.cdv-classic .cart-grid-right { width: 100%; float: none; }
@media (min-width: 992px) {
  .cdv-classic .cart-grid-body { float: left; width: 62%; padding-right: 20px; }
  .cdv-classic .cart-grid-right { float: right; width: 38%; }
  .cdv-classic .cart-grid-body + .cart-grid-right:after,
  .cdv-classic .cart-grid-right:after { content: ''; display: block; clear: both; }
}
.cdv-classic .cart-items { list-style: none; margin: 0; padding: 0; }
.cdv-classic .cart-item { border: 1px solid #e4e4e4; margin-bottom: 12px; padding: 12px; background: #fff; }
.cdv-classic .product-line-grid { display: block; }
.cdv-classic .product-line-grid:after { content: ''; display: table; clear: both; }
.cdv-classic .product-line-grid-left { float: left; width: 18%; padding-right: 12px; }
.cdv-classic .product-line-grid-left img { max-width: 100%; height: auto; }
.cdv-classic .product-line-grid-body { float: left; width: 32%; }
.cdv-classic .product-line-grid-right { float: left; width: 50%; }
.cdv-classic .product-line-info .label {
  display: inline;
  padding: 0;
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: #333;
  background: none;
  border-radius: 0;
  text-align: left;
  white-space: normal;
}
.cdv-classic .product-line-info a.label:hover { color: #6d1f2a; }
.cdv-classic .product-line-info.product-price .current-price { font-weight: 700; color: #6d1f2a; }
.cdv-classic .product-line-grid-right .product-line-actions { width: 100%; }
.cdv-classic .cart-line-product-actions { text-align: right; }
.cdv-classic .cart-line-product-actions .remove-from-cart { color: #999; }
.cdv-classic .cart-line-product-actions .remove-from-cart:hover { color: #d0021b; }
.cdv-classic .js-cart-line-product-quantity {
  width: 56px;
  padding: 4px 6px;
  text-align: center;
  border: 1px solid #d6d4d4;
  border-radius: 4px;
  background: #fff;
}
.cdv-classic .cart-line-product-actions:before { content: ''; }
.cdv-classic .cart-summary-line {
  display: block;
  overflow: hidden;
  padding: 6px 0;
  font-size: 14px;
}
.cdv-classic .cart-summary-line .label {
  display: inline;
  padding: 0;
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  color: #333;
  background: none;
  border-radius: 0;
  text-align: left;
  white-space: normal;
}
.cdv-classic .cart-summary-line .value { float: right; color: #333; }
.cdv-classic .cart-summary-line.cart-total {
  border-top: 1px solid #e4e4e4;
  margin-top: 6px;
  padding-top: 10px;
  font-size: 16px;
  font-weight: 700;
}
.cdv-classic .cart-summary-line.cart-total .label { font-size: 16px; font-weight: 700; }
.cdv-classic .cart-detailed-totals,
.cdv-classic .block-promo { border: 1px solid #e4e4e4; background: #fff; padding: 12px 14px; margin-bottom: 12px; }
.cdv-classic .cart-detailed-actions { margin-top: 12px; }
.cdv-classic .cart-detailed-actions .btn-primary { float: right; }
.cdv-classic .cart-empty { border: 1px solid #e4e4e4; padding: 16px; background: #fff; }

/* G. Boutons : classic n'utilise que .btn / .btn-primary (bootstrap), la 1.6 dessine ses
      boutons avec .button. On aligne les boutons du tunnel et du panier sur le bouton
      « Commander » de la 1.6 (fond bordeaux, pas de degrade). */
.cdv-classic .btn,
.cdv-classic .btn-primary,
.cdv-classic .btn-default {
  display: inline-block;
  padding: 9px 18px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: #fff;
  background: #6d1f2a;
  background-image: none;
  border: 0;
  border-radius: 0;
  text-shadow: none;
  box-shadow: none;
  text-transform: none;
}
.cdv-classic .btn:hover,
.cdv-classic .btn-primary:hover,
.cdv-classic .btn-default:hover { background: #8a2b37; color: #fff; }
.cdv-classic .btn-default,
.cdv-classic .btn-secondary { color: #fff; background: #9c9c9c; }
.cdv-classic .btn-default:hover,
.cdv-classic .btn-secondary:hover { background: #8a8a8a; }
.cdv-classic .btn[disabled],
.cdv-classic .btn.disabled { background: #c9c9c9; color: #fff; }

/* Le bloc promo est imbrique dans .block-promo : un seul cadre. */
.cdv-classic .block-promo .block-promo { border: 0; padding: 0; margin: 8px 0 0; }
.cdv-classic .block-promo .promo-discounts { list-style: none; padding: 0; margin: 6px 0 0; }
.cdv-classic .block-promo .promo-discounts .label { font-weight: 400; }

/* Colonne de droite du panier : la ligne produit aligne quantite, prix et suppression. */
.cdv-classic .product-line-grid-right .price { text-align: right; font-weight: 700; }
.cdv-classic .product-line-grid-right .qty { text-align: right; }
.cdv-classic .product-line-grid-body .product-line-info.product-price { display: none; }

.cdv-classic table.table,
.cdv-classic table.std { width: 100%; border-collapse: collapse; background: #fff; }
.cdv-classic table.table th,
.cdv-classic table.std th {
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  color: #333;
  background: #f1f1f1;
  border: 1px solid #e4e4e4;
  text-transform: none;
  text-shadow: none;
}
.cdv-classic table.table td,
.cdv-classic table.std td {
  padding: 10px 12px;
  font-size: 14px;
  color: #333;
  border: 1px solid #e4e4e4;
  vertical-align: middle;
}
.cdv-classic .address,
.cdv-classic .addresses .address {
  border: 1px solid #e4e4e4;
  background: #fff;
  padding: 14px;
  margin-bottom: 12px;
}
.cdv-classic .address .address-footer { margin-top: 10px; }
.cdv-classic .link-item { display: block; padding: 8px 0; color: #6d1f2a; }
.cdv-classic .page-content.page-cms { font-size: 14px; }


/* ---- Lot 7 quinquies : tunnel de commande habille comme les pages de commande de la 1.6 --------------------------
   (la barre #order_step et le titre sont hors .cdv-classic : leur CSS est celle de global.css de la 1.6) */
.cdv-classic .cart-grid-body,
.cdv-classic .cart-grid-right { float: none !important; width: 100% !important; padding: 0 !important; }
.cdv-classic .cart-grid-right { margin-top: 10px; }
.cdv-classic .checkout-step .step-title { display: none; }
.cdv-classic section.checkout-step,
.cdv-classic .checkout-step { background: var(--grisclair, #f1f1f1); border: 0; margin: 0 0 30px; padding: 10px 20px 20px; }
.cdv-classic .checkout-step:not(.-current) { display: none; }
.cdv-classic .checkout-step .content { padding: 0; }
.cdv-classic .checkout-step .form-group.row { display: block; margin: 0 0 12px; }
.cdv-classic .checkout-step .form-group.row > [class*="col-"] { display: block; float: none; width: 100%; max-width: 420px; padding: 0; }
.cdv-classic .checkout-step .form-group.row > .form-control-comment { max-width: 420px; font-size: 12px; color: #9c9c9c; }
.cdv-classic .checkout-step .form-control-label { display: block; margin: 0 0 4px; padding: 0; font-weight: 600; color: #4f1115; text-align: left; }
.cdv-classic .checkout-step .form-control { background: #fff; border: 1px solid #fff; height: 40px; border-radius: 0; box-shadow: none; padding: 6px 10px; width: 100%; }
.cdv-classic .checkout-step select.form-control { height: 40px; }
.cdv-classic .checkout-step .nav-inline { margin: 8px 0 18px; border-bottom: 0; }
.cdv-classic .checkout-step .nav-inline .nav-link { font: 600 18px/22px "Fira Sans", sans-serif; text-transform: uppercase; color: #4f1115; padding: 0 0 8px; }
.cdv-classic .checkout-step .nav-inline .nav-link.active { border-bottom-color: #4f1115; }
.cdv-classic .checkout-step .form-footer { margin-top: 14px; }
.cdv-classic .checkout-step button.continue,
.cdv-classic .checkout-step .btn-primary { float: right; margin: 8px 0 0; padding: 12px 22px; background: #4f1115; border-radius: 0; text-transform: none; }
.cdv-classic .checkout-step .form-footer:after,
.cdv-classic .checkout-step .content:after { content: ''; display: table; clear: both; }
.cdv-classic .delivery-option,
.cdv-classic .payment-option { background: #fff; border: 1px solid #d6d4d4; }
.cdv-classic #js-checkout-summary { background: #fff; border: 1px solid #d6d4d4; padding: 0; }
.cdv-classic #js-checkout-summary .card-block { padding: 12px 16px; }
.cdv-classic #js-checkout-summary .cart-summary-line .label { font-family: "Fira Sans", sans-serif; }
#checkout .row { margin-left: 0; margin-right: 0; }

/* ---- Lot 7 quinquies : pages du compte (gabarits classic) habillees comme celles de la 1.6 ------------------------- */
body#history .page-header, body#identity .page-header, body#addresses .page-header, body#address .page-header,
body#order-detail .page-header, body#discount .page-header, body#order-slip .page-header { background: none; box-shadow: none; border: 0; padding: 0; margin: 0; }
body#history .page-header h1, body#identity .page-header h1, body#addresses .page-header h1, body#address .page-header h1,
body#order-detail .page-header h1, body#discount .page-header h1, body#order-slip .page-header h1 {
  font: 600 18px/22px "Fira Sans", sans-serif; color: #555454; text-transform: uppercase; padding: 0 0 17px; margin: 0 0 30px;
  background: none; box-shadow: none; border: 0;
}
body#history table.table, body#discount table.table, body#order-slip table.table, body#order-detail table.table { width: 100%; border: 1px solid #d6d4d4; margin: 0 0 20px; }
body#history table.table th, body#discount table.table th, body#order-slip table.table th, body#order-detail table.table th {
  background: var(--bordeaux, #4e1115); color: #fff; font: 600 13px/18px "Fira Sans", sans-serif; text-transform: uppercase; border: 1px solid #4e1115; padding: 10px;
}
body#history table.table td, body#discount table.table td, body#order-slip table.table td, body#order-detail table.table td { border: 1px solid #d6d4d4; padding: 12px 10px; font-size: 14px; }
body#history .page-footer, body#identity .page-footer, body#addresses .page-footer, body#order-detail .page-footer,
body#discount .page-footer, body#order-slip .page-footer, body#address .page-footer { margin: 20px 0; }
body#history .page-footer a.account-link, body#identity .page-footer a.account-link, body#addresses .page-footer a.account-link,
body#order-detail .page-footer a.account-link, body#discount .page-footer a.account-link, body#order-slip .page-footer a.account-link, body#address .page-footer a.account-link {
  display: inline-block; margin: 0 10px 0 0; padding: 9px 18px; background: #c9bfb5; color: #4e1115; font-weight: 600; text-decoration: none;
}
body#identity .form-group.row, body#address .form-group.row { display: block; margin: 0 0 12px; }
body#identity .form-group.row > [class*="col-"], body#address .form-group.row > [class*="col-"] { display: block; float: none; width: 100%; max-width: 420px; padding: 0; }
body#identity .form-control-label, body#address .form-control-label { display: block; font-weight: 600; color: #4f1115; text-align: left; padding: 0; margin-bottom: 4px; }
body#identity .form-control, body#address .form-control { height: 40px; border: 1px solid #d6d4d4; border-radius: 0; box-shadow: none; width: 100%; padding: 6px 10px; }
body#identity #content, body#address #content { background: var(--grisclair, #f1f1f1); padding: 10px 20px 20px; }
body#identity .form-footer button, body#address .form-footer button { float: right; padding: 12px 22px; background: #4f1115; color: #fff; border: 0; border-radius: 0; }
body#addresses .address, body#addresses article.address { background: var(--grisclair, #f1f1f1); border: 0; padding: 10px 20px; }
/* confirmation de commande (order-confirmation) : titres et blocs a la maniere de la 1.6 */
body#order-confirmation h1, body#order-confirmation h3.card-title { font: 600 18px/22px "Fira Sans", sans-serif; color: #555454; text-transform: uppercase; background: none; box-shadow: none; padding: 0 0 12px; margin: 0 0 18px; }
body#order-confirmation #order-details, body#order-confirmation #content-hook_payment_return { background: var(--grisclair, #f1f1f1); padding: 10px 20px 14px; margin: 0 0 20px; }
body#order-confirmation #order-items .order-line, body#order-confirmation .order-confirmation-table { background: #fff; border: 1px solid #d6d4d4; }

/* ==== Notifications du front (correctif 10/11/2026) =====================================================
   Cause : global.css (heritee de la 1.6) pose sur TOUT .alert « position:absolute; top:30px; width:90%; margin:0 5% ;
   z-index:9 » : le message sort du flux et se superpose au titre ou au contenu qui suit (plusieurs .alert ou un
   .alert + un paragraphe = chevauchement). Le gabarit classic (_partials/notifications.tpl) ajoute en plus
   <aside id="notifications"><div class="notifications-container container"><article class="alert"><ul><li>, avec
   la numerotation « decimal » et la marge de 27px que global.css donne aux .alert ul li.
   Correctif : tous les messages repassent dans le flux, pleine largeur du conteneur, empiles avec une marge. */
#notifications { position: static; margin: 0; padding: 0; }
#notifications .notifications-container { width: auto; max-width: none; margin: 0; padding: 0; }
.alert, #center_column .alert {
  position: relative; top: auto; left: auto; right: auto; z-index: auto; float: none; clear: both;
  display: block; width: auto; max-width: 100%; margin: 0 0 20px; box-sizing: border-box;
  border-radius: 0; overflow-wrap: break-word; word-wrap: break-word; line-height: 20px;
}
#notifications .alert { margin-bottom: 14px; }
.alert.alert-danger, .alert.alert-success { padding-left: 48px; }
.alert.alert-danger:before, .alert.alert-success:before { float: none; position: absolute; left: 16px; top: 14px; margin: 0; padding: 0; line-height: 24px; }
.alert ul, .alert ol, #notifications .alert ul { list-style: none; margin: 0; padding: 0; }
.alert ul li, .alert ol li, #notifications .alert ul li { list-style: none; margin: 0 0 4px; padding: 0; }
.alert ul li:last-child, .alert ol li:last-child { margin-bottom: 0; }
.alert > p, .alert > ul { margin: 0; }
.alert > p + p { margin-top: 8px; }
.alert a { text-decoration: underline; }
#create_account_error:empty, #login_error:empty { display: none; }
@media (max-width: 767px) {
  .alert, #center_column .alert { margin-bottom: 16px; padding-top: 12px; padding-right: 12px; padding-bottom: 12px; font-size: 14px; line-height: 19px; }
  .alert.alert-danger, .alert.alert-success { padding-left: 42px; }
  .alert.alert-danger:before, .alert.alert-success:before { left: 12px; top: 11px; }
}

/* ==== Etape « Adresse » du tunnel (correctif 10/11/2026) ====================================================
   Causes : (1) la regle globale `header { background:#fff; box-shadow:0 0 20px; position:relative; padding-bottom:15px }`
   de global.css (1.6, pensee pour l'en-tete du site) s'applique au <header class="h4"> de chaque carte d'adresse de
   classic : ombre portee, fond blanc, carte debordante, liens Modifier / Supprimer rejetes sous la carte ;
   (2) `.cdv-classic .address` (prevu pour les cartes du compte) encadre une seconde fois le texte de l'adresse a
   l'interieur de la carte ; (3) rien ne distinguait l'adresse choisie ni ne mettait en forme la grille de cartes. */
.cdv-classic header { background: none; box-shadow: none; position: static; z-index: auto; padding: 0; margin: 0; }
.cdv-classic .address-selector { display: block; margin: 4px 0 8px; }
.cdv-classic .address-selector:after { content: ''; display: table; clear: both; }
.cdv-classic .address-selector .address-item {
  background: #fff; border: 1px solid #d6d4d4; margin: 0 0 14px; padding: 14px 18px 10px;
  box-sizing: border-box; position: relative; cursor: pointer;
}
.cdv-classic .address-selector .address-item.selected { border-color: #4f1115; box-shadow: 0 0 0 1px #4f1115; }
.cdv-classic .address-selector .address-item header { display: block; font-size: 16px; line-height: 22px; }
.cdv-classic .address-selector .address-item .radio-block { display: block; margin: 0; font-weight: 400; cursor: pointer; }
.cdv-classic .address-selector .address-item .custom-radio { display: inline-block; vertical-align: middle; margin: 0 6px 0 0; }
.cdv-classic .address-selector .address-item .address-alias { display: inline; font: 600 16px/22px "Fira Sans", sans-serif; color: #4f1115; }
.cdv-classic .address-selector .address-item .address {
  display: block; border: 0; background: none; padding: 0; margin: 8px 0 0 24px;
  font-size: 14px; line-height: 20px; color: #333; font-weight: 400;
}
.cdv-classic .address-selector .address-item hr { margin: 12px 0 8px; border: 0; border-top: 1px solid #e4e4e4; }
.cdv-classic .address-selector .address-footer { margin: 0; padding: 0 0 2px 24px; font-size: 13px; }
.cdv-classic .address-selector .address-footer a { display: inline-block; margin: 0 18px 4px 0; color: #4f1115; text-decoration: none; }
.cdv-classic .address-selector .address-footer a:hover { text-decoration: underline; }
.cdv-classic .address-selector .address-footer .material-icons { font-size: 16px; vertical-align: middle; margin-right: 3px; color: #4f1115; }
.cdv-classic .add-address, .cdv-classic [data-link-action="different-invoice-address"] { margin: 6px 0; }
.cdv-classic .add-address a, .cdv-classic a[data-link-action="different-invoice-address"] { color: #4f1115; text-decoration: underline; }
@media (min-width: 768px) {
  .cdv-classic .address-selector { display: flex; flex-wrap: wrap; gap: 0 16px; }
  .cdv-classic .address-selector .address-item { flex: 0 0 calc(50% - 8px); max-width: calc(50% - 8px); }
  .cdv-classic .address-selector > p { flex: 0 0 100%; }
}
/* Bouton radio de la carte : le plugin uniform de la 1.6 l'habille avec un sprite quasi invisible sur fond blanc */
.cdv-classic .address-selector .address-item div.radio { margin: 0 8px 0 0; width: 18px; height: 18px; vertical-align: middle; }
.cdv-classic .address-selector .address-item div.radio span {
  width: 18px; height: 18px; box-sizing: border-box; background: #fff none; border: 2px solid #9c9c9c; border-radius: 50%;
}
.cdv-classic .address-selector .address-item div.radio span.checked { border-color: #4f1115; background: #fff none; box-shadow: inset 0 0 0 3px #fff; background-color: #4f1115; }
.cdv-classic .address-selector .address-item div.radio input { width: 18px; height: 18px; }
/* Formulaire d'adresse (ajout / modification) : case « Utiliser aussi cette adresse pour la facturation » et pied
   Annuler / Enregistrer. Meme cause : libelles et colonnes de classic habilles par la 1.6 (offset de 25 %, libelle en
   gras 18 px, boutons flottants sur deux lignes). */
#checkout.cdv-classic .checkout-step .form-group.row > .col-md-offset-3 { margin-left: 0; max-width: none; }
#checkout.cdv-classic .checkout-step .form-group.row > .col-md-offset-3 .checker { display: inline-block; vertical-align: middle; margin-right: 6px; }
#checkout.cdv-classic .checkout-step .form-group.row > .col-md-offset-3 label { display: inline; font: 400 14px/20px "Fira Sans", sans-serif; color: #333; vertical-align: middle; text-transform: none; }
#checkout.cdv-classic .checkout-step .form-footer { display: flex; flex-direction: row-reverse; justify-content: flex-start; align-items: center; gap: 18px; margin-top: 10px; }
#checkout.cdv-classic .checkout-step .form-footer .btn, #checkout.cdv-classic .checkout-step .form-footer button { float: none; margin: 0; }
#checkout.cdv-classic .checkout-step .form-footer .cancel-address { float: none; font-size: 14px; color: #4f1115; text-decoration: underline; }
#checkout.cdv-classic .checkout-step .col-md-offset-3 div.checker, #checkout.cdv-classic .checkout-step .col-md-offset-3 div.checker span { width: 18px; height: 18px; }
#checkout.cdv-classic .checkout-step .col-md-offset-3 div.checker span { box-sizing: border-box; position: relative; background: #fff none; border: 2px solid #9c9c9c; border-radius: 3px; }
#checkout.cdv-classic .checkout-step .col-md-offset-3 div.checker span.checked { background: #4f1115 none; border-color: #4f1115; }
#checkout.cdv-classic .checkout-step .col-md-offset-3 div.checker span.checked:after { content: ''; position: absolute; left: 4px; top: 0; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
#checkout.cdv-classic .checkout-step .col-md-offset-3 div.checker input { width: 18px; height: 18px; }
