/* V9.6.67 — bundle non destructif. Sources originales conservées dans le thème. */

/* ===== SOURCE: assets/css/visitor-assistant-v9-6-58.css ===== */
.v9658-assistant{position:fixed;right:22px;bottom:92px;z-index:9995;font-family:var(--v9-body,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);pointer-events:none}
.v9658-assistant-bubble,.v9658-assistant-card{pointer-events:auto}
.v9658-assistant-bubble{display:none;align-items:center;gap:10px;border:1px solid rgba(91,67,53,.14);background:#fffdf9;color:#43352d;padding:8px 14px 8px 8px;border-radius:999px;box-shadow:0 10px 34px rgba(45,35,29,.16);cursor:pointer;font:600 14px/1.2 inherit;transition:transform .2s ease,box-shadow .2s ease}
.v9658-assistant.is-ready .v9658-assistant-bubble{display:flex;animation:v9658-in .4s ease both}
.v9658-assistant.is-open .v9658-assistant-bubble{display:none}
.v9658-assistant-bubble:hover{transform:translateY(-2px);box-shadow:0 14px 38px rgba(45,35,29,.2)}
.v9658-assistant-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#5a463b;color:#fff;font-family:var(--v9-display,"Cormorant Garamond",Georgia,serif);font-weight:700;font-size:23px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.v9658-assistant-avatar-large{width:52px;height:52px;font-size:28px;flex:0 0 auto}
.v9658-assistant-card{position:relative;width:min(390px,calc(100vw - 32px));background:#fffdf9;color:#3c3029;border:1px solid rgba(91,67,53,.13);border-radius:20px;padding:22px;box-shadow:0 18px 55px rgba(45,35,29,.22);transform-origin:bottom right}
.v9658-assistant-card:not([hidden]){animation:v9658-card .28s ease both}
.v9658-assistant-close{position:absolute;top:10px;right:12px;width:34px;height:34px;border:0;background:transparent;color:#786c65;font-size:28px;line-height:1;cursor:pointer;border-radius:50%}.v9658-assistant-close:hover{background:#f3eee8;color:#3c3029}
.v9658-assistant-head{display:flex;align-items:center;gap:12px;padding-right:30px;margin-bottom:16px}.v9658-assistant-head strong{display:block;font-family:var(--v9-display,"Cormorant Garamond",Georgia,serif);font-size:25px;line-height:1.05;color:#3f312a}.v9658-assistant-head small{display:block;margin-top:4px;color:#81756e;font-size:12px;line-height:1.3}
.v9658-assistant-copy{font-size:15.5px;line-height:1.58;color:#51443d}.v9658-assistant-copy p{margin:0 0 10px}.v9658-assistant-copy p:first-child{font-family:var(--v9-display,"Cormorant Garamond",Georgia,serif);font-size:22px;line-height:1.25;color:#3f312a}.v9658-assistant-copy p:last-child{margin-bottom:0}
.v9658-assistant-cta{display:flex;justify-content:center;align-items:center;min-height:46px;margin-top:18px;padding:0 18px;border-radius:999px;background:#5a463b;color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:700;letter-spacing:.02em;transition:transform .2s ease,background .2s ease}.v9658-assistant-cta:hover{background:#3f312a;transform:translateY(-1px)}
@keyframes v9658-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes v9658-card{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:700px){.v9658-assistant{right:12px;bottom:74px}.v9658-assistant-bubble{padding:7px}.v9658-assistant-bubble-text{display:none}.v9658-assistant-card{width:min(356px,calc(100vw - 24px));padding:18px;border-radius:17px}.v9658-assistant-head strong{font-size:23px}.v9658-assistant-copy{font-size:15px}.v9658-assistant-copy p:first-child{font-size:20px}}
@media(prefers-reduced-motion:reduce){.v9658-assistant-bubble,.v9658-assistant-card,.v9658-assistant-cta{animation:none!important;transition:none!important}}

/* V9.6.61 — visibilité renforcée sans modifier le design général. */
.v9658-assistant.is-ready .v9658-assistant-bubble{opacity:1;visibility:visible}
.v9658-assistant-bubble{max-width:min(310px,calc(100vw - 44px))}
.v9658-assistant-bubble-text{white-space:nowrap}
@media(min-width:701px){.v9658-assistant.is-ready:not(.is-open) .v9658-assistant-bubble{box-shadow:0 12px 42px rgba(45,35,29,.22)}}


/* ===== SOURCE: assets/css/compact-responsive-menu-v9-6-19.css ===== */

/* =====================================================================
   V9.6.19 SAFE — MENU RESPONSIVE COMPACT
   Objectif : réduire la taille des "cases" et du menu sur petits écrans
   d'ordinateur, tablette et téléphone sans changer la direction visuelle.
   ===================================================================== */

/* Petits ordinateurs / laptops */
@media(max-width:1280px){
  .v9-header-inner{
    height:72px;
  }
  .v9-overlay-menu{
    inset:72px 0 0;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .v9-menu-panel{
    width:min(calc(100% - 48px),860px);
    margin:32px auto 48px;
    gap:10px 56px;
  }
  .v9-menu-panel>a{
    font-size:31px;
    line-height:1.04;
    padding:6px 0;
  }
  .v9-menu-panel .v9-menu-reserve{
    font-size:10px;
    padding:14px 18px;
  }
  .v9-reserve{
    height:48px;
    padding:0 21px;
    font-size:10px;
  }
  .v9-menu-btn{
    width:54px;
    height:48px;
  }
}

/* Tablettes et petits écrans */
@media(max-width:1019px){
  .v9-header-inner{
    width:calc(100% - 22px);
    height:64px;
  }
  .v9-logo{
    width:94px;
    font-size:20px;
  }
  .v9-logo em{
    font-size:18px;
    margin-left:12px;
    margin-top:4px;
  }
  .v9-overlay-menu{
    inset:64px 0 0;
  }
  .v9-menu-panel{
    width:calc(100% - 32px);
    max-width:660px;
    margin:22px auto 34px;
    grid-template-columns:1fr;
    gap:2px;
  }
  .v9-menu-panel>a{
    font-size:24px;
    line-height:1.02;
    padding:6px 2px;
  }
  .v9-menu-panel .v9-menu-reserve{
    margin-top:8px;
    font-size:9px;
    padding:12px 15px;
  }
  .v9-reserve{
    height:40px;
    padding:0 12px;
    font-size:8px;
    letter-spacing:.12em;
  }
  .v9-menu-btn{
    width:40px;
    height:40px;
    gap:5px;
  }
  .v9-menu-btn span{
    width:19px;
  }
}

/* Téléphones */
@media(max-width:540px){
  .v9-header-inner{
    width:calc(100% - 16px);
    height:58px;
  }
  .v9-logo{
    width:82px;
    font-size:18px;
    line-height:.88;
  }
  .v9-logo em{
    font-size:16px;
    margin-left:10px;
    margin-top:3px;
  }
  .v9-overlay-menu{
    inset:58px 0 0;
  }
  .v9-menu-panel{
    width:calc(100% - 24px);
    margin:12px auto 26px;
    gap:0;
  }
  .v9-menu-panel>a{
    font-size:20px;
    line-height:1;
    padding:5px 2px;
  }
  .v9-menu-panel .v9-menu-reserve{
    margin-top:7px;
    padding:11px 14px;
    font-size:8px;
    letter-spacing:.13em;
  }
  .v9-reserve{
    height:36px;
    padding:0 10px;
    font-size:8px;
  }
  .v9-menu-btn{
    width:36px;
    height:36px;
  }
  .v9-menu-btn span{
    width:18px;
  }
}

/* Très petits téléphones */
@media(max-width:390px){
  .v9-menu-panel>a{
    font-size:18px;
    padding:4px 2px;
  }
  .v9-menu-panel{
    margin-top:9px;
  }
}


/* ===== SOURCE: assets/css/hero-five-pictos-v9-6-20.css ===== */

/* =====================================================================
   V9.6.20 SAFE — HERO 5 PHOTOS + PICTOS
   ===================================================================== */
.v920-hero-pictos{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  margin:18px 0 20px;
  align-items:center;
}
.v920-hero-picto{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 8px 24px rgba(20,16,12,.10);
}
.v920-hero-picto svg{
  width:16px;
  height:16px;
  fill:#fff;
  flex:0 0 16px;
}
.v920-hero-picto strong{
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#fff;
  font-weight:600;
  white-space:nowrap;
}

@media(max-width:1019px){
  .v920-hero-pictos{gap:8px 10px;margin:14px 0 18px}
  .v920-hero-picto{padding:8px 12px}
  .v920-hero-picto strong{font-size:10px}
}
@media(max-width:540px){
  .v920-hero-pictos{
    gap:8px;
    margin:12px 0 16px;
  }
  .v920-hero-picto{
    padding:7px 10px;
    gap:7px;
  }
  .v920-hero-picto svg{width:14px;height:14px;flex-basis:14px}
  .v920-hero-picto strong{
    font-size:9px;
    letter-spacing:.12em;
  }
}


/* ===== SOURCE: assets/css/photo-arrival-global-v9-6-22.css ===== */

/* =====================================================================
   V9.6.18 SAFE — ARRIVÉE PHOTO GLOBALE
   Reprend le système validé en cours sur la galerie V9.6.17 :
   très doux, lent, très peu de zoom.
   Utilise translate/scale séparés pour ne pas casser les transforms existants.
   ===================================================================== */

.v918-photo-arrival{
  opacity:0;
  filter:blur(2px);
  translate:var(--v918-x,0px) var(--v918-y,28px);
  scale:.9825;
  will-change:opacity,filter,translate,scale;
}
.v918-photo-arrival.is-v918-photo-visible{
  animation:v918-photo-arrive 2760ms cubic-bezier(.22,1,.36,1) both;
  animation-delay:var(--v918-delay,0ms);
}
@keyframes v918-photo-arrive{
  0%{
    opacity:0;
    filter:blur(2px);
    translate:var(--v918-x,0px) var(--v918-y,28px);
    scale:.9825;
  }
  68%{
    opacity:1;
    filter:blur(0);
    translate:0 -2px;
    scale:1.003;
  }
  86%{
    opacity:1;
    filter:blur(0);
    translate:0 1px;
    scale:.999;
  }
  100%{
    opacity:1;
    filter:blur(0);
    translate:0 0;
    scale:1;
  }
}

/* Origines très discrètes : pas d'effet de vol ou de carte qui se balade. */
.v918-photo-arrival:nth-of-type(4n+1){--v918-x:-7px}
.v918-photo-arrival:nth-of-type(4n+2){--v918-x:7px}
.v918-photo-arrival:nth-of-type(4n+3){--v918-x:-4px}
.v918-photo-arrival:nth-of-type(4n+4){--v918-x:4px}

/* ---------------------------------------------------------------------
   GALERIE ACCUEIL — TELEPHONE :
   12 photos, UNE SEULE COLONNE, toutes les unes sous les autres,
   proportions naturelles conservées.
   --------------------------------------------------------------------- */
@media(max-width:760px){
  .v915-gallery{
    padding:5px!important;
    overflow:visible!important;
  }
  .v915-gallery-grid{
    display:block!important;
    width:100%!important;
  }
  .v915-gallery-grid .v915-card,
  .v915-gallery-grid .v915-card-1,
  .v915-gallery-grid .v915-card-2,
  .v915-gallery-grid .v915-card-3,
  .v915-gallery-grid .v915-card-4,
  .v915-gallery-grid .v915-card-5,
  .v915-gallery-grid .v915-card-6,
  .v915-gallery-grid .v915-card-7,
  .v915-gallery-grid .v915-card-8,
  .v915-gallery-grid .v915-card-9,
  .v915-gallery-grid .v915-card-10,
  .v915-gallery-grid .v915-card-11,
  .v915-gallery-grid .v915-card-12{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    grid-column:auto!important;
    grid-row:auto!important;
    margin:0 0 5px!important;
  }
  .v915-gallery-grid .v915-card img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    object-fit:contain!important;
  }

  .v918-photo-arrival{
    --v918-x:0px;
    --v918-y:24px;
  }
  .v918-photo-arrival.is-v918-photo-visible{
    animation-duration:2560ms;
  }
}

@media(prefers-reduced-motion:reduce){
  .v918-photo-arrival,
  .v918-photo-arrival.is-v918-photo-visible{
    opacity:1!important;
    filter:none!important;
    translate:none!important;
    scale:1!important;
    animation:none!important;
  }
}

