/* AOC Éditions — pont de compatibilité entre la structure Divi 4 et la maquette HTML validée. */
.aoc-divi4-page #page-container,.aoc-divi4-page #main-content{padding-top:0!important;margin-top:0!important;background:transparent}
.aoc-divi4-page #main-content>.container{width:100%!important;max-width:none!important;padding:0!important}
.aoc-divi4-page #left-area{width:100%!important;padding:0!important}
.aoc-divi4-page #sidebar{display:none!important}
.aoc-divi4-page .et_pb_section,.aoc-divi4-page .et_pb_row,.aoc-divi4-page .et_pb_column{box-sizing:border-box}
.aoc-divi4-page .et_pb_row.wrap{margin-left:auto!important;margin-right:auto!important}
.aoc-divi4-page .aoc-grid>.et_pb_column{float:none!important;width:auto!important;max-width:none!important;margin:0!important}
.aoc-divi4-page .et_pb_text,.aoc-divi4-page .et_pb_image,.aoc-divi4-page .et_pb_button_module_wrapper{margin-bottom:0!important}
.aoc-divi4-page .et_pb_text_inner>*:first-child{margin-top:0}

/* Boutons Divi : les classes de la maquette restent sur le wrapper module. */
.aoc-divi4-page .et_pb_button_module_wrapper.btn{display:inline-block;vertical-align:middle;margin-right:10px!important;margin-bottom:10px!important}
.aoc-divi4-page .et_pb_button_module_wrapper.btn .et_pb_button{display:inline-flex!important;align-items:center;justify-content:center;border-radius:999px!important;padding:13px 25px!important;min-height:46px;font:inherit!important;font-size:15px!important;line-height:1.2!important;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s!important;position:relative;overflow:hidden}
.aoc-divi4-page .et_pb_button_module_wrapper.btn .et_pb_button:after{display:none!important}
.aoc-divi4-page .et_pb_button_module_wrapper.primary .et_pb_button{background:#D6A23E!important;color:#241A06!important;border:1px solid transparent!important;box-shadow:0 11px 30px rgba(214,162,62,.14)}
.aoc-divi4-page .et_pb_button_module_wrapper.primary .et_pb_button:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(214,162,62,.22)!important}
.aoc-divi4-page .et_pb_button_module_wrapper.outline .et_pb_button{background:transparent!important;color:inherit!important;border:1px solid rgba(24,37,48,.2)!important}
.aoc-divi4-page .et_pb_button_module_wrapper.dark .et_pb_button{background:#182530!important;color:#F4EFE4!important;border:1px solid #182530!important}
.aoc-divi4-page .et_pb_button_module_wrapper.light .et_pb_button,.aoc-divi4-page .et_pb_button_module_wrapper.ghost .et_pb_button{background:rgba(244,239,228,.05)!important;color:#F4EFE4!important;border:1px solid rgba(244,239,228,.25)!important}

/* Images Divi */
.aoc-divi4-page .et_pb_image .et_pb_image_wrap{display:block;width:100%}
.aoc-divi4-page .et_pb_image img{display:block;max-width:100%;height:auto}
.aoc-divi4-page .cover .et_pb_image_wrap,.aoc-divi4-page .ghost-cover .et_pb_image_wrap{width:100%}

/* Entête global Theme Builder */
body.aoc-divi4-page header.et-l--header{z-index:99999}
body.aoc-divi4-page header.et-l--header .et_pb_section{background:transparent;padding:0!important}
body.aoc-divi4-page header.et-l--header .aoc-global-header-row{padding-top:0!important;padding-bottom:0!important}
body.aoc-divi4-page .aoc-brand-column,body.aoc-divi4-page .aoc-menu-column{display:flex!important;align-items:center!important}
body.aoc-divi4-page .aoc-menu-column{justify-content:flex-end!important}
body.aoc-divi4-page .aoc-brand-module{width:100%}
body.aoc-divi4-page .aoc-global-menu{width:100%}
body.aoc-divi4-page .aoc-global-menu .et_pb_menu__wrap{justify-content:flex-end!important}
body.aoc-divi4-page .aoc-global-menu .et_pb_menu__menu>nav>ul{display:flex!important;align-items:center!important;gap:30px!important;flex-wrap:nowrap!important}
body.aoc-divi4-page .aoc-global-menu .et_pb_menu__menu>nav>ul>li{padding:0!important;margin:0!important}
body.aoc-divi4-page .aoc-global-menu .et_pb_menu__menu>nav>ul>li>a{padding:6px 0!important;line-height:1.3!important}
body.aoc-divi4-page .aoc-global-menu .aoc-order>a{background:#D6A23E!important;color:#241A06!important;padding:10px 21px!important;border-radius:999px;box-shadow:0 8px 24px rgba(214,162,62,.15)}
body.aoc-divi4-page .aoc-global-menu .aoc-cart>a{width:42px;height:42px;display:grid!important;place-items:center;border:1px solid rgba(244,239,228,.16);border-radius:50%;padding:0!important;font-size:18px}
body.aoc-divi4-page .aoc-global-menu .et_mobile_nav_menu{margin-left:auto!important}
body.aoc-divi4-page .aoc-global-menu .mobile_menu_bar:before{color:#F4EFE4!important}
body.aoc-divi4-page .aoc-global-menu .et_mobile_menu{border-top:0!important;border-radius:18px;padding:14px!important;box-shadow:0 18px 50px rgba(0,0,0,.2)}
body.aoc-divi4-page .aoc-global-menu .et_mobile_menu li a{border-bottom:0!important;padding:11px 10px!important;color:#F4EFE4!important}

/* Pied de page global */
body.aoc-divi4-page footer.et-l--footer .et_pb_section{background:transparent!important;padding:0!important}
body.aoc-divi4-page footer.et-l--footer .aoc-footer-grid>.et_pb_column{float:none!important;width:auto!important;margin:0!important}
body.aoc-divi4-page footer.et-l--footer .aoc-footer-legal .et_pb_text_inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
body.aoc-divi4-page footer.et-l--footer .aoc-footer-brand-copy .brand{display:flex!important}

/* Accueil : animations décoratives et différences de structure. */
.aoc-page-accueil .hero.aoc-home-hero{position:relative;isolation:isolate}
.aoc-page-accueil .hero.aoc-home-hero:before{content:"";position:absolute;inset:0;z-index:-4;background-image:url("../images/aoc-hero-background.png");background-size:cover;background-position:72% 24%;background-repeat:no-repeat;background-attachment:fixed}
.aoc-page-accueil .hero.aoc-home-hero:after{content:"";position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(24,37,48,.96) 0%,rgba(24,37,48,.91) 24%,rgba(24,37,48,.80) 49%,rgba(24,37,48,.60) 76%,rgba(24,37,48,.43) 100%),linear-gradient(180deg,rgba(24,37,48,.06) 0%,rgba(24,37,48,0) 24%,rgba(24,37,48,0) 72%,rgba(24,37,48,.30) 100%)}
.aoc-page-accueil .aoc-home-hero .hero-grid{position:relative;z-index:3}
.aoc-page-accueil .aoc-trust-section{padding:0!important}
.aoc-page-accueil .trust .aoc-trust-copy .et_pb_text_inner{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}
.aoc-page-accueil .aoc-books-continuation{padding-top:0!important;padding-bottom:0!important}
.aoc-page-accueil .aoc-books-continuation .book-feature{padding-top:58px!important;padding-bottom:58px!important}
.aoc-page-accueil .books.aoc-content-section:first-of-type{}
.aoc-page-accueil .book-visual .et_pb_image.cover{width:255px;margin:auto!important;position:relative;z-index:2;transform:rotate(-2deg)}
.aoc-page-accueil .book-feature.alt .et_pb_image.cover{transform:rotate(2deg)}
.aoc-page-accueil .book-visual .et_pb_image.ghost-cover{position:absolute;width:205px!important;opacity:.12;filter:saturate(.65);transform:translate(90px,56px) rotate(7deg);z-index:1}
.aoc-page-accueil .book-feature.alt .book-visual .et_pb_image.ghost-cover{transform:translate(-92px,55px) rotate(-7deg)}
.aoc-page-accueil .book-feature:hover .et_pb_image.cover{transform:rotate(0) translateY(-7px) scale(1.015)}
.aoc-page-accueil .stack{position:relative;height:405px}
.aoc-page-accueil .stack .et_pb_image{position:absolute;width:210px!important;z-index:2}
.aoc-page-accueil .stack .et_pb_image.s1{left:24%;top:18px;transform:rotate(-8deg)}
.aoc-page-accueil .stack .et_pb_image.s2{left:47%;top:55px;transform:rotate(6deg)}
.aoc-page-accueil .portrait-frame .et_pb_image,.aoc-page-accueil .portrait-frame .et_pb_image_wrap,.aoc-page-accueil .portrait-frame img{height:590px!important;width:100%!important}
.aoc-page-accueil .portrait-frame img{object-fit:cover;object-position:center 20%}

/* Grilles de choix : image, texte et flèche restent des modules séparés. */
.aoc-choice-grid{display:grid!important;grid-template-columns:88px minmax(0,1fr) auto!important;align-items:center!important;column-gap:20px!important}
.aoc-choice-grid .choice-image,.aoc-choice-grid .choice-copy,.aoc-choice-grid .choice-arrow{padding:23px 0!important;border-top:1px solid rgba(24,37,48,.13)}
.aoc-choice-grid .choice-2{border-bottom:1px solid rgba(24,37,48,.13)}
.aoc-choice-grid .choice-image .et_pb_image_wrap{width:66px!important}
.aoc-choice-grid .choice-image img{width:66px!important;height:88px!important;object-fit:cover;box-shadow:0 12px 25px -14px rgba(24,37,48,.55)}
.aoc-choice-grid .choice-arrow{font-size:24px;color:#C16A43;text-align:right}

/* Produit : achat simulé, modules séparés à l'intérieur de la colonne purchase. */
.aoc-page-les-deux-etrangeres .aoc-purchase-continuation{padding-top:0!important}
.aoc-page-les-deux-etrangeres .product-purchase-grid{margin-top:-35px!important;padding-bottom:70px!important}
.aoc-page-les-deux-etrangeres .purchase{border:1px solid rgba(24,37,48,.14);border-radius:30px;padding:28px!important;background:rgba(255,255,255,.36);display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
.aoc-page-les-deux-etrangeres .purchase-price{flex:1 1 100%;margin-bottom:8px!important}
.aoc-page-les-deux-etrangeres .purchase-price .price{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}
.aoc-page-les-deux-etrangeres .purchase-price .price strong{font-size:34px;color:#182530;font-weight:500}
.aoc-page-les-deux-etrangeres .purchase-price .price small{color:#6a7475}
.aoc-page-les-deux-etrangeres .purchase-price .format-title{font:600 10px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#70797a;margin-bottom:8px}
.aoc-page-les-deux-etrangeres .et_pb_button_module_wrapper.format,.aoc-page-les-deux-etrangeres .et_pb_button_module_wrapper.quantity-control{display:inline-block;margin:0 7px 8px 0!important}
.aoc-page-les-deux-etrangeres .et_pb_button_module_wrapper.format .et_pb_button{background:transparent!important;color:#25323A!important;border:1px solid rgba(24,37,48,.18)!important;border-radius:16px!important;padding:10px 14px!important;font-size:13px!important}
.aoc-page-les-deux-etrangeres .et_pb_button_module_wrapper.format.active .et_pb_button{background:#182530!important;color:#F4EFE4!important;border-color:#182530!important}
.aoc-page-les-deux-etrangeres .quantity-output{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;text-align:center;border-top:1px solid rgba(24,37,48,.18);border-bottom:1px solid rgba(24,37,48,.18)}
.aoc-page-les-deux-etrangeres .et_pb_button_module_wrapper.quantity-control .et_pb_button{width:42px;height:42px;padding:0!important;background:transparent!important;color:#182530!important;border:1px solid rgba(24,37,48,.18)!important;border-radius:12px!important}
.aoc-page-les-deux-etrangeres .aoc-buy-button{margin-left:auto!important}
.aoc-page-les-deux-etrangeres .reassure{flex:1 1 100%;margin-top:8px!important}
.aoc-page-les-deux-etrangeres .reassure .et_pb_text_inner{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#6a7475}
.aoc-page-les-deux-etrangeres .spread{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;perspective:1200px}
.aoc-page-les-deux-etrangeres .spread .page{min-height:390px;padding:42px!important}
.aoc-page-les-deux-etrangeres .related.aoc-related-card-section{padding-top:0!important}

/* Divi Contact Form : adapte la sortie native à la maquette. */
.aoc-divi4-page .et_pb_contact_form_container h1,.aoc-divi4-page .et_pb_contact_form_container h2{display:none}
.aoc-divi4-page .et_pb_contact_form{margin-left:0!important}
.aoc-divi4-page .et_pb_contact_field{padding-left:0!important;margin-bottom:20px!important}
.aoc-divi4-page .et_pb_contact_field_0,.aoc-divi4-page .et_pb_contact_field_1{width:calc(50% - 10px)!important;float:left!important}
.aoc-divi4-page .et_pb_contact_field_1{margin-left:20px!important}
.aoc-divi4-page .et_pb_contact_field[data-type="select"],.aoc-divi4-page .et_pb_contact_field[data-type="text"]{width:100%!important;float:none!important;clear:both}
.aoc-divi4-page .et_pb_contact_field input,.aoc-divi4-page .et_pb_contact_field textarea,.aoc-divi4-page .et_pb_contact_field select{border:1px solid rgba(24,37,48,.14)!important;background:rgba(255,255,255,.55)!important;border-radius:18px!important;padding:14px 16px!important;color:#25323A!important;font:inherit!important}
.aoc-divi4-page .et_pb_contact_field textarea{min-height:160px}
.aoc-divi4-page .et_pb_contact_submit{border-radius:999px!important;background:#D6A23E!important;color:#241A06!important;border:0!important;padding:13px 24px!important;font:inherit!important}
.aoc-divi4-page .et_pb_contact_submit:after{display:none!important}
.aoc-divi4-page .aoc-contact-form-shell .et_pb_contact_form_container,.aoc-page-a-paraitre .aoc-notify-form{margin:0!important}
.aoc-page-a-paraitre .aoc-notify-form .et_pb_contact_field{width:calc(100% - 150px)!important;float:left!important;margin:0!important}
.aoc-page-a-paraitre .aoc-notify-form .et_contact_bottom_container{float:right!important;margin-top:0!important;width:140px}
.aoc-page-a-paraitre .aoc-notify-form .et_pb_contact_submit{width:100%;margin:0!important}

/* Petits ajustements de lignes Divi séquencées pour reproduire les sections HTML uniques. */
.aoc-page-les-livres .catalogue.aoc-content-section{background:#F4EFE4}
.aoc-page-les-livres .catalogue.aoc-book-row{padding-top:0!important;padding-bottom:0!important}
.aoc-page-les-livres .catalogue.aoc-book-row .book{padding-top:58px!important;padding-bottom:58px!important}
.aoc-page-a-paraitre .expect.aoc-expect-points{padding-top:0!important}
.aoc-page-olivier-bourrel .themes.aoc-theme-cards{padding-top:0!important}
.aoc-page-olivier-bourrel .books.aoc-book-cards{padding-top:0!important}

@media(max-width:900px){
 body.aoc-divi4-page .aoc-global-menu .et_pb_menu__menu{display:none!important}body.aoc-divi4-page .aoc-global-menu .et_mobile_nav_menu{display:block!important}
 body.aoc-divi4-page .aoc-global-header-row{grid-template-columns:1fr auto!important;display:grid!important;padding-left:23px!important;padding-right:23px!important}
 body.aoc-divi4-page .aoc-brand-column,body.aoc-divi4-page .aoc-menu-column{width:auto!important}
 .aoc-choice-grid{grid-template-columns:66px minmax(0,1fr) auto!important}.aoc-choice-grid .choice-image .et_pb_image_wrap,.aoc-choice-grid .choice-image img{width:54px!important}.aoc-choice-grid .choice-image img{height:72px!important}
 .aoc-page-accueil .book-visual .et_pb_image.cover{width:205px!important}.aoc-page-accueil .book-visual .et_pb_image.ghost-cover{width:165px!important}.aoc-page-accueil .stack{height:330px}.aoc-page-accueil .stack .et_pb_image{width:170px!important}.aoc-page-accueil .portrait-frame .et_pb_image,.aoc-page-accueil .portrait-frame .et_pb_image_wrap,.aoc-page-accueil .portrait-frame img{height:470px!important}
 .aoc-page-les-deux-etrangeres .product-purchase-grid{margin-top:0!important}.aoc-page-les-deux-etrangeres .purchase-spacer{display:none!important}.aoc-page-les-deux-etrangeres .product-purchase-grid{grid-template-columns:1fr!important}.aoc-page-les-deux-etrangeres .aoc-buy-button{margin-left:0!important}
 .aoc-divi4-page .et_pb_contact_field_0,.aoc-divi4-page .et_pb_contact_field_1{width:100%!important;float:none!important;margin-left:0!important}
 .aoc-page-a-paraitre .aoc-notify-form .et_pb_contact_field{width:100%!important;float:none!important;margin-bottom:12px!important}.aoc-page-a-paraitre .aoc-notify-form .et_contact_bottom_container{float:none!important;width:100%!important}
}
@media(max-width:560px){
 body.aoc-divi4-page footer.et-l--footer .aoc-footer-legal .et_pb_text_inner{display:block}
 .aoc-choice-grid{grid-template-columns:55px minmax(0,1fr)!important;column-gap:14px!important}.aoc-choice-grid .choice-arrow{display:none!important}.aoc-choice-grid .choice-image .et_pb_image_wrap,.aoc-choice-grid .choice-image img{width:50px!important}.aoc-choice-grid .choice-image img{height:67px!important}
 .aoc-page-accueil .stack{height:290px}.aoc-page-accueil .stack .et_pb_image{width:145px!important}.aoc-page-accueil .stack .et_pb_image.s1{left:15%}.aoc-page-accueil .stack .et_pb_image.s2{left:46%}
 .aoc-page-les-deux-etrangeres .purchase{padding:20px!important}.aoc-page-les-deux-etrangeres .purchase-price .price{display:block}.aoc-page-les-deux-etrangeres .aoc-buy-button{width:100%;display:block!important}.aoc-page-les-deux-etrangeres .aoc-buy-button .et_pb_button{width:100%}
}

/* Audit de fidélité V1.0.0 — détails visuels de la maquette conservés malgré le DOM Divi. */
.aoc-page-accueil .hero.aoc-home-hero:after{
 background:
  linear-gradient(90deg,rgba(24,37,48,.96) 0%,rgba(24,37,48,.91) 24%,rgba(24,37,48,.80) 49%,rgba(24,37,48,.60) 76%,rgba(24,37,48,.43) 100%),
  linear-gradient(180deg,rgba(24,37,48,.06) 0%,rgba(24,37,48,0) 24%,rgba(24,37,48,0) 72%,rgba(24,37,48,.30) 100%),
  radial-gradient(circle at 82% 32%,rgba(214,162,62,.10),transparent 30%),
  radial-gradient(circle at 88% 70%,rgba(94,151,160,.09),transparent 28%),
  radial-gradient(circle at 100% 55%,rgba(0,0,0,.12),transparent 34%)!important
}
.aoc-page-accueil .aoc-home-hero .hero-grid:before{content:"";position:absolute;right:6%;top:50%;width:470px;height:470px;border:1px solid rgba(255,255,255,.055);border-radius:50%;transform:translateY(-50%);pointer-events:none;z-index:-1;box-shadow:inset 0 0 0 48px transparent,inset 0 0 0 49px rgba(214,162,62,.035)}
.aoc-page-accueil .aoc-home-hero .hero-grid:after{content:"";position:absolute;width:66%;height:1px;top:28%;left:39%;transform:rotate(-12deg);transform-origin:left center;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),rgba(214,162,62,.24),transparent);pointer-events:none;z-index:-1}
body.intro-play.aoc-page-accueil .aoc-home-hero .hero-grid:before{animation:ringIn 1.3s .55s both,slowSpin 32s 1.8s linear infinite}
body.intro-play.aoc-page-accueil .aoc-home-hero .hero-grid:after{animation:threadIn 1.5s .35s both,threadFloat 12s 1.9s ease-in-out infinite alternate}

/* L'ancien CSS masquait le conteneur .menu sur mobile ; le module Menu Divi doit rester visible. */
@media(max-width:900px){body.aoc-divi4-page .aoc-global-menu.menu{display:block!important;position:relative!important;top:auto!important;right:auto!important;left:auto!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important}}
@media(max-width:560px){.aoc-page-accueil .aoc-home-hero .et_pb_button_module_wrapper.btn{display:block!important;width:100%!important;margin-right:0!important}.aoc-page-accueil .aoc-home-hero .et_pb_button_module_wrapper.btn .et_pb_button{width:100%!important}}

/* Détails du visuel produit reconstruits sans wrapper HTML supplémentaire. */
.aoc-page-les-deux-etrangeres .product-grid .visual{position:relative;z-index:2}
.aoc-page-les-deux-etrangeres .product-grid .visual:after{content:"";position:absolute;left:18%;right:18%;bottom:7%;height:32px;background:rgba(20,27,32,.18);filter:blur(20px);border-radius:50%;z-index:-1}
.aoc-page-les-deux-etrangeres .product-grid .visual .cover{position:relative;z-index:2}

/* Le pied global remplace le séparateur HTML par une bordure native de ligne Divi. */
body.aoc-divi4-page footer.et-l--footer .aoc-footer-bottom{border-top:1px solid rgba(255,255,255,.11);padding-top:20px!important;margin-top:35px!important}
body.aoc-divi4-page .aoc-global-menu .aoc-order>a:after,body.aoc-divi4-page .aoc-global-menu .aoc-cart>a:after{display:none!important}

/* ================================================================
   V1.1.0 — stabilisation fidélité + Visual Builder
   ================================================================ */

/* Les animations d'apparition sont désactivées tant que la maquette statique
   n'est pas validée. Le Visual Builder doit toujours voir 100 % du contenu. */
.aoc-divi4-page .reveal,
.aoc-divi4-page .reveal.in,
.aoc-divi4-page.motion-armed .reveal,
.aoc-divi4-page.intro-play .reveal{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
.aoc-divi4-page.motion-armed .hero .eyebrow,
.aoc-divi4-page.motion-armed .hero h1,
.aoc-divi4-page.motion-armed .hero .lede,
.aoc-divi4-page.motion-armed .hero .btn.primary{
  opacity:1!important;
  transform:none!important;
  animation:none!important;
}
body.et-fb.aoc-divi4-page *,
body.aoc-divi4-page.et-fb *{
  animation:none!important;
  transition:none!important;
}

/* IMPORTANT : .btn est une classe de la maquette placée sur le wrapper du
   module Bouton Divi. On neutralise donc sur le wrapper les propriétés qui
   doivent appartenir uniquement au vrai <a class="et_pb_button">. */
.aoc-divi4-page .et_pb_button_module_wrapper.btn{
  padding:0!important;
  min-height:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  transition:none!important;
  color:inherit!important;
}
.aoc-divi4-page .et_pb_button_module_wrapper.btn .et_pb_button{
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:1.65!important;
  margin:0!important;
}
body.aoc-divi4-page:not(.aoc-page-accueil) .et_pb_button_module_wrapper.btn .et_pb_button{padding:13px 24px!important}
.aoc-page-accueil .et_pb_button_module_wrapper.btn .et_pb_button{padding:13px 25px!important}
.aoc-page-accueil .et_pb_button_module_wrapper.primary .et_pb_button,
.aoc-page-accueil .et_pb_button_module_wrapper.dark .et_pb_button{border:0!important}
.aoc-page-accueil .et_pb_button_module_wrapper.outline .et_pb_button{border:1px solid rgba(24,37,48,.13)!important}
.aoc-page-accueil .et_pb_button_module_wrapper.ghost .et_pb_button{border:1px solid rgba(244,239,228,.22)!important;background:rgba(244,239,228,.05)!important}
.aoc-divi4-page .et_pb_button_module_wrapper.btn:not(.aoc-inline-button){margin:0!important}
.aoc-page-accueil .hero-copy .aoc-inline-button{margin:0 14px 0 0!important}
.aoc-page-accueil .book-copy .aoc-inline-button{margin:0 11px 0 0!important}
.aoc-page-les-livres .book-copy .aoc-inline-button{margin:0 12px 0 0!important}

/* Accueil : la règle générique des sections ne doit jamais écraser les
   dimensions spécifiques du hero de la maquette. */
.aoc-page-accueil .hero.aoc-home-hero{padding:180px 0 118px!important}
.aoc-page-accueil .aoc-home-hero .aoc-hero-main-copy .lede{margin-bottom:30px!important}
.aoc-page-accueil .aoc-home-hero .hero-note{margin-bottom:14px!important}
.aoc-page-accueil .final .et_pb_text_inner>p:last-child{margin-bottom:26px!important}

@media(min-width:901px){
  /* Les deux choix ont exactement la hauteur des deux cartes-liens HTML. */
  .aoc-page-accueil .aoc-choice-grid{grid-template-rows:135px 136px!important}
}

/* Divi ajoute nativement du padding aux paragraphes/titres. La maquette AOC
   utilise des marges ; sans ce reset les hauteurs sont faussées. */
.aoc-divi4-page p{padding-bottom:0!important}
.aoc-divi4-page h1,.aoc-divi4-page h2,.aoc-divi4-page h3,.aoc-divi4-page h4,.aoc-divi4-page h5,.aoc-divi4-page h6{padding-bottom:0!important}
.aoc-divi4-page .et_pb_text,.aoc-divi4-page .et_pb_text_inner{font-family:inherit;color:inherit}

/* Paddings spécifiques qui étaient écrasés par la règle de section générique. */
.aoc-page-les-livres .hero{padding:108px 0 92px!important}
.aoc-page-les-deux-etrangeres .aoc-breadcrumb-section{padding:0!important;background:#182530!important}
.aoc-page-les-deux-etrangeres .aoc-breadcrumb-section>.et_pb_row.wrap{padding-top:17px!important;padding-bottom:17px!important}
.aoc-page-les-deux-etrangeres .product-hero{padding:82px 0 95px!important}
.aoc-page-a-paraitre .hero{padding:105px 0 95px!important}
.aoc-page-olivier-bourrel .hero{padding:95px 0 0!important}
.aoc-page-nous-ecrire .hero{padding:108px 0 98px!important}

/* Les ouvrages de la page catalogue sont sur le fond papier de la maquette,
   pas sur le fond crème ajouté dans la première conversion. */
.aoc-page-les-livres .catalogue.aoc-content-section{background:transparent!important}

/* Fiche Les deux étrangères : l'achat est de nouveau dans la colonne produit,
   comme dans la maquette. Pas de deuxième section artificielle. */
.aoc-page-les-deux-etrangeres .product-copy .purchase-price{
  border-top:1px solid rgba(24,37,48,.14);
  padding-top:26px!important;
  margin-top:10px!important;
}
.aoc-page-les-deux-etrangeres .product-copy .purchase-price .price{
  display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px;
}
.aoc-page-les-deux-etrangeres .product-copy .purchase-price .price strong{font-size:34px;color:#182530;font-weight:500}
.aoc-page-les-deux-etrangeres .product-copy .purchase-price .price small{display:block;color:#7b8282;font-size:13px;margin-top:1px}
.aoc-page-les-deux-etrangeres .product-copy .purchase-price .format-title{font:600 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.16em;color:#727b7d;margin-bottom:10px}
.aoc-page-les-deux-etrangeres .et_pb_button_module_wrapper.format{
  display:inline-block!important;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;margin:0 10px 0 0!important;vertical-align:middle;
}
.aoc-page-les-deux-etrangeres .et_pb_button_module_wrapper.format .et_pb_button{
  border:1px solid rgba(24,37,48,.14)!important;background:rgba(255,255,255,.38)!important;padding:12px 17px!important;border-radius:999px!important;color:#445055!important;font:inherit!important;line-height:1.65!important;
}
.aoc-page-les-deux-etrangeres .et_pb_button_module_wrapper.format.active .et_pb_button{border-color:#D6A23E!important;background:rgba(214,162,62,.13)!important;color:#2d312c!important}
.aoc-page-les-deux-etrangeres .aoc-qty-minus{margin-top:22px!important}
.aoc-page-les-deux-etrangeres .et_pb_button_module_wrapper.quantity-control{
  display:inline-block!important;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;margin:0!important;vertical-align:middle;
}
.aoc-page-les-deux-etrangeres .et_pb_button_module_wrapper.quantity-control .et_pb_button{
  width:42px!important;height:46px!important;min-height:46px!important;padding:0!important;background:rgba(255,255,255,.36)!important;color:#667174!important;font-size:20px!important;line-height:44px!important;
}
.aoc-page-les-deux-etrangeres .aoc-qty-minus .et_pb_button{border:1px solid rgba(24,37,48,.14)!important;border-right:0!important;border-radius:999px 0 0 999px!important}
.aoc-page-les-deux-etrangeres .aoc-qty-plus .et_pb_button{border:1px solid rgba(24,37,48,.14)!important;border-left:0!important;border-radius:0 999px 999px 0!important}
.aoc-page-les-deux-etrangeres .quantity-output{
  display:inline-flex!important;align-items:center;justify-content:center;width:36px!important;height:46px!important;vertical-align:middle;border-top:1px solid rgba(24,37,48,.14)!important;border-bottom:1px solid rgba(24,37,48,.14)!important;font:14px Arial,sans-serif!important;
}
.aoc-page-les-deux-etrangeres .product-copy .aoc-buy-button{display:inline-block!important;margin:22px 0 0 12px!important;vertical-align:middle}
.aoc-page-les-deux-etrangeres .product-copy .reassure{display:block!important;margin-top:18px!important;padding-bottom:26px!important;border-bottom:1px solid rgba(24,37,48,.14)!important;margin-bottom:28px!important}
.aoc-page-les-deux-etrangeres .product-copy .reassure .et_pb_text_inner{display:flex;gap:18px 28px;flex-wrap:wrap;color:#697375;font-size:13px}
.aoc-page-les-deux-etrangeres .product-copy .reassure span:before{content:"•";color:#D6A23E;margin-right:9px}

/* Le p final de l'accueil porte l'espace qui précédait le bouton dans le HTML. */
.aoc-page-accueil .final .et_pb_text_inner>p:last-child{margin-bottom:26px!important}

@media(max-width:900px){
  .aoc-page-accueil .hero.aoc-home-hero{padding:150px 0 94px!important}
  .aoc-page-les-livres .hero{padding:78px 0!important}
  .aoc-page-les-deux-etrangeres .product-hero{padding:55px 0 75px!important}
  .aoc-page-a-paraitre .hero{padding:78px 0!important}
  .aoc-page-olivier-bourrel .hero{padding:70px 0 0!important}
  .aoc-page-nous-ecrire .hero{padding:80px 0!important}
}
.aoc-page-les-deux-etrangeres .aoc-purchase-break{display:block!important;width:100%!important;height:0!important;clear:both!important}

/* V1.1 — les wrappers internes des modules Texte ne doivent pas casser les
   mises en page grid/flex de la maquette. On les rend transparents uniquement
   sur les composants dont les enfants étaient directs dans le HTML source. */
.aoc-page-les-deux-etrangeres .et_pb_text.audience>.et_pb_text_inner,
.aoc-page-a-paraitre .et_pb_text.step>.et_pb_text_inner,
.aoc-page-olivier-bourrel .et_pb_text.step>.et_pb_text_inner{
  display:contents!important;
}

/* Sélecteur des ouvrages — dimensions propres à chaque maquette. */
.aoc-page-accueil .aoc-choice-grid{
  grid-template-columns:88px minmax(0,1fr) auto!important;
  column-gap:20px!important;
}
.aoc-page-accueil .aoc-choice-grid .choice-image,
.aoc-page-accueil .aoc-choice-grid .choice-copy,
.aoc-page-accueil .aoc-choice-grid .choice-arrow{
  padding:23px 0!important;
  border-top:1px solid rgba(24,37,48,.13)!important;
  border-bottom:0!important;
}
.aoc-page-accueil .aoc-choice-grid .choice-image .et_pb_image_wrap,
.aoc-page-accueil .aoc-choice-grid .choice-image img{width:66px!important}
.aoc-page-accueil .aoc-choice-grid .choice-image img{height:88px!important}

.aoc-page-les-livres .choice-list.aoc-choice-grid{
  grid-template-columns:70px minmax(0,1fr) auto!important;
  column-gap:20px!important;
  border-top:1px solid rgba(24,37,48,.14)!important;
}
.aoc-page-les-livres .choice-list.aoc-choice-grid .choice-image,
.aoc-page-les-livres .choice-list.aoc-choice-grid .choice-copy,
.aoc-page-les-livres .choice-list.aoc-choice-grid .choice-arrow{
  padding:25px 0!important;
  border-top:0!important;
  border-bottom:1px solid rgba(24,37,48,.14)!important;
}
.aoc-page-les-livres .choice-list.aoc-choice-grid .choice-image .et_pb_image_wrap,
.aoc-page-les-livres .choice-list.aoc-choice-grid .choice-image img{width:58px!important}
.aoc-page-les-livres .choice-list.aoc-choice-grid .choice-image img{height:78px!important;box-shadow:0 10px 22px rgba(20,30,36,.13)!important}
.aoc-page-les-livres .choice-list.aoc-choice-grid .choice-arrow{font-size:25px!important;color:#8b9494!important}

/* Cartes livres de la page auteur : l'image reste un module Image, le texte
   un module Texte et le CTA un module Bouton, mais ils occupent les mêmes
   cellules que le couple <img> + <div> de la maquette. */
@media(min-width:901px){
  .aoc-page-olivier-bourrel .book-card{
    display:grid!important;
    grid-template-columns:190px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:29px!important;
    row-gap:0!important;
    align-items:center!important;
  }
  .aoc-page-olivier-bourrel .book-card>.et_pb_image{
    grid-column:1!important;grid-row:1 / span 2!important;align-self:center!important;
  }
  .aoc-page-olivier-bourrel .book-card>.et_pb_text{
    grid-column:2!important;grid-row:1!important;align-self:end!important;
  }
  .aoc-page-olivier-bourrel .book-card>.et_pb_button_module_wrapper{
    grid-column:2!important;grid-row:2!important;justify-self:start!important;align-self:start!important;
  }
  .aoc-page-olivier-bourrel .book-card .book-card-cover{width:165px!important}
  .aoc-page-olivier-bourrel .book-card .book-card-cover .et_pb_image_wrap{width:165px!important}
}

/* Animations décoratives du hero coupées également au niveau des pseudo-
   éléments pendant la phase de stabilisation. */
.aoc-page-accueil .aoc-home-hero .hero-grid:before,
.aoc-page-accueil .aoc-home-hero .hero-grid:after{animation:none!important;transition:none!important}

@media(max-width:900px){
  .aoc-page-accueil .aoc-choice-grid{grid-template-columns:66px minmax(0,1fr) auto!important}
  .aoc-page-accueil .aoc-choice-grid .choice-image .et_pb_image_wrap,
  .aoc-page-accueil .aoc-choice-grid .choice-image img{width:54px!important}
  .aoc-page-accueil .aoc-choice-grid .choice-image img{height:72px!important}
  .aoc-page-les-livres .choice-list.aoc-choice-grid{grid-template-columns:56px minmax(0,1fr)!important;column-gap:14px!important}
  .aoc-page-les-livres .choice-list.aoc-choice-grid .choice-image .et_pb_image_wrap,
  .aoc-page-les-livres .choice-list.aoc-choice-grid .choice-image img{width:50px!important}
  .aoc-page-les-livres .choice-list.aoc-choice-grid .choice-image img{height:68px!important}
  .aoc-page-les-livres .choice-list.aoc-choice-grid .choice-arrow{display:none!important}
}
@media(max-width:560px){
  .aoc-page-accueil .aoc-choice-grid{grid-template-columns:55px minmax(0,1fr)!important;column-gap:14px!important}
  .aoc-page-accueil .aoc-choice-grid .choice-arrow{display:none!important}
  .aoc-page-accueil .aoc-choice-grid .choice-image .et_pb_image_wrap,
  .aoc-page-accueil .aoc-choice-grid .choice-image img{width:50px!important}
  .aoc-page-accueil .aoc-choice-grid .choice-image img{height:67px!important}
}

/* Largeur des wrappers : Divi impose 80 % / 1080 px par défaut. Les valeurs
   ci-dessous reprennent exactement les .wrap de la maquette et sécurisent le
   rendu même si le CSS dynamique Divi n'a pas encore été régénéré. */
body.aoc-divi4-page:not(.aoc-page-accueil) .et_pb_row.wrap{
  width:min(1180px,calc(100% - 46px))!important;
  max-width:1180px!important;
}
body.aoc-page-accueil .et_pb_row.wrap{
  width:100%!important;
  max-width:1200px!important;
  padding-left:34px!important;
  padding-right:34px!important;
}
@media(max-width:900px){
  body.aoc-divi4-page:not(.aoc-page-accueil) .et_pb_row.wrap{
    width:min(calc(100% - 34px),1180px)!important;
  }
  body.aoc-page-accueil .et_pb_row.wrap{padding-left:23px!important;padding-right:23px!important}
}

/* Divi injecte ::before/::after pour nettoyer ses colonnes flottantes. Sur une
   ligne transformée en CSS Grid, ces pseudo-éléments deviennent des items de
   grille et ajoutent artificiellement un gap complet (jusqu'à 90 px). */
.aoc-divi4-page .aoc-grid:before,
.aoc-divi4-page .aoc-grid:after{
  content:none!important;
  display:none!important;
}

/* Typographie des choix : dans la maquette elle héritait de l'ancêtre .choice;
   dans Divi les trois morceaux sont des modules séparés. */
.aoc-page-accueil .choice-copy h3{font-size:27px!important;line-height:1.02!important;margin:0 0 4px!important;font-weight:500!important}
.aoc-page-accueil .choice-copy p{margin:0!important;color:#655d52!important;font-size:15px!important;max-width:510px!important}
.aoc-page-les-livres .choice-copy small{font:600 10px Arial,sans-serif!important;letter-spacing:.15em!important;text-transform:uppercase!important;color:#A57828!important}
.aoc-page-les-livres .choice-copy h3{font-size:24px!important;line-height:1.15!important;margin:4px 0!important;color:#182530!important;font-weight:500!important}
.aoc-page-les-livres .choice-copy p{font-size:14px!important;line-height:1.65!important;margin:0!important;color:#6c7677!important;max-width:470px!important}

/* Ces entêtes étaient des <div class="section-head"> avec une marge basse de
   55 px. La classe étant portée par un module Texte Divi, on rétablit cette
   marge après le reset des marges de modules. */
.aoc-page-les-deux-etrangeres .et_pb_text.section-head,
.aoc-page-a-paraitre .et_pb_text.section-head,
.aoc-page-olivier-bourrel .et_pb_text.section-head{margin-bottom:55px!important}

/* ========================================================================
   V1.1.1 — ÉTAPE 0 : ENTÊTE + PIED DE PAGE GLOBAUX
   Les classes Theme Builder sont volontairement isolées des classes .wrap,
   .nav, .menu et .footer-grid de la maquette afin d'éviter les collisions
   avec le DOM généré par Divi.
   ======================================================================== */

/* --- Base Theme Builder : zéro marge/padding Divi parasite --- */
body.aoc-divi4-page header.et-l--header,
body.aoc-divi4-page footer.et-l--footer,
body.aoc-divi4-page header.et-l--header *,
body.aoc-divi4-page footer.et-l--footer *{box-sizing:border-box}
body.aoc-divi4-page header.et-l--header .et_pb_section,
body.aoc-divi4-page footer.et-l--footer .et_pb_section{margin:0!important}
body.aoc-divi4-page header.et-l--header .et_pb_row,
body.aoc-divi4-page footer.et-l--footer .et_pb_row{margin-left:auto!important;margin-right:auto!important}
body.aoc-divi4-page header.et-l--header .et_pb_column,
body.aoc-divi4-page footer.et-l--footer .et_pb_column{float:none!important;margin:0!important}
body.aoc-divi4-page header.et-l--header .et_pb_text,
body.aoc-divi4-page footer.et-l--footer .et_pb_text{margin:0!important;padding:0!important}
body.aoc-divi4-page header.et-l--header .et_pb_text_inner,
body.aoc-divi4-page footer.et-l--footer .et_pb_text_inner{margin:0!important;padding:0!important}

/* --- Entête global desktop --- */
body.aoc-divi4-page header.et-l--header{z-index:99999!important;color:#F4EFE4!important}
body.aoc-divi4-page header.et-l--header .aoc-global-header-section{padding:0!important;margin:0!important;background:transparent!important}
body.aoc-divi4-page header.et-l--header .aoc-global-header-row{
  width:min(1180px,calc(100% - 46px))!important;
  max-width:1180px!important;
  height:82px!important;
  min-height:82px!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:30px!important;
}
body.aoc-divi4-page header.et-l--header .aoc-header-column{width:auto!important;max-width:none!important;display:flex!important;align-items:center!important;min-height:0!important}
body.aoc-divi4-page header.et-l--header .aoc-brand-column{justify-content:flex-start!important}
body.aoc-divi4-page header.et-l--header .aoc-menu-column{justify-content:flex-end!important;min-width:0!important}
body.aoc-divi4-page header.et-l--header .aoc-brand-module{width:auto!important}

/* Logo AOC — version commune des pages intérieures */
body.aoc-divi4-page header.et-l--header .aoc-global-brand,
body.aoc-divi4-page footer.et-l--footer .aoc-global-brand{
  display:flex!important;align-items:center!important;gap:12px!important;
  min-width:max-content;color:#F4EFE4!important;text-decoration:none!important
}
body.aoc-divi4-page header.et-l--header .aoc-global-brand .mark,
body.aoc-divi4-page footer.et-l--footer .aoc-global-brand .mark{position:relative!important;display:inline-block!important;width:38px!important;height:24px!important;flex:0 0 38px!important}
body.aoc-divi4-page header.et-l--header .aoc-global-brand .mark i,
body.aoc-divi4-page footer.et-l--footer .aoc-global-brand .mark i{position:absolute!important;top:2px!important;width:20px!important;height:20px!important;border-radius:50%!important;opacity:1!important;mix-blend-mode:normal!important}
body.aoc-divi4-page header.et-l--header .aoc-global-brand .mark .o,
body.aoc-divi4-page footer.et-l--footer .aoc-global-brand .mark .o{left:0!important;background:#D6A23E!important}
body.aoc-divi4-page header.et-l--header .aoc-global-brand .mark .t,
body.aoc-divi4-page footer.et-l--footer .aoc-global-brand .mark .t{right:0!important;background:#5E97A0!important}
body.aoc-divi4-page header.et-l--header .aoc-global-brand .brandword strong,
body.aoc-divi4-page footer.et-l--footer .aoc-global-brand .brandword strong{
  display:block!important;margin:0!important;padding:0!important;color:#F4EFE4!important;
  font-family:Georgia,"Times New Roman",serif!important;font-size:25px!important;font-weight:600!important;
  line-height:.85!important;letter-spacing:-.02em!important
}
body.aoc-divi4-page header.et-l--header .aoc-global-brand .brandword small,
body.aoc-divi4-page footer.et-l--footer .aoc-global-brand .brandword small{
  display:block!important;margin:5px 0 0!important;padding:0!important;color:#d8d2c8!important;
  font:600 9px/1.1 Arial,sans-serif!important;letter-spacing:.28em!important;text-transform:uppercase!important
}

/* Menu Divi : impose exactement la géométrie de la maquette et neutralise les presets Divi. */
body.aoc-divi4-page header.et-l--header .aoc-global-menu{width:auto!important;max-width:none!important;margin:0!important;background:transparent!important}
body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu_inner_container,
body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu__wrap{display:flex!important;align-items:center!important;justify-content:flex-end!important;background:transparent!important}
body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu__menu{display:flex!important;align-items:center!important}
body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  flex-wrap:nowrap!important;gap:30px!important;margin:0!important;padding:0!important;list-style:none!important
}
body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li{display:flex!important;align-items:center!important;margin:0!important;padding:0!important}
body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li>a{
  display:flex!important;align-items:center!important;justify-content:center!important;
  margin:0!important;padding:0!important;color:#F4EFE4!important;opacity:.88!important;
  font-family:Georgia,"Times New Roman",serif!important;font-size:14px!important;font-weight:400!important;
  line-height:1.3!important;letter-spacing:0!important;text-decoration:none!important;white-space:nowrap!important
}
body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li>a:hover,
body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li.current-menu-item>a{color:#F4EFE4!important;opacity:1!important}
body.aoc-divi4-page header.et-l--header .aoc-global-menu .aoc-order>a{
  min-height:46px!important;padding:13px 24px!important;border:0!important;border-radius:999px!important;
  background:#D6A23E!important;color:#241A06!important;opacity:1!important;font-weight:400!important;
  box-shadow:0 12px 30px rgba(214,162,62,.17)!important
}
body.aoc-divi4-page header.et-l--header .aoc-global-menu .aoc-cart>a{
  width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
  padding:0!important;border:1px solid rgba(244,239,228,.16)!important;border-radius:50%!important;
  color:#F4EFE4!important;opacity:1!important;font-size:0!important;line-height:0!important;background:transparent!important
}
body.aoc-divi4-page header.et-l--header .aoc-global-menu .aoc-cart>a:before{
  content:""!important;display:block!important;width:18px!important;height:18px!important;
  background:currentColor!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a2 2 0 0 0 2 1.6H17a2 2 0 0 0 1.9-1.4L21 7H6'/%3E%3Ccircle cx='10' cy='20' r='1'/%3E%3Ccircle cx='18' cy='20' r='1'/%3E%3C/svg%3E") center/18px 18px no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a2 2 0 0 0 2 1.6H17a2 2 0 0 0 1.9-1.4L21 7H6'/%3E%3Ccircle cx='10' cy='20' r='1'/%3E%3Ccircle cx='18' cy='20' r='1'/%3E%3C/svg%3E") center/18px 18px no-repeat!important
}
body.aoc-divi4-page header.et-l--header .aoc-global-menu .aoc-order>a:after,
body.aoc-divi4-page header.et-l--header .aoc-global-menu .aoc-cart>a:after{display:none!important}

/* Pages intérieures : bandeau sombre de 82 px comme la maquette. */
body.aoc-divi4-page:not(.aoc-page-accueil) header.et-l--header{position:relative!important;top:auto!important;left:auto!important;width:100%!important;background:#182530!important}
body.aoc-divi4-page:not(.aoc-page-accueil) header.et-l--header .aoc-global-header-section{background:#182530!important}

/* Accueil : entête superposé au hero, 76 px, conteneur 1200 px + 34 px internes. */
body.aoc-page-accueil header.et-l--header{position:fixed!important;top:0!important;left:0!important;width:100%!important;background:transparent!important;color:#F4EFE4!important}
body.aoc-page-accueil.aoc-header-scrolled header.et-l--header{background:rgba(24,37,48,.94)!important;backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.14)}
body.aoc-page-accueil header.et-l--header .aoc-global-header-row{
  width:100%!important;max-width:1200px!important;height:76px!important;min-height:76px!important;
  padding:0 34px!important;column-gap:28px!important
}
body.aoc-page-accueil header.et-l--header .aoc-global-brand{font-family:"Newsreader",Georgia,serif!important}
body.aoc-page-accueil header.et-l--header .aoc-global-brand .mark{width:38px!important;height:22px!important;flex-basis:38px!important}
body.aoc-page-accueil header.et-l--header .aoc-global-brand .mark i{top:0!important;width:22px!important;height:22px!important;opacity:.9!important;mix-blend-mode:screen!important}
body.aoc-page-accueil header.et-l--header .aoc-global-brand .brandword strong{
  font-family:"Newsreader",Georgia,serif!important;font-size:24px!important;font-weight:600!important;line-height:.85!important;letter-spacing:0!important
}
body.aoc-page-accueil header.et-l--header .aoc-global-brand .brandword small{
  margin-top:6px!important;font-family:"Spectral",Georgia,serif!important;font-size:9px!important;font-weight:400!important;
  line-height:1!important;letter-spacing:.36em!important;color:#aeb9bd!important
}
body.aoc-page-accueil header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul{gap:28px!important}
body.aoc-page-accueil header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li>a{
  font-family:"Spectral",Georgia,serif!important;font-size:14px!important;color:#d1d2cd!important;opacity:1!important;padding:6px 0!important;position:relative!important
}
body.aoc-page-accueil header.et-l--header .aoc-global-menu .aoc-order>a{
  min-height:0!important;padding:10px 21px!important;background:#D6A23E!important;color:#241A06!important;font-weight:500!important;
  box-shadow:0 8px 24px rgba(214,162,62,.15)!important
}
body.aoc-page-accueil header.et-l--header .aoc-global-menu .aoc-cart>a{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:0!important}

/* Dans le Visual Builder, pas de header fixe : l'éditeur reste stable et cliquable. */
body.et-fb.aoc-page-accueil header.et-l--header,
body.aoc-page-accueil.et-fb header.et-l--header{position:relative!important;background:#182530!important;border-bottom:0!important;backdrop-filter:none!important}

/* --- Pied de page global : contenu finalisé de la maquette Accueil --- */
body.aoc-divi4-page footer.et-l--footer{background:#111C24!important;color:#b8c0c1!important;margin:0!important;padding:0!important;font-family:Georgia,"Times New Roman",serif!important}
body.aoc-divi4-page footer.et-l--footer .aoc-global-footer-section{background:#111C24!important;margin:0!important;padding:70px 0 35px!important;color:#cbd1cf!important}
body.aoc-divi4-page footer.et-l--footer .aoc-global-footer-grid{
  width:min(1180px,calc(100% - 46px))!important;max-width:1180px!important;padding:0!important;
  display:grid!important;grid-template-columns:1.5fr repeat(3,minmax(0,1fr))!important;gap:45px!important;align-items:start!important
}
body.aoc-divi4-page footer.et-l--footer .aoc-footer-column{width:auto!important;max-width:none!important;min-width:0!important}
body.aoc-divi4-page footer.et-l--footer .aoc-footer-brand-column{max-width:300px!important}
body.aoc-divi4-page footer.et-l--footer .aoc-footer-brand-copy p{
  margin:18px 0 0!important;padding:0!important;color:#99a6a6!important;font-size:14px!important;line-height:1.65!important;max-width:300px!important
}
body.aoc-divi4-page footer.et-l--footer .aoc-footer-links h4{
  margin:0 0 14px!important;padding:0!important;color:#F4EFE4!important;
  font:400 13px/1.4 Arial,sans-serif!important;text-transform:uppercase!important;letter-spacing:.12em!important
}
body.aoc-divi4-page footer.et-l--footer .aoc-footer-links a{
  display:block!important;margin:7px 0!important;padding:0!important;color:#b8c0be!important;
  font-size:14px!important;font-weight:400!important;line-height:1.65!important;text-decoration:none!important
}
body.aoc-divi4-page footer.et-l--footer .aoc-global-footer-bottom{
  width:min(1180px,calc(100% - 46px))!important;max-width:1180px!important;margin-top:45px!important;padding:22px 0 0!important;
  border-top:1px solid rgba(255,255,255,.08)!important
}
body.aoc-divi4-page footer.et-l--footer .aoc-footer-legal,
body.aoc-divi4-page footer.et-l--footer .aoc-footer-legal .et_pb_text_inner{
  margin:0!important;padding:0!important;color:#7f8c8c!important;font-size:12px!important;line-height:1.65!important
}
body.aoc-divi4-page footer.et-l--footer .aoc-footer-legal .et_pb_text_inner{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:20px!important;flex-wrap:wrap!important}
body.aoc-divi4-page footer.et-l--footer .aoc-footer-legal span{display:inline!important;margin:0!important;padding:0!important}

/* Accueil : footer exact de la maquette principale (58 / 34, ratios 1.7/.8/.8/.9). */
body.aoc-page-accueil footer.et-l--footer{font-family:"Spectral",Georgia,serif!important;font-size:13.5px!important}
body.aoc-page-accueil footer.et-l--footer .aoc-global-footer-section{padding:58px 0 34px!important;color:#b8c0c1!important}
body.aoc-page-accueil footer.et-l--footer .aoc-global-footer-grid{
  width:100%!important;max-width:1200px!important;padding:0 34px!important;
  grid-template-columns:1.7fr .8fr .8fr .9fr!important;gap:42px!important
}
body.aoc-page-accueil footer.et-l--footer .aoc-footer-brand-column{max-width:none!important}
body.aoc-page-accueil footer.et-l--footer .aoc-footer-brand-copy p{max-width:360px!important;margin-top:18px!important;color:#b8c0c1!important;font-size:13.5px!important}
body.aoc-page-accueil footer.et-l--footer .aoc-footer-links h4{
  margin-bottom:13px!important;color:#f1ece2!important;font-family:"Spectral",Georgia,serif!important;
  font-size:13px!important;font-weight:500!important;line-height:1.4!important;text-transform:none!important;letter-spacing:0!important
}
body.aoc-page-accueil footer.et-l--footer .aoc-footer-links a{font-size:13.5px!important;color:#b8c0c1!important}
body.aoc-page-accueil footer.et-l--footer .aoc-global-footer-bottom{
  width:100%!important;max-width:1200px!important;margin-top:35px!important;padding:20px 34px 0!important;
  border-top:1px solid rgba(255,255,255,.11)!important
}
body.aoc-page-accueil footer.et-l--footer .aoc-footer-legal,
body.aoc-page-accueil footer.et-l--footer .aoc-footer-legal .et_pb_text_inner{color:#88989f!important;font-size:13.5px!important}

/* --- Responsive global --- */
@media(max-width:900px){
  body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu__menu{display:none!important}
  body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_mobile_nav_menu{display:flex!important;align-items:center!important;margin:0!important}
  body.aoc-divi4-page header.et-l--header .aoc-global-menu .mobile_menu_bar{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border:1px solid rgba(244,239,228,.16)!important;border-radius:50%!important;background:transparent!important;padding:0!important}
  body.aoc-divi4-page header.et-l--header .aoc-global-menu .mobile_menu_bar:before{position:static!important;margin:0!important;color:#F4EFE4!important;font-size:24px!important;line-height:1!important}
  body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_mobile_menu{top:calc(100% + 12px)!important;right:0!important;left:auto!important;width:min(360px,calc(100vw - 40px))!important;margin:0!important;padding:18px!important;background:rgba(24,37,48,.98)!important;border:1px solid rgba(255,255,255,.14)!important;border-top:1px solid rgba(255,255,255,.14)!important;border-radius:22px!important;box-shadow:0 18px 50px rgba(0,0,0,.2)!important}
  body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_mobile_menu li{margin:0!important;padding:0!important}
  body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_mobile_menu li a{margin:0!important;padding:11px 8px!important;border:0!important;color:#F4EFE4!important;font:400 14px/1.4 Georgia,"Times New Roman",serif!important;opacity:1!important;background:transparent!important}
  body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_mobile_menu li.aoc-order a{margin-top:6px!important;padding:11px 16px!important;text-align:center!important;background:#D6A23E!important;color:#241A06!important;border-radius:999px!important}
  body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_mobile_menu li.aoc-cart{display:none!important}
  body.aoc-page-accueil header.et-l--header .aoc-global-header-row{height:70px!important;min-height:70px!important;padding-left:23px!important;padding-right:23px!important}
  body.aoc-page-accueil header.et-l--header .aoc-global-menu .et_mobile_menu li a{font-family:"Spectral",Georgia,serif!important}
  body.aoc-divi4-page footer.et-l--footer .aoc-global-footer-grid{grid-template-columns:1fr 1fr!important}
  body.aoc-page-accueil footer.et-l--footer .aoc-global-footer-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:560px){
  body.aoc-divi4-page header.et-l--header .aoc-global-header-row{width:min(100% - 34px,1180px)!important;height:70px!important;min-height:70px!important}
  body.aoc-page-accueil header.et-l--header .aoc-global-header-row{width:100%!important;max-width:1200px!important;padding-left:23px!important;padding-right:23px!important}
  body.aoc-divi4-page footer.et-l--footer .aoc-global-footer-grid,
  body.aoc-page-accueil footer.et-l--footer .aoc-global-footer-grid{grid-template-columns:1fr!important}
  body.aoc-divi4-page footer.et-l--footer .aoc-global-footer-bottom,
  body.aoc-page-accueil footer.et-l--footer .aoc-global-footer-bottom{width:min(100% - 34px,1180px)!important;padding-left:0!important;padding-right:0!important}
  body.aoc-page-accueil footer.et-l--footer .aoc-global-footer-grid{width:100%!important;padding-left:23px!important;padding-right:23px!important}
  body.aoc-page-accueil footer.et-l--footer .aoc-global-footer-bottom{width:calc(100% - 46px)!important;max-width:none!important}
  body.aoc-divi4-page footer.et-l--footer .aoc-footer-legal .et_pb_text_inner{display:block!important}
  body.aoc-divi4-page footer.et-l--footer .aoc-footer-legal span{display:block!important;margin-top:4px!important}
}

/* Correctifs de mesure Étape 0 : les pseudo-éléments clearfix de Divi ne doivent
   jamais devenir des cellules supplémentaires dans nos grilles. */
body.aoc-divi4-page header.et-l--header .aoc-global-header-row:after,
body.aoc-divi4-page footer.et-l--footer .aoc-global-footer-grid:after{content:none!important;display:none!important}

/* Les ancres spéciales doivent être plus spécifiques que la règle générique du menu. */
body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li>a{line-height:1.65!important}
body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li.aoc-order>a{
  min-height:46px!important;padding:13px 24px!important;border:1px solid transparent!important;border-radius:999px!important;
  background:#D6A23E!important;color:#241A06!important;opacity:1!important;font-weight:400!important;line-height:1.65!important;
  box-shadow:0 12px 30px rgba(214,162,62,.17)!important
}
body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li.aoc-cart>a{
  width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;
  border:1px solid rgba(244,239,228,.16)!important;border-radius:50%!important;line-height:0!important
}
body.aoc-page-accueil header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li.aoc-order>a{
  min-height:0!important;padding:10px 21px!important;border:0!important;line-height:1.65!important;
  box-shadow:0 8px 24px rgba(214,162,62,.15)!important;font-weight:500!important
}
body.aoc-page-accueil header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li.aoc-cart>a{
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:0!important
}
@media(min-width:901px){
  body.aoc-divi4-page:not(.aoc-page-accueil) footer.et-l--footer .aoc-global-footer-grid{min-height:156px!important}
  body.aoc-page-accueil footer.et-l--footer .aoc-global-footer-grid{min-height:152px!important}
  body.aoc-page-accueil header.et-l--header .aoc-global-brand .brandword{min-width:70px!important}
}
/* Icône : les pages intérieures conservent le pictogramme minimal de la maquette ;
   l'accueil garde le panier dessiné. */
body.aoc-divi4-page:not(.aoc-page-accueil) header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li.aoc-cart>a{
  font-family:Georgia,"Times New Roman",serif!important;font-size:14px!important;line-height:23.1px!important
}
body.aoc-divi4-page:not(.aoc-page-accueil) header.et-l--header .aoc-global-menu .aoc-cart>a:before{display:none!important;content:none!important}

/* Logo du footer de l'accueil : même traitement éditorial que dans la maquette Home. */
body.aoc-page-accueil footer.et-l--footer .aoc-global-brand{font-family:"Newsreader",Georgia,serif!important}
body.aoc-page-accueil footer.et-l--footer .aoc-global-brand .mark{width:38px!important;height:22px!important;flex-basis:38px!important}
body.aoc-page-accueil footer.et-l--footer .aoc-global-brand .mark i{top:0!important;width:22px!important;height:22px!important;opacity:.9!important;mix-blend-mode:screen!important}
body.aoc-page-accueil footer.et-l--footer .aoc-global-brand .brandword{min-width:70px!important}
body.aoc-page-accueil footer.et-l--footer .aoc-global-brand .brandword strong{
  font-family:"Newsreader",Georgia,serif!important;font-size:24px!important;font-weight:600!important;line-height:.85!important;letter-spacing:0!important
}
body.aoc-page-accueil footer.et-l--footer .aoc-global-brand .brandword small{
  margin-top:6px!important;font-family:"Spectral",Georgia,serif!important;font-size:9px!important;font-weight:400!important;
  line-height:1!important;letter-spacing:.36em!important;color:#aeb9bd!important
}
/* Compensation du wrapper <strong> Divi : 5 px reproduisent visuellement les 6 px
   de la maquette HTML originale, dont le mot AOC est un nœud texte direct. */
body.aoc-page-accueil header.et-l--header .aoc-global-brand .brandword small,
body.aoc-page-accueil footer.et-l--footer .aoc-global-brand .brandword small{margin-top:5px!important}


/* ======================================================================
   V1.9.3 — PANIER GLOBAL STABLE
   Remplace définitivement l'ancien caractère provisoire « ⌑ » par un vrai
   pictogramme SVG identique sur toutes les pages et neutralise les règles
   historiques qui masquaient l'icône sur les pages intérieures.
   ====================================================================== */
body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li.aoc-cart>a{
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(244,239,228,.18)!important;
  border-radius:50%!important;
  background-color:transparent!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23F4EFE4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='18' cy='20' r='1'/%3E%3Cpath d='M3 4h2l2.3 10.4a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 1.9-1.4L21 7H6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:19px 19px!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:-9999px!important;
  overflow:visible!important;
  opacity:1!important;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease!important;
}
body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li.aoc-cart>a:hover,
body.aoc-divi4-page header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li.aoc-cart>a:focus{
  border-color:rgba(244,239,228,.38)!important;
  background-color:rgba(244,239,228,.06)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.12)!important;
}
body.aoc-divi4-page header.et-l--header .aoc-global-menu .aoc-cart>a:before,
body.aoc-divi4-page header.et-l--header .aoc-global-menu .aoc-cart>a:after{
  content:none!important;
  display:none!important;
}
body.aoc-page-accueil header.et-l--header .aoc-global-menu .et_pb_menu__menu>nav>ul>li.aoc-cart>a{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  background-size:18px 18px!important;
}


/* ======================================================================
   V2.1.0 — Animations premium natives Divi
   - uniquement Fade sur les grands blocs éditoriaux ;
   - aucune animation sur les contrôles WooCommerce ou Ninja Forms ;
   - désactivation mobile et prefers-reduced-motion pour stabilité/accessibilité.
   ====================================================================== */
/* V2.1.2 : cohérence desktop/mobile.
   Certaines configurations Windows/Chrome remontent prefers-reduced-motion
   même lorsque l'utilisateur attend les animations du site. Comme les effets
   AOC sont uniquement des fondus (aucun déplacement/zoom), on conserve alors
   un fade très court plutôt que de supprimer totalement l'animation. */
@media (prefers-reduced-motion:reduce){
  body.aoc-divi4-page #page-container .aoc-premium-fade,
  body.aoc-divi4-page #page-container .aoc-premium-fade.et_animated,
  body.aoc-divi4-page #page-container .aoc-premium-fade.et-waypoint{
    transform:none!important;
    animation-duration:280ms!important;
    transition-duration:280ms!important;
  }
}

/* Petite optimisation de rendu : uniquement l'opacité, aucun layout shift. */
@media (min-width:768px){
  body.aoc-divi4-page #page-container .aoc-premium-fade{
    will-change:opacity;
  }
}
