/* =====================================================================
   Angers Musées Vivants — feuille de style du thème
   Reprise à l'identique du rendu Elementor (kit « Angers Musées Vivants ») :
   charte, en-tête, pied de page, modèles de pages, accueil, cartes.
   Points de rupture (identiques au kit) : ordinateur > 1320 px,
   tablette 992–1320 px, téléphone ≤ 991 px ; largeur utile 1350 / 1024 / 767.
   ===================================================================== */

/* ---------- 1. Polices (auto-hébergées, voir assets/fonts) ---------- */
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 300; font-display: swap; src: url('../fonts/lato-latin-300-normal.woff2') format('woff2'); }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/lato-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Lato'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/lato-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/lato-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/playfair-display-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/playfair-display-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/playfair-display-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/playfair-display-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/playfair-display-latin-700-normal.woff2') format('woff2'); }

/* ---------- 2. Variables de marque ---------- */
:root {
  --amv-primary:    #DE4018;
  --amv-secondary:  #F7F6EC;
  --amv-tertiary:   #D9D7BC;
  --amv-black:      #000000;
  --amv-black-2:    #323232;
  --amv-white:      #ffffff;
  --amv-grey:       #b5b5b5;
  --amv-grey-light: #f1f1f1;
  --amv-grey-dark:  #333333;
  --amv-success:    #28a745;
  --amv-info:       #17a2b8;
  --amv-warning:    #ffc107;
  --amv-danger:     #dc3545;
  --amv-font-body:  'Lato', Arial, sans-serif;
  --amv-font-title: 'Playfair Display', Georgia, serif;
  --amv-container:  1350px;
  --amv-side:       5%;          /* marge latérale des sections (padding 5 %) */
  --amv-inner:      min(90vw, var(--amv-container)); /* largeur utile : les % verticaux d'Elementor s'y rapportent */
}
@media (max-width: 1320px) { :root { --amv-container: 1024px; } }
@media (max-width: 991px)  { :root { --amv-container: 767px; } }

/* ---------- 3. Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--amv-secondary);
  color: var(--amv-black);
  font-family: var(--amv-font-body);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 991px) { body { font-size: 14px; } }
img { max-width: 100%; height: auto; border: 0; vertical-align: middle; }
a { color: var(--amv-primary); text-decoration: none; }
p { margin: 0 0 .9rem; }
h1, h2, h3, h4, h5, h6 { font-family: var(--amv-font-title); font-weight: 500; line-height: 1; margin: 0; color: var(--amv-black); }
h1 { font-size: 60px; } h2 { font-size: 46px; } h3 { font-size: 25.6px; } h4 { font-size: 22.4px; } h5 { font-size: 19.2px; } h6 { font-size: 17.6px; }
@media (max-width: 1320px) { h1 { font-size: 44px; } h2 { font-size: 32px; } h3 { font-size: 22.4px; } h4 { font-size: 18.4px; } h5 { font-size: 17.6px; } h6 { font-size: 16.8px; } }
@media (max-width: 991px)  { h1 { font-size: 36px; } h2 { font-size: 30px; } h3 { font-size: 20.8px; } h4 { font-size: 17.6px; } h5 { font-size: 16.8px; } h6 { font-size: 16px; } }
::selection { background: var(--amv-primary); color: var(--amv-white); }
::-webkit-scrollbar { width: 12px; height: 6px; background: var(--amv-white); }
::-webkit-scrollbar-thumb { background: var(--amv-primary); border-radius: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.amv-skip { position: absolute; left: -999px; top: 0; background: var(--amv-primary); color: #fff; padding: 8px 16px; z-index: 1000; }
.amv-skip:focus { left: 0; }
.amv-text-center { text-align: center; }

/* ---------- 4. Boutons ---------- */
.amv-btn, button.amv-btn, .wp-block-button__link, input[type="submit"], button[type="submit"] {
  display: inline-block;
  background: var(--amv-primary);
  color: var(--amv-white);
  border: 2px solid var(--amv-primary);
  border-radius: 0;
  padding: 12px 40px;
  font-family: var(--amv-font-body);
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all .3s ease;
}
.amv-btn:hover, .amv-btn:focus, .wp-block-button__link:hover, input[type="submit"]:hover, button[type="submit"]:hover {
  background: transparent;
  color: var(--amv-primary);
}
@media (max-width: 991px) { .amv-btn, input[type="submit"], button[type="submit"] { font-size: 16px; } }

