@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@1,9..144,500&family=Space+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');

:root{--ink:#fff;--muted:#c9bfd3;--paper:#171022;--paper-ink:#fff;--line:rgba(255,255,255,.14);--amber:#dfa4c6;--amber-soft:#30213c;--coral:#c3e4f9;--dark:#100918;--display:"Space Grotesk",sans-serif;--sans:"Space Grotesk",sans-serif;--mono:"Space Mono",monospace;color-scheme:dark}
html{background:#100918}.halo-ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 75% -10%,#33295d 0,transparent 42%),linear-gradient(160deg,#100918 0,#1c1129 55%,#120b20 100%)}
.halo-ambient:after{content:"";position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}
.halo-ambient i{position:absolute;border:1px solid rgba(195,228,249,.22);border-radius:50%;width:70vw;aspect-ratio:1;left:50%;top:26%;transform:translate(-50%,-50%);animation:halo-orbit 18s ease-in-out infinite}
.halo-ambient i:nth-child(2){width:52vw;border-color:rgba(223,164,198,.24);animation-duration:14s;animation-direction:reverse}.halo-ambient i:nth-child(3){width:34vw;animation-duration:10s}
body{background:transparent;color:var(--ink);font-family:var(--sans)}.v2-app{position:relative;background:linear-gradient(180deg,rgba(16,9,24,.2),rgba(16,9,24,.58));min-height:100dvh}.number{font-family:var(--mono)}
.topbar,.screen-header{border-color:var(--line);background:rgba(16,9,24,.72);backdrop-filter:blur(24px)}.wordmark,.cms-brand{font-family:var(--sans);font-weight:700;letter-spacing:-.08em}.wordmark:after,.cms-brand span{color:#dfa4c6}.location,.eyebrow,.status-label{font-family:var(--mono);letter-spacing:.08em}
.welcome{position:relative;padding-top:42px;padding-bottom:28px}.welcome:before{content:"";position:absolute;width:230px;aspect-ratio:1;border-radius:50%;left:52%;top:44%;transform:translate(-50%,-50%);background:repeating-radial-gradient(circle,transparent 0 14px,rgba(195,228,249,.2) 15px 16px);animation:halo-breathe 6s ease-in-out infinite;filter:drop-shadow(0 0 28px rgba(223,164,198,.22))}.welcome h1{position:relative;font:600 clamp(42px,13vw,64px)/.91 var(--display);letter-spacing:-.07em}.welcome h1 span{font-family:Fraunces,serif;font-weight:500;color:#dfa4c6}
.home-actions{gap:12px}.action,.destination-card,.passport-link,.order-banner,.table-context,.score-strip,.row-link,.profile-summary,.paper-total,.order-ticket,.admin-user,.admin-summary,.scope-check{border:1px solid var(--line);background:rgba(255,255,255,.065);box-shadow:0 20px 55px rgba(0,0,0,.16);backdrop-filter:blur(12px)}
.action{border-radius:22px;overflow:hidden;min-height:126px}.action-food{background:linear-gradient(145deg,rgba(223,164,198,.22),rgba(255,255,255,.04));color:#fff!important}.action-play{background:linear-gradient(145deg,rgba(195,228,249,.2),rgba(255,255,255,.04));color:#fff!important}.action svg{color:#fff}.action strong{font-size:22px;letter-spacing:-.04em}.action small{color:var(--muted)}
.destination-card{position:relative;border-radius:28px;background:#26214d;isolation:isolate}.destination-card:before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 72% 32%,transparent 0 17%,rgba(195,228,249,.18) 18% 18.6%,transparent 19% 27%,rgba(223,164,198,.25) 28% 29%,transparent 30%),linear-gradient(180deg,transparent 38%,rgba(16,9,24,.92));animation:destination-shift 9s ease-in-out infinite}.destination-card img{filter:saturate(.58) contrast(1.08) hue-rotate(215deg);opacity:.72;transform:scale(1.04)}.destination-card>*:not(img){position:relative;z-index:2}.destination-caption h2,.passport-intro h1,.menu-heading h1,.screen-title h1{font-family:var(--display);letter-spacing:-.06em}.destination-caption h2{font-size:34px}.circle-arrow{background:#dfa4c6;color:#1c1129}
.passport-link,.order-banner,.row-link{border-radius:18px}.order-banner{border-color:rgba(195,228,249,.36);background:rgba(195,228,249,.1)}
.button{border-radius:999px;font-weight:650;letter-spacing:-.01em;background:#dfa4c6;color:#1c1129;box-shadow:none}.button-outline,.button-text{color:#fff;background:transparent;border-color:rgba(255,255,255,.24)}.button-danger{background:#ff8879;color:#240b0b}.choice{border-radius:999px;background:rgba(255,255,255,.06);border-color:var(--line)}.choice.selected,.choice[aria-pressed=true]{background:#c3e4f9;color:#171022;border-color:#c3e4f9}
.product-row,.order-list-item,.bill-order,.collection-slot,.gain-row{border-color:var(--line)}.product-photo,.featured-product,.product-hero{border-radius:22px}.featured-product:after{background:linear-gradient(90deg,rgba(28,17,41,.94),rgba(28,17,41,.18))}.cart-cta{background:#dfa4c6;color:#1c1129;border-radius:999px}.cart-count{background:#1c1129;color:#fff}.price-list,.activity-log,.preferences,.share-people,.demo-note,.info-box{border-color:var(--line);background:rgba(255,255,255,.045)}
.passport-book{border-radius:30px;border:1px solid rgba(223,164,198,.28);background:#251b36}.passport-book:before{content:"";position:absolute;inset:-35%;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 26px,rgba(195,228,249,.12) 27px 28px);animation:passport-orbit 22s linear infinite}.passport-book>*{position:relative}.passport-book .book-art{opacity:.52;filter:grayscale(.55) hue-rotate(210deg)}.stamp{border-color:#dfa4c6;color:#dfa4c6}.points{color:#c3e4f9}
.screen-title h1,.passport-intro h1,.menu-heading h1{font-size:clamp(38px,11vw,54px)}
.form-error{background:rgba(255,136,121,.12);border-color:#ff8879;color:#ffc5bd}input:not([type=checkbox]):not([type=radio]),select{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22);color:#fff;border-radius:14px}option{color:#171022}.checkbox-label>span{border-color:var(--line);background:rgba(255,255,255,.04)}
dialog{background:#171022;color:#fff;border-color:var(--line)}dialog::backdrop{background:rgba(8,4,12,.75);backdrop-filter:blur(10px)}

/* Le widget Looply reste volontairement hors charte. */
.booking-provider{box-shadow:0 18px 50px rgba(0,0,0,.24)}

.cms-desktop .halo-ambient{background:#f2f0f4}.cms-desktop{background:#f2f0f4;color:#211a29}.cms-desktop .v2-app{background:#f2f0f4}.cms-desktop .cms-nav{background:#171022;color:#fff;border-color:#342a40}.cms-desktop .cms-nav a{color:#c9bfd3}.cms-desktop .cms-nav a[aria-current=page]{background:#dfa4c6;color:#1c1129}.cms-desktop .cms-content{--bg:#f2f0f4;--ink:#211a29;--muted:#6c6175;--paper:#fff;--paper-ink:#211a29;--surface:#fff;--surface-high:#faf7fb;--line:#ded8e3;--amber:#654c80;--amber-soft:#eee8f2;--dark:#211a29;--coral:#654c80;color:#211a29}.cms-desktop .cms-content :is(.screen-header,.topbar){background:#fff;border-color:#ded8e3}.cms-desktop .cms-content :is(.admin-user,.admin-summary,.scope-check,.list-link,.info-box,.demo-note){background:#fff;border-color:#ded8e3;box-shadow:none;color:#211a29}.cms-desktop .cms-content .list-link{padding:24px;border:1px solid #ded8e3;border-radius:16px;margin:14px 0}.cms-desktop .cms-content .list-link strong{color:#211a29;font-size:17px}.cms-desktop .cms-content .list-link small{color:#6c6175}.cms-desktop .cms-content :is(input:not([type=checkbox]):not([type=radio]),select){background:#fff;color:#211a29;border-color:#cfc6d4}.cms-desktop .cms-content .button{background:#654c80;color:#fff}.cms-desktop .cms-content .button-outline,.cms-desktop .cms-content .button-text{background:transparent;color:#211a29;border-color:#a99caf}.admin-summary{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:20px 22px;border-radius:16px;margin:0 0 24px}.admin-summary span,.admin-summary small{font-size:12px;color:var(--muted)}.admin-summary strong{grid-column:1;font-size:25px}.admin-summary small{grid-column:2;grid-row:1/3;align-self:center}.scope-check{display:flex;gap:14px;padding:18px;border-radius:14px;margin:18px 0}.scope-check p{font-size:13px;line-height:1.55}.scope-check .icon{flex:0 0 auto;color:var(--amber)}

@keyframes halo-orbit{0%,100%{transform:translate(-50%,-50%) scale(.92) rotate(-5deg);opacity:.55}50%{transform:translate(-48%,-52%) scale(1.12) rotate(9deg);opacity:1}}
@keyframes halo-breathe{0%,100%{transform:translate(-50%,-50%) scale(.82) rotate(0);opacity:.42}50%{transform:translate(-50%,-50%) scale(1.14) rotate(18deg);opacity:.88}}
@keyframes destination-shift{0%,100%{background-position:0 0}50%{background-position:24px -14px}}
@keyframes passport-orbit{to{transform:rotate(360deg)}}
@media(max-width:520px){.halo-ambient i{width:150vw}.halo-ambient i:nth-child(2){width:112vw}.halo-ambient i:nth-child(3){width:76vw}}
@media(prefers-reduced-motion:reduce){.halo-ambient i,.welcome:before,.destination-card:before,.passport-book:before{animation:none!important}}
