:root{
  --cream:#f8f1e5;
  --cream-2:#fffaf2;
  --ink:#152d24;
  --muted:#6d746d;
  --green:#163e31;
  --green-2:#0e2f25;
  --gold:#d69b2a;
  --orange:#ef6a1d;
  --red:#d53d3d;
  --line:#e7dac7;
  --card:#fffdf8;
  --shadow:0 18px 45px rgba(61,46,31,.10);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-tap-highlight-color:transparent}
body{min-height:100vh}button,input,textarea{font:inherit}.hidden{display:none!important}button{cursor:pointer}.muted{color:var(--muted)}
.step-kicker,.eyebrow{margin:0 0 8px;font-size:.73rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase;color:var(--green)}
.lead{color:var(--muted);font-size:1rem;line-height:1.5;margin:8px 0 0}

/* KIOSK */
.kiosk-body{overflow:hidden;background:#eee5d7}
.kiosk-frame{--pixel-x:0px;--pixel-y:0px;min-height:100vh;display:grid;place-items:center;padding:10px;transform:translate(var(--pixel-x),var(--pixel-y));transition:transform 1.2s ease;will-change:transform}
.kiosk-app{position:relative;width:min(100%,920px);height:calc(100vh - 20px);min-height:720px;max-height:1280px;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#fffaf2 0%,#f8f1e5 100%);border:1px solid rgba(129,104,75,.15);border-radius:30px;box-shadow:0 28px 70px rgba(54,42,29,.13)}
.svingen-hero{height:22%;min-height:168px;max-height:250px;position:relative;display:grid;grid-template-columns:44% 56%;overflow:hidden;background:#fbf5e9}
.svingen-wordmark-wrap{display:flex;align-items:flex-start;justify-content:center;padding:28px 14px 14px 28px;z-index:2}
.svingen-wordmark{width:min(100%,350px);height:auto;display:block;mix-blend-mode:multiply}
.svingen-building-wrap{position:relative;overflow:hidden}
.svingen-building{width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block;filter:saturate(.98) contrast(1.01)}
.svingen-building-wrap:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fbf5e9 0%,rgba(251,245,233,.75) 11%,rgba(251,245,233,0) 36%)}
.hero-mist{position:absolute;z-index:3;left:0;right:0;bottom:-1px;height:45%;pointer-events:none;background:linear-gradient(180deg,rgba(248,241,229,0) 0%,rgba(248,241,229,.62) 58%,#f8f1e5 100%);clip-path:polygon(0 35%,12% 45%,24% 33%,37% 46%,50% 31%,64% 47%,78% 34%,90% 45%,100% 36%,100% 100%,0 100%)}

.survey-shell{position:relative;flex:1;min-height:0;padding:0 clamp(18px,3.2vw,38px) 18px;display:flex}
.survey-step{display:none;width:100%;height:100%;text-align:center;animation:fadeIn .22s ease}.survey-step.active{display:flex;flex-direction:column}
@keyframes fadeIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.rating-step h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.1rem,6.0vw,4.3rem);line-height:.98;letter-spacing:-.05em;margin:4px auto 8px;max-width:820px;color:#0c3026;font-weight:800}
.tap-hint{display:flex;align-items:center;justify-content:center;gap:9px;margin:2px 0 7px;color:#3d473f;font-size:clamp(.82rem,2vw,1.05rem);font-weight:650}.tap-icon{font-size:1.3em;transform:rotate(-14deg)}
.rating-grid{flex:1;min-height:0;width:min(100%,760px);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:18px clamp(14px,3vw,28px);align-items:stretch;justify-items:center;padding:10px 2px 6px}
.rating-option{appearance:none;border:0;background:transparent;display:flex;align-items:stretch;justify-content:center;width:100%;min-width:0;min-height:0;padding:0;color:var(--ink);transition:transform .14s ease,filter .14s ease;touch-action:manipulation}
.rating-option:active{transform:scale(.975)}
.rating-option:focus-visible{outline:3px solid rgba(22,62,49,.32);outline-offset:5px;border-radius:32px}
.rating-card{position:relative;width:100%;max-width:336px;min-height:245px;background:linear-gradient(180deg,#fffdfa 0%,#fcf6ec 100%);border:1px solid rgba(132,104,73,.10);border-radius:30px;box-shadow:0 16px 36px rgba(61,46,31,.08);padding:22px 16px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;overflow:hidden}
.rating-option:hover .rating-card{transform:translateY(-3px);box-shadow:0 22px 40px rgba(61,46,31,.12)}
.chef-face{position:relative;display:grid;place-items:center;padding-top:34px;margin-top:4px}
.chef-hat{position:absolute;top:0;left:50%;transform:translateX(-50%);width:96px;height:50px;background:#fff;border:3px solid rgba(34,43,37,.10);border-bottom:0;border-radius:44px 44px 14px 14px;box-shadow:0 7px 14px rgba(0,0,0,.05);z-index:2}
.chef-hat:after{content:"";position:absolute;left:-9px;right:-9px;bottom:-9px;height:17px;background:#fff;border:3px solid rgba(34,43,37,.10);border-radius:8px}
.chef-hat i{position:absolute;display:block;width:38px;height:38px;border-radius:50%;background:#fff;border:3px solid rgba(34,43,37,.08);top:-18px}
.chef-hat i:nth-child(1){left:1px}.chef-hat i:nth-child(2){left:27px;top:-25px;z-index:2}.chef-hat i:nth-child(3){right:1px}
.rating-emoji{position:relative;width:124px;height:124px;border-radius:50%;display:grid;place-items:center;background:#fff;border:10px solid #d7d3cc;box-shadow:0 12px 28px rgba(0,0,0,.10);font-size:3.65rem;line-height:1;z-index:1}
.rating-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:4px}
.rating-option strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,3.4vw,1.95rem);line-height:1.02;margin:0;color:#161c18;text-align:center}
.rating-great .rating-card{background:linear-gradient(180deg,#fffdfa 0%,#f3fbf5 100%)}
.rating-great .rating-emoji{border-color:#2f9b55}
.rating-good .rating-card{background:linear-gradient(180deg,#fffdfa 0%,#fff9ef 100%)}
.rating-good .rating-emoji{border-color:#f0a122}
.rating-disappointed .rating-card{background:linear-gradient(180deg,#fffdfa 0%,#fff7ef 100%)}
.rating-disappointed .rating-emoji{border-color:#ef7b1a}
.rating-bad .rating-card{background:linear-gradient(180deg,#fffdfa 0%,#fff3f2 100%)}
.rating-bad .rating-emoji{border-color:#d74b4b}
.giveaway-footer{flex:0 0 auto;margin:8px auto 0;padding:12px 14px 0;width:min(100%,740px);border-top:1px solid rgba(108,79,48,.25);font-family:Georgia,"Times New Roman",serif;color:#153329;font-size:clamp(1.03rem,2.8vw,1.58rem);line-height:1.12;text-align:center}
.giveaway-footer strong,.giveaway-footer span{display:block}.giveaway-footer b{font-size:1.12em;color:#0b241c}
.kiosk-status{display:none}

/* follow-up screens */
.details-step,.raffle-step,.thankyou-step{justify-content:center;max-width:760px;margin:0 auto;padding-bottom:12px}
.details-step h2,.raffle-step h2,.thankyou-step h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5vw,3.4rem);line-height:1.02;letter-spacing:-.035em;margin:4px 0 3px;color:#123629}
.text-back{border:0;background:transparent;color:#7a7c76;text-decoration:underline;text-underline-offset:3px;margin:0 auto 12px;padding:5px}
.score-recap{display:flex;align-items:center;justify-content:center;gap:11px;margin:0 0 15px}.score-bubble{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#18231d;font-size:1.65rem;font-weight:900;box-shadow:0 9px 18px rgba(0,0,0,.10);border:5px solid #d7d3cc}.score-1{border-color:#d74b4b}.score-2{border-color:#ef7b1a}.score-3{border-color:#f0a122}.score-4{border-color:#2f9b55}.score-recap strong{font-size:1.05rem}
.category-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:26px auto 18px;width:min(720px,100%)}
.category-chip{border:1px solid var(--line);background:var(--card);color:#485047;border-radius:999px;padding:13px 19px;font-weight:750;min-width:130px;box-shadow:0 4px 13px rgba(45,35,24,.04)}.category-chip.selected{background:var(--green);border-color:var(--green);color:#fff}
.comment-field{display:block;text-align:left;width:min(680px,100%);margin:0 auto 18px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px 18px;box-shadow:0 8px 24px rgba(50,45,37,.04)}.comment-field>span{font-weight:800}.comment-field>span small{float:right;color:#9b9d98;font-weight:500}.comment-field textarea{display:block;width:100%;resize:none;border:0;background:transparent;outline:none;margin-top:10px;font-size:1rem;color:var(--ink)}.comment-field em{display:block;text-align:right;color:#a0a39c;font-style:normal;font-size:.72rem}
.button-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.primary-btn,.ghost-btn{border:0;border-radius:15px;min-height:52px;padding:14px 22px;font-weight:850;display:inline-flex;align-items:center;justify-content:center}.primary-btn{background:var(--green);color:white;box-shadow:0 10px 22px rgba(22,62,49,.16)}.primary-btn:hover{background:var(--green-2)}.primary-btn:disabled{opacity:.55}.ghost-btn{background:#ebe3d6;color:#565d56}.ghost-btn.compact,.primary-btn.compact{min-height:40px;padding:9px 13px;font-size:.78rem}.ghost-btn.danger{color:#a1453d;background:#f5e8e3}
.checkmark{width:74px;height:74px;border-radius:50%;background:#e1eee6;color:var(--green);display:grid;place-items:center;font-size:2.2rem;font-weight:900;margin:0 auto 18px}.checkmark.large{width:100px;height:100px;font-size:3rem}.raffle-choice{margin-top:25px}.raffle-form{width:min(500px,100%);margin:24px auto 0;text-align:left}.raffle-form label{font-weight:800}.raffle-form input{width:100%;border:1px solid var(--line);border-radius:14px;padding:15px 16px;margin:8px 0 7px;background:white;outline:none}.raffle-form p{font-size:.76rem;color:var(--muted);line-height:1.45}.raffle-form .primary-btn{width:100%}.thankyou-step p{font-size:1.15rem;color:var(--muted);margin:14px 0 8px}.thankyou-step small{color:#9a9d96}

/* Idle / OLED protection */
.idle-screen{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 50% 48%,#17241f 0%,#0a100e 62%,#030504 100%);display:block;overflow:hidden;touch-action:manipulation;color:#fff}
.idle-screen:before{content:"";position:absolute;inset:-15%;background:radial-gradient(circle at 18% 22%,rgba(213,165,77,.08),transparent 23%),radial-gradient(circle at 81% 68%,rgba(57,118,86,.08),transparent 25%);animation:idleGlow 18s ease-in-out infinite alternate}
@keyframes idleGlow{from{transform:translate(-2%,-1%) scale(1)}to{transform:translate(2%,1%) scale(1.04)}}
.idle-card{position:absolute;width:min(76vw,560px);padding:30px 28px 28px;text-align:center;border:1px solid rgba(255,255,255,.08);border-radius:30px;background:rgba(255,255,255,.035);box-shadow:0 22px 80px rgba(0,0,0,.22);transition:top 2.4s ease,left 2.4s ease,transform 2.4s ease}
.idle-card img{width:min(82%,370px);filter:brightness(1.42) grayscale(.08);opacity:.84;mix-blend-mode:screen;margin-bottom:19px}.idle-eyebrow{font-size:.72rem;letter-spacing:.18em;font-weight:850;color:rgba(255,255,255,.55);margin:0 0 10px}.idle-card h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5.7vw,3.4rem);line-height:1.02;letter-spacing:-.04em;margin:0;color:#f4efe5}.idle-cta{font-size:clamp(1rem,3vw,1.35rem);line-height:1.4;color:rgba(255,255,255,.72);margin:20px auto 0;max-width:450px}.idle-cta strong{color:#f5cf75;font-size:1.1em}.idle-tap{display:inline-block;margin-top:25px;padding:12px 20px;border-radius:999px;border:1px solid rgba(245,207,117,.30);color:#f5cf75;font-size:.78rem;letter-spacing:.12em;font-weight:900;animation:idlePulse 3.2s ease-in-out infinite}
@keyframes idlePulse{0%,100%{opacity:.6;transform:scale(.98)}50%{opacity:1;transform:scale(1.02)}}
.idle-pos-a{left:12%;top:14%;transform:translate(0,0)}.idle-pos-b{left:50%;top:24%;transform:translate(-50%,0)}.idle-pos-c{left:18%;top:55%;transform:translate(0,-50%)}.idle-pos-d{left:88%;top:66%;transform:translate(-100%,-50%)}

/* ADMIN */
.admin-body{background:#f4f2ed}.admin-shell{min-height:100vh}.login-panel{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 18% 17%,rgba(49,88,71,.10),transparent 30%),var(--cream)}.login-card{width:min(430px,100%);background:var(--card);border:1px solid var(--line);border-radius:28px;padding:33px;box-shadow:var(--shadow)}.brandmark{width:46px;height:46px;border-radius:15px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.25rem}.brandmark.large{width:66px;height:66px;border-radius:20px;font-size:1.7rem;margin-bottom:20px}.brandbar{display:flex;align-items:center;gap:12px}.brandbar strong{display:block;font-size:1rem}.brandbar span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.brandbar.compact{padding:5px 0}.brandbar.compact .brandmark{width:40px;height:40px;border-radius:13px}.login-card h1{margin:14px 0 8px;font-size:2.5rem;letter-spacing:-.045em}.login-card form{display:grid;gap:11px;margin:25px 0 18px}.login-card label{font-size:.78rem;font-weight:800}.login-card input{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:#fff;margin-top:5px;outline:none}.login-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(49,88,71,.10)}.login-card .full{width:100%}.login-card>a{color:var(--green);font-size:.82rem;text-decoration:none}.demo-login{padding:13px;border-radius:13px;background:#f0ece4;color:#666a63;font-size:.8rem;line-height:1.5}.status-message{font-size:.8rem;color:var(--muted)}.status-message.error{color:#a94b42}
.dashboard{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.dash-sidebar{position:sticky;top:0;height:100vh;background:#fffdf9;border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column}.dash-sidebar nav{display:grid;gap:5px;margin-top:42px}.nav-btn,.sidebar-bottom button{border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:11px;color:#696d66}.nav-btn.active{background:#e5eee8;color:var(--green);font-weight:850}.sidebar-bottom{margin-top:auto;display:grid;gap:6px;font-size:.78rem}.sidebar-bottom>*{padding:8px 12px}.sidebar-bottom a{color:#686c65;text-decoration:none}.demo-pill{width:max-content!important;background:#2c302b;color:white!important;border-radius:999px;font-size:.62rem;letter-spacing:.1em}.dash-content{padding:34px;min-width:0}.dashboard-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.dashboard-header h1{font-size:2.35rem;letter-spacing:-.045em;margin:0 0 2px}.dashboard-header p{margin-bottom:0}.header-actions{display:flex;align-items:center;gap:10px}.range-toggle{background:#e7e3dc;border-radius:12px;padding:4px;display:flex}.range-toggle button{border:0;background:transparent;padding:8px 10px;border-radius:9px;color:#777a74;font-size:.72rem;font-weight:800}.range-toggle button.active{background:white;color:var(--ink);box-shadow:0 2px 7px rgba(0,0,0,.05)}
.kpi-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:14px;margin-bottom:14px}.kpi-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:21px;min-height:148px;display:flex;flex-direction:column;justify-content:flex-end}.kpi-label{font-size:.72rem;font-weight:800;color:var(--muted);margin-bottom:auto}.kpi-card strong{font-size:2.7rem;letter-spacing:-.045em}.kpi-help{font-size:.72rem;color:#93968f;margin-top:2px}.hero-kpi{background:linear-gradient(150deg,var(--green),#223f33);color:white}.hero-kpi .kpi-label,.hero-kpi .kpi-help{color:rgba(255,255,255,.82)}
.dashboard-grid{display:grid;gap:14px;margin-top:14px}.chart-grid{grid-template-columns:1.3fr 1fr}.two-col{grid-template-columns:1fr 1fr}.panel{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 8px 24px rgba(50,45,37,.04)}.panel-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-heading h2{margin:2px 0 0;font-size:1.4rem;letter-spacing:-.03em}.chart-wrap{position:relative;height:290px}.small-copy{font-size:.78rem}.category-list,.hour-list,.comment-list{display:grid;gap:12px}.category-row,.hour-row,.comment-row{display:grid;align-items:center;gap:12px;background:#fcfaf6;border:1px solid #efe8dc;border-radius:16px;padding:14px 16px}.category-row{grid-template-columns:minmax(0,1fr) auto}.category-row strong{display:block}.category-row span{display:block;font-size:.76rem;color:#8b8f87}.mention-split{display:flex;gap:8px;flex-wrap:wrap}.mention-split span{padding:7px 10px;border-radius:999px;font-size:.76rem;font-weight:800}.mention-split .positive{background:#e8f3eb;color:#2c6945}.mention-split .negative{background:#f7e7e3;color:#a64e41}.hour-row{grid-template-columns:58px minmax(0,1fr) 42px 56px}.hour-track{height:12px;background:#eee8df;border-radius:999px;overflow:hidden}.hour-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#9fbcaa,var(--green))}.comment-row{grid-template-columns:54px minmax(0,1fr)}.comment-row p{margin:0 0 6px;font-size:1rem;line-height:1.45}.comment-row span{font-size:.75rem;color:#8a8e87}.comment-score{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-weight:900;font-size:1.1rem;color:#fff}.prize-admin-panel .draw-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.draw-count{font-size:.88rem;color:var(--muted)}.winner-card{display:grid;gap:6px;padding:16px 18px;background:#fff8e1;border:1px solid rgba(213,166,79,.35);border-radius:18px;color:#5f4a19}.winner-card strong{font-size:1.2rem}.empty-state{margin:0;color:#8a8e87}

@media (max-width:850px){
  .kiosk-frame{padding:0}.kiosk-app{width:100%;height:100vh;max-height:none;min-height:640px;border-radius:0;border:0;box-shadow:none}
  .svingen-hero{height:21%;min-height:150px}.svingen-wordmark-wrap{padding:22px 6px 10px 18px}.svingen-wordmark{width:min(100%,300px)}
  .rating-step h1{font-size:clamp(2.05rem,7.1vw,3.75rem)}.rating-grid{width:100%;gap:14px}.rating-card{max-width:320px;min-height:228px}.rating-emoji{width:100px;height:100px;font-size:3rem}.chef-hat{transform:translateX(-50%) scale(.86);transform-origin:center bottom}.giveaway-footer{padding-top:9px}
  .idle-card{width:min(82vw,520px)}
}
@media (max-height:820px){
  .svingen-hero{height:19%;min-height:130px}.survey-shell{padding-bottom:8px}.rating-step h1{font-size:clamp(1.9rem,5.7vw,3.4rem);margin-top:0}.tap-hint{margin:0}.rating-card{max-width:282px;min-height:208px;padding:14px 10px 14px}.rating-emoji{width:84px;height:84px;font-size:2.45rem}.chef-face{padding-top:28px}.chef-hat{transform:translateX(-50%) scale(.72);transform-origin:center bottom}.rating-option strong{font-size:clamp(1rem,2.7vw,1.45rem)}.giveaway-footer{font-size:clamp(.95rem,2.4vw,1.3rem);padding-top:7px}
}
@media (min-width:1000px) and (orientation:landscape){
  .kiosk-app{width:min(72vh,820px);height:min(96vh,1160px)}
}
@media (max-width:900px){
  .dashboard{grid-template-columns:1fr}.dash-sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.kpi-grid,.chart-grid,.two-col{grid-template-columns:1fr}.dashboard-header{flex-direction:column;align-items:flex-start}
}

/* CUSTOMER CLUB */
.club-landing-step,.club-offer-step,.club-form-step,.club-success-step{justify-content:center;max-width:760px;margin:0 auto;padding-bottom:12px}
.club-landing-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:8px 0 16px}
.club-landing-step h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,6vw,4.3rem);line-height:.98;letter-spacing:-.05em;margin:14px auto 10px;max-width:720px;color:#0c3026;font-weight:800}
.club-lead{max-width:610px;margin:4px auto 24px;color:#59635b;font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.5}
.discount-orb{width:150px;height:150px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#173f32,#0d2d24);color:#fff;box-shadow:0 18px 40px rgba(22,62,49,.18);border:8px solid #f0d695}
.discount-orb strong{font-family:Georgia,"Times New Roman",serif;font-size:2.7rem;line-height:.95}.discount-orb span{font-size:.74rem;font-weight:800;margin-top:7px;max-width:100px;line-height:1.15}
.discount-orb.compact{width:120px;height:120px;margin:0 auto 18px;border-width:7px}.discount-orb.compact strong{font-size:2.15rem}.discount-orb.compact span{font-size:.68rem}
.club-main-cta{min-width:250px;font-size:1.05rem}.club-small{font-size:.78rem;color:#8b8f88;margin:10px 0 0}
.club-offer-step h2,.club-form-step h2,.club-success-step h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5vw,3.3rem);line-height:1.02;letter-spacing:-.04em;margin:4px 0 4px;color:#123629}
.club-offer-actions{margin-top:26px}
.club-form{width:min(100%,680px);margin:22px auto 0;text-align:left}
.club-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.club-field-grid .full-field{grid-column:1/-1}
.club-field-grid label{font-weight:800;font-size:.83rem;color:#354038}.club-field-grid input{display:block;width:100%;margin-top:6px;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;outline:none;color:var(--ink)}
.club-field-grid input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(22,62,49,.08)}
.consent-boxes{display:grid;gap:10px;margin:18px 0 12px}.consent-row{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:15px;background:rgba(255,255,255,.68);border:1px solid rgba(132,104,73,.12);font-size:.79rem;line-height:1.4;color:#4c554e}.consent-row input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--green)}.consent-row a{color:var(--green);font-weight:800}.required-consent{background:#f7f3ea}
.club-legal-note{margin:9px 0 10px;color:#7b817b;font-size:.74rem;line-height:1.4}.club-submit{width:100%;margin-top:4px}
.coupon-card{width:min(100%,620px);margin:20px auto 16px;padding:20px;border-radius:26px;background:linear-gradient(145deg,#fff9e7,#f3e1ad);border:1px solid rgba(192,145,49,.28);display:grid;grid-template-columns:minmax(0,1fr) 184px;gap:18px;align-items:center;box-shadow:0 18px 42px rgba(145,106,34,.12)}
.coupon-copy{text-align:left}.coupon-copy span{display:block;color:#7a6434;font-size:.76rem;text-transform:uppercase;letter-spacing:.11em;font-weight:850}.coupon-copy strong{display:block;margin:6px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(1.7rem,5vw,2.5rem);letter-spacing:.05em;color:#173b30}.coupon-copy small{color:#66572f;font-size:.82rem}.coupon-qr{width:178px;height:178px;display:grid;place-items:center;background:#fff;border-radius:18px;padding:5px;overflow:hidden}.coupon-qr img,.coupon-qr canvas{max-width:100%;height:auto!important}.coupon-empty{grid-template-columns:1fr}.coupon-empty .coupon-qr{display:none}.coupon-help{max-width:580px;margin:0 auto 18px;color:#697169;font-size:.84rem;line-height:1.45}

@media (max-width:680px){
  .club-field-grid{grid-template-columns:1fr}.club-field-grid .full-field{grid-column:auto}
  .coupon-card{grid-template-columns:1fr;text-align:center}.coupon-copy{text-align:center}.coupon-qr{margin:0 auto}
  .discount-orb{width:132px;height:132px}.discount-orb strong{font-size:2.35rem}
}
@media (max-height:820px){
  .club-landing-step h1{font-size:clamp(2rem,5.4vw,3.3rem)}.discount-orb{width:116px;height:116px;border-width:6px}.discount-orb strong{font-size:2rem}.club-lead{margin-bottom:14px}.club-form{margin-top:12px}.consent-boxes{margin-top:12px}.coupon-card{margin-top:12px;padding:14px}.coupon-qr{width:145px;height:145px}
}

/* ADMIN: kiosk and customer club */
.kiosk-settings-panel{margin:14px 0}.admin-link-btn{text-decoration:none}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.mode-card{display:block;position:relative;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fcfaf6;cursor:pointer;transition:.15s}.mode-card input{position:absolute;opacity:0;pointer-events:none}.mode-card strong{display:block;font-size:.98rem;margin-bottom:5px}.mode-card span{display:block;color:#7b817b;font-size:.78rem;line-height:1.4}.mode-card.selected{border-color:var(--green);box-shadow:0 0 0 2px rgba(22,62,49,.08);background:#f1f7f3}.mode-card.selected:after{content:'✓';position:absolute;right:13px;top:11px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:.75rem;font-weight:900}
.settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.settings-form-grid label{display:block;color:#4b554e;font-size:.76rem;font-weight:800}.settings-form-grid input,.settings-form-grid textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);outline:none;resize:vertical}.settings-form-grid input:focus,.settings-form-grid textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(22,62,49,.08)}.settings-actions{display:flex;align-items:center;gap:12px;margin-top:15px}.club-kpi-grid{margin-top:14px}
@media(max-width:900px){.mode-grid,.settings-form-grid{grid-template-columns:1fr}}

/* REDEEM / STAFF */
.redeem-body{min-height:100vh;background:radial-gradient(circle at 20% 15%,rgba(22,62,49,.08),transparent 28%),var(--cream)}
.redeem-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.redeem-card{width:min(620px,100%);background:var(--card);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.redeem-logo{display:block;width:min(280px,72%);margin:0 auto 26px;mix-blend-mode:multiply}.redeem-card h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,6vw,3rem);line-height:1.02;letter-spacing:-.04em;margin:4px 0 8px;color:#123629}.redeem-form{display:grid;gap:12px;margin-top:20px}.redeem-form label{font-weight:800;font-size:.82rem}.redeem-form input,.code-check-form input{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;outline:none}.redeem-form input:focus,.code-check-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(22,62,49,.08)}
.code-check-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin:22px 0}.discount-result{border-radius:22px;padding:22px;text-align:center;border:1px solid var(--line);background:#faf8f2}.discount-result.valid{background:#f0f8f2;border-color:#cfe3d4}.discount-result.invalid{background:#fff3f1;border-color:#efd0ca}.discount-result.used{background:#edf6ef;border-color:#c8dfce}.discount-result h2{font-family:Georgia,"Times New Roman",serif;font-size:2rem;margin:7px 0}.discount-result p{color:#586159;line-height:1.5}.result-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto;background:#fff;font-size:1.8rem;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.06)}.valid .result-icon,.used .result-icon{color:#2f7945}.invalid .result-icon{color:#b54b42}.redeem-use-btn{margin-top:10px}.redeem-logout{margin-top:18px}.admin-link-btn{display:inline-flex}
@media(max-width:620px){.code-check-form{grid-template-columns:1fr}.redeem-card{padding:22px}}

/* LEGAL */
.legal-body{min-height:100vh;background:var(--cream);padding:28px}.legal-page{width:min(760px,100%);margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:26px;padding:32px;box-shadow:var(--shadow);line-height:1.65;color:#465048}.legal-page>img{display:block;width:min(260px,70%);margin:0 0 24px;mix-blend-mode:multiply}.legal-page h1,.legal-page h2{font-family:Georgia,"Times New Roman",serif;color:#123629;letter-spacing:-.03em}.legal-page h1{font-size:2.7rem;margin:4px 0 18px}.legal-page h2{font-size:1.35rem;margin:24px 0 5px}.legal-page p{margin:0 0 12px}.legal-page .ghost-btn{text-decoration:none;margin-top:18px}

/* MATVENN V7 */
.admin-logo{width:min(240px,80%);height:auto;display:block;margin:0 auto 18px;mix-blend-mode:multiply}.full-field{grid-column:1/-1}.inner-panel{box-shadow:none;background:#fff;border-color:#ece6dc}.feedback-kpis{margin-top:8px}.compact-form-grid{align-items:end}.compact-form-grid .primary-btn{align-self:end}.admin-member-search{display:flex;gap:10px;margin:16px 0}.admin-member-search input,.staff-search-form input,.staff-inline-form input,.staff-inline-form select,.settings-form-grid select,.compact-form-grid input,.compact-form-grid select{min-height:48px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px 13px;outline:none;color:var(--ink)}.admin-member-search input{flex:1}.member-search-results{display:grid;gap:9px;margin-top:14px}.member-result{width:100%;border:1px solid #ece4d7;border-radius:16px;background:#fffdfa;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;color:var(--ink)}.member-result:hover{border-color:#bdcdbf;background:#f8fbf8}.member-result span{display:flex;flex-direction:column;gap:3px}.member-result small{color:var(--muted)}.member-result>span:last-child{align-items:flex-end;font-size:.82rem;color:#626961}.inline-admin-form{margin:18px 0;padding:18px;background:#f9f6ef;border:1px solid var(--line);border-radius:18px}.inline-admin-form h3{margin-top:0}.admin-member-detail{margin-top:22px;border-top:1px solid var(--line);padding-top:22px}.member-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.member-detail-head h2{font-size:2rem;margin:3px 0}.admin-member-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.staff-action-panel{padding:18px;border:1px solid #ece4d7;border-radius:18px;background:#fffdfa}.staff-action-panel h3{margin:0 0 10px}.staff-inline-form{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.staff-inline-form>*{flex:1 1 150px}.admin-danger-row{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.benefit-group-list,.campaign-list{display:grid;gap:10px;margin-top:18px}.group-admin-card,.campaign-card{display:flex;align-items:center;gap:14px;justify-content:space-between;border:1px solid #ece4d7;border-radius:17px;padding:14px 16px;background:#fffdfa}.group-admin-card>div{display:flex;flex-direction:column;min-width:170px}.group-admin-card span,.campaign-card small{color:var(--muted);font-size:.78rem}.group-admin-card label{font-size:.78rem;color:var(--muted)}.group-admin-card input[type=number]{width:90px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff}.campaign-card h3{margin:4px 0}.campaign-card p{margin:0 0 5px;color:var(--muted)}.campaign-area,.benefit-source{text-transform:uppercase;font-size:.65rem!important;letter-spacing:.12em;font-weight:850;color:#607067}.campaign-actions{display:flex;gap:8px;flex-wrap:wrap}.toggle-row{display:flex!important;align-items:center;gap:9px;font-size:.88rem!important}.toggle-row input{width:auto!important;min-height:auto!important}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.settings-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:800;color:#5e665f}.settings-form-grid input,.settings-form-grid textarea,.settings-form-grid select{border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:white;color:var(--ink);outline:none}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.mode-card{display:block;border:1px solid var(--line);border-radius:17px;padding:15px;background:#fffdfa}.mode-card input{margin-bottom:8px}.mode-card strong,.mode-card span{display:block}.mode-card span{color:var(--muted);font-size:.78rem;margin-top:4px}.admin-link-btn{text-decoration:none}.member-badge{display:inline-flex;background:#173f31;color:#fff;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:850}.benefit-list{display:grid;gap:10px}.benefit-card{border:1px solid #ece4d7;border-radius:17px;background:#fffdfa;padding:14px 16px;display:flex;justify-content:space-between;gap:14px;align-items:center}.benefit-card h3{margin:4px 0;font-size:1.05rem}.benefit-card p{margin:4px 0;color:var(--muted);font-size:.86rem}.benefit-card small,.benefit-card code{display:block;margin-top:6px;color:#787e77}.customer-benefit{display:block}.customer-benefit code{width:max-content;padding:6px 9px;border-radius:8px;background:#eee8dd;color:#18382c;font-weight:800}.staff-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.staff-kpi-row article{border:1px solid #e8dfd1;border-radius:16px;background:#fff;padding:14px}.staff-kpi-row span{display:block;color:var(--muted);font-size:.75rem}.staff-kpi-row strong{font-size:1.5rem}.danger-zone{border:1px solid #eed4d0;background:#fff8f7;border-radius:17px;padding:16px}.ghost-btn.danger{color:#a53e35;background:#f7e6e3}

/* Staff / kassaside */
.redeem-body,.member-page-body{min-height:100vh;background:linear-gradient(180deg,#eee5d7,#f8f1e5)}.staff-shell,.member-page-shell{width:min(1100px,100%);margin:0 auto;padding:24px}.staff-login-card,.member-login-card{width:min(480px,100%);margin:5vh auto;background:#fffdfa;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.redeem-logo,.member-page-logo{width:min(290px,85%);height:auto;display:block;margin:0 auto 18px;mix-blend-mode:multiply}.member-page-logo.compact{width:160px;margin:0}.staff-app,.member-page-app{background:#f9f5ed;border:1px solid var(--line);border-radius:28px;overflow:hidden;min-height:80vh;box-shadow:var(--shadow)}.staff-topbar,.member-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:#fffdfa;border-bottom:1px solid var(--line)}.staff-topbar .brandbar img{width:150px;height:auto}.staff-top-actions{display:flex;gap:8px}.staff-search-panel,.member-workspace{padding:24px}.staff-search-panel h1{font-size:2.4rem;margin:3px 0}.staff-search-form{display:flex;gap:9px;margin:14px 0}.staff-search-form input{flex:1}.member-profile-card{display:flex;justify-content:space-between;align-items:start;gap:16px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.member-profile-card h2{font-size:2rem;margin:4px 0 10px}.free-meal-action{margin-top:14px;padding:13px 15px;border-radius:15px;background:#fff4c9;display:flex;align-items:center;justify-content:space-between;gap:12px}.redeem-form{display:grid;gap:10px}.redeem-form label{display:grid;gap:5px;font-size:.8rem;font-weight:800}.redeem-form input{border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff}.member-page-header{position:sticky;top:0;z-index:5}.member-page-app{padding-bottom:24px}.member-hero-card{margin:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;background:linear-gradient(145deg,#173f31,#285844);color:#fff;border-radius:24px}.member-hero-card h1{font-size:2.4rem;margin:3px 0}.member-hero-card .eyebrow{color:rgba(255,255,255,.65)}.member-number{margin:0;color:rgba(255,255,255,.8);font-weight:800}.member-qr-card{background:#fff;border-radius:18px;padding:10px;min-width:176px;min-height:176px;display:grid;place-items:center}.loyalty-card,.member-section{margin:14px 22px;background:#fffdfa;border:1px solid var(--line);border-radius:21px;padding:20px}.loyalty-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.loyalty-head strong{font-size:1.6rem}.loyalty-track{height:16px;border-radius:999px;background:#eee8dd;margin:15px 0;overflow:hidden}.loyalty-track i{display:block;height:100%;width:0;border-radius:999px;background:#1b6044;transition:width .4s ease}.free-meal-notice{background:#fff4c9;border-radius:14px;padding:12px 14px;font-weight:850;color:#6a5314}.history-list{display:grid;gap:8px}.history-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #eee6da}.history-row:last-child{border-bottom:0}.history-row>div:first-child{display:flex;flex-direction:column}.history-row span{font-size:.75rem;color:var(--muted)}.member-settings-card{display:grid;gap:12px}.member-settings-actions{display:flex;align-items:center;gap:10px}

@media(max-width:900px){.admin-member-grid,.settings-form-grid,.mode-grid{grid-template-columns:1fr}.group-admin-card,.campaign-card{align-items:flex-start;flex-direction:column}.staff-kpi-row{grid-template-columns:1fr 1fr 1fr}.member-hero-card{flex-direction:column}.member-qr-card{align-self:center}.staff-search-form{flex-direction:column}}
@media(max-width:600px){.staff-shell,.member-page-shell{padding:0}.staff-app,.member-page-app{border-radius:0;border:0;min-height:100vh}.staff-login-card,.member-login-card{margin:0;min-height:100vh;border-radius:0}.staff-kpi-row{grid-template-columns:1fr}.staff-search-panel,.member-workspace{padding:16px}.member-hero-card,.loyalty-card,.member-section{margin:12px}.member-hero-card h1{font-size:2rem}.admin-member-search{flex-direction:column}}
.legal-body{background:#f8f1e5;color:var(--ink);padding:24px}.legal-card{width:min(760px,100%);margin:0 auto;background:#fffdfa;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.legal-card h1{font-family:Georgia,"Times New Roman",serif;font-size:2.5rem;margin:.2em 0}.legal-card h2{margin-top:1.5em}.legal-card p{line-height:1.65;color:#525b54}.legal-card a{color:var(--green);font-weight:750}

/* Separate public fronts */
.feedback-page [data-step="clubLanding"]{display:none!important}
.matvenn-page [data-step="rating"]{display:none!important}

.public-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.public-link-card{background:#fcfaf6;border:1px solid #e9dfd1;border-radius:20px;padding:18px;text-align:center}.public-link-card h3{margin:0 0 8px}.public-link-card code{font-size:.75rem;word-break:break-all;color:#5e675f}.admin-qr{width:166px;height:166px;margin:14px auto;padding:8px;background:white;border-radius:14px;display:grid;place-items:center}.admin-qr img,.admin-qr canvas{max-width:150px!important;max-height:150px!important}@media(max-width:800px){.public-link-grid{grid-template-columns:1fr}}

/* Feedback timing analytics */
.compact-heading{margin-bottom:8px}.compact-heading h3{margin:0}.compact-heading p{margin:4px 0 0}
.time-stat-list{display:grid;gap:7px;margin-top:12px}.time-stat-row{display:grid;grid-template-columns:1.35fr .7fr .8fr .9fr;gap:8px;align-items:center;padding:9px 11px;border:1px solid #eee6d9;border-radius:12px;background:#fcfaf6;font-size:.75rem}.time-stat-row strong{font-size:.78rem}.time-stat-row span{color:#737870}
.recent-feedback-panel{margin-top:14px}.recent-feedback-list{display:grid;gap:7px}.recent-feedback-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid #eee6d9;border-radius:12px;background:#fcfaf6}.recent-feedback-time{font-size:.78rem;color:#696e68}.recent-feedback-rating{font-weight:850;border-radius:999px;padding:6px 10px;font-size:.74rem;background:#fff}.recent-feedback-rating.score-1{color:#a43f3f;border:1px solid #ebc6c4}.recent-feedback-rating.score-2{color:#a85c17;border:1px solid #f2d2b4}.recent-feedback-rating.score-3{color:#8a670f;border:1px solid #ead8a5}.recent-feedback-rating.score-4{color:#286742;border:1px solid #c8dfcf}
@media(max-width:700px){.time-stat-row{grid-template-columns:1fr 1fr}.recent-feedback-row{align-items:flex-start;flex-direction:column;gap:6px}}

/* =========================================================
   FEEDBACK V10 — responsive web + kiosk layout
   The feedback URL is also used from QR codes on phones/PCs,
   so it must never rely on a fixed viewport height.
   ========================================================= */
.feedback-page{
  overflow-x:hidden;
  overflow-y:auto;
  min-height:100dvh;
}
.feedback-page .kiosk-frame{
  min-height:100dvh;
  height:auto;
  padding:18px;
  align-items:start;
  transform:none;
}
.feedback-page .kiosk-app{
  width:min(100%,820px);
  height:auto;
  min-height:calc(100dvh - 36px);
  max-height:none;
  margin:0 auto;
  overflow:visible;
}
.feedback-page .svingen-hero{
  height:190px;
  min-height:190px;
  max-height:190px;
  flex:0 0 190px;
}
.feedback-page .survey-shell{
  flex:none;
  min-height:0;
  padding:4px clamp(18px,4vw,42px) 26px;
}
.feedback-page .survey-step{
  height:auto;
  min-height:0;
}
.feedback-page .rating-step h1{
  font-size:clamp(2.4rem,5vw,3.85rem);
  line-height:.98;
  max-width:720px;
  margin:6px auto 10px;
}
.feedback-page .tap-hint{
  margin:4px 0 14px;
}
.feedback-page .rating-grid{
  flex:none;
  width:min(100%,700px);
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:none;
  gap:16px;
  padding:0;
}
.feedback-page .rating-card{
  max-width:none;
  min-height:214px;
  padding:20px 14px 16px;
}
.feedback-page .chef-face{
  padding-top:30px;
  margin-top:0;
}
.feedback-page .chef-hat{
  width:82px;
  height:43px;
}
.feedback-page .chef-hat i{
  width:33px;
  height:33px;
}
.feedback-page .chef-hat i:nth-child(2){left:23px}
.feedback-page .rating-emoji{
  width:104px;
  height:104px;
  border-width:9px;
  font-size:3rem;
}
.feedback-page .rating-option strong{
  font-size:clamp(1.25rem,2.5vw,1.7rem);
}
.feedback-page .giveaway-footer{
  margin-top:18px;
  padding-top:14px;
}

/* Follow-up screens may become taller than one viewport on phones. */
.feedback-page .details-step,
.feedback-page .raffle-step,
.feedback-page .thankyou-step,
.feedback-page .club-offer-step,
.feedback-page .club-form-step,
.feedback-page .club-success-step{
  min-height:560px;
  height:auto;
  padding-top:18px;
  padding-bottom:32px;
}

/* Tablet portrait: keep the kiosk feel, but never clip content. */
@media (min-width:601px) and (max-width:900px) and (orientation:portrait){
  .feedback-page .kiosk-frame{padding:0;align-items:start}
  .feedback-page .kiosk-app{width:100%;min-height:100dvh;border-radius:0;border:0;box-shadow:none}
  .feedback-page .svingen-hero{height:180px;min-height:180px;max-height:180px;flex-basis:180px}
  .feedback-page .survey-shell{padding:0 28px 24px}
  .feedback-page .rating-step h1{font-size:clamp(2.8rem,7vw,3.7rem);max-width:690px}
  .feedback-page .rating-grid{gap:18px}
  .feedback-page .rating-card{min-height:225px}
}

/* Phones: scrollable, compact, still 2x2 for fast recognition. */
@media (max-width:600px){
  .feedback-page .kiosk-frame{padding:0;display:block}
  .feedback-page .kiosk-app{
    width:100%;
    min-height:100dvh;
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .feedback-page .svingen-hero{
    height:112px;
    min-height:112px;
    max-height:112px;
    flex-basis:112px;
    grid-template-columns:47% 53%;
  }
  .feedback-page .svingen-wordmark-wrap{padding:13px 7px 7px 12px;align-items:center}
  .feedback-page .svingen-wordmark{width:min(100%,190px)}
  .feedback-page .survey-shell{padding:8px 12px 28px}
  .feedback-page .rating-step h1{
    font-size:clamp(2rem,10vw,2.75rem);
    line-height:1;
    letter-spacing:-.045em;
    margin:4px auto 8px;
  }
  .feedback-page .tap-hint{font-size:.83rem;margin:4px 0 13px;gap:6px}
  .feedback-page .rating-grid{gap:10px;width:100%}
  .feedback-page .rating-card{
    min-height:168px;
    border-radius:22px;
    padding:14px 8px 12px;
    gap:7px;
  }
  .feedback-page .chef-face{padding-top:24px}
  .feedback-page .chef-hat{width:62px;height:33px;border-width:2px}
  .feedback-page .chef-hat:after{left:-6px;right:-6px;bottom:-7px;height:12px;border-width:2px}
  .feedback-page .chef-hat i{width:25px;height:25px;border-width:2px;top:-12px}
  .feedback-page .chef-hat i:nth-child(1){left:1px}
  .feedback-page .chef-hat i:nth-child(2){left:18px;top:-17px}
  .feedback-page .chef-hat i:nth-child(3){right:1px}
  .feedback-page .rating-emoji{
    width:78px;
    height:78px;
    border-width:7px;
    font-size:2.25rem;
  }
  .feedback-page .rating-option strong{font-size:clamp(1.03rem,5vw,1.35rem)}
  .feedback-page .giveaway-footer{
    margin-top:14px;
    padding:13px 4px 22px;
    font-size:clamp(1rem,5vw,1.28rem);
  }
  .feedback-page .details-step,
  .feedback-page .raffle-step,
  .feedback-page .thankyou-step,
  .feedback-page .club-offer-step,
  .feedback-page .club-form-step,
  .feedback-page .club-success-step{
    min-height:calc(100dvh - 120px);
  }
}

/* Very small phones: one column is clearer than four tiny buttons. */
@media (max-width:360px){
  .feedback-page .rating-grid{grid-template-columns:1fr}
  .feedback-page .rating-card{min-height:142px;flex-direction:row;gap:18px;padding:14px 18px}
  .feedback-page .chef-face{flex:0 0 78px}
  .feedback-page .rating-copy{flex:1;align-items:flex-start}
  .feedback-page .rating-option strong{text-align:left;font-size:1.25rem}
}
