/* PALETTE ET TYPO PILOTÉES PAR LE BUILDER (conversion automatique restaurant-hero-1).
   La section ne peint plus sa racine : le fond du panneau Thème et l'option dégradé du marchand
   passent. L'encre vient de currentColor, l'accent du bouton primaire. Voir
   builder/lab/prompts/_INVARIANTS.md §1. */
#restaurant-hero-1{
  --restau-accent: var(--btn-primary-light-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-light-color, #ffffff);
  --restau-muted: color-mix(in srgb, currentColor 66%, transparent);
  --restau-line: color-mix(in srgb, currentColor 16%, transparent);
  --restau-surface: color-mix(in srgb, currentColor 6%, transparent);
}
#restaurant-hero-1.dark, .dark #restaurant-hero-1{
  --restau-accent: var(--btn-primary-dark-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-dark-color, #ffffff);
}
/* PALETTE ET TYPO PILOTÉES PAR LE BUILDER (conversion automatique restaurant-hero-1).
   La section ne peint plus sa racine : le fond du panneau Thème et l'option dégradé du marchand
   passent. L'encre vient de currentColor, l'accent du bouton primaire. Voir
   builder/lab/prompts/_INVARIANTS.md §1. */
#restaurant-hero-1{
  --restau-accent: var(--btn-primary-light-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-light-color, #ffffff);
  --restau-muted: color-mix(in srgb, currentColor 66%, transparent);
  --restau-line: color-mix(in srgb, currentColor 16%, transparent);
  --restau-surface: color-mix(in srgb, currentColor 6%, transparent);
}
#restaurant-hero-1.dark, .dark #restaurant-hero-1{
  --restau-accent: var(--btn-primary-dark-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-dark-color, #ffffff);
}
#restaurant-hero-1{
  position:relative;
  overflow:hidden;
}
#restaurant-hero-1.light{
  --accent:var(--btn-primary-light-background-color,#9C6B3F);
}
#restaurant-hero-1.dark{
  --accent:var(--btn-primary-dark-background-color,#E7C9A3);
}
#restaurant-hero-1 .bg{}
#restaurant-hero-1 .container{position:relative;z-index:2;}
#restaurant-hero-1 .resto-hero{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:clamp(32px,5vw,80px);
}
#restaurant-hero-1 .resto-copy{max-width:560px;}

#restaurant-hero-1 .kicker{
  display:inline-block;
  font-size:13px;letter-spacing:.22em;text-transform:uppercase;
  font-weight:600;margin:0 0 22px;line-height:1.4;
  padding:7px 16px;border-radius:999px;
}
#restaurant-hero-1 .kicker{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);}

#restaurant-hero-1 h1{
  line-height:1.04;margin:0 0 24px;letter-spacing:-.015em;}
#restaurant-hero-1 h1 em{color:var(--accent);font-style:italic;}

#restaurant-hero-1 .lede{font-size:clamp(16px,1.5vw,19px);line-height:1.7;margin:0;max-width:48ch;color:color-mix(in srgb, currentColor 72%, transparent);}

#restaurant-hero-1 .resto-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:34px;}
#restaurant-hero-1 .btn-primary{
  display:inline-flex;align-items:center;
  border-radius:999px;
  padding:16px 32px;font-weight:600;letter-spacing:.01em;
  transition:transform .25s ease,box-shadow .25s ease;
}
#restaurant-hero-1 .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.16);}
#restaurant-hero-1 .btn-soft{
  display:inline-flex;align-items:center;gap:10px;
  border-radius:999px;
  padding:15px 26px;font-weight:600;
  border:1px solid;transition:border-color .25s ease,transform .25s ease;
}
#restaurant-hero-1 .btn-soft{color:inherit;border-color:color-mix(in srgb, var(--accent) 24%, transparent);}
#restaurant-hero-1 .btn-soft:hover{border-color:var(--accent);transform:translateY(-2px);}
#restaurant-hero-1 .btn-soft .btn-arrow{width:17px;height:17px;color:var(--accent);display:block;}

#restaurant-hero-1 .resto-hours{
  font-size:14px;letter-spacing:.04em;margin:28px 0 0;
  color:color-mix(in srgb, currentColor 72%, transparent);
}

