/* F2M : page boutique d'un créateur (modèle Elementor 214). Les sections portent une classe f2m-st-* posée au rendu
   (StoreHead::mark) : bannière pleine largeur, identité dans une bulle rosée qui chevauche la bannière, catégories en ronds,
   « En savoir plus » en cartes. Les widgets et leurs réglages restent ceux du modèle. */

:is(.f2m-st-banner, .f2m-st-vacation, .f2m-st-crumbs, .f2m-st-head, .f2m-st-foot, .f2m-st-photos, .f2m-st-cats, .f2m-st-products, .f2m-st-about, .f2m-st-trust) {
  --f2m-blush: #fbf0eb; --f2m-blush-2: #f6e3da; --f2m-mist: #edf2ee; --f2m-fg: #3a2620; --f2m-text: #4a3c37; --f2m-muted: #735f58;
  --f2m-rose: #bb7874; --f2m-rose-ink: #9c524d; --f2m-sand: #f5eee9; --f2m-line: rgba(58, 38, 32, 0.1);
  --f2m-display: "Exo", "F2M Exo", sans-serif; --f2m-text-f: "Quicksand", "F2M Quicksand", sans-serif;
  --f2m-ease: cubic-bezier(0.16, 1, 0.3, 1); --f2m-soft: cubic-bezier(0.22, 1, 0.36, 1);
  --f2m-wrap: min(100% - 48px, 1600px); --f2m-pad: 32px; --f2m-logo: 148px; --f2m-col: 28px;
  --f2m-lift: 0 1px 2px rgba(58, 38, 32, 0.05), 0 12px 26px -16px rgba(58, 38, 32, 0.32);
}
:is(.f2m-st-crumbs, .f2m-st-head, .f2m-st-foot, .f2m-st-photos, .f2m-st-cats, .f2m-st-products:has(.f2m-r), .f2m-st-about, .f2m-st-trust) > .elementor-container { max-width: none !important; padding-inline: 0 !important; }

/* ---------- Bannière : toute la largeur, hauteur maîtrisée ---------- */
.f2m-st-banner > .elementor-container { max-width: none !important; }
.f2m-st-banner .elementor-widget-wrap { padding: 0 !important; }
.f2m-st-banner .elementor-widget-wcfmem-store-banner { width: 100% !important; max-width: none !important; margin: 0 !important; }
.f2m-st-banner .elementor-widget-wcfmem-store-banner img {
  display: block; width: 100% !important; max-width: none !important; height: clamp(220px, 23vw, 420px) !important; margin: 0 !important;
  object-fit: cover; object-position: center; border-radius: 0 !important;
}
.f2m-st-vacation:has(.elementor-widget) { position: relative; z-index: 2; width: var(--f2m-wrap); margin: 16px auto 0 !important; }

/* ---------- Bulle d'identité : fil d'Ariane, en-tête, pied (région, univers en photo) ---------- */
:is(.f2m-st-crumbs, .f2m-st-head, .f2m-st-foot) {
  position: relative; z-index: 1; width: var(--f2m-wrap); margin-inline: auto !important; padding-inline: var(--f2m-pad) !important;
  background: var(--f2m-blush) !important; box-shadow: none !important;
}
.f2m-st-crumbs { margin-top: 24px !important; padding-top: 16px !important; border-radius: 28px 28px 0 0; animation: f2m-st-rise 640ms var(--f2m-ease) both; }
.f2m-st-banner + .f2m-st-crumbs, .f2m-st-banner + .f2m-st-vacation:not(:has(.elementor-widget)) + .f2m-st-crumbs { margin-top: -64px !important; }
.f2m-st-head { padding-block: 4px 18px !important; animation: f2m-st-rise 640ms var(--f2m-ease) both; }
.f2m-st-head:not(:has(+ .f2m-st-foot)) { border-radius: 0 0 28px 28px; }
.f2m-st-foot { padding-block: 0 24px !important; border-radius: 0 0 28px 28px; animation: f2m-st-rise 640ms var(--f2m-ease) both; }
:is(.f2m-st-crumbs, .f2m-st-head, .f2m-st-foot) .elementor-widget-wrap { padding: 0 !important; }
:is(.f2m-st-crumbs, .f2m-st-head, .f2m-st-foot) .elementor-widget:not(:last-child) { margin-bottom: 0 !important; }
:is(.f2m-st-head, .f2m-st-foot) .elementor-widget-html { display: none !important; }

