/* Les Caves du Château — thème enfant de Classic
   Même identité que lescavesduchateau.ch : chaux, ardoise, rouge du logo,
   lie-de-vin, arches ; Libre Caslon (titres) et Montserrat (texte). */

@font-face { font-family: "Caslon Display"; src: url("../fonts/libre-caslon-display-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Caslon Text"; src: url("../fonts/libre-caslon-text-latin-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-latin-wght-normal.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }

:root {
  --chaux: #F1EFEB;
  --chaux-2: #E7E3DC;
  --epicea: #E3D2B4;
  --pave: #6A645D;
  --ardoise: #22201F;
  --rouge: #B8141B;
  --rouge-fonce: #8F0F15;
  --lie: #3E1518;
  --ligne: rgba(34, 32, 31, .14);
  --display: "Caslon Display", Georgia, "Times New Roman", serif;
  --sans: "Montserrat", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

/* Classic : toutes les teintes bleues (#24b9d7) remplacées par le rouge des Caves */
a{color:var(--rouge)}
.btn-primary,.btn-primary:hover{background-color:var(--rouge)}
.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary:disabled.focus,.btn-primary:disabled:focus{background-color:var(--rouge)}
.btn-primary.disabled:hover,.btn-primary:disabled:hover{background-color:var(--rouge)}
.btn-outline-primary{color:var(--rouge);border-color:var(--rouge)}
.btn-outline-primary:hover{background-color:var(--rouge);border-color:var(--rouge)}
.btn-outline-primary.focus,.btn-outline-primary:focus{background-color:var(--rouge);border-color:var(--rouge)}
.btn-outline-primary.active,.btn-outline-primary:active,.open>.btn-outline-primary.dropdown-toggle{background-color:var(--rouge);border-color:var(--rouge)}
.btn-link{color:var(--rouge)}
.dropdown-item.active,.dropdown-item.active:focus,.dropdown-item.active:hover{background-color:var(--rouge)}
.nav-pills .nav-item.open .nav-link,.nav-pills .nav-item.open .nav-link:focus,.nav-pills .nav-item.open .nav-link:hover,.nav-pills .nav-link.active,.nav-pills .nav-link.active:focus,.nav-pills .nav-link.active:hover{background-color:var(--rouge)}
.card-primary{background-color:var(--rouge);border-color:var(--rouge)}
.card-outline-primary,.card-outline-secondary{border-color:var(--rouge)}
.page-item.active .page-link,.page-item.active .page-link:focus,.page-item.active .page-link:hover{background-color:var(--rouge);border-color:var(--rouge)}
.page-link{color:var(--rouge)}
.tag-primary{background-color:var(--rouge)}
.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{background-color:var(--rouge);border-color:var(--rouge)}
.bg-primary{background-color:var(--rouge)}
.text-primary{color:var(--rouge)}
#header .top-menu a[data-depth="0"]:hover,a:hover{color:var(--rouge)}
.block_newsletter form input[type=text]:focus+button .search,.btn-unstyle:focus .expand-more,.search-widget form input[type=text]:focus+button .search{color:var(--rouge)}
.form-control:focus{outline:.1875rem solid var(--rouge)}
.input-group.focus{outline:.1875rem solid var(--rouge)}
.bootstrap-touchspin .group-span-filestyle .btn-touchspin,.group-span-filestyle .bootstrap-touchspin .btn-touchspin,.group-span-filestyle .btn-default{background:var(--rouge)}
.custom-radio input[type=radio]:checked+span{background-color:var(--rouge)}
.carousel .carousel-control .icon-next:hover i,.carousel .carousel-control .icon-prev:hover i,.dropdown:hover .expand-more,.page-my-account #content .links a:hover i,.search-widget form button[type=submit] .search:hover,.top-menu .sub-menu a:hover{color:var(--rouge)}
.dropdown-item:focus,.dropdown-item:hover{color:var(--rouge)}
.search-widget form input[type=text]:focus{outline:3px var(--rouge) solid}
body#checkout section.checkout-step .address-item.selected{border:var(--rouge) 3px solid}
.product-miniature .highlighted-informations .quick-view:hover{color:var(--rouge)}
.brands-sort .select-list:hover,.products-sort-order .select-list:hover,.suppliers-sort .select-list:hover{background:var(--rouge)}
.facet-dropdown.open>.select-title{border:3px solid var(--rouge)}
.facet-dropdown .select-list:hover{background:var(--rouge)}
.pagination .current a{color:var(--rouge)}
#subcategories ul li .subcategory-name:hover,.block-categories .arrows .arrow-down:hover,.block-categories .arrows .arrow-right:hover,.block-categories .collapse-icons .add:hover,.block-categories .collapse-icons .remove:hover,.cart-grid-body a.label:hover{color:var(--rouge)}
#subcategories ul li:hover .subcategory-image a{border:5px solid var(--rouge)}
.product-price{color:var(--rouge)}
.tabs .nav-tabs .nav-link.active{color:var(--rouge)}
.tabs .nav-tabs .nav-link.active,.tabs .nav-tabs .nav-link:hover{border-bottom:var(--rouge) 3px solid}
#product-modal .modal-content .modal-body .product-images img:hover{border:var(--rouge) 3px solid}
#blockcart-modal .product-name{color:var(--rouge)}
.product-images>li.thumb-container .thumb.selected,.product-images>li.thumb-container .thumb:hover{border:var(--rouge) 3px solid}
.product-flags li.product-flag{background:var(--rouge)}
.product-customization .product-message:focus{outline:.1875rem solid var(--rouge)}
.block-promo .promo-input+button{border:2px solid var(--rouge)}
.block-promo .promo-code-button.cancel-promo{color:var(--rouge)}
.account-list a:hover,.block_newsletter form button[type=submit] .search:hover,.footer-container li a:hover{color:var(--rouge)}
.block-social ul li:hover{background-color:var(--rouge)}
.block_newsletter form input[type=text]:focus{outline:3px var(--rouge) solid}
.block_newsletter form input[type=email]:focus{border:3px var(--rouge) solid}
#header a:hover{color:var(--rouge)}
#header .header-nav .cart-preview.active{background:var(--rouge)}
#header .header-nav .blockcart a:hover{color:var(--rouge)}


/* Base */
body, #wrapper, #main, .page-content, .card, .card-block { background: var(--chaux); }
body { font-family: var(--sans); color: var(--ardoise); font-size: 1rem; line-height: 1.6; -webkit-font-smoothing: antialiased; }
#wrapper { padding-top: 1.5rem; }
a { color: var(--rouge); }
a:hover, a:focus { color: var(--rouge-fonce); }
p { color: inherit; }
h1, .h1, h2, .h2, .page-header h1 { font-family: var(--display); font-weight: 400; text-transform: none; letter-spacing: -.01em; color: var(--ardoise); }
h1, .h1 { font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1.05; }
h2, .h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: 1.1; }
h3, .h3, h4, .h4, h5, h6 { font-family: var(--sans); text-transform: none; font-weight: 600; color: var(--ardoise); }
.text-uppercase, .h6 { text-transform: none !important; }
:focus-visible { outline: 2px solid var(--rouge); outline-offset: 3px; }
.container { max-width: 1240px; width: 100%; }

/* Boutons */
.btn { font-family: var(--sans); font-weight: 600; text-transform: none; letter-spacing: .01em; border-radius: 2px; box-shadow: none; padding: .7rem 1.4rem; }
.btn-primary, .btn-primary:disabled { background: var(--rouge); border-color: var(--rouge); color: #fff; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active { background: var(--rouge-fonce) !important; border-color: var(--rouge-fonce) !important; color: #fff; }
.btn-secondary, .btn-tertiary { background: transparent; border: 1.5px solid var(--ardoise); color: var(--ardoise); }
.btn-secondary:hover, .btn-tertiary:hover { background: var(--ardoise); color: var(--chaux); }
.btn-outline { background: transparent; border: 1.5px solid var(--ardoise); color: var(--ardoise); }
.btn-outline:hover { background: var(--ardoise); color: var(--chaux); }
.material-icons.shopping-cart { display: none; }

/* Formulaires : cases à cocher et boutons radio alignés sur leur texte */
.form-control, .custom-select, select.form-control, input[type=text], input[type=email], input[type=password], input[type=tel], textarea {
  background: #fff; border: 1px solid rgba(34, 32, 31, .28); border-radius: 2px; color: var(--ardoise); font-family: var(--sans);
}
.form-control:focus { border-color: var(--ardoise); outline: 2px solid var(--rouge); outline-offset: 0; }
.custom-checkbox, .custom-radio { flex: none; }
.custom-checkbox input[type=checkbox] + span, .custom-radio { border-color: var(--pave); }
.custom-checkbox input[type=checkbox] + span .checkbox-checked { color: var(--rouge); }
.custom-radio input[type=radio]:checked + span { background-color: var(--rouge); }
.form-group .custom-checkbox, .form-group .custom-radio { margin-top: 0; }
label:has(> .custom-checkbox), label:has(> .custom-radio),
.facet-label, .condition-label, .js-terms, .psgdpr_consent_message {
  display: flex !important; align-items: flex-start; gap: .6rem; text-align: left;
}
.custom-checkbox, .custom-radio { margin-top: .2em; }
.condition-label label, .js-terms label { margin: 0; text-align: left; }
.facet-label a { margin-top: 0 !important; width: auto !important; }
#search_filters .facet .facet-label { align-items: center; margin-bottom: .35rem; }
#search_filters .facet .facet-label .custom-checkbox, #search_filters .facet .facet-label .custom-radio { margin: 0; top: 0; position: relative; }

/* Les .container de Classic ont un clearfix en ::before/::after : on le neutralise dans les conteneurs flex */
.cv-strip .container::before, .cv-strip .container::after, .cv-top::before, .cv-top::after, .header-nav .mobile::before, .header-nav .mobile::after { display: none; }

/* Bandeau d'information */
.cv-strip { background: var(--ardoise); color: var(--chaux); font-size: .85rem; }
.cv-strip .container { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-top: .45rem; padding-bottom: .45rem; }
.cv-strip p { margin: 0; }
#header .cv-strip a, .cv-strip a { color: var(--epicea); text-decoration: underline; text-underline-offset: .25em; white-space: nowrap; }

/* En-tête */
#header { background: rgba(241, 239, 235, .96); box-shadow: none; border-bottom: 1px solid transparent; transition: border-color .2s; }
#header.is-scrolled { border-bottom-color: var(--ligne); }
#header .header-nav { background: transparent; border: 0; margin: 0; max-height: none; }
#header .header-top { padding: .9rem 0; background: transparent; }
.cv-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .9rem 2rem; }
.cv-logo { flex: none; }
.cv-brand { display: flex; align-items: center; gap: .65rem; color: var(--ardoise); text-decoration: none; }
.cv-brand:hover { color: var(--ardoise); }
.cv-brand img { width: 34px; height: 34px; }
.cv-brand__name { font-family: var(--display); font-size: 1.45rem; line-height: 1; display: flex; flex-direction: column; }
.cv-brand__name small { font-family: var(--sans); font-size: .72rem; color: var(--pave); margin-top: .3rem; letter-spacing: .02em; }
.cv-menu { order: 3; flex: 1 1 100%; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-width: 0; padding-top: .7rem; border-top: 1px solid var(--ligne); }
.cv-actions { order: 2; flex: none; display: flex; align-items: center; gap: 1.25rem; }
.cv-actions .user-info, .cv-actions #_desktop_user_info { margin: 0; }
#header .user-info a, #header .user-info a .material-icons { color: var(--ardoise); font-size: .9rem; font-weight: 500; }
#header .user-info .material-icons { font-size: 1.15rem; vertical-align: -4px; }

/* Menu principal */
#_desktop_top_menu { flex: 1; min-width: 0; }
#_desktop_top_menu .top-menu[data-depth="0"] { display: flex; flex-wrap: wrap; gap: .1rem .6rem; margin: 0; padding: 0; }
#_desktop_top_menu .top-menu[data-depth="0"] > li { display: block; float: none; }
#top-menu a, .top-menu a { text-transform: none !important; }
.top-menu { margin: 0; }
.top-menu a[data-depth="0"] { font-family: var(--sans); font-weight: 500; text-transform: none; font-size: .95rem; color: var(--ardoise); padding: .4rem .55rem; }
.top-menu a[data-depth="0"]:hover, #top-menu > li:hover > a { color: var(--rouge); }
.top-menu .sub-menu { box-shadow: 0 12px 30px rgba(0, 0, 0, .08); border: 1px solid var(--ligne); background: #fff; border-radius: 2px; }
.top-menu .sub-menu a { color: var(--ardoise); text-transform: none; }

/* Recherche */
#search_widget { width: 16rem; flex: none; margin: 0; float: none; }
#search_widget form input[type=text] { background: #fff; border: 1px solid var(--ligne); border-radius: 2px; padding: .55rem .9rem .55rem 2.4rem; font-size: .9rem; }
#search_widget form i { color: var(--pave); }

/* Réservation (panier) dans l'en-tête */
.blockcart { background: transparent !important; padding: 0 !important; height: auto !important; }
.blockcart .header { margin: 0; }
.cv-cartlink { display: inline-flex; align-items: center; gap: .45rem; color: var(--ardoise) !important; font-weight: 600; font-size: .9rem; text-decoration: none; }
.cv-cartlink__icon { color: var(--rouge); }
.blockcart .cart-products-count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.4rem; height: 1.4rem; padding: 0 .35rem; border-radius: 999px; background: var(--chaux-2); color: var(--ardoise); font-size: .78rem; }
.blockcart.active .cart-products-count { background: var(--rouge); color: #fff; }

/* En-tête mobile */
.header-nav .mobile { display: flex; align-items: center; justify-content: space-between; padding: .6rem 0; }
.cv-burger { background: none; border: 1.5px solid var(--ardoise); border-radius: 2px; width: 2.6rem; height: 2.4rem; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 4px; cursor: pointer; }
.cv-burger span { display: block; width: 18px; height: 2px; background: var(--ardoise); }
.header-nav .top-logo .cv-brand__name { font-size: 1.15rem; }
.header-nav .top-logo .cv-brand__name small { display: none; }
.cv-mobile-actions { display: flex; align-items: center; gap: .9rem; }
.cv-mobile-actions .cv-cartlink__label, #_mobile_user_info .hidden-sm-down { display: none; }
#mobile_top_menu_wrapper { background: var(--chaux); border-bottom: 1px solid var(--ligne); margin: 0; padding-bottom: 1rem; }
#mobile_top_menu_wrapper .top-menu a { font-size: 1.05rem; padding: .7rem 0; border-bottom: 1px solid var(--ligne); }

/* Fil d'Ariane */
.breadcrumb { background: transparent; padding: 0; margin-bottom: 1.25rem; font-size: .85rem; }
.breadcrumb li a, .breadcrumb li::after { color: var(--pave); }

/* Arches */
.cv-arch { position: relative; overflow: hidden; border-radius: 999px 999px 0 0; background: var(--chaux-2); }
.cv-arch img { position: absolute; inset: 0; width: 100%; height: 100% !important; max-width: none; object-fit: cover; display: block; }

/* Accueil */
.page-home { padding-bottom: 2rem; }
.cv-hero { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; padding: clamp(1rem, 4vw, 3rem) 0 clamp(3rem, 7vw, 6rem); }
.cv-hero h1 { font-size: clamp(2.6rem, 5.6vw, 4.8rem); line-height: .98; margin-bottom: .4em; text-wrap: balance; }
.cv-hero__lead { font-size: 1.15rem; color: var(--pave); max-width: 36ch; margin-bottom: 2rem; }
.cv-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.cv-hero__media { margin: 0; justify-self: end; width: min(100%, 440px); }
.cv-hero__media .cv-arch { aspect-ratio: 4 / 5; }
.cv-hero__media img { animation: cv-rise 1.3s cubic-bezier(.2, .7, .1, 1) both; }
@keyframes cv-rise { from { clip-path: inset(100% 0 0 0); transform: scale(1.06); } to { clip-path: inset(0); transform: none; } }

.cv-cats { padding: clamp(2rem, 5vw, 3.5rem) 0; border-top: 1px solid var(--ligne); }
.cv-cats h2 { margin-bottom: 1.5rem; }
.cv-cats__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--ligne); border: 1px solid var(--ligne); }
.cv-cats__list a { display: block; background: var(--chaux); padding: 1.6rem 1.25rem; font-family: var(--display); font-size: 1.6rem; color: var(--ardoise); text-decoration: none; transition: background-color .2s; }
.cv-cats__list a:hover { background: #fff; color: var(--rouge); }

.cv-how { background: var(--lie); color: var(--chaux); padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.5rem, 4vw, 3.5rem); margin: clamp(2rem, 5vw, 3rem) 0; position: relative; overflow: hidden; isolation: isolate; }
.cv-how::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../img/motif-caves.svg") repeat center / 480px auto; opacity: .06; }
.cv-how h2 { color: var(--chaux); margin-bottom: 2rem; }
.cv-how__steps { list-style: none; counter-reset: step; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.cv-how__steps li { counter-increment: step; }
.cv-how__steps li::before { content: counter(step); display: block; font-family: var(--display); font-size: 3rem; line-height: 1; color: var(--epicea); margin-bottom: .75rem; }
.cv-how__steps h3 { color: var(--chaux); font-size: 1.1rem; margin-bottom: .4rem; }
.cv-how__steps p { color: rgba(241, 239, 235, .8); margin: 0; }

.cv-home-hooks .featured-products, .cv-home-hooks section { margin-top: 2.5rem; }
.featured-products h2, .featured-products .products-section-title, #main .products-section-title { font-family: var(--display); text-transform: none; font-size: clamp(1.6rem, 2.6vw, 2.2rem); text-align: left !important; margin-bottom: 1.5rem; }
.cv-home-section { margin-top: 3rem; }
.cv-home-section .all-product-link { display: inline-block; margin-top: .5rem; text-decoration: underline; text-underline-offset: .3em; }
.all-product-link { color: var(--rouge); font-weight: 600; }

/* Vignettes produits */
.products .product { display: flex; }
.products .product .product-miniature, .product-miniature .thumbnail-container { width: 100%; }
.product-miniature .thumbnail-top { aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.product-miniature .product-thumbnail { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.product-miniature .product-thumbnail img { width: 100%; height: 100%; }
.cv-noimg { flex-direction: column; gap: .6rem; color: rgba(34, 32, 31, .22); text-decoration: none; }
.cv-noimg span { font-size: .78rem; color: var(--pave); }
.products { display: flex; flex-wrap: wrap; }
.product-miniature .thumbnail-container { background: #fff; box-shadow: none; border: 1px solid var(--ligne); border-radius: 2px; height: 100%; transition: border-color .2s; }
.product-miniature .thumbnail-container:hover { border-color: var(--ardoise); box-shadow: none; }
.product-miniature .thumbnail-container:hover .product-description::after { display: none; }
.product-miniature .thumbnail-top { background: #fff; }
.product-miniature .product-thumbnail img { object-fit: contain; padding: .75rem; }
.product-miniature .product-description { position: static; height: auto; background: #fff; box-shadow: none; padding: .9rem 1rem 1.1rem; text-align: left; width: 100%; }
.product-miniature .product-title { margin: 0; text-transform: none; text-align: left; }
.product-miniature .product-title a { font-family: var(--display); font-weight: 400; font-size: 1.2rem; line-height: 1.2; color: var(--ardoise); text-align: left; }
.cv-estate { margin: .2rem 0 0; font-size: .85rem; color: var(--pave); line-height: 1.4; }
.cv-region { margin: .15rem 0 0; font-size: .8rem; color: var(--pave); opacity: .85; }
.product-miniature .product-price-and-shipping { text-align: left; margin-top: .6rem; color: var(--ardoise); font-weight: 600; font-size: 1.05rem; }
.cv-stock { margin: .35rem 0 0; font-size: .8rem; font-weight: 500; display: flex; align-items: center; gap: .4rem; }
.cv-stock::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: var(--pave); flex: none; }
.cv-stock.is-in::before { background: #2F7A3E; }
.product-flags li.product-flag { background: var(--ardoise); font-family: var(--sans); font-size: .72rem; text-transform: none; font-weight: 600; border-radius: 2px; padding: .25rem .55rem; min-width: 0; min-height: 0; }
.product-flags li.product-flag.discount, .product-flags li.product-flag.on-sale { background: var(--rouge); }
.highlighted-informations { display: none !important; }

/* Catégories et filtres */
#left-column .block-categories, #search_filters, #search_filters_brands, #search_filters_suppliers { background: transparent; box-shadow: none; padding: 0; margin-bottom: 2rem; }
.block-categories .category-top-menu .h6, #search_filters .h6, #search_filters > p.text-uppercase { font-family: var(--display); font-size: 1.4rem; font-weight: 400; text-transform: none; }
#search_filters .facet .facet-title { font-family: var(--sans); font-size: .95rem; font-weight: 600; text-transform: none; }
#search_filters .facet { padding-top: .75rem; border-top: 1px solid var(--ligne); }
#search_filters .facet .facet-label a { color: var(--ardoise); font-size: .9rem; }
.block-categories a { color: var(--ardoise); }
.block-categories .collapse-icons .add, .block-categories .collapse-icons .remove, .block-categories .arrows .arrow-down, .block-categories .arrows .arrow-right { color: var(--pave); }
.block-category { background: transparent; box-shadow: none; padding: 0; min-height: 0; margin-bottom: 1.5rem; }
.block-category h1 { font-size: clamp(2rem, 4vw, 3rem); }
.block-category #category-description { color: var(--pave); max-width: 64ch; }
.products-selection { background: transparent; padding: 0; margin-bottom: 1rem; }
.products-sort-order .select-title { background: #fff; border: 1px solid var(--ligne); border-radius: 2px; box-shadow: none; }
.active_filters { background: var(--chaux-2); }
.pagination .current a { color: var(--rouge); }

/* Fiche vin */
#product #content { max-width: none; }
.product-cover, .product-cover img, .product-images > li.thumb-container > .thumb { background: #fff; box-shadow: none; }
.product-cover img { object-fit: contain; }
.cv-product-title { font-size: clamp(2.2rem, 4vw, 3.4rem); margin-bottom: .2em; }
.cv-product-estate { font-size: 1.15rem; color: var(--pave); margin-bottom: 1rem; }
.product-prices .current-price { font-family: var(--display); font-size: 1.9rem; color: var(--ardoise); }
.product-prices .tax-shipping-delivery-label { color: var(--pave); font-size: .82rem; }
.cv-facts { margin: 1.25rem 0 1.5rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; }
.cv-facts div { padding: .55rem 0; border-top: 1px solid var(--ligne); }
.cv-facts dt { font-size: .78rem; font-weight: 500; color: var(--pave); }
.cv-facts dd { margin: 0; font-weight: 600; }
.product-actions .control-label { font-weight: 600; text-transform: none; }
.product-quantity .add-to-cart { min-width: 13rem; height: auto; padding: .85rem 1.5rem; }
.product-quantity .qty .input-group, .bootstrap-touchspin .form-control { background: #fff; }
#product-availability { font-weight: 500; }
#product-availability .product-available { color: #2F7A3E; }
.cv-pickup { margin-top: 1.5rem; padding: 1.1rem 1.25rem; background: var(--chaux-2); border-left: 3px solid var(--epicea); }
.cv-pickup p { margin: 0 0 .35rem; font-size: .95rem; }
.cv-pickup__title { font-weight: 600; }
.cv-pickup__small { font-size: .85rem !important; color: var(--pave); }
.tabs { background: transparent; box-shadow: none; padding: 0; margin-top: 2.5rem; }
.tabs .nav-tabs { border-bottom: 1px solid var(--ligne); }
.tabs .nav-tabs .nav-link { color: var(--pave); border: 0; font-weight: 600; text-transform: none; }
.tabs .nav-tabs .nav-link.active { color: var(--ardoise); border-bottom: 2px solid var(--rouge); background: transparent; }
.product-description { color: var(--ardoise); max-width: 70ch; }
.product-features > dl.data-sheet dd.value, .product-features > dl.data-sheet dt.name { background: var(--chaux-2); }
.product-features > dl.data-sheet dd.value:nth-of-type(even), .product-features > dl.data-sheet dt.name:nth-of-type(even) { background: var(--chaux); }

/* Fenêtre « ajouté à la réservation » */
#blockcart-modal .modal-header { background: var(--ardoise); }
#blockcart-modal .modal-title { color: var(--chaux); font-family: var(--sans); font-weight: 600; text-transform: none; }
#blockcart-modal .modal-content { border-radius: 2px; background: var(--chaux); }
#blockcart-modal .product-name { color: var(--ardoise); font-family: var(--display); font-size: 1.3rem; font-weight: 400; }

/* Réservation et validation */
.cart-grid-body .card, .cart-summary, .checkout-step, #order-confirmation .card { background: #fff; box-shadow: none; border: 1px solid var(--ligne); border-radius: 2px; }
.checkout-step .step-title { font-family: var(--sans); text-transform: none; font-weight: 600; }
.checkout-step.-current .step-title { color: var(--ardoise); }
body#checkout section.checkout-step .step-number { background: var(--chaux-2); }
body#checkout section.checkout-step.-current .step-number, body#checkout section.checkout-step.-complete .step-number { background: var(--rouge); color: #fff; }
.cart-summary-line .label, .cart-summary-line.cart-total .label { text-transform: none; }

/* Pied de page */
#footer { background: transparent; padding: 0; margin-top: 3rem; }
.cv-foot { background: var(--ardoise); color: var(--chaux); padding: clamp(3rem, 6vw, 4.5rem) 0 2rem; }
.cv-foot a { color: var(--chaux); }
.cv-foot a:hover { color: var(--epicea); }
.cv-foot p, .cv-foot li, .cv-foot td, .cv-foot th { color: rgba(241, 239, 235, .8); font-size: .92rem; }
.cv-foot__grid { display: grid; grid-template-columns: 1.1fr 1.3fr 1.2fr 1fr; gap: clamp(2rem, 4vw, 3rem); }
.cv-foot__logo { width: 160px; height: auto; margin-bottom: 1.25rem; }
.cv-foot__title, .cv-foot .h3, .cv-foot .h6, .cv-foot .links .title .h3 { font-family: var(--sans) !important; font-weight: 600 !important; font-size: 1rem !important; color: var(--chaux) !important; text-transform: none !important; margin-bottom: .9rem; }
.cv-steps { padding-left: 1.1rem; margin: 0; }
.cv-steps li { margin-bottom: .5rem; }
.cv-hours { width: 100%; border-collapse: collapse; }
.cv-hours th, .cv-hours td { padding: .35rem 0; border-bottom: 1px solid rgba(241, 239, 235, .12); font-weight: 400; vertical-align: top; text-align: left; }
.cv-hours th { padding-right: .75rem; color: var(--chaux); }
.cv-foot__links .links { padding: 0; }
.cv-foot__links .links .wrapper { width: 100%; max-width: 100%; flex: none; padding: 0; }
.cv-foot__links .links ul { margin-bottom: 1.25rem; }
.cv-foot__links .links li a { color: rgba(241, 239, 235, .8); font-size: .92rem; }
.cv-foot__links .links .row { margin: 0; display: block; }
.cv-foot__bottom { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(241, 239, 235, .12); }
.cv-foot__bottom p { font-size: .8rem; color: rgba(241, 239, 235, .6); margin: 0; }

/* Responsive */
@media (max-width: 991px) {
  .cv-foot__grid { grid-template-columns: 1fr 1fr; }
  .cv-cats__list { grid-template-columns: repeat(2, 1fr); }
  #search_widget { width: 12rem; }
}
@media (max-width: 767px) {
  .cv-strip .container { flex-direction: column; align-items: flex-start; gap: .2rem; }
  .cv-menu { border-top: 0; padding-top: 0; }
  #search_widget { width: 100%; }
  .cv-hero { grid-template-columns: 1fr; }
  .cv-hero__media { order: -1; justify-self: center; width: min(100%, 340px); }
  .cv-how__steps { grid-template-columns: 1fr; }
  .cv-facts { grid-template-columns: 1fr; }
  .cv-foot__grid { grid-template-columns: 1fr; }
  .cv-cats__list a { font-size: 1.3rem; padding: 1.2rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .cv-hero__media img { animation: none; }
}


/* ===== Cases à cocher dont le texte est dans le label (formulaires client, CGV) ===== */
/* La case reste alignée sur la première ligne du texte, le texte s'enroule dessous proprement */
.custom-checkbox > label { display: block !important; position: relative; padding-left: 1.85rem; margin: 0; text-align: left; line-height: 1.5; font-weight: 400; }
.custom-checkbox > label > input[type=checkbox] { position: absolute; left: 0; top: .2em; width: 1.15rem; height: 1.15rem; margin: 0; }
.custom-checkbox > label > input[type=checkbox] + span { position: absolute; left: 0; top: .2em; margin: 0; }
.custom-checkbox > label em { display: block; margin-top: .3rem; font-size: .82rem; color: var(--pave); }
.custom-radio + * , label.radio-inline { vertical-align: middle; }
label.radio-inline { display: inline-flex !important; align-items: center; gap: .45rem; margin-right: 1.2rem; }
label.radio-inline .custom-radio { margin: 0; }

/* ===== Tunnel de réservation ===== */
body#checkout { background: var(--chaux); }
.cv-checkout-head { background: #fff; border-bottom: 1px solid var(--ligne); }
.cv-checkout-head .container { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-top: 1rem; padding-bottom: 1rem; flex-wrap: wrap; }
.cv-checkout-head .container::before, .cv-checkout-head .container::after { display: none; }
.cv-checkout-note { margin: 0; font-size: .88rem; color: var(--pave); }
body#checkout #header { box-shadow: none; }
body#checkout #wrapper { padding-top: 2rem; }
body#checkout section.checkout-step { padding: 1.25rem 1.5rem; margin-bottom: 1rem; }
body#checkout section.checkout-step .step-title { font-size: 1.05rem; display: flex; align-items: center; gap: .6rem; }
body#checkout section.checkout-step .step-number { display: inline-flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; border-radius: 999px; font-size: .9rem; margin: 0; }
body#checkout section.checkout-step .step-edit { margin-left: auto; color: var(--pave); font-size: .85rem; text-transform: none; }
body#checkout section.checkout-step .done { display: none; }
body#checkout .nav-inline .nav-link { color: var(--pave); font-weight: 500; }
body#checkout .nav-inline .nav-link.active { color: var(--ardoise); border-bottom: 2px solid var(--rouge); }
body#checkout .form-group.row { display: flex; flex-wrap: wrap; align-items: flex-start; margin-bottom: 1rem; }
body#checkout .form-control-label { text-align: left; font-weight: 500; padding-top: .55rem; font-size: .9rem; }
body#checkout .form-group.row > .js-input-column:has(.custom-checkbox) { flex: 0 0 75%; max-width: 75%; width: 75%; }
body#checkout .form-group.row:has(.custom-checkbox) > .form-control-label,
body#checkout .form-group.row:has(.custom-checkbox) > .form-control-comment { display: none; }
body#checkout .form-group.row:has(.custom-checkbox) > .js-input-column { margin-left: 25%; }
body#checkout .form-control-comment { font-size: .8rem; color: var(--pave); padding-top: .6rem; }
body#checkout .form-footer, body#checkout .continue { text-align: right; }
/* Mode de retrait : une seule option, présentée comme une carte */
body#checkout .delivery-option { background: var(--chaux); border: 1px solid var(--ligne); border-radius: 2px; padding: 1rem; display: flex; align-items: center; gap: .8rem; margin: 0 0 1rem; }
body#checkout .delivery-option > div:first-child { flex: none; width: auto; padding: 0; }
body#checkout .delivery-option label { flex: 1; margin: 0; }
body#checkout .delivery-option .carrier-name { font-weight: 600; }
body#checkout .delivery-option .carriere-logo, body#checkout .delivery-option img { display: none; }
body#checkout .delivery-option .carrier-delay, body#checkout .delivery-option .carrier-price { color: var(--pave); font-size: .88rem; }
body#checkout .order-options { display: none; }
/* Paiement */
body#checkout .payment-option { display: flex; align-items: center; gap: .6rem; padding: .8rem 1rem; border: 1px solid var(--ligne); background: var(--chaux); margin-bottom: .8rem; }
body#checkout .payment-option label { margin: 0; font-weight: 600; }
body#checkout .payment-option .custom-radio { margin: 0; }
body#checkout #conditions-to-approve ul { padding: 0; list-style: none; }
body#checkout #conditions-to-approve li { display: flex; align-items: flex-start; gap: .6rem; }
body#checkout #conditions-to-approve .float-xs-left { float: none !important; flex: none; margin-top: .2em; }
body#checkout #conditions-to-approve .condition-label { display: block !important; margin: 0; }
body#checkout #payment-confirmation .btn { width: 100%; padding: .95rem; font-size: 1rem; }
body#checkout .cart-summary { padding: 1.25rem; }
body#checkout .cart-summary-line .label, body#checkout .cart-summary-line .value { font-size: .92rem; }
.cv-checkout-foot { border-top: 1px solid var(--ligne); margin-top: 3rem; padding: 1.5rem 0 2rem; font-size: .85rem; color: var(--pave); }
.cv-checkout-foot p { margin: 0 0 .4rem; }
.cv-checkout-foot .cv-legal { font-size: .78rem; }
@media (max-width: 767px) {
  body#checkout .form-group.row > .form-control-label, body#checkout .form-group.row > .js-input-column, body#checkout .form-group.row > .form-control-comment { flex: 0 0 100%; max-width: 100%; width: 100%; }
  body#checkout .form-group.row:has(.custom-checkbox) > .js-input-column { margin-left: 0; flex-basis: 100%; max-width: 100%; width: 100%; }
  body#checkout .form-control-comment { padding-top: .2rem; }
  .cv-checkout-note { font-size: .8rem; }
}
body#checkout section.checkout-step .step-title { text-transform: none !important; }
body#checkout section.checkout-step.-current .step-number, body#checkout section.checkout-step.-complete .step-number, body#checkout section.checkout-step.-reachable.-current .step-number { background: var(--rouge) !important; color: #fff !important; }
body#checkout section.checkout-step .step-number { background: var(--chaux-2) !important; color: var(--ardoise); }
/* Retrait : pas d'adresse de facturation séparée, pas d'option de livraison */
body#checkout .form-group.row:has(#use_same_address),
body#checkout p:has(> a[data-link-action="different-invoice-address"]) { display: none; }
body#checkout .delivery-option label > .row { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem 1.2rem; margin: 0; }
body#checkout .delivery-option label > .row > [class*="col-"] { width: auto; max-width: none; flex: 0 1 auto; padding: 0; float: none; }
body#checkout .delivery-option label > .row > [class*="col-"] .row { margin: 0; }
body#checkout .delivery-option label > .row > [class*="col-"] .row > [class*="col-"] { width: auto; padding: 0; float: none; }
.cv-pay-info p { margin: 0 0 1rem; color: var(--pave); font-size: .9rem; }
.cv-confirm { background: #fff; border: 1px solid var(--ligne); padding: 1.5rem; margin: 1rem 0; }
.cv-confirm h3 { font-family: var(--display); font-weight: 400; font-size: 1.6rem; margin-bottom: .8rem; }
.cv-steps-mini { padding-left: 1.2rem; margin-bottom: 1rem; }
.cv-steps-mini li { margin-bottom: .35rem; }
body#checkout #conditions-to-approve .js-terms { display: block !important; line-height: 1.5; }
body#checkout #conditions-to-approve .float-xs-left { margin-top: .17em; }
body#checkout #conditions-to-approve .custom-checkbox { margin: 0; display: block; }
body#checkout #conditions-to-approve .float-xs-left { margin-top: .02em; }

/* ===== Images produit : photos 3:4, jamais rognées ===== */
.product-miniature .thumbnail-top { position: relative; aspect-ratio: 4 / 5; }
.product-miniature .product-thumbnail { position: absolute; inset: 0; display: block; }
.product-miniature .product-thumbnail img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: contain; padding: 1rem; }
.product-miniature .cv-noimg { position: absolute; inset: 0; }
/* Page produit : visuel plafonné, centré sur fond blanc */
#product .product-cover { position: relative; height: min(68vh, 600px); display: flex; align-items: center; justify-content: center; padding: 1.25rem; margin-bottom: 1rem; overflow: hidden; }
#product .product-cover img { width: 100%; height: 100% !important; max-width: none; object-fit: contain; }
#product .product-cover .layer { display: none; }
#product .product-images > li.thumb-container > .thumb { object-fit: contain; aspect-ratio: 3 / 4; width: 100%; height: auto; padding: .25rem; border: 1px solid var(--ligne); }
#product .product-images > li.thumb-container > .thumb.selected,
#product .product-images > li.thumb-container > .thumb:hover { border-color: var(--rouge); }
@media (max-width: 767px) { #product .product-cover { height: 58vh; } }

/* ===== Descriptions collées depuis Word / web : on neutralise les styles en ligne ===== */
#product .product-description, #product .product-description * ,
#product #description, #product #description * {
  background: transparent !important; color: var(--ardoise) !important;
  font-family: var(--sans) !important; text-align: left !important;
  letter-spacing: normal !important; word-spacing: normal !important;
}
#product #description .product-description { font-size: 1rem; line-height: 1.75; max-width: 68ch; }
#product #description .product-description p, #product #description .product-description span { font-size: inherit !important; line-height: inherit !important; }
#product #description .product-description a { color: var(--rouge) !important; }
#product .tabs .nav-link:focus { outline: none; box-shadow: none; }
#product .tabs .nav-link:focus-visible { outline: 2px solid var(--rouge); outline-offset: 3px; }

/* ===== En-tête v2 : logo | recherche | actions, puis menu pleine largeur sur une ligne ===== */
#header .header-top { padding: 1rem 0 0; }
.cv-top { flex-wrap: nowrap; gap: 2rem; padding-bottom: 1rem; }
.cv-search { flex: 1 1 auto; display: flex; justify-content: center; min-width: 0; }
.cv-search #search_widget { width: 100%; max-width: 30rem; }
.cv-search #search_widget form input[type=text] { padding-top: .65rem; padding-bottom: .65rem; }
.cv-actions { order: 0; }
.cv-menubar { border-top: 1px solid var(--ligne); border-bottom: 1px solid var(--ligne); background: var(--chaux); }
.cv-menubar .cv-menu { display: block; border: 0; padding: 0; order: 0; }
.cv-menubar .cv-menu::before, .cv-menubar .cv-menu::after { display: none; }
.cv-menubar #_desktop_top_menu { width: 100%; float: none; }
.cv-menubar #_desktop_top_menu .top-menu[data-depth="0"] { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 0; }
.cv-menubar .top-menu a[data-depth="0"] { display: block; position: relative; padding: .95rem .2rem; font-size: .9rem; font-weight: 500; letter-spacing: .01em; color: var(--ardoise); white-space: nowrap; }
.cv-menubar .top-menu a[data-depth="0"]::after { content: ""; position: absolute; left: .2rem; right: .2rem; bottom: -1px; height: 2px; background: var(--rouge); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.cv-menubar .top-menu > li:hover > a[data-depth="0"]::after,
.cv-menubar .top-menu > li.current > a[data-depth="0"]::after,
.cv-menubar .top-menu a[data-depth="0"]:focus-visible::after { transform: scaleX(1); }
.cv-menubar .top-menu > li.current > a[data-depth="0"] { color: var(--rouge); }
/* Bon cadeau : mis à part, en fin de ligne */
.cv-menubar #category-20 { margin-left: .5rem; padding-left: 1.5rem; border-left: 1px solid var(--ligne); }
.cv-menubar #category-20 > a[data-depth="0"] { color: var(--rouge); display: inline-flex; align-items: center; gap: .45rem; }
.cv-menubar #category-20 > a[data-depth="0"]::before { content: ""; width: 1rem; height: 1rem; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='13' rx='1'/%3E%3Cpath d='M3 12h18M12 8v13M12 8c-1.5-3-5-4-5-1.5S10 8 12 8zm0 0c1.5-3 5-4 5-1.5S14 8 12 8z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='13' rx='1'/%3E%3Cpath d='M3 12h18M12 8v13M12 8c-1.5-3-5-4-5-1.5S10 8 12 8zm0 0c1.5-3 5-4 5-1.5S14 8 12 8z'/%3E%3C/svg%3E") center / contain no-repeat; }
.cv-menubar .top-menu .sub-menu { margin-top: 0; }
@media (max-width: 1199px) {
  .cv-menubar .top-menu a[data-depth="0"] { font-size: .84rem; }
  .cv-menubar #category-20 { padding-left: 1rem; }
}
@media (max-width: 991px) {
  .cv-top { gap: 1.25rem; }
  .cv-brand__name small { display: none; }
  .cv-menubar .top-menu a[data-depth="0"] { font-size: .78rem; padding-left: .1rem; padding-right: .1rem; }
}
@media (max-width: 767px) {
  .cv-top { flex-wrap: wrap; padding-bottom: .8rem; }
  .cv-search { flex-basis: 100%; }
  .cv-search #search_widget { max-width: none; }
}

/* ===== Quantité + Réserver : un seul bloc, même hauteur ===== */
#product .product-quantity { display: flex; align-items: stretch; gap: .6rem; flex-wrap: nowrap; }
#product .product-quantity::before, #product .product-quantity::after { display: none; }
#product .product-quantity .qty, #product .product-quantity .add { float: none; margin: 0; height: 3.25rem; }
#product .product-quantity .qty .bootstrap-touchspin { display: flex; align-items: stretch; height: 100%; width: 6.5rem; background: #fff; border: 1px solid rgba(34, 32, 31, .28); border-radius: 2px; box-shadow: none; overflow: hidden; }
#product .product-quantity #quantity_wanted { flex: 1 1 auto; width: auto; min-width: 0; height: 100%; border: 0; border-radius: 0; background: transparent; text-align: center; font-family: var(--sans); font-size: 1.05rem; font-weight: 600; color: var(--ardoise); padding: 0 .25rem; -moz-appearance: textfield; }
#product .product-quantity #quantity_wanted::-webkit-outer-spin-button, #product .product-quantity #quantity_wanted::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#product .product-quantity #quantity_wanted:focus { outline: none; }
#product .product-quantity .bootstrap-touchspin:focus-within { border-color: var(--ardoise); outline: 2px solid var(--rouge); outline-offset: 0; }
#product .product-quantity .input-group-btn-vertical { display: flex; flex-direction: column; width: 2.1rem; flex: none; position: static; border-left: 1px solid var(--ligne); }
#product .product-quantity .input-group-btn-vertical .btn-touchspin { flex: 1 1 50%; height: auto; width: 100%; margin: 0; padding: 0; position: static; display: flex; align-items: center; justify-content: center; background: transparent; border: 0; border-radius: 0; color: var(--pave); }
#product .product-quantity .input-group-btn-vertical .bootstrap-touchspin-up { border-bottom: 1px solid var(--ligne); }
#product .product-quantity .input-group-btn-vertical .btn-touchspin:hover { background: var(--chaux); color: var(--rouge); }
#product .product-quantity .input-group-btn-vertical i { position: static; font-size: 1.1rem; line-height: 1; }
#product .product-quantity .add-to-cart { height: 100%; min-width: 12rem; padding: 0 2rem; font-size: 1rem; display: flex; align-items: center; justify-content: center; }
#product .product-quantity .add { flex: 0 1 auto; }
@media (max-width: 767px) { #product .product-quantity .add { flex: 1 1 auto; } #product .product-quantity .add-to-cart { width: 100%; min-width: 0; } }

/* ===== Survols : jamais le bleu de Classic ===== */
#header .cv-menubar .top-menu a[data-depth="0"] { color: var(--ardoise); }
#header .cv-menubar .top-menu a[data-depth="0"]:hover,
#header .cv-menubar .top-menu > li:hover > a[data-depth="0"],
#header .cv-menubar .top-menu > li.current > a[data-depth="0"],
#header .cv-menubar #category-20 > a[data-depth="0"] { color: var(--rouge); }
#header .top-menu .sub-menu a:hover, #header .top-menu a[data-depth="1"]:hover, #header .top-menu a[data-depth="2"]:hover { color: var(--rouge); }
#header a:hover, #header .user-info a:hover, #header .user-info a:hover .material-icons, #header .blockcart a:hover { color: var(--rouge); }
.dropdown-item:hover, .dropdown-item:focus, .page-link:hover, .breadcrumb li a:hover, .product-title a:hover,
.block-categories a:hover, #search_filters .facet .facet-label a:hover, .footer-container li a:hover,
#product .tabs .nav-link:hover, .material-icons:hover { color: var(--rouge); }
.btn-touchspin:hover, .bootstrap-touchspin .btn-touchspin:hover { background: var(--chaux); color: var(--rouge); }
::selection { background: var(--epicea); color: var(--ardoise); }

/* ===== Focus : pas d'anneau au clic souris, anneau rouge au clavier seulement ===== */
a:focus, button:focus, .btn:focus, [tabindex]:focus, summary:focus, .nav-link:focus { outline: none !important; box-shadow: none !important; }
a:focus-visible, button:focus-visible, .btn:focus-visible, [tabindex]:focus-visible, summary:focus-visible, .nav-link:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--rouge) !important; outline-offset: 3px; box-shadow: none !important; }
a, button { -webkit-tap-highlight-color: transparent; }
/* Classic enveloppe l'image principale dans <picture> : il doit remplir le cadre, sinon l'image garde sa hauteur native */
#product .product-cover picture { display: block; width: 100%; height: 100%; }
#product .product-cover picture img { display: block; width: 100% !important; height: 100% !important; object-fit: contain; }
#product .product-images picture { display: block; }
.product-miniature .product-thumbnail picture { position: absolute; inset: 0; display: block; }

/* ===== Mobile : bandeau sur une ligne, caractéristiques sur deux colonnes ===== */
@media (max-width: 767px) {
  .cv-strip .container { flex-direction: row; align-items: center; justify-content: center; padding-top: .45rem; padding-bottom: .45rem; }
  .cv-strip p { font-size: .78rem; text-align: center; margin: 0; }
  .cv-strip__more, .cv-strip a { display: none; }
  .cv-facts { grid-template-columns: 1fr 1fr !important; column-gap: 1rem; }
}

/* ===== Panier : sélecteur de quantité identique à la fiche produit ===== */
.cart-grid .bootstrap-touchspin { display: inline-flex !important; align-items: stretch; height: 2.6rem; width: 5.5rem; background: #fff; border: 1px solid rgba(34, 32, 31, .28); border-radius: 2px; box-shadow: none; overflow: hidden; float: none; }
.cart-grid .bootstrap-touchspin .js-cart-line-product-quantity { flex: 1 1 auto; width: auto !important; min-width: 0; height: 100%; border: 0; background: transparent; text-align: center; font-weight: 600; padding: 0 .2rem; float: none; }
.cart-grid .bootstrap-touchspin .input-group-btn-vertical { display: flex; flex-direction: column; width: 1.8rem; flex: none; position: static; border-left: 1px solid var(--ligne); }
.cart-grid .bootstrap-touchspin .btn-touchspin { flex: 1 1 50%; height: auto; width: 100%; margin: 0; padding: 0; position: static; display: flex; align-items: center; justify-content: center; background: transparent; border: 0; border-radius: 0; color: var(--pave); }
.cart-grid .bootstrap-touchspin .bootstrap-touchspin-up { border-bottom: 1px solid var(--ligne); }
.cart-grid .bootstrap-touchspin .btn-touchspin i { position: static; font-size: 1rem; line-height: 1; }
.cart-grid .bootstrap-touchspin .input-group-addon { display: none !important; }
.cart-item .product-line-grid-right .qty { display: flex; align-items: center; }
.cart-item .cart-line-product-actions .remove-from-cart, .cart-item .remove-from-cart i { color: var(--pave); }
.cart-item .remove-from-cart:hover i { color: var(--rouge); }
.cart-grid-right .cart-summary { background: #fff; border: 1px solid var(--ligne); padding: 1.25rem; }
.cart-grid-right .cart-summary .card-block, .cart-grid-right .cart-detailed-totals .card-block { padding: 0; }
.cart-grid-right .cart-summary-line { padding: .35rem 0; }
.cart-grid-right .cart-total { border-top: 1px solid var(--ligne); margin-top: .5rem; padding-top: .75rem; background: transparent; }
.cart-grid-right .checkout .btn { width: 100%; }
.cart-grid-right .block-promo { padding: .75rem 0 0; }
.cart-summary .card-block, .cart-summary .cart-summary-line, .cart-summary .cart-total, .cart-summary .card, .cart-detailed-totals, #js-checkout-summary .card-block { background: transparent !important; }
body#checkout .js-input-column .form-control, body#checkout .js-input-column .input-group { width: 100%; }
@media (max-width: 767px) { body#checkout .nav-inline { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; } body#checkout .nav-inline .nav-separator { display: none; } }
