@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#251615;--cream:#fff8f3;--ink:#251916;--orange:#f58220;--line:rgba(255,255,255,.13);--shadow:0 28px 90px rgba(13,6,5,.3)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:Manrope,system-ui,sans-serif;background:var(--bg);color:white}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.screen{position:absolute;inset:0;opacity:0;pointer-events:none;transition:.42s}.screen.active{opacity:1;pointer-events:auto}.app-screen{background:radial-gradient(circle at 78% -20%,#6b392f 0,transparent 42%),linear-gradient(145deg,#241413,#3a211d 58%,#281716)}
.ambient-bg{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 40%,#613229 0,#311a18 44%,#1d1110 100%)}.glow{position:absolute;border-radius:50%;filter:blur(28px);opacity:.5;animation:drift 13s ease-in-out infinite alternate}.glow-one{width:50vw;height:50vw;left:-18vw;top:-20vw;background:#f58220}.glow-two{width:36vw;height:36vw;right:-8vw;bottom:-12vw;background:#9d4a32}.glow-three{width:24vw;height:24vw;right:22vw;top:23vh;background:#d0713f}.noise{position:absolute;inset:0;opacity:.045;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'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes drift{to{transform:translate(6vw,5vh) scale(1.14)}}
.ambient-top,.ambient-bottom{position:absolute;z-index:2;left:0;right:0;padding:clamp(25px,4vw,58px);display:flex;justify-content:space-between;align-items:center}.ambient-top{top:0}.ambient-bottom{bottom:0}.ambient-center{position:absolute;z-index:2;inset:15vh 7vw 17vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.ambient-logo{width:min(720px,61vw);max-height:37vh;object-fit:contain;filter:drop-shadow(0 25px 55px rgba(0,0,0,.38))}.ambient-center p{font-size:clamp(17px,2vw,27px);color:#eadbd4}.discover-button{display:flex;gap:20px;align-items:center;border:0;background:white;border-radius:99px;padding:17px 18px 17px 25px;font-weight:800}.discover-button b{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:white}
.weather-card,.uky-quote{display:flex;align-items:center;gap:13px;padding:13px 18px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(24,11,10,.38);backdrop-filter:blur(16px)}.weather-picto,.uky-orb{width:48px;height:48px;border-radius:15px;background:var(--orange);display:grid;place-items:center}.uky-orb:after{content:"";width:25px;height:32px;background:url("assets/drop-white-v9.png") center/contain no-repeat}.weather-card div,.ambient-datetime{display:flex;flex-direction:column}.ambient-datetime{text-align:right}.ambient-datetime strong{font-size:clamp(38px,5vw,68px);line-height:.95}.ambient-datetime small{margin-top:8px}.ambient-signature{font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.app-header{height:110px;padding:15px clamp(23px,4vw,56px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line)}.header-brand{border:0;background:none;justify-self:start}.header-brand img{width:clamp(290px,28vw,440px);height:78px;object-fit:contain;object-position:left}.header-right{justify-self:end;display:flex;gap:18px;align-items:center;font-size:22px;font-weight:800}.detail-logo{width:clamp(340px,32vw,520px);height:82px;object-fit:contain}.detail-header .back-button{justify-self:start}.detail-header .icon-button{justify-self:end}
.icon-button,.back-button{border:1px solid var(--line);background:rgba(255,255,255,.07);color:white;height:52px;border-radius:99px}.icon-button{width:52px}.back-button{padding:0 21px}.home-main,.detail-main{height:calc(100% - 110px);padding:clamp(24px,3.5vw,52px);overflow:auto}
.home-grid{height:100%;max-width:1500px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-auto-rows:minmax(240px,1fr);gap:18px}.home-card{position:relative;border:1px solid rgba(255,255,255,.22);border-radius:30px;padding:clamp(24px,3vw,40px);overflow:hidden;text-align:left;color:var(--ink);box-shadow:0 17px 48px rgba(0,0,0,.16);transition:.22s;background:var(--g)}.home-card:active{transform:scale(.98)}.home-card.featured{color:white;--g:linear-gradient(145deg,#ffad64,#f58220 48%,#bf4d1d)}.home-card.blue{--g:linear-gradient(145deg,#f8fcff,#dcecff 54%,#b7d4f4)}.home-card.sage{--g:linear-gradient(145deg,#fbfff9,#d9eee1 54%,#b3d8c2)}.home-card.rose{--g:linear-gradient(145deg,#fffafa,#f6dadd 54%,#e9b5bb)}.home-card.promo{color:white;--g:linear-gradient(145deg,#ef7f2a,#ad401e 54%,#60241b)}.home-card.jackpot{color:white;--g:linear-gradient(145deg,#4f567f,#303858 54%,#20243c)}.home-card.gold{--g:linear-gradient(145deg,#fff9e8,#f1dfaa 54%,#cda55b)}.home-card.size-wide{grid-column:span 2}.home-card.size-tall{grid-row:span 2}.card-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;opacity:.65}.home-card h2{font-size:clamp(26px,2.6vw,43px);line-height:1.03;letter-spacing:-.045em;margin:12px 0}.home-card p{max-width:390px;line-height:1.55;opacity:.75}.card-arrow{position:absolute;right:27px;top:25px;font-size:31px}.card-icon{position:absolute;right:24px;bottom:20px;width:88px;height:88px;border-radius:28px;background:rgba(37,23,22,.07);display:grid;place-items:center;font-size:42px}.promo .card-icon,.jackpot .card-icon,.featured .card-icon{background:rgba(255,255,255,.13)}
.detail-wrap{max-width:1340px;margin:auto}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#ffb06d}.eyebrow.dark{color:#b66329}.detail-title{font-size:clamp(48px,6vw,88px);line-height:.96;letter-spacing:-.065em;margin:10px 0 17px}.detail-sub{max-width:850px;color:#d9c6bf;font-size:clamp(16px,1.5vw,22px);line-height:1.55;margin-bottom:30px}
.primary-button,.secondary-button{border:0;border-radius:15px;padding:14px 20px;font-weight:800}.primary-button{background:var(--orange);color:white}.secondary-button{background:#ede3dc;color:var(--ink)}
.carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(390px,58%);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.content-card{position:relative;min-height:440px;border-radius:30px;scroll-snap-align:center;overflow:hidden;background:linear-gradient(145deg,#f58220,#713226);box-shadow:var(--shadow);display:flex;align-items:flex-end}.content-card.news-card{min-height:390px;background:linear-gradient(145deg,#eff7ff,#b9d5f5);color:var(--ink)}.content-card.has-image{background-size:cover;background-position:center}.content-card.has-image:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,10,8,.92),rgba(25,10,8,.08) 72%)}.news-card.has-image:before{background:linear-gradient(0deg,rgba(25,10,8,.86),rgba(25,10,8,.05) 70%)}.content-card-body{position:relative;z-index:1;padding:34px;color:white}.content-card:not(.has-image).news-card .content-card-body{color:var(--ink)}.content-card h2{font-size:clamp(35px,4vw,62px);line-height:1;margin:8px 0}.carousel-dots{display:flex;justify-content:center;gap:8px;margin:14px}.carousel-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.28)}.carousel-dots i.active{width:28px;border-radius:99px;background:var(--orange)}
.review-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.rating-summary{text-align:right;background:white;color:var(--ink);padding:18px 22px;border-radius:22px}.rating-summary strong{font-size:42px;letter-spacing:-.05em}.stars{color:var(--orange);letter-spacing:.08em}.review-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(360px,48%);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.review-card{scroll-snap-align:center;background:white;color:var(--ink);border-radius:26px;padding:28px;min-height:285px}.review-card blockquote{font-size:20px;line-height:1.55;margin:20px 0}.review-cta{margin-top:20px;width:100%;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:linear-gradient(145deg,#4b2923,#2d1917);color:white;padding:24px 28px;display:flex;justify-content:space-between;text-align:left}
.game-stage{min-height:520px;border-radius:30px;border:1px solid var(--line);background:rgba(255,255,255,.055);padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.wheel-wrap{position:relative;width:min(430px,72vw);aspect-ratio:1}.wheel{position:relative;width:100%;height:100%;border-radius:50%;border:11px solid #f8e8da;box-shadow:0 30px 70px rgba(0,0,0,.3);transition:transform 4.2s cubic-bezier(.12,.8,.18,1)}.wheel:after{content:"";position:absolute;inset:34%;border-radius:50%;background:#2c1917 url("assets/drop-white-v9.png") center/42% auto no-repeat;box-shadow:0 12px 30px rgba(0,0,0,.25)}.wheel-pointer{position:absolute;top:-12px;left:50%;transform:translateX(-50%);border-left:18px solid transparent;border-right:18px solid transparent;border-top:34px solid white;z-index:3}.wheel-text{position:absolute;left:50%;top:50%;width:110px;margin-left:-55px;text-align:center;font-size:12px;font-weight:800;line-height:1.1;color:white;text-shadow:0 2px 7px #0008;transform:rotate(var(--a)) translateY(-150px) rotate(calc(-1 * var(--a)))}
.slot-machine{width:min(650px,90vw);padding:28px;border-radius:30px;background:linear-gradient(145deg,#4c2924,#271614);box-shadow:var(--shadow)}.reels{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.reel{height:160px;border-radius:22px;background:#fff8f2;display:grid;place-items:center}.slot-svg{width:78px;height:78px;color:#111}.slot-svg svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.slot-svg.star svg{fill:#111}.slot-svg img{max-width:76px;max-height:96px}.game-note{line-height:1.7;color:#d6c3bc}
.modal{border:0;padding:0;border-radius:30px;background:var(--cream);color:var(--ink);box-shadow:0 45px 120px #000b}.modal::backdrop,.admin-dialog::backdrop{background:#120908d5;backdrop-filter:blur(9px)}.qr-modal,.prize-modal{position:relative;width:min(600px,92vw);padding:38px;text-align:center}.close-modal{position:absolute;right:18px;top:18px;width:43px;height:43px;border:0;border-radius:50%;font-size:25px}.modal-icon,.prize-icon{width:68px;height:68px;border-radius:23px;margin:0 auto 16px;display:grid;place-items:center;background:var(--orange);color:white;font-size:30px}.qr-visual{width:285px;height:285px;margin:24px auto;padding:15px;border-radius:25px;background:white}.qr-visual img{width:100%;height:100%}.progress-line{height:5px;background:#eaded6;border-radius:99px;overflow:hidden}.progress-line i{display:block;height:100%;background:var(--orange);transform-origin:left}
.admin-dialog{border:0;padding:0;width:min(1180px,96vw);height:min(820px,94vh);border-radius:30px;background:#f8f3ef;color:var(--ink)}.admin-app{height:100%;display:grid;grid-template-columns:240px 1fr}.admin-sidebar{padding:25px;background:linear-gradient(180deg,#3e221e,#211312);color:white;display:flex;flex-direction:column}.admin-sidebar img{width:125px;height:92px;object-fit:contain}.admin-sidebar small{margin-bottom:20px}.admin-sidebar nav{display:flex;flex-direction:column;gap:5px;overflow:auto}.admin-sidebar nav button,.admin-close-side{border:0;border-radius:12px;padding:11px 14px;text-align:left;background:transparent;color:#e6d7d0;font-weight:700}.admin-sidebar nav button.active{background:rgba(255,255,255,.12)}.admin-close-side{margin-top:auto;border:1px solid rgba(255,255,255,.13)}.admin-main{padding:34px;overflow:auto}.admin-lock{max-width:520px;margin:12vh auto}.admin-panel-section{display:none;padding-bottom:90px}.admin-panel-section.active{display:block}.admin-main h2{font-size:34px;letter-spacing:-.04em}.admin-main label{display:flex;flex-direction:column;gap:8px;margin:14px 0;font-weight:750}.admin-main input,.admin-main textarea,.admin-main select{border:1px solid #dacbc3;border-radius:13px;background:white;padding:12px;color:var(--ink)}.settings-grid,.module-switches,.springboard-editor{display:grid;grid-template-columns:1fr 1fr;gap:12px}.switch-row{flex-direction:row!important;justify-content:space-between;align-items:center;border:1px solid #ded1ca;border-radius:17px;padding:15px;background:white}.switch-row input{display:none}.switch-row i{width:50px;height:29px;border-radius:99px;background:#d8cbc5;position:relative}.switch-row i:after{content:"";position:absolute;width:23px;height:23px;left:3px;top:3px;border-radius:50%;background:white;transition:.2s}.switch-row input:checked+i{background:var(--orange)}.switch-row input:checked+i:after{transform:translateX(21px)}.spring-item,.editor-card,.wheel-row{border:1px solid #ddcec6;border-radius:18px;background:white;padding:15px}.spring-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.spring-actions{display:flex;gap:7px}.spring-actions button{width:36px;height:36px;border:0;border-radius:10px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.content-editor,.wheel-editor{display:flex;flex-direction:column;gap:14px;margin-top:16px}.editor-card-head,.wheel-row-head{display:flex;justify-content:space-between;align-items:center}.editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.editor-fields .full{grid-column:1/-1}.editor-preview img{width:150px;height:100px;object-fit:cover;border-radius:13px}.mini-actions{display:flex;gap:7px}.mini-actions button{border:0;border-radius:10px;padding:8px 10px}.wheel-grid{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:8px}.admin-tip{padding:15px;border-radius:14px;background:#fff2e6;color:#6d4430}.admin-savebar{position:sticky;bottom:-34px;margin:30px -34px -34px;padding:18px 34px;background:#f8f3efdd;backdrop-filter:blur(14px);border-top:1px solid #e1d5cf;display:flex;justify-content:flex-end;gap:10px}.toast{position:fixed;left:50%;bottom:25px;z-index:80;transform:translate(-50%,20px);opacity:0;background:white;color:var(--ink);padding:13px 19px;border-radius:99px;font-weight:800;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}.admin-hotspot{position:fixed;right:0;bottom:0;width:70px;height:70px;border:0;background:transparent}
@media(max-width:1000px){.home-grid{grid-template-columns:1fr 1fr}.home-card.size-tall{grid-row:span 2}.home-card.featured{grid-column:auto}.carousel{grid-auto-columns:80%}.review-carousel{grid-auto-columns:80%}}@media(max-width:700px){.settings-grid,.module-switches,.springboard-editor,.editor-fields,.wheel-grid{grid-template-columns:1fr}.admin-app{grid-template-columns:1fr}.admin-sidebar{display:none}.home-grid{grid-template-columns:1fr}.home-card.size-wide{grid-column:auto}.home-card.size-tall{grid-row:auto}.carousel,.review-carousel{grid-auto-columns:92%}.app-header{grid-template-columns:auto 1fr auto}.detail-logo{width:230px}}
\n/* V10 Stable — accès administration renforcé */\n.admin-quick{font-size:20px;background:rgba(245,130,32,.2);border-color:rgba(245,130,32,.48)}\n.admin-quick:active{transform:scale(.94)}\n.admin-help{color:#79645b;line-height:1.5;margin-top:-8px}\n.admin-hotspot{z-index:120}\n#brandAdminButton{position:relative;z-index:3;touch-action:manipulation}\n

/* V10.1 — restauration ciblée du Mixologue et du chat Uky */
.family-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:10px;
  margin-bottom:24px;
}
.family-button,.flavor-button{
  border:1px solid var(--line);
  background:rgba(255,255,255,.065);
  color:white;
  border-radius:17px;
  font-weight:750;
}
.family-button{
  padding:16px 10px;
}
.family-button.active{
  background:var(--orange);
  border-color:var(--orange);
}
.flavor-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
  gap:10px;
}
.flavor-button{
  padding:17px;
  text-align:left;
}
.flavor-button.selected{
  background:var(--orange);
  border-color:var(--orange);
}
.mix-toolbar{
  position:sticky;
  bottom:0;
  margin-top:27px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(37,22,21,.9);
  backdrop-filter:blur(18px);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  z-index:5;
}
.result-card{
  margin-top:25px;
  background:white;
  color:var(--ink);
  padding:30px;
  border-radius:27px;
}
.score{
  font-size:clamp(75px,10vw,135px);
  font-weight:800;
  letter-spacing:-.09em;
  color:var(--orange);
}
.verdict{
  font-size:20px;
  font-weight:800;
}
.chat-log{
  min-height:340px;
  max-width:850px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.bubble{
  max-width:80%;
  padding:15px 18px;
  border-radius:19px;
  line-height:1.5;
}
.bubble.uky{
  background:white;
  color:var(--ink);
}
.bubble.user{
  align-self:flex-end;
  background:var(--orange);
  color:white;
}
.chat-form{
  display:flex;
  gap:10px;
  max-width:850px;
  margin-top:20px;
}
.chat-form input{
  flex:1;
  border:0;
  border-radius:15px;
  padding:17px;
}
@media(max-width:1000px){
  .family-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:650px){
  .family-grid{grid-template-columns:1fr 1fr}
  .mix-toolbar,.chat-form{flex-direction:column;align-items:stretch}
}

/* V10.2 */
.game-stage .primary-button:disabled{
  opacity:.55;
  cursor:default;
}

/* V10.3 — formats des cartes d'accueil */
.spring-actions select{min-width:135px}

/* V10.6 — Mode Vitrine */
.showcase-screen{
  background:#221313;
  color:white;
  overflow:hidden;
}
.showcase-background{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 20%,rgba(255,180,90,.84),transparent 36%),
    radial-gradient(circle at 82% 75%,rgba(176,69,44,.75),transparent 42%),
    linear-gradient(135deg,#2e1715,#6c3025);
  background-size:cover;
  background-position:center;
}
.showcase-background.news-showcase:not(.has-image){
  background:
    radial-gradient(circle at 18% 18%,rgba(224,244,255,.95),transparent 37%),
    radial-gradient(circle at 78% 80%,rgba(144,191,233,.78),transparent 43%),
    linear-gradient(135deg,#a9cdec,#eaf5ff);
}
.showcase-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(22,9,8,.87) 0%,rgba(22,9,8,.58) 52%,rgba(22,9,8,.18) 100%);
}
.showcase-background.news-showcase:not(.has-image)+.showcase-shade{
  background:linear-gradient(90deg,rgba(17,28,39,.74),rgba(17,28,39,.28));
}
.showcase-top,.showcase-content,.showcase-bottom{position:relative;z-index:2}
.showcase-top{
  height:120px;
  padding:32px 48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.showcase-top img{width:min(330px,32vw);max-height:70px;object-fit:contain;object-position:left center}
.showcase-top span{font-size:20px;font-weight:800}
.showcase-content{
  height:calc(100% - 215px);
  padding:clamp(55px,8vw,120px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:1200px;
}
.showcase-kicker{font-size:clamp(15px,1.7vw,24px);font-weight:900;letter-spacing:.16em;color:#ffad55}
.showcase-content h1{font-size:clamp(62px,9vw,150px);line-height:.92;letter-spacing:-.065em;margin:16px 0 24px;max-width:1100px}
.showcase-content>p:last-child{font-size:clamp(22px,3vw,44px);line-height:1.3;max-width:900px}
.showcase-bottom{
  height:95px;
  padding:0 48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.16);
  font-weight:750;
}
.showcase-exit-hotspot{
  position:absolute;
  z-index:5;
  right:0;
  top:0;
  width:120px;
  height:120px;
  border:0;
  background:transparent;
}
.showcase-admin-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
@media(max-width:700px){
 .showcase-top{height:90px;padding:22px}
 .showcase-content{height:calc(100% - 160px);padding:36px 25px}
 .showcase-bottom{height:70px;padding:0 22px;font-size:13px}
}

/* V11 */
.home-card.poll{--g:linear-gradient(145deg,#fff8e9,#ffdba4 54%,#efaa58)}
.recipe-bars{display:grid;gap:12px;margin:24px 0}.recipe-bars>div{display:grid;grid-template-columns:1fr auto;gap:7px}.recipe-bars i,.poll-result i{grid-column:1/-1;height:12px;border-radius:99px;background:#eadfd9;overflow:hidden}.recipe-bars em,.poll-result em{display:block;height:100%;background:linear-gradient(90deg,#f58220,#ffb15e);border-radius:99px}.flavor-note{padding:18px;border-radius:18px;background:#fff5ec;margin-top:18px}.team-quote{margin:18px 0;padding:18px;border-left:5px solid #f58220;background:white;border-radius:0 18px 18px 0}.mix-warning{display:block;opacity:.65;line-height:1.5}.quick-prompts{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}.quick-prompts button{border:1px solid #dfcec5;background:white;border-radius:99px;padding:10px 14px}.thinking{opacity:.65}.poll-hero{width:100%;max-height:280px;object-fit:cover;border-radius:24px;margin:18px 0}.poll-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.poll-option{min-height:145px;border:1px solid #dfd1ca;border-radius:23px;background:white;overflow:hidden;padding:0;font-size:22px;font-weight:850}.poll-option img{width:100%;height:145px;object-fit:cover}.poll-option span{display:block;padding:20px}.poll-result{display:grid;gap:8px;padding:16px;background:white;border-radius:17px;margin-bottom:12px}.poll-result>div{display:flex;justify-content:space-between}.poll-thanks{padding:25px;border-radius:22px;background:#fff1e3;display:flex;flex-direction:column;gap:6px;margin-top:20px}.stats-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.stats-dashboard article{background:white;border:1px solid #dfd1ca;border-radius:19px;padding:20px;display:flex;flex-direction:column}.stats-dashboard article strong{font-size:35px}.stats-modules{grid-column:1/-1;background:white;border-radius:19px;padding:20px}.stats-modules>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eee}.editor-card-head>button{border:0;border-radius:10px;padding:8px 10px}
@media(max-width:700px){.poll-options,.stats-dashboard{grid-template-columns:1fr}}

/* V11.4 — Uky 3.0 et vitrine mixte */
.uky-header{grid-template-columns:1fr auto 1fr}
.header-left{justify-self:start;font-size:25px;font-weight:900;font-variant-numeric:tabular-nums}
.uky-brand{justify-self:center;display:flex;align-items:center;gap:13px;color:var(--ink);padding:4px 18px;border-radius:22px;min-width:260px;justify-content:center;touch-action:none}
.uky-brand img{width:67px!important;height:67px!important;object-fit:contain!important;object-position:center!important;filter:drop-shadow(0 8px 15px rgba(67,30,22,.18))}
.uky-brand span{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.uky-brand strong{font-size:26px;letter-spacing:.09em}.uky-brand small{font-size:11px;margin-top:7px;text-transform:uppercase;letter-spacing:.12em;opacity:.6}
.detail-uky{justify-self:center;display:flex;align-items:center;gap:12px}.detail-uky img{width:64px;height:64px;object-fit:contain}.detail-uky strong{font-size:24px;letter-spacing:.09em}
.showcase-uky{display:flex;align-items:center;gap:12px}.showcase-uky img{width:66px!important;height:66px;object-fit:contain}.showcase-uky span{display:flex;flex-direction:column}.showcase-uky strong{font-size:23px;letter-spacing:.1em}.showcase-uky small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.showcase-background.has-image{animation:showcaseKenBurns 18s ease-out both}
.showcase-content,.showcase-top,.showcase-bottom{animation:showcaseFade .65s ease both}
@keyframes showcaseFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes showcaseKenBurns{from{transform:scale(1.015)}to{transform:scale(1.075)}}
@media(max-width:700px){.uky-brand span{display:none}.uky-brand{min-width:auto;padding:2px}.header-left{font-size:19px}.detail-uky strong{display:none}}


/* V11.4 — identité officielle Uky 3.0 */
.uky-brand{
  appearance:none;
  border:0;
  background:transparent;
  padding:5px 12px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  min-width:210px;
  max-width:330px;
}
.uky-brand img{
  display:block;
  width:min(270px,24vw);
  max-height:74px;
  object-fit:contain;
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.22));
  pointer-events:none;
}
.uky-brand.is-pressing img{
  transform:scale(.96);
  opacity:.82;
}
.uky-splash-logo{
  width:min(540px,70vw);
  max-height:220px;
  object-fit:contain;
  animation:ukyLogoArrival .75s cubic-bezier(.2,.8,.2,1) both;
  filter:drop-shadow(0 14px 28px rgba(0,0,0,.35));
}
@keyframes ukyLogoArrival{
  from{opacity:0;transform:translateY(14px) scale(.94)}
  to{opacity:1;transform:none}
}
@media(max-width:700px){
  .uky-brand{min-width:130px;padding:4px}
  .uky-brand img{width:min(190px,36vw);max-height:56px}
  
}

.uky-v114-splash{position:fixed;inset:0;z-index:99999;background:#111;display:flex;align-items:center;justify-content:center;transition:opacity .45s ease}
.uky-v114-splash.hide{opacity:0;pointer-events:none}


/* Uky 3.0.1 — changement de logo uniquement */
.uky-brand img{
  content:url("assets/uky-3-logo-officiel.png");
  object-fit:contain;
}
.idle-uky-logo{
  display:block;
  width:min(720px,72vw);
  max-height:330px;
  object-fit:contain;
  margin:0 auto;
  filter:drop-shadow(0 16px 30px rgba(0,0,0,.28));
}
@media(max-width:700px){
  .idle-uky-logo{width:min(520px,82vw);max-height:250px}
}


/* Uky 3.0.1 finale — logo Uky centré en haut de l'écran de veille */
.ambient-top{
  position:absolute;
}
.ambient-uky-top{
  position:absolute;
  left:50%;
  top:clamp(16px,2.3vw,34px);
  transform:translateX(-50%);
  width:min(350px,29vw);
  max-height:96px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 9px 20px rgba(0,0,0,.28));
  pointer-events:none;
}
@media(max-width:700px){
  .ambient-uky-top{
    width:min(235px,43vw);
    max-height:70px;
    top:18px;
  }
}


/* Uky 3.0.2 — harmonisation du logo sur veille et accueil */
.ambient-uky-top{
  width:min(455px,36vw);
  max-height:118px;
  top:clamp(10px,1.7vw,24px);
}

.uky-header{
  grid-template-columns:1fr auto 1fr;
}

.uky-brand{
  justify-self:center;
  min-width:0;
  max-width:none;
  width:min(455px,36vw);
  height:92px;
  padding:0;
  overflow:visible;
}

.uky-brand img{
  content:none;
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none;
  max-height:none;
  object-fit:contain !important;
  object-position:center !important;
  filter:drop-shadow(0 7px 16px rgba(0,0,0,.20));
}

.uky-brand span{
  display:none !important;
}

@media(max-width:700px){
  .ambient-uky-top{
    width:min(305px,52vw);
    max-height:82px;
    top:12px;
  }

  .uky-brand{
    width:min(305px,52vw);
    height:72px;
    padding:0;
  }

  .uky-brand img{
    width:100% !important;
    height:100% !important;
  }
}


/* Uky 3.0.3 — identité Uky fixe et cohérente partout */

/* Écran de veille : logo clairement lisible comme nom de la borne */
.ambient-uky-top{
  width:min(620px,46vw) !important;
  max-height:150px !important;
  top:clamp(8px,1.2vw,18px) !important;
}

/* Accueil : même signature visuelle */
.uky-brand{
  width:min(560px,42vw) !important;
  height:100px !important;
  justify-self:center !important;
}
.uky-brand img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Toutes les pages ouvertes depuis les cartes */
.detail-header{
  position:relative;
  grid-template-columns:1fr auto 1fr !important;
}
.detail-uky{
  justify-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:min(560px,42vw) !important;
  height:94px !important;
}
.detail-uky img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  filter:drop-shadow(0 7px 16px rgba(0,0,0,.20));
}
.detail-uky strong,
.detail-uky span{
  display:none !important;
}

/* Mode vitrine : même logo officiel */
.showcase-uky{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:min(390px,31vw) !important;
  height:86px !important;
}
.showcase-uky img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.showcase-uky span{
  display:none !important;
}

@media(max-width:700px){
  .ambient-uky-top{
    width:min(390px,62vw) !important;
    max-height:100px !important;
    top:10px !important;
  }
  .uky-brand,
  .detail-uky{
    width:min(350px,58vw) !important;
    height:76px !important;
  }
  .showcase-uky{
    width:min(260px,48vw) !important;
    height:68px !important;
  }
}


/* Uky 3.0.4 — Promotions et Nouveautés uniquement */

/* Les deux pages utilisent désormais exactement les mêmes proportions. */
#contentCarousel.carousel{
  grid-auto-columns:minmax(430px,58%);
  align-items:stretch;
  padding-bottom:18px;
}

/* Cartes plus hautes afin de mieux occuper l’écran de la borne. */
#contentCarousel .content-card,
#contentCarousel .content-card.news-card{
  min-height:clamp(520px,58vh,650px);
}

/* Le contenu reste lisible en bas des affiches plus grandes. */
#contentCarousel .content-card-body{
  padding:clamp(30px,3vw,44px);
}

@media(max-width:1000px){
  #contentCarousel.carousel{
    grid-auto-columns:80%;
  }
  #contentCarousel .content-card,
  #contentCarousel .content-card.news-card{
    min-height:clamp(500px,57vh,620px);
  }
}

@media(max-width:700px){
  #contentCarousel.carousel{
    grid-auto-columns:92%;
  }
  #contentCarousel .content-card,
  #contentCarousel .content-card.news-card{
    min-height:500px;
  }
}


/* Uky 3.0.5 : identité visuelle renforcée */
.ambient-uky-top{
 width:min(760px,56vw)!important;
 max-height:180px!important;
}
.uky-brand,
.detail-uky{
 width:min(700px,52vw)!important;
 height:120px!important;
}
.showcase-uky{
 width:min(520px,40vw)!important;
 height:108px!important;
}
.uky-brand img,
.detail-uky img,
.showcase-uky img{
 width:100%!important;
 height:100%!important;
 object-fit:contain!important;
}


/* Uky 3.0.6 — logo x2 et centrage strict */

/* Écran de veille : centrage géométrique entre météo et heure. */
.ambient-uky-top{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  width:min(980px,68vw) !important;
  max-width:68vw !important;
  height:210px !important;
  max-height:210px !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Accueil : le logo devient la vraie signature de la borne. */
.uky-header{
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
}
.uky-brand{
  justify-self:center !important;
  width:min(900px,64vw) !important;
  height:180px !important;
  max-width:64vw !important;
  padding:0 !important;
  margin:0 !important;
}
.uky-brand img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Pages internes : même taille et même centrage. */
.detail-header{
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
}
.detail-uky{
  justify-self:center !important;
  width:min(900px,64vw) !important;
  height:180px !important;
  max-width:64vw !important;
  margin:0 !important;
}
.detail-uky img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Mode vitrine : identité cohérente, sans décentrage. */
.showcase-uky{
  width:min(720px,52vw) !important;
  height:150px !important;
}
.showcase-uky img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

@media(max-width:1000px){
  .ambient-uky-top{
    width:min(760px,66vw) !important;
    max-width:66vw !important;
    height:170px !important;
    max-height:170px !important;
  }
  .uky-brand,
  .detail-uky{
    width:min(690px,62vw) !important;
    max-width:62vw !important;
    height:145px !important;
  }
}

@media(max-width:700px){
  .ambient-uky-top{
    width:min(500px,64vw) !important;
    max-width:64vw !important;
    height:120px !important;
    max-height:120px !important;
  }
  .uky-brand,
  .detail-uky{
    width:min(460px,60vw) !important;
    max-width:60vw !important;
    height:108px !important;
  }
  .showcase-uky{
    width:min(390px,52vw) !important;
    height:96px !important;
  }
}


/* Uky 3.0.7 — logo de veille renforcé + accueil remis en place */

/* ÉCRAN DE VEILLE
   Le logo est plus grand, plus haut, mais reste centré géométriquement. */
.ambient-uky-top{
  left:50% !important;
  right:auto !important;
  top:-18px !important;
  transform:translateX(-50%) !important;
  width:min(1280px,82vw) !important;
  max-width:82vw !important;
  height:270px !important;
  max-height:270px !important;
  object-fit:contain !important;
  object-position:center !important;
  z-index:4 !important;
  pointer-events:none !important;
}

/* ACCUEIL
   Le logo reste très visible mais sort du flux normal :
   il ne pousse donc plus la grille des cartes vers le bas. */
.uky-header{
  position:relative !important;
  min-height:92px !important;
  height:92px !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  overflow:visible !important;
}

.uky-brand{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:min(980px,68vw) !important;
  max-width:68vw !important;
  height:170px !important;
  margin:0 !important;
  padding:0 !important;
  z-index:5 !important;
  overflow:visible !important;
}

.uky-brand img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* La grille retrouve sa hauteur visuelle d'avant l'agrandissement du logo. */
.dashboard,
.home-dashboard,
.uky-dashboard,
main.dashboard{
  margin-top:0 !important;
  padding-top:0 !important;
  transform:translateY(-34px) !important;
}

/* Pages internes : logo visible, sans agrandir la hauteur du bandeau. */
.detail-header{
  position:relative !important;
  min-height:92px !important;
  height:92px !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  overflow:visible !important;
}

.detail-uky{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:min(980px,68vw) !important;
  max-width:68vw !important;
  height:170px !important;
  margin:0 !important;
  z-index:4 !important;
}

.detail-uky img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

@media(max-width:1000px){
  .ambient-uky-top{
    top:-10px !important;
    width:min(980px,78vw) !important;
    max-width:78vw !important;
    height:220px !important;
    max-height:220px !important;
  }

  .uky-header,
  .detail-header{
    min-height:82px !important;
    height:82px !important;
  }

  .uky-brand,
  .detail-uky{
    width:min(820px,70vw) !important;
    max-width:70vw !important;
    height:150px !important;
  }

  .dashboard,
  .home-dashboard,
  .uky-dashboard,
  main.dashboard{
    transform:translateY(-28px) !important;
  }
}

@media(max-width:700px){
  .ambient-uky-top{
    top:-6px !important;
    width:min(620px,76vw) !important;
    max-width:76vw !important;
    height:160px !important;
    max-height:160px !important;
  }

  .uky-header,
  .detail-header{
    min-height:74px !important;
    height:74px !important;
  }

  .uky-brand,
  .detail-uky{
    width:min(560px,68vw) !important;
    max-width:68vw !important;
    height:120px !important;
  }

  .dashboard,
  .home-dashboard,
  .uky-dashboard,
  main.dashboard{
    transform:translateY(-22px) !important;
  }
}


/* Uky 3.0.8 — centrage du logo + actions replacées à droite */

/* Conserver exactement la taille du logo de la 3.0.7,
   mais le remonter légèrement dans le bandeau. */
.uky-brand{
  top:42% !important;
}

/* Le bloc des actions reprend sa place à droite,
   au-dessus du logo et sans chevauchement. */
.header-actions,
.uky-header .header-actions,
.uky-header .top-actions,
.uky-header .right-actions{
  position:absolute !important;
  right:24px !important;
  left:auto !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
  z-index:20 !important;
  width:auto !important;
  max-width:none !important;
}

/* Les boutons individuels restent bien dans leur zone. */
#settingsButton,
#sleepButton,
button[aria-label*="Réglages"],
button[aria-label*="Veille"],
button[title*="Réglages"],
button[title*="Veille"]{
  position:relative !important;
  z-index:21 !important;
  flex:0 0 auto !important;
}

/* Même correction dans les pages internes si les mêmes actions y sont présentes. */
.detail-header .header-actions,
.detail-header .top-actions,
.detail-header .right-actions{
  position:absolute !important;
  right:24px !important;
  left:auto !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
  z-index:20 !important;
  width:auto !important;
}

@media(max-width:1000px){
  .uky-brand{
    top:40% !important;
  }

  .header-actions,
  .uky-header .header-actions,
  .uky-header .top-actions,
  .uky-header .right-actions,
  .detail-header .header-actions,
  .detail-header .top-actions,
  .detail-header .right-actions{
    right:16px !important;
    gap:10px !important;
  }
}

@media(max-width:700px){
  .uky-brand{
    top:38% !important;
  }

  .header-actions,
  .uky-header .header-actions,
  .uky-header .top-actions,
  .uky-header .right-actions,
  .detail-header .header-actions,
  .detail-header .top-actions,
  .detail-header .right-actions{
    right:10px !important;
    gap:8px !important;
  }
}


/* Uky 3.0.9 — correction réelle du bandeau */

/* Taille inchangée, logo seulement remonté. */
.uky-brand{
  top:34% !important;
}

/* Le vrai conteneur des boutons de l'accueil. */
.uky-header > .header-right{
  position:absolute !important;
  right:24px !important;
  left:auto !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
  width:auto !important;
  z-index:50 !important;
}

/* Les deux boutons restent au-dessus de toute autre couche. */
.uky-header > .header-right .icon-button{
  position:relative !important;
  z-index:51 !important;
  flex:0 0 52px !important;
}

/* Sur les pages internes, le bouton veille direct reste à droite. */
.detail-header > .sleep-trigger{
  position:absolute !important;
  right:24px !important;
  left:auto !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:50 !important;
}

/* Le bouton retour garde sa place à gauche. */
.detail-header > .back-button{
  position:relative !important;
  z-index:50 !important;
  justify-self:start !important;
}

@media(max-width:1000px){
  .uky-brand{
    top:32% !important;
  }

  .uky-header > .header-right,
  .detail-header > .sleep-trigger{
    right:16px !important;
  }
}

@media(max-width:700px){
  .uky-brand{
    top:30% !important;
  }

  .uky-header > .header-right,
  .detail-header > .sleep-trigger{
    right:10px !important;
  }
}


/* Uky 3.0.10 — candidate de base
   Modification unique : logo remonté légèrement.
   Taille du logo et boutons inchangés. */
.uky-brand{
  transform:translate(-50%, -50%) translateY(-12px) !important;
}

@media(max-width:1000px){
  .uky-brand{
    transform:translate(-50%, -50%) translateY(-10px) !important;
  }
}

@media(max-width:700px){
  .uky-brand{
    transform:translate(-50%, -50%) translateY(-8px) !important;
  }
}

/* Uky3.0.11 */
.idle-screen .uky-brand,.idle-logo .uky-brand{transform:translate(-50%,-50%) translateY(8px)!important;}
.uky-header .uky-brand{transform:translate(-50%,-50%) translateY(10px)!important;}
.uky-header{overflow:visible!important;min-height:92px!important;}


/* Uky 3.1.0 — candidate de base stable
   Écran de veille uniquement :
   - logo environ 12 % plus grand ;
   - centrage vertical réel dans la zone météo / heure ;
   - débordement symétrique en haut et en bas.
   L'accueil, les boutons et les cartes restent inchangés. */

#ambient .ambient-top{
  overflow:visible !important;
}

#ambient .ambient-uky-top{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  width:min(1400px,92vw) !important;
  max-width:92vw !important;
  height:300px !important;
  max-height:300px !important;
  transform:translate(-50%,-50%) !important;
  object-fit:contain !important;
  object-position:center !important;
  z-index:4 !important;
  pointer-events:none !important;
}

@media(max-width:1000px){
  #ambient .ambient-uky-top{
    width:min(980px,90vw) !important;
    max-width:90vw !important;
    height:255px !important;
    max-height:255px !important;
  }
}

@media(max-width:700px){
  #ambient .ambient-uky-top{
    width:min(560px,88vw) !important;
    max-width:88vw !important;
    height:180px !important;
    max-height:180px !important;
  }
}


/* Uky 3.1.2 — page Avis clients uniquement
   Plus de respiration, sans modifier le reste de l’interface. */

.review-head{
  align-items:flex-start !important;
  gap:42px !important;
}

.rating-summary{
  flex:0 0 auto !important;
  min-width:178px !important;
  margin-top:18px !important;
  padding:22px 26px !important;
}

.review-carousel{
  gap:28px !important;
  margin-top:34px !important;
  padding:2px 2px 12px !important;
  scroll-padding-inline:2px !important;
}

.review-card{
  min-height:265px !important;
  padding:27px 29px !important;
}

.review-card blockquote{
  margin:18px 0 24px !important;
  line-height:1.5 !important;
}

.review-cta{
  margin-top:38px !important;
  min-height:138px !important;
  padding:29px 32px !important;
  align-items:center !important;
}

/* Sur grand écran, trois avis complets sont visibles avec un vrai espace entre eux. */
@media(min-width:1001px){
  .review-carousel{
    grid-auto-columns:calc((100% - 56px) / 3) !important;
  }
}

/* Sur tablette portrait, conserver un carrousel confortable et respirant. */
@media(max-width:1000px){
  .review-head{
    gap:28px !important;
  }

  .review-carousel{
    grid-auto-columns:76% !important;
    gap:24px !important;
  }

  .review-cta{
    margin-top:32px !important;
  }
}

@media(max-width:700px){
  .review-head{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .rating-summary{
    align-self:flex-end !important;
    margin-top:0 !important;
  }

  .review-carousel{
    grid-auto-columns:90% !important;
    gap:20px !important;
  }
}

/* Uky 3.2.0 — Mixologue harmonisé */
.family-grid{gap:14px!important;margin-bottom:30px!important}.family-button{min-width:140px!important;height:54px!important;padding:0 22px!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(255,151,72,.30),rgba(255,151,72,.16))!important;border:1px solid rgba(255,169,101,.5)!important;color:#ffe6d2!important;font-weight:800!important}.family-button.active{background:linear-gradient(135deg,#ff8b3d,#ff5c35)!important;color:#fff!important;box-shadow:0 10px 28px rgba(255,103,52,.25)!important}.mix-search-wrap{display:block;max-width:560px;margin:0 auto 28px}.mix-search-wrap span{display:block;margin:0 0 9px 4px;font-size:14px;font-weight:800;opacity:.75}.mix-search{width:100%;height:58px;padding:0 20px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:inherit;font:inherit;font-size:18px;outline:none;box-sizing:border-box}.mix-search:focus{border-color:rgba(255,140,60,.8);box-shadow:0 0 0 4px rgba(255,140,60,.12)}.flavor-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important}.flavor-button{width:100%!important;min-width:0!important;height:60px!important;min-height:60px!important;max-height:60px!important;padding:0 12px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1.15!important;box-sizing:border-box!important;overflow:hidden!important}.mix-toolbar{margin-top:30px!important;padding:22px 26px!important;min-height:98px!important;gap:24px!important}.mix-helper{margin:8px 0 0;font-size:17px;line-height:1.35;opacity:.82}.mix-empty{grid-column:1/-1;text-align:center;padding:32px;opacity:.7}@media(max-width:1100px){.flavor-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}@media(max-width:850px){.flavor-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.family-button{min-width:124px!important}}@media(max-width:620px){.flavor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mix-toolbar{align-items:stretch!important}.mix-toolbar .primary-button{width:100%}}


/* Uky 3.2.1 — mode vitrine : compteur lisible, sans signature Uky superposée */
#showcaseCounter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:68px;
  height:42px;
  padding:0 16px;
  border-radius:999px;
  background:rgba(22,12,11,.46);
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  font-size:18px!important;
  font-weight:850!important;
  line-height:1;
}


/* Uky 3.2.2 — finitions premium du mode vitrine */
.showcase-shade{
  background:
    linear-gradient(90deg,rgba(14,7,7,.91) 0%,rgba(14,7,7,.62) 48%,rgba(14,7,7,.20) 100%),
    linear-gradient(0deg,rgba(10,5,5,.42) 0%,transparent 40%);
}
.showcase-content{
  position:relative;
  isolation:isolate;
}
.showcase-content::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:clamp(26px,4vw,60px);
  right:clamp(18px,16vw,220px);
  top:50%;
  height:min(58%,560px);
  transform:translateY(-50%);
  border-radius:34px;
  background:linear-gradient(90deg,rgba(8,4,4,.42),rgba(8,4,4,.20) 72%,transparent);
  filter:blur(.15px);
  pointer-events:none;
}
.showcase-content h1{
  text-shadow:0 4px 22px rgba(0,0,0,.72),0 1px 3px rgba(0,0,0,.95);
}
.showcase-content>p:last-child,
.showcase-kicker{
  text-shadow:0 2px 12px rgba(0,0,0,.78);
}
.showcase-bottom{
  background:rgba(20,10,10,.48);
  border-top:1px solid rgba(255,255,255,.20);
  box-shadow:0 -16px 44px rgba(0,0,0,.20);
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
}
.showcase-store{white-space:nowrap;}
.showcase-timing{
  min-width:min(360px,42vw);
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:9px;
}
#showcaseProgressText{
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.showcase-progress-track{
  width:100%;
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.22);
}
#showcaseProgressBar{
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#ff8f43,#ffd2a6);
  transform-origin:left center;
  transform:scaleX(1);
  will-change:transform;
}
#showcaseProgressBar.is-running{
  animation:showcaseProgress var(--showcase-duration,30s) linear forwards;
}
@keyframes showcaseProgress{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:700px){
  .showcase-bottom{padding-inline:20px;gap:18px}
  .showcase-timing{min-width:44vw}
  .showcase-content::before{left:12px;right:12px;border-radius:24px}
}


/* =========================================================
   Uky 4.0 — base visuelle 3.2.2 + production Samsung/Tizen
   Les cartes, l’accueil, le logo et les boutons restent figés.
   ========================================================= */

/* Affiche de vitrine complète, presque plein écran, sans fond flouté. */
.showcase-background{
  background-image:none!important;
  transform:none!important;
  animation:none!important;
}
.showcase-poster-frame{
  position:absolute;
  z-index:1;
  inset:132px 42px 108px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:26px;
  background:#0f0908;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}
.showcase-poster-frame.is-empty{display:none}
.showcase-poster-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#0f0908;
}
.showcase-shade{
  z-index:1;
  background:linear-gradient(90deg,rgba(12,6,6,.89) 0%,rgba(12,6,6,.68) 30%,rgba(12,6,6,.24) 51%,transparent 68%)!important;
}
.showcase-content{
  z-index:2;
  max-width:min(850px,58vw);
  padding-left:clamp(48px,7vw,110px);
  padding-right:24px;
}
.showcase-content::before{display:none!important}
.showcase-content h1{text-shadow:0 3px 18px rgba(0,0,0,.76),0 1px 2px rgba(0,0,0,.9)}

/* Suppression des flous GPU coûteux sur Samsung/Tizen. */
#showcaseCounter{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  background:rgba(22,12,11,.72)!important;
}
.showcase-bottom{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  background:rgba(20,10,10,.82)!important;
  box-shadow:0 -10px 30px rgba(0,0,0,.16)!important;
}
.showcase-progress-track{height:3px!important}
#showcaseProgressBar{will-change:auto!important}

@media(max-width:800px){
  .showcase-poster-frame{inset:102px 18px 82px;border-radius:19px}
  .showcase-content{max-width:72vw;padding-left:26px}
}

@media(max-resolution:1.5dppx){
  .showcase-footer,.showcase-bottom,.glass,[class*="glass"]{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}


/* Uky 4.1 — finition Samsung : vitrine sans logo Uky et aucune carte en mouvement automatique */
.showcase-top-counter-only{
  justify-content:flex-end!important;
}
.showcase-top-counter-only .showcase-uky,
#showcase .showcase-uky{
  display:none!important;
}
.carousel,
.review-carousel{
  scroll-behavior:auto!important;
}
.content-card,
.review-card{
  animation:none!important;
  transition:none!important;
}