.f2m-st-crumbs .elementor-heading-title, .f2m-st-crumbs #breadcrumbs {
  margin: 0 !important; font: 600 15px/1.5 var(--f2m-text-f) !important; color: var(--f2m-muted) !important; text-align: left !important;
}
.f2m-st-crumbs #breadcrumbs a { color: var(--f2m-text) !important; text-decoration: none; transition: color 200ms ease; }
.f2m-st-crumbs #breadcrumbs a:hover { color: var(--f2m-rose-ink) !important; }
.f2m-st-crumbs .breadcrumb_last { color: var(--f2m-fg); font-weight: 700; }

/* Logo de la boutique : rond, bord blanc, qui monte sur la bannière. */
.f2m-st-head .elementor-widget-wcfmem-store-logo { text-align: center; }
/* Le modèle impose « width: 200px !important » (.elementor-214 .elementor-element-… img) : sélecteur plus précis. */
body .elementor .f2m-st-head .elementor-element.elementor-widget-wcfmem-store-logo img {
  display: block; width: var(--f2m-logo) !important; height: var(--f2m-logo) !important; max-width: none !important; margin: 0 auto;
  border-radius: 999px !important; object-fit: cover; background: #fff;
  box-shadow: 0 0 0 6px #fff, 0 22px 40px -24px rgba(58, 38, 32, 0.55) !important;
}
.f2m-st-head .elementor-widget-wcfmem-store-name .elementor-heading-title {
  margin: 0 !important; padding: 0 !important; font: 600 38px/1.1 var(--f2m-display) !important; letter-spacing: -0.01em;
  color: var(--f2m-fg) !important; text-align: left !important; text-transform: none !important;
}
.f2m-st-head .wcfmmp_store_info_region, .f2m-st-foot .wcfmmp_store_info_region { font: 700 14px/1.3 var(--f2m-text-f); color: var(--f2m-muted); }
.f2m-st-head .elementor-widget-text-editor p, .f2m-st-foot .elementor-widget-text-editor p { margin: 0 !important; }

/* Portrait du créateur. */
body .elementor .f2m-st-head .wcfmmp_store_info_user_avatar img {
  display: block; width: 116px !important; height: 116px !important; max-width: none !important; border-radius: 999px !important; object-fit: cover;
  box-shadow: 0 0 0 4px #fff, 0 18px 34px -22px rgba(58, 38, 32, 0.5);
}