/* ---------- 5. Gabarit : sections, conteneur, piles ---------- */
.amv-main { display: block; }
.amv-section { padding: calc(var(--amv-inner) * .05) var(--amv-side); }
.amv-wrap { width: 100%; max-width: var(--amv-container); margin: 0 auto; }
.amv-stack { display: flex; flex-direction: column; }
.amv-stack-20 { gap: 20px; } .amv-stack-30 { gap: 30px; } .amv-stack-40 { gap: 40px; }
.amv-center { align-items: center; }
.amv-center > * { width: 100%; }
.amv-title { color: var(--amv-black); }
.amv-title-primary .amv-title { color: var(--amv-primary); }
.amv-page-brochure .amv-title { color: var(--amv-primary); font-size: 46px; }
@media (max-width: 1320px) { .amv-page-brochure .amv-title { font-size: 32px; } }
@media (max-width: 991px) { .amv-page-brochure .amv-title { font-size: 30px; } }
.amv-variant-brochure .amv-fil-bar, .error404 .amv-fil-bar { padding-block: calc(var(--amv-inner) * .01); }
.amv-variant-brochure .amv-fil .breadcrumb-item a, .amv-variant-brochure .amv-fil .breadcrumb-item.active span, .error404 .amv-fil .breadcrumb-item a, .error404 .amv-fil .breadcrumb-item.active span { text-decoration: none; }
.amv-h2 { font-size: 46px; }
@media (max-width: 1320px) { .amv-h2 { font-size: 32px; } }
@media (max-width: 991px)  { .amv-h2 { font-size: 30px; } }
.amv-h-32 { font-size: 32px; }

/* Séparateurs */
.amv-divider { border: 0; border-top: 1px solid var(--amv-black); margin: 15px 0; width: 100%; } /* 15px = padding du widget Séparateur Elementor */
.amv-divider-2 { border-top-width: 2px; margin: 10px 0; }
.amv-divider-60 { width: 60%; margin-left: auto; margin-right: auto; }
.amv-divider-grow { flex: 1 1 auto; width: auto; }
.amv-divider-0 { margin: 0; }

/* ---------- 6. En-tête ---------- */
.amv-header { position: relative; z-index: 50; background: var(--amv-white); }
.amv-header-desk {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  max-width: var(--amv-container); margin: 0 auto;
  padding: calc(var(--amv-inner) * .01) 0;
}
.amv-header { padding: 0 5%; }
.amv-logo { display: inline-block; line-height: 0; }
.amv-header-desk .amv-logo { flex: 0 0 178px; width: 178px; }
.amv-header-desk .amv-logo img { width: 50%; height: auto; }
.amv-header-right { display: flex; align-items: center; justify-content: flex-end; gap: 40px; flex: 1 1 auto; min-width: 0; }
.amv-header-btn { font-size: 18px; }
.amv-header-mob { display: none; }

/* Menu ordinateur */
.amv-nav ul { list-style: none; margin: 0; padding: 0; }
.amv-menu { display: flex; align-items: center; }
.amv-menu > li { position: relative; }
.amv-menu > li > a.amv-item {
  position: relative;
  display: flex; align-items: center;
  padding: 13px 22px 13px 35px;
  font-size: 22px; font-weight: 400; line-height: 20px; color: var(--amv-black);
  text-decoration: none;
}
.amv-menu > li > a.amv-item:hover, .amv-menu > li > a.amv-item:focus { text-decoration: underline; }
/* chevron bas (parents) / flèche ↗ (S'inscrire) : à 22px du bord droit du lien */
.amv-menu > li.menu-item-has-children > a.amv-item .sub-arrow { display: none; }
.amv-menu > li.menu-item-has-children > a.amv-item::after {
  content: ''; position: absolute; right: 0; top: calc(50% + 1px); transform: translateY(-50%);
  width: 12px; height: 7px; opacity: 1;
  background: url('../svg/icon-arrow-down.svg') no-repeat center / contain; transition: all .2s ease;
}
.amv-menu > li.menu-item-has-children > a.amv-item:hover::after, .amv-menu > li.menu-item-has-children > a.amv-item:focus::after { top: 80%; opacity: 0; }
.amv-menu > li.arrow > a.amv-item::after {
  content: ''; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  width: 11px; height: 11px; opacity: 1;
  background: url('../svg/icon-feather-arrow-up-right.svg') no-repeat center / contain; transition: all .2s ease;
}
.amv-menu > li.arrow > a.amv-item:hover::after, .amv-menu > li.arrow > a.amv-item:focus::after { top: 30%; right: -10px; opacity: 0; }
/* Sous-menu déroulant */
.amv-menu .sub-menu {
  position: absolute; left: 0; top: 100%; margin-top: 18px; min-width: 100%;
  background: var(--amv-white); box-shadow: 0 3px 6px rgba(0,0,0,.1);
  display: none; z-index: 60;
}
.amv-menu > li:hover > .sub-menu, .amv-menu > li:focus-within > .sub-menu { display: block; }
/* pont invisible qui comble les 18 px entre le lien et le sous-menu : la souris ne « sort » plus du menu en descendant */
.amv-menu .sub-menu::before { content: ''; position: absolute; left: 0; right: 0; bottom: 100%; height: 18px; }
.amv-menu .sub-menu a.amv-sub-item {
  position: relative; display: block; white-space: nowrap;
  padding: 20px 50px; padding-left: 50px; font-size: 16px; font-weight: 500; line-height: 1.2; color: var(--amv-black);
}
.amv-menu .sub-menu a.amv-sub-item::before {
  content: ''; position: absolute; left: 20px; top: 50%; transform: translateY(-50%);
  width: 20px; height: 11px; background: url('../svg/icon-feather-arrow-right.svg') no-repeat center left / contain; transition: left .3s ease;
}
.amv-menu .sub-menu a.amv-sub-item:hover::before, .amv-menu .sub-menu a.amv-sub-item:focus::before { left: 30px; }
.amv-menu .sub-menu a.amv-sub-item:hover, .amv-menu .sub-menu a.amv-sub-item:focus { background: var(--amv-tertiary); color: var(--amv-black); }

