/* maj 2026-10-31 20:00:00 : menu pleine largeur, centre, entrees plus grandes ; 2026-10-31 19:00:00 : menu epure (majuscules grises, fond blanc, trait ocre) ; 2026-10-31 18:00:00 : bandeau = fond sans logo + logo SVG ; 2026-10-31 09:00:00 : survol des blocs plus leger (ombre en pseudo-element, plus d'overflow:hidden, liens positionnes seulement dans les blocs cliquables) ; 2026-10-30 21:30:00 : icones PDF en rouge grenat ; 2026-10-30 21:00:00 : barre de menu transparente a gauche, illustration sous le bandeau ; 2026-10-30 20:30:00 : triangle d'edition a nouveau cliquable (exclu de la regle des liens du bloc) ; 2026-10-30 20:00:00 : bloc entier cliquable ; 2026-10-30 19:30:00 : plus de zoom au survol des blocs (ombre seulement) ; 2026-10-30 18:00:00 : espace reduit autour du filtre ; 2026-10-30 16:30:00 : filtre colle sous le menu ; 2026-10-30 15:00:00 : filtre dynamique des listes ; 2026-10-30 14:30:00 : lien de l'icone du compte sur toute la hauteur de la barre ; 2026-10-30 14:00:00 : loupe du bandeau integree au champ ; 2026-10-30 13:30:00 : icone du compte encore 1 px plus bas ; 2026-10-30 12:00:00 : icone du compte 1 px plus bas ; 2026-10-30 11:00:00 : champ de recherche du bandeau plus discret ; 2026-10-30 10:30:00 : champ de recherche du bandeau moins arrondi ; 2026-10-30 09:30:00 : icone du compte juste apres le menu ; 2026-10-30 09:00:00 : TEST grand champ de recherche dans le bandeau ; 2026-10-29 23:00:00 : recherche visible a cote du burger, bande de gauche prolongee en beige ; 2026-10-29 22:30:00 : blocs de resultats pleine largeur ; 2026-10-29 22:00:00 : page de recherche sans second champ ; 2026-10-29 21:00:00 : page de resultats de la recherche ; 2026-10-29 20:00:00 : espace menu/contenu agrandi, meme espace entre les blocs a l'horizontale et a la verticale (--apv-gap) ; 2026-10-29 19:30:00 : impression sans l'illustration de gauche ; 2026-10-29 18:00:00 : survol des blocs (ombre + leger zoom) ; 2026-10-29 17:00:00 : menu compact entre 992 et 1199 px ; 2026-10-29 16:30:00 : page 404 ; 2026-10-29 15:00:00 : champ de recherche mobile : ne depasse plus de l'ecran ; 2026-10-29 13:30:00 : pied de page colle en bas de la fenetre ; 2026-10-29 13:00:00 : icone de compte dans le menu ; 2026-10-29 12:30:00 : marge sous le menu reduite ; 2026-10-29 12:00:00 : menu decale a droite de la bande verticale (ordinateur) ; 2026-10-29 09:00:00 : liens du pied de page plus clairs (la regle des liens du site les rendait bruns) ; 2026-10-28 19:30:00 : menu collant en haut, bord et ombre discrets autour des objets ; 2026-10-28 19:00:00 : menu horizontal seulement, bande verticale visible sur ordinateur seulement ; 2026-10-28 18:30:00 : pied de page moderne ; 2026-10-28 18:00:00 : page pleine largeur, menu en composants Bootstrap (navbar / collapse) ; 2026-10-28 17:30:00 : boutons et liens Bootstrap en ocre ; 2026-10-28 15:30:00 : design de patrimoine.versoix.com (reprise de l'ancien site : bandeau, bande decorative, menu a gauche ; en plus : menu horizontal, mobile avec burger) */
:root {
	--apv: #aa9e6a;            /* beige du bandeau et du menu actif */
	--apv-dark: #7d744f;       /* liens, titres */
	--apv-light: #f0efe6;
	--apv-text: #333;
	--apv-grey: #bbb;
	--apv-hover: #f0f0f0;
		--apv-gap: 2rem;           /* espace entre les blocs : le meme a l'horizontale et a la verticale */
	--apv-strip: 155px;
	--apv-head-h: 130px;       /* hauteur du bandeau (image 910 x 130) : l'illustration de gauche commence juste dessous */        /* bande decorative a gauche (menu vertical) */
}
* { box-sizing: border-box; }
html { font-size: 15px; }
body.apv { margin: 0; font-family: "Lucida Grande", Verdana, Arial, sans-serif; font-size: 1rem; line-height: 1.5; color: var(--apv-text); background: #fff; }
.apv a:not(.btn) { color: var(--apv-dark); }
.apv a:not(.btn):hover { color: #000; }
img { max-width: 100%; height: auto; }

/* boutons et liens Bootstrap : l'ocre du site a la place du bleu (retour, se connecter, formulaires...) */
.apv {
	--bs-primary: #aa9e6a; --bs-primary-rgb: 170, 158, 106; --bs-link-color: #7d744f; --bs-link-hover-color: #000;
}
.apv .btn-primary {
	--bs-btn-color: #fff; --bs-btn-bg: #aa9e6a; --bs-btn-border-color: #aa9e6a;
	--bs-btn-hover-color: #fff; --bs-btn-hover-bg: #7d744f; --bs-btn-hover-border-color: #7d744f;
	--bs-btn-focus-shadow-rgb: 170, 158, 106; --bs-btn-active-color: #fff; --bs-btn-active-bg: #6b6343; --bs-btn-active-border-color: #6b6343;
	--bs-btn-disabled-color: #fff; --bs-btn-disabled-bg: #aa9e6a; --bs-btn-disabled-border-color: #aa9e6a;
}
.apv .btn-outline-primary, .apv .btn-outline-success, .apv .btn-outline-secondary, .apv .btn-outline-green, .apv .btn-outline-white {
	--bs-btn-color: #7d744f; --bs-btn-border-color: #aa9e6a;
	--bs-btn-hover-color: #fff; --bs-btn-hover-bg: #aa9e6a; --bs-btn-hover-border-color: #aa9e6a;
	--bs-btn-focus-shadow-rgb: 170, 158, 106; --bs-btn-active-color: #fff; --bs-btn-active-bg: #7d744f; --bs-btn-active-border-color: #7d744f;
	--bs-btn-disabled-color: #7d744f; --bs-btn-disabled-border-color: #aa9e6a;
}
.apv .btn-secondary { --bs-btn-bg: #7d744f; --bs-btn-border-color: #7d744f; --bs-btn-hover-bg: #6b6343; --bs-btn-hover-border-color: #6b6343; --bs-btn-active-bg: #6b6343; --bs-btn-active-border-color: #6b6343; }
.apv .form-control:focus, .apv .form-select:focus { border-color: #aa9e6a; box-shadow: 0 0 0 .2rem rgba(170, 158, 106, .25); }
.apv .form-check-input:checked { background-color: #aa9e6a; border-color: #aa9e6a; }
.apv .page-link { color: #7d744f; }
.apv .page-item.active .page-link { background-color: #aa9e6a; border-color: #aa9e6a; color: #fff; }
.apv .btn-bco-primary { background: #aa9e6a !important; border-color: #aa9e6a !important; }
.apv .btn-bco-primary:hover { background: transparent !important; color: #7d744f !important; }

/* page : toute la largeur de la fenetre */
.apv-page { display: flex; flex-direction: column; width: 100%; min-height: 100vh; min-height: 100dvh; margin: 0; }   /* pied de page toujours en bas de la fenetre, meme si le contenu est court */
.apv-page > .apv-body { flex: 1 0 auto; }
.apv-page > .apv-footer { flex-shrink: 0; }

/* ORDINATEUR : la barre de menu est sur toute la largeur ; l'illustration de gauche (puis son beige) commence juste sous elle */
@media (min-width: 992px) {
	.apv-body { background: url("../../pxomedias/apv_left.jpg") no-repeat left top / var(--apv-strip) auto, linear-gradient(to right, #ab9e6a var(--apv-strip), #fff var(--apv-strip)); }
}
	.apv-page .apv-nav { background: linear-gradient(to right, transparent var(--apv-strip), var(--apv-light) var(--apv-strip)) top / 100% calc(100% - 3px) no-repeat, linear-gradient(to right, transparent var(--apv-strip), var(--apv) var(--apv-strip)) bottom / 100% 3px no-repeat; border-bottom: 3px solid transparent; }
}

/* bandeau : le beige couvre toute la largeur, l'image reste a gauche */
.apv-header { background: var(--apv); }
.apv-banner { position: relative; display: block; width: 910px; max-width: 100%; line-height: 0; }
.apv-banner img { display: block; width: 100%; height: auto; }
.apv-banner .apv-logo { position: absolute; left: 0; top: 0; height: 100%; }   /* logo vectoriel (SVG) pose sur le fond du bandeau : net sur tous les ecrans */

/* menu horizontal : barre Bootstrap (navbar) sous le bandeau */
.apv-nav { position: sticky; top: 0; z-index: 1030; padding: 0; background: var(--apv-light); border-bottom: 3px solid var(--apv); }   /* colle en haut de la fenetre au defilement */
.apv-nav .container-fluid { display: flex !important; flex-wrap: wrap; align-items: stretch; padding: 0 !important; }
.apv-burger { display: none; }
.apv-nav .navbar-collapse { display: flex !important; flex: 1 1 auto; order: 1; align-items: stretch; justify-content: center; padding-left: 0; }   /* ordinateur : menu centre sur toute la largeur */
.apv-nav .apv-menu.navbar-nav { flex-direction: row; flex-wrap: wrap; flex: 0 1 auto; margin: 0; padding: 0; --bs-nav-link-padding-x: 0; --bs-nav-link-padding-y: 0; --bs-navbar-nav-link-padding-x: 0; }
.apv-item { position: relative; }
.apv-nav .apv-menu .apv-link.nav-link { display: block; padding: 11px 12px 9px; background: transparent; color: #666; white-space: nowrap; font-size: .95rem; text-decoration: none; border-radius: 0; }
.apv-nav .apv-menu .apv-link.nav-link:hover, .apv-nav .apv-menu .apv-link.nav-link:focus-visible { background: #e4e2d2; color: #666; }
.apv-nav .apv-menu .apv-link.nav-link.active { background: var(--apv); color: #fff; }
.apv-item.has-sub > .apv-link { padding-right: 26px !important; }
.apv-caret { position: absolute; top: 7px; right: -2px; width: 26px; height: 26px; padding: 0; border: 0; background: transparent; color: #888; line-height: 1; }
.apv-item.is-active > .apv-caret { color: #fff; }
.apv-caret i { display: inline-block; transition: transform .15s; }
.apv-caret:not(.collapsed) i { transform: rotate(180deg); }
.apv-sub { position: absolute; top: 100%; left: 0; z-index: 50; min-width: 210px; margin: 0; padding: 0; background: #fff; border: 1px solid var(--apv); border-top: 0; box-shadow: 0 6px 14px rgba(0,0,0,.12); }
.apv-sub:not(.show) { display: none; }
.apv-sub.show, .apv-item.has-sub:hover > .apv-sub, .apv-item.has-sub:focus-within > .apv-sub { display: block; }
.apv-sublink { display: block; padding: 8px 14px; background: #fff; color: #666; text-decoration: none; font-size: .9rem; white-space: nowrap; }
.apv-sublink:hover, .apv-sublink:focus-visible { background: var(--apv-light); color: #666; }
.apv-sublink.active { color: var(--apv-dark); font-weight: 700; }
.apv-search { order: 2; margin: 0 10px 0 0; align-self: center; flex: 0 0 170px; max-width: 170px; }

/* corps (ordinateur) : bande verticale decorative a gauche, contenu sur toute la largeur restante */
.apv-body { display: grid; grid-template-columns: var(--apv-strip) minmax(0, 1fr); align-items: start; }
.apv-main { grid-column: 2; min-width: 0; padding: 24px clamp(16px, 3vw, 48px) 40px; }
.apv-main #lastNews { margin-top: 1.25rem !important; margin-bottom: 2rem !important; }   /* la liste d'objets avait 3rem de marge en haut (my-5) */

/* compte : icone a l'extremite droite du menu (modal de connexion ; une fois connecte : menu deroulant) */
.apv-account { margin-left: 0; }   /* l'icone du compte suit les entrees du menu */
.apv-nav .apv-menu .apv-account .nav-link { font-size: 1.25rem; line-height: 1; padding: 11px 14px 5px; }
.apv-account .dropdown-toggle::after { display: none; }
.apv-account .dropdown-menu { --bs-dropdown-link-hover-bg: var(--apv-light); --bs-dropdown-link-active-bg: var(--apv); --bs-dropdown-border-color: var(--apv); font-size: .9rem; border-radius: 0 0 4px 4px; }
.apv-account .dropdown-item { color: #555; }
.apv-account .dropdown-item i.bi { color: var(--apv-dark); margin-right: .3rem; }
.apv-draft-form { display: flex; align-items: center; gap: .5rem; margin: 0; }
.apv-draft-form .form-check-input:checked { background-color: var(--apv); border-color: var(--apv); }

/* contenu : l'ancien style sobre (pas de cartes ombrees) */
.apv-main h1, .apv-main h2, .apv-main h3, .apv-main .card-title { color: var(--apv-dark); font-weight: 600; }
.apv-main h2.card-title, .apv-main .card-title { font-size: 1.25rem; }
.apv-main .news-card, .apv-main .card { background: #fff; border: 1px solid rgba(0,0,0,.09) !important; border-radius: 4px; box-shadow: 0 1px 8px rgba(0,0,0,.07) !important; text-align: left !important; }
.apv-main .card-body { padding: 1rem 1.25rem 1.1rem; }
/* icones des fichiers PDF (liste des fichiers d'une fiche) : rouge grenat */
.apv i.bi-filetype-pdf, .apv i.bi-file-earmark-pdf, .apv i.bi-file-pdf { color: #8b1d2c; }

/* bloc entier cliquable quand il a un bouton « plus d'info » (Bootstrap stretched-link) : les autres liens du bloc (titre, liens du texte, galerie, crayon) restent cliquables */
.apv-main .news-card:has(.stretched-link) { cursor: pointer; }
.apv-main .news-card:has(.stretched-link) a:not(.stretched-link):not(.mq-edit-ico) { position: relative; z-index: 2; }   /* le triangle d'edition (mq-edit-ico) garde son positionnement absolu et son z-index 5 */
.apv-main .news-card:has(.stretched-link):hover .card-btn { color: #fff; background: var(--apv); border-color: var(--apv); }
/* survol d'un bloc : l'ombre grandit et le liseré passe a l'ocre, sans zoom (appareils avec souris seulement) */
.apv-main .news-card { z-index: 0; }   /* contexte d'empilement : l'ombre de survol passe derriere le contenu du bloc */
/* L'ombre de survol est portee par un pseudo-element dont seule l'opacite change : l'animation se fait sur la carte graphique, sans
   redessiner le bloc (important quand il contient beaucoup de pieces jointes) ; plus de overflow:hidden ni de transition sur le bloc lui-meme. */
.apv-main .news-card::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; box-shadow: 0 8px 22px rgba(0,0,0,.15), 0 0 0 1px rgba(170,158,106,.6); opacity: 0; transition: opacity .2s ease; pointer-events: none; will-change: opacity; }
@media (hover: hover) {
	.apv-main .news-card:hover { z-index: 1; }
	.apv-main .news-card:hover::before { opacity: 1; }
}
.apv-main .card-img, .apv-main .card-img-top, .apv-main .news-card-img { border-radius: 3px; }
.apv-main .row { --bs-gutter-x: var(--apv-gap); --bs-gutter-y: var(--apv-gap); }   /* remplace le g-5 de Bootstrap (3 rem) */
.apv-main .news-card-img, .apv-main .card-img, .apv-main .card-img-top { width: 100%; height: auto; }
.mq-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .6rem; width: 100%; }
.mq-gallery-item { min-width: 0; }
.mq-gallery .lighbox-image-link { display: block; width: 100%; cursor: zoom-in; }
.mq-gallery img { display: block; width: 100%; height: auto; }
.mq-title-link { color: inherit; text-decoration: none; }
.mq-title-link:hover { text-decoration: underline; }
.mq-embed iframe { display: block; width: 100%; height: 240px; border: 0; }
/* crayon d'edition : coin superieur droit de la carte, visible au survol */
.apv-main .card, .apv-main .news-card { position: relative; }
a.mq-edit-ico { position: absolute; top: 0; right: 0; z-index: 5; width: 2.6rem; height: 2.6rem; background: var(--apv); clip-path: polygon(0 0, 100% 0, 100% 100%); color: #fff !important; text-decoration: none; opacity: 0; transition: opacity .2s; }
a.mq-edit-ico i { position: absolute; top: .35rem; right: .35rem; font-size: .9rem !important; line-height: 1; }
.card:hover a.mq-edit-ico, a.mq-edit-ico:focus-visible { opacity: 1; }

/* TEST : grand champ de recherche dans le bandeau, au-dessus du menu (ordinateur) ; sur mobile il reste dans la barre, a cote du burger */
.apv-header { position: relative; }
.apv-hero-search { display: none; }
@media (min-width: 992px) {
	.apv-hero-search { position: absolute; top: 50%; right: clamp(16px, 3vw, 48px); z-index: 5; display: flex; align-items: center; width: clamp(240px, 26vw, 380px); transform: translateY(-50%);
		padding: 0 0 0 14px; overflow: hidden; background: rgba(255,255,255,.82); border: 1px solid rgba(255,255,255,.75); border-radius: 6px; box-shadow: 0 2px 10px rgba(60,50,20,.16); transition: box-shadow .2s, border-color .2s, background .2s; }
	.apv-hero-search:focus-within { background: rgba(255,255,255,.96); border-color: #7d744f; box-shadow: 0 3px 14px rgba(60,50,20,.24); }
	.apv-hero-search input { flex: 1 1 auto; min-width: 0; padding: 8px 0; font-size: 1rem; color: #3b3624; background: transparent; border: 0; outline: 0; }
	.apv-hero-search input::placeholder { color: #8a8266; }
	.apv-hero-search input::-webkit-search-cancel-button { cursor: pointer; }
	.apv-hero-search button { flex: 0 0 auto; align-self: stretch; display: inline-flex; align-items: center; justify-content: center; width: 2.7rem; font-size: 1rem; color: var(--apv-dark); background: transparent; border: 0; border-left: 1px solid rgba(125,116,79,.35); border-radius: 0; cursor: pointer; transition: background .15s; }
	.apv-hero-search button:hover, .apv-hero-search button:focus-visible { background: rgba(170,158,106,.25); outline: 0; }
	.apv-nav .apv-search { display: none; }   /* le champ du menu est remplace par celui du bandeau */
	/* icone du compte : le lien prend toute la hauteur de la barre (survol comme les autres entrees), icone centree */
	.apv-nav .apv-menu .apv-account { display: flex; }
	.apv-nav .apv-menu .apv-account .nav-link { display: flex; align-items: center; padding: 0 14px 1px; }
}

/* page de resultats de recherche */
.apv-results { max-width: none; }   /* les blocs de resultats prennent toute la largeur du contenu */
.apv-results-title { margin: 0 0 1.2rem; font-size: 1.5rem; color: var(--apv-dark); }
.apv-results-count { margin-bottom: 1.2rem; color: #555; }
.apv-result { padding: .9rem 1.1rem; margin-bottom: .9rem; background: #fff; border: 1px solid rgba(0,0,0,.09); border-radius: 4px; box-shadow: 0 1px 8px rgba(0,0,0,.06); transition: box-shadow .2s, border-color .2s; }
@media (hover: hover) { .apv-result:hover { box-shadow: 0 6px 18px rgba(0,0,0,.13); border-color: rgba(170,158,106,.6); } }
.apv-result-title { margin: 0 0 .15rem; font-size: 1.1rem; font-weight: 600; }
.apv-result-title a { color: var(--apv-dark); text-decoration: none; }
.apv-result-title a:hover { text-decoration: underline; }
.apv-result-path { margin: 0 0 .4rem; font-size: .8rem; color: #888; }
.apv-result-path a { color: #888; }
.apv-result-excerpt { margin: 0; font-size: .92rem; color: #444; }
.apv-results mark { padding: 0 .12em; background: #efe6b8; color: inherit; border-radius: 2px; }

/* filtre dynamique d'une liste (ex. de A a Z) */
.apv-filter { position: sticky; top: 46px; z-index: 20; margin: 0 0 .5rem; padding: .35rem 0 .25rem; background: #fff; }
.apv-main #lastNews:has(.apv-filter) { margin-top: .5rem !important; }   /* moins d'espace avant le filtre */   /* colle sous le menu (top ajuste par le script) */
.apv-filter .input-group { max-width: 520px; }
.apv-filter-count { margin-bottom: 0; }
.apv-filter .input-group-text { color: var(--apv-dark); background: #fff; border-color: #ced4da; }
.apv-filter .form-control { border-color: #ced4da; }
.apv-filter .form-control:focus { border-color: var(--apv); }
.apv-filter-count { min-height: 1.1rem; margin: .2rem 0 0; font-size: .85rem; color: #777; }

/* page d'erreur 404 / 403 */
.apv-404 { max-width: 640px; margin: 0 auto; padding: 36px 0 20px; }
.apv-404-code { font-size: clamp(5rem, 18vw, 9rem); font-weight: 700; line-height: 1; color: var(--apv); letter-spacing: .04em; text-shadow: 0 3px 0 var(--apv-light); }
.apv-404-title { margin: .6rem 0 .8rem; font-size: 1.6rem; color: var(--apv-dark); }
.apv-404-text { margin-bottom: 1.4rem; color: #555; }
.apv-404-search { max-width: 380px; margin-top: 1.6rem; }
.apv-404-links { margin-top: 1.6rem; font-size: .9rem; color: #777; }
.apv-404-links a { display: inline-block; margin: 0 .5rem .3rem; }

/* pied de page : large, en colonnes, fond ocre fonce */
.apv-footer { margin-top: 0; color: #f3f0e6; background: #5f573a; font-size: .9rem; }
.apv-foot-main { padding: 44px clamp(16px, 3vw, 48px) 28px; border-top: 6px solid var(--apv); }
.apv-foot-title { margin: 0 0 .9rem; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
.apv-foot-text { margin: 0; line-height: 1.7; color: #f1eee2; font-style: normal; }
.apv-foot-list { margin: 0; padding: 0; list-style: none; }
.apv-foot-list li { margin: 0 0 .35rem; }
.apv .apv-footer a:not(.btn) { color: #fff; text-decoration: none; }
.apv .apv-footer a:not(.btn):hover, .apv .apv-footer a:not(.btn):focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.apv-footer i.bi { color: var(--apv); margin-right: .25rem; }
.apv-foot-btn { display: inline-block; margin: 0 .35rem .35rem 0; padding: .3rem .75rem; border: 1px solid rgba(255,255,255,.35); border-radius: 2rem; font-size: .82rem; }
.apv-foot-btn:hover, .apv-foot-btn:focus-visible { background: var(--apv); border-color: var(--apv); text-decoration: none !important; }
.apv-foot-bar { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem 1.5rem; padding: 14px clamp(16px, 3vw, 48px); background: #4a4330; font-size: .78rem; color: #e6e2d0; }
.apv .apv-footer a.apv-top { display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--apv); color: #fff !important; }
.apv .apv-footer a.apv-top:hover { background: #fff; color: #5f573a !important; text-decoration: none !important; }
.apv-top i.bi { color: inherit !important; margin: 0 !important; }


/* MENU EPURE (ordinateur), dans l'esprit du menu de genevepatrimoine.ch : fond blanc, petites majuscules grises espacees, entree active en gras et plus foncee,
   trait ocre qui apparait au survol et sous l'entree active. Mobile (burger) : inchange. */
@media (min-width: 992px) {
	.apv-page .apv-nav { background: #fff; border-bottom: 1px solid #ddd8c6; }
	.apv-page .apv-nav .apv-menu .apv-link.nav-link { position: relative; padding: 18px 19px 16px; font-size: .9rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: #6a6e6f; background: transparent; }
	.apv-page .apv-nav .apv-menu .apv-link.nav-link::after { content: ""; position: absolute; left: 19px; right: 19px; bottom: 0; height: 3px; background: var(--apv); transform: scaleX(0); transform-origin: left center; transition: transform .2s ease; }
	.apv-page .apv-nav .apv-menu .apv-link.nav-link:hover, .apv-page .apv-nav .apv-menu .apv-link.nav-link:focus-visible { background: transparent; color: #1d1d1b; }
	.apv-page .apv-nav .apv-menu .apv-link.nav-link:hover::after, .apv-page .apv-nav .apv-menu .apv-link.nav-link:focus-visible::after { transform: scaleX(1); }
	.apv-page .apv-nav .apv-menu .apv-link.nav-link.active { background: transparent; color: #1d1d1b; font-weight: 700; }
	.apv-page .apv-nav .apv-menu .apv-link.nav-link.active::after { transform: scaleX(1); }
	/* icone du compte : garde sa taille et son centrage (le menu en majuscules ne s'y applique pas) */
	.apv-page .apv-nav .apv-menu .apv-account .apv-link.nav-link { padding: 0 16px 1px; font-size: 1.4rem; letter-spacing: 0; }
	.apv-page .apv-nav .apv-menu .apv-account .apv-link.nav-link::after { left: 14px; right: 14px; }
	.apv-item.is-active > .apv-caret { color: #888; }
	.apv-sub { border-top: 3px solid var(--apv); border-color: #ddd8c6; border-top-color: var(--apv); }
	.apv-sublink { padding: 10px 18px; font-size: .88rem; letter-spacing: .02em; }
	.apv-sublink:hover, .apv-sublink:focus-visible { background: #f7f5ee; color: #1d1d1b; }
}
@media (prefers-reduced-motion: reduce) { .apv-page .apv-nav .apv-menu .apv-link.nav-link::after { transition: none; } }

/* ordinateur etroit (992 a 1199 px) : menu plus compact pour que l'icone du compte et la recherche restent sur la meme ligne */
@media (min-width: 992px) and (max-width: 1199.98px) {
	.apv-page .apv-nav .apv-menu .apv-link.nav-link { padding-left: 12px; padding-right: 12px; font-size: .8rem; letter-spacing: .04em; }
	.apv-page .apv-nav .apv-menu .apv-link.nav-link::after { left: 12px; right: 12px; }
	.apv-page .apv-nav .apv-menu .apv-account .apv-link.nav-link { padding: 0 12px 1px; font-size: 1.3rem; }
	.apv-item.has-sub > .apv-link { padding-right: 22px !important; }
	.apv-nav .apv-menu .apv-account .nav-link { padding: 0 10px 1px; }
	.apv-search { flex: 0 0 130px; max-width: 130px; padding: 0 6px; }
}

/* MOBILE / TABLETTE : pas de bande a gauche ; barre collante avec le bouton burger, menu deplie en liste */
@media (max-width: 991.98px) {
	.apv-body { display: block; background: #fff; }
	.apv-burger { display: flex; order: 1; flex: 1 1 auto; align-items: center; gap: .5rem; width: auto; padding: 10px 14px; border: 0; border-radius: 0; color: var(--apv-dark); font-size: 1.05rem; font-weight: 600; text-align: left; }
	.apv-burger:focus { box-shadow: none; }
	.apv-burger i { font-size: 1.5rem; line-height: 1; }
	.apv-nav .navbar-collapse { display: none !important; order: 3; flex: 0 0 100%; padding-left: 0; max-height: calc(100vh - 56px); overflow-y: auto; padding: 0 0 10px; background: #fff; border-top: 1px solid #ddd; }
	.apv-nav .navbar-collapse.show, .apv-nav .navbar-collapse.collapsing { display: block !important; }
	.apv-nav .apv-menu.navbar-nav { flex-direction: column; }
	.apv-account { margin-left: 0; }
	.apv-account .dropdown-menu { position: static; border: 0; box-shadow: none; background: var(--apv-light); }
	.apv-nav .apv-menu .apv-link.nav-link { padding: 12px 40px 11px 14px; white-space: normal; }
	.apv-caret { top: 7px; right: 6px; width: 38px; height: 38px; font-size: 1rem; }
	.apv-sub { position: static; border: 0; box-shadow: none; background: var(--apv-light); }
	.apv-item.has-sub:hover > .apv-sub:not(.show), .apv-item.has-sub:focus-within > .apv-sub:not(.show) { display: none; }
	.apv-sublink { padding: 10px 14px 9px 28px; background: transparent; white-space: normal; }
	.apv-search.input-group { order: 2; width: auto; flex: 0 1 190px; max-width: 190px; margin: 0 10px 0 0; padding: 0; align-self: center; }
	:root { --apv-gap: 1.25rem; }
	.apv-main { padding: 14px 14px 24px; }
	.apv-foot-main { padding: 32px 16px 18px; }
	.apv-foot-bar { padding: 14px 16px; }
	.mq-embed iframe { height: 200px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* IMPRESSION : pas d'illustration verticale a gauche, le contenu prend toute la largeur de la feuille */
@media print {
	.apv-page { background: none !important; }
	.apv-nav { background: var(--apv-light) !important; border-bottom: 3px solid var(--apv) !important; }
	.apv-body { display: block !important; background: none !important; }
	.apv-main { padding-left: 0; padding-right: 0; }
}