#restaurant-hero-1 .resto-media{position:relative;}
#restaurant-hero-1 .resto-media img{
  width:100%;display:block;
  aspect-ratio:4/5;object-fit:cover;
  border-radius:32px 32px 120px 32px;
}
#restaurant-hero-1 .media-badge{
  position:absolute;left:-14px;bottom:28px;
  border-radius:22px;
  padding:18px 24px;
  text-align:center;
  backdrop-filter:blur(8px);
}
/* Badge flotte SUR la photo → fond neutre semi-opaque de lisibilité (légitime, cf. légendes galerie), teinté d'accent */
#restaurant-hero-1 .media-badge{border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);box-shadow:0 18px 40px rgba(0,0,0,.16);}
#restaurant-hero-1.light .media-badge{background:color-mix(in srgb, var(--accent) 10%, rgba(255,255,255,0.92));}
#restaurant-hero-1.dark .media-badge{background:color-mix(in srgb, var(--accent) 16%, rgba(0,0,0,0.86));}
#restaurant-hero-1 .badge-num{font-size:34px;font-weight:700;line-height:1;margin:0;color:var(--accent);}
#restaurant-hero-1 .badge-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:6px 0 0;line-height:1.3;color:color-mix(in srgb, currentColor 72%, transparent);}

@media (max-width:860px){
  #restaurant-hero-1 .resto-hero{grid-template-columns:1fr;gap:40px;}
  #restaurant-hero-1 .resto-media{order:-1;max-width:480px;}
  #restaurant-hero-1 .resto-media img{aspect-ratio:16/11;border-radius:28px 28px 80px 28px;}
}
@media (max-width:520px){
  #restaurant-hero-1 .resto-actions{gap:12px;}
  #restaurant-hero-1 .btn-primary,#restaurant-hero-1 .btn-soft{width:100%;justify-content:center;}
}

