/* RV Galeries — harmonie du site (palette rebeccavandal.com) */

/* Cartes « La boutique / Votre séance » : le lien du thème (noir) passait devant la couleur du bouton,
   et le texte devenait illisible sur le fond vert. */
.rvo .rvo-bouton { color: #FBF8F1; }
.rvo .rvo-bouton.rvo-bouton-clair, .rvo .rvo-carte:not(.rvo-carte-verte) .rvo-bouton { color: #354535; }
.rvo .rvo-bouton:hover, .rvo .rvo-bouton:focus-visible { color: #2F2A24; }

/* Touches sur téléphone : jamais le bleu du système. */
html { -webkit-tap-highlight-color: rgba(214, 174, 123, .22); }
::selection { background: #EACDA3; color: #1A1A1A; }

/* En-tête sur téléphone et tablette : les petits éléments ajoutés à l'en-tête (étoile des avis,
   mot « Séances à Granby… ») n'étaient mis en forme que pour l'ordinateur. L'étoile s'affichait
   en noir, grande comme la main, et le mot se tassait à côté du logo. */
header svg.ccseo-ico { width: 15px; height: 15px; max-width: 15px; fill: #A8834F; display: block; flex: none; }
header .ccseo-avis { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; letter-spacing: .04em; color: #6B6257; text-decoration: none; white-space: nowrap; word-spacing: normal; }
header .ccseo-avis span { word-spacing: normal; }
@media (max-width: 1024px) {
	header .ccseo-bar-mot { display: none !important; }
	header .ccseo-avis > span { display: none; }
	header .ccseo-avis { margin: 0 0 0 2px; }
	header .elementor-social-icons-wrapper:has(.ccseo-avis) { display: flex !important; flex-wrap: nowrap !important; align-items: center; }
}

/* Texte courant : la taille se règle maintenant dans Elementor (Réglages du site > Typographie),
   plus aucune taille forcée ici, pour que les changements faits dans Elementor s'appliquent. */
/* Taille minimale de lecture : le texte ne descend jamais sous 15 px (14,5 px sur téléphone), mais toute
   taille plus grande choisie dans Elementor (sous-titres, citations…) est respectée telle quelle. */
main.site-main .elementor-widget-text-editor p, main.site-main .elementor-widget-text-editor li { font-size: max(15px, 1em) !important; line-height: max(1.2em, 25px) !important; }
@media (max-width: 767px) { main.site-main .elementor-widget-text-editor p, main.site-main .elementor-widget-text-editor li { font-size: max(14.5px, 1em) !important; line-height: max(1.2em, 24px) !important; } }
main.site-main .elementor-widget-text-editor p { margin-bottom: .9em; }
main.site-main .elementor-widget-text-editor strong { font-weight: 600; }

/* Boutons du contenu : la même famille que l'en-tête et le pied de page (pastille, vert sauge,
   lettres espacées), au lieu des rectangles dorés. */
main.site-main .elementor-button {
	border-radius: 999px !important;
	background: #354535 !important;
	border: 1px solid #354535 !important;
	color: #F6F2E9 !important;
	font-family: "Montserrat", sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	padding: 15px 30px !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
	transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease, box-shadow .3s ease !important;
}
main.site-main .elementor-button:hover,
main.site-main .elementor-button:focus-visible {
	background: #D6AE7B !important;
	border-color: #D6AE7B !important;
	color: #2F2A24 !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(53, 69, 53, .18) !important;
}
main.site-main .elementor-button .elementor-button-text, main.site-main .elementor-button span { color: inherit !important; }

/* Titre principal de l'accueil (pour Google) : il s'affichait tassé, en lettres collées, au-dessus
   de la bannière sur téléphone. Il reste lisible par Google et les lecteurs d'écran, mais invisible. */
.elementor-element-62efa7c h1.elementor-heading-title {
	position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important;
	overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;
}
.elementor-element-62efa7c { margin: 0 !important; padding: 0 !important; min-height: 0 !important; }

/* Pages légales (confidentialité, témoins) */
.rvg-legal { max-width: 820px; margin: 0 auto; color: #535353; font-family: "Montserrat", sans-serif; }
.rvg-legal h2 { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500; font-size: clamp(24px, 3vw, 30px); line-height: 1.2; color: #354535; margin: 1.8em 0 .5em; }
.rvg-legal p, .rvg-legal li { font-size: 15px !important; line-height: 1.75 !important; }
.rvg-legal ul { margin: 0 0 1em; padding-left: 1.2em; }
.rvg-legal li { margin: 0 0 .45em; }
.rvg-legal li::marker { color: #D6AE7B; }
.rvg-legal a { color: #354535; text-decoration: underline; text-decoration-color: #D6AE7B; text-underline-offset: 3px; }
.rvg-legal a:hover { color: #A8834F; }
.rvg-legal strong { color: #354535; font-weight: 600; }
.rvg-legal-maj { font-size: 12px !important; letter-spacing: .12em; text-transform: uppercase; color: #A8834F !important; }
.rvg-nowrap { white-space: nowrap; }

/* Formulaires (contact, infolettre) : même bouton que le reste du site. */
main.site-main .fluentform .ff-btn-submit, main.site-main .ff-el-group .ff-btn {
	border-radius: 999px !important; background: #354535 !important; border: 1px solid #354535 !important; color: #F6F2E9 !important;
	font: 600 12px/1.3 "Montserrat", sans-serif !important; letter-spacing: .14em !important; text-transform: uppercase !important; padding: 15px 34px !important;
	transition: background .3s ease, color .3s ease, border-color .3s ease !important;
}
main.site-main .fluentform .ff-btn-submit:hover, main.site-main .fluentform .ff-btn-submit:focus-visible { background: #D6AE7B !important; border-color: #D6AE7B !important; color: #2F2A24 !important; }
main.site-main .fluentform .ff-el-form-control { border: 1px solid #E6DDCF !important; border-radius: 0 !important; background: #FBF8F3 !important; font-size: 16px !important; padding: 12px 14px !important; color: #1A1A1A !important; }
main.site-main .fluentform .ff-el-form-control:focus { outline: 2px solid #EACDA3 !important; border-color: #D6AE7B !important; background: #fff !important; }
main.site-main .fluentform .ff-el-input--label label { font-size: 11px !important; letter-spacing: .14em; text-transform: uppercase; color: #354535 !important; font-weight: 500 !important; }

/* Accueil : les cartes « La boutique / Votre séance » passent au-dessus de « À propos de moi »
   (déplacées par le petit script de harmonie.php), avec un peu plus d'air au-dessus des boutons. */
.rvo .rvo-geste { margin-top: 12px !important; }

/* Tarifs : bandeau plus bas, et texte d'introduction plus petit. */
.page-id-12 .elementor-element-391d5c21 { padding-top: 64px !important; padding-bottom: 64px !important; }
body.page-id-12 main.site-main .elementor-element-1ac24730, body.page-id-12 main.site-main .elementor-element-1ac24730 p {
	font-size: 12.5px !important; line-height: 1.7 !important; letter-spacing: .04em !important; max-width: 520px;
}
@media (max-width: 1024px) { .page-id-12 .elementor-element-391d5c21 { padding-top: 46px !important; padding-bottom: 46px !important; } }
@media (max-width: 767px) {
	.page-id-12 .elementor-element-391d5c21 { padding-top: 34px !important; padding-bottom: 34px !important; }
	body.page-id-12 main.site-main .elementor-element-1ac24730, body.page-id-12 main.site-main .elementor-element-1ac24730 p { font-size: 11.5px !important; }
}
/* Tarifs : logo Clic & Craie plus discret dans « Photos scolaires et préscolaires ». */
.page-id-12 .elementor-element-1a461a6 img { max-width: 130px !important; width: 130px !important; height: auto !important; }
@media (max-width: 767px) { .page-id-12 .elementor-element-1a461a6 img { max-width: 110px !important; width: 110px !important; } }

/* Réservation : le thème (kit Elementor) épaissit la bordure des boutons au survol (1 px → 2 px),
   ce qui faisait bouger tout ce qui suit, jusqu'au pied de page. La bordure garde son épaisseur :
   seul le bouton change de couleur. */
.ccsr .ccsr-bouton, .ccsr .ccsr-bouton:hover, .ccsr .ccsr-bouton:focus, .ccsr .ccsr-bouton:focus-visible, .ccsr .ccsr-bouton:active,
.ccsr button:hover, .ccsr button:focus { border-width: 1px !important; }
/* Même règle du thème : les cases du calendrier des minis de Noël gagnaient une bordure de 2 px au survol. */
.ccn .ccn-case:hover, .ccn .ccn-case:focus, .ccn-case:hover, .ccn-case:focus { border-width: 0 !important; }

/* Fenêtre « Vous quittez ce site » (Écoles & CPE) : de l'air entre le titre, le texte et les boutons,
   et un bouton « Rester ici » lisible au survol (le thème le passait en texte blanc sur crème). */
.ccseo-sortie .ccseo-sortie-titre { margin: 0 0 16px !important; line-height: 1.15 !important; }
.ccseo-sortie .ccseo-sortie-mot { margin: 0 0 28px !important; line-height: 1.75 !important; }
.ccseo-sortie .ccseo-sortie-titre::after { content: ""; display: block; width: 44px; height: 1px; background: #D6AE7B; margin: 16px auto 0; }
.ccseo-sortie .ccseo-sortie-choix { gap: 14px !important; }
.ccseo-sortie .ccseo-sortie-choix a, .ccseo-sortie .ccseo-sortie-choix button { border-width: 1px !important; border-style: solid !important; outline-offset: 3px; }
.ccseo-sortie .ccseo-sortie-choix button:hover, .ccseo-sortie .ccseo-sortie-choix button:focus, .ccseo-sortie .ccseo-sortie-choix button:focus-visible {
	background: #F0E6D6 !important; color: #354535 !important; border-color: #A8834F !important; }
.ccseo-sortie .ccseo-sortie-choix a:hover, .ccseo-sortie .ccseo-sortie-choix a:focus-visible { color: #F6F2E9 !important; }
.ccseo-sortie .ccseo-sortie-boite { max-width: 540px !important; }
.ccseo-sortie .ccseo-sortie-mot { font-size: .92rem !important; }
@media (max-width: 480px) { .ccseo-sortie .ccseo-sortie-mot { text-wrap: balance; } }
/* Contact : de l'air entre les icônes carrées (adresse, téléphone, courriel) et leur texte. */
.elementor-element-24aa250a .elementor-icon-box-wrapper, .elementor-element-3b6d1ad2 .elementor-icon-box-wrapper, .elementor-element-6dbed384 .elementor-icon-box-wrapper { gap: 18px; align-items: flex-start; }
.elementor-element-24aa250a, .elementor-element-3b6d1ad2 { margin-bottom: 22px; }
.elementor-element-24aa250a .elementor-icon-box-title, .elementor-element-3b6d1ad2 .elementor-icon-box-title, .elementor-element-6dbed384 .elementor-icon-box-title { margin-bottom: 4px; }

/* Accueil, téléphone : « Faites connaissance avec l'artiste derrière chaque photo » sur deux lignes */
@media (max-width: 767px) {
	.elementor-element-2ee4ee75 .elementor-heading-title { font-size: clamp(21px, 6.4vw, 30px) !important; line-height: 1.25 !important; text-wrap: balance; }
}

/* Pied de page sur téléphone : tout bien centré et aligné */
@media (max-width: 720px) {
	footer.rvp .rvp-identite { align-items: center; }
	footer.rvp .rvp-carte { display: flex; flex-direction: column; align-items: center; text-align: center; }
	footer.rvp .rvp-carte picture { display: block; width: 100%; text-align: center; }
	footer.rvp .rvp-signature { display: block; margin: 0 auto; }
	footer.rvp .rvp-metier { text-align: center; }
	footer.rvp .rvp-joindre { display: inline-flex; flex-direction: column; align-items: flex-start; margin: 4px auto 0; padding: 0; }
	footer.rvp .rvp-joindre li { justify-content: flex-start !important; }
	footer.rvp .rvp-mot blockquote { border-left: 0 !important; padding: 34px 0 0 !important; text-align: center; }
	footer.rvp .rvp-mot blockquote::before { left: 50% !important; transform: translateX(-50%); top: -10px !important; }
	footer.rvp .rvp-mot cite { justify-content: center; }
	footer.rvp .rvp-mot cite::after { content: ""; width: 26px; height: 1px; background: var(--or, #D6AE7B); display: inline-block; }
	footer.rvp .rvp-titre::after { left: 50% !important; transform: translateX(-50%); }
	footer.rvp .rvp-bloc:hover .rvp-titre::after { width: 22px !important; }
	footer.rvp .rvp-grille > .rvp-bloc:nth-child(3) { grid-column: 1 / -1; }
	footer.rvp .rvp-bloc ul { padding: 0; margin: 0; list-style: none; }
	footer.rvp .rvp-juridique { flex-wrap: wrap; justify-content: center; gap: 6px 12px; }
	footer.rvp .rvp-juridique a { white-space: nowrap; }
	footer.rvp .rvp-juridique span { display: none; }
	footer.rvp .rvp-juridique { gap: 8px 20px; }
}

/* ---------- Pastille du panier (en-tête et pied de page) ---------- */
a.ccseo-boutique, .rvp-panier, a.rvg-panier-tete { position: relative !important; overflow: visible !important; }
.rvg-pastille { position: absolute; top: -7px; right: -8px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: #354535; color: #FBF8F1 !important; font: 600 10.5px/19px "Montserrat", sans-serif !important; letter-spacing: 0 !important; text-align: center; box-shadow: 0 0 0 2px #fff; pointer-events: none; animation: rvg-pastille .4s cubic-bezier(.3,1.6,.5,1) both; z-index: 2; text-transform: none !important; }
.rvp-panier .rvg-pastille { background: #D6AE7B; color: #2F2A24 !important; box-shadow: 0 0 0 2px #354535; }
@keyframes rvg-pastille { from { transform: scale(.3); opacity: 0; } to { transform: none; opacity: 1; } }
.rvg-panier-item { display: none !important; }
@media (max-width: 1024px) {
	.rvg-panier-item { display: inline-flex !important; }
	.elementor-element-22c0a747 a.rvg-panier-tete { font-size: 17px !important; width: auto !important; height: auto !important; }
	.elementor-element-22c0a747 a.rvg-panier-tete svg { width: 17px !important; height: 17px !important; fill: #A8834F; }
	.elementor-element-22c0a747 .rvg-pastille { top: -8px; right: -10px; min-width: 15px; height: 15px; padding: 0 4px; font-size: 9px !important; line-height: 15px !important; box-shadow: 0 0 0 1.5px #fff; }
	.elementor-element-22c0a747 a.rvg-panier-tete[data-rvg-plein] svg { fill: #354535; }
}

/* ---------- Téléphone et tablette : en-tête blanc, menu déroulant net ---------- */
@media (max-width: 1024px) {
	html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
	header.elementor-2247 { background: #fff !important; box-shadow: 0 1px 0 rgba(214, 174, 123, .35), 0 6px 18px rgba(60, 45, 30, .05); position: relative; z-index: 9990; }
	header.elementor-2247 .elementor-element-69c437f4 { background: #fff !important; padding-top: 6px !important; padding-bottom: 6px !important; }
	header.elementor-2247 .elementor-element-69c437f4 > .elementor-container { min-height: 64px !important; }
	header.elementor-2247 .elementor-element-22c0a747 .elementor-social-icon svg { fill: #A8834F !important; }
	header.elementor-2247 .elementor-element-22c0a747 .elementor-social-icon i { color: #A8834F !important; }
	/* Menu déroulant : blanc, opaque, au-dessus de tout le contenu */
	header.elementor-2247 .elementor-nav-menu--dropdown.elementor-nav-menu__container { background: #fff !important; border: 0 !important; box-shadow: 0 18px 40px rgba(60, 45, 30, .16) !important; z-index: 9999 !important; padding: 6px 0 10px !important; margin-top: 23px !important; left: 0 !important; right: 0 !important; width: 100vw !important; }
	header.elementor-2247 .elementor-nav-menu--dropdown .elementor-nav-menu { background: #fff !important; }
	header.elementor-2247 .elementor-nav-menu--dropdown li { background: #fff !important; border: 0 !important; margin: 0 !important; }
	header.elementor-2247 .elementor-nav-menu--dropdown a, header.elementor-2247 .elementor-nav-menu--dropdown a.elementor-item { background: #fff !important; color: #2F2A24 !important; font-family: "Montserrat", sans-serif !important; font-size: 15px !important; font-weight: 400 !important; letter-spacing: .02em !important; padding: 15px 24px !important; border: 0 !important; border-bottom: 1px solid rgba(214, 174, 123, .3) !important; opacity: 1 !important; }
	header.elementor-2247 .elementor-nav-menu--dropdown li:last-child > a { border-bottom: 0 !important; }
	header.elementor-2247 .elementor-nav-menu--dropdown a:hover, header.elementor-2247 .elementor-nav-menu--dropdown a.elementor-item-active, header.elementor-2247 .elementor-nav-menu--dropdown a:focus { background: #FAF6F0 !important; color: #354535 !important; }
	header.elementor-2247 .elementor-nav-menu--dropdown .sub-menu { background: #FAF6F0 !important; border: 0 !important; box-shadow: none !important; }
	header.elementor-2247 .elementor-nav-menu--dropdown .sub-menu a { background: #FAF6F0 !important; padding-left: 40px !important; font-size: 14px !important; }
	header.elementor-2247 .elementor-nav-menu--dropdown a.ccseo-boutique svg { width: 18px; height: 18px; }
}

/* ---------- Accueil sur téléphone : la photo du couple fait la hauteur de l'écran ---------- */
@media (max-width: 767px) {
	body.home .elementor-element-17c362e6 { height: calc(100vh - 108px) !important; height: calc(100svh - 108px) !important; min-height: 520px !important; padding: 18px !important; background-position: 50% 58% !important; display: flex !important; align-items: center !important; }
	body.home .elementor-element-17c362e6 > .elementor-container { height: 100% !important; min-height: 0 !important; width: 100% !important; align-items: center !important; }
	body.home .elementor-element-17c362e6 .elementor-element-11ae0cca > .elementor-widget-wrap { padding: 0 !important; }
	body.home .elementor-element-4c6b168f { width: 100% !important; max-width: none !important; margin: 0 !important; }
	body.home .elementor-element-a57f190 > .elementor-widget-wrap { padding: clamp(26px, 5.5vh, 46px) clamp(22px, 7vw, 32px) !important; margin: 0 !important; }
	body.home .elementor-element-2874736e .elementor-heading-title { font-size: clamp(29px, 8.4vw, 36px) !important; line-height: 1.1 !important; text-wrap: balance; }
	body.home .elementor-element-2874736e { margin-bottom: clamp(14px, 2.6vh, 24px) !important; }
	body.home main.site-main .elementor-element-685636a8, body.home main.site-main .elementor-element-685636a8 .elementor-widget-container p, body.home main.site-main .elementor-widget-text-editor.elementor-element-685636a8 p { font-size: clamp(13px, 3.6vw, 14px) !important; line-height: 1.8 !important; letter-spacing: .04em !important; margin: 0 !important; text-wrap: pretty; }
}

/* ---------- Téléphone et tablette : bande crème (réseaux, avis, téléphone, courriel) + galerie et boutique près du logo ---------- */
.rvg-bande-tel { display: none; }
@media (max-width: 1024px) {
	.rvg-bande-tel { display: flex; justify-content: space-between; align-items: center; gap: 10px; height: 32px; padding: 0 16px; background: #F3ECE1; border-bottom: 1px solid rgba(214, 174, 123, .35); font: 500 12px/1 "Montserrat", sans-serif; }
	.rvg-bande-tel > div { display: flex; align-items: center; gap: 16px; }
	.rvg-bande-tel a { display: inline-flex; align-items: center; gap: 6px; color: #2F2A24 !important; text-decoration: none !important; letter-spacing: .02em; }
	.rvg-bande-tel svg { width: 15px; height: 15px; fill: #A8834F; flex: none; }
	header.elementor-2247 .elementor-element-22c0a747 .elementor-grid-item:not(.rvg-tete-item), header.elementor-2247 .elementor-element-22c0a747 a.ccseo-avis, header.elementor-2247 .elementor-element-359310fe { display: none !important; }
	header.elementor-2247 .elementor-element-22c0a747 .elementor-social-icons-wrapper { gap: 18px !important; justify-content: flex-end; }
	header.elementor-2247 .elementor-element-22c0a747 .rvg-tete-item { margin: 0 !important; }
	.elementor-element-22c0a747 a.rvg-galerie-tete { font-size: 21px !important; width: auto !important; height: auto !important; }
	.elementor-element-22c0a747 a.rvg-galerie-tete svg, .elementor-element-22c0a747 a.rvg-panier-tete svg { width: 23px !important; height: 23px !important; }
	header.elementor-2247 .elementor-element-22c0a747 a.rvg-galerie-tete svg { fill: none !important; stroke: #354535 !important; stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; }
	header.elementor-2247 .elementor-element-22c0a747 a.rvg-panier-tete svg { fill: #354535 !important; }
	.elementor-element-22c0a747 a.rvg-panier-tete { font-size: 23px !important; }
}
@media (max-width: 359px) { .rvg-bande-tel .rvg-bande-g span { display: none; } .rvg-bande-tel > div { gap: 12px; } }

/* ---------- Bouton « haut de page » (pages longues) ---------- */
.rvg-haut { position: fixed; right: 18px; bottom: 18px; z-index: 9000; width: 46px; height: 46px; border-radius: 50%; border: 1px solid #D6AE7B; background: rgba(53, 69, 53, .92); color: #FBF8F1; display: grid; place-items: center; cursor: pointer; box-shadow: 0 8px 22px rgba(30, 25, 20, .22); opacity: 0; transform: translateY(14px); pointer-events: none; transition: opacity .25s, transform .25s, background .2s; padding: 0; }
.rvg-haut.vu { opacity: 1; transform: none; pointer-events: auto; }
.rvg-haut:hover, .rvg-haut:focus-visible { background: #354535; outline: none; box-shadow: 0 0 0 3px rgba(214, 174, 123, .45), 0 8px 22px rgba(30, 25, 20, .22); }
.rvg-haut svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 767px) { .rvg-haut { right: 14px; bottom: 14px; width: 42px; height: 42px; } }
@media print { .rvg-haut { display: none !important; } }
body.admin-bar .rvg-haut { bottom: 78px; }

/* En-tête : toujours blanc, même posé par-dessus la photo de l'accueil (le logo a un fond blanc). */
header.elementor-2247 .elementor-element.elementor-element-69c437f4, header.elementor-2247 .elementor-element-69c437f4.elementor-sticky--effects, header.elementor-2247 .elementor-element-69c437f4.elementor-sticky--active, header.elementor-2247.elementor-sticky--active .elementor-element-69c437f4 { background-color: #fff !important; }
header.elementor-2247 { position: relative; z-index: 9990; }

/* ---------- En-tête : logo toujours centré, icônes « ? » (aide) et panier ---------- */
header.elementor-2247 .elementor-element-22c0a747 a.rvg-aide-tete svg { fill: none !important; stroke: #354535 !important; stroke-width: 1.5; stroke-linecap: round; }
header.elementor-2247 .elementor-element-22c0a747 a.rvg-aide-tete svg circle[fill] { fill: #354535 !important; stroke: none !important; }
.elementor-element-22c0a747 a.rvg-aide-tete { font-size: 23px !important; width: auto !important; height: auto !important; }
.elementor-element-22c0a747 a.rvg-aide-tete svg { width: 24px !important; height: 24px !important; }
@media (max-width: 1024px) {
	/* le logo au centre exact de l'écran, le menu à gauche, l'aide et le panier à droite */
	header.elementor-2247 .elementor-element-69c437f4 > .elementor-container { position: relative; }
	header.elementor-2247 .elementor-element-69c437f4 .elementor-column:has(.elementor-element-415da8bc), header.elementor-2247 .elementor-element-69c437f4 .elementor-column:has(.elementor-element-415da8bc) > .elementor-widget-wrap { position: static !important; }
	header.elementor-2247 .elementor-element-415da8bc { position: absolute !important; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important; width: auto !important; max-width: 52vw; z-index: 2; margin: 0 !important; }
	header.elementor-2247 .elementor-element-415da8bc img { max-height: 40px; width: auto !important; }
}
@media (min-width: 1025px) {
	header.elementor-2247 li.rvg-cache-ordi { display: none !important; }
	header.elementor-2247 li.rvg-aide-hote { position: relative; }
	header.elementor-2247 a.rvg-aide-ico { position: absolute; left: 100%; top: 50%; transform: translateY(-50%); margin: 0 !important; padding: 0 !important; box-sizing: border-box; width: 38px; height: 38px; border: 1px solid #D6AE7B; border-radius: 50%; display: grid; place-items: center; transition: background .2s, border-color .2s; }
	header.elementor-2247 a.rvg-aide-ico span { font: 500 16px/1 "Montserrat", sans-serif; color: #A8834F; }
	header.elementor-2247 a.rvg-aide-ico:hover { background: #FAF6F0; border-color: #A8834F; }
	header.elementor-2247 li.rvg-aide-hote > a.elementor-item:last-of-type { margin-right: 0 !important; }
	/* un peu moins d'espace entre les liens, pour faire place au rond « ? » */
	header.elementor-2247 .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item { padding-left: clamp(6px, calc((100vw - 1000px) / 34), 13px) !important; padding-right: clamp(6px, calc((100vw - 1000px) / 34), 13px) !important; margin-right: clamp(0px, calc((100vw - 1060px) / 20), 25px) !important; }
}

/* « ? » Aide dans la bande crème (ordinateur et téléphone) */
header.elementor-2247 .rvg-aide-bande svg, .rvg-bande-tel a.rvg-bande-aide svg { fill: none !important; stroke: #A8834F !important; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
header.elementor-2247 .rvg-aide-bande svg circle[fill], .rvg-bande-tel a.rvg-bande-aide svg circle[fill] { fill: #A8834F !important; stroke: none !important; }
header.elementor-2247 .rvg-aide-bande svg { width: 15px; height: 15px; }
header.elementor-2247 .rvg-aide-bande a:hover .elementor-icon-list-text { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 420px) { .rvg-bande-tel a.rvg-bande-aide span { display: none; } .rvg-bande-tel > div { gap: 13px; } }

/* Raccourci Espace client (téléphone et tablette) */
header.elementor-2247 .elementor-element-22c0a747 a.rvg-client-tete svg { fill: none !important; stroke: #354535 !important; stroke-width: 1.6; stroke-linecap: round; width: 25px !important; height: 25px !important; }
.elementor-element-22c0a747 a.rvg-client-tete { font-size: 23px !important; width: auto !important; height: auto !important; }

header.elementor-2247 .ccseo-bar-mot.rvg-mot-cache { visibility: hidden !important; }

/* Téléphone : logo à gauche, près du hamburger, plus grand; icônes plus légères pour que le logo domine. */
@media (max-width: 767px) {
	header.elementor-2247 .elementor-element-415da8bc { left: 60px !important; transform: translateY(-50%) !important; max-width: none; }
	header.elementor-2247 .elementor-element-415da8bc img { width: min(205px, calc(100vw - 168px)) !important; height: auto !important; max-height: none; }
	header.elementor-2247 .elementor-element-22c0a747 a.rvg-client-tete svg { stroke-width: 1.25; width: 23px !important; height: 23px !important; }
	header.elementor-2247 .elementor-element-22c0a747 .elementor-social-icons-wrapper { gap: 16px !important; }
	.elementor-element-22c0a747 a.rvg-panier-tete svg { width: 21px !important; height: 21px !important; }
}