/* « Je me présente », « Ma citation préférée », « Mon parcours » : cartes blanches qui s'ouvrent en douceur. */
.f2m-st-head .elementor-toggle { display: grid; gap: 8px; margin-top: 16px; }
.f2m-st-head .elementor-toggle .elementor-toggle-item { margin: 0 !important; border: 0 !important; border-radius: 16px; background: #fff; box-shadow: 0 1px 2px rgba(58, 38, 32, 0.05); overflow: hidden; transition: box-shadow 260ms var(--f2m-ease); }
.f2m-st-head .elementor-toggle .elementor-toggle-item:hover { box-shadow: var(--f2m-lift); }
.f2m-st-head .elementor-toggle .elementor-tab-title {
  display: flex !important; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 18px !important;
  border: 0 !important; background: none !important; cursor: pointer;
}
.f2m-st-head .elementor-toggle .elementor-tab-title .elementor-toggle-icon { order: 2; float: none !important; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 999px; background: var(--f2m-blush); transition: background-color 240ms ease, rotate 320ms var(--f2m-ease); }
.f2m-st-head .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon { background: var(--f2m-rose); }
.f2m-st-head .elementor-toggle .elementor-toggle-icon svg { width: 12px !important; height: 12px !important; fill: var(--f2m-rose-ink) !important; }
.f2m-st-head .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon svg { fill: #fff !important; }
.f2m-st-head .elementor-toggle .elementor-toggle-title { font: 700 15px/1.3 var(--f2m-text-f) !important; color: var(--f2m-fg) !important; text-transform: none !important; letter-spacing: normal !important; }
.f2m-st-head .elementor-toggle .elementor-tab-content { padding: 0 18px 16px !important; border: 0 !important; background: none !important; }
.f2m-st-head .elementor-toggle .elementor-tab-content, .f2m-st-head .elementor-toggle .elementor-tab-content * { font: 500 15px/1.6 var(--f2m-text-f) !important; color: var(--f2m-text) !important; }
.f2m-st-head .elementor-toggle .elementor-tab-content p { margin: 0 !important; }
/* Ouverture animée par assets/store.js (classe f2m-faq) : la hauteur suit le contenu, le texte arrive en fondu. */
.f2m-st-head .f2m-faq .elementor-toggle .elementor-tab-content { display: block !important; height: 0; padding: 0 !important; overflow: hidden; transition: height 460ms var(--f2m-ease); }
.f2m-st-head .f2m-faq .f2m-faq-in { padding: 0 18px 16px; opacity: 0; translate: 0 -6px; transition: opacity 220ms ease, translate 460ms var(--f2m-ease); }
.f2m-st-head .f2m-faq .elementor-tab-content.elementor-active .f2m-faq-in { opacity: 1; translate: 0 0; transition-delay: 70ms, 0s; }
.f2m-st-head .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon { rotate: 180deg; }
/* Aucune rubrique remplie (StoreHead::faq) : rien à afficher. */
.f2m-st-head .elementor-widget-toggle:not(:has(.elementor-toggle-item)) { display: none !important; }

/* Actions : partager, contacter, département. */
.f2m-st-head .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-wcfmem-store-inquiry) > .elementor-widget-wrap { display: flex !important; flex-wrap: nowrap; align-items: center; justify-content: flex-end; gap: 10px; }
/* Le modèle entoure le département d'un cercle (bordure sur le widget lui-même) et décale le bouton de contact. */
.f2m-st-head .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-wcfmem-store-inquiry) .elementor-widget { width: auto !important; min-width: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
.f2m-st-head .elementor-widget-wcfmem-store-follow:not(:has(a, button)) { display: none !important; }
.f2m-st-head .elementor-widget-icon .elementor-icon, .f2m-st-head .elementor-widget-wcfmem-store-inquiry .elementor-button {
  display: grid !important; place-items: center; width: 44px; height: 44px; min-height: 0; padding: 0 !important; border: 0 !important; border-radius: 999px !important;
  background: #fff !important; color: var(--f2m-rose-ink) !important; fill: var(--f2m-rose-ink) !important; font-size: 18px !important; line-height: 0 !important;
  box-shadow: 0 1px 2px rgba(58, 38, 32, 0.06); cursor: pointer; transition: transform 320ms var(--f2m-soft), box-shadow 260ms var(--f2m-ease), background-color 240ms ease;
}
.f2m-st-head .elementor-widget-icon .elementor-icon:hover, .f2m-st-head .elementor-widget-wcfmem-store-inquiry .elementor-button:hover { transform: translateY(-2px); box-shadow: var(--f2m-lift); background: #fff !important; }
.f2m-st-head .elementor-widget-icon .elementor-icon svg, .f2m-st-head .elementor-widget-wcfmem-store-inquiry svg { width: 18px !important; height: 18px !important; fill: currentColor !important; }
.f2m-st-head .elementor-widget-wcfmem-store-inquiry .elementor-button-text { display: none; }
.f2m-st-head .elementor-widget-wcfmem-store-inquiry .elementor-button { margin: 0 !important; }
.f2m-st-head .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-wcfmem-store-inquiry) .elementor-widget > .elementor-widget-container { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
.f2m-st-head .elementor-widget-wcfmem-store-inquiry .elementor-button-icon { margin: 0 !important; }
.f2m-st-head .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-wcfmem-store-inquiry) .elementor-widget-text-editor p {
  display: inline-flex; align-items: center; gap: 6px; height: 44px !important; margin: 0 !important; padding: 0 16px 0 12px !important; border: 0 !important; border-radius: 999px; background: #fff;
  font: 700 14px/1 var(--f2m-text-f) !important; color: var(--f2m-rose-ink) !important; box-shadow: 0 1px 2px rgba(58, 38, 32, 0.06);
}
.f2m-st-head .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-wcfmem-store-inquiry) .elementor-widget-text-editor p::before {
  content: ""; width: 15px; height: 15px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 18s6-5.2 6-10A6 6 0 0 0 4 8c0 4.8 6 10 6 10zm0-7.5A2.5 2.5 0 1 1 10 5.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 18s6-5.2 6-10A6 6 0 0 0 4 8c0 4.8 6 10 6 10zm0-7.5A2.5 2.5 0 1 1 10 5.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Pied de la bulle : région et « Mon univers en photo ». */
.f2m-st-foot > .elementor-container { display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px; }
.f2m-st-foot > .elementor-container > .elementor-column { width: auto !important; }
.f2m-st-foot .elementor-inner-section > .elementor-container { max-width: none !important; padding: 0 !important; }
.f2m-st-foot .elementor-column:has(.elementor-widget-image) > .elementor-widget-wrap { display: flex !important; flex-wrap: nowrap !important; align-items: center; gap: 8px; height: 40px; padding: 0 16px 0 10px !important; border-radius: 999px; background: #fff; }
.f2m-st-foot .elementor-column:has(.elementor-widget-image) .elementor-widget { width: auto !important; }
.f2m-st-foot .elementor-widget-image img { display: block; width: 26px !important; height: auto !important; max-width: none !important; }
.f2m-st-foot .wcfmmp_store_info_region { color: var(--f2m-fg); }
.f2m-st-foot .elementor-widget-button .elementor-button {
  display: inline-flex; align-items: center; height: 40px; padding: 0 18px !important; border-radius: 999px !important;
  font: 700 14px/1 var(--f2m-text-f) !important; letter-spacing: normal !important; text-transform: none !important;
  transition: transform 320ms var(--f2m-soft), box-shadow 260ms var(--f2m-ease);
}
.f2m-st-foot .elementor-widget-button .elementor-button:hover { transform: translateY(-2px); box-shadow: var(--f2m-lift); }

/* Galerie « Mon univers en photo » (ouverte par le bouton). */
.f2m-st-photos { width: var(--f2m-wrap); margin-inline: auto !important; }
.f2m-st-photos .elementor-widget-wrap { padding: 0 !important; }
.f2m-st-photos .wcfmmp_store_info_content_photos_store { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; width: 100%; margin-top: 16px; }
.f2m-st-photos .wcfmmp_store_info_content_photos_store img { display: block; width: 100% !important; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 16px; }

/* ---------- Catégories de la boutique : pastilles photo + nom (StoreHead::categories) ---------- */
.f2m-st-cats { margin: 0 !important; padding: 0 !important; background: none !important; }
/* Le CSS du snippet TK-0643 masque cette section quand il n'y trouve plus ses pastilles. */
body .f2m-st-cats.elementor-section:has(.f2m-st-subcats) { display: block !important; }
.f2m-st-cats .elementor-widget-wrap { padding: 0 !important; }
.f2m-st-cats .elementor-widget-html { display: none !important; }
.f2m-st-subcats { margin-top: 22px !important; }
/* Catégorie affichée : pastille sombre (category.css, .is-active). */

/* ---------- Créations : même largeur que la bulle ---------- */
.f2m-st-products:has(.f2m-r) .elementor-widget-wrap { padding-inline: 0 !important; }
.f2m-st-products { margin-top: 8px !important; }

/* ---------- En savoir plus : une bulle verte, trois cartes ---------- */
.f2m-st-about { width: var(--f2m-wrap); margin: 24px auto 0 !important; padding: 40px 36px 36px !important; border-radius: 28px; background: var(--f2m-mist) !important; }
.f2m-st-about .elementor-widget-wrap { padding: 0 !important; }
.f2m-st-about > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading .elementor-heading-title {
  margin: 0 0 22px !important; font: 600 30px/1.15 var(--f2m-display) !important; color: var(--f2m-fg) !important; text-align: left !important; text-transform: none !important;
}
.f2m-st-about .elementor-inner-section > .elementor-container { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; max-width: none !important; padding: 0 !important; align-items: stretch; }
.f2m-st-about .elementor-inner-column { width: auto !important; }
/* Photos personnalisées vides (src="") et cartes sans texte : masquées ; la bulle aussi si aucune carte n'a de contenu. */
.f2m-st-about img[src=""] { display: none !important; }
.f2m-st-about .elementor-widget-shortcode:has(img):not(:has(img:not([src=""]))) { display: none !important; }
.f2m-st-about .elementor-inner-column:not(:has(.wcfmmp_store_info_content:not(:empty):not([class*="photo_custom"]), .wcfmmp_store_info_content img:not([src=""]))) { display: none !important; }
.f2m-st-about:not(:has(.wcfmmp_store_info_content:not(:empty):not([class*="photo_custom"]), .wcfmmp_store_info_content img:not([src=""]))) { display: none !important; }
.f2m-st-about .elementor-inner-column > .elementor-widget-wrap { display: flex !important; flex-direction: column; align-content: flex-start; gap: 10px; height: 100%; padding: 24px !important; border-radius: 22px; background: #fff; box-shadow: 0 1px 2px rgba(58, 38, 32, 0.04); transition: box-shadow 320ms var(--f2m-ease), transform 420ms var(--f2m-soft); }
.f2m-st-about .elementor-inner-column > .elementor-widget-wrap:hover { box-shadow: var(--f2m-lift); transform: translateY(-3px); }
.f2m-st-about .elementor-inner-column .elementor-widget { width: 100% !important; margin: 0 !important; }
.f2m-st-about .elementor-inner-column .elementor-widget-shortcode:has(img) { order: -1; }
.f2m-st-about .elementor-inner-column .elementor-widget-shortcode:not(:has(img)):not(:has(.wcfmmp_store_info_content:not(:empty))) { display: none !important; }
.f2m-st-about .elementor-inner-column img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
.f2m-st-about .elementor-inner-column .elementor-heading-title { margin: 0 !important; font: 600 20px/1.25 var(--f2m-display) !important; color: var(--f2m-rose-ink) !important; text-align: left !important; text-transform: none !important; }
.f2m-st-about .elementor-inner-column .wcfmmp_store_info_content { display: block !important; font: 500 15px/1.65 var(--f2m-text-f); color: var(--f2m-text); text-align: left; }

/* ---------- Réassurance ---------- */
.f2m-st-trust { width: var(--f2m-wrap); margin: 40px auto 56px !important; padding: 0 !important; }
.f2m-st-trust > .elementor-container { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.f2m-st-trust > .elementor-container > .elementor-column { width: auto !important; }
.f2m-st-trust .elementor-widget-wrap { display: grid !important; justify-items: center; align-content: start; gap: 4px; height: 100%; padding: 22px 16px !important; border-radius: 22px; background: var(--f2m-blush); text-align: center; }
.f2m-st-trust .elementor-widget { margin: 0 !important; }
.f2m-st-trust .elementor-widget-image img { width: 56px !important; height: 56px !important; object-fit: contain; margin-bottom: 6px; }
.f2m-st-trust .elementor-widget-text-editor, .f2m-st-trust .elementor-widget-text-editor * { font: 500 13.5px/1.4 var(--f2m-text-f) !important; color: var(--f2m-muted) !important; margin: 0 !important; }
.f2m-st-trust .elementor-widget-image + .elementor-widget-text-editor, .f2m-st-trust .elementor-widget-image + .elementor-widget-text-editor * { font: 700 15px/1.3 var(--f2m-text-f) !important; color: var(--f2m-fg) !important; }

/* ---------- Ordinateur : logo | identité + présentation | actions ---------- */
@media (min-width: 1025px) {
  .f2m-st-crumbs, .f2m-st-foot { padding-left: calc(var(--f2m-pad) + var(--f2m-logo) + var(--f2m-col)) !important; }
  .f2m-st-head > .elementor-container { display: grid !important; grid-template-columns: var(--f2m-logo) minmax(0, 1fr) auto; align-items: start; gap: 0 var(--f2m-col); }
  .f2m-st-head > .elementor-container > .elementor-column { width: 100% !important; }
  .f2m-st-head > .elementor-container > .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-wcfmem-store-logo) { order: -1; margin-top: -92px; }
  /* Boutique en vacances : le message sépare la bannière de la bulle, le logo reste dans la bulle. */
  .f2m-st-vacation:has(.elementor-widget) ~ .f2m-st-head > .elementor-container > .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-wcfmem-store-logo) { margin-top: -38px; }
  .f2m-st-head .elementor-inner-section > .elementor-container { display: flex !important; align-items: flex-start; gap: 32px; max-width: none !important; padding: 0 !important; }
  .f2m-st-head .elementor-inner-column:has(> .elementor-widget-wrap > .elementor-widget-toggle) { flex: 1 1 auto; width: auto !important; min-width: 0; }
  /* Portrait : en médaillon sur le logo (StoreHead::portrait), plus seul à droite de la présentation. */
  .f2m-st-head .elementor-inner-column:has(.wcfmmp_store_info_user_avatar):not(:has(.elementor-widget-toggle)) { display: none !important; }
  .f2m-st-head .elementor-widget-wcfmem-store-logo { position: relative; width: var(--f2m-logo) !important; margin-inline: auto !important; }
  .f2m-st-portrait { position: absolute; right: -14px; bottom: -6px; width: 78px; height: 78px; border-radius: 999px; overflow: hidden; background: #fff; box-shadow: 0 0 0 4px #fff, 0 16px 28px -18px rgba(58, 38, 32, 0.6); animation: f2m-st-pop 620ms var(--f2m-soft) 280ms both; }
  /* Plus précis que la règle du logo (148 px, anneau blanc), qui s'appliquerait aussi à cette image. */
  body .elementor .f2m-st-head .elementor-element.elementor-widget-wcfmem-store-logo .f2m-st-portrait img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; margin: 0 !important; object-fit: cover; object-position: center; border-radius: 0 !important; background: none; box-shadow: none !important; }
  /* Partager, contacter, département : en haut à droite de la bulle, à hauteur du fil d'Ariane (hauteur mesurée par store.js). */
  .f2m-st-head > .elementor-container > .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-wcfmem-store-inquiry) { grid-row: 1; grid-column: 3; z-index: 1; margin-top: calc(-1 * var(--f2m-crumbs-h, 53px)); }
  /* La présentation prend toute la largeur sous les boutons, remontés. */
  .f2m-st-head > .elementor-container > .elementor-column:has(.elementor-widget-toggle) { grid-row: 1; grid-column: 2 / -1; }
  .f2m-st-crumbs { padding-right: calc(var(--f2m-pad) + 200px) !important; }
}
@media (max-width: 1024px) { .f2m-st-portrait { display: none; } }

/* ---------- Tablette et mobile : tout centré, logo sur la bannière ---------- */
@media (max-width: 1024px) {
  :is(.f2m-st-banner, .f2m-st-vacation, .f2m-st-crumbs, .f2m-st-head, .f2m-st-foot, .f2m-st-photos, .f2m-st-cats, .f2m-st-products, .f2m-st-about, .f2m-st-trust) { --f2m-pad: 22px; --f2m-logo: 120px; }
  .f2m-st-head .elementor-inner-section > .elementor-container { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 12px 24px; max-width: none !important; padding: 0 !important; }
  .f2m-st-head .elementor-inner-column { width: auto !important; }
  .f2m-st-head .elementor-inner-column:has(.elementor-widget-toggle) { flex: 1 1 100%; order: 3; }
  .f2m-st-head .elementor-inner-column:has(.elementor-widget-wcfmem-store-logo) { flex: 1 1 100%; margin-top: -76px; }
  .f2m-st-head .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-wcfmem-store-inquiry) > .elementor-widget-wrap { justify-content: center; }
  .f2m-st-head .elementor-widget-wcfmem-store-name .elementor-heading-title { text-align: center !important; font-size: 30px !important; }
  .f2m-st-head .elementor-inner-column:has(.elementor-widget-toggle) > .elementor-widget-wrap { display: flex !important; flex-direction: column; align-items: stretch; gap: 4px; }
  .f2m-st-head .elementor-inner-column:has(.elementor-widget-toggle) .elementor-widget-text-editor { text-align: center; }
  .f2m-st-head .elementor-inner-column:has(.elementor-widget-toggle) .elementor-widget-shortcode:has(.wcfmmp_store_info_user_avatar) { order: -1; display: flex; justify-content: center; margin-bottom: 6px !important; }
  body .elementor .f2m-st-head .wcfmmp_store_info_user_avatar img { width: 84px !important; height: 84px !important; }
  .f2m-st-foot > .elementor-container { justify-content: center; }
}
@media (max-width: 767px) {
  :is(.f2m-st-banner, .f2m-st-vacation, .f2m-st-crumbs, .f2m-st-head, .f2m-st-foot, .f2m-st-photos, .f2m-st-cats, .f2m-st-products, .f2m-st-about, .f2m-st-trust) { --f2m-wrap: calc(100% - 20px); --f2m-pad: 16px; --f2m-logo: 104px; }
  .f2m-st-banner .elementor-widget-wcfmem-store-banner img { height: 180px !important; }
  .f2m-st-banner + .f2m-st-crumbs, .f2m-st-banner + .f2m-st-vacation:not(:has(.elementor-widget)) + .f2m-st-crumbs { margin-top: -40px !important; }
  .f2m-st-crumbs { padding-top: 12px !important; border-radius: 22px 22px 0 0; }
  .f2m-st-crumbs #breadcrumbs { font-size: 13px !important; }
  .f2m-st-head .elementor-inner-column:has(.elementor-widget-wcfmem-store-logo) { margin-top: 0; }
  .f2m-st-foot { border-radius: 0 0 22px 22px; }
  .f2m-st-about { padding: 26px 16px 18px !important; border-radius: 22px; }
  .f2m-st-about > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading .elementor-heading-title { font-size: 24px !important; margin-bottom: 14px !important; }
  .f2m-st-about .elementor-inner-column > .elementor-widget-wrap { padding: 18px !important; }
  .f2m-st-trust { margin: 28px auto 40px !important; }
  .f2m-st-trust > .elementor-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .f2m-st-trust .elementor-widget-wrap { padding: 16px 10px !important; }
}

@keyframes f2m-st-rise { from { opacity: 0.2; translate: 0 12px; } to { opacity: 1; translate: 0 0; } }
@keyframes f2m-st-pop { from { opacity: 0; scale: 0.6; } to { opacity: 1; scale: 1; } }
@media (prefers-reduced-motion: reduce) {
  :is(.f2m-st-crumbs, .f2m-st-head, .f2m-st-foot), .f2m-st-portrait { animation: none; }
  .f2m-st-head .f2m-faq .elementor-tab-content, .f2m-st-head .f2m-faq .f2m-faq-in { transition: none; }
  .f2m-st-about .elementor-inner-column > .elementor-widget-wrap, .f2m-st-head .elementor-toggle .elementor-toggle-item { transition: none; }
}