/* Entrée CSS auto (sans JS) — visible même si le builder ne déclenche aucune animation. */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
#restaurant-hero-1 [data-rise]{animation:rise .6s ease both;animation-delay:var(--d,0s)}
@media (prefers-reduced-motion:reduce){#restaurant-hero-1 [data-rise]{animation:none}}



/* PALETTE ET TYPO PILOTÉES PAR LE BUILDER (conversion automatique restaurant-about-1).
   La section ne peint plus sa racine : le fond du panneau Thème et l'option dégradé du marchand
   passent. L'encre vient de currentColor, l'accent du bouton primaire. Voir
   builder/lab/prompts/_INVARIANTS.md §1. */
#restaurant-about-1{
  --restau-accent: var(--btn-primary-light-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-light-color, #ffffff);
  --restau-muted: color-mix(in srgb, currentColor 66%, transparent);
  --restau-line: color-mix(in srgb, currentColor 16%, transparent);
  --restau-surface: color-mix(in srgb, currentColor 6%, transparent);
}
#restaurant-about-1.dark, .dark #restaurant-about-1{
  --restau-accent: var(--btn-primary-dark-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-dark-color, #ffffff);
}
/* PALETTE ET TYPO PILOTÉES PAR LE BUILDER (conversion automatique restaurant-about-1).
   La section ne peint plus sa racine : le fond du panneau Thème et l'option dégradé du marchand
   passent. L'encre vient de currentColor, l'accent du bouton primaire. Voir
   builder/lab/prompts/_INVARIANTS.md §1. */
#restaurant-about-1{
  --restau-accent: var(--btn-primary-light-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-light-color, #ffffff);
  --restau-muted: color-mix(in srgb, currentColor 66%, transparent);
  --restau-line: color-mix(in srgb, currentColor 16%, transparent);
  --restau-surface: color-mix(in srgb, currentColor 6%, transparent);
}
#restaurant-about-1.dark, .dark #restaurant-about-1{
  --restau-accent: var(--btn-primary-dark-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-dark-color, #ffffff);
}
#restaurant-about-1{position:relative;overflow:hidden;}
#restaurant-about-1.light{--accent:var(--btn-primary-light-background-color,#9C6B3F);--ra-muted:color-mix(in srgb, currentColor 72%, transparent);--ra-soft:color-mix(in srgb, var(--accent) 5%, transparent);--ra-line:color-mix(in srgb, var(--accent) 20%, transparent);}
#restaurant-about-1.dark{--accent:var(--btn-primary-dark-background-color,#E7C9A3);--ra-muted:color-mix(in srgb, currentColor 72%, transparent);--ra-soft:color-mix(in srgb, var(--accent) 5%, transparent);--ra-line:color-mix(in srgb, var(--accent) 20%, transparent);}

#restaurant-about-1 .ra-wrap{position:relative;z-index:2;max-width:1120px;margin:0 auto;padding-left:clamp(20px,5vw,40px);padding-right:clamp(20px,5vw,40px);}
#restaurant-about-1 .ra-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px);align-items:center;}

#restaurant-about-1 .ra-media{position:relative;}
#restaurant-about-1 .ra-img{display:block;width:100%;height:auto;aspect-ratio:6/7;object-fit:cover;border-radius:24px;box-shadow:0 30px 60px -34px color-mix(in srgb, var(--restau-accent) 55%, transparent);}

#restaurant-about-1 .ra-body{max-width:520px;}
#restaurant-about-1 .ra-kicker{margin:0 0 16px;font-size:13px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--accent);}
#restaurant-about-1 .ra-title{margin:0 0 22px;font-size:clamp(30px,4vw,46px);line-height:1.12;letter-spacing:-.02em;font-weight:800;}
#restaurant-about-1 .ra-title em{color:var(--accent);font-style:italic;font-weight:700;}
#restaurant-about-1 .ra-text{margin:0 0 18px;font-size:clamp(15px,1.4vw,17px);line-height:1.7;color:var(--ra-muted);}

#restaurant-about-1 .ra-stats{display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,40px);margin-top:clamp(28px,3.5vw,40px);padding-top:clamp(24px,3vw,32px);border-top:1px solid var(--ra-line);}
#restaurant-about-1 .ra-stat{min-width:120px;}
#restaurant-about-1 .ra-stat-num{margin:0 0 6px;font-size:clamp(18px,2vw,22px);font-weight:800;letter-spacing:-.01em;color:var(--accent);}
#restaurant-about-1 .ra-stat-label{margin:0;font-size:13px;line-height:1.4;color:var(--ra-muted);}

@media (max-width:880px){
  #restaurant-about-1 .ra-grid{grid-template-columns:1fr;gap:clamp(28px,6vw,40px);}
  #restaurant-about-1 .ra-body{max-width:none;}
  #restaurant-about-1 .ra-img{aspect-ratio:4/3;}
}



/* PALETTE ET TYPO PILOTÉES PAR LE BUILDER (conversion automatique restaurant-gallery-1).
   La section ne peint plus sa racine : le fond du panneau Thème et l'option dégradé du marchand
   passent. L'encre vient de currentColor, l'accent du bouton primaire. Voir
   builder/lab/prompts/_INVARIANTS.md §1. */
#restaurant-gallery-1--0{
  --restau-accent: var(--btn-primary-light-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-light-color, #ffffff);
  --restau-muted: color-mix(in srgb, currentColor 66%, transparent);
  --restau-line: color-mix(in srgb, currentColor 16%, transparent);
  --restau-surface: color-mix(in srgb, currentColor 6%, transparent);
}
#restaurant-gallery-1--0.dark, .dark #restaurant-gallery-1--0{
  --restau-accent: var(--btn-primary-dark-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-dark-color, #ffffff);
}
/* PALETTE ET TYPO PILOTÉES PAR LE BUILDER (conversion automatique restaurant-gallery-1).
   La section ne peint plus sa racine : le fond du panneau Thème et l'option dégradé du marchand
   passent. L'encre vient de currentColor, l'accent du bouton primaire. Voir
   builder/lab/prompts/_INVARIANTS.md §1. */
#restaurant-gallery-1--0{
  --restau-accent: var(--btn-primary-light-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-light-color, #ffffff);
  --restau-muted: color-mix(in srgb, currentColor 66%, transparent);
  --restau-line: color-mix(in srgb, currentColor 16%, transparent);
  --restau-surface: color-mix(in srgb, currentColor 6%, transparent);
}
#restaurant-gallery-1--0.dark, .dark #restaurant-gallery-1--0{
  --restau-accent: var(--btn-primary-dark-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-dark-color, #ffffff);
}
#restaurant-gallery-1--0{position:relative;overflow:hidden;}
#restaurant-gallery-1--0.light{--accent:var(--btn-primary-light-background-color,#9C6B3F);--rg-muted:color-mix(in srgb,currentColor 72%,transparent);--rg-border:color-mix(in srgb,currentColor 12%,transparent);}
#restaurant-gallery-1--0.dark{--accent:var(--btn-primary-dark-background-color,#E7C9A3);--rg-muted:color-mix(in srgb,currentColor 72%,transparent);--rg-border:color-mix(in srgb,currentColor 12%,transparent);}

#restaurant-gallery-1--0 .container{position:relative;z-index:2;max-width:1120px;margin:0 auto;padding-left:20px;padding-right:20px;}

#restaurant-gallery-1--0 .rg-head{max-width:640px;margin:0 auto clamp(34px,4.5vw,56px);}
#restaurant-gallery-1--0 .kicker{display:inline-block;margin:0 0 16px;padding:7px 16px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--accent);border:1px solid var(--rg-border);border-radius:999px;background:color-mix(in srgb,var(--accent) 8%,transparent);}
#restaurant-gallery-1--0 .rg-head h2{margin:0 0 14px;line-height:1.08;letter-spacing:-.02em;}
#restaurant-gallery-1--0 .rg-head h2 em{font-style:italic;color:var(--accent);}
#restaurant-gallery-1--0 .rg-intro{margin:0;font-size:clamp(15px,1.4vw,18px);line-height:1.65;color:var(--rg-muted);}

#restaurant-gallery-1--0 .rg-grid{column-count:3;column-gap:clamp(14px,1.8vw,22px);padding:0;margin:0;list-style:none;}
#restaurant-gallery-1--0 .rg-item{break-inside:avoid;margin:0 0 clamp(14px,1.8vw,22px);position:relative;border-radius:22px;overflow:hidden;display:block;box-shadow:0 14px 34px rgba(0,0,0,0.1);}
#restaurant-gallery-1--0.dark .rg-item{box-shadow:0 14px 34px rgba(0,0,0,.42);}
#restaurant-gallery-1--0 .rg-item img{width:100%;height:auto;display:block;transition:transform .6s cubic-bezier(.22,1,.36,1);}
#restaurant-gallery-1--0 .rg-item:hover img{transform:scale(1.05);}
#restaurant-gallery-1--0 figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 18px 16px;text-align:left;background:linear-gradient(0deg,rgba(0,0,0,0.72),rgba(0,0,0,0.0));opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease;}
#restaurant-gallery-1--0 figcaption p{margin:0;font-size:15px;font-weight:700;letter-spacing:.01em;color:var(--restau-accent);}
#restaurant-gallery-1--0 .rg-item:hover figcaption,#restaurant-gallery-1--0 .rg-item:focus-within figcaption{opacity:1;transform:translateY(0);}

@media (max-width:860px){#restaurant-gallery-1--0 .rg-grid{column-count:2;}}
@media (max-width:540px){#restaurant-gallery-1--0 .rg-grid{column-count:1;}}

@media (prefers-reduced-motion:reduce){#restaurant-gallery-1--0 .rg-item img{transition:none;}}



/* restaurant-testimonial-single-1 : « the toast ». ONE featured review, staged : above the long quote two drawn wine glasses, first upright and
   apart, lean towards each other and clink (each one turns around a point far below it, like a raised arm ; the wine stays
   level inside the tilting glass), then sparks burst at the point of contact. Mood photo under an arch beside it, kind of
   table and context below. House scroll engine only (data-scroll-effect) : the state written here is the FINAL one.
   Palette and type belong to the builder. No script. */
#restaurant-testimonial-single-1{
  --rts-accent: var(--btn-primary-light-background-color, var(--btn-primary-background-color, #9C6B3F));
  --rts-on: var(--btn-primary-light-color, #ffffff);
  --rts-line: color-mix(in srgb, currentColor 18%, transparent);
  --rts-hi: color-mix(in srgb, var(--rts-accent) 45%, currentColor);
  position:relative;
}
#restaurant-testimonial-single-1.dark, .dark #restaurant-testimonial-single-1{
  --rts-accent: var(--btn-primary-dark-background-color, var(--btn-primary-background-color, #E7C9A3));
  --rts-on: var(--btn-primary-dark-color, #1C1714);
}
#restaurant-testimonial-single-1::before{
  content:''; position:absolute; z-index:-3; right:-180px; top:-60px; width:640px; height:640px; border-radius:50%; pointer-events:none;
  background-image:radial-gradient(circle, color-mix(in srgb, var(--rts-accent) 13%, transparent), transparent 68%);
}
#restaurant-testimonial-single-1 *{box-sizing:border-box}
#restaurant-testimonial-single-1 img{max-width:100%}
#restaurant-testimonial-single-1 img[class]{max-height:720px}
#restaurant-testimonial-single-1 .container{position:relative; width:100%; max-width:1180px; margin:0 auto; padding:0 24px}
#restaurant-testimonial-single-1 .rts-d, #restaurant-testimonial-single-1 .rts-t, #restaurant-testimonial-single-1 .rts-m{display:block}
#restaurant-testimonial-single-1 .rts-grid{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:0 88px; align-items:center}

/* ---- the mood photo, under an arch ---- */
#restaurant-testimonial-single-1 .rts-photo{position:relative; min-width:0; width:100%; max-width:430px; justify-self:center; padding:14px}
#restaurant-testimonial-single-1 .rts-photo::before{content:''; position:absolute; left:0; top:0; right:0; bottom:0; border:1.5px solid color-mix(in srgb, var(--rts-accent) 46%, transparent); border-radius:50% 50% 36px 36px / calc(40% + 2.8px) calc(40% + 2.8px) 36px 36px; pointer-events:none}
#restaurant-testimonial-single-1 .rts-arch{position:relative; width:100%; aspect-ratio:4 / 5; border-radius:50% 50% 22px 22px / 40% 40% 22px 22px; overflow:hidden; overflow:clip; background-color:color-mix(in srgb, var(--rts-accent) 9%, transparent)}
#restaurant-testimonial-single-1 .rts-zoom{width:100%; height:100%}
#restaurant-testimonial-single-1 .rts-img{display:block; width:100%; height:100%; max-height:none; object-fit:cover; object-position:50% 62%; color:transparent} /* a photo that fails to load leaves a clean tinted arch : its alternative text would be cut by the curve */

/* ---- words ---- */
#restaurant-testimonial-single-1 .rts-words{min-width:0}
#restaurant-testimonial-single-1 .rts-kicker{
  display:inline-flex; align-items:center; gap:10px; margin:0 0 20px; padding:8px 16px; border-radius:999px; font-size:13px; font-weight:700; line-height:1.3; letter-spacing:.2em; text-transform:uppercase;
  border:1px solid color-mix(in srgb, var(--rts-accent) 46%, transparent);
}
#restaurant-testimonial-single-1 .rts-kicker::before{content:''; flex:none; width:7px; height:7px; border-radius:50%; background-color:var(--rts-accent)}
#restaurant-testimonial-single-1 .rts-title{margin:0; font-weight:700; /* the theme's own titles are bold (reviews 700, about and call-to-action 800) */ font-size:clamp(30px,3.5vw,48px); line-height:1.1; letter-spacing:-.02em; overflow-wrap:break-word; text-wrap:balance}
#restaurant-testimonial-single-1 .rts-title em{font-style:italic; color:var(--rts-hi)}
#restaurant-testimonial-single-1 .rts-quote + .rts-quote{margin-top:14px}
#restaurant-testimonial-single-1 .rts-quote{margin:0; max-width:56ch; font-size:clamp(18px,1.7vw,22px); line-height:1.66; overflow-wrap:break-word}
#restaurant-testimonial-single-1 .rts-who{margin-top:34px; padding-top:28px; border-top:1px solid var(--rts-line)}
#restaurant-testimonial-single-1 .rts-guest{margin:0 0 16px; font-size:19px; font-weight:600; line-height:1.35; overflow-wrap:break-word}
#restaurant-testimonial-single-1 .rts-facts{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px 28px; padding-top:16px; border-top:1px solid var(--rts-line)}
#restaurant-testimonial-single-1 .rts-fact{min-width:0}
#restaurant-testimonial-single-1 .rts-fact-k{margin:0 0 6px; font-size:12px; font-weight:700; line-height:1.4; letter-spacing:.16em; text-transform:uppercase; color:var(--rts-hi); overflow-wrap:break-word}
#restaurant-testimonial-single-1 .rts-fact-v{margin:0; font-size:16px; line-height:1.5; overflow-wrap:break-word; text-wrap:balance}

/* ---- the toast : two glasses on the edge of the table ---- */
#restaurant-testimonial-single-1 .rts-toast{position:relative; width:100%; height:158px; margin:22px 0 26px; pointer-events:none}
#restaurant-testimonial-single-1 .rts-toast::before, #restaurant-testimonial-single-1 .rts-toast::after{content:''; position:absolute; bottom:0; height:1.5px; border-radius:2px; background-color:var(--rts-line)}
#restaurant-testimonial-single-1 .rts-toast::before{left:0; right:calc(50% + 94px)}
#restaurant-testimonial-single-1 .rts-toast::after{left:calc(50% + 94px); right:0}
#restaurant-testimonial-single-1 .rts-glass{position:absolute; bottom:0; width:56px; height:108px}
/* the pivot sits far below each glass and towards the middle : leaning in also LIFTS the glass off the table line */
#restaurant-testimonial-single-1 .rts-glass-l, #restaurant-testimonial-single-1 .rts-glass-l .rts-lean{transform-origin:calc(50% + 60px) 310%}
#restaurant-testimonial-single-1 .rts-glass-r, #restaurant-testimonial-single-1 .rts-glass-r .rts-lean{transform-origin:calc(50% - 60px) 310%}
#restaurant-testimonial-single-1 .rts-glass-l{left:calc(50% - 128px); transform:rotate(13deg)}
#restaurant-testimonial-single-1 .rts-glass-r{left:calc(50% + 72px); transform:rotate(-13deg)}
#restaurant-testimonial-single-1 .rts-lean{position:relative; width:100%; height:100%}
#restaurant-testimonial-single-1 .rts-bowl{position:absolute; left:3px; top:0; width:50px; height:60px; border:2.5px solid currentColor; border-radius:5px 5px 25px 25px / 5px 5px 38px 38px; overflow:hidden; overflow:clip}
#restaurant-testimonial-single-1 .rts-stem{position:absolute; left:26.75px; top:59px; width:2.5px; height:47px; background-color:currentColor}
#restaurant-testimonial-single-1 .rts-foot{position:absolute; left:11px; bottom:0; width:34px; height:2.5px; border-radius:2px; background-color:currentColor}
#restaurant-testimonial-single-1 .rts-level{position:absolute; left:50%; top:42%; width:1px; height:1px; transform-origin:0 0}
#restaurant-testimonial-single-1 .rts-level-l{transform:rotate(-13deg)}
#restaurant-testimonial-single-1 .rts-level-r{transform:rotate(13deg)}
#restaurant-testimonial-single-1 .rts-keep{width:1px; height:1px; transform-origin:0 0}
#restaurant-testimonial-single-1 .rts-wine{position:absolute; left:-70px; top:0; width:140px; height:90px; background-color:var(--rts-accent)}
#restaurant-testimonial-single-1 .rts-clink{position:absolute; left:50%; top:43px; width:1px; height:1px}
#restaurant-testimonial-single-1 .rts-spark{position:relative; width:1px; height:1px; transform-origin:0 0}
#restaurant-testimonial-single-1 .rts-ray{position:absolute; left:-2px; top:-38px; width:4px; height:19px; border-radius:2px; background-color:var(--rts-accent); transform-origin:50% 38px}
#restaurant-testimonial-single-1 .rts-ray:nth-child(1){transform:rotate(-42deg)}
#restaurant-testimonial-single-1 .rts-ray:nth-child(3){transform:rotate(42deg)}
#restaurant-testimonial-single-1 .rts-dot{position:absolute; top:-45px; width:7px; height:7px; border-radius:50%; background-color:var(--rts-accent)}
#restaurant-testimonial-single-1 .rts-dot:nth-child(4){left:-19px}
#restaurant-testimonial-single-1 .rts-dot:nth-child(5){left:12px}

/* one mover per screen family, the others stand still : -d desktop, -t tablet, -m phone */
@media (min-width:992px){
  #restaurant-testimonial-single-1 .rts-t, #restaurant-testimonial-single-1 .rts-m{transform:none !important}
}
@media (min-width:576px) and (max-width:991px){
  #restaurant-testimonial-single-1 .rts-d, #restaurant-testimonial-single-1 .rts-m{transform:none !important}
}
@media (max-width:575px){
  #restaurant-testimonial-single-1 .rts-d, #restaurant-testimonial-single-1 .rts-t{transform:none !important}
}
/* tall desktop screens : if the section closes the page the context block could not finish its rise, so it stays put */
@media (min-width:992px) and (min-height:901px){
  #restaurant-testimonial-single-1 .rts-d.rts-up{transform:none !important}
}
@media (max-width:991px){
  #restaurant-testimonial-single-1::before{right:24px; top:-20px; width:420px; height:420px}
  #restaurant-testimonial-single-1 .rts-grid{grid-template-columns:minmax(0,1fr); gap:52px 0}
  #restaurant-testimonial-single-1 .rts-words{grid-row:1}
  #restaurant-testimonial-single-1 .rts-photo{grid-row:2; max-width:400px}
  #restaurant-testimonial-single-1 .rts-quote{max-width:62ch; font-size:20px}
}
@media (max-width:575px){
  #restaurant-testimonial-single-1::before{right:calc(50% - 165px); top:-10px; width:330px; height:330px}
  #restaurant-testimonial-single-1 .rts-kicker{font-size:12px; letter-spacing:.16em}
  #restaurant-testimonial-single-1 .rts-toast{height:150px; margin:18px 0 22px}
  #restaurant-testimonial-single-1 .rts-quote{max-width:none; font-size:18px}
  #restaurant-testimonial-single-1 .rts-who{margin-top:28px; padding-top:24px}
  #restaurant-testimonial-single-1 .rts-facts{grid-template-columns:minmax(0,1fr); gap:0; padding-top:0; border-top:0}
  #restaurant-testimonial-single-1 .rts-fact{display:grid; grid-template-columns:minmax(0,104px) minmax(0,1fr); gap:0 14px; align-items:baseline; padding:11px 0; border-top:1px solid var(--rts-line)}
  #restaurant-testimonial-single-1 .rts-fact-k{margin:0}
  #restaurant-testimonial-single-1 .rts-photo{max-width:330px; padding:11px}
  #restaurant-testimonial-single-1 .rts-photo::before{border-radius:50% 50% 30px 30px / calc(40% + 2.2px) calc(40% + 2.2px) 30px 30px}
  #restaurant-testimonial-single-1 .rts-arch{border-radius:50% 50% 19px 19px / 40% 40% 19px 19px}
}
@media (prefers-reduced-motion:reduce){
  #restaurant-testimonial-single-1 [data-scroll-effect]{transform:none !important}
}



/* PALETTE ET TYPO PILOTÉES PAR LE BUILDER (conversion automatique restaurant-cta-1).
   La section ne peint plus sa racine : le fond du panneau Thème et l'option dégradé du marchand
   passent. L'encre vient de currentColor, l'accent du bouton primaire. Voir
   builder/lab/prompts/_INVARIANTS.md §1. */
#restaurant-cta-1{
  --restau-accent: var(--btn-primary-light-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-light-color, #ffffff);
  --restau-muted: color-mix(in srgb, currentColor 66%, transparent);
  --restau-line: color-mix(in srgb, currentColor 16%, transparent);
  --restau-surface: color-mix(in srgb, currentColor 6%, transparent);
}
#restaurant-cta-1.dark, .dark #restaurant-cta-1{
  --restau-accent: var(--btn-primary-dark-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-dark-color, #ffffff);
}
/* PALETTE ET TYPO PILOTÉES PAR LE BUILDER (conversion automatique restaurant-cta-1).
   La section ne peint plus sa racine : le fond du panneau Thème et l'option dégradé du marchand
   passent. L'encre vient de currentColor, l'accent du bouton primaire. Voir
   builder/lab/prompts/_INVARIANTS.md §1. */
#restaurant-cta-1{
  --restau-accent: var(--btn-primary-light-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-light-color, #ffffff);
  --restau-muted: color-mix(in srgb, currentColor 66%, transparent);
  --restau-line: color-mix(in srgb, currentColor 16%, transparent);
  --restau-surface: color-mix(in srgb, currentColor 6%, transparent);
}
#restaurant-cta-1.dark, .dark #restaurant-cta-1{
  --restau-accent: var(--btn-primary-dark-background-color, var(--btn-primary-background-color, #9c6b3f));
  --restau-on: var(--btn-primary-dark-color, #ffffff);
}
#restaurant-cta-1{position:relative;overflow:hidden;}
#restaurant-cta-1.light{--accent:var(--btn-primary-light-background-color,#9C6B3F);--rc-muted:color-mix(in srgb, currentColor 72%, transparent);--rc-surface:color-mix(in srgb, var(--accent) 8%, transparent);--rc-surface-2:color-mix(in srgb, var(--accent) 14%, transparent);--rc-line:color-mix(in srgb, var(--accent) 24%, transparent);}
#restaurant-cta-1.dark{--accent:var(--btn-primary-dark-background-color,#E7C9A3);--rc-muted:color-mix(in srgb, currentColor 72%, transparent);--rc-surface:color-mix(in srgb, var(--accent) 10%, transparent);--rc-surface-2:color-mix(in srgb, var(--accent) 18%, transparent);--rc-line:color-mix(in srgb, var(--accent) 28%, transparent);}

#restaurant-cta-1 .rc-wrap{position:relative;z-index:2;max-width:1120px;margin:0 auto;padding-left:clamp(20px,5vw,40px);padding-right:clamp(20px,5vw,40px);}

#restaurant-cta-1 .rc-panel{position:relative;overflow:hidden;border-radius:clamp(28px,3.4vw,40px);padding:clamp(48px,7vw,104px) clamp(24px,5vw,72px);background:var(--rc-surface);border:1px solid var(--rc-line);box-shadow:0 40px 90px -52px color-mix(in srgb, var(--accent) 60%, transparent);}

/* decorative motif — pure CSS radial blooms tinted from --accent */
#restaurant-cta-1 .rc-motif{position:absolute;border-radius:50%;pointer-events:none;z-index:1;filter:blur(2px);}
#restaurant-cta-1 .rc-motif-a{top:-120px;right:-100px;width:clamp(280px,40vw,460px);height:clamp(280px,40vw,460px);background:radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 68%);}
#restaurant-cta-1 .rc-motif-b{bottom:-150px;left:-120px;width:clamp(260px,36vw,420px);height:clamp(260px,36vw,420px);background:radial-gradient(circle at 60% 40%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 66%);}

#restaurant-cta-1 .rc-inner{position:relative;z-index:3;max-width:680px;margin:0 auto;}

#restaurant-cta-1 .rc-kicker{display:inline-block;margin:0 0 22px;padding:8px 18px;border-radius:999px;background:var(--rc-surface-2);border:1px solid var(--rc-line);font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--accent);}

#restaurant-cta-1 .rc-title{margin:0 0 18px;font-size:clamp(38px,6.4vw,76px);line-height:1.04;letter-spacing:-.03em;font-weight:800;}
#restaurant-cta-1 .rc-title em{color:var(--accent);font-style:italic;font-weight:800;}

#restaurant-cta-1 .rc-line{margin:0 auto;max-width:560px;font-size:clamp(16px,1.6vw,19px);line-height:1.65;color:var(--rc-muted);}

#restaurant-cta-1 .rc-actions{margin-top:clamp(30px,4vw,42px);display:flex;flex-direction:column;align-items:center;gap:16px;}
#restaurant-cta-1 .rc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 38px;border-radius:999px;font-size:16px;font-weight:700;letter-spacing:.02em;text-decoration:none;transition:transform .2s ease, box-shadow .2s ease;}
#restaurant-cta-1 .rc-btn:hover{transform:translateY(-2px);box-shadow:0 20px 40px -22px color-mix(in srgb, var(--accent) 75%, transparent);}
#restaurant-cta-1 .rc-btn:active{transform:translateY(0);}
#restaurant-cta-1 .rc-note{margin:0;font-size:13px;line-height:1.5;color:var(--rc-muted);}

/* CSS-auto entrance fallback (always finishes visible; no JS dependency) */
@keyframes rc-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
#restaurant-cta-1 .rc-kicker,
#restaurant-cta-1 .rc-title,
#restaurant-cta-1 .rc-line,
#restaurant-cta-1 .rc-actions{animation:rc-rise .6s ease both;}
#restaurant-cta-1 .rc-title{animation-delay:.08s;}
#restaurant-cta-1 .rc-line{animation-delay:.16s;}
#restaurant-cta-1 .rc-actions{animation-delay:.24s;}

@media (prefers-reduced-motion:reduce){
  #restaurant-cta-1 .rc-kicker,
  #restaurant-cta-1 .rc-title,
  #restaurant-cta-1 .rc-line,
  #restaurant-cta-1 .rc-actions{animation:none;}
}

@media (max-width:768px){
  /* freeze the parallax motif on small screens (no tall-section / pin trick) */
  #restaurant-cta-1 .rc-motif{transform:none !important;}
  #restaurant-cta-1 .rc-motif-a{top:-90px;right:-90px;}
  #restaurant-cta-1 .rc-motif-b{bottom:-110px;left:-90px;}
  #restaurant-cta-1 .rc-btn{width:100%;}
}

/* override-guard: ensure tinted surface + accent win over system CSS */
html body #restaurant-cta-1 .rc-panel{background:var(--rc-surface);border-color:var(--rc-line);}
html body #restaurant-cta-1 .rc-title em{color:var(--accent);}

