.elementor-183170101 .elementor-element.elementor-element-19c5617:not(.elementor-motion-effects-element-type-background), .elementor-183170101 .elementor-element.elementor-element-19c5617 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("/img/cms/Sans%20titre.png");}.elementor-183170101 .elementor-element.elementor-element-19c5617 .elementor-background-overlay{filter:brightness(100%) contrast(100%) saturate(100%) blur(0px) hue-rotate(0deg);}.elementor-183170101 .elementor-element.elementor-element-19c5617{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-183170101 .elementor-element.elementor-element-19c5617 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-183170101 .elementor-element.elementor-element-f11dc9a.elementor-column .elementor-column-wrap{align-items:center;}.elementor-183170101 .elementor-element.elementor-element-f11dc9a.elementor-column.elementor-element[data-element_type="column"] > .elementor-column-wrap.elementor-element-populated > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-bc-flex-widget .elementor-183170101 .elementor-element.elementor-element-7c1629c.elementor-column .elementor-column-wrap{align-items:center;}.elementor-183170101 .elementor-element.elementor-element-7c1629c.elementor-column.elementor-element[data-element_type="column"] > .elementor-column-wrap.elementor-element-populated > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-183170101 .elementor-element.elementor-element-d7624e1 .elementor-icon-list-icon i{font-size:14px;}.elementor-183170101 .elementor-element.elementor-element-d7624e1 .elementor-icon-list-icon svg{width:14px;}.elementor-183170101 .elementor-element.elementor-element-d7624e1{--icon-vertical-offset:0px;}.elementor-183170101 .elementor-element.elementor-element-d7624e1 .elementor-icon-list-text{transition:color 0.3s;}.elementor-bc-flex-widget .elementor-183170101 .elementor-element.elementor-element-7ae4f6f.elementor-column .elementor-column-wrap{align-items:center;}.elementor-183170101 .elementor-element.elementor-element-7ae4f6f.elementor-column.elementor-element[data-element_type="column"] > .elementor-column-wrap.elementor-element-populated > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-183170101 .elementor-element.elementor-element-23415f5 .elementor-search__container{min-height:50px;border-radius:3px;}.elementor-183170101 .elementor-element.elementor-element-23415f5 .elementor-search__submit{min-width:50px;}.elementor-183170101 .elementor-element.elementor-element-23415f5 .elementor-search__icon, .elementor-183170101 .elementor-element.elementor-element-23415f5 .elementor-search__input, .elementor-183170101 .elementor-element.elementor-element-23415f5.elementor-search--button-type-text .elementor-search__submit{padding:0 calc(50px / 3);}.elementor-183170101 .elementor-element.elementor-element-23415f5:not(.elementor-search--skin-topbar) .elementor-search__products{width:400px !important;}.elementor-183170101 .elementor-element.elementor-element-23415f5.elementor-search--skin-topbar .elementor-search__container{border-width:0 calc(50vw - 400px / 2);}.elementor-bc-flex-widget .elementor-183170101 .elementor-element.elementor-element-82a3fd4.elementor-column .elementor-column-wrap{align-items:center;}.elementor-183170101 .elementor-element.elementor-element-82a3fd4.elementor-column.elementor-element[data-element_type="column"] > .elementor-column-wrap.elementor-element-populated > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-183170101 .elementor-element.elementor-element-3499e96 .elementor-icon-list-icon i{font-size:14px;}.elementor-183170101 .elementor-element.elementor-element-3499e96 .elementor-icon-list-icon svg{width:14px;}.elementor-183170101 .elementor-element.elementor-element-3499e96{--icon-vertical-offset:0px;}.elementor-183170101 .elementor-element.elementor-element-3499e96 .elementor-icon-list-text{transition:color 0.3s;}.elementor-bc-flex-widget .elementor-183170101 .elementor-element.elementor-element-ac08fd8.elementor-column .elementor-column-wrap{align-items:center;}.elementor-183170101 .elementor-element.elementor-element-ac08fd8.elementor-column.elementor-element[data-element_type="column"] > .elementor-column-wrap.elementor-element-populated > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-bc-flex-widget .elementor-183170101 .elementor-element.elementor-element-975d420.elementor-column .elementor-column-wrap{align-items:center;}.elementor-183170101 .elementor-element.elementor-element-975d420.elementor-column.elementor-element[data-element_type="column"] > .elementor-column-wrap.elementor-element-populated > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-183170101 .elementor-element.elementor-element-d42687a .elementor-button-content-wrapper{gap:8px;}.elementor-183170101 .elementor-element.elementor-element-d42687a .elementor-button-text{flex-grow:min(0, 8);}.elementor-bc-flex-widget .elementor-183170101 .elementor-element.elementor-element-64f12a8.elementor-column .elementor-column-wrap{align-items:center;}.elementor-183170101 .elementor-element.elementor-element-64f12a8.elementor-column.elementor-element[data-element_type="column"] > .elementor-column-wrap.elementor-element-populated > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-bc-flex-widget .elementor-183170101 .elementor-element.elementor-element-8d77bb9.elementor-column .elementor-column-wrap{align-items:center;}.elementor-183170101 .elementor-element.elementor-element-8d77bb9.elementor-column.elementor-element[data-element_type="column"] > .elementor-column-wrap.elementor-element-populated > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-183170101 .elementor-element.elementor-element-348a1fb .elementor-button-content-wrapper{gap:8px;}.elementor-183170101 .elementor-element.elementor-element-348a1fb .elementor-button-text{flex-grow:min(0, 8);}#header{box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);}/* Start custom CSS for page-settings */:root {
  --aw-purple: #6436ff;
  --aw-purple-deep: #32138f;
  --aw-blue: #101a44;
  --aw-muted: #eff3fb;
  --aw-gold: #d59222;
  --aw-line: #e5e9f4;
  --aw-wide: 1800px;
  --aw-content: 1560px;
  --aw-gutter: clamp(24px, 4vw, 64px);
}
html { overflow-x: hidden; }
body { margin: 0; color: var(--aw-blue); background: #fff; overflow-x: hidden; }
body, button, input, select, textarea, .elementor-widget { font-family: "Inter", "Montserrat", Arial, sans-serif; letter-spacing: 0; }
.elementor-section.elementor-section-stretched { left: 0 !important; right: auto !important; width: 100% !important; max-width: 100vw !important; }
.aw-hero, .aw-catalog-strip, .aw-family-section, .aw-product-carousel-section,
.aw-about-section, .aw-page-hero, .aw-category-dynamic, .aw-listing-layout,
.aw-list-description, .aw-product-main, .aw-product-related, .aw-newsletter,
.aw-feature-bar, .aw-footer-main {
  left: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc((100% - 100vw) / 2) !important;
  margin-right: 0 !important;
}
.aw-topbar, .aw-navrow, .aw-catalog-strip, .aw-family-section, .aw-product-carousel-section,
.aw-about-section, .aw-page-hero, .aw-listing-layout, .aw-product-main, .aw-footer-main,
.aw-feature-bar, .aw-newsletter { width: 100%; }
.aw-topbar > .elementor-container,
.aw-navrow > .elementor-container,
.aw-catalog-strip > .elementor-container,
.aw-feature-bar > .elementor-container,
.aw-footer-main > .elementor-container { width: min(var(--aw-wide), calc(100% - var(--aw-gutter) * 2)); max-width: var(--aw-wide); }
.aw-family-section > .elementor-container,
.aw-product-carousel-section > .elementor-container,
.aw-about-section > .elementor-container,
.aw-listing-layout > .elementor-container,
.aw-product-main > .elementor-container,
.aw-product-related > .elementor-container,
.aw-category-dynamic > .elementor-container,
.aw-list-description > .elementor-container { width: min(var(--aw-content), calc(100% - var(--aw-gutter) * 2)); max-width: var(--aw-content); }
.aw-topbar { background: var(--aw-purple); min-height: 48px; color: #fff; }
.aw-topbar .elementor-row, .aw-navrow .elementor-row { align-items: center; flex-wrap: nowrap; }
.aw-logo .elementor-heading-title { margin: 0; color: #fff; font-weight: 900; font-style: italic; font-size: clamp(27px, 2.2vw, 42px); line-height: 1; }
.aw-logo .elementor-heading-title:before { content: ""; display: inline-block; width: .82em; height: .82em; border-radius: 50%; background: #fff; margin-right: -0.08em; vertical-align: -.04em; }
.aw-contact-line .elementor-icon-list-items,
.aw-top-actions .elementor-icon-list-items { display: flex; align-items: center; gap: clamp(14px, 1.2vw, 26px); flex-wrap: nowrap; }
.aw-contact-line .elementor-icon-list-text,
.aw-top-actions .elementor-icon-list-text { color: #fff; font-size: 13px; white-space: nowrap; }
.aw-search .elementor-search-form, .aw-search form { max-width: 520px; margin: 0 auto; }
.aw-search input, .aw-search .elementor-search-form__input { height: 39px; border: 0; border-radius: 4px; background: #fff; color: var(--aw-purple); padding: 0 48px 0 24px; }
.aw-top-cart .elementor-cart__toggle .elementor-button,
.aw-signin .elementor-button { color: #fff; background: transparent; border: 0; padding: 0; box-shadow: none; }
.aw-navrow { background: #fff; min-height: 49px; box-shadow: 0 2px 10px rgba(13, 21, 60, .12); position: relative; z-index: 20; }
.aw-catalog-button .elementor-button { height: 49px; border-radius: 0; background: #fff; color: var(--aw-purple); font-weight: 800; padding: 0 24px; }
.aw-family-button .elementor-button { height: 49px; min-width: 245px; border-radius: 0; background: var(--aw-gold); color: #fff; font-weight: 700; padding: 0 26px; }
.aw-atm-shortcode { flex: 1 1 auto; min-width: 0; }
.aw-atm-shortcode .elementor-widget-container { width: 100%; }
#adtm_menu, #adtm_menu_inner, #adtm_menu ul#menu { width: 100% !important; background: #fff !important; border: 0 !important; box-shadow: none !important; }
#adtm_menu { margin: 0 !important; z-index: 40 !important; }
#adtm_menu ul#menu { display: flex !important; align-items: center !important; justify-content: flex-start !important; min-height: 49px !important; padding: 0 !important; gap: 0 !important; }
#adtm_menu .li-niveau1 { float: none !important; display: flex !important; align-items: center !important; min-height: 49px !important; line-height: 49px !important; }
#adtm_menu .advtm_menu_toggle { display: none !important; }
#adtm_menu .li-niveau1 > .adtm_hummingbird_menu_item { display: flex !important; height: 49px !important; align-items: center !important; }
#adtm_menu .li-niveau1 > a.a-niveau1 { min-height: 49px !important; line-height: 49px !important; padding: 0 clamp(11px, .9vw, 20px) !important; color: #5e5e65 !important; font-size: clamp(13px, .76vw, 15px) !important; font-weight: 600 !important; background: transparent !important; border: 0 !important; white-space: nowrap; }
#adtm_menu .li-niveau1 > .adtm_hummingbird_menu_item > a.a-niveau1 { min-height: 49px !important; line-height: 49px !important; padding: 0 clamp(11px, .9vw, 20px) !important; color: #5e5e65 !important; font-size: clamp(13px, .76vw, 15px) !important; font-weight: 600 !important; background: transparent !important; border: 0 !important; white-space: nowrap; outline: 0 !important; box-shadow: none !important; text-decoration: none !important; }
#adtm_menu .li-niveau1:hover > a.a-niveau1,
#adtm_menu .li-niveau1:hover > .adtm_hummingbird_menu_item > a.a-niveau1,
#adtm_menu .li-niveau1 > a.a-niveau1.advtm_menu_actif { color: var(--aw-purple) !important; background: #fff !important; }
#adtm_menu .adtm_sub { top: 49px !important; border: 0 !important; border-radius: 0 0 4px 4px; box-shadow: 0 18px 46px rgba(14, 18, 50, .16); padding: 16px 18px !important; background: #fff !important; display: none !important; visibility: hidden !important; opacity: 0; pointer-events: none; }
#adtm_menu .li-niveau1:hover > .adtm_sub,
#adtm_menu .li-niveau1:focus-within > .adtm_sub { display: block !important; visibility: visible !important; opacity: 1; pointer-events: auto; }
#adtm_menu table.columnWrapTable { width: 100%; }
#adtm_menu .adtm_column_wrap_td { padding: 0 14px !important; vertical-align: top; }
#adtm_menu .adtm_column > a { color: var(--aw-gold) !important; font-weight: 800 !important; text-transform: uppercase; font-size: 12px !important; }
#adtm_menu .adtm_elements li a { color: #6c6f88 !important; font-size: 13px !important; line-height: 1.45 !important; padding: 7px 0 !important; }
#adtm_menu .adtm_elements li a:hover { color: var(--aw-purple) !important; }
.aw-hero { min-height: 500px; background-position: center; background-size: cover; position: relative; display: flex; align-items: center; }
.aw-hero:before, .aw-page-hero:before { content: ""; position: absolute; inset: 0; background: rgba(10, 13, 58, .55); }
.aw-hero > .elementor-container, .aw-page-hero > .elementor-container { position: relative; z-index: 1; }
.aw-hero-title .elementor-heading-title { color: #fff; font-size: clamp(40px, 3vw, 60px); line-height: 1.05; font-weight: 400; }
.aw-hero-title strong { font-weight: 900; }
.aw-hero-subtitle .elementor-heading-title { color: #fff; font-size: clamp(15px, 1vw, 22px); text-transform: uppercase; letter-spacing: .22em; }
.aw-btn-gold .elementor-button { background: var(--aw-gold); color: #fff; border-radius: 0; min-height: 54px; padding: 0 34px; font-weight: 700; }
.aw-catalog-strip { background: linear-gradient(110deg, #572bff, #3a19bf); color: #fff; }
.aw-catalog-strip .elementor-container { min-height: 104px; }
.aw-catalog-strip-text p { margin: 0; color: #fff; font-size: 15px; line-height: 1.6; }
.aw-download-card .elementor-button { background: transparent; color: #fff; font-size: 22px; font-weight: 800; text-align: left; }
.aw-family-section { background: var(--aw-muted); padding: 82px 0 102px; }
.aw-section-title .elementor-heading-title { color: #262d61; font-size: 24px; font-weight: 500; line-height: 1.18; margin-bottom: 50px; }
.aw-section-title strong { color: var(--aw-purple); font-weight: 900; }
.aw-family-section > .elementor-container > .elementor-row { display: grid !important; grid-template-columns: 260px repeat(3, minmax(0, 1fr)); gap: 10px; align-items: stretch; }
.aw-family-title-col { grid-column: 1 / -1; width: auto !important; }
.aw-family-section .elementor-column { width: auto !important; min-width: 0; }
.aw-catalog-card-col { grid-row: span 2; }
.aw-family-card-col .elementor-widget-wrap,
.aw-catalog-card-col .elementor-widget-wrap { min-height: 132px; align-content: center; border-radius: 8px; box-shadow: 0 2px 9px rgba(20,29,74,.08); padding: 26px 32px; background: #fff; }
.aw-catalog-card-col .elementor-widget-wrap { min-height: 274px; background: linear-gradient(145deg, #4f25ff, #6b38ff); color: #fff; }
.aw-family-card-featured .elementor-widget-wrap { background: var(--aw-gold); }
.aw-catalog-card-title .elementor-heading-title,
.aw-catalog-card-text p { color: #fff; }
.aw-catalog-card-title .elementor-heading-title { font-size: 20px; line-height: 1.08; font-weight: 900; margin: 0 0 10px; }
.aw-catalog-card-text p { font-size: 13px; line-height: 1.35; margin: 0; }
.aw-catalog-card-button .elementor-button { margin-top: 16px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.4); color: #fff !important; }
.aw-family-card .elementor-icon-box-wrapper { display: flex; align-items: flex-start; gap: 14px; }
.aw-family-card .elementor-icon { color: var(--aw-gold); font-size: 22px; line-height: 1; }
.aw-family-card .elementor-icon-box-title,
.aw-family-card .elementor-icon-box-title a { color: var(--aw-gold) !important; font-size: 17px; line-height: 1.12; font-weight: 900; margin: 0 0 10px; }
.aw-family-card .elementor-icon-box-description { color: #26305e; font-size: 13px; line-height: 1.34; margin: 0; }
.aw-family-card-featured .elementor-icon,
.aw-family-card-featured .elementor-icon-box-title,
.aw-family-card-featured .elementor-icon-box-title a,
.aw-family-card-featured .elementor-icon-box-description { color: #fff !important; }
.aw-family-dynamic .ce-category-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; overflow: visible; }
.aw-family-dynamic .elementor-button-wrapper { display: block; }
.aw-family-dynamic .elementor-button { width: 100%; min-height: 110px; justify-content: flex-start; align-items: center; text-align: left; border-radius: 8px; background: #fff; color: var(--aw-gold) !important; box-shadow: 0 2px 8px rgba(20, 29, 74, .07); padding: 24px 34px; font-size: 17px; font-weight: 800; white-space: normal; }
.aw-family-dynamic .elementor-button .elementor-button-text { color: var(--aw-gold) !important; }
.aw-family-dynamic .elementor-button:hover { background: var(--aw-gold); color: #fff !important; }
.aw-family-dynamic .elementor-button:hover .elementor-button-text { color: #fff !important; }
.aw-product-carousel-section { padding: 115px 0 120px; background: #fff; }
.aw-products-dynamic .elementor-heading-title { color: var(--aw-gold); text-transform: uppercase; letter-spacing: .36em; font-size: 14px; font-weight: 700; text-align: center; margin-bottom: 58px; }
.aw-products-dynamic { display: block !important; width: 100% !important; max-width: none !important; grid-template-columns: none !important; }
.aw-products-dynamic .product-miniature { text-align: center; border: 0; box-shadow: none; background: #fff; }
.aw-products-dynamic .product-miniature img { max-height: 230px; object-fit: contain; }
.aw-products-dynamic .product-title, .aw-products-dynamic .h3.product-title a { color: var(--aw-blue); font-weight: 900; text-transform: uppercase; font-size: 14px; line-height: 1.22; }
.aw-products-dynamic .price { color: var(--aw-purple); font-size: 17px; font-weight: 900; }
.aw-about-section { background: var(--aw-muted); padding: 110px 0 122px; }
.aw-about-image img { border-radius: 7px; width: 100%; max-height: 300px; object-fit: cover; }
.aw-about-title .elementor-heading-title { color: var(--aw-blue); font-size: clamp(32px, 2.2vw, 46px); line-height: 1.05; font-weight: 900; margin: 0 0 16px; }
.aw-about-kicker .elementor-heading-title { color: var(--aw-gold); letter-spacing: .3em; text-transform: uppercase; font-size: 13px; font-weight: 700; }
.aw-about-copy p { font-size: 15px; line-height: 1.55; color: var(--aw-blue); }
.aw-page-hero { min-height: 310px; background-position: center; background-size: cover; display: flex; align-items: center; position: relative; }
.aw-page-title .elementor-heading-title,
.aw-listing-title .elementor-heading-title { color: #fff; font-size: clamp(38px, 3vw, 62px); font-weight: 900; text-align: center; }
.aw-category-dynamic { padding: 70px 0 86px; background: #fff; }
.aw-category-subcats .ce-category-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 42px 54px; overflow: visible; }
.aw-category-subcats .elementor-button { min-height: 80px; background: #fff; color: var(--aw-gold); border-radius: 0; box-shadow: none; white-space: normal; font-size: 18px; line-height: 1.15; font-weight: 900; text-align: center; }
.aw-category-text, .aw-list-description { background: var(--aw-muted); padding: 70px 0; }
.aw-category-text .elementor-widget-container, .aw-list-description .elementor-widget-container { max-width: 1100px; margin: 0 auto; color: #25305f; line-height: 1.5; font-size: 14px; }
.aw-listing-layout { background: #fff; padding: 38px 0 80px; }
.aw-listing-tools .elementor-row { align-items: flex-start; gap: 26px; }
.aw-filters { background: #fff; border-radius: 8px; box-shadow: 0 6px 20px rgba(20,29,74,.1); padding: 24px; }
.aw-listing-products .ce-products { row-gap: 12px; }
.aw-listing-products .product-miniature { border-radius: 8px; background: #f5f7fc; padding: 16px; }
.aw-product-main { padding: 72px 0 92px; background: #fff; }
.aw-product-main .elementor-row { align-items: flex-start; gap: 34px; }
.aw-product-images img { object-fit: contain; }
.aw-product-name .elementor-heading-title { color: var(--aw-purple); font-size: clamp(30px, 2.05vw, 44px); line-height: 1.08; font-weight: 900; }
.aw-product-price .current-price, .aw-product-price .price { color: var(--aw-gold); font-size: 28px; font-weight: 900; }
.aw-product-copy { color: #283160; font-size: 15px; line-height: 1.45; }
.aw-product-add .product-add-to-cart, .aw-product-add form { margin-top: 18px; }
.aw-product-add .btn, .aw-product-add button { background: var(--aw-purple); border-color: var(--aw-purple); color: #fff; border-radius: 5px; min-height: 44px; }
.aw-product-stock { margin-top: 22px; font-weight: 700; }
.aw-product-related { padding: 70px 0 95px; background: #fff; }
.aw-newsletter { padding: 30px 0 24px; background: #fff; box-shadow: 0 -6px 20px rgba(20,29,74,.06); }
.aw-news-title .elementor-heading-title { color: var(--aw-blue); font-size: 30px; line-height: 1; font-weight: 900; }
.aw-news-kicker .elementor-heading-title { color: var(--aw-gold); letter-spacing: .35em; text-transform: uppercase; font-size: 13px; }
.aw-feature-bar { background: var(--aw-purple); color: #fff; padding: 28px 0; }
.aw-feature-bar .elementor-icon-box-title, .aw-feature-bar .elementor-icon-box-description, .aw-feature-bar .elementor-heading-title { color: #fff; }
.aw-footer-main { background: linear-gradient(rgba(23,22,126,.82), rgba(23,22,126,.9)), url('/img/cms/plastem-ce/refonte/brand-blur.png') center/cover no-repeat; color: #fff; padding: 72px 0 54px; }
.aw-footer-main .elementor-heading-title, .aw-footer-main a, .aw-footer-main p, .aw-footer-main .elementor-icon-list-text { color: #fff; }
.aw-checkout-stepper { background: var(--aw-purple); min-height: 130px; color: #fff; }
body#cart #wrapper, body#checkout #wrapper, body.page-my-account #wrapper, body.page-addresses #wrapper, body.page-identity #wrapper, body.page-history #wrapper { background: var(--aw-muted); }
body#cart #content, body#checkout #content, body.page-my-account #content, body.page-addresses #content, body.page-identity #content, body.page-history #content { width: min(var(--aw-content), calc(100% - var(--aw-gutter) * 2)); max-width: var(--aw-content); margin: 0 auto; padding: 70px 0 90px; }

body :focus, body a:focus { outline: 0 !important; box-shadow: none !important; }
.aw-navrow .elementor-container { min-height: 49px; }
.aw-navrow .elementor-widget-wrap { align-content: center; align-items: center; }
.aw-atm-col .elementor-widget-wrap, .aw-atm-shortcode, .aw-atm-shortcode .elementor-widget-container { height: 49px; overflow: visible; }
#adtm_menu .li-niveau1.sub:hover .adtm_sub,
#adtm_menu .li-niveau1.sub:focus-within .adtm_sub { left: 0 !important; display: block !important; opacity: 1; visibility: visible !important; pointer-events: auto; }
#adtm_menu .li-niveau1.sub { position: relative !important; }
#adtm_menu .adtm_sub { min-width: min(860px, calc(100vw - 64px)) !important; left: 0 !important; transform: none !important; }
#adtm_menu .adtm_column_wrap_sizer { display: none !important; }
.aw-family-dynamic .elementor-widget-container { display: flex; justify-content: center; }
.aw-family-dynamic .elementor-button-wrapper { min-width: 0; }
.aw-family-dynamic .elementor-button-text { white-space: normal; }
.aw-products-dynamic .elementor-widget-container { overflow: visible; }
.aw-products-dynamic .elementor-widget-container { width: 100% !important; min-width: 0 !important; }
.aw-products-dynamic .elementor-carousel-wrapper { overflow: hidden !important; padding: 0 54px; width: 100% !important; box-sizing: border-box; }
.aw-products-dynamic .swiper-wrapper { display: flex !important; width: auto !important; grid-template-columns: none !important; gap: 0 !important; transform: none; height: auto !important; box-sizing: border-box; }
.aw-products-dynamic .swiper-slide { width: auto; max-width: none !important; min-width: 0 !important; margin: 0 !important; opacity: 1 !important; transform: none; overflow: visible !important; }
.aw-products-dynamic .swiper-slide:nth-child(n+6) { display: block !important; }
.aw-products-dynamic .elementor-swiper-button { top: 46% !important; color: #0e1742 !important; background: transparent !important; width: 42px; height: 42px; }
.aw-products-dynamic .product-miniature,
.aw-listing-products .product-miniature { min-width: 0 !important; width: 100% !important; text-align: center; background: #fff; border: 0 !important; box-shadow: none !important; padding: 0 !important; overflow: visible; }
.aw-listing-products .product-miniature { border-radius: 8px !important; padding: 18px !important; box-shadow: 0 2px 10px rgba(20,29,74,.06) !important; }
.aw-products-dynamic .product-miniature__inner,
.aw-listing-products .product-miniature__inner { display: flex !important; flex-direction: column; align-items: center; min-height: 100%; }
.aw-products-dynamic .product-miniature__top,
.aw-listing-products .product-miniature__top { width: 100%; min-height: 185px; display: flex; align-items: center; justify-content: center; }
.aw-products-dynamic .thumbnail-container,
.aw-listing-products .thumbnail-container { width: 100% !important; height: auto !important; aspect-ratio: 1.45; display: flex; align-items: center; justify-content: center; background: transparent !important; }
.aw-products-dynamic .product-miniature__image-link,
.aw-listing-products .product-miniature__image-link { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; border: 0 !important; background: transparent !important; }
.aw-products-dynamic .product-miniature__image,
.aw-listing-products .product-miniature__image { display: block !important; width: min(100%, 245px) !important; height: 185px !important; object-fit: contain !important; margin: 0 auto; }
.aw-products-dynamic .product-miniature__title,
.aw-listing-products .product-miniature__title { color: var(--aw-blue) !important; font-weight: 900 !important; text-transform: uppercase; font-size: 14px !important; line-height: 1.25 !important; min-height: 52px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-decoration: none !important; }
.aw-products-dynamic .product-miniature__price,
.aw-products-dynamic .price,
.aw-listing-products .product-miniature__price { color: var(--aw-purple) !important; font-size: 17px !important; font-weight: 900 !important; line-height: 1.1; }
.aw-products-dynamic .product-miniature__quickview-button,
.aw-products-dynamic .product-miniature__quickview-touch,
.aw-products-dynamic .product-miniature__form,
.aw-products-dynamic .product-miniature__add,
.aw-products-dynamic .product-miniature__discount-price,
.aw-listing-products .product-miniature__quickview-button,
.aw-listing-products .product-miniature__quickview-touch { display: none !important; }
.aw-products-dynamic .product-miniature__details,
.aw-listing-products .product-miniature__details { border-radius: 4px; border-color: var(--aw-purple) !important; color: var(--aw-purple) !important; padding: 8px 16px; font-weight: 700; }
.aw-category-subcategories .elementor-widget-container .elementor-row,
.aw-category-subcategories .elementor-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 42px 54px; align-items: start; }
.aw-category-subcategories article,
.aw-category-subcategories .elementor-post,
.aw-category-subcategories .ce-post { text-align: center; border: 0 !important; box-shadow: none !important; background: transparent !important; }
.aw-category-subcategories img { width: 100% !important; max-width: 250px !important; height: 185px !important; object-fit: contain !important; margin: 0 auto 14px; }
.aw-category-subcategories a { text-decoration: none !important; color: var(--aw-gold) !important; font-size: 18px; line-height: 1.15; font-weight: 900; }
.aw-category-subcats { display: none !important; }
.aw-product-main > .elementor-container { padding: 0; }
.aw-product-main .elementor-row { display: grid !important; grid-template-columns: minmax(280px, 42fr) minmax(360px, 40fr) minmax(220px, 18fr); gap: 42px; align-items: start !important; }
.aw-product-main .elementor-column { width: auto !important; max-width: none !important; min-width: 0; }
.aw-product-main .elementor-widget-wrap { align-content: flex-start; }
.aw-product-breadcrumb { grid-column: 1 / -1; margin-bottom: 18px; font-size: 13px; }
.aw-product-breadcrumb .elementor-row, .aw-breadcrumb .elementor-row { display: flex !important; flex-wrap: wrap; gap: 8px; align-items: center; }
.aw-product-breadcrumb .ce-breadcrumb__item, .aw-breadcrumb .ce-breadcrumb__item { color: var(--aw-purple); flex: 0 0 auto; }
.aw-product-gallery .aw-product-breadcrumb { margin-bottom: 28px; }
.aw-product-image .elementor-widget-container { display: flex; align-items: center; justify-content: center; min-height: 520px; }
.aw-product-image img { width: min(100%, 560px) !important; height: min(48vw, 560px) !important; object-fit: contain !important; }
.aw-product-attachments .ce-product-attachments { margin-top: 22px; display: grid; gap: 10px; }
.aw-product-attachments .elementor-icon-box-wrapper { align-items: center; }
.aw-product-attachments .elementor-icon { background: var(--aw-gold); color: #fff; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 0; }
.aw-product-name { margin-top: 16px; margin-bottom: 22px; }
.aw-product-name .ce-product-name,
.aw-product-name .elementor-heading-title { color: var(--aw-purple) !important; display: block !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; -webkit-line-clamp: unset !important; font-size: clamp(30px, 2.05vw, 44px) !important; line-height: 1.08 !important; font-weight: 900 !important; margin: 0; max-width: 760px; }
.aw-product-name .ce-product-name a { color: inherit !important; }
.aw-product-meta { display: block; clear: both; margin: 0 0 28px; }
.aw-product-meta .ce-product-meta { display: inline-flex; gap: 0; border: 1px solid #d9d9e6; border-radius: 4px; overflow: hidden; color: var(--aw-blue); font-weight: 700; }
.aw-product-meta .ce-product-meta__detail { padding: 8px 12px; border-right: 1px solid #d9d9e6; }
.aw-product-meta .ce-product-meta__detail:last-child { border-right: 0; }
.aw-product-copy { margin: 24px 0; max-width: 780px; }
.aw-product-copy p { color: #23305f; font-size: 15px; line-height: 1.45; }
.aw-product-price .ce-product-price span:not(.screen-reader-text) { color: var(--aw-gold); font-size: 32px; font-weight: 900; }
.aw-product-price .ce-tax-shipping-delivery-label { color: var(--aw-gold); font-size: 12px; font-weight: 900; }
.aw-product-add .elementor-button { background: var(--aw-purple) !important; color: #fff !important; min-width: 218px; min-height: 47px; border-radius: 5px; }
.aw-product-side { margin-top: 82px; }
.aw-discount-title .elementor-heading-title { color: var(--aw-purple); font-size: 22px; line-height: 1.1; font-weight: 900; border-bottom: 1px solid var(--aw-purple); padding-bottom: 12px; }
.aw-product-quantity .ce-product-quantity { background: #f4f6fb; border-radius: 8px; padding: 12px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.aw-product-quantity input { width: 72px !important; text-align: center; border: 0 !important; background: #fff !important; }
body#cart .card, body#checkout .card, .page-customer-account .card, .page-my-account .links a { border: 0; border-radius: 8px; box-shadow: 0 8px 24px rgba(20,29,74,.08); }
@media (max-width: 1199px) {
  .aw-contact-col { display: none; }
  .aw-family-section > .elementor-container > .elementor-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aw-family-title-col { grid-column: 1 / -1; }
  .aw-catalog-card-col { grid-row: auto; }
  .aw-family-dynamic .ce-category-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aw-products-dynamic .swiper-wrapper { grid-template-columns: none; }
  .aw-products-dynamic .swiper-slide:nth-child(n+5) { display: block !important; }
  .aw-category-subcategories .elementor-widget-container .elementor-row,
  .aw-category-subcategories .elementor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aw-category-subcats .ce-category-list { grid-template-columns: repeat(2, 1fr); }
  .aw-product-main .elementor-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .aw-product-side { grid-column: 2; margin-top: 26px; }
}
@media (max-width: 767px) {
  :root { --aw-gutter: 18px; }
  .aw-topbar .elementor-row, .aw-navrow .elementor-row, .aw-about-section .elementor-row, .aw-listing-tools .elementor-row { flex-wrap: wrap; }
  .aw-family-section > .elementor-container > .elementor-row { grid-template-columns: 1fr; }
  .aw-top-logo, .aw-top-search, .aw-top-links, .aw-catalog-col, .aw-atm-col, .aw-family-col { width: 100% !important; }
  .aw-hero { min-height: 420px; }
  .aw-family-dynamic .ce-category-list, .aw-category-subcats .ce-category-list { grid-template-columns: 1fr; }
  .aw-products-dynamic .swiper-wrapper { grid-template-columns: none; }
  .aw-products-dynamic .swiper-slide:nth-child(n+2) { display: block !important; }
  .aw-category-subcategories .elementor-widget-container .elementor-row,
  .aw-category-subcategories .elementor-grid { grid-template-columns: 1fr; gap: 28px; }
  .aw-product-main .elementor-row { grid-template-columns: 1fr !important; gap: 28px; }
  .aw-product-side { grid-column: auto; margin-top: 0; }
  .aw-product-name { margin-top: 10px; }
  .aw-product-image .elementor-widget-container { min-height: 320px; }
  .aw-product-image img { height: 320px !important; }
  #adtm_menu .advtm_menu_toggle { display: flex !important; }
  #adtm_menu ul#menu { display: flex !important; overflow-x: auto; min-height: 49px !important; }
  #adtm_menu .adtm_sub { display: none !important; }
  .aw-atm-shortcode { overflow-x: auto; overflow-y: hidden; }
}

/* Codex header alignment: Figma desktop reference */
@media (min-width: 1024px) {
.aw-topbar {
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  overflow: visible !important;
  background-image: linear-gradient(90deg, #5827ff 0%, #6e2aff 50%, #4f59f7 100%), url("/img/cms/Sans%20titre.png") !important;
  background-repeat: no-repeat, repeat !important;
  background-position: center, 0 0 !important;
  background-size: cover, auto !important;
  background-blend-mode: normal, multiply !important;
}
.aw-topbar > .elementor-container {
  width: calc(100% - 106px) !important;
  max-width: 1814px !important;
  height: 54px !important;
  position: relative !important;
}
.aw-topbar > .elementor-container > .elementor-row {
  display: block !important;
  height: 54px !important;
  position: relative !important;
}
.aw-topbar > .elementor-container > .elementor-row > .elementor-column {
  position: absolute !important;
  top: 0 !important;
  height: 54px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.aw-topbar .elementor-widget-wrap {
  min-height: 54px !important;
  height: 54px !important;
  padding: 0 !important;
  align-content: center !important;
  align-items: center !important;
}
.aw-topbar .aw-top-logo { left: 0 !important; width: 122px !important; }
.aw-topbar .aw-top-logo .elementor-widget-heading,
.aw-topbar .aw-top-logo .elementor-heading-title,
.aw-topbar .aw-top-logo .elementor-heading-title a {
  display: flex !important;
  width: 122px !important;
  height: 32px !important;
  align-items: center !important;
}
.aw-topbar .aw-top-logo img {
  display: block !important;
  width: 122px !important;
  height: 32px !important;
  object-fit: contain !important;
}
.aw-topbar .elementor-element-7c1629c {
  left: 150px !important;
  width: 310px !important;
}
.aw-topbar .elementor-element-7c1629c .aw-contact-line {
  width: 310px !important;
  height: 54px !important;
  display: flex !important;
  align-items: center !important;
}
.aw-topbar .elementor-element-7c1629c .elementor-icon-list-items {
  width: auto !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  column-gap: 41.7px !important;
  margin: 0 !important;
}
.aw-topbar .elementor-element-7c1629c .elementor-icon-list-item {
  flex: 0 0 auto !important;
  width: auto !important;
}
.aw-topbar .elementor-element-7ae4f6f {
  left: 676px !important;
  width: 462px !important;
}
.aw-topbar .elementor-element-7ae4f6f .aw-search,
.aw-topbar .elementor-element-7ae4f6f form,
.aw-topbar .elementor-element-7ae4f6f .elementor-search__container {
  width: 462px !important;
}
.aw-topbar .elementor-element-7ae4f6f .aw-search {
  height: 44px !important;
}
.aw-topbar .elementor-element-7ae4f6f form,
.aw-topbar .elementor-element-7ae4f6f .elementor-search__container {
  height: 44px !important;
  min-height: 44px !important;
}
.aw-topbar .elementor-element-7ae4f6f form { max-width: none !important; margin: 0 !important; }
.aw-topbar .elementor-element-7ae4f6f .elementor-search__container {
  background: #fff !important;
  border-radius: 4px !important;
}
.aw-topbar .elementor-element-7ae4f6f .elementor-search__input {
  height: 44px !important;
  min-width: 0 !important;
  width: auto !important;
  flex: 1 1 auto !important;
  padding-left: 32px !important;
  padding-right: 16px !important;
  border-radius: 4px 0 0 4px !important;
}
.aw-topbar .elementor-element-7ae4f6f .elementor-search__submit {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 44px !important;
  flex: 0 0 64px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  color: #6436ff !important;
}
.aw-topbar .elementor-element-7ae4f6f .elementor-search__submit i {
  display: inline-block !important;
  color: #6436ff !important;
}
.aw-topbar .elementor-element-82a3fd4 {
  left: 1403px !important;
  width: 184px !important;
}
.aw-topbar .elementor-element-82a3fd4 .aw-contact-line {
  width: 184px !important;
  height: 54px !important;
  display: flex !important;
  align-items: center !important;
}
.aw-topbar .elementor-element-82a3fd4 .elementor-icon-list-items {
  display: flex !important;
  align-items: center !important;
  width: 184px !important;
  margin: 0 !important;
}
.aw-topbar .elementor-element-82a3fd4 .elementor-icon-list-item { flex: 0 0 auto !important; }
.aw-topbar .elementor-element-ac08fd8 { left: 1628px !important; width: 184px !important; }
.aw-topbar .elementor-element-ac08fd8 .aw-top-cart {
  position: absolute !important;
  left: 0 !important;
  top: 18px !important;
  width: 84px !important;
  height: 18px !important;
}
.aw-topbar .elementor-element-ac08fd8 .aw-top-cart .elementor-cart__toggle,
.aw-topbar .elementor-element-ac08fd8 .aw-top-cart .elementor-button {
  width: auto !important;
  height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  color: #fff !important;
}
.aw-topbar .elementor-element-ac08fd8 .aw-top-cart .elementor-button-icon {
  width: auto !important;
  color: #fff !important;
}
.aw-topbar .elementor-element-ac08fd8 .aw-signin {
  position: absolute !important;
  left: 100px !important;
  top: 0 !important;
  width: 42px !important;
  height: 54px !important;
}
.aw-topbar .elementor-element-ac08fd8 .aw-signin nav,
.aw-topbar .elementor-element-ac08fd8 .aw-signin .elementor-nav,
.aw-topbar .elementor-element-ac08fd8 .aw-signin .elementor-item {
  width: 42px !important;
  height: 54px !important;
  min-height: 54px !important;
}
.aw-topbar .elementor-element-ac08fd8 .aw-signin .elementor-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  color: #fff !important;
}
.aw-topbar .elementor-element-ac08fd8 .aw-signin .elementor-item i { color: #fff !important; }
}

@media (min-width: 1024px) {
.aw-topbar {
  background-color: transparent !important;
  background-image: linear-gradient(90deg, rgba(88, 39, 255, .78) 0%, rgba(110, 42, 255, .78) 50%, rgba(79, 89, 247, .78) 100%), url("/img/cms/Sans%20titre.png") !important;
  background-blend-mode: normal, normal !important;
}
.aw-topbar .elementor-element-7c1629c .elementor-icon-list-items { column-gap: 39.7px !important; }
.aw-topbar .elementor-element-7c1629c .elementor-icon-list-item:nth-child(1) .elementor-icon-list-icon { width: 21px !important; }
.aw-topbar .elementor-element-7c1629c .elementor-icon-list-item:nth-child(2) .elementor-icon-list-icon { width: 25px !important; }
.aw-topbar .elementor-element-82a3fd4 .elementor-icon-list-icon { width: 21px !important; }
.aw-topbar .elementor-element-7ae4f6f .elementor-search__submit i::before {
  content: "\f002" !important;
  display: inline-block !important;
}
.aw-topbar .elementor-element-7ae4f6f .elementor-search__submit i {
  position: relative !important;
  left: -7px !important;
  top: 1px !important;
}
.aw-topbar .elementor-element-ac08fd8 .aw-top-cart .elementor-widget-container,
.aw-topbar .elementor-element-ac08fd8 .aw-top-cart .elementor-cart__toggle {
  height: 18px !important;
  line-height: 18px !important;
}
.aw-topbar .elementor-element-ac08fd8 .aw-top-cart .elementor-cart__toggle {
  position: relative !important;
  top: -2px !important;
}
.aw-topbar .elementor-element-ac08fd8 .aw-top-cart .elementor-button-icon {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  width: auto !important;
  flex: 0 0 auto !important;
  height: 18px !important;
}
.aw-topbar .elementor-element-ac08fd8 .aw-top-cart .elementor-button-icon[data-counter]::before {
  content: none !important;
  display: none !important;
}
.aw-topbar .elementor-element-ac08fd8 .aw-top-cart .elementor-button-icon[data-counter]::after {
  content: attr(data-counter) " articles" !important;
  display: block !important;
  white-space: nowrap !important;
}
.aw-topbar .elementor-element-ac08fd8 .aw-top-cart .elementor-button-icon i {
  display: block !important;
  width: 11px !important;
  height: 12px !important;
  font-size: 12px !important;
  line-height: 12px !important;
  transform: none !important;
}
.aw-topbar .elementor-element-ac08fd8 .aw-top-cart .elementor-button-icon i::before {
  content: "\f07a" !important;
  display: inline-block !important;
}
.aw-topbar .elementor-element-ac08fd8 .aw-signin { left: 94px !important; }
.aw-topbar .elementor-element-ac08fd8 .aw-signin .elementor-item i {
  width: 12px !important;
  height: 12px !important;
  font-size: 12px !important;
  line-height: 12px !important;
  position: relative !important;
  top: 1px !important;
}
}

/* Codex: Figma language #header */
@media (min-width:1024px) {
  .aw-topbar .elementor-element-ac08fd8 .aw-language {
    position:absolute!important;
    left:143px!important;
    top:18px!important;
    width:41px!important;
    height:21px!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    z-index:2!important;
  }
  .aw-topbar .elementor-element-ac08fd8 .aw-language > .elementor-widget-container,
  .aw-topbar .elementor-element-ac08fd8 .aw-language-control {
    width:41px!important;
    height:21px!important;
    margin:0!important;
    padding:0!important;
  }
  .aw-topbar .aw-language-control {
    position:relative!important;
  }
  .aw-topbar .aw-language-select {
    display:block!important;
    width:41px!important;
    height:21px!important;
    margin:0!important;
    padding:0 12px 0 8px!important;
    border:0!important;
    border-radius:11px!important;
    background:#32138f!important;
    color:#fff!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    cursor:pointer!important;
  }
  .aw-topbar .aw-language-control::after {
    content:attr(data-arrow);
    position:absolute!important;
    right:5px!important;
    top:1px!important;
    color:#fff!important;
    font-size:9px!important;
    line-height:19px!important;
    pointer-events:none!important;
  }
}

/* Codex: Figma language #header flag */
@media (min-width:1024px) {
  .aw-topbar .aw-language-flag {
    position:absolute!important;
    left:6px!important;
    top:6px!important;
    width:12px!important;
    height:8px!important;
    object-fit:cover!important;
    z-index:2!important;
    pointer-events:none!important;
  }
  .aw-topbar .aw-language-select {
    position:relative!important;
    z-index:1!important;
    padding:0 4px 0 21px!important;
    font-size:10px!important;
    line-height:21px!important;
    text-align:left!important;
  }
  .aw-topbar .aw-language-control::after {
    z-index:3!important;
  }
}

/* Codex: Figma language control visual */
@media (min-width:1024px) {
  .aw-topbar .aw-language-control {
    background:transparent!important;
    border-radius:0!important;
    overflow:visible!important;
  }
  .aw-topbar .aw-language-visual {
    position:absolute!important;
    left:0!important;
    top:0!important;
    display:block!important;
    width:41px!important;
    height:21px!important;
    z-index:1!important;
    pointer-events:none!important;
  }
  .aw-topbar .aw-language-select {
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:41px!important;
    height:21px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    opacity:0!important;
    z-index:2!important;
    appearance:auto!important;
    -webkit-appearance:auto!important;
    cursor:pointer!important;
  }
  .aw-topbar .aw-language-control::after {
    content:none!important;
  }
}

/* Codex: Figma logo asset */
@media (min-width:1024px) {
  .aw-topbar .aw-top-logo img {
    display:block!important;
    width:122px!important;
    height:32px!important;
    max-width:none!important;
    margin:0!important;
    object-fit:fill!important;
  }
}

/* Codex: Responsive Figma topbar .aw-responsive-fix */
@media (min-width:768px) and (max-width:1879px) {
  .aw-topbar {
    overflow-x:hidden !important;
    overflow-y:visible !important;
  }
  .aw-topbar > .elementor-container {
    width:calc(100% - 36px) !important;
    max-width:none !important;
    margin-left:18px !important;
    margin-right:18px !important;
    height:54px !important;
  }
  .aw-topbar > .elementor-container > .elementor-row {
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    height:54px !important;
    gap:12px !important;
  }
  .aw-topbar > .elementor-container > .elementor-row > .elementor-column {
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    height:54px !important;
    padding:0 !important;
    margin:0 !important;
  }
  .aw-topbar .aw-top-logo {
    flex:0 0 122px !important;
    width:122px !important;
    min-width:122px !important;
  }
  .aw-topbar .elementor-element-7ae4f6f {
    display:flex !important;
    flex:1 1 462px !important;
    width:auto !important;
    min-width:220px !important;
    max-width:462px !important;
  }
  .aw-topbar .elementor-element-7ae4f6f .aw-search,
  .aw-topbar .elementor-element-7ae4f6f form,
  .aw-topbar .elementor-element-7ae4f6f .elementor-search__container {
    width:100% !important;
    max-width:none !important;
  }
  .aw-topbar .elementor-element-ac08fd8 {
    display:block !important;
    flex:0 0 184px !important;
    width:184px !important;
    min-width:184px !important;
    max-width:184px !important;
  }
}
@media (min-width:1200px) and (max-width:1879px) {
  .aw-topbar .elementor-element-7c1629c {
    display:flex !important;
    flex:0 1 310px !important;
    width:310px !important;
    min-width:280px !important;
    max-width:310px !important;
  }
  .aw-topbar .elementor-element-7c1629c .aw-contact-line {
    width:100% !important;
  }
  .aw-topbar .elementor-element-82a3fd4 {
    display:flex !important;
    flex:0 1 184px !important;
    width:184px !important;
    min-width:150px !important;
    max-width:184px !important;
  }
  .aw-topbar .elementor-element-82a3fd4 .aw-contact-line,
  .aw-topbar .elementor-element-82a3fd4 .elementor-icon-list-items {
    width:100% !important;
  }
}
@media (min-width:768px) and (max-width:1199px) {
  .aw-topbar .aw-contact-col {
    display:none !important;
  }
  .aw-topbar .elementor-element-7ae4f6f {
    min-width:0 !important;
  }
}

/* Codex: Responsive Figma topbar fixed content widths .aw-responsive-width-fix */
@media (min-width:1200px) and (max-width:1879px) {
  .aw-topbar .elementor-element-7c1629c {
    flex:0 0 310px !important;
    width:310px !important;
    min-width:310px !important;
    max-width:310px !important;
  }
  .aw-topbar .elementor-element-82a3fd4 {
    flex:0 0 184px !important;
    width:184px !important;
    min-width:184px !important;
    max-width:184px !important;
  }
}


/* Codex / Figma menu alignment - main menu only.
 * The pm_advancedtopmenu shortcode, menu data and submenu behavior stay untouched.
 */
.aw-menu-figma-fix-v1 { }

@media (min-width: 768px) {
  .aw-navrow,
  .aw-navrow > .elementor-container,
  .aw-navrow > .elementor-container > .elementor-row,
  .aw-navrow > .elementor-container > .elementor-row > .elementor-column,
  .aw-atm-col,
  .aw-atm-shortcode,
  .aw-atm-shortcode .elementor-widget-container,
  #adtm_menu,
  #adtm_menu_inner,
  #adtm_menu ul#menu {
    min-height: 62px !important;
    height: 62px !important;
  }

  .aw-navrow {
    overflow: visible !important;
  }

  .aw-navrow > .elementor-container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .aw-navrow > .elementor-container > .elementor-row {
    display: flex !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    padding: 0 !important;
  }

  .aw-navrow > .elementor-container > .elementor-row > .elementor-column {
    margin: 0 !important;
    padding: 0 !important;
  }

  .aw-catalog-col {
    flex: 0 0 334px !important;
    width: 334px !important;
    max-width: 334px !important;
  }

  .aw-atm-col {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .aw-family-col {
    flex: 0 0 296px !important;
    width: 296px !important;
    max-width: 296px !important;
    position: relative !important;
    z-index: 5 !important;
  }

  .aw-catalog-col .elementor-widget-wrap,
  .aw-atm-col .elementor-widget-wrap,
  .aw-family-col .elementor-widget-wrap,
  .aw-catalog-button .elementor-widget-container,
  .aw-family-button .elementor-widget-container,
  .aw-catalog-button .elementor-button-wrapper,
  .aw-family-button .elementor-button-wrapper {
    height: 62px !important;
    min-height: 62px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Figma: x=53, 44x40 catalogue mark, separator at x=311. */
  .aw-catalog-button,
  .aw-catalog-button .elementor-button {
    box-sizing: border-box !important;
  }

  .aw-catalog-button {
    width: 100% !important;
  }

  .aw-catalog-button .elementor-button {
    width: 311px !important;
    min-width: 311px !important;
    height: 62px !important;
    min-height: 62px !important;
    padding: 0 0 0 53px !important;
    border-right: 1px solid #4a4a4a !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    white-space: nowrap !important;
  }

  .aw-catalog-button .elementor-button-content-wrapper,
  .aw-family-button .elementor-button-content-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    white-space: nowrap !important;
  }

  .aw-catalog-button .elementor-button-icon {
    display: block !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 40px !important;
    margin: 0 !important;
    line-height: 0 !important;
    background: url('/img/cms/codex-menu-assets/codex-menu-catalog.png') center / 44px 40px no-repeat !important;
  }

  .aw-catalog-button .elementor-button-icon i,
  .aw-catalog-button .elementor-button-icon svg,
  .aw-family-button .elementor-button-icon i,
  .aw-family-button .elementor-button-icon svg {
    display: none !important;
  }

  .aw-catalog-button .elementor-button-text,
  .aw-family-button .elementor-button-text {
    white-space: nowrap !important;
  }

  /* Figma: x=1624, width=296, gold #be811c, icon x=1669. */
  .aw-family-button,
  .aw-family-button .elementor-button {
    box-sizing: border-box !important;
  }

  .aw-family-button {
    width: 100% !important;
  }

  .aw-family-button .elementor-button {
    width: 296px !important;
    min-width: 296px !important;
    height: 62px !important;
    min-height: 62px !important;
    padding: 0 0 0 45px !important;
    border-radius: 0 !important;
    background: #be811c !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    white-space: nowrap !important;
  }

  .aw-family-button .elementor-button-content-wrapper {
    gap: 20px !important;
  }

  .aw-family-button .elementor-button-icon {
    display: block !important;
    flex: 0 0 12px !important;
    width: 12px !important;
    height: 13px !important;
    margin: 0 !important;
    line-height: 0 !important;
    background: url('/img/cms/codex-menu-assets/codex-menu-family.png') center / 12px 13px no-repeat !important;
  }

  /* Main menu geometry follows the Figma frame: x=334, y=54, h=62. */
  #adtm_menu,
  #adtm_menu_inner,
  #adtm_menu ul#menu {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #adtm_menu ul#menu {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }

  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle),
  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > .adtm_hummingbird_menu_item,
  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > a.a-niveau1 {
    height: 62px !important;
    min-height: 62px !important;
    line-height: normal !important;
  }

  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) {
    flex: 0 0 auto !important;
    float: none !important;
    display: flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #adtm_menu ul#menu > li.adtm_menu_43 { width: 207px !important; flex-basis: 207px !important; }
  #adtm_menu ul#menu > li.adtm_menu_44 { width: 189px !important; flex-basis: 189px !important; }
  #adtm_menu ul#menu > li.adtm_menu_45 { width: 80px !important; flex-basis: 80px !important; }
  #adtm_menu ul#menu > li.adtm_menu_46 { width: 173px !important; flex-basis: 173px !important; }
  #adtm_menu ul#menu > li.adtm_menu_47 { width: 281px !important; flex-basis: 281px !important; }
  #adtm_menu ul#menu > li.adtm_menu_48 { width: 111px !important; flex-basis: 111px !important; }

  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > .adtm_hummingbird_menu_item {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: stretch !important;
  }

  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > a.a-niveau1,
  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > .adtm_hummingbird_menu_item > a.a-niveau1 {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 62px !important;
    min-height: 62px !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    line-height: normal !important;
    white-space: nowrap !important;
  }

  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > a.a-niveau1 > .advtm_menu_span,
  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > .adtm_hummingbird_menu_item > a.a-niveau1 > .advtm_menu_span {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 62px !important;
    min-height: 62px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    color: #4a4a4a !important;
    white-space: nowrap !important;
  }

  /* Icon positions and sizes are taken from the 1920px Figma frame. */
  #adtm_menu li.adtm_menu_43 a.a-niveau1::before,
  #adtm_menu li.adtm_menu_44 a.a-niveau1::before,
  #adtm_menu li.adtm_menu_45 a.a-niveau1::before,
  #adtm_menu li.adtm_menu_46 a.a-niveau1::before,
  #adtm_menu li.adtm_menu_47 a.a-niveau1::before,
  #adtm_menu li.adtm_menu_48 a.a-niveau1::before {
    content: "" !important;
    display: block !important;
    flex: 0 0 auto !important;
    margin-top: 0 !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
  }

  #adtm_menu li.adtm_menu_43 a.a-niveau1::before {
    width: 14px !important; height: 18px !important; margin-right: 8px !important;
    background-image: url('/img/cms/codex-menu-assets/codex-menu-protection.png') !important;
    background-size: 14px 18px !important;
  }

  #adtm_menu li.adtm_menu_44 a.a-niveau1::before {
    width: 29px !important; height: 13px !important; margin-right: 5px !important;
    background-image: url('/img/cms/codex-menu-assets/codex-menu-finition.png') !important;
    background-size: 29px 13px !important;
  }

  #adtm_menu li.adtm_menu_45 a.a-niveau1::before {
    width: 12px !important; height: 14px !important; margin-right: 8px !important;
    background-image: url('/img/cms/codex-menu-assets/codex-menu-visserie.png') !important;
    background-size: 12px 14px !important;
  }

  #adtm_menu li.adtm_menu_46 a.a-niveau1::before {
    width: 16px !important; height: 12px !important; margin-right: 7px !important;
    background-image: url('/img/cms/codex-menu-assets/codex-menu-butees.png') !important;
    background-size: 16px 12px !important;
  }

  #adtm_menu li.adtm_menu_47 a.a-niveau1::before {
    width: 21px !important; height: 18px !important; margin-right: 6px !important;
    background-image: url('/img/cms/codex-menu-assets/codex-menu-liens.png') !important;
    background-size: 21px 18px !important;
  }

  #adtm_menu li.adtm_menu_48 a.a-niveau1::before {
    width: 15px !important; height: 15px !important; margin-right: 7px !important;
    background-image: url('/img/cms/codex-menu-assets/codex-menu-promotions.png') !important;
    background-size: 15px 15px !important;
  }

  #adtm_menu li.adtm_menu_43:hover .advtm_menu_span,
  #adtm_menu li.adtm_menu_44:hover .advtm_menu_span,
  #adtm_menu li.adtm_menu_45:hover .advtm_menu_span,
  #adtm_menu li.adtm_menu_46:hover .advtm_menu_span,
  #adtm_menu li.adtm_menu_47:hover .advtm_menu_span,
  #adtm_menu li.adtm_menu_48:hover .advtm_menu_span,
  #adtm_menu li.adtm_menu_43 a.a-niveau1.advtm_menu_actif .advtm_menu_span,
  #adtm_menu li.adtm_menu_44 a.a-niveau1.advtm_menu_actif .advtm_menu_span,
  #adtm_menu li.adtm_menu_45 a.a-niveau1.advtm_menu_actif .advtm_menu_span,
  #adtm_menu li.adtm_menu_46 a.a-niveau1.advtm_menu_actif .advtm_menu_span,
  #adtm_menu li.adtm_menu_47 a.a-niveau1.advtm_menu_actif .advtm_menu_span,
  #adtm_menu li.adtm_menu_48 a.a-niveau1.advtm_menu_actif .advtm_menu_span {
    color: var(--aw-purple) !important;
  }

  /* Keep the existing submenu behavior; only move its top edge below the 62px bar. */
  #adtm_menu .adtm_sub {
    top: 62px !important;
  }
}

@media (min-width: 768px) and (max-width: 1919px) {
  /* Fixed item geometry prevents flex wrapping while the central menu becomes the
     only flexible region at browser zoom. */
  #adtm_menu ul#menu {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 767px) {
  .aw-navrow,
  .aw-navrow > .elementor-container,
  #adtm_menu,
  #adtm_menu_inner,
  #adtm_menu ul#menu {
    min-height: 62px !important;
  }

  .aw-catalog-button .elementor-button,
  .aw-family-button .elementor-button {
    min-height: 62px !important;
  }
}


/* Codex / Figma menu alignment - main menu only.
 * The pm_advancedtopmenu shortcode, menu data and submenu behavior stay untouched.
 */
.aw-menu-figma-fix-v2 { }

@media (min-width: 768px) {
  .aw-navrow,
  .aw-navrow > .elementor-container,
  .aw-navrow > .elementor-container > .elementor-row,
  .aw-navrow > .elementor-container > .elementor-row > .elementor-column,
  .aw-atm-col,
  .aw-atm-shortcode,
  .aw-atm-shortcode .elementor-widget-container,
  #adtm_menu,
  #adtm_menu_inner,
  #adtm_menu ul#menu {
    min-height: 62px !important;
    height: 62px !important;
  }

  .aw-navrow {
    overflow: visible !important;
  }

  .aw-navrow > .elementor-container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .aw-navrow > .elementor-container > .elementor-row {
    display: flex !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    padding: 0 !important;
  }

  .aw-navrow > .elementor-container > .elementor-row > .elementor-column {
    margin: 0 !important;
    padding: 0 !important;
  }

  .aw-catalog-col {
    flex: 0 0 334px !important;
    width: 334px !important;
    max-width: 334px !important;
  }

  .aw-atm-col {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .aw-family-col {
    flex: 0 0 296px !important;
    width: 296px !important;
    max-width: 296px !important;
    position: relative !important;
    z-index: 5 !important;
  }

  .aw-catalog-col .elementor-widget-wrap,
  .aw-atm-col .elementor-widget-wrap,
  .aw-family-col .elementor-widget-wrap,
  .aw-catalog-button .elementor-widget-container,
  .aw-family-button .elementor-widget-container,
  .aw-catalog-button .elementor-button-wrapper,
  .aw-family-button .elementor-button-wrapper {
    height: 62px !important;
    min-height: 62px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Figma: x=53, 44x40 catalogue mark, separator at x=311. */
  .aw-catalog-button,
  .aw-catalog-button .elementor-button {
    box-sizing: border-box !important;
  }

  .aw-catalog-button {
    width: 100% !important;
  }

  .aw-catalog-button .elementor-button {
    width: 311px !important;
    min-width: 311px !important;
    height: 62px !important;
    min-height: 62px !important;
    padding: 0 0 0 53px !important;
    border-right: 1px solid #4a4a4a !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    white-space: nowrap !important;
  }

  .aw-catalog-button .elementor-button-content-wrapper,
  .aw-family-button .elementor-button-content-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    white-space: nowrap !important;
  }

  .aw-catalog-button .elementor-button-icon {
    display: block !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 40px !important;
    margin: 0 !important;
    line-height: 0 !important;
    background: url('/img/cms/codex-menu-assets/codex-menu-catalog.png') center / 44px 40px no-repeat !important;
  }

  .aw-catalog-button .elementor-button-icon i,
  .aw-catalog-button .elementor-button-icon svg,
  .aw-family-button .elementor-button-icon i,
  .aw-family-button .elementor-button-icon svg {
    display: none !important;
  }

  .aw-catalog-button .elementor-button-text,
  .aw-family-button .elementor-button-text {
    white-space: nowrap !important;
  }

  /* Figma: x=1624, width=296, gold #be811c, icon x=1669. */
  .aw-family-button,
  .aw-family-button .elementor-button {
    box-sizing: border-box !important;
  }

  .aw-family-button {
    width: 100% !important;
  }

  .aw-family-button .elementor-button {
    width: 296px !important;
    min-width: 296px !important;
    height: 62px !important;
    min-height: 62px !important;
    padding: 0 0 0 45px !important;
    border-radius: 0 !important;
    background: #be811c !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    white-space: nowrap !important;
  }

  .aw-family-button .elementor-button-content-wrapper {
    gap: 20px !important;
  }

  .aw-family-button .elementor-button-icon {
    display: block !important;
    flex: 0 0 12px !important;
    width: 12px !important;
    height: 13px !important;
    margin: 0 !important;
    line-height: 0 !important;
    background: url('/img/cms/codex-menu-assets/codex-menu-family.png') center / 12px 13px no-repeat !important;
  }

  /* Main menu geometry follows the Figma frame: x=334, y=54, h=62. */
  #adtm_menu,
  #adtm_menu_inner,
  #adtm_menu ul#menu {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #adtm_menu ul#menu {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }

  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle),
  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > .adtm_hummingbird_menu_item,
  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > a.a-niveau1 {
    height: 62px !important;
    min-height: 62px !important;
    line-height: normal !important;
  }

  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) {
    flex: 0 0 auto !important;
    float: none !important;
    display: flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #adtm_menu ul#menu > li.advtm_menu_43 { width: 207px !important; flex-basis: 207px !important; }
  #adtm_menu ul#menu > li.advtm_menu_44 { width: 189px !important; flex-basis: 189px !important; }
  #adtm_menu ul#menu > li.advtm_menu_45 { width: 80px !important; flex-basis: 80px !important; }
  #adtm_menu ul#menu > li.advtm_menu_46 { width: 173px !important; flex-basis: 173px !important; }
  #adtm_menu ul#menu > li.advtm_menu_47 { width: 281px !important; flex-basis: 281px !important; }
  #adtm_menu ul#menu > li.advtm_menu_48 { width: 111px !important; flex-basis: 111px !important; }

  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > .adtm_hummingbird_menu_item {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: stretch !important;
  }

  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > a.a-niveau1,
  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > .adtm_hummingbird_menu_item > a.a-niveau1 {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 62px !important;
    min-height: 62px !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    line-height: normal !important;
    white-space: nowrap !important;
  }

  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > a.a-niveau1 > .advtm_menu_span,
  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > .adtm_hummingbird_menu_item > a.a-niveau1 > .advtm_menu_span {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 62px !important;
    min-height: 62px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    color: #4a4a4a !important;
    white-space: nowrap !important;
  }

  /* Icon positions and sizes are taken from the 1920px Figma frame. */
  #adtm_menu li.advtm_menu_43 a.a-niveau1::before,
  #adtm_menu li.advtm_menu_44 a.a-niveau1::before,
  #adtm_menu li.advtm_menu_45 a.a-niveau1::before,
  #adtm_menu li.advtm_menu_46 a.a-niveau1::before,
  #adtm_menu li.advtm_menu_47 a.a-niveau1::before,
  #adtm_menu li.advtm_menu_48 a.a-niveau1::before {
    content: "" !important;
    display: block !important;
    flex: 0 0 auto !important;
    margin-top: 0 !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
  }

  #adtm_menu li.advtm_menu_43 a.a-niveau1::before {
    width: 14px !important; height: 18px !important; margin-right: 8px !important;
    background-image: url('/img/cms/codex-menu-assets/codex-menu-protection.png') !important;
    background-size: 14px 18px !important;
  }

  #adtm_menu li.advtm_menu_44 a.a-niveau1::before {
    width: 29px !important; height: 13px !important; margin-right: 5px !important;
    background-image: url('/img/cms/codex-menu-assets/codex-menu-finition.png') !important;
    background-size: 29px 13px !important;
  }

  #adtm_menu li.advtm_menu_45 a.a-niveau1::before {
    width: 12px !important; height: 14px !important; margin-right: 8px !important;
    background-image: url('/img/cms/codex-menu-assets/codex-menu-visserie.png') !important;
    background-size: 12px 14px !important;
  }

  #adtm_menu li.advtm_menu_46 a.a-niveau1::before {
    width: 16px !important; height: 12px !important; margin-right: 7px !important;
    background-image: url('/img/cms/codex-menu-assets/codex-menu-butees.png') !important;
    background-size: 16px 12px !important;
  }

  #adtm_menu li.advtm_menu_47 a.a-niveau1::before {
    width: 21px !important; height: 18px !important; margin-right: 6px !important;
    background-image: url('/img/cms/codex-menu-assets/codex-menu-liens.png') !important;
    background-size: 21px 18px !important;
  }

  #adtm_menu li.advtm_menu_48 a.a-niveau1::before {
    width: 15px !important; height: 15px !important; margin-right: 7px !important;
    background-image: url('/img/cms/codex-menu-assets/codex-menu-promotions.png') !important;
    background-size: 15px 15px !important;
  }

  #adtm_menu li.advtm_menu_43:hover .advtm_menu_span,
  #adtm_menu li.advtm_menu_44:hover .advtm_menu_span,
  #adtm_menu li.advtm_menu_45:hover .advtm_menu_span,
  #adtm_menu li.advtm_menu_46:hover .advtm_menu_span,
  #adtm_menu li.advtm_menu_47:hover .advtm_menu_span,
  #adtm_menu li.advtm_menu_48:hover .advtm_menu_span,
  #adtm_menu li.advtm_menu_43 a.a-niveau1.advtm_menu_actif .advtm_menu_span,
  #adtm_menu li.advtm_menu_44 a.a-niveau1.advtm_menu_actif .advtm_menu_span,
  #adtm_menu li.advtm_menu_45 a.a-niveau1.advtm_menu_actif .advtm_menu_span,
  #adtm_menu li.advtm_menu_46 a.a-niveau1.advtm_menu_actif .advtm_menu_span,
  #adtm_menu li.advtm_menu_47 a.a-niveau1.advtm_menu_actif .advtm_menu_span,
  #adtm_menu li.advtm_menu_48 a.a-niveau1.advtm_menu_actif .advtm_menu_span {
    color: var(--aw-purple) !important;
  }

  /* Keep the existing submenu behavior; only move its top edge below the 62px bar. */
  #adtm_menu .adtm_sub {
    top: 62px !important;
  }
}

@media (min-width: 768px) and (max-width: 1919px) {
  /* Fixed item geometry prevents flex wrapping while the central menu becomes the
     only flexible region at browser zoom. */
  #adtm_menu ul#menu {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 767px) {
  .aw-navrow,
  .aw-navrow > .elementor-container,
  #adtm_menu,
  #adtm_menu_inner,
  #adtm_menu ul#menu {
    min-height: 62px !important;
  }

  .aw-catalog-button .elementor-button,
  .aw-family-button .elementor-button {
    min-height: 62px !important;
  }
}


/* Codex / Figma menu hotfix v3. */
@media (min-width: 768px) {
  .aw-catalog-button .elementor-button,
  .aw-catalog-button .elementor-button-text {
    color: #6436ff !important;
  }

  #adtm_menu ul#menu > li.advtm_menu_43,
  #adtm_menu ul#menu > li.advtm_menu_44,
  #adtm_menu ul#menu > li.advtm_menu_45,
  #adtm_menu ul#menu > li.advtm_menu_46,
  #adtm_menu ul#menu > li.advtm_menu_47 {
    margin-right: 37px !important;
  }
}


/* Codex / Figma menu hotfix v4. */
@media (min-width: 768px) {
  .aw-catalog-button .elementor-button,
  .aw-catalog-button .elementor-button-text {
    color: #6436ff !important;
  }

  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_43,
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_44,
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_45,
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_46,
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_47 {
    margin-right: 37px !important;
  }

  .aw-catalog-button .elementor-button {
    position: relative !important;
    border-right: 0 !important;
  }

  .aw-catalog-button .elementor-button::after {
    content: "" !important;
    position: absolute !important;
    top: 22px !important;
    right: -1px !important;
    width: 1px !important;
    height: 18px !important;
    background: #4a4a4a !important;
  }
}


/* Codex / Figma menu hotfix v5. */
@media (min-width: 768px) {
  .aw-catalog-button .elementor-button,
  .aw-catalog-button .elementor-button-text {
    color: #6436ff !important;
  }

  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_43,
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_44,
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_45,
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_46,
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_47 {
    margin-right: 37px !important;
  }

  .aw-catalog-button .elementor-button {
    position: relative !important;
    border-right: 0 !important;
  }

  .aw-catalog-button .elementor-button::after {
    content: "" !important;
    position: absolute !important;
    top: 22px !important;
    right: -1px !important;
    width: 1px !important;
    height: 18px !important;
    background: #4a4a4a !important;
  }

  /* Position only: the existing submenu open/close behavior is unchanged. */
  #adtm_menu ul#menu > li.li-niveau1.sub > .adtm_sub {
    top: 62px !important;
  }
}


/* Codex / Figma "1 - Home" menu correction v7.
 * Assets are taken from the supplied Figma capture. The ATM submenu DOM and
 * its open/close behavior are not changed.
 */
@media (min-width: 768px) {
  /* Header columns from the 1920px Figma frame: 320 / flexible / 296. */
  .aw-catalog-col {
    width: 320px !important;
    max-width: 320px !important;
    flex: 0 0 320px !important;
  }

  .aw-catalog-button {
    width: 320px !important;
    max-width: 320px !important;
  }

  .aw-catalog-button .elementor-button {
    width: 311px !important;
    max-width: 311px !important;
  }

  .aw-atm-col {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .aw-family-col {
    width: 296px !important;
    max-width: 296px !important;
    flex: 0 0 296px !important;
  }

  /* The logo node on Figma 1 - Home is positioned at x=52, y=-1 and is
     208.62 x 55px. Keep its aspect ratio instead of compressing it. */
  .aw-figma-logo {
    width: 208.62px !important;
    height: 55px !important;
    max-width: none !important;
    object-fit: fill !important;
  }

  /* Exact Figma colors and catalog geometry. */
  .aw-catalog-button .elementor-button,
  .aw-catalog-button .elementor-button-text {
    color: #5f38fd !important;
  }

  .aw-catalog-button .elementor-button-icon {
    width: 44px !important;
    height: 40px !important;
    margin-right: 0 !important;
    background: url('/img/cms/codex-menu-assets/home-catalog.png') center / 44px 40px no-repeat !important;
  }

  .aw-catalog-button .elementor-button-icon i,
  .aw-catalog-button .elementor-button-icon svg {
    display: none !important;
  }

  /* Home menu groups: x=320,574,796,918,1136,1450; gaps are 33px. */
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_43,
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_44,
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_45,
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_46,
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_47,
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_48 {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin-right: 33px !important;
  }

  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_43 { width: 221px !important; }
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_44 { width: 189px !important; }
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_45 { width: 89px !important; }
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_46 { width: 185px !important; }
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_47 { width: 281px !important; }
  #adtm_menu ul#menu > li.li-niveau1.advtm_menu_48 { width: 111px !important; margin-right: 0 !important; }

  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > a.a-niveau1,
  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > .adtm_hummingbird_menu_item > a.a-niveau1 {
    width: 100% !important;
    min-width: 0 !important;
  }

  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > a.a-niveau1 > .advtm_menu_span,
  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > .adtm_hummingbird_menu_item > a.a-niveau1 > .advtm_menu_span {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    font-size: 16px !important;
    color: #4a4a4a !important;
  }

  /* Icons from Figma page 1 - Home. */
  #adtm_menu li.advtm_menu_43 a.a-niveau1::before,
  #adtm_menu li.advtm_menu_44 a.a-niveau1::before,
  #adtm_menu li.advtm_menu_45 a.a-niveau1::before,
  #adtm_menu li.advtm_menu_46 a.a-niveau1::before,
  #adtm_menu li.advtm_menu_47 a.a-niveau1::before,
  #adtm_menu li.advtm_menu_48 a.a-niveau1::before {
    flex: 0 0 auto !important;
    display: block !important;
    content: "" !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  #adtm_menu li.advtm_menu_43 a.a-niveau1::before {
    width: 28px !important; height: 28px !important; margin-right: 8px !important;
    background-image: url('/img/cms/codex-menu-assets/home-protection.png') !important;
    background-size: 28px 28px !important;
  }

  #adtm_menu li.advtm_menu_44 a.a-niveau1::before {
    width: 28px !important; height: 28px !important; margin-right: 6px !important;
    background-image: url('/img/cms/codex-menu-assets/home-finition.png') !important;
    background-size: 28px 28px !important;
  }

  #adtm_menu li.advtm_menu_45 a.a-niveau1::before {
    width: 22px !important; height: 22px !important; margin-right: 7px !important;
    background-image: url('/img/cms/codex-menu-assets/home-visserie.png') !important;
    background-size: 22px 22px !important;
  }

  #adtm_menu li.advtm_menu_46 a.a-niveau1::before {
    width: 29px !important; height: 29px !important; margin-right: 6px !important;
    background-image: url('/img/cms/codex-menu-assets/home-butees.png') !important;
    background-size: 29px 29px !important;
  }

  #adtm_menu li.advtm_menu_47 a.a-niveau1::before {
    width: 21px !important; height: 18px !important; margin-right: 6px !important;
    background-image: url('/img/cms/codex-menu-assets/home-liens.png') !important;
    background-size: 21px 18px !important;
  }

  #adtm_menu li.advtm_menu_48 a.a-niveau1::before {
    width: 15px !important; height: 15px !important; margin-right: 7px !important;
    background-image: url('/img/cms/codex-menu-assets/home-promotions.png') !important;
    background-size: 15px 15px !important;
  }

  /* At narrower widths, preserve the Figma proportions without wrapping or
     letting the central list overlap the fixed family button. */
  @media (max-width: 1919px) {
    #adtm_menu ul#menu > li.li-niveau1.advtm_menu_43,
    #adtm_menu ul#menu > li.li-niveau1.advtm_menu_44,
    #adtm_menu ul#menu > li.li-niveau1.advtm_menu_45,
    #adtm_menu ul#menu > li.li-niveau1.advtm_menu_46,
    #adtm_menu ul#menu > li.li-niveau1.advtm_menu_47,
    #adtm_menu ul#menu > li.li-niveau1.advtm_menu_48 {
      width: auto !important;
      margin-right: clamp(0px, calc(10.3125vw - 165px), 33px) !important;
    }

    #adtm_menu ul#menu > li.li-niveau1.advtm_menu_48 { margin-right: 0 !important; }

    #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > a.a-niveau1 > .advtm_menu_span,
    #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) > .adtm_hummingbird_menu_item > a.a-niveau1 > .advtm_menu_span {
      font-size: clamp(10px, calc(1.083333vw - 4.8px), 16px) !important;
    }

    #adtm_menu li.advtm_menu_43 a.a-niveau1::before {
      width: clamp(17.5px, 1.458333vw, 28px) !important; height: clamp(17.5px, 1.458333vw, 28px) !important;
      margin-right: clamp(5px, 0.416667vw, 8px) !important; background-size: 100% 100% !important;
    }
    #adtm_menu li.advtm_menu_44 a.a-niveau1::before {
      width: clamp(17.5px, 1.458333vw, 28px) !important; height: clamp(17.5px, 1.458333vw, 28px) !important;
      margin-right: clamp(3.75px, 0.3125vw, 6px) !important; background-size: 100% 100% !important;
    }
    #adtm_menu li.advtm_menu_45 a.a-niveau1::before {
      width: clamp(13.75px, 1.145833vw, 22px) !important; height: clamp(13.75px, 1.145833vw, 22px) !important;
      margin-right: clamp(4.375px, 0.364583vw, 7px) !important; background-size: 100% 100% !important;
    }
    #adtm_menu li.advtm_menu_46 a.a-niveau1::before {
      width: clamp(18.125px, 1.510417vw, 29px) !important; height: clamp(18.125px, 1.510417vw, 29px) !important;
      margin-right: clamp(3.75px, 0.3125vw, 6px) !important; background-size: 100% 100% !important;
    }
    #adtm_menu li.advtm_menu_47 a.a-niveau1::before {
      width: clamp(13.125px, 1.09375vw, 21px) !important; height: clamp(11.25px, 0.9375vw, 18px) !important;
      margin-right: clamp(3.75px, 0.3125vw, 6px) !important; background-size: 100% 100% !important;
    }
    #adtm_menu li.advtm_menu_48 a.a-niveau1::before {
      width: clamp(9.375px, 0.78125vw, 15px) !important; height: clamp(9.375px, 0.78125vw, 15px) !important;
      margin-right: clamp(4.375px, 0.364583vw, 7px) !important; background-size: 100% 100% !important;
    }
  }
}

/* Codex / Figma "1 - Home" asset delivery and logo sizing hotfix v8. */
@media (min-width: 768px) {
  /* The first topbar column is absolutely positioned in the existing header. */
  .aw-top-logo,
  .aw-top-logo .elementor-column-wrap,
  .aw-top-logo .elementor-widget-wrap,
  .aw-top-logo .elementor-widget-heading,
  .aw-top-logo .elementor-widget-container,
  .aw-top-logo .elementor-heading-title,
  .aw-top-logo .elementor-heading-title > a {
    width: 208.62px !important;
    min-width: 208.62px !important;
    max-width: none !important;
    flex: 0 0 208.62px !important;
  }

  .aw-figma-logo {
    content: url('/img/cms/codex-home-logo.png') !important;
    width: 208.62px !important;
    height: 55px !important;
    min-width: 208.62px !important;
    max-width: none !important;
    flex: 0 0 208.62px !important;
    object-fit: fill !important;
  }

  /* Keep the Figma x=292 contact start after widening the logo. */
  .elementor-element-7c1629c.aw-contact-col {
    left: 239px !important;
  }

  /* The public server exposes files directly from /img/cms/. */
  .aw-catalog-button .elementor-button-icon {
    background-image: url('/img/cms/codex-home-catalog.png') !important;
  }

  .aw-family-button .elementor-button-icon {
    width: 12px !important;
    height: 13px !important;
    background: url('/img/cms/codex-home-family.png') center / 12px 13px no-repeat !important;
  }

  .aw-family-button .elementor-button-icon i,
  .aw-family-button .elementor-button-icon svg {
    display: none !important;
  }

  #adtm_menu li.advtm_menu_43 a.a-niveau1::before {
    background-image: url('/img/cms/codex-home-protection.png') !important;
  }
  #adtm_menu li.advtm_menu_44 a.a-niveau1::before {
    background-image: url('/img/cms/codex-home-finition.png') !important;
  }
  #adtm_menu li.advtm_menu_45 a.a-niveau1::before {
    background-image: url('/img/cms/codex-home-visserie.png') !important;
  }
  #adtm_menu li.advtm_menu_46 a.a-niveau1::before {
    background-image: url('/img/cms/codex-home-butees.png') !important;
  }
  #adtm_menu li.advtm_menu_47 a.a-niveau1::before {
    background-image: url('/img/cms/codex-home-liens.png') !important;
  }
  #adtm_menu li.advtm_menu_48 a.a-niveau1::before {
    background-image: url('/img/cms/codex-home-promotions.png') !important;
  }
}

/* Codex / Figma "1 - Home" logo vertical ratio correction v9. */
@media (min-width: 768px) {
  .aw-top-logo,
  .aw-top-logo .elementor-column-wrap,
  .aw-top-logo .elementor-widget-wrap,
  .aw-top-logo .elementor-widget-heading,
  .aw-top-logo .elementor-wulget-container,
  .aw-top-logo .elementor-heading-title,
  .aw-top-logo .elementor-heading-title > a {
    height: 55px !important;
    min-height: 55px !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .aw-top-logo .elementor-heading-title,
  .aw-top-logo .elementor-heading-title > a {
    align-items: center !important;
  }

  .aw-figma-logo {
    content: url('/img/cms/codex-home-logo.png') !important;
    width: 208.62px !important;
    height: 55px !important;
    min-width: 208.62px !important;
    min-height: 55px !important;
    max-width: none !important;
    max-height: none !important;
    flex: 0 0 208.62px !important;
    object-fit: fill !important;
    position: relative !important;
    top: -1px !important;
  }
}/* End custom CSS */

/* Codex / Figma "1 - Home" responsive proportions correction v10. */
@media (min-width: 1100px) and (max-width: 1919px) {
  /* Scale the two fixed side blocks with the viewport so the central ATM list
     keeps its available width and never runs underneath the family button. */
  .aw-catalog-col {
    width: 16.666667vw !important;
    max-width: 16.666667vw !important;
    flex: 0 0 16.666667vw !important;
  }

  .aw-catalog-button {
    width: 16.666667vw !important;
    max-width: 16.666667vw !important;
  }

  .aw-catalog-button .elementor-button {
    width: calc(100% - clamp(7px, 0.46875vw, 9px)) !important;
    max-width: calc(100% - clamp(7px, 0.46875vw, 9px)) !important;
  }

  .aw-family-col {
    width: 15.416667vw !important;
    max-width: 15.416667vw !important;
    flex: 0 0 15.416667vw !important;
  }
}

/* At the laptop breakpoint the existing column is 122px wide. Keep the
   exact Figma logo ratio inside it instead of allowing the 208px desktop
   asset to overflow into the phone/contact block. */
@media (min-width: 768px) and (max-width: 1439px) {
  .aw-top-logo .aw-figma-logo {
    width: 122px !important;
    height: 32.16px !important;
    min-width: 122px !important;
    min-height: 32.16px !important;
    max-width: none !important;
    max-height: none !important;
    flex: 0 0 122px !important;
    object-fit: fill !important;
    top: 0 !important;
  }
}


/* Codex / Figma "1 - Home" slider and catalogue banner correction v11. */
/* Reference: local Bouchons plastiques.fig, Slider node 4110:1212. */

html,
body {
  overflow-x: hidden !important;
}

/* The Figma slider is a 1920 x 821 composition: 658 px hero + 163 px banner. */
.aw-hero,
.aw-catalog-strip {
  left: 0 !important;
  margin-left: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.aw-hero {
  position: relative !important;
  height: 658px !important;
  min-height: 658px !important;
  overflow: hidden !important;
  background-color: #17205f !important;
  background-image: url('/img/cms/codex-slider-hero.png') !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.aw-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(41, 26, 110, .18) 0%, rgba(36, 31, 119, .03) 48%, rgba(18, 71, 155, .20) 100%),
    rgba(0, 0, 0, .52) !important;
}

/* Arrows and pagination are decorative layers from the Figma reference. */
.aw-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  pointer-events: none !important;
  background-image:
    url('/img/cms/codex-slider-arrow-left.svg'),
    url('/img/cms/codex-slider-arrow-right.svg'),
    radial-gradient(circle, #fff 0 5.5px, transparent 5.7px),
    radial-gradient(circle, transparent 0 4.2px, #fff 4.3px 5.2px, transparent 5.3px),
    radial-gradient(circle, transparent 0 4.2px, #fff 4.3px 5.2px, transparent 5.3px) !important;
  background-repeat: no-repeat !important;
  background-size: 17px 30px, 17px 30px, 11px 11px, 11px 11px, 11px 11px !important;
  background-position: 59px 372px, calc(100% - 49px) 372px, calc(50% - 23px) 604px, 50% 604px, calc(50% + 23px) 604px !important;
}

.aw-hero > .elementor-container {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.aw-hero > .elementor-container > .elementor-row,
.aw-hero > .elementor-container > .elementor-row > .elementor-column,
.aw-hero > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap,
.aw-hero > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap > .elementor-widget-wrap {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Figma group 4110:1217: x=505, y=279, w=892, h=96 at 1920 px. */
.aw-hero-title {
  position: absolute !important;
  z-index: 3 !important;
  left: calc(50% - 455px) !important;
  top: 279px !important;
  width: 892px !important;
  height: 96px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.aw-hero-title::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  left: 0 !important;
  top: 0 !important;
  width: 96px !important;
  height: 96px !important;
  border: 1px solid rgba(255, 255, 255, .95) !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  background: #fff url('/img/cms/codex-slider-circle.png') center center / cover no-repeat !important;
}

.aw-hero-title .elementor-widget-container {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.aw-hero-title .elementor-heading-title {
  position: absolute !important;
  left: 88px !important;
  top: 9px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 50px !important;
  line-height: 1.26 !important;
  font-style: italic !important;
  font-weight: 300 !important;
  letter-spacing: -1.7px !important;
  text-transform: none !important;
}

.aw-hero-title .elementor-heading-title strong {
  font-weight: 800 !important;
  font-style: italic !important;
}

/* Figma subtitle 4110:1216: x=600, y=364. */
.aw-hero-subtitle {
  position: absolute !important;
  z-index: 3 !important;
  left: calc(50% - 360px) !important;
  top: 364px !important;
  width: 900px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.aw-hero-subtitle .elementor-heading-title {
  width: 100% !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 20px !important;
  line-height: 20px !important;
  font-weight: 400 !important;
  letter-spacing: .19px !important;
  text-align: left !important;
  text-transform: none !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .25) !important;
}

/* Figma reminder tab 4110:1249: x=1878, y=438, w=47, h=177. */
.aw-hero-subtitle::after {
  content: "↪  Rappel immédiat" !important;
  position: absolute !important;
  z-index: 6 !important;
  left: 1278px !important;
  top: 74px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 47px !important;
  height: 177px !important;
  box-sizing: border-box !important;
  border-radius: 9px 0 0 9px !important;
  background: #fff !important;
  color: #4b2bdf !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 13px !important;
  line-height: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  writing-mode: vertical-rl !important;
  transform: rotate(180deg) !important;
  box-shadow: 0 1px 6px rgba(0, 0, 0, .12) !important;
}

/* Figma CTA 4110:1237: x=818, y=432, w=294, h=62. */
.aw-btn-gold {
  position: absolute !important;
  z-index: 3 !important;
  left: calc(50% - 142px) !important;
  top: 432px !important;
  width: 294px !important;
  height: 62px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.aw-btn-gold .elementor-widget-container,
.aw-btn-gold .elementor-button {
  width: 294px !important;
  height: 62px !important;
  min-height: 62px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

.aw-btn-gold .elementor-button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background: #be811c !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 14px !important;
  line-height: 19px !important;
  font-weight: 400 !important;
  text-align: left !important;
  text-transform: none !important;
}

.aw-btn-gold .elementor-button-content-wrapper {
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  margin-left: 38px !important;
  padding: 0 !important;
}

.aw-btn-gold .elementor-button-icon {
  display: block !important;
  flex: 0 0 40px !important;
  width: 40px !important;
  height: 19px !important;
  margin: 0 10.6px 0 0 !important;
  padding: 0 !important;
  background: url('/img/cms/figma-cta-icons.svg') center center / 40px 19px no-repeat !important;
  font-size: 0 !important;
}

.aw-btn-gold .elementor-button-icon i,
.aw-btn-gold .elementor-button-icon svg {
  display: none !important;
}

.aw-btn-gold .elementor-button-text {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  color: #fff !important;
  font: inherit !important;
}

/* Banner: exact Figma gradient/texture and solid right panel. */
.aw-catalog-strip {
  position: relative !important;
  height: 163px !important;
  min-height: 163px !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: linear-gradient(to bottom, #5827ff 0%, #6e2aff 50%, #4f59f7 100%) !important;
}

.aw-catalog-strip::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: url('/img/cms/codex-slider-banner-texture.jpg') 0 0 / 2000px 2000px repeat !important;
  mix-blend-mode: darken !important;
  opacity: .49 !important;
}

.aw-catalog-strip > .elementor-container {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 163px !important;
  min-height: 163px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.aw-catalog-strip > .elementor-container > .elementor-row {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 163px !important;
  min-height: 163px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.aw-catalog-strip .elementor-element-b55053f,
.aw-catalog-strip .elementor-element-11fe388 {
  position: absolute !important;
  top: 0 !important;
  height: 163px !important;
  min-height: 163px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.aw-catalog-strip .elementor-element-b55053f {
  left: 0 !important;
  width: 72.3958333333vw !important;
  max-width: none !important;
  z-index: 1 !important;
}

.aw-catalog-strip .elementor-element-11fe388 {
  left: 72.3958333333vw !important;
  width: 27.8645833333vw !important;
  max-width: none !important;
  z-index: 2 !important;
}

.aw-catalog-strip .elementor-element-b55053f > .elementor-column-wrap,
.aw-catalog-strip .elementor-element-b55053f > .elementor-column-wrap > .elementor-widget-wrap {
  position: static !important;
  width: 100% !important;
  height: 163px !important;
  min-height: 163px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.aw-catalog-strip .elementor-element-11fe388 > .elementor-column-wrap,
.aw-catalog-strip .elementor-element-11fe388 > .elementor-column-wrap > .elementor-widget-wrap {
  position: static !important;
  width: 100% !important;
  height: 163px !important;
  min-height: 163px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #4724d7 !important;
}

/* Figma text node 4110:1233: x=58, y=710, w=1284. */
.aw-catalog-strip-text {
  position: absolute !important;
  left: 58px !important;
  top: 52px !important;
  width: calc(100% - 106px) !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 3 !important;
}

.aw-catalog-strip-text .elementor-widget-container,
.aw-catalog-strip-text p {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 18px !important;
  line-height: 23.103px !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

.aw-catalog-strip-text strong,
.aw-catalog-strip-text b {
  color: #fff !important;
  font-weight: 800 !important;
}

/* Figma right content group 4110:1234: x=1522, y=711, w=272, h=59. */
.aw-download-card {
  position: absolute !important;
  left: 132px !important;
  top: 53px !important;
  width: 272px !important;
  height: 59px !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 3 !important;
}

.aw-download-card .elementor-widget-container,
.aw-download-card .elementor-button {
  width: 272px !important;
  height: 59px !important;
  min-height: 59px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.aw-download-card .elementor-button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background: transparent !important;
  color: #fff !important;
  text-align: left !important;
}

.aw-download-card .elementor-button-content-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 31px !important;
  width: 272px !important;
  height: 59px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.aw-download-card .elementor-button-icon {
  display: block !important;
  flex: 0 0 59px !important;
  width: 59px !important;
  height: 59px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.aw-download-card .elementor-button-icon svg {
  width: 59px !important;
  height: 59px !important;
}

.aw-download-card .elementor-button-text {
  display: block !important;
  width: 182px !important;
  height: 59px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  white-space: nowrap !important;
}

.aw-download-card .elementor-button-text::before,
.aw-download-card .elementor-button-text::after {
  display: block !important;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  text-align: left !important;
}

.aw-download-card .elementor-button-text::before {
  content: "Télécharger" !important;
  margin: 0 !important;
  font-size: 22px !important;
  line-height: 28px !important;
  font-weight: 800 !important;
}

.aw-download-card .elementor-button-text::after {
  content: "notre catalogue" !important;
  margin: 0 !important;
  font-size: 22px !important;
  line-height: 28px !important;
  font-weight: 300 !important;
}

@media (max-width: 900px) {
  .aw-hero {
    height: 560px !important;
    min-height: 560px !important;
  }

  .aw-hero-title {
    left: 50% !important;
    top: 245px !important;
    transform: translateX(-50%) scale(.72) !important;
    transform-origin: top center !important;
  }

  .aw-hero-subtitle {
    left: 50% !important;
    top: 345px !important;
    transform: translateX(-50%) scale(.82) !important;
    transform-origin: top center !important;
  }

  .aw-hero-subtitle::after {
    display: none !important;
  }

  .aw-btn-gold {
    left: 50% !important;
    top: 420px !important;
    transform: translateX(-50%) scale(.9) !important;
    transform-origin: top center !important;
  }

  .aw-hero::after {
    background-position: 24px 320px, calc(100% - 41px) 320px, calc(50% - 23px) 510px, 50% 510px, calc(50% + 23px) 510px !important;
  }

  .aw-catalog-strip {
    height: 300px !important;
    min-height: 300px !important;
  }

  .aw-catalog-strip > .elementor-container,
  .aw-catalog-strip > .elementor-container > .elementor-row {
    height: 300px !important;
    min-height: 300px !important;
  }

  .aw-catalog-strip .elementor-element-b55053f,
  .aw-catalog-strip .elementor-element-11fe388 {
    left: 0 !important;
    width: 100% !important;
    height: 185px !important;
    min-height: 185px !important;
  }

  .aw-catalog-strip .elementor-element-11fe388 {
    top: 185px !important;
    height: 115px !important;
    min-height: 115px !important;
  }

  .aw-catalog-strip .elementor-element-b55053f > .elementor-column-wrap,
  .aw-catalog-strip .elementor-element-b55053f > .elementor-column-wrap > .elementor-widget-wrap,
  .aw-catalog-strip .elementor-element-11fe388 > .elementor-column-wrap,
  .aw-catalog-strip .elementor-element-11fe388 > .elementor-column-wrap > .elementor-widget-wrap {
    height: 100% !important;
    min-height: 0 !important;
  }

  .aw-catalog-strip-text {
    left: 20px !important;
    top: 25px !important;
    width: calc(100% - 40px) !important;
  }

  .aw-catalog-strip-text .elementor-widget-container,
  .aw-catalog-strip-text p {
    font-size: 16px !important;
    line-height: 22px !important;
  }

  .aw-download-card {
    left: 50% !important;
    top: 28px !important;
    transform: translateX(-50%) scale(.8) !important;
    transform-origin: top center !important;
  }
}


/* Codex / Figma "1 - Home" canvas origin correction v11b. */
body section.elementor-section-stretched.aw-hero,
body section.elementor-section-stretched.aw-catalog-strip {
  left: 0 !important;
  margin-left: 0 !important;
  width: calc(100vw + 15px) !important;
}


/* Codex / Figma "1 - Home" hero paint correction v11c. */
.aw-hero::before {
  background:
    rgba(131, 80, 189, .16),
    linear-gradient(145deg, rgba(23, 2, 91, 0) 0%, rgba(13, 0, 57, .26) 100%),
    rgba(0, 0, 0, .52) !important;
}


/* Codex / Figma "1 - Home" responsive card centering correction v11d. */
.aw-download-card {
  left: 50% !important;
  transform: translateX(-50%) !important;
}

@media (max-width: 900px) {
  .aw-download-card {
    transform: translateX(-50%) scale(.8) !important;
  }
}


/* Codex / Figma "1 - Home" banner kerning correction v11e. */
.aw-catalog-strip-text .elementor-widget-container,
.aw-catalog-strip-text p {
  letter-spacing: -0.05px !important;
}


/* Codex / Figma "1 - Home" banner line-fit correction v11f. */
.aw-catalog-strip-text .elementor-widget-container,
.aw-catalog-strip-text p {
  letter-spacing: -0.1px !important;
}

/* Footer correction v12 — reference Figma: 1 - Home / Footer.
   Scope volontairement limité à .aw-footer-main. La bande de réassurance
   située au-dessus n'est pas ciblée. */

@media (min-width: 1200px) {
  body section.elementor-section-stretched.aw-footer-main {
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .aw-footer-main {
    box-sizing: border-box !important;
    height: 396px !important;
    min-height: 396px !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    background-image:
      linear-gradient(rgba(34, 15, 98, 0.76), rgba(34, 15, 98, 0.76)),
      url("/img/cms/codex-footer-bg-figma.png") !important;
    background-position: center center !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
  }

  .aw-footer-main > .elementor-container {
    box-sizing: border-box !important;
    width: min(1373.5px, calc(100% - 64px)) !important;
    max-width: 1373.5px !important;
    height: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: relative !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    position: relative !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column {
    box-sizing: border-box !important;
    display: block !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    top: 0 !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(1) {
    left: 0 !important;
    width: 182px !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(2) {
    left: 28.5759% !important;
    width: 254px !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(3) {
    left: 60.9418% !important;
    width: 194px !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(4) {
    left: 88.9996% !important;
    width: 151px !important;
  }

  .aw-footer-main .elementor-column-wrap,
  .aw-footer-main .elementor-widget-wrap {
    box-sizing: border-box !important;
    display: block !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
  }

  .aw-footer-main .elementor-widget {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
  }

  .aw-footer-main .elementor-widget-container,
  .aw-footer-main .elementor-heading-title,
  .aw-footer-main .elementor-icon-list-items {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Colonne société : coordonnées mesurées dans la référence Figma. */
  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(1) .aw-footer-logo {
    left: 0.5px !important;
    top: 87px !important;
    width: 122px !important;
    height: 32.164px !important;
  }

  .aw-footer-main .aw-footer-logo .elementor-heading-title {
    width: 122px !important;
    height: 32.164px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    background: url("/img/cms/codex-footer-logo-figma.png") center center / 100% 100% no-repeat !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(1) .aw-footer-address {
    left: 0.5px !important;
    top: 135px !important;
    width: 182px !important;
    height: 48px !important;
  }

  .aw-footer-main .aw-footer-address .elementor-widget-container {
    color: #fff !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 16px !important;
    white-space: nowrap !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(1) .aw-footer-phone {
    left: 0 !important;
    top: 211px !important;
    width: 182px !important;
    height: 29px !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(1) .aw-footer-mail {
    left: 0.5px !important;
    top: 252px !important;
    width: 121px !important;
    height: 29px !important;
  }

  .aw-footer-main .aw-footer-phone .elementor-widget-container,
  .aw-footer-main .aw-footer-mail .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;
  }

  .aw-footer-main .aw-footer-phone a,
  .aw-footer-main .aw-footer-mail a {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 13px !important;
    border: 1px solid #fff !important;
    border-radius: 33px !important;
    font-family: Inter, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 19.23px !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  .aw-footer-main .aw-footer-phone a {
    color: #fff !important;
    background: transparent !important;
  }

  .aw-footer-main .aw-footer-mail a {
    color: #220f62 !important;
    background: #fff !important;
    font-weight: 500 !important;
  }

  .aw-footer-main .aw-footer-phone .elementor-button-content-wrapper,
  .aw-footer-main .aw-footer-mail .elementor-button-content-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
    white-space: nowrap !important;
  }

  .aw-footer-main .aw-footer-phone .elementor-button-text,
  .aw-footer-main .aw-footer-mail .elementor-button-text {
    padding: 0 !important;
  }

  .aw-footer-main .aw-footer-phone .elementor-button-icon,
  .aw-footer-main .aw-footer-mail .elementor-button-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 11px !important;
    min-width: 11px !important;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 11px !important;
  }

  /* Colonnes de navigation : positions et hiérarchie de la maquette. */
  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(2) .aw-footer-title,
  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(3) .aw-footer-title,
  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(4) .aw-footer-title {
    left: 0 !important;
    top: 93px !important;
    width: 100% !important;
    height: 22.58px !important;
  }

  .aw-footer-main .aw-footer-title .elementor-heading-title {
    color: #fff !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 22.58px !important;
    white-space: nowrap !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(2) .aw-footer-cats,
  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(3) .aw-footer-links,
  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(4) .aw-footer-links {
    left: 0 !important;
    top: 125px !important;
    width: 100% !important;
    height: auto !important;
  }

  .aw-footer-main .aw-footer-cats .elementor-icon-list-items,
  .aw-footer-main .aw-footer-links .elementor-icon-list-items {
    list-style: none !important;
  }

  .aw-footer-main .aw-footer-cats .elementor-icon-list-item,
  .aw-footer-main .aw-footer-links .elementor-icon-list-item {
    display: block !important;
    height: 22.58px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .aw-footer-main .aw-footer-cats a,
  .aw-footer-main .aw-footer-links a,
  .aw-footer-main .aw-footer-cats .elementor-icon-list-text,
  .aw-footer-main .aw-footer-links .elementor-icon-list-text {
    color: #fff !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 22.58px !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }

  /* La maquette contient également Promotions dans Navigation. */
  .aw-footer-main .aw-footer-cats .elementor-icon-list-items::after {
    content: "Promotions";
    display: block !important;
    height: 22.58px !important;
    color: #fff !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 22.58px !important;
    white-space: nowrap !important;
  }

  /* Réseaux sociaux : le sprite exporté depuis la référence Figma contient
     les quatre pastilles FB / YouTube / LinkedIn / X à 29 px. */
  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(4) .aw-footer-social {
    left: 0 !important;
    top: 230px !important;
    width: 143px !important;
    height: 30px !important;
  }

  .aw-footer-main .aw-footer-social .elementor-widget-container,
  .aw-footer-main .aw-footer-social .elementor-social-icons-wrapper {
    box-sizing: border-box !important;
    display: block !important;
    width: 143px !important;
    height: 30px !important;
    background: url("/img/cms/codex-footer-social.svg") left top / 143px 30px no-repeat !important;
  }

  .aw-footer-main .aw-footer-social .elementor-social-icons-wrapper {
    position: relative !important;
  }

  .aw-footer-main .aw-footer-social .elementor-grid-item {
    box-sizing: border-box !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    width: 29px !important;
    height: 29px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .aw-footer-main .aw-footer-social .elementor-grid-item:nth-child(1) { left: 0 !important; }
  .aw-footer-main .aw-footer-social .elementor-grid-item:nth-child(2) { left: 38px !important; }
  .aw-footer-main .aw-footer-social .elementor-grid-item:nth-child(3) { left: 76px !important; }

  .aw-footer-main .aw-footer-social .elementor-social-icon {
    display: block !important;
    width: 29px !important;
    height: 29px !important;
    padding: 0 !important;
    background: transparent !important;
    color: transparent !important;
    border: 0 !important;
    border-radius: 50% !important;
    opacity: 0 !important;
  }

  .aw-footer-main::before {
    content: "";
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 36px;
    left: 0;
    height: 1px;
    background: rgba(255, 255, 255, 0.09);
  }

  .aw-footer-main::after {
    content: "Mentions légales - Conditions générales d’utilisation - Une réalisation AltaïsWeb";
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 12px;
    left: 0;
    color: #fff;
    font-family: Inter, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 14.76px;
    text-align: center;
    white-space: nowrap;
  }
}

/* À partir de 1440 px, on reprend les coordonnées absolues du frame Figma
   1920 px (x = 273 / 665,5 / 1 110,5 / 1 495,5). */
@media (min-width: 1440px) {
  .aw-footer-main > .elementor-container {
    margin-left: calc((100% - 1373.5px) / 2 + 7.25px) !important;
    margin-right: 0 !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(2) {
    left: 392.5px !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(3) {
    left: 837.5px !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column:nth-child(4) {
    left: 1222.5px !important;
  }
}

@media (max-width: 1199px) {
  .aw-footer-main {
    box-sizing: border-box !important;
    min-height: 396px !important;
    height: auto !important;
    padding: 56px 32px 56px !important;
    overflow: hidden !important;
    background-image:
      linear-gradient(rgba(34, 15, 98, 0.76), rgba(34, 15, 98, 0.76)),
      url("/img/cms/codex-footer-bg-figma.png") !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }

  .aw-footer-main > .elementor-container,
  .aw-footer-main > .elementor-container > .elementor-row {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 48px 56px !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column {
    position: static !important;
    width: auto !important;
    height: auto !important;
    min-height: 220px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .aw-footer-main .elementor-column-wrap,
  .aw-footer-main .elementor-widget-wrap {
    height: auto !important;
    min-height: 220px !important;
    padding: 0 !important;
    display: block !important;
  }

  .aw-footer-main .elementor-widget {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 16px !important;
  }

  .aw-footer-main .aw-footer-logo .elementor-heading-title {
    width: 122px !important;
    height: 32.164px !important;
    font-size: 0 !important;
    background: url("/img/cms/codex-footer-logo-figma.png") center / 100% 100% no-repeat !important;
  }

  .aw-footer-main .aw-footer-title .elementor-heading-title {
    color: #fff !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 22.58px !important;
  }

  .aw-footer-main .aw-footer-cats .elementor-icon-list-item,
  .aw-footer-main .aw-footer-links .elementor-icon-list-item {
    height: auto !important;
    min-height: 22.58px !important;
    margin: 0 !important;
  }

  .aw-footer-main .aw-footer-cats a,
  .aw-footer-main .aw-footer-links a,
  .aw-footer-main .aw-footer-cats .elementor-icon-list-text,
  .aw-footer-main .aw-footer-links .elementor-icon-list-text {
    color: #fff !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 16px !important;
    line-height: 22.58px !important;
  }

  .aw-footer-main .aw-footer-social {
    width: 143px !important;
    height: 30px !important;
  }

  .aw-footer-main .aw-footer-social .elementor-widget-container,
  .aw-footer-main .aw-footer-social .elementor-social-icons-wrapper {
    width: 143px !important;
    height: 30px !important;
    background: url("/img/cms/codex-footer-social.svg") left top / 143px 30px no-repeat !important;
  }

  .aw-footer-main .aw-footer-social .elementor-social-icon {
    opacity: 0 !important;
  }

  .aw-footer-main::before,
  .aw-footer-main::after {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .aw-footer-main {
    padding: 44px 24px 32px !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row {
    display: block !important;
  }

  .aw-footer-main > .elementor-container > .elementor-row > .elementor-column {
    min-height: 0 !important;
    margin-bottom: 36px !important;
  }

  .aw-footer-main .elementor-column-wrap,
  .aw-footer-main .elementor-widget-wrap {
    min-height: 0 !important;
  }
}

/* Home / Figma correction v13.
   Reference: local Figma file, page "1 - Home".
   This block keeps the existing typography and reassurance artwork intact. */

/* Dynamic hero controls. The first frame remains the exact Figma frame. */
.aw-hero.aw-slider-ready {
  background-image: none !important;
}

/* Laptop/zoom profile (1200–1599px): replace the desktop artboard's absolute header
   coordinates with a contained flex layout. Typography remains unchanged;
   only the available gaps and decorative icon footprints become fluid. */
@media (min-width: 1200px) and (max-width: 1599px) {
  .aw-topbar > .elementor-container {
    box-sizing: border-box !important;
    width: calc(100% - 64px) !important;
    max-width: none !important;
    margin-left: 32px !important;
    margin-right: 32px !important;
    padding: 0 !important;
  }

  .aw-topbar > .elementor-container > .elementor-row {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0 !important;
    position: relative !important;
  }

  .aw-topbar > .elementor-container > .elementor-row > .elementor-column {
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .aw-topbar > .elementor-container > .elementor-row > .aw-top-logo {
    box-sizing: border-box !important;
    flex: 0 0 clamp(166px, 10.8656vw, 208.62px) !important;
    width: clamp(166px, 10.8656vw, 208.62px) !important;
    min-width: clamp(166px, 10.8656vw, 208.62px) !important;
    max-width: none !important;
    height: clamp(44px, 2.8646vw, 55px) !important;
    min-height: clamp(44px, 2.8646vw, 55px) !important;
  }

  .aw-topbar .aw-top-logo .aw-figma-logo,
  .aw-topbar .aw-top-logo .elementor-heading-title,
  .aw-topbar .aw-top-logo .elementor-heading-title > a {
    box-sizing: border-box !important;
    width: clamp(166px, 10.8656vw, 208.62px) !important;
    min-width: clamp(166px, 10.8656vw, 208.62px) !important;
    max-width: none !important;
    height: clamp(44px, 2.8646vw, 55px) !important;
    min-height: clamp(44px, 2.8646vw, 55px) !important;
  }

  .aw-topbar > .elementor-container > .elementor-row > .elementor-column:nth-child(2) {
    box-sizing: border-box !important;
    flex: 0 0 272px !important;
    width: 272px !important;
    min-width: 272px !important;
    max-width: 272px !important;
  }

  .aw-topbar > .elementor-container > .elementor-row > .elementor-column:nth-child(3) {
    box-sizing: border-box !important;
    flex: 0 1 clamp(320px, 24.7396vw, 462px) !important;
    width: clamp(320px, 24.7396vw, 462px) !important;
    min-width: 320px !important;
    max-width: 462px !important;
  }

  .aw-topbar > .elementor-container > .elementor-row > .elementor-column:nth-child(4),
  .aw-topbar > .elementor-container > .elementor-row > .elementor-column:nth-child(5) {
    box-sizing: border-box !important;
    flex: 0 0 184px !important;
    width: 184px !important;
    min-width: 184px !important;
    max-width: 184px !important;
  }

  .aw-topbar .aw-contact-line,
  .aw-topbar .aw-top-search,
  .aw-topbar .aw-search,
  .aw-topbar .aw-top-links,
  .aw-topbar .aw-top-actions {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
  }

  .aw-topbar .aw-contact-line .elementor-icon-list-items {
    gap: 8px !important;
  }

  .aw-topbar .aw-top-search .elementor-widget-wrap,
  .aw-topbar .aw-top-search .aw-search {
    min-width: 0 !important;
  }

  /* The nav keeps one line and keeps the family CTA anchored at the right. */
  .aw-catalog-col {
    flex: 0 0 16.6667vw !important;
    width: 16.6667vw !important;
    max-width: 16.6667vw !important;
  }

  .aw-family-col {
    flex: 0 0 15.4167vw !important;
    width: 15.4167vw !important;
    max-width: 15.4167vw !important;
  }

  .aw-catalog-button,
  .aw-catalog-button .elementor-button {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .aw-catalog-button .elementor-button {
    padding-left: 22px !important;
  }

  .aw-catalog-button .elementor-button-icon {
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 33px !important;
    background-size: 36px 33px !important;
  }

  .aw-family-button,
  .aw-family-button .elementor-button {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .aw-family-button .elementor-button {
    padding-left: 16px !important;
    padding-right: 8px !important;
  }

  .aw-family-button .elementor-button-content-wrapper {
    gap: 10px !important;
  }

  #adtm_menu,
  #adtm_menu_inner,
  #adtm_menu ul#menu {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  #adtm_menu ul#menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    overflow: hidden !important;
  }

  #adtm_menu ul#menu > li.li-niveau1 {
    flex: 0 0 auto !important;
    margin-right: 0 !important;
  }

  #adtm_menu li.advtm_menu_43 a.a-niveau1::before {
    width: 21px !important;
    height: 21px !important;
    margin-right: 2px !important;
    background-size: 21px 21px !important;
  }

  #adtm_menu li.advtm_menu_44 a.a-niveau1::before {
    width: 21px !important;
    height: 21px !important;
    margin-right: 2px !important;
    background-size: 21px 21px !important;
  }

  #adtm_menu li.advtm_menu_45 a.a-niveau1::before {
    width: 17px !important;
    height: 17px !important;
    margin-right: 2px !important;
    background-size: 17px 17px !important;
  }

  #adtm_menu li.advtm_menu_46 a.a-niveau1::before {
    width: 22px !important;
    height: 22px !important;
    margin-right: 2px !important;
    background-size: 22px 22px !important;
  }

  #adtm_menu li.advtm_menu_47 a.a-niveau1::before {
    width: 16px !important;
    height: 16px !important;
    margin-right: 2px !important;
    background-size: 16px 16px !important;
  }

  #adtm_menu li.advtm_menu_48 a.a-niveau1::before {
    width: 12px !important;
    height: 12px !important;
    margin-right: 2px !important;
    background-size: 12px 12px !important;
  }
}

/* Below the 1536px fit profile, preserve the one-line menu and keep every
   top-level item accessible horizontally instead of letting it overlay the
   fixed family button. */
@media (min-width: 1200px) and (max-width: 1449px) {
  #adtm_menu ul#menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin !important;
  }

  #adtm_menu ul#menu > li.li-niveau1 {
    flex: 0 0 auto !important;
  }
}

/* Keep the Figma CTA geometry isolated from the inherited Creative Elements
   button dimensions so it cannot intrude into the newsletter below. */
@media (min-width: 768px) {
  .aw-about-section .aw-btn-gold > .elementor-widget-container,
  .aw-about-section .aw-btn-gold > .elementor-widget-container > a.elementor-button-link.elementor-button,
  .aw-about-section .aw-btn-gold > .elementor-widget-container > a.elementor-button-link.elementor-button.elementor-size-sm {
    box-sizing: border-box !important;
    display: flex !important;
    width: 192px !important;
    max-width: 192px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  .aw-about-section .aw-btn-gold .elementor-button-content-wrapper {
    display: flex !important;
    width: auto !important;
    height: 20px !important;
    min-height: 20px !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

.aw-hero .aw-slider-media {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  opacity: 0 !important;
  transition: opacity 420ms ease-in-out !important;
  pointer-events: none !important;
}

.aw-hero .aw-slider-media.is-active {
  opacity: 1 !important;
}

.aw-hero.aw-slider-ready::after {
  background-image: none !important;
}

.aw-hero .aw-slider-controls {
  position: absolute !important;
  z-index: 6 !important;
  inset: 0 !important;
  pointer-events: none !important;
}

.aw-hero .aw-slider-arrow {
  position: absolute !important;
  top: 372px !important;
  display: block !important;
  width: 17px !important;
  height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 17px 30px !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  opacity: 1 !important;
}

.aw-hero .aw-slider-arrow-prev {
  left: 59px !important;
  background-image: url("/img/cms/codex-slider-arrow-left.svg") !important;
}

.aw-hero .aw-slider-arrow-next {
  right: 49px !important;
  background-image: url("/img/cms/codex-slider-arrow-right.svg") !important;
}

.aw-hero .aw-slider-arrow:focus-visible,
.aw-hero .aw-slider-dot:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 4px !important;
}

.aw-hero .aw-slider-dots {
  position: absolute !important;
  top: 604px !important;
  left: 50% !important;
  display: flex !important;
  width: 57px !important;
  height: 11px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
  pointer-events: auto !important;
}

.aw-hero .aw-slider-dot {
  display: block !important;
  flex: 0 0 11px !important;
  width: 11px !important;
  height: 11px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: inset 0 0 0 1px #ffffff !important;
  cursor: pointer !important;
}

.aw-hero .aw-slider-dot.is-active {
  background: #ffffff !important;
  box-shadow: none !important;
}

/* The footer uses the exact same source logo as the header, scaled to the
   footer's Figma box. */
.aw-footer-main .aw-footer-logo .elementor-heading-title {
  background: url("/img/cms/codex-figma-logo.png") center center / 100% 100% no-repeat !important;
}

/* Remove the theme's 100vw compensation on the corrected full-width frames;
   it is the source of the 7.5 px drift and of the family button appearing in
   the following section at constrained widths. */
body section.elementor-section-stretched.aw-about-section,
body section.elementor-section-stretched.aw-newsletter,
body section.elementor-section-stretched.aw-feature-bar,
body section.elementor-section-stretched.aw-footer-main {
  left: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

/* The Figma "En savoir +" control is kept visual-only here because the
   existing Creative Elements page does not expose a stable widget slot for it. */
@media (min-width: 1440px) {
  .aw-about-section::after {
    box-sizing: border-box !important;
    content: "En savoir +" !important;
    display: flex !important;
    position: absolute !important;
    z-index: 4 !important;
    top: 627px !important;
    left: 1683px !important;
    width: 111px !important;
    height: 36px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
    background: linear-gradient(90deg, #6338ff 0%, #5526ec 100%) !important;
    box-shadow: 0 8px 18px rgba(99, 56, 255, 0.25) !important;
    color: #ffffff !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    pointer-events: none !important;
  }
}

/* Exact desktop composition of the Figma presentation block. */
@media (min-width: 1440px) {
  body section.elementor-section-stretched.aw-about-section {
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 175.37px !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
  }

  .aw-about-section {
    box-sizing: border-box !important;
    height: 881px !important;
    min-height: 881px !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    background: #f0f4fe !important;
  }

  .aw-about-section > .elementor-container {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 881px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
  }

  .aw-about-section > .elementor-container > .elementor-row {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    position: relative !important;
  }

  .aw-about-section > .elementor-container > .elementor-row > .elementor-column {
    box-sizing: border-box !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
  }

  .aw-about-section > .elementor-container > .elementor-row > .elementor-column:nth-child(1) {
    top: 58px !important;
    left: 38px !important;
    width: 655.3235px !important;
    height: 655.3235px !important;
  }

  .aw-about-section > .elementor-container > .elementor-row > .elementor-column:nth-child(2) {
    top: 133px !important;
    left: 693px !important;
    width: 1111px !important;
    height: 560px !important;
  }

  .aw-about-section .elementor-column-wrap,
  .aw-about-section .elementor-widget-wrap {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
  }

  .aw-about-image {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 655.3235px !important;
    height: 655.3235px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .aw-about-image::before,
  .aw-about-image::after {
    box-sizing: border-box !important;
    content: "" !important;
    display: block !important;
    position: absolute !important;
    border: 6px solid #6338ff !important;
    border-radius: 50% !important;
    pointer-events: none !important;
  }

  .aw-about-image::before {
    top: 0 !important;
    left: 0 !important;
    width: 655.3235px !important;
    height: 655.3235px !important;
  }

  .aw-about-image::after {
    top: 57px !important;
    left: 48px !important;
    width: 500px !important;
    height: 500px !important;
  }

  .aw-about-image .elementor-widget-container {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    z-index: 2 !important;
  }

  .aw-about-image img {
    box-sizing: border-box !important;
    display: block !important;
    position: absolute !important;
    top: 140px !important;
    left: 30px !important;
    width: 568px !important;
    height: 331px !important;
    max-height: none !important;
    max-width: none !important;
    border-radius: 10px !important;
    object-fit: fill !important;
  }

  .aw-about-kicker,
  .aw-about-title,
  .aw-about-copy,
  .aw-about-more,
  .aw-about-section .aw-btn-gold {
    box-sizing: border-box !important;
    position: absolute !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .aw-about-kicker {
    top: 0 !important;
    left: 2px !important;
    width: 218px !important;
    height: 20px !important;
  }

  .aw-about-kicker .elementor-heading-title {
    color: #be801c !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }

  .aw-about-title {
    top: 20px !important;
    left: 0 !important;
    width: 652px !important;
    height: 50px !important;
  }

  .aw-about-title .elementor-heading-title {
    color: #000c3c !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    line-height: 50px !important;
    white-space: nowrap !important;
  }

  .aw-about-copy {
    top: 80px !important;
    left: 0 !important;
    width: 1111px !important;
    height: 463px !important;
  }

  .aw-about-copy .elementor-widget-container {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    height: 463px !important;
    position: relative !important;
  }

  .aw-about-copy p,
  .aw-about-copy h3 {
    box-sizing: border-box !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    width: 1111px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #000c3c !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    text-align: left !important;
  }

  .aw-about-copy p {
    font-size: 16px !important;
    line-height: 20px !important;
  }

  .aw-about-copy p:nth-of-type(1) {
    top: 0 !important;
    height: 40px !important;
    font-weight: 800 !important;
  }

  .aw-about-copy h3 {
    top: 74px !important;
    height: 25px !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 25px !important;
  }

  .aw-about-copy p:nth-of-type(2) {
    top: 116px !important;
    height: 100px !important;
    font-weight: 400 !important;
  }

  .aw-about-copy p:nth-of-type(3) {
    top: 233px !important;
    height: 40px !important;
    font-weight: 400 !important;
  }

  .aw-about-copy p:nth-of-type(4) {
    top: 343px !important;
    height: 40px !important;
    font-weight: 300 !important;
  }

  .aw-about-section .aw-btn-gold {
    top: 370px !important;
    left: 1px !important;
    width: 192px !important;
    height: 36px !important;
    background: #be801c !important;
    box-shadow: 0 8px 18px rgba(190, 128, 28, 0.24) !important;
  }

  .aw-about-section .aw-btn-gold a,
  .aw-about-more a {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    white-space: nowrap !important;
  }

  .aw-about-section .aw-btn-gold .elementor-button-icon {
    display: none !important;
  }

  .aw-about-more {
    top: 494px !important;
    left: 990px !important;
    width: 111px !important;
    height: 36px !important;
    border-radius: 6px !important;
    background: linear-gradient(90deg, #6338ff 0%, #5526ec 100%) !important;
    box-shadow: 0 8px 18px rgba(99, 56, 255, 0.25) !important;
  }

  /* Newsletter frame: 843 px centered group, matching Figma x=539 at 1920 px. */
  body section.elementor-section-stretched.aw-newsletter,
  body section.elementor-section-stretched.aw-feature-bar {
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .aw-newsletter {
    box-sizing: border-box !important;
    height: 136px !important;
    min-height: 136px !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    background: #ffffff !important;
  }

  .aw-newsletter > .elementor-container {
    box-sizing: border-box !important;
    display: block !important;
    width: 843px !important;
    max-width: 843px !important;
    height: 136px !important;
    margin: 0 0 0 calc((100% - 843px) / 2 + 7.5px) !important;
    padding: 0 !important;
    position: relative !important;
  }

  .aw-newsletter > .elementor-container > .elementor-row {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    position: relative !important;
  }

  .aw-newsletter > .elementor-container > .elementor-row > .elementor-column {
    box-sizing: border-box !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
  }

  .aw-news-copy {
    top: 30px !important;
    left: 0 !important;
    width: 297px !important;
    height: 56px !important;
  }

  .aw-news-copy .elementor-column-wrap,
  .aw-news-copy .elementor-widget-wrap {
    position: relative !important;
    width: 100% !important;
    height: 56px !important;
    display: block !important;
  }

  .aw-news-kicker,
  .aw-news-title {
    box-sizing: border-box !important;
    position: absolute !important;
    left: 0 !important;
    width: 297px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .aw-news-kicker {
    top: 0 !important;
    height: 20px !important;
  }

  .aw-news-kicker .elementor-heading-title {
    color: #cf912b !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 20px !important;
  }

  .aw-news-title {
    top: 20px !important;
    height: 36px !important;
  }

  .aw-news-title .elementor-heading-title {
    color: #000c3c !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    line-height: 36px !important;
    white-space: nowrap !important;
  }

  .aw-news-form-col {
    top: 30px !important;
    left: 430px !important;
    width: 413px !important;
    height: 58px !important;
  }

  .aw-news-form {
    top: 9px !important;
    left: 0 !important;
    width: 413px !important;
    height: 49px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .aw-news-form .elementor-widget-container,
  .aw-news-form form,
  .aw-news-form .elementor-form-fields-wrapper,
  .aw-news-form .elementor-field-group {
    box-sizing: border-box !important;
    display: block !important;
    width: 413px !important;
    height: 49px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
  }

  .aw-news-form input.elementor-field {
    box-sizing: border-box !important;
    display: block !important;
    width: 413px !important;
    height: 49px !important;
    margin: 0 !important;
    padding: 0 140px 0 24px !important;
    border: 0 !important;
    border-radius: 10px !important;
    color: #000c3c !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    background: #ffffff !important;
    box-shadow: 0 7px 20px rgba(0, 12, 60, 0.08) !important;
  }

  .aw-news-form input.elementor-field::placeholder {
    color: #8b8b8b !important;
    opacity: 1 !important;
  }

  .aw-news-form button.elementor-button {
    box-sizing: border-box !important;
    display: flex !important;
    position: absolute !important;
    top: 6px !important;
    right: 8px !important;
    width: 117px !important;
    height: 36px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #6134ff !important;
    border-radius: 6px !important;
    background: linear-gradient(90deg, #6338ff 0%, #5526ec 100%) !important;
    color: #ffffff !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
  }

  .aw-news-form .elementor-button-content-wrapper {
    display: block !important;
  }

  .aw-news-form .elementor-button-text {
    padding: 0 !important;
    white-space: nowrap !important;
  }

  .aw-news-note-col {
    top: 106px !important;
    left: 26px !important;
    width: 791px !important;
    height: 15px !important;
  }

  .aw-news-note,
  .aw-news-note .elementor-widget-container,
  .aw-news-note p {
    box-sizing: border-box !important;
    display: block !important;
    width: 791px !important;
    height: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #000c3c !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 12px !important;
    font-weight: 300 !important;
    line-height: 15px !important;
    white-space: nowrap !important;
  }

  /* Keep the reassurance artwork and its horizontal geometry; only the Figma
     band's height is restored so the footer starts at the correct y-coordinate. */
  .aw-feature-bar {
    box-sizing: border-box !important;
    height: 156px !important;
    min-height: 156px !important;
    padding: 39px 0 53px !important;
    overflow: hidden !important;
  }

  .aw-feature-bar > .elementor-container {
    box-sizing: border-box !important;
    width: 1140px !important;
    max-width: 1140px !important;
    height: 64px !important;
    margin: 0 0 0 calc((100% - 1140px) / 2 - 7.5px) !important;
    padding: 0 !important;
  }

  .aw-footer-main .aw-footer-logo .elementor-heading-title {
    background: url("/img/cms/codex-figma-logo.png") center center / 100% 100% no-repeat !important;
  }
}

/* Fluid tablet layout: preserve the Figma hierarchy without fixed-width overflow. */
@media (min-width: 768px) and (max-width: 1599px) {
  .aw-hero .aw-slider-arrow {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .aw-hero .aw-slider-arrow-prev { left: 24px !important; }
  .aw-hero .aw-slider-arrow-next { right: 24px !important; }
  .aw-hero .aw-slider-dots { top: auto !important; bottom: 38px !important; }

  .aw-about-section {
    box-sizing: border-box !important;
    min-height: 0 !important;
    height: auto !important;
    margin-top: 64px !important;
    padding: 64px 32px 80px !important;
    overflow: hidden !important;
    background: #f0f4fe !important;
  }

  .aw-about-section > .elementor-container,
  .aw-about-section > .elementor-container > .elementor-row {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .aw-about-section > .elementor-container > .elementor-row > .elementor-column {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 0 56px !important;
    padding: 0 !important;
    position: static !important;
  }

  .aw-about-section > .elementor-container > .elementor-row > .elementor-column:first-child {
    display: flex !important;
    justify-content: center !important;
  }

  .aw-about-image {
    box-sizing: border-box !important;
    width: min(655px, 100%) !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    position: relative !important;
  }

  .aw-about-image::before { inset: 0 !important; width: 100% !important; height: 100% !important; }
  .aw-about-image::after { top: 8.7% !important; left: 7.3% !important; width: 76.3% !important; height: 76.3% !important; }
  .aw-about-image img { top: 21.34% !important; left: 5.28% !important; width: 89.44% !important; height: 50.5% !important; max-width: none !important; }

  .aw-about-section > .elementor-container > .elementor-row > .elementor-column:nth-child(2) {
    margin-bottom: 0 !important;
  }

  .aw-about-section .elementor-column-wrap,
  .aw-about-section .elementor-widget-wrap {
    height: auto !important;
    min-height: 0 !important;
    position: static !important;
  }

  .aw-about-kicker,
  .aw-about-title,
  .aw-about-copy,
  .aw-about-more,
  .aw-about-section .aw-btn-gold {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 0 20px !important;
  }

  .aw-about-title .elementor-heading-title {
    font-size: clamp(28px, 4vw, 40px) !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  .aw-about-copy .elementor-widget-container,
  .aw-about-copy p,
  .aw-about-copy h3 {
    position: static !important;
    width: 100% !important;
    height: auto !important;
  }

  .aw-about-copy p,
  .aw-about-copy h3 { margin: 0 0 18px !important; }
  .aw-about-copy h3 { font-size: 20px !important; line-height: 1.35 !important; }
  .aw-about-section .aw-btn-gold,
  .aw-about-more { width: 192px !important; height: 36px !important; }

  .aw-newsletter {
    height: 136px !important;
    min-height: 136px !important;
  }

  .aw-newsletter > .elementor-container {
    width: min(843px, calc(100% - 48px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
  }

  .aw-feature-bar {
    height: 156px !important;
    min-height: 156px !important;
    padding: 39px 24px 53px !important;
  }

  .aw-feature-bar > .elementor-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

@media (max-width: 767px) {
  .aw-hero .aw-slider-arrow {
    top: 50% !important;
    width: 14px !important;
    height: 25px !important;
    background-size: 14px 25px !important;
    transform: translateY(-50%) !important;
  }

  .aw-hero .aw-slider-arrow-prev { left: 14px !important; }
  .aw-hero .aw-slider-arrow-next { right: 14px !important; }
  .aw-hero .aw-slider-dots { top: auto !important; bottom: 24px !important; }

  .aw-about-section {
    margin-top: 40px !important;
    padding: 40px 20px 56px !important;
  }

  .aw-about-section > .elementor-container > .elementor-row > .elementor-column {
    margin-bottom: 40px !important;
  }

  .aw-about-image { width: 100% !important; }
  .aw-about-copy p,
  .aw-about-copy h3 { font-size: 15px !important; line-height: 1.45 !important; }
  .aw-about-title .elementor-heading-title { font-size: 28px !important; }

  .aw-newsletter {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 30px 20px 28px !important;
  }

  .aw-newsletter > .elementor-container {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
  }

  .aw-newsletter > .elementor-container > .elementor-row { height: auto !important; }

  .aw-newsletter > .elementor-container > .elementor-row > .elementor-column,
  .aw-news-copy,
  .aw-news-form-col,
  .aw-news-note-col,
  .aw-news-form,
  .aw-news-note {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 0 18px !important;
  }

  .aw-news-copy,
  .aw-news-copy .elementor-column-wrap,
  .aw-news-copy .elementor-widget-wrap { height: 56px !important; }
  .aw-news-form { height: 49px !important; }
  .aw-news-form .elementor-widget-container,
  .aw-news-form form,
  .aw-news-form .elementor-form-fields-wrapper,
  .aw-news-form .elementor-field-group,
  .aw-news-form input.elementor-field { width: 100% !important; }
  .aw-news-note { margin-bottom: 0 !important; }
  .aw-news-note .elementor-widget-container,
  .aw-news-note p { width: 100% !important; height: auto !important; white-space: normal !important; }

  .aw-feature-bar {
    height: auto !important;
    min-height: 156px !important;
    padding: 32px 20px !important;
  }

  .aw-feature-bar > .elementor-container {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
  }
}

/* Final precedence for the desktop Figma proportions. This block is kept at
   the end so it wins over the earlier legacy 185px card rule. */
@media (min-width: 992px) {
  body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__top,
  body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .thumbnail-container {
    height: 220px !important;
    min-height: 220px !important;
  }

  body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__image {
    width: 220px !important;
    height: 220px !important;
    max-width: 220px !important;
    max-height: 220px !important;
  }
}

/* Figma alignment for the curated product carousel. The reference uses the
   full section width: the previous 1560px Elementor container was squeezing
   the five desktop cards together and moving the first/last cards inward. */
@media (min-width: 992px) {
  body section.elementor-section-stretched.aw-product-carousel-section > .elementor-container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body section.elementor-section-stretched.aw-product-carousel-section > .elementor-container > .elementor-row,
  body section.elementor-section-stretched.aw-product-carousel-section > .elementor-container > .elementor-row > .elementor-column,
  body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__top,
  body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .thumbnail-container {
    height: 220px !important;
    min-height: 220px !important;
  }

  body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__image {
    width: 220px !important;
    height: 220px !important;
    max-width: 220px !important;
    max-height: 220px !important;
  }
}

/* Product information is intentionally rebuilt from the catalog values in
   the Figma frame. Existing font family and weights are inherited. */
body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__bottom {
  align-items: center !important;
  padding: 16px 8px 0 !important;
  gap: 8px !important;
}

body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__infos {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  gap: 0 !important;
}

body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__title {
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  line-height: 17.5px !important;
  text-align: center !important;
}

body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .codex-product-reference {
  width: 100% !important;
  margin-top: 7px !important;
  color: #9b9b9b !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 18px !important;
  text-align: center !important;
}

body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__prices {
  display: block !important;
  width: 100% !important;
  margin-top: 2px !important;
  line-height: 19px !important;
  text-align: center !important;
}

body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__price {
  color: #6436ff !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 19px !important;
  text-align: center !important;
}

body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__price sup {
  position: relative !important;
  top: -0.35em !important;
  margin-left: 2px !important;
  color: #6436ff !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .codex-product-minimum {
  width: 100% !important;
  margin-top: 1px !important;
  color: #c88617 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 18px !important;
  text-align: center !important;
}

body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
}

body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__actions .product-miniature__form {
  display: none !important;
}

body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .codex-product-details {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 35px !important;
  margin-top: 0 !important;
  padding: 7px 16px !important;
  border-radius: 5px !important;
  background: #6436ff !important;
  box-shadow: 0 2px 5px rgba(100, 54, 255, .22) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .codex-product-details[hidden] {
  display: none !important;
}

/* Keep the auxiliary Figma CTA inside the fluid À-propos section on a
   1536px laptop, where the fixed 1920px coordinate is no longer applicable. */
@media (min-width: 768px) and (max-width: 1599px) {
  .aw-about-section {
    position: relative !important;
  }

  .aw-about-section::after {
    top: auto !important;
    right: 32px !important;
    bottom: 32px !important;
    left: auto !important;
  }
}

/* The ATM list must occupy the whole middle column. Without this explicit
   width on every Creative Elements wrapper, the list sizes itself to its
   content and leaves the available white space after Promotions unused. */
@media (min-width: 1200px) and (max-width: 1599px) {
  .aw-atm-col,
  .aw-atm-col > .elementor-column-wrap,
  .aw-atm-col > .elementor-column-wrap > .elementor-widget-wrap,
  .aw-atm-shortcode,
  .aw-atm-shortcode > .elementor-widget-container,
  #adtm_menu,
  #adtm_menu_inner,
  #adtm_menu ul#menu {
    box-sizing: border-box !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  #adtm_menu ul#menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  #adtm_menu ul#menu > li.li-niveau1:not(.advtm_menu_toggle) {
    flex: 0 0 auto !important;
    margin-right: 0 !important;
  }

  /* PM Advanced Top Menu loads after the Creative Elements stylesheet and
     resets justify-content to flex-start. Use a controlled, fluid gap rather
     than space-between: this keeps the menu breathable without creating large
     gaps on a laptop, while still leaving room before the family CTA. */
  body #adtm_menu ul#menu {
    justify-content: flex-start !important;
    column-gap: clamp(12px, 1.3vw, 20px) !important;
  }
}

/* Keep the complete Figma footer artwork visible. The source artwork is
   intentionally fitted to the full footer frame instead of being cropped,
   while the lighter overlay preserves the blue texture visible in Figma. */
body section.elementor-section-stretched.aw-footer-main {
  background-image:
    linear-gradient(rgba(34, 15, 98, .52), rgba(34, 15, 98, .52)),
    url("/img/cms/codex-footer-bg-figma.png") !important;
  background-position: center center, center center !important;
  background-size: 100% 100%, 100% 100% !important;
  background-repeat: no-repeat, no-repeat !important;
}

/* Reuse the exact SVG selected for the header in the footer, preserving its
   209:55 ratio while reducing the footer mark to 110:29. */
body section.elementor-section-stretched.aw-footer-main .aw-footer-logo,
body section.elementor-section-stretched.aw-footer-main .aw-footer-logo .elementor-heading-title {
  box-sizing: border-box !important;
  width: 110px !important;
  min-width: 110px !important;
  max-width: 110px !important;
  height: 29px !important;
  min-height: 29px !important;
  max-height: 29px !important;
}

body section.elementor-section-stretched.aw-footer-main .aw-footer-logo .elementor-heading-title {
  display: block !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
  background: url("/img/cms/codex-header-logo.svg") center center / 100% 100% no-repeat !important;
}

/* Reassurance strip: use the supplied Figma background artwork while leaving
   the existing reassurance icons and copy untouched. */
body section.elementor-section-stretched.aw-feature-bar {
  background-image: url("/img/cms/codex-reassurance-bg.png") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

/* At the narrow end of the laptop profile, keep every menu item reachable
   without allowing it to overlap the fixed family-search button. */
@media (min-width: 1200px) and (max-width: 1449px) {
  body #adtm_menu ul#menu {
    justify-content: flex-start !important;
    column-gap: clamp(12px, 1.3vw, 19px) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin !important;
  }
}

/* Reassurance placement from the supplied reference image. Only the
   horizontal tracks and title/description spacing are adjusted: the current
   fonts, icons and wording remain untouched. */
@media (min-width: 1200px) {
  body section.elementor-section-stretched.aw-feature-bar > .elementor-container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body section.elementor-section-stretched.aw-feature-bar > .elementor-container > .elementor-row {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 14.1% 21.2% 21.8% 21.2% 21.7% !important;
    align-items: center !important;
    width: 100% !important;
    height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body section.elementor-section-stretched.aw-feature-bar > .elementor-container > .elementor-row > .elementor-column {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body section.elementor-section-stretched.aw-feature-bar > .elementor-container > .elementor-row > .elementor-column:nth-child(1) { grid-column: 2 !important; }
  body section.elementor-section-stretched.aw-feature-bar > .elementor-container > .elementor-row > .elementor-column:nth-child(2) { grid-column: 3 !important; }
  body section.elementor-section-stretched.aw-feature-bar > .elementor-container > .elementor-row > .elementor-column:nth-child(3) { grid-column: 4 !important; }
  body section.elementor-section-stretched.aw-feature-bar > .elementor-container > .elementor-row > .elementor-column:nth-child(4) { grid-column: 5 !important; }

  body section.elementor-section-stretched.aw-feature-bar .aw-feature,
  body section.elementor-section-stretched.aw-feature-bar .aw-feature-logo {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body section.elementor-section-stretched.aw-feature-bar .aw-feature .elementor-icon-box-title {
    margin-bottom: 4px !important;
  }
}

/* Final visual cleanup: uppercase only the three footer section headings,
   keep social sprites transparent, and ensure the slider arrow has no painted
   rectangle behind its white chevron. */
body section.elementor-section-stretched.aw-footer-main .aw-footer-title .elementor-heading-title {
  text-transform: uppercase !important;
}

body section.elementor-section-stretched.aw-footer-main .aw-footer-social .elementor-widget-container,
body section.elementor-section-stretched.aw-footer-main .aw-footer-social .elementor-social-icons-wrapper {
  background-color: transparent !important;
  background-image: url("/img/cms/codex-footer-social.svg?v=3") !important;
  background-repeat: no-repeat !important;
  background-position: left top !important;
  background-size: 143px 30px !important;
}

body section.elementor-section-stretched.aw-hero::after {
  background-image: none !important;
}

body section.elementor-section-stretched.aw-hero .aw-slider-arrow {
  background-color: transparent !important;
}

body section.elementor-section-stretched.aw-hero .aw-slider-arrow-prev {
  background-image: url("/img/cms/codex-slider-arrow-left.svg?v=2") !important;
}

/* Les indispensables : garder la géométrie Figma tout en laissant Swiper
   déplacer les 10 produits au lieu de transformer le carrousel en grille. */
body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .elementor-carousel-wrapper {
  box-sizing: border-box !important;
  width: calc(100% - 108px) !important;
  margin-left: 54px !important;
  margin-right: 54px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: hidden !important;
}

body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .elementor-swiper-button-prev {
  left: 10px !important;
}

body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .elementor-swiper-button-next {
  right: 10px !important;
}

body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__top,
body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .thumbnail-container {
  height: 185px !important;
  min-height: 185px !important;
  aspect-ratio: auto !important;
}

@media (max-width: 767px) {
  body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .elementor-carousel-wrapper {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .elementor-swiper-button-prev {
    left: 8px !important;
  }

  body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .elementor-swiper-button-next {
    right: 8px !important;
  }
}

/* Final desktop precedence: the reference uses 220px product image frames. */
@media (min-width: 992px) {
  body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__top,
  body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .thumbnail-container {
    height: 220px !important;
    min-height: 220px !important;
  }

  body section.elementor-section-stretched.aw-product-carousel-section .aw-products-dynamic .product-miniature__image {
    width: 220px !important;
    height: 220px !important;
    max-width: 220px !important;
    max-height: 220px !important;
  }
}

