/* Gabarit « Soleil », clé soleil (l'intention : soleil.js). Aucune couleur hors des jetons. */
@font-face{font-family:"Caprasimo";font-display:swap;src:url(/fonts/soleil-1.woff2) format("woff2")}
/* Ce que Caprasimo n'a pas (le point médian, les flèches) : Outfit. */
@font-face{font-family:"Caprasimo";font-display:swap;src:url(/fonts/soleil-2.woff2) format("woff2");unicode-range:U+00B7,U+2190-2199}
@font-face{font-family:"Outfit";font-weight:400 700;font-display:swap;src:url(/fonts/soleil-2.woff2) format("woff2")}

/* La couleur de la MAISON : la quatrième bande du soleil ; AA sur le crème, et le crème sur elle. L'or garde un orange brûlé pour ses bandes (--brule) : son brun doré, celui du bouton, n'y ferait qu'un olive. */
.r--g-soleil,.r--g-soleil.r--rouge{--accent:#B23A1A}
.r--g-soleil.r--or{--accent:#8A6000;--s3:var(--brule)}
.r--g-soleil.r--olive{--accent:#56691C}
.r--g-soleil.r--ardoise{--accent:#1F5E6B}

/* Crème, clair, pêche (panneaux), chocolat (encre), brun second, moutarde, orange, orange brûlé, jaune pâle (le grand soleil), sable (texte sur chocolat), nuit et trait (filets), ombre (le bouton), grain (le papier). */
.r--g-soleil{--creme:#FBF0DC;--clair:#FFF8EC;--peche:#F6DFBD;--brun:#3D2314;--brun-2:#6B4630;--moutarde:#E3A72F;--orange:#D9661F;--brule:#A8441A;--pale:#F5DE9C;--sable:#E8D2B0;--nuit:#62432D;--trait:#DCC29C;--ombre:#3D231459;--grain:#3D231411;--grain-2:#A8441A0F;
--s0:var(--creme);--s1:var(--moutarde);--s2:var(--orange);--s3:var(--accent);--s4:var(--brun);
--titre:"Caprasimo",Georgia,serif;--texte:"Outfit",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
--marge:1.25rem;--bord:max(var(--marge),(100vw - 76rem)/2);--pas:4.5rem;--sol:min(8.5rem,32vw);
margin:0;background-color:var(--creme);
background-image:radial-gradient(circle at 13% 27%,var(--grain) 0 .55px,#0000 1.1px),radial-gradient(circle at 61% 71%,var(--grain) 0 .55px,#0000 1.1px),radial-gradient(circle at 37% 43%,var(--grain) 0 .6px,#0000 1.2px),radial-gradient(circle at 83% 19%,var(--grain-2) 0 .6px,#0000 1.2px),radial-gradient(circle at 52% 91%,var(--grain) 0 .5px,#0000 1px);background-size:5px 5px,7px 7px,11px 11px,13px 13px,17px 17px;
color:var(--brun);overflow-x:clip;overflow-wrap:break-word;
font:400 1.125rem/1.6 var(--texte);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (min-width:40rem){.r--g-soleil{--marge:2rem;--pas:6rem}}
@media (min-width:64rem){.r--g-soleil{--marge:3rem;--pas:clamp(6.5rem,9vw,8.5rem);font-size:1.1875rem}}
:where(.r--g-soleil) *{box-sizing:border-box}
:where(.r--g-soleil) :is(p,ul,ol,h1,h2,h3,figure){margin:0}
:where(.r--g-soleil) :is(ul,ol){padding:0;list-style:none}
:where(.r--g-soleil) img{display:block;max-width:100%;height:auto}
:where(.r--g-soleil) a{color:inherit;text-underline-offset:.22em}
.r--g-soleil :focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
:is(.sv-avis,.sv-horizon,.sv-tableau,.sv-contact,.sv-pied,.sv-appel) :focus-visible{outline-color:var(--moutarde)}
.sv-rub--plaque :focus-visible{outline-color:var(--brun)}
:where(.sv-scene,.sv-scene__texte,.sv-texte,.sv-marche,.sv-boutique,.sv-adresse,.sv-heures,.sv-avis,.sv-breves,.sv-rdv__lignes,.sv-contact__bloc,.sv-pied){grid-template-columns:minmax(0,1fr)}
.sv-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Pilules et liens */
.sv-actions{display:flex;flex-wrap:wrap;gap:.625rem}
.sv-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;min-height:3rem;max-width:100%;padding:.55rem 1.35rem;border:2px solid var(--brun);border-radius:999px;
font:600 1.0625rem/1.2 var(--texte);text-align:center;text-decoration:none;transition:background-color .25s,color .25s,border-color .25s}
.sv-btn:hover{background:var(--brun);color:var(--creme)}
.sv-btn--plein{background:var(--accent);border-color:var(--accent);color:var(--clair)}
.sv-btn--plein:hover{border-color:var(--brun)}
.sv-btn--brun{background:var(--brun);color:var(--creme)}
.sv-btn--brun:hover{background:var(--clair);color:var(--brun)}
.sv-btn--ext::after,.sv-lien--ext::after{content:"\2197" / ""}
.sv-ico{flex:none;width:1.15em;height:1.15em;fill:currentColor}
/* Le bouton d'appel de l'en-tête : un brun doré, son ombre douce, le combiné et la flèche. */
.sv-tete .sv-btn{min-height:3.25rem;padding-inline:1.6rem;box-shadow:0 .5rem 1.1rem -.5rem var(--ombre)}
.sv-tete .sv-btn--plein::after{content:"\2192" / "";font-weight:700}
.sv-tete .sv-btn--plein:hover::after{translate:.2em 0}
.sv-lien{display:inline-flex;align-items:center;gap:.35em;min-height:2.75rem;max-width:100%;overflow-wrap:anywhere;font-weight:600;text-decoration:underline 2px var(--orange);text-underline-offset:.3em}
.sv-lien:hover{text-decoration-color:currentColor}
.sv-lien--bas::after{content:"\2193" / ""}
.sv-etiquette{font-weight:700;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.sv-auj{display:inline-flex;align-items:center;padding:0 .75em;border-radius:999px;background:var(--brun);color:var(--creme);font:700 .75rem/1.75 var(--texte);letter-spacing:.1em;text-transform:uppercase}

/* L'en-tête, une scène : derrière, le décor (les ombres d'un feuillage, le grand soleil pâle) ; devant, le haut, le texte et l'arche. */
.sv-tete{position:relative;isolation:isolate;overflow:hidden}
.sv-decor{position:absolute;inset:0;z-index:-1;pointer-events:none}
.sv-decor{--d:13rem;--dx:-5rem;--dy:-1.5rem}
.sv-decor::before,.sv-decor::after{content:"";position:absolute;top:var(--dy);right:var(--dx);width:var(--d);aspect-ratio:1}
.sv-decor::before{background:radial-gradient(circle closest-side,var(--pale) 0 46%,#0000 46.6%)}
.sv-decor::after{background:repeating-conic-gradient(var(--pale) 0 1.2deg,#0000 1.7deg 7.5deg);
-webkit-mask-image:radial-gradient(circle closest-side,#0000 0 56%,#000 57% 70%,#0000);mask-image:radial-gradient(circle closest-side,#0000 0 56%,#000 57% 70%,#0000)}
.sv-ombres{position:absolute;left:-1rem;top:0;width:600px;height:620px;opacity:.12;filter:blur(6px);scale:.55;transform-origin:0 0}
.sv-ombres::before{content:"";position:absolute;inset:0;background:var(--brun);clip-path:path("M-31 44L40 60L109 85L175 119L239 162L300 213L359 274L415 343L469 420L471 420L417 341L361 271L303 210L241 158L178 115L111 80L42 54L-29 36ZM27 53C13 87 38 141 67 153C80 124 61 68 27 53ZM27 53C67 50 105 2 100 -31C66 -31 24 13 27 53ZM87 73C68 106 86 162 114 177C132 150 120 92 87 73ZM87 73C125 78 167 41 167 8C135 1 89 35 87 73ZM145 99C119 125 120 184 142 206C165 185 169 126 145 99ZM145 99C182 116 242 93 256 61C226 45 164 63 145 99ZM201 132C178 157 183 209 205 226C226 206 226 155 201 132ZM201 132C231 142 272 116 277 89C251 79 208 101 201 132ZM255 172C282 186 323 167 331 141C308 128 265 143 255 172ZM307 218C280 234 276 279 295 299C319 286 328 242 307 218ZM307 218C338 232 381 210 388 182C363 168 317 185 307 218ZM358 270C333 282 321 323 333 343C354 334 370 295 358 270ZM358 270C374 289 409 287 421 270C409 253 374 251 358 270ZM406 329C377 341 359 389 370 413C395 404 417 358 406 329ZM406 329C425 349 466 347 481 329C466 310 425 308 406 329ZM453 394C433 399 416 428 419 445C436 442 456 414 453 394ZM453 394C467 407 493 401 500 387C489 375 463 378 453 394ZM470 420C462 443 481 476 501 481C509 462 493 427 470 420ZM-31 334L14 343L57 358L99 379L141 404L182 435L222 472L261 513L299 560L301 560L263 512L224 470L185 432L144 401L102 374L59 353L15 337L-29 326ZM6 338C-13 374 8 436 39 452C57 422 41 358 6 338ZM6 338C47 335 82 285 73 250C37 251 -2 297 6 338ZM66 359C45 392 60 453 87 471C106 444 97 382 66 359ZM66 359C96 370 140 347 147 320C122 309 76 328 66 359ZM124 390C106 416 118 463 142 476C159 455 151 407 124 390ZM124 390C153 401 199 381 209 357C185 346 138 362 124 390ZM180 431C202 447 243 440 256 421C238 406 197 410 180 431ZM235 483C213 504 214 551 232 569C251 552 255 505 235 483ZM235 483C259 494 298 479 308 458C288 448 247 459 235 483ZM288 544C267 553 255 586 262 604C280 597 296 565 288 544ZM288 544C305 560 337 555 348 538C334 523 301 525 288 544ZM300 560C295 581 313 609 332 613C338 595 321 565 300 560Z")}
/* Le haut : le bandeau chocolat et ses deux liserés, le métier et la commune, la navigation. */
.sv-vagues{display:none}
.sv-haut{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1.5rem;min-height:4.75rem;padding:2rem var(--bord) .625rem;
background:linear-gradient(var(--brun) 0 .625rem,var(--orange) 0 .9375rem,var(--moutarde) 0 1.25rem) top/100% 1.25rem no-repeat}
.sv-haut__metier{font-weight:700;font-size:.8125rem;line-height:1.9;letter-spacing:.14em;text-transform:uppercase}
.sv-haut__ville{display:inline-block;margin-left:.4em;padding:0 .75em;border-radius:1em;background:var(--moutarde)}
.sv-nav{display:none;flex-wrap:wrap}
.sv-nav__lien{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 1rem;border-radius:999px;font-weight:600;text-decoration:none}
.sv-nav__lien:hover{background:var(--peche)}
.sv-scene{position:relative;isolation:isolate;display:grid;padding:clamp(1rem,3vw,2rem) var(--bord) 0}
.sv-scene__texte{container-type:inline-size;display:grid;justify-items:start;gap:1.25rem;padding-bottom:1.5rem}
/* Le logo dans un anneau orange ; carré, il est rond (un logo opaque y entre comme une photo de profil) ; plus large ou plus haut, il garde ses proportions, sur une pastille claire. */
.sv-logo{display:grid;place-items:center;max-width:100%;margin:.6rem;padding:.6rem .8rem;background:var(--clair);border-radius:1.25rem;line-height:0;
box-shadow:0 0 0 .25rem var(--clair),0 0 0 .6rem var(--orange),0 .75rem 1.25rem -.4rem var(--ombre)}
.sv-logo img{width:auto;max-width:min(14rem,60vw);max-height:clamp(4.5rem,18vw,5.5rem);
filter:drop-shadow(1px 0 0 var(--brun)) drop-shadow(-1px 0 0 var(--brun)) drop-shadow(0 1px 0 var(--brun)) drop-shadow(0 -1px 0 var(--brun))}
.sv-logo--carre{width:clamp(6rem,24vw,7rem);aspect-ratio:1;padding:0;border-radius:50%;overflow:hidden}
.sv-logo--carre img{width:100%;max-width:none;height:100%;max-height:none;object-fit:cover;filter:none}
.sv-nom{font:400 var(--n)/1.02 var(--titre);text-wrap:balance}
.sv-nom--xxl{--n:min(21cqi,8.25rem)}
.sv-nom--xl{--n:min(17cqi,7rem)}
.sv-nom--l{--n:min(14cqi,5.75rem)}
.sv-nom--m{--n:min(11.5cqi,4.5rem)}
.sv-nom--s{--n:min(9cqi,3.5rem)}
.sv-nom--xs{--n:min(7cqi,3rem)}
.sv-nom--xxs{--n:min(9cqi,3.5rem);overflow-wrap:anywhere}
.sv-accroche{max-width:28em;font-size:clamp(1.1875rem,1.1rem + .4vw,1.375rem);line-height:1.45;color:var(--brun-2);text-wrap:pretty}
.sv-note{color:var(--brun-2)}
/* L'arche : la couverture (ou, sans photo, un soleil couchant) dans cinq bandes concentriques (crème, moutarde, orange, la couleur de la maison, chocolat), coupée par l'horizon. */
.sv-soleil{--b:clamp(.6rem,2.4vw,1.1rem);display:flex;justify-content:center;align-items:flex-end;overflow:hidden;margin-inline:calc(-1*var(--bord));padding:calc(5*var(--b) + .5rem) calc(5*var(--b) + .5rem) 0}
.sv-couv,.sv-astre{--arc:999px;width:min(100%,22rem);border-radius:var(--arc) var(--arc) 0 0;background:var(--peche);
box-shadow:0 0 0 var(--b) var(--s0),0 0 0 calc(2*var(--b)) var(--s1),0 0 0 calc(3*var(--b)) var(--s2),0 0 0 calc(4*var(--b)) var(--s3),0 0 0 calc(5*var(--b)) var(--s4)}
.sv-couv__img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:inherit}
.sv-soleil--carre .sv-couv__img{aspect-ratio:1}
:is(.sv-soleil--paysage,.sv-soleil--large){--b:clamp(.5rem,1.6vw,1rem)}
:is(.sv-soleil--paysage,.sv-soleil--large) .sv-couv{--arc:8rem;width:min(100%,34rem)}
.sv-soleil--paysage .sv-couv__img{aspect-ratio:5/4}
.sv-soleil--large .sv-couv__img{aspect-ratio:3/2}
/* Sans photo : un soleil couchant, son disque moutarde coupé de bandes, et deux anneaux. */
.sv-astre{display:block;aspect-ratio:4/5;background:
linear-gradient(#0000 0 58%,var(--peche) 0 61%,#0000 0 67%,var(--peche) 0 71%,#0000 0 77%,var(--peche) 0 83%,#0000 0 89%,var(--peche) 0 96%,#0000),
radial-gradient(circle closest-side at 50% 60%,var(--moutarde) 0 62%,#0000 63% 70%,var(--orange) 71% 76%,#0000 77% 84%,var(--s3) 85% 89%,#0000 90%),var(--peche)}
.sv-horizon{padding:1.25rem var(--bord) 1.5rem;background:var(--brun);color:var(--creme)}
.sv-horizon:empty{padding-block:.875rem}
.sv-rdv{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem 1.75rem}
.sv-rdv__quand{flex-basis:100%;display:flex;align-items:center;gap:.6em;font-weight:700;font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--moutarde)}
.sv-rdv--auj .sv-rdv__quand::before{content:"";flex:none;width:.6rem;height:.6rem;border-radius:50%;background:var(--moutarde);box-shadow:0 0 0 3px var(--orange)}
.sv-rdv__lignes{display:grid;gap:.25rem}
.sv-rdv__ou{font:400 clamp(1.625rem,1.2rem + 1.6vw,2.25rem)/1.15 var(--titre)}
.sv-er{font-size:.7em;line-height:0;text-transform:none}
.sv-rdv__h{display:inline-block;margin-left:.3em;font-weight:500;color:var(--sable)}
.sv-horizon .sv-lien{text-decoration-color:var(--moutarde)}

/* Les rubriques ; chaque titre sous son petit soleil */
.sv-rub,.sv-contact{padding:var(--pas) var(--bord) 0}
.sv-titre{max-width:18em;margin-bottom:clamp(1.5rem,3vw,2.25rem);font:400 clamp(2.125rem,1.4rem + 3vw,3.5rem)/1.05 var(--titre);text-wrap:balance}
.sv-titre::before{content:"";display:block;width:1.1rem;height:.55rem;margin:1.05rem 0 .875rem 1.05rem;border-radius:1rem 1rem 0 0;background:var(--s1);
box-shadow:0 0 0 .35rem var(--s2),0 0 0 .7rem var(--s3),0 0 0 1.05rem var(--s4);clip-path:inset(-1.1rem -1.1rem 0)}
.sv-contact .sv-titre::before{display:none}
.sv-texte{display:grid;gap:1em;max-width:40em;text-wrap:pretty}
.sv-texte--grand{font-size:clamp(1.1875rem,1.1rem + .4vw,1.375rem);line-height:1.5}
.sv-chapo{font-weight:500;font-size:clamp(1.25rem,1.1rem + .7vw,1.5625rem);line-height:1.45}
.sv-chapo--long{font-size:clamp(1.125rem,1.05rem + .35vw,1.3125rem)}
.sv-chapo + .sv-texte{margin-top:1.5rem}

/* Le message du moment, à la couleur de la maison */
.sv-avis{display:grid;gap:1rem;margin:var(--pas) var(--bord) 0;padding:clamp(1.75rem,5vw,3rem);background:var(--accent);color:var(--clair);border-radius:2rem;--s3:var(--clair);
box-shadow:inset 0 0 0 .625rem var(--accent),inset 0 0 0 calc(.625rem + 2px) var(--moutarde)}
.sv-avis .sv-titre{margin:0;font-size:clamp(1.75rem,1.3rem + 2vw,2.5rem)}
.sv-avis__date{font-weight:600}

/* Les marchés : la semaine en pastilles, une carte par marché */
.sv-sem{display:grid;grid-template-columns:repeat(7,minmax(0,2.75rem));gap:.375rem;margin-bottom:2rem}
.sv-sem__j{display:grid;place-items:center;aspect-ratio:1;border:2px solid var(--trait);border-radius:50%;font-weight:600;font-size:.8125rem;color:var(--brun-2)}
.sv-sem__j--oui{background:var(--accent);border-color:var(--accent);color:var(--clair)}
.sv-sem__j--auj{box-shadow:0 0 0 3px var(--creme),0 0 0 6px var(--moutarde)}
.sv-marches{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:1rem}
.sv-marche{display:grid;align-content:start;gap:.2rem;padding:1.25rem 1.375rem .75rem;background:var(--peche);border-radius:1.75rem}
.sv-marche--auj{background:var(--moutarde);--brun-2:var(--brun);--accent:var(--brun)}
.sv-marche__jour{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;font:400 1.5rem/1.25 var(--titre);color:var(--accent)}
.sv-marche__commune{font-weight:700;font-size:1.25rem;line-height:1.25}
.sv-marche__heures{font-weight:500}
.sv-marche__lieu{color:var(--brun-2);line-height:1.45}
.sv-marche--auj .sv-lien{text-decoration-color:var(--brun)}

/* La boutique */
.sv-boutique{display:grid;gap:2.5rem 4rem}
:is(.sv-adresse,.sv-heures){display:grid;gap:.5rem;align-content:start}
.sv-adresse__ligne{max-width:16em;font:400 clamp(1.5rem,1.2rem + 1.4vw,2.125rem)/1.15 var(--titre)}
.sv-horaire{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1rem;padding:.6rem 1rem;border-bottom:2px dotted var(--trait)}
.sv-horaire__h{margin-left:auto;font-weight:600;text-align:right}
.sv-horaire--ferme{color:var(--brun-2)}
.sv-horaire--auj{border:0;border-radius:999px;background:var(--moutarde);--brun-2:var(--brun)}

/* La carte, sur le panneau chocolat, un filet orange à l'intérieur comme sur une plaque */
.sv-tableau{max-width:46rem;padding:clamp(1.5rem,4vw,2.75rem);background:var(--brun);color:var(--creme);border-radius:2rem;
box-shadow:inset 0 0 0 .75rem var(--brun),inset 0 0 0 calc(.75rem + 2px) var(--orange)}
.sv-groupe{padding-bottom:2.25rem}
.sv-groupe:last-child{padding-bottom:0}
.sv-tableau--colonnes .sv-plat,.sv-groupe--entier{break-inside:avoid}
.sv-groupe__titre{break-after:avoid;margin-bottom:.25rem;padding-bottom:.6rem;border-bottom:3px solid var(--orange);font:400 clamp(1.5rem,1.2rem + 1.1vw,1.875rem)/1.15 var(--titre);color:var(--moutarde);hyphens:auto}
.sv-plat{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:1.25rem;padding-block:.9rem;border-bottom:1px dashed var(--nuit)}
.sv-plat:last-child{border-bottom:0;padding-bottom:0}
.sv-plat__nom{font-weight:600;line-height:1.3}
.sv-plat__prix{grid-column:2;grid-row:1/span 3;display:grid;justify-items:end;max-width:9em;text-align:right;line-height:1.2}
.sv-prix__m{font:400 1.375rem/1.1 var(--titre);color:var(--moutarde);white-space:nowrap}
.sv-prix__u,.sv-prix__mots{font-size:.9375rem;color:var(--sable)}
:is(.sv-plat__desc,.sv-plat__allergenes){grid-column:1;margin-top:.2rem;color:var(--sable);line-height:1.45}
.sv-plat__allergenes{font-size:.9375rem}

/* Les photos qui restent : arches et carrés arrondis */
.sv-galerie{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.sv-galerie--impair > .sv-ph:first-child{grid-column:1/-1}
.sv-ph img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:1.25rem;background:var(--peche)}
.sv-ph:nth-child(odd) img{border-radius:8rem 8rem 1.25rem 1.25rem}
.sv-galerie--impair > .sv-ph:first-child img{aspect-ratio:16/9;max-height:40svh}
.sv-rub--ecart-haut{padding-top:max(4.5rem,40vh - 4rem)}
.sv-rub--ecart-bas{padding-bottom:max(4.5rem,40vh - 4rem)}
/* La pause entre deux images : un petit arc-en-ciel aux bandes du soleil, au milieu. */
:is(.sv-rub--ecart-haut,.sv-rub--ecart-bas){position:relative}
.sv-rub--ecart-haut::before,.sv-rub--ecart-bas::after{content:"";position:absolute;left:50%;top:calc(max(4.5rem,40vh - 4rem)/2 - 1.5rem);width:6rem;height:3rem;translate:-50%;border-radius:999px 999px 0 0;background:radial-gradient(circle farthest-side at 50% 100%,#0000 0 36%,var(--s4) 0 52%,var(--s3) 0 68%,var(--s2) 0 84%,var(--s1) 0)}
.sv-rub--ecart-bas::after{top:auto;bottom:calc(max(4.5rem,40vh - 4rem)/2 - 1.5rem)}

/* L'illustration : un cadre arrondi et ses trois bandes ; au téléphone, un bandeau sous le titre (ou sous le texte). */
.sv-illus{margin:.9375rem .9375rem 2.75rem;border-radius:1.5rem;background:var(--peche);box-shadow:0 0 0 .3125rem var(--s1),0 0 0 .625rem var(--s2),0 0 0 .9375rem var(--s3)}
.sv-rub--bas > .sv-illus{margin:3rem .9375rem .9375rem}
.sv-illus img{width:100%;aspect-ratio:16/9;max-height:42svh;object-fit:cover;border-radius:inherit}

/* Le traiteur, sur le panneau moutarde, un filet chocolat à l'intérieur */
.sv-rub.sv-rub--plaque{margin:var(--pas) var(--bord) 0;padding:clamp(1.75rem,5vw,3.5rem);background:var(--moutarde);border-radius:2.5rem;--s1:var(--clair);--brun-2:var(--brun);
box-shadow:inset 0 0 0 .75rem var(--moutarde),inset 0 0 0 calc(.75rem + 2px) var(--brun)}
.sv-rub--plaque .sv-lien{text-decoration-color:var(--brun)}
.sv-rub__corps > .sv-actions{margin-top:1.75rem}

/* Les brèves, sur des panneaux pêche */
.sv-breves{display:grid;gap:1rem;padding:var(--pas) var(--bord) 0}
.sv-breves > .sv-rub{padding:clamp(1.5rem,3vw,2.25rem);background:var(--peche);border-radius:1.75rem}
.sv-rub--breve .sv-titre{font-size:clamp(1.625rem,1.3rem + 1.2vw,2.125rem)}

/* Le contact, sur le chocolat, sous le second soleil (au pied, s'il n'y a pas de contact) */
.sv-contact,.sv-pied{position:relative;background:var(--brun);color:var(--creme);--s4:var(--creme)}
.sv-contact,.sv-pied--seul{margin-top:calc(var(--pas) + var(--sol))}
:is(.sv-contact,.sv-pied--seul)::before{content:"";position:absolute;bottom:100%;left:50%;width:calc(2*var(--sol));height:var(--sol);translate:-50% 0;border-radius:999px 999px 0 0;
background:radial-gradient(circle farthest-side at 50% 100%,var(--moutarde) 0 38%,var(--orange) 0 58%,var(--s3) 0 79%,var(--brun) 0)}
.sv-contact{padding-bottom:var(--pas)}
.sv-contact__tel{container-type:inline-size;margin-bottom:1.75rem}
.sv-contact__num{display:inline-flex;align-items:center;min-height:2.75rem;font:400 min(13cqi,7rem)/1 var(--titre);color:var(--moutarde);text-decoration:none}
.sv-contact__num:hover{color:var(--clair)}
.sv-contact__tel--long .sv-contact__num{font-size:min(10cqi,5.5rem)}
.sv-contact__tel--vide{font:400 min(10cqi,4rem)/1 var(--titre);color:var(--sable)}
.sv-contact .sv-btn{border-color:var(--creme)}
.sv-contact .sv-btn:hover{background:var(--creme);color:var(--brun)}
.sv-contact .sv-btn--plein{background:var(--moutarde);border-color:var(--moutarde);color:var(--brun)}
.sv-contact__infos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:2rem 2.5rem;margin-top:clamp(2.5rem,5vw,3.5rem)}
.sv-contact__bloc{display:grid;gap:.5rem;align-content:start;padding-top:1rem;border-top:2px solid var(--nuit)}
:is(.sv-contact,.sv-pied) .sv-etiquette{color:var(--moutarde)}
:is(.sv-contact,.sv-pied) .sv-lien{text-decoration-color:var(--moutarde)}
.sv-services li{display:flex;align-items:baseline;gap:.6em}
.sv-services li::before{content:"";flex:none;width:.55em;height:.55em;border-radius:50%;background:var(--orange)}

/* Le pied, et les deux liserés qui répondent à ceux du haut de la page */
.sv-pied{display:grid;gap:.5rem;padding:2.5rem var(--bord) 3.25rem;border-top:2px solid var(--nuit);font-size:.9375rem;line-height:1.5;color:var(--sable);
background:linear-gradient(var(--orange) 0 .3125rem,var(--moutarde) 0 .625rem) bottom/100% .625rem no-repeat,var(--brun)}
.sv-pied--seul{border:0}
.sv-pied__nom{margin-bottom:.25rem;font:400 clamp(1.75rem,1.4rem + 1.5vw,2.5rem)/1.1 var(--titre);color:var(--creme)}
.sv-pied a{display:inline;padding-block:.85rem;color:var(--creme)}

/* La barre d'appel (la première case pleine) ; l'en-tête et le contact n'en répètent pas l'appel, ni l'en-tête WhatsApp. */
.sv-appel{position:fixed;inset:auto 0 0;z-index:10;display:flex;gap:.5rem;padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom));background:var(--brun);box-shadow:0 -4px 0 var(--orange),0 -8px 0 var(--moutarde)}
.sv-appel a{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 .45em;min-width:0;min-height:3rem;padding:.3rem 1.1rem;border-radius:999px;font-weight:700;text-decoration:none}
.sv-appel>:first-child{flex:1;background:var(--moutarde);color:var(--brun)}
.sv-appel>a+a{flex:none;border:2px solid var(--creme);color:var(--creme)}
/* Le « Commander » de la barre n'y paraît qu'à son heure ; sans lui, l'appel retrouve la barre entière, et son numéro. */
.r--g-soleil .sv-appel__cmd.cc-masque~.sv-appel__tel{flex:1;border:0;background:var(--moutarde);color:var(--brun)}
.r--g-soleil .sv-appel__cmd:not(.cc-masque)~.sv-appel__tel .sv-appel__num{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sv-pied--appel{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}
@media screen and (max-width:63.99rem){:root:has(.sv-appel){scroll-padding-bottom:calc(5rem + env(safe-area-inset-bottom))}:root:has(.sv-appel) :is(.sv-tete,.sv-contact) :is(.sv-btn--plein:not(.sv-btn--cmd),.sv-btn--appel,.sv-actions:has(> .sv-btn--plein:only-child)){display:none}
:root:has(.sv-appel__wa) .sv-tete :is(.sv-btn--wa,.sv-actions:not(:has(> :not(.sv-btn--plein,.sv-btn--wa)))){display:none}}

/* Tablette */
@media (min-width:40rem){
.sv-nav{display:flex}
.sv-boutique{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}
.sv-breves--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sv-illus{max-width:26rem}
.sv-galerie{display:flex;flex-wrap:wrap;gap:1.5rem}
.sv-ph{flex:0 1 calc((100% - 3rem)/3);max-width:22rem}
.sv-ph img,.sv-galerie--impair > .sv-ph:first-child img{aspect-ratio:1;max-height:none}
}

/* Ordinateur : le texte à gauche, l'arche à droite sous le grand soleil, les vagues au pied du texte */
@media (min-width:64rem){
.sv-appel{display:none}
.sv-pied--appel{padding-bottom:3.25rem}
.sv-decor{--d:34rem;--dx:-11rem;--dy:-6rem}
.sv-ombres{scale:1}
.sv-scene{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,4vw,4rem);align-items:end}
:is(.sv-tete--paysage,.sv-tete--large) .sv-scene{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.sv-scene{overflow:hidden}
.sv-vagues{display:block;position:absolute;z-index:-1;left:0;bottom:0;width:720px;height:88px;pointer-events:none;
filter:drop-shadow(0 22px 0 var(--s3)) drop-shadow(0 22px 0 var(--s2)) drop-shadow(0 22px 0 var(--s1))}
.sv-vagues::before{content:"";position:absolute;inset:0;background:var(--s4);clip-path:path("M0 0C360 0 360 88 720 88L720 110C360 110 360 22 0 22Z")}
.sv-scene__texte{align-self:center;padding-block:1rem 6.5rem}
.sv-soleil{--b:clamp(.65rem,1.2vw,1.1rem);margin:0;padding-inline:calc(5*var(--b) + .25rem)}
.sv-couv{width:min(100%,23rem)}
.sv-astre{width:min(100%,23rem)}
.sv-rdv{align-items:center}
.sv-rdv__lignes{display:flex;flex-wrap:wrap;gap:.25rem 2rem}
.sv-rub--illus{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(28%,21rem));column-gap:clamp(3rem,6vw,5.5rem);align-items:start}
.sv-rub--illus > *{grid-column:1}
.sv-rub--illus > .sv-illus{grid-column:2;grid-row:2;margin:.9375rem;border-radius:999px 999px 1.5rem 1.5rem}
.sv-rub--gauche{grid-template-columns:minmax(0,min(28%,21rem)) minmax(0,1fr)}
.sv-rub--gauche > *{grid-column:2}
.sv-rub--gauche > .sv-illus{grid-column:1}
.sv-rub--bas > .sv-illus{align-self:end;margin-top:8rem}
.sv-rub--illus + .sv-rub--illus:not(.sv-rub--bas,.sv-rub--plaque){padding-top:max(var(--pas) + 4rem,40vh - 6rem)}
.sv-rub--illus + .sv-rub--plaque.sv-rub--illus:not(.sv-rub--bas){margin-top:max(var(--pas) + 4rem,40vh - 6rem)}
.sv-illus img{aspect-ratio:4/5;max-height:62svh}
.sv-tableau--colonnes{max-width:none;columns:2 19rem;column-gap:clamp(2.5rem,5vw,4.5rem)}
.sv-breves--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* L'impression : brun sur blanc, ni panneaux ni barre ; chaque photo avec sa rubrique. */
@media print{
.r--g-soleil.r--g-soleil{--creme:#FFF;--clair:#FFF;--peche:#FFF;--brun:#000;--brun-2:#333;--sable:#333;--moutarde:#000;--accent:#000;--brule:#000;--nuit:#999;--trait:#999;font-size:11pt;background-image:none}
.sv-appel,.sv-nav,.sv-sem,.sv-rdv__suite,.sv-soleil--nu,.sv-decor,.sv-vagues,.sv-rub--ecart-haut::before,.sv-rub--ecart-bas::after,.sv-titre::before,.sv-ico,.sv-tete .sv-btn--plein::after,:is(.sv-contact,.sv-pied--seul)::before{display:none}
:is(.sv-haut,.sv-couv,.sv-illus,.sv-logo,.sv-tableau,.sv-avis,.sv-rub--plaque,.sv-tete .sv-btn){box-shadow:none}
.sv-haut,.sv-pied{background-image:none}
:is(.sv-avis,.sv-rub--plaque,.sv-tableau,.sv-breves > .sv-rub,.sv-marche,.sv-horizon,.sv-contact,.sv-pied){background:none;border:1px solid var(--nuit)}
.r--g-soleil img{max-height:8cm;width:auto}
.r--g-soleil .sv-logo img{max-height:2.5cm;filter:none}
.r--g-soleil .sv-logo--carre{width:2.5cm}
.r--g-soleil .sv-logo--carre img{width:100%;height:100%}
.r--g-soleil :is(.sv-avis,.sv-horizon,.sv-tableau,.sv-contact,.sv-pied,.sv-pied__nom,.sv-pied a,.sv-btn,.sv-auj,.sv-haut__ville,.sv-horaire--auj){color:var(--brun);background:none}
.sv-contact .sv-btn{border-color:var(--brun)}
:is(.sv-contact,.sv-pied--seul){margin-top:2rem}
:is(.sv-rub--ecart-haut,.sv-rub--ecart-bas){padding-block:var(--pas) 0}
:is(.sv-avis,.sv-couv,.sv-ph,.sv-illus,.sv-marche,.sv-plat,.sv-horaire,.sv-actions,.sv-contact__bloc,.sv-pied){break-inside:avoid}
.sv-illus,.sv-titre{break-after:avoid}
.sv-rub--bas > .sv-illus{break-after:auto;break-before:avoid}
.sv-nom{--n:2.5rem}
.sv-contact__num{font-size:2.5rem}
}

/* LE MOUVEMENT : le soleil se lève ; tout est visible sans lui. */
@media screen and (prefers-reduced-motion:no-preference){
.sv-tete .sv-btn--plein::after{transition:translate .25s}
:is(.sv-couv,.sv-astre){animation:sv-leve 1.5s cubic-bezier(.2,.7,.2,1) .2s both}
.sv-decor::before,.sv-decor::after{animation:sv-pale 2.2s cubic-bezier(.2,.7,.2,1) .1s both}
.sv-scene__texte > *{animation:sv-entre .9s cubic-bezier(.2,.7,.2,1) both}
.sv-scene__texte > :nth-child(2){animation-delay:.1s}
.sv-scene__texte > :nth-child(n+3){animation-delay:.2s}
.sv-ph{overflow:hidden;border-radius:1.25rem}
.sv-ph img{transition:scale .8s cubic-bezier(.2,.7,.2,1)}
.sv-ph:hover img{scale:1.04}
@supports (animation-timeline:view()){
.sv-titre::before{animation:sv-pointe linear both;animation-timeline:view();animation-range:entry 10% cover 30%}
:is(.sv-marche,.sv-groupe__titre,.sv-plat,.sv-horaire,.sv-texte,.sv-breves > .sv-rub,.sv-contact__tel,.sv-contact__bloc){animation:sv-entre linear both;animation-timeline:view(block 0 5rem);animation-range:entry 0 entry 6rem}
:is(.sv-illus,.sv-ph){animation:sv-ouvre linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
}
}
@keyframes sv-leve{from{translate:0 60%;box-shadow:0 0 0 0 var(--s0),0 0 0 0 var(--s1),0 0 0 0 var(--s2),0 0 0 0 var(--s3),0 0 0 0 var(--s4)}}
@keyframes sv-pale{from{opacity:0;scale:.8;rotate:-14deg}}
@keyframes sv-entre{from{opacity:0;translate:0 1.25rem}}
@keyframes sv-pointe{from{clip-path:inset(.55rem -1.1rem 0)}}
@keyframes sv-ouvre{from{opacity:0;scale:.94}}

/* L'aperçu */
:root:has(> body.r--apercu){scrollbar-width:none}
:root:has(> body.r--apercu)::-webkit-scrollbar{display:none}

/* Le click & collect (commande-site.css) : le « + » sur le tableau chocolat de la carte prend la moutarde, pour se voir. */
.r--g-soleil .sv-tableau .cc-pas__plus{background:var(--moutarde);color:var(--brun)}

/* CADRAGE DES PHOTOS : data-cx et data-cy, le point de la photo que le cadre garde visible (outils-dev/cadrage-css.mjs) */
img[data-cx],img[data-cy]{object-position:var(--cx,50%) var(--cy,50%)!important}img[data-cx="0"]{--cx:0%}img[data-cx="5"]{--cx:5%}img[data-cx="10"]{--cx:10%}img[data-cx="15"]{--cx:15%}img[data-cx="20"]{--cx:20%}img[data-cx="25"]{--cx:25%}img[data-cx="30"]{--cx:30%}img[data-cx="35"]{--cx:35%}img[data-cx="40"]{--cx:40%}img[data-cx="45"]{--cx:45%}img[data-cx="50"]{--cx:50%}img[data-cx="55"]{--cx:55%}img[data-cx="60"]{--cx:60%}img[data-cx="65"]{--cx:65%}img[data-cx="70"]{--cx:70%}img[data-cx="75"]{--cx:75%}img[data-cx="80"]{--cx:80%}img[data-cx="85"]{--cx:85%}img[data-cx="90"]{--cx:90%}img[data-cx="95"]{--cx:95%}img[data-cx="100"]{--cx:100%}img[data-cy="0"]{--cy:0%}img[data-cy="5"]{--cy:5%}img[data-cy="10"]{--cy:10%}img[data-cy="15"]{--cy:15%}img[data-cy="20"]{--cy:20%}img[data-cy="25"]{--cy:25%}img[data-cy="30"]{--cy:30%}img[data-cy="35"]{--cy:35%}img[data-cy="40"]{--cy:40%}img[data-cy="45"]{--cy:45%}img[data-cy="50"]{--cy:50%}img[data-cy="55"]{--cy:55%}img[data-cy="60"]{--cy:60%}img[data-cy="65"]{--cy:65%}img[data-cy="70"]{--cy:70%}img[data-cy="75"]{--cy:75%}img[data-cy="80"]{--cy:80%}img[data-cy="85"]{--cy:85%}img[data-cy="90"]{--cy:90%}img[data-cy="95"]{--cy:95%}img[data-cy="100"]{--cy:100%}
/* FIN DU CADRAGE DES PHOTOS */