/* Menu tablette : items un peu moins espacés */
@media (max-width: 1320px) {
  .amv-menu > li > a.amv-item { padding: 13px 22px 13px 25px; }
}

/* En-tête téléphone / tablette */
@media (max-width: 991px) {
  .amv-header-desk { display: none; }
  .amv-header-mob { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: calc(var(--amv-inner) * .01) 0; max-width: var(--amv-container); margin: 0 auto; }
  .amv-header-mob .amv-logo { width: 25%; flex: 0 0 25%; }
  .amv-header-mob .amv-logo img { width: 100%; max-width: 100%; }
  .amv-header-mob-right { display: flex; align-items: center; justify-content: flex-end; gap: 20px; width: 60%; }
  .amv-burger { background: none; border: 0; padding: 0; width: 27px; height: 27px; cursor: pointer; color: var(--amv-black); display: inline-flex; align-items: center; justify-content: center; }
  .amv-burger-icon, .amv-burger-icon::before, .amv-burger-icon::after { display: block; width: 27px; height: 4px; background: currentColor; position: relative; transition: all .2s ease; content: ''; }
  .amv-burger-icon::before { position: absolute; top: -9px; } .amv-burger-icon::after { position: absolute; top: 9px; }
  .amv-burger[aria-expanded="true"] .amv-burger-icon { background: transparent; }
  .amv-burger[aria-expanded="true"] .amv-burger-icon::before { top: 0; transform: rotate(45deg); }
  .amv-burger[aria-expanded="true"] .amv-burger-icon::after { top: 0; transform: rotate(-45deg); }
  .amv-nav-mob { width: 100%; margin-top: 18px; background: var(--amv-white); box-shadow: 0 3px 6px rgba(0,0,0,.1); }
  .amv-nav-mob[hidden] { display: none; }
  .amv-menu-mob a.amv-item, .amv-menu-mob a.amv-sub-item { display: block; padding: 25px 40px; font-size: 16px; font-weight: 500; color: var(--amv-black); }
  .amv-menu-mob a.amv-item:hover, .amv-menu-mob a.amv-item:focus, .amv-menu-mob a.amv-sub-item:hover, .amv-menu-mob a.amv-sub-item:focus { background: var(--amv-tertiary); color: var(--amv-black); }
  .amv-menu-mob .sub-menu { display: none; }
  .amv-menu-mob li.menu-item-has-children.open > .sub-menu { display: block; }
  .amv-menu-mob a.amv-item .sub-arrow { display: inline-block; width: 12px; height: 7px; margin-left: 8px; vertical-align: middle; background: url('../svg/icon-arrow-down.svg') no-repeat center / contain; transition: transform .2s ease; }
  .amv-menu-mob li.open > a.amv-item .sub-arrow { transform: rotate(180deg); }
  .amv-menu-mob li.arrow > a.amv-item::after { content: ''; display: inline-block; width: 12px; height: 12px; margin-left: 8px; vertical-align: middle; background: url('../svg/icon-feather-arrow-up-right.svg') no-repeat center / contain; }
  .amv-menu-mob a.amv-sub-item { position: relative; padding-left: 70px; }
  .amv-menu-mob a.amv-sub-item::before { content: ''; position: absolute; left: 40px; top: 50%; transform: translateY(-50%); width: 20px; height: 11px; background: url('../svg/icon-feather-arrow-right.svg') no-repeat center left / contain; transition: left .3s ease; }
  .amv-menu-mob a.amv-sub-item:hover::before { left: 50px; }
  .amv-menu-mob li.btn { margin-top: 1.25rem; margin-bottom: 2.5rem; }
  .amv-menu-mob li.btn > a.amv-item { display: inline-block; margin-left: 40px; padding: 15px 20px; background: var(--amv-primary); color: var(--amv-white); border: 2px solid var(--amv-primary); font-size: 1.125rem; transition: all .3s ease; }
  .amv-menu-mob li.btn > a.amv-item:hover, .amv-menu-mob li.btn > a.amv-item:focus { background: transparent; color: var(--amv-primary); }
  .amv-menu-mob li.btn > a.amv-item::after { content: none; }
}
.amv-megaphone {
  display: inline-block; width: 28px; height: 28px; flex: 0 0 auto;
  background-color: var(--amv-black);
  -webkit-mask: url('../svg/icon-megaphone.svg') no-repeat center / contain; mask: url('../svg/icon-megaphone.svg') no-repeat center / contain;
  transition: background-color .3s ease;
}
.amv-megaphone:hover, .amv-megaphone:focus { background-color: var(--amv-primary); }
@media (max-width: 575px) { .amv-megaphone { width: 26px; height: 26px; } }

