/** Shopify CDN: Minification failed

Line 235:45 Unexpected "]"
Line 238:45 Unexpected "]"
Line 297:43 Unexpected "="

**/
* { -webkit-tap-highlight-color: transparent; }
.highlight-color { color: var(--BTN-SECONDARY-BG); }

/* =============== COMMON =============== */
.hero__description { display: grid; gap: 8px; }
.hero__description p { margin: 0; }
.hero__content__wrapper.frame__item { max-width: var(--content-max); margin-inline: auto; }
@media (min-width: 1441px) {
  .hero__content__wrapper.frame__item { max-width: calc(var(--content-max) - 20px); }
}

/* =============== HEADER =============== */
:is(header, .mobile-menu) .header_btn_wrapper { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
:is(header, .mobile-menu) .header_btn_wrapper .header_btn_badge { font-size: 0.625rem; background: var(--link); color: var(--COLOR-MENU-BG); padding: 0.125rem 0.375rem; border-radius: 0.25rem; }
header .header__desktop__upper { padding-bottom: 1rem; }
header .header__desktop__lower { border-top: 1px solid var(--border); }
header .header__menu .icon-nav-arrow-down { --icon-size: 18px; display: none; }
header .navlink:hover .icon-nav-arrow-down { transition: all 400ms ease-in-out; }
header hover-disclosure .navlink .icon-nav-arrow-down { display: none; }
header hover-disclosure[aria-expanded="true"] .navlink .icon-nav-arrow-down { transform: rotate(180deg); }

/* Frosted-glass effect on the transparent header (only while transparent & not scrolled) */
[data-header-transparent]:not(.js__header__stuck):not(.meganav--visible) .theme__header {
  background-color: rgba(0, 0, 0, 0.12);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
header .menu_collection_image_wrapper { border-radius: 4px; overflow: hidden; }
header .menu_collection_image_wrapper img { vertical-align: top; }
header .menu_list_wrapper { display: grid; }
header .menu_list_wrapper .navlink--grandchild { padding-block: 2.5px; }
header .menu_list_wrapper .navlink--grandchild + .navlink--grandchild { margin-top: 5px; }
header .block-collection { grid-column-start: 1; grid-column-end: -1; }
header .header__grandparent__links:has(.block-collection) { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
header .header__grandparent__links:has(.block-collection) .dropdown__family:not(.block-collection) .navlink svg { display: none; }
header .header__dropdown__image .image-wrapper { max-width: 311px; }
.header__wrapper[data-header-transparent] .header_btn_wrapper .header_btn_badge { color: var(--COLOR-HEADER-LINK); }
.header__wrapper[data-header-transparent]:is(.js__header__stuck, .meganav--visible) .header_btn_wrapper .header_btn_badge { color: var(--COLOR-MENU-BG); }
header .header__mobile { padding-bottom: 12px; }
.mobile-menu .header_drawer_custom_menu { display: grid; gap: 15px; }

/* =============== SLIDESHOW =============== */
.slideshow .hero__title { line-height: 1.1; }
.univers_slideshow.slideshow.index-hero .hero__content { --hero-content-width: 100%; width: 100%; flex-direction: unset; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px 1rem; }
.univers_slideshow .shopify-block:has(.breadcrumb) { width: 100%; margin-bottom: 8px; }
.univers_slideshow.slideshow .hero__title, .univers_slideshow .hero__description { width: 100%; }
@media (min-width: 990px) {
    .slideshow.index-hero .hero__content { --hero-content-width: 592px; }
    .univers_slideshow.slideshow .hero__content--transparent { padding: 64px 50px; }
    .univers_slideshow.slideshow .hero__title, .univers_slideshow .hero__description { max-width: 540px; }
}
@media (max-width: 749px) {
  .univers_slideshow .breadcrumb { justify-content: center; }
}

/* =============== BREADCRUMB =============== */
.index-image-text .breadcrumbs { padding: 0; margin: 0; }
.index-image-text .breadcrumbs a { text-transform: uppercase; transition: all 400ms ease-in-out; color: #A3A3A3; }
.index-image-text .breadcrumbs a:hover { color: var(--BTN-SECONDARY-BG); }
.index-image-text .breadcrumbs .breadcrumbs__arrow { background-color: transparent; position: relative; width: auto; height: auto; font-size: 0; opacity: 1; }
.index-image-text .breadcrumbs .breadcrumbs__arrow::before  { content: ""; display: inline-block; width: 0; height: 0; border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-left: 6px solid #A3A3A3; background: none !important; background-color: transparent !important; border-radius: 0 !important; box-shadow: none !important; }

/* =============== INSTAGRAM =============== */
.instagrm_section .hero__title { text-transform: lowercase; }
.instagrm_section .hero__rte { text-transform: uppercase; }

/* =============== DYNAMIC-CONTENT =============== */
.dynamic-content__wrapper .hero__title { max-width: 560px; margin-inline: auto; text-wrap: pretty; }
.dynamic-content__wrapper .hero__description { max-width: 636px; margin-inline: auto; }

/* =============== COLLECTION =============== */
.collection-item__info { display: flex; align-items: center; gap: 8px; }
@media (min-width: 750px) and (max-width: 989px) {
  .collection-item__info { gap: 4px; font-size: 15px; }
}

/* =============== ACCORDION =============== */
.faq .accordion-group__items { row-gap: 30px; }
.faq .accordion-group__items:has(.questions_wrapper) { grid-template-columns: 1fr; }
.faq .accordion-group__items .accordion__heading, .faq .accordion-group__items .accordion__heading * { margin: 0; }
.faq .accordion-group__items .accordion__heading { grid-column: auto;max-width: 430px; }
.faq .accordion-group__items .faq__header .btn { margin-top: 24px; }
.faq .accordion-group__items .accordion + .accordion { border-bottom: none; }
@media (min-width: 750px) {
  .faq .accordion-group__items.accordion-group-grid { grid-template-columns: repeat(2, 1fr); }
  .faq .accordion-group__items.accordion-group-grid .faq__header { position: sticky; top: calc(var(--header-height) + 30px); }
  .faq .accordion-group__items:not(.accordion-group-grid) .questions_wrapper { display: grid; column-gap: var(--gutter); grid-template-columns: repeat(var(--accordion-columns, 1), minmax(0, 1fr)); }
}
@media (min-width: 1400px) {
  .faq .accordion-group__items.accordion-group-grid { grid-template-columns: 1.15fr 0.85fr; }
}
@media (max-width: 749px) {
    .faq .accordion-group__items .faq__header .btn { margin-top: var(--gutter); }  
    .faq .accordion-group__items { row-gap: var(--gutter); }
}

/* =============== BREADCRUMB_BANNER =============== */
.breadcrumb_banner .hero__content { min-height: 100%; }
.breadcrumb_banner .hero__title { margin-top: auto; line-height: 1; }
@media (min-width: 750px) {
  .breadcrumb_banner .hero__content { padding: 64px 50px; }
}
@media (min-width: 990px) {
  .breadcrumb_banner  .hero__content { --hero-content-width: 754px; }
}

/* =============== FILTER_PRODUCT_COUNT =============== */
.collection-product-count { font-size: var(--font-body-small); line-height: 1; }


/* =============== INSTAFEED =============== */
.instafeed-new-layout-container { min-height: fit-content; }
@media (max-width: 989px) {
  #insta-feed .instafeed-new-layout-item { flex: 0 0 33.33%; min-height: 350px; }
}
@media (max-width: 750px) {
  #insta-feed .instafeed-new-layout-item { min-height: 220px; }
}
@media (max-width: 480px) {
  #insta-feed .instafeed-new-layout-item { flex: 0 0 50%; }
}

/* =============== PRODUCT-CARD =============== */
:is(.index-collections-list, .collection__products, .index-products) .grid { row-gap: 80px; }
.product-item, .product-item .product-information, .product-item .product-item__info, .product-item .product-link { display: flex; flex-direction: column; height: 100%; }
.product-item .product-link { justify-content: space-between; }
.product-item .product_card_text { margin-top: 8px; color: var(--text); }
.product-item .product_card_shipping_text, .product-item .new-price { display: flex; gap: 8px; align-items: center; line-height: 1; color: var(--text); }
.product-item .new-price { font-size: 14px; }
.product-item .new-price .price-box { background: #d6dad499; padding: 3px 5px; min-width: 59px; min-height: 25px; text-align: center; border-radius: 4px; overflow: hidden; line-height: 1; display: flex; justify-content: center; align-items: center; }
.product-item .product_card_bottom { border-top: 1px solid var(--border); display: flex; flex-wrap: wrap; align-items: center; column-gap: 30px; row-gap: 10px; justify-content: space-between; margin-top: 8px; padding-top: 16px; }
.product-item .product_card_shipping_text svg { --icons: var(--BTN-SECONDARY-BG); }
.product-item .product_card_bottom .product-item__price__holder { width: fit-content; }
.product-item .product_card_bottom:not(:has(.product_card_shipping_text)) .product-item__price__holder { margin-left: auto; }
@media (min-width: 750px) and (max-width: 989px) {
    .product-item .product_card_text { font-size: 14px; }
}
@media (min-width: 750px) {
    .grid-container .grid.grid--slider { gap: 0; }
}
@media (max-width: 989px) {
  :is(.index-collections-list, .collection__products, .index-products) .grid { row-gap: 50px; column-gap: 16px; }
}
@media (max-width: 749px) {
  :is(.index-collections-list, .collection__products, .index-products) .grid { row-gap: 30px; }
    .grid-container .grid.grid--mobile-slider { gap: 0; }
    .collection-block__wrapper .grid-outer { margin-right: -17px; }
    .collection-block__wrapper .grid.grid--mobile-slider { padding-left: 0; gap: 0; }
}


/* =============== CART =============== */
.cart__message { justify-content: center; --bg-accent: #FCFBF9; }
#cart-drawer .drawer__inner { --bg: #FCFBF9; }
#cart-drawer .drawer--cart { --inner: 32px; }
#cart-drawer .drawer__heading { color: var(--BTN-SECONDARY-BG); }
#cart-drawer .drawer__close { top: 52px; right: 32px; width: 40px; height: 40px; padding: 0; }
.cart__items-count:before { content: "("; }
.cart__items-count { display: none; }
.cart-block--top { padding-top: 100px; }
.cart-block--top p { margin: 16px 0 0; }
#cart-drawer .drawer__close .icon { width: 40px; height: 40px; }
.cart__item {padding-top: 24px;padding-bottom: 24px;gap: 20px;}
.cart__item__image { max-width: 208px; width: 100%; }
.cart__item__image a { width: 100%; height: 100%; }
.cart__item__image img { position: absolute; top: 0; left: 0; object-fit: cover; }
.cart__item__image .lazy-image { position: relative; padding-top: 69.715%; }
#cart-drawer .drawer .cart__item__content { flex: 1; padding: 0; grid-template-columns: unset; gap: 0; }
.cart__item__title { margin-bottom: 8px; }
.cart__item__selected-options, .cart__item__property { margin: 0 0 0 24px; list-style: disc; display: list-item; font-size: var(--FONT-SIZE-BASE); }
.cart__item__selected-options strong { font-weight: 400; }
.cart__price { font-size: 24px; line-height: 33px; font-weight: 700; margin: 20px 0 0; }
#cart-drawer .drawer .cart__item__content__right { display: none; }
.cart__item__content__left { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; }
#cart-drawer .drawer quantity-input {width: unset;}
.cart__item__content-inner { width: 100%; }
.cart__quantity-counter { display: flex; align-items: center; }
.cart__quantity { width: 88px; }
.cart__item__remove { margin: 0 0 0 16px; font-size: 14px; line-height: 19px; color: #212121; text-decoration: underline; text-underline-offset: 3px; font-family: var(--FONT-STACK-HEADING); font-style: var(--FONT-STYLE-HEADING); letter-spacing: var(--LETTER-SPACING-HEADING); text-transform: var(--FONT-UPPERCASE-HEADING); }
.cart__quantity button { width: 22px; }
.cart__quantity-field { padding: 3px 8px; font-size: var(--FONT-SIZE-BASE); line-height: 1; border-radius: 4px; }
.cart__quantity-minus { left: 8px; }
.cart__quantity-plus { right: 8px; }
#cart-drawer .cart__foot__inner { padding: var(--inner); display: flex; flex-direction: column; }
#cart-drawer .cart__total { justify-content: flex-end; margin-bottom: 0; gap: 8px; }
.cart__total__label { font-family: 'Nunito Sans'; font-size: 16px; line-height: 22px; font-weight: 400; text-transform: none; letter-spacing: 0; padding-right: 0; }
.cart__total__price { font-size: 24px; line-height: 33px; font-weight: 700; letter-spacing: 0; }
#cart-drawer .cart__checkout { margin: 0; }
.cart__view { margin-bottom: 0; }
.cart__buttons-all { display: flex; flex-direction: row-reverse; gap: 8px; margin-top: 24px; order: 1; }
#cart-drawer .drawer__foot .cart__note { font-size: 14px; line-height: 19px; letter-spacing: 0; color: #737373; text-align: right; }
#cart-drawer .cart__checkout svg { display: none; }
#cart-drawer .cart-block--top, #cart-drawer .cart__item { border: none; position: relative; }
#cart-drawer .cart-block--top::before, #cart-drawer .cart__item::before { content: ''; position: absolute; left: 32px; bottom: 0; width: calc(100% - 64px); height: 1px; background: var(--border); }
@media (max-width: 1399px) {
    .cart__price { font-size: 20px; line-height: 22px; }
}
@media (max-width: 749px) {
    .cart-block--top { padding-top: 70px; }
    #cart-drawer .drawer__close { top: 32px; right: 17px; width: 30px; height: 30px; }
    #cart-drawer .drawer__close .icon { width: 30px; height: 30px; }
    #cart-drawer .cart-block--top, #cart-drawer .cart__item { padding-inline: 17px; }
    #cart-drawer .cart-block--top::before,
    #cart-drawer .cart__item::before { left: 17px; width: calc(100% - 34px); }
    .cart__item__image { max-width: 150px; }
    .cart__item__remove { font-size: 12px; line-height: 16px; }
    #cart-drawer .cart__foot__inner { padding: 17px; }
    .cart__item__title a { font-size: 18px; }
}

@media (max-width: 575px) {
    #cart-drawer quantity-input { width: 100%; margin-top: 12px; }
    .cart__item { align-items: flex-start; }
}
@media (max-width: 480px) {
    .cart__item__image { max-width: 100px; }
    .cart__item__title a { font-size: 16px; }
    .cart__price { font-size: 18px; line-height: 20px; }
    .cart__total__price { font-size: 20px; line-height: 28px; }
    .cart__buttons-all { flex-direction: column; }
}

/* =============== SLIDER BUTTONS & CARD-ITEMS =============== */
.desktop-slider-enable .grid-container--inline { padding: 0; }
.desktop-slider-enable .grid-container:has(.slider__arrows) .grid__heading-holder { display: block; }
.desktop-slider-enable .slider__arrows { top: 0; margin-top: -79px; right: 16px !important; bottom: auto; left: auto; display: flex; gap: 8px; align-items: center; }
.desktop-slider-enable .slider__button { background-color: var(--COLOR-BORDER); border: 1px solid #D6DAD4; transform: none; opacity: 1; position: relative; inset: unset; margin: 0; box-shadow: none; }
.desktop-slider-enable .slider__buttonisabled] { opacity: 1; visibility: visible; background: transparent; border-color: var(--COLOR-BORDER); }
.desktop-slider-enable .slider__arrows { overflow: unset; }
.desktop-slider-enable .slider__button:before { --icon-size: 18px; }
.desktop-slider-enable .slider__buttonisabled]:before { background: var(--COLOR-BORDER); }
.desktop-slider-enable .grid--slider .grid-item { flex: 0 0 31.74%; max-width: unset; --gap: 32px; flex-shrink: 0; height: auto; }
@media (min-width: 750px) {
    .desktop-slider-enable .slider__arrows { right: 30px !important; }
}
@media (min-width: 990px) {
    .desktop-slider-enable .slider__arrows { right: 50px !important; }
    .desktop-slider-enable .grid-container.wrapper--full-padded .slider__arrows { right: 50px !important; }
}
@media (min-width: 1540px) {
    .desktop-slider-enable .slider__arrows { right: calc(calc(100vw - var(--content-max)) / 2) !important; }
}
@media (max-width: 767px) {
  .desktop-slider-enable .grid--slider .grid-item { flex: 0 0 45%; --gap: 16px; }
  .desktop-slider-enable .grid--mobile-slider .grid-item { flex: 0 0 45%; --gap: 16px; }
}
@media (max-width: 575px) {
  .desktop-slider-enable .grid--slider .grid-item { flex: 0 0 calc(100% - 50px); }
  .desktop-slider-enable grid--mobile-slider .grid-item { flex: 0 0 calc(100% - 50px); }
}


/* =============== SLIDER-SPACING =============== */
.grid-container--inline .grid-outer { overflow: visible !important; }
.grid-container.wrapper:has(.grid--slider){ margin-right: 0 !important; }
.grid-container.wrapper .grid--slider { padding-left: 0 !important; padding-right: 16px !important; margin-left: 0 !important; margin-right: -16px !important; }
.grid-container.wrapper .grid--slider .grid-item:last-child { margin-right: 0 !important; }
.grid--slider::after, .grid--mobile-slider::after { display: none; }
@media (min-width: 750px) {
    .grid-container.wrapper .grid--slider { padding-right: 30px !important; margin-right: -30px !important; }
}
@media (min-width: 990px) {
    .grid-container.wrapper .grid--slider { padding-right: 50px !important; margin-right: -50px !important; }
}
@media (min-width: 1540px) {
    .grid-container.wrapper:has(.grid--slider){ max-width: calc(((100vw - var(--content-max)) / 2) + var(--content-max)) !important; }
}
@media (min-width: 750px) and (max-width: 989px) {
    .grid--slider .grid-item { margin-right: 16px; }
}


/* =============== COLLECTION-LISTING PAGE =============== */
.index-list-collections .index-products .grid-outer { padding-inline: 0; }
@media (min-width: 1440px) {
  .index-list-collections .collection-block__content { margin-left: calc((100vw - var(--content-max)) / 2) !important; padding-left: 50px !important; }
}
@media (max-width: 749px) {
    .index-list-collections .index-products .grid-outer { padding-right: 17px; }
    .index-list-collections .index-products .grid--mobile-slider { padding-inline: 17px; }
}


/* =============== POLICY PAGES =============== */
:is(#mentions-legales, #politique-de-confidentialite, #conditions-generales-de-vente) .index-page :is(h3, h4, h5) { margin-top: 20px !important; }

/* =============== GRILLES 2 COLONNES : RATIO PAYSAGE 4:3 =============== */
/* Force toutes les page-grid-section en 2 colonnes à afficher
   les images en format paysage 4:3 (au lieu du carré 1:1 par défaut). */
.page-grid-section__gridata-columns-desktop="2"] .product-item__image {
    padding-top: 75% !important;
    aspect-ratio: 4 / 3 !important;
}


/* =============== SÉLECTEUR "CHOIX DE PAPIER" - LAYOUT VERTICAL =============== */
/* Liste verticale, 1 papier par ligne, sans image, pastille à GAUCHE.
   Titre + description (depuis metafield custom.details_des_papiers) au centre, prix à droite. */

.radio__buttons:has(.variant_info--paper) {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px;
    align-items: stretch !important;
}

.radio__buttons:has(.variant_info--paper) > .radio__button.image_variant {
    width: 100% !important;
    height: auto !important;
    background-color: transparent !important;
    border: 1px solid var(--COLOR-BORDER, #D6DAD4) !important;
    border-radius: 12px !important;
    color: var(--text) !important;
    overflow: hidden !important;
}

.radio__buttons:has(.variant_info--paper) > .radio__button.image_variant:has(input:checked) {
    background-color: #EAEAEA !important;
    border-color: #B79858 !important;
}

/* Cacher l'image produit dans les cards du sélecteur Papier */
.radio__buttons:has(.variant_info--paper) > .radio__button.image_variant label > img {
    display: none !important;
}

.radio__buttons:has(.variant_info--paper) > .radio__button.image_variant > label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px;
    height: auto !important;
    padding: 16px 20px;
    background-color: transparent !important;
    color: var(--text) !important;
    border: none !important;
}

/* Pastille check : pastille ronde, sortie du flow absolute du thème */
.radio__buttons:has(.variant_info--paper) .variant_checkbox {
    position: static !important;
    top: auto !important; right: auto !important; left: auto !important; bottom: auto !important;
    transform: none !important;
    order: 0;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid #D6DAD4;
    background-color: transparent;
    transition: all 0.2s ease;
}

.radio__buttons:has(.variant_info--paper) > .radio__button:has(input:checked) .variant_checkbox {
    background-color: #B79858 !important;
    border-color: #B79858 !important;
}

.radio__buttons:has(.variant_info--paper) > .radio__button:not(:has(input:checked)) .variant_checkbox svg {
    opacity: 0;
}

/* variant_info--paper : grid 2 colonnes (info à gauche, prix à droite) */
.variant_info--paper {
    order: 1;
    flex: 1 !important;
    display: grid !important;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 4px;
    align-items: start;
    text-align: left;
    background: transparent !important;
}

.variant_info--paper .option-title {
    grid-column: 1;
    grid-row: 1;
    font-weight: var(--font-weight-body-bold, 700);
    color: var(--text) !important;
}

.variant_info--paper .variant_dimensions {
    grid-column: 1;
    grid-row: 2;
    display: block;
    color: var(--text) !important;
    opacity: 0.85;
}

.variant_info--paper .variant_price {
    grid-column: 2;
    grid-row: 1 / span 2;
    font-weight: var(--font-weight-body-bold, 700);
    white-space: nowrap;
    align-self: center;
    color: var(--text) !important;
}


/* =============== SÉLECTEUR "VALEURS" (CARTE CADEAU) - LAYOUT VERTICAL =============== */
/* Liste verticale, 1 valeur par ligne, pastille ronde à GAUCHE, montant à côté. */

.selector-wrapper:has(.variant_info--value) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
}

.selector-wrapper:has(.variant_info--value) .radio__fieldset {
    width: 100% !important;
}

.selector-wrapper:has(.variant_info--value) .radio__legend {
    margin-bottom: 12px !important;
    display: block !important;
}

/* Cacher la valeur brute redondante "€100.00" dans le legend */
.selector-wrapper:has(.variant_info--value) .radio__legend__value {
    display: none !important;
}

.radio__buttons:has(.variant_info--value) {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px;
    align-items: stretch !important;
}

.radio__buttons:has(.variant_info--value) > .radio__button {
    width: 100% !important;
    height: auto !important;
    background-color: transparent !important;
    border: 1px solid var(--COLOR-BORDER, #D6DAD4) !important;
    border-radius: 12px !important;
    color: var(--text) !important;
    overflow: hidden !important;
}

.radio__buttons:has(.variant_info--value) > .radio__button:has(input:checked) {
    background-color: #EAEAEA !important;
    border-color: #B79858 !important;
    color: var(--text) !important;
}

.radio__buttons:has(.variant_info--value) > .radio__button > label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px;
    height: auto !important;
    width: 100% !important;
    padding: 16px 20px;
    background-color: transparent !important;
    color: var(--text) !important;
    border: none !important;
}

.radio__buttons:has(.variant_info--value) .variant_checkbox {
    position: static !important;
    top: auto !important; right: auto !important; left: auto !important; bottom: auto !important;
    transform: none !important;
    order: 0;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid #D6DAD4;
    background-color: transparent;
    transition: all 0.2s ease;
}

.radio__buttons:has(.variant_info--value) > .radio__button:has(input:checked) .variant_checkbox {
    background-color: #B79858 !important;
    border-color: #B79858 !important;
}

.radio__buttons:has(.variant_info--value) > .radio__button:not(:has(input:checked)) .variant_checkbox svg {
    opacity: 0;
}

.variant_info--value {
    order: 1;
    flex: 1 !important;
    display: flex !important;
    align-items: center;
    text-align: left;
    background: transparent !important;
}

.variant_info--value .option-title {
    font-weight: var(--font-weight-body-bold, 700);
    font-size: 18px;
    color: var(--text) !important;
}

/* Override theme.css qui force text-transform: lowercase sur les descriptions
   de papier dans le sélecteur. On garde la casse du JSON metafield. */
.radio__fieldset:has(.image_variant) .radio__button .variant_info--paper .variant_dimensions {
    text-transform: none !important;
}

/* Carte cadeau : forcer le label "Valeurs" au-dessus des options (pas à gauche).
   Le thème met .radio__fieldset en grid 2 colonnes (120px / reste) ; on annule. */
.radio__fieldset:has(.variant_info--value) {
    display: block !important;
    grid-template-columns: none !important;
}


/* =============== FICHE PRODUIT : BLOC PRIX =============== */

/* Masquer "Taxes incluses." sur toutes les fiches produits */
.product__tax {
    display: none !important;
}

/* Styler le prix principal : Nunito Sans Bold 24px */
.product__price .price-item--regular,
.product__price .price-item--sale {
    font-family: "Nunito Sans", sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 100% !important;
}

/* Styler le préfixe "À partir de" : Nunito Sans Regular 16px */
.product__price .price-prefix {
    font-family: "Nunito Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 100% !important;
    margin-right: 8px;
    display: inline-block;
    vertical-align: middle;
}


/* =============== SIDE CART : PADDING HORIZONTAL =============== */
/* Le side cart natif n'a aucun padding-right, ce qui colle le bloc
   prix/quantité/supprimer au bord droit et le coupe sur petits écrans. */
.drawer--cart .drawer__inner {
    padding-right: 24px;
    padding-left: 24px;
    box-sizing: border-box;
}

/* Sécurité : si .drawer__items a son propre padding interne, on uniformise */
.drawer--cart .drawer__items {
    padding-right: 0;
    padding-left: 0;
}


/* =============== MOBILE : MASQUER LA SECTION "ACHETEZ LE LOOK" =============== */
/* Sur mobile, l'usage du shop-the-look est confus. On masque toute la section. */
@media only screen and (max-width: 749px) {
    .custom-shop-look-section {
        display: none !important;
    }
}


/* =============== MEGA MENU : TITRES DE FAMILLE SUR UNE LIGNE =============== */
/* Les titres de famille (PAR COUVERTURE, PAR OCCASIONS, PAR FORMAT, etc.)
   ne doivent pas passer sur 2 lignes quand une icône les précède. */
.dropdown__family .menu_list_wrapper .navlink--child .navtext {
    white-space: nowrap;
}


/* =============== MEGA MENU : ÉVITER QUE L'ICÔNE SOIT COUPÉE =============== */
/* Forcer la taille du wrapper et de l'image, et désactiver overflow:hidden
   qui couperait le SVG en bas. */
.menu_collection_image_wrapper {
    width: 32px !important;
    height: 32px !important;
    overflow: visible !important;
    flex-shrink: 0;
}
.menu_collection_image_wrapper img {
    width: 32px !important;
    height: 32px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain;
    display: block;
    border-radius: 4px;
}


/* =============== PRODUCT CARD : MASQUER LE BOUTON "VOIR CE PRODUIT" =============== */
/* Sur toutes les cards produits du site (collections, pages, etc.).
   On masque les 2 versions : overlay desktop + mobile sous le prix. */
.product_url_btn {
    display: none !important;
}


/* =============== POPUP "CHOISIR MON THÈME" (mc-theme-picker) =============== */
/* Layout responsive : 4 colonnes sur desktop, 3 sur tablette, 2 sur mobile.
   Cards en format presque carré (1:1 sur la zone image), titre EN DESSOUS,
   image zoomée pour que le livre prenne un max de place. */
.mc-theme-picker .mc-theme-picker__panel,
.mc-theme-picker .mc-theme-picker__body,
.mc-theme-picker .mc-theme-picker__content {
    box-sizing: border-box;
}

/* Base — desktop ≥ 990px : 4 colonnes */
.mc-theme-picker .mc-theme-picker__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 1.5rem !important;
    box-sizing: border-box;
}
.mc-theme-picker .mc-theme-picker__grid > li {
    width: 100% !important;
    min-width: 0 !important;
}
.mc-theme-picker .mc-theme-picker__card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    border-width: 0.8px !important;
    box-sizing: border-box !important;
}
.mc-theme-picker .mc-theme-picker__card-image {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    width: 100% !important;
    overflow: hidden !important;
}
.mc-theme-picker .mc-theme-picker__card-image img {
    transform: scale(1.5) !important;
}

/* Tablette — 750px à 989px : 3 colonnes */
@media screen and (max-width: 989px) and (min-width: 750px) {
    .mc-theme-picker .mc-theme-picker__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 1.25rem !important;
    }
}

/* Mobile — < 750px : 2 colonnes */
@media screen and (max-width: 749px) {
    .mc-theme-picker .mc-theme-picker__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1rem !important;
    }
    .mc-theme-picker .mc-theme-picker__body {
        padding: 1rem !important;
    }
}


/* =============== SHOP THE LOOK : éviter les coupures de mots dans les cards =============== */
/* Le thème applique word-break: break-all sur le H5 du lookpoint, ce qui 
   coupe les mots n'importe où (ex: "SOUVENIRS" → "SOUV / ENIRS"). */
.look-card .look-card-details h5 {
    word-break: normal !important;
    overflow-wrap: break-word !important;
}
/* Cacher l'icône check sur les boutons variant standard (sans image/paper/value) */
.radio__fieldset .radio__button .variant_checkbox {
  display: none;
}

/* =============== COLLECTION CARD : IMAGE AU HOVER (FADE) =============== */
/* Quand un block collection_card a un setting hover_image rempli,
   on superpose une 2ème image qui apparaît en fondu au survol. */
.collection-item__bg-inner {
    position: relative;
}
.collection-item__hover-image {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}
.collection-item__hover-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.collection-item:hover .collection-item__hover-image,
a:hover .collection-item__hover-image {
    opacity: 1;
}

