@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;450;500;550;600;650;700;750&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');

:root{color-scheme:dark;--bg:#14110f;--surface:#211c18;--surface-high:#2c241d;--ink:#fdeee5;--muted:#b9a99e;--line:#3e342c;--amber:#ffaa00;--coral:#ff6c70;--paper:#f1e5cb;--paper-ink:#382c20;--green:#b1c9a6;--gutter:22px;--safe:env(safe-area-inset-bottom,0px);font-family:Outfit,sans-serif;font-synthesis:none;color:var(--ink);background:var(--bg);font-size:16px;font-weight:400}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{border:0;background:none}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--amber);outline-offset:4px}h1,h2,h3,p{margin:0}button,a{transition:background .18s,color .18s,transform .18s}button:active:not(:disabled),.pressable:active{transform:translateY(1px)}img{max-width:100%;display:block}svg{display:block}h1,h2,h3{text-wrap:balance}h1{font-size:34px;line-height:1.08;letter-spacing:-1.3px;font-weight:600}h2{font-size:21px;letter-spacing:-.5px;font-weight:550;line-height:1.2}h3{font-size:17px;letter-spacing:-.25px;font-weight:550;line-height:1.2}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:8px;left:8px;padding:12px;background:var(--paper);color:var(--bg);transform:translateY(-200%);z-index:20}.skip-link:focus{transform:translateY(0)}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:550;line-height:1.4}.number{font-variant-numeric:tabular-nums}.app{max-width:480px;min-height:100dvh;margin:auto;padding:0 var(--gutter) calc(102px + var(--safe));overflow-x:clip}.topbar{height:80px;display:flex;align-items:center;justify-content:space-between;gap:12px}.wordmark{font-size:27px;letter-spacing:-1.6px;font-weight:650;line-height:1}.wordmark:after{content:'•';color:var(--amber);margin-left:2px}.location{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.location .icon{width:14px;height:14px}.icon-button{display:grid;place-items:center;min-height:44px;min-width:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface)}.icon-button:hover{background:var(--surface-high)}.page-topbar{height:73px}.page-title{padding:3px 0 24px}.page-title p{margin-top:9px;line-height:1.5;font-size:14px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:26px 0 14px}.section-heading .eyebrow{color:var(--muted)}.section-heading a{color:var(--amber);font-size:13px;min-height:44px;display:flex;align-items:center}.small-link{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.small-link .icon{width:16px;height:16px}.rule{border:0;border-top:1px solid var(--line);margin:22px 0}.button{min-height:50px;border-radius:12px;padding:12px 18px;display:flex;gap:12px;align-items:center;justify-content:center;font-size:15px;font-weight:550;line-height:1.3}.button-primary{background:var(--amber);color:var(--bg)}.button-primary:hover{background:#ffb72e}.button-outline{border:1px solid var(--line);background:var(--surface)}.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,480px);height:calc(74px + var(--safe));padding:8px 18px calc(8px + var(--safe));display:flex;align-items:stretch;justify-content:space-around;background:rgba(20,17,15,.97);border-top:1px solid var(--line);backdrop-filter:blur(18px)}.bottom-nav a{min-width:75px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--muted);font-size:11px;line-height:1.2;font-weight:500}.bottom-nav a[aria-current=page]{color:var(--amber)}.bottom-nav a[aria-current=page] .icon{stroke-width:2}.bottom-nav a:hover{color:var(--ink)}

/* Accueil : contexte, actions, destination. */
.welcome{padding:6px 0 21px}.welcome h1{font-size:36px;line-height:1.06;letter-spacing:-1.5px}.welcome h1 span{color:var(--muted);font-weight:450}.table-context{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:23px;padding:13px 0;border-block:1px solid var(--line)}.table-context strong{font-size:14px;font-weight:500}.table-context p{font-size:12px;color:var(--muted);margin-top:3px}.people{display:flex;align-items:center}.people span{width:27px;height:27px;border-radius:50%;border:2px solid var(--bg);background:#55473a;display:grid;place-items:center;margin-left:-7px;font-size:10px;font-weight:500}.people span:nth-child(2){background:#7b5545}.people span:nth-child(3){background:#505b4d}.people span:last-child{background:var(--paper);color:var(--paper-ink);width:31px;height:31px}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.action{min-height:117px;padding:17px 16px;border-radius:14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:14px}.action .icon{width:25px;height:25px}.action strong{display:block;font-size:18px;font-weight:600;letter-spacing:-.3px}.action small{display:block;font-size:11px;font-weight:450;margin-top:3px}.action-food{background:var(--amber);color:var(--bg)}.action-play{background:var(--surface);border:1px solid #61413b}.action-play .icon{color:var(--coral)}.action-play small{color:var(--muted)}.destination-card{position:relative;display:block;border-radius:13px;overflow:hidden;background:var(--paper);color:var(--paper-ink)}.destination-art{height:166px;width:100%;object-fit:cover;object-position:50% 57%;mix-blend-mode:multiply}.destination-caption{position:relative;padding:16px 17px 18px;border-top:1px solid #382c2029;display:flex;justify-content:space-between;align-items:center;gap:10px}.destination-caption h2{font-family:'Playfair Display',serif;font-size:28px;line-height:1.1;letter-spacing:-.6px;font-weight:500}.destination-caption p{font-size:12px;margin-top:6px;color:#655540}.destination-caption .circle-arrow{border:1px solid #382c204a;border-radius:50%;height:36px;width:36px;display:grid;place-items:center;flex-shrink:0}.destination-caption .icon{width:17px;height:17px}.destination-number{position:absolute;top:13px;left:14px;color:var(--paper-ink);background:var(--paper);font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:6px 8px;transform:rotate(-3deg)}.score-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:21px 0 19px;border-bottom:1px solid var(--line)}.score-strip>div{display:flex;align-items:center;gap:12px}.score-strip .rank{font-size:31px;font-weight:550;letter-spacing:-1px}.score-strip .rank sup{font-size:14px;vertical-align:super}.score-strip p{font-size:13px}.score-strip small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.score-strip>.icon{color:var(--muted);width:17px;height:17px}.passport-link{display:flex;align-items:center;gap:13px;padding:18px 0}.passport-link>.icon:first-child{width:27px;height:27px;color:var(--amber)}.passport-link strong{font-size:15px;font-weight:500}.passport-link small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.passport-link>.icon:last-child{margin-left:auto;width:17px;color:var(--muted)}.order-banner{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #756039;border-radius:12px;margin:0 0 18px;background:#302617}.order-banner[hidden]{display:none}.order-banner>.icon{color:var(--amber)}.order-banner strong{font-size:14px;font-weight:550}.order-banner p{font-size:12px;color:var(--muted);margin-top:3px}.order-banner .eta{margin-left:auto;color:var(--amber);font-size:19px;white-space:nowrap}

/* Carte : un produit vedette, puis des lignes lisibles. */
.menu-topbar{justify-content:flex-start;gap:13px}.menu-topbar .place{flex:1;font-size:13px}.menu-topbar .place small{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.menu-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:8px 0 18px}.menu-heading h1{font-size:36px}.menu-heading p{font-size:13px;color:var(--muted);margin-top:7px}.category-nav{position:sticky;top:0;z-index:3;display:flex;gap:23px;align-items:center;background:var(--bg);border-bottom:1px solid var(--line);padding:0 0 1px;margin-bottom:22px}.category-nav button{position:relative;min-height:46px;font-size:14px;padding:0 0 12px;color:var(--muted);white-space:nowrap}.category-nav button[aria-pressed=true]{color:var(--ink)}.category-nav button[aria-pressed=true]:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--amber)}.category-nav button:focus-visible{outline-offset:-2px}.featured-product{position:relative;min-height:202px;display:flex;align-items:flex-end;overflow:hidden;border-radius:13px;background:var(--surface);margin-bottom:24px}.featured-product>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 46%}.featured-product:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,15,.96) 0%,rgba(20,17,15,.83) 38%,rgba(20,17,15,.18) 100%)}.featured-copy{position:relative;z-index:1;max-width:75%;padding:20px}.featured-copy .eyebrow{color:#f4c87b;font-size:10px}.featured-copy h2{margin:11px 0 7px;font-size:26px;max-width:170px;line-height:1.05}.featured-copy p{font-size:13px;line-height:1.5;color:#dfcec2;max-width:160px}.featured-copy>a{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--amber);min-height:44px;margin-top:5px}.featured-copy>a .icon{width:15px;height:15px}.menu-section{scroll-margin-top:66px}.menu-section .section-heading{margin:20px 0 2px}.menu-section .section-heading span{font-size:12px;color:var(--muted)}.product-row{display:grid;grid-template-columns:78px minmax(0,1fr);column-gap:15px;padding:19px 0;border-bottom:1px solid var(--line)}.product-photo{width:78px;height:93px;border-radius:8px;object-fit:cover;background:var(--surface)}.product-row .no-photo{display:grid;place-items:center;background:var(--surface);color:var(--muted)}.product-row .no-photo .icon{width:29px;height:29px}.product-copy{min-width:0}.product-copy h3{font-size:16px;font-weight:500;line-height:1.25}.product-copy p{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.4}.product-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}.price{font-size:15px;font-weight:500;white-space:nowrap}.quantity{display:flex;align-items:center;gap:2px;flex-shrink:0}.quantity button{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line)}.quantity button .icon{width:14px;height:14px}.quantity button:last-child{background:var(--amber);color:var(--bg);border-color:var(--amber)}.quantity output{width:22px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums}.quantity button:disabled{opacity:.3}.sold-out h3,.sold-out .price{color:var(--muted)}.availability{font-size:11px;color:#e4b689;margin-top:5px;display:block}.unavailable-label{font-size:12px;color:var(--muted);padding:10px 0}.empty-search{padding:30px 0;line-height:1.5;color:var(--muted);font-size:14px}.search-box{margin:0 0 16px}.search-box[hidden]{display:none}.search-box input{width:100%;border:1px solid var(--line);border-radius:9px;padding:13px;background:var(--surface);color:var(--ink)}.cart-bar{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,480px);padding:13px var(--gutter) calc(15px + var(--safe));background:linear-gradient(transparent,var(--bg) 20%)}.cart-bar button{width:100%;min-height:60px;background:var(--amber);color:var(--bg);border-radius:12px;padding:11px 16px;display:flex;align-items:center;gap:12px}.cart-count{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;background:#14110f15;border:1px solid #14110f30;font-size:14px}.cart-label{font-size:15px;font-weight:550}.cart-total{margin-left:auto;font-size:20px;letter-spacing:-.5px;font-weight:550;white-space:nowrap}.cart-bar button:disabled{background:var(--surface-high);color:var(--muted);opacity:1}.cart-bar .icon{width:17px;height:17px}.menu-app{padding-bottom:110px}

/* Passeport : la collection prend la place des compteurs. */
.passport-topbar{height:72px}.member-tag{font-size:12px;display:flex;gap:6px;align-items:center;color:var(--muted)}.member-tag .icon{width:16px;height:16px}.passport-intro{padding:9px 0 21px}.passport-intro p{font-size:14px;color:var(--muted);margin-top:8px}.passport-book{position:relative;color:var(--paper-ink);background:var(--paper);border-radius:4px 15px 15px 4px;overflow:hidden;box-shadow:-4px 0 0 #755b3c,0 4px 0 #ab9874;padding:20px 19px 16px 23px}.passport-book:before{content:'';position:absolute;inset:0 auto 0 9px;width:1px;background:#5c472220;pointer-events:none}.passport-book .book-top{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #382c2030;padding-bottom:12px;font-size:10px;letter-spacing:1.2px;text-transform:uppercase}.passport-book h2{font-family:'Playfair Display',serif;font-weight:500;font-size:38px;letter-spacing:-1.1px;line-height:1.04;margin-top:17px}.passport-book .subtitle{font-size:12px;color:#655540;margin-top:7px}.book-art{width:calc(100% + 42px);max-width:none;height:163px;object-fit:cover;object-position:50% 60%;margin:13px -19px 0 -23px;mix-blend-mode:multiply}.stamp{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #875032;border-radius:50%;color:#875032;width:116px;height:116px;transform:rotate(-10deg);outline:1px dashed #875032;outline-offset:-7px;background:#f1e5cbf5;gap:5px}.stamp .icon{width:25px;height:25px}.stamp strong{font-size:10px;letter-spacing:1px;text-transform:uppercase}.stamp span{font-size:9px;letter-spacing:.5px}.stamp small{font-size:10px}.stamp-on-book{position:absolute;right:17px;bottom:46px;box-shadow:0 2px 8px #382c2015}.book-bottom{display:flex;align-items:center;gap:6px;padding-top:15px;font-size:12px}.book-bottom .icon{width:14px;height:14px}.book-bottom>span:last-child{margin-left:auto;font-size:10px;letter-spacing:1px}.collection{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:19px}.collection-slot{display:flex;align-items:center;gap:10px;border:1px dashed #675849;border-radius:8px;padding:13px 12px;min-height:68px;color:var(--muted)}.collection-slot>.icon{width:20px;height:20px}.collection-slot strong{font-size:13px;font-weight:450;display:block}.collection-slot span{font-size:11px;margin-top:4px;display:block}.progress-section{margin-top:30px}.level-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}.level-heading .eyebrow{font-size:10px;color:var(--amber);margin-bottom:6px}.level-heading h2{font-size:22px}.points{font-size:28px;letter-spacing:-.9px;font-weight:500;white-space:nowrap}.points small{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0}.progress-track{height:4px;background:var(--line);border-radius:2px;overflow:hidden;margin:16px 0 10px}.progress-fill{width:82%;height:100%;background:var(--amber);border-radius:2px}.progress-caption{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;line-height:1.5}.reward{margin-top:19px;padding:15px;border:1px solid #705433;background:#282014;border-radius:10px;display:flex;align-items:center;gap:13px}.reward>.icon{color:var(--amber);width:24px;height:24px}.reward strong{display:block;font-size:14px;font-weight:500}.reward p{color:var(--muted);font-size:12px;margin-top:4px;line-height:1.4}.account-invite{display:flex;align-items:flex-start;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.account-invite>.icon{color:var(--muted);margin-top:2px}.account-invite strong{display:block;font-weight:500;font-size:14px}.account-invite p{font-size:12px;color:var(--muted);line-height:1.5;margin-top:4px}.account-invite>a{margin-left:auto;align-self:center;min-height:44px;min-width:32px;display:grid;place-items:center;color:var(--amber)}.activity-log{margin:21px 0 0;border-bottom:1px solid var(--line)}.activity-log summary{list-style:none;min-height:54px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.activity-log summary::-webkit-details-marker{display:none}.activity-log summary .icon{width:17px;height:17px}.activity-log[open] summary .icon{transform:rotate(180deg)}.activity-log h2{font-size:17px}.gain-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);gap:12px}.gain-row p{font-size:13px}.gain-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.gain-row>span{font-size:14px;color:var(--green);white-space:nowrap}.gain-row>div{min-width:0}

dialog{margin:auto auto 0;width:min(100%,480px);max-width:100%;max-height:85dvh;padding:0;border:1px solid var(--line);border-radius:22px 22px 0 0;background:var(--surface);color:var(--ink);overflow-y:auto}dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}.sheet{padding:22px var(--gutter) calc(24px + var(--safe))}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.sheet-head h2{font-size:25px}.sheet-head .icon-button{width:44px;height:44px}.sheet-lines{list-style:none;padding:0;margin:10px 0 18px}.sheet-lines li{padding:15px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:14px}.sheet-lines li small{display:block;color:var(--muted);margin-top:4px;font-size:12px}.sheet-total{display:flex;justify-content:space-between;font-size:21px;margin:22px 0}.sheet .button{width:100%}.sheet-note{font-size:12px;color:var(--muted);text-align:center;margin-top:13px}.destination-sheet img{border-radius:8px;margin:16px 0}.destination-sheet p{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0 20px}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:100px;width:max-content;max-width:calc(100% - 40px);border:1px solid var(--line);border-radius:9px;padding:12px 15px;background:var(--paper);color:var(--paper-ink);z-index:12;font-size:13px;box-shadow:0 6px 22px #0004}.toast[hidden]{display:none}
[hidden]{display:none!important}.passport-book{display:block;width:100%;text-align:left}.account-invite>a{min-width:44px}.bottom-nav a[aria-current=true]{color:var(--amber)}.bottom-nav a[aria-current=true] .icon{stroke-width:2}
@media(min-width:481px){body{background:#191511}.app{background:var(--bg);box-shadow:0 0 0 1px #3e342c}}
@media(max-width:350px){:root{--gutter:17px}.welcome h1{font-size:32px}.action{padding:15px 12px;min-height:112px}.action strong{font-size:16px}.action small{font-size:10px}.destination-art{height:146px}.category-nav{gap:18px}.category-nav button{font-size:13px}.product-row{grid-template-columns:64px minmax(0,1fr);gap:12px}.product-photo{width:64px;height:84px}.product-copy h3{font-size:15px}.quantity{gap:0}.quantity button{width:44px;height:44px}.quantity output{width:17px}.price{font-size:14px}.product-bottom{gap:2px}.passport-book{padding-left:19px}.passport-book h2{font-size:34px}.stamp{width:102px;height:102px}.stamp-on-book{bottom:47px;right:12px}.collection-slot{gap:7px;padding:11px 9px}.collection-slot strong{font-size:12px}.collection-slot>.icon{width:16px}.cart-label{font-size:14px}.cart-total{font-size:18px}.cart-bar button{gap:9px;padding:11px 13px}}
@media(prefers-reduced-motion:no-preference){.welcome,.page-title,.passport-intro{animation:arrive .4s ease-out both}.home-actions,.passport-book,.featured-product{animation:arrive .5s .04s ease-out both}@keyframes arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