/* ---------- 7. Fil d'Ariane ---------- */
.amv-fil-bar { background: var(--amv-tertiary); padding: calc(var(--amv-inner) * .005) 5%; }
.amv-fil nav, .amv-fil { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; font-size: .75rem; line-height: 1.5; color: var(--amv-black); }
.amv-fil .breadcrumb { display: inline-flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; list-style: none; }
.amv-fil .breadcrumb-item { display: inline-flex; align-items: center; color: var(--amv-black); }
.amv-fil nav > .breadcrumb-prefix + .breadcrumb .breadcrumb-item + .breadcrumb-item::before { content: '>'; padding: 0 .4em; color: var(--amv-black); }
.amv-fil .breadcrumb-item a { color: var(--amv-black); text-decoration: underline; }
.amv-fil .breadcrumb-item a:hover, .amv-fil .breadcrumb-item a:focus { color: var(--amv-primary); }
.amv-fil .breadcrumb-item.active span { text-decoration: underline; }

/* ---------- 8. Contenu éditorial ---------- */
.amv-content a { color: var(--amv-primary); text-decoration: none; transition: all .3s ease; } /* comme le site actuel (réglage global du kit) */
.amv-content a:hover, .amv-content a:focus { text-decoration: underline; }
.amv-content > :first-child { margin-top: 0; }
.amv-content > :last-child { margin-bottom: 0; }
/* Titres saisis dans le contenu : comme sur le site actuel (police du corps, tailles du kit) */
.amv-content h1, .amv-content h2, .amv-content h3, .amv-content h4, .amv-content h5, .amv-content h6 { font-family: var(--amv-font-body); font-weight: 500; line-height: 1.2; margin: 8px 0 16px; }
.amv-content ul { padding-left: 1rem; list-style: none; margin: 0 0 15px; }
.amv-content ul > li { position: relative; padding-left: 16px; list-style: none; }
.amv-content ul > li::before { content: ''; position: absolute; left: 1px; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--amv-primary); }
.amv-content ol { padding-left: 1.5rem; }
.amv-content ol > li::marker { color: var(--amv-primary); font-weight: 700; }
.amv-content blockquote { border-left: 4px solid var(--amv-primary); background: var(--amv-grey-light); margin: 2rem 0; padding: 1.25rem 1.5rem; font-family: var(--amv-font-title); font-style: italic; }
/* Tableaux : base Hello Elementor + surcharges du thème enfant (rendu actuel) */
.amv-content table { width: 100%; border-collapse: collapse; border-spacing: 0; background: transparent; font-size: .9em; margin: 2rem 0; }
.amv-content table td, .amv-content table th { border: 1px solid hsla(0, 0%, 50%, .502); line-height: 1.5; padding: 15px; vertical-align: top; }
.amv-content table th { background: var(--amv-black-2); color: var(--amv-white); text-align: left; padding: 12px 15px; font-weight: 700; }
.amv-content table td { padding: 10px 15px; border-bottom-color: var(--amv-grey); }
.amv-content table tbody > tr:nth-child(odd) > td { background: hsla(0, 0%, 50%, .071); }
.amv-content table tr:nth-child(even) td { background: var(--amv-grey-light); }
.amv-content table tbody tr:hover > td { background: hsla(0, 0%, 50%, .102); }
@media (max-width: 767px) { .amv-content table { font-size: .8em; } .amv-content table td, .amv-content table th { line-height: 1.3; padding: 7px; } }
/* Pages d'activités (Visites, Conférences, Excursions, Voyages) : texte en 18 px comme le modèle actuel */
.amv-variant-activite .amv-content { font-size: 18px; }
.amv-content figcaption { color: #333; font-size: 16px; font-style: italic; font-weight: 400; line-height: 1.4; }
.amv-content .wp-caption { max-width: 100%; margin-bottom: 1.25rem; }
.amv-content .wp-caption-text { margin: 0; }
.amv-content img { height: auto; }
.amv-content figure { margin: 1rem 0; }
.amv-content .wp-block-image img, .amv-content figure img { max-width: 100%; }
.amv-content .alignleft { float: left; margin: 0 1.5rem 1rem 0; }
.amv-content .alignright { float: right; margin: 0 0 1rem 1.5rem; }
.amv-content .aligncenter { display: block; margin: 0 auto 1rem; }
.amv-content .wp-block-columns { display: flex; gap: 2rem; flex-wrap: wrap; }
.amv-content .wp-block-column { flex: 1 1 0; min-width: 0; }
.amv-content .wp-block-buttons { display: flex; gap: 1rem; flex-wrap: wrap; }
.amv-content .wp-block-embed iframe, .amv-content iframe { max-width: 100%; }
.amv-content input:not([type="submit"]):not([type="button"]), .amv-content select, .amv-content textarea { border-radius: 0; border: 1px solid var(--amv-grey); font-family: var(--amv-font-body); }
.alert { margin: 20px 0; padding: 15px 25px; color: var(--amv-white); clear: both; }
.alert-success { background: var(--amv-success); color: var(--amv-black-2); }
.alert-info { background: var(--amv-primary); color: var(--amv-black-2); }
.alert-warning { background: var(--amv-warning); color: var(--amv-black-2); }
.alert-danger { background: var(--amv-danger); color: var(--amv-white); }

/* Liste « sommaire » (pages enfants) */
.item-list { margin: 0 !important; padding: 0 !important; list-style: none; }
.item-list .item-from-list { position: relative; margin: 0 0 1.5rem; padding: 0; list-style: none; font-family: var(--amv-font-title); font-size: 1.4rem; font-weight: 500; color: var(--amv-black); }
.item-list .item-from-list::before { content: none !important; }
.item-list .item-from-list:last-child { margin-bottom: 0; }
.item-list .item-from-list a { position: relative; z-index: 1; display: block; padding: 20px 25px; background: var(--amv-white); color: var(--amv-black); text-decoration: none; }
.item-list .item-from-list a::before { content: ''; position: absolute; top: 0; left: 0; z-index: -1; width: 5px; height: 100%; background: var(--amv-primary); transition: all .3s ease; }
.item-list .item-from-list a:hover::before, .item-list .item-from-list a:focus::before { width: 100%; }
.item-list .item-from-list a:hover, .item-list .item-from-list a:focus { color: var(--amv-white); }
@media (max-width: 575px) { .item-list .item-from-list { font-size: 1.2rem; } }
.use-as-link, .use-as-link a { cursor: pointer; }

/* « En savoir plus » / « Lire la suite » (cercle + flèche) */
a.calltoaction.calltoaction-secondary {
  background: transparent; color: #000; border: 0; border-radius: 0; box-shadow: none;
  font-size: .875rem; font-weight: 400; letter-spacing: .02em; text-transform: uppercase; text-decoration: none; line-height: 1;
  min-height: 0; width: auto; padding: 0 48px 0 0; position: relative; display: inline-flex; align-items: center; cursor: pointer;
}
a.calltoaction.calltoaction-secondary:hover, a.calltoaction.calltoaction-secondary:focus { background: transparent; color: #000; text-decoration: none; }
a.calltoaction.calltoaction-secondary::before { content: ''; position: absolute; right: 0; top: 50%; height: 27px; width: 27px; border: 1px solid #DE4018; border-radius: 50%; transform: translateY(-50%); transition: all .3s ease; }
a.calltoaction.calltoaction-secondary::after { content: ''; position: absolute; right: 12px; top: 50%; height: 10px; width: 27px; transform: translateY(-50%); background: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229.382%22%20height%3D%2212.684%22%20viewBox%3D%220%200%2029.382%2012.684%22%3E%3Cg%20transform%3D%22translate%280.132%20-11.346%29%22%3E%3Cpath%20d%3D%22M23.53%2C12.4%2C28.5%2C18l-4.97%2C4.969%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M.618%2C18H28.5%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center right; background-size: contain; transition: all .3s ease; }
a.calltoaction.calltoaction-secondary:hover::before, a.calltoaction.calltoaction-secondary:focus::before { transform: translateY(-50%) scale(1.2); }
a.calltoaction.calltoaction-secondary:hover::after, a.calltoaction.calltoaction-secondary:focus::after { right: 8px; }

/* « Retour aux … » (cercle + flèche à gauche) */
.amv-retour {
  position: relative; display: inline-flex; align-items: center; line-height: 1; padding: 0 0 0 52px; margin: 0;
  color: #000; font-size: .875rem; font-weight: 400; letter-spacing: .02em; text-transform: uppercase; text-decoration: none; background: none; border: 0; cursor: pointer;
}
.amv-retour::before { content: ''; position: absolute; left: 16px; top: 50%; height: 27px; width: 27px; border: 1px solid #DE4018; border-radius: 50%; transform: translateY(-50%); transition: all .3s ease; }
.amv-retour::after { content: ''; position: absolute; left: 0; top: 50%; height: 12px; width: 28px; transform: translateY(-50%) scaleX(-1); background: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229.382%22%20height%3D%2212.684%22%20viewBox%3D%220%200%2029.382%2012.684%22%3E%3Cg%20transform%3D%22translate%280.132%20-11.346%29%22%3E%3Cpath%20d%3D%22M23.53%2C12.4%2C28.5%2C18l-4.97%2C4.969%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M28.5%2C18H0%22%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center; background-size: contain; transition: all .3s ease; }
.amv-retour:hover::before, .amv-retour:focus::before { transform: translateY(-50%) scale(1.2); }
.amv-retour:hover::after, .amv-retour:focus::after { left: -4px; }
.amv-retour:hover, .amv-retour:focus { color: #000; text-decoration: none; }

/* ---------- 9. Pages ---------- */
.amv-page-head { display: flex; align-items: stretch; gap: 20px; }
.amv-page-head-media { flex: 1 1 0; min-width: 0; padding: 10px; }
.amv-page-head-media img { width: 100%; height: auto; }
.amv-page-head-title { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 10px; }
@media (max-width: 991px) { .amv-page-head { flex-direction: column; } }
.amv-rgpd { display: flex; flex-direction: column; gap: 20px; }
.amv-rgpd .amv-divider-2 { padding: 0; margin: 10px 0; }

/* Formulaires AMV (brochure, RGPD) — même rendu que les formulaires Elementor */
.amv-form { display: flex; flex-wrap: wrap; margin: 0 -20px -20px; }
.amv-form .amv-field { width: 100%; padding: 0 20px; margin-bottom: 20px; }
.amv-form .amv-field-half { width: 100%; } /* tous les champs sur toute la largeur, comme le formulaire actuel */
.amv-form label { display: block; padding-bottom: 20px; font-family: var(--amv-font-body); font-weight: 400; font-size: 16px; line-height: 1; }
.amv-form .amv-required { color: var(--amv-danger); }
.amv-form .amv-label { display: block; padding-bottom: 20px; }
.amv-form .amv-invalid { border-color: var(--amv-danger) !important; }
.amv-form input:not([type="submit"]):not([type="checkbox"]), .amv-form select, .amv-form textarea {
  width: 100%; min-height: 47px; padding: 6px 16px; background: var(--amv-white); border: 1px solid var(--amv-grey); border-radius: 0; font-family: var(--amv-font-body); font-size: 16px; line-height: 1.4; color: var(--amv-black);
}
.amv-form input:focus, .amv-form textarea:focus, .amv-form select:focus { outline: none; border-color: var(--amv-primary); }
.amv-form .amv-check { display: block; padding-bottom: 0; font-size: 16px; line-height: 1.5; }
.amv-form .amv-check input { margin: 0 3px 0 0; width: auto; vertical-align: baseline; }
.amv-form .amv-check a { color: var(--amv-primary); text-decoration: none; }
.amv-form .amv-check a:hover { text-decoration: underline; }
.amv-form .amv-hp { position: absolute; left: -9999px; }
.amv-form-msg { margin-top: 20px; padding: 12px 16px; font-size: 15px; }
.amv-form-msg.ok { background: var(--amv-success); color: var(--amv-black-2); }
.amv-form-msg.err { background: var(--amv-danger); color: var(--amv-white); }


/* ---------- 10. Article ---------- */
.amv-single .amv-title { color: var(--amv-primary); }
.amv-post-info { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 20px; font-size: 20px; line-height: 1.5; }
.amv-post-info li { display: flex; align-items: center; }
.amv-ico { display: inline-block; width: 20px; height: 20px; margin-right: 15px; background-color: var(--amv-primary); -webkit-mask: no-repeat center / contain; mask: no-repeat center / contain; }
.amv-ico-cal { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E"); }
.amv-single-foot { display: flex; align-items: center; gap: 20px; }
.amv-single-foot-nav { flex: 0 0 auto; width: calc(45% - 10px); display: flex; justify-content: center; }
.amv-single-foot-back { flex: 1 1 auto; display: flex; justify-content: flex-end; padding: 10px; }
.amv-post-nav { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.amv-post-nav a { display: inline-flex; align-items: center; gap: 15px; color: var(--amv-black); font-family: var(--amv-font-title); font-weight: 300; font-size: 16px; line-height: 1.5; }
.amv-post-nav-arrow { display: inline-block; width: 16px; height: 16px; background: var(--amv-primary); -webkit-mask: no-repeat center / contain; mask: no-repeat center / contain; }
.amv-post-nav-arrow-prev { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z'/%3E%3C/svg%3E"); }
.amv-post-nav-arrow-next { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z'/%3E%3C/svg%3E"); }
@media (max-width: 991px) { .amv-single-foot { flex-direction: column; align-items: stretch; } .amv-single-foot-nav { width: 100%; } .amv-single-foot-back { justify-content: flex-start; } }

/* ---------- 11. Manifestation ---------- */
.amv-manif-foot { display: flex; align-items: center; gap: 20px; }
.amv-manif-foot .amv-divider { flex: 1 1 auto; width: auto; }
.amv-manif-back { flex: 0 0 34%; display: flex; justify-content: center; padding: 10px; }
@media (max-width: 991px) { .amv-manif-foot { flex-direction: column; align-items: stretch; } .amv-manif-foot .amv-divider { width: 100%; } .amv-manif-back { flex-basis: auto; justify-content: flex-start; } }

/* ---------- 12. Cartes & grilles ---------- */
.amv-grid { display: grid; gap: 30px; }
.amv-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.amv-home-articles .amv-grid { gap: 30px; }
@media (max-width: 991px) { .amv-grid-2 { grid-template-columns: minmax(0, 1fr); } }
.amv-card-article { display: flex; align-items: stretch; gap: 0; }
.amv-card-media { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 10px; }
.amv-card-media img { width: 100%; max-width: 100%; height: auto; }
.amv-card-body { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 20px; padding: 10px; }
.amv-card-body > * { margin: 0; }
.amv-card-title { font-size: 25.6px; line-height: 1; font-weight: 500; }
.amv-card-title a { color: var(--amv-black); }
.amv-card-date { font-size: 16px; line-height: 1.5; margin: 0; }
.amv-card-actu { display: flex; flex-direction: column; gap: 20px; padding: 10px; }
.amv-card-actu > * { margin: 0; }
.amv-card-actu .amv-extrait { margin-bottom: 14.4px; }
.amv-extrait { margin: 0; }
.amv-loadmore-wrap { text-align: center; margin-top: 50px; }
@media (max-width: 1320px) { .amv-card-title { font-size: 22.4px; } }
@media (max-width: 991px) { .amv-card-title { font-size: 20.8px; } }
.amv-grid .amv-card-actu { padding: 0; }

/* Carrousel actualités (accueil) */
.amv-carousel { position: relative; width: 100%; }
.amv-carousel-viewport { overflow: hidden; width: 100%; }
.amv-carousel-track { display: flex; transition: transform .4s ease; will-change: transform; }
.amv-carousel-slide { flex: 0 0 calc((100% - (var(--amv-show, 4) - 1) * 10px) / var(--amv-show, 4)); margin-right: 10px; min-width: 0; }
.amv-carousel { --amv-show: 4; }
@media (max-width: 1320px) { .amv-carousel { --amv-show: 2; } }
@media (max-width: 991px)  { .amv-carousel { --amv-show: 1; } }
.amv-carousel-arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
  width: 25px; height: 25px; padding: 0; border: 0; background: none; cursor: pointer; color: var(--amv-primary); font-size: 25px; line-height: 1;
}
.amv-carousel-prev { left: -40px; } .amv-carousel-next { right: -40px; }
.amv-carousel-arrow::before { content: ''; display: block; width: 12px; height: 12px; margin: 0 auto; border: solid var(--amv-primary); border-width: 0 0 2px 2px; }
.amv-carousel-prev::before { transform: rotate(45deg); margin-left: 8px; }
.amv-carousel-next::before { transform: rotate(-135deg); margin-right: 8px; }
.amv-carousel-arrow[disabled] { opacity: .35; cursor: default; }
@media (max-width: 991px) { .amv-carousel-prev { left: -24px; } .amv-carousel-next { right: -24px; } }

/* ---------- 13. Accueil ---------- */
.amv-hero {
  position: relative; display: flex; flex-direction: column; justify-content: center;
  min-height: 100vh; padding: 0 10px; background: no-repeat center center / cover;
}
.amv-hero-card {
  display: flex; align-items: flex-start; gap: 20px;
  width: 65%; max-width: calc(var(--amv-container) * .65); margin-left: calc((100% - var(--amv-container)) / 2);
  padding: calc(var(--amv-inner) * .04); background: rgba(247, 246, 236, .85);
}
@media (max-width: 1350px) { .amv-hero-card { margin-left: 0; } }
.amv-hero-logo { flex: 0 0 13%; width: 13%; padding: 10px; } /* 15 % Elementor → 13 % réels mesurés */
.amv-hero-logo img { width: 100%; height: auto; }
.amv-hero-body { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 20px; padding: 10px; }
.amv-hero-body > * { margin: 0; }
.amv-hero-title { font-size: 60px; }
.amv-hero-text p { margin: 0 0 14.4px; }
.amv-hero .amv-btn { align-self: flex-start; }
@media (max-width: 1320px) { .amv-hero { min-height: 60vh; padding: 5%; } .amv-hero-title { font-size: 44px; } }
@media (max-width: 991px)  { .amv-hero-card { width: 100%; max-width: none; flex-direction: column; } .amv-hero-logo { width: 100%; flex-basis: auto; } .amv-hero-logo img { width: 15%; min-width: 60px; } .amv-hero-title { font-size: 36px; } }
.scroll { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 5; margin: 0; padding: 0; text-align: center; font-size: .75rem; font-weight: 700; text-transform: uppercase; color: #fff; }
.scroll a { display: inline-block; margin: 0; padding: 0; color: #fff; text-decoration: none; }
.scroll a::before { content: ''; display: block; width: 14px; height: 20px; margin: 0 auto 5px; background: url('../svg/icon-mouse.svg') no-repeat center / contain; animation: amv-scroll-bob .65s ease infinite alternate; transition: all .25s ease; }
.scroll a:hover::before, .scroll a:focus::before { animation: none; }
@keyframes amv-scroll-bob { 0% { margin-bottom: 5px; } 100% { margin-bottom: 12px; } }
@media (max-width: 1320px) { .scroll { display: none; } }

.amv-section-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px; }
.amv-section-head .amv-h2 { flex: 0 0 auto; }
.amv-section-head .calltoaction { flex: 0 0 auto; }
@media (max-width: 991px) { .amv-section-head { flex-wrap: wrap; } }

.amv-home-activites { padding-top: 0; }
.amv-activite { display: flex; align-items: center; gap: 20px; }
.amv-activite-visites { margin-top: 5%; }
.amv-activite-voyages { margin-bottom: 5%; }
.amv-activite-media { flex: 1 1 0; min-width: 0; padding: 10px; }
.amv-activite-media img { width: 100%; height: auto; display: block; }
.amv-activite-body { flex: 1 1 0; min-width: 0; display: flex; align-items: stretch; gap: 20px; padding: 10px; }
.amv-activite-image-droite .amv-activite-media { order: 2; }
.amv-activite-icone { flex: 0 0 22.8%; width: 22.8%; display: flex; flex-direction: column; justify-content: center; padding: 10px; } /* 30 % Elementor → 22,8 % réels mesurés */
.amv-activite-icone img { width: 100%; height: auto; }
.amv-activite-texte { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 20px; padding: 10px; }
.amv-activite-texte > * { margin: 0; }
.amv-activite-texte p { margin-bottom: 14.4px; }
@media (max-width: 991px) {
  .amv-activite { flex-direction: column; }
  .amv-activite-media { display: none; } /* comme sur le site : grandes images masquées sur téléphone */
  .amv-activite-body { padding: 0; width: 100%; }
  .amv-activite-icone { padding: 0; margin: 0 0 20px; }
  .amv-activite-icone img { max-width: 25%; height: 80px; width: auto; }
  .amv-activite-conferences .amv-activite-icone img, .amv-activite-excursions .amv-activite-icone img { height: 65px; }
}

.amv-home-brochure { margin-bottom: 5%; }
.amv-brochure-box { display: flex; gap: 60px; background: var(--amv-tertiary); padding: 5% 15% 5% 10%; }
.amv-brochure-texte { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 60px; padding: 10px; }
.amv-brochure-texte > * { margin: 0; }
.amv-brochure-texte .amv-btn { align-self: flex-start; }
.amv-brochure-media { flex: 0 0 29.8%; width: 29.8%; margin-bottom: -14%; display: flex; align-items: flex-start; } /* 43 % Elementor → 29,8 % réels mesurés */
.amv-brochure-media img { width: 100%; height: auto; }
@media (max-width: 991px) { .amv-brochure-box { flex-direction: column; padding: 8% 5%; } .amv-brochure-media { width: 100%; flex-basis: auto; margin-bottom: 0; } .amv-brochure-texte { gap: 30px; } }

/* ---------- 14. 404 ---------- */
.amv-404 { padding: 0 10px; }
.amv-404 .amv-wrap { min-height: 70vh; justify-content: center; }
.amv-404-code { font-size: 150px; font-weight: 500; }
.amv-404-h2 { font-size: 46px; }
.amv-404-p { margin: 0; }
.amv-404-list p { margin: 0; }
@media (max-width: 991px) { .amv-404-code { font-size: 90px; } .amv-404-h2 { font-size: 30px; } }

/* ---------- 15. Pied de page ---------- */
.amv-footer { background: var(--amv-grey-dark); color: var(--amv-white); padding: calc(var(--amv-inner) * .05) 5%; }
.amv-footer-inner { display: flex; align-items: stretch; gap: 20px; max-width: var(--amv-container); margin: 0 auto; }
.amv-footer-col { flex: 1 1 0; min-width: 0; padding: 0 10px; }
.amv-footer-brand { flex: 0 0 28.25%; margin-right: 10%; padding: 0; }
.amv-footer-brand-row { display: flex; align-items: center; gap: 20px; min-height: 149px; }
.amv-footer-logo-box { flex: 0 0 26%; width: 26%; text-align: center; }
.amv-footer-logo { width: 65%; max-width: 65%; height: auto; display: inline-block; }
.amv-footer-texte { flex: 1 1 0; min-width: 0; }
.amv-footer-texte p, .amv-footer-copy { margin: 0; padding: 0; font-size: 14px; line-height: 1.5; }
.amv-footer-texte p { color: var(--amv-white); }
.amv-footer-copy { color: var(--amv-grey); margin-top: 20px; }
.amv-footer-title { font-size: 20px; font-weight: 500; color: var(--amv-white); margin: 0 0 20px; padding-top: 10px; }
.amv-footer-list { list-style: none; margin: 0; padding: 0; }
.amv-footer-list li { padding-bottom: 7.5px; }
.amv-footer-list li + li { padding-top: 7.5px; }
.amv-footer-list a { color: var(--amv-grey); font-size: 16px; line-height: 1.5; }
.amv-footer-list a:hover, .amv-footer-list a:focus { color: var(--amv-white); }
@media (max-width: 1320px) { .amv-footer-inner { flex-wrap: wrap; } .amv-footer-brand { flex-basis: 100%; margin-right: 0; } }
@media (max-width: 991px) {
  .amv-footer-inner { flex-direction: column; gap: 20px; }
  .amv-footer-brand { flex-basis: auto; margin-right: 0; }
  .amv-footer-brand-row { flex-direction: column; align-items: flex-start; min-height: 0; gap: 20px; }
  .amv-footer-logo-box { flex-basis: auto; width: 24%; text-align: left; }
  .amv-footer-logo { width: 100%; max-width: 100%; }
}

/* ---------- 16. Pagination WordPress (repli) ---------- */
.pagination .nav-links { display: flex; gap: 10px; flex-wrap: wrap; }
.pagination .page-numbers { padding: 8px 14px; background: var(--amv-white); color: var(--amv-black); }
.pagination .page-numbers.current { background: var(--amv-primary); color: var(--amv-white); }

/* Figure (image à la une des pages) */
.amv-figure { margin: 0; }
.amv-figcaption { margin-top: 10px; font-size: 14px; font-style: italic; color: var(--amv-black); text-align: left; }
