@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=EB+Garamond:wght@400;500;600&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:EB Garamond,Georgia,Times New Roman,serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{color:#f3e8d7;background:#14100e;min-width:320px;margin:0}:root{--bg:#111;--surface:#1c1c1c;--surface-soft:#2b2b2b;--ink:#f5f3ef;--ink-soft:#d8d2cb;--line:#2b2b2b;--line-strong:#c8a27c;--accent:#c8a27c;--accent-soft:#2b2b2b;--danger:#c73a2d}h1,h2,h3,h4{letter-spacing:.02em;font-family:Cormorant Garamond,Times New Roman,serif}.hero{background:radial-gradient(circle at 10% -10%, #242424 0%, transparent 38%), radial-gradient(circle at 90% -8%, #1d1d1d 0%, transparent 38%), var(--bg);min-height:100vh;color:var(--ink)}.topbar{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#111111eb;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.menu-toggle{border:1px solid var(--line-strong);cursor:pointer;background:#2b2b2b;border-radius:14px;justify-content:center;place-items:center;width:46px;height:46px;transition:transform .2s,box-shadow .2s;display:grid;box-shadow:0 8px 18px #00000057}.menu-toggle:hover{transform:translateY(-1px);box-shadow:0 12px 20px #00000073}.coffee-icon{filter:saturate(1.05)brightness(1.15);font-size:1.24rem;line-height:1}.search-wrap{flex:1}.account-btn{border:1px solid var(--line-strong);color:var(--ink);white-space:nowrap;cursor:pointer;background:#2b2b2b;border-radius:10px;padding:.62rem .8rem;font-size:.84rem}.account-btn:hover{background:#353535}.search-wrap input{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#2b2b2b;border-radius:11px;padding:.68rem .85rem;font-size:.93rem}.search-wrap input::placeholder{color:#bcae9f}.search-wrap input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #c8a27c40}.drawer-backdrop{z-index:49;background:#140c0652;border:0;position:fixed;inset:0}.drawer{border-right:1px solid var(--line);z-index:50;background:#171717;width:min(300px,85vw);height:100dvh;padding:1rem;position:fixed;top:0;left:0}.news-launch-btn{color:#fff;letter-spacing:.08em;cursor:pointer;background:linear-gradient(90deg,#ff2d55,#5ac8fa,#34c759,#fc0,#ff2d55) 0 0/300% 100%;border:0;border-radius:10px;padding:.62rem .66rem;font-size:.75rem;font-weight:700;animation:3.4s linear infinite rgbFlow;box-shadow:0 8px 16px #00000052}.news-launch-btn:hover{filter:brightness(1.08)}.drawer-close{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:8px;width:34px;height:34px;margin-left:auto}.drawer-nav{gap:.6rem;margin-top:1rem;display:grid}.drawer-nav button{text-align:left;border:1px solid var(--line);cursor:pointer;color:var(--ink);background:#2b2b2b;border-radius:10px;padding:.65rem .8rem}.drawer-nav button:hover{background:#353535}.hero-head{text-align:center;flex-direction:column;align-items:center;padding:3.2rem 1.25rem 1.8rem;display:flex}.hero-logo{filter:none;mix-blend-mode:normal;background:0 0;width:min(190px,42vw);height:auto}.hero-label{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);margin:.9rem 0 0;font-size:.78rem;font-weight:700}.hero-title{text-shadow:0 3px 14px #00000059;margin:.3rem 0 0;font-size:clamp(2.2rem,6vw,3.3rem);line-height:1.04}.hero-subtitle{max-width:590px;color:var(--ink-soft);margin:.7rem 0 0;font-size:clamp(1rem,2vw,1.12rem)}.hero-badges{flex-wrap:wrap;justify-content:center;gap:.45rem;max-width:920px;margin-top:1rem;display:flex}.hero-badges span{border:1px solid var(--line);color:var(--ink-soft);background:#2b2b2b;border-radius:999px;padding:.38rem .78rem;font-size:.82rem}.contact-actions{flex-wrap:wrap;justify-content:center;gap:.55rem;margin-top:1rem;display:flex}.contact-btn{color:var(--ink);border:1px solid var(--line-strong);background:#2b2b2b;border-radius:999px;padding:.48rem .95rem;font-size:.9rem;text-decoration:none;transition:background-color .2s,border-color .2s,transform .2s}.contact-btn:hover{border-color:var(--accent);background:#343434;transform:translateY(-1px)}@keyframes softPulse{0%,to{box-shadow:0 0 #c8a27c40}50%{box-shadow:0 0 0 8px #c8a27c00}}@keyframes mapGlow{0%,to{box-shadow:0 0 #c73a2d40}50%{box-shadow:0 0 0 8px #c73a2d00}}@keyframes rgbFlow{0%{background-position:0%}to{background-position:300%}}.call-btn{animation:2.6s ease-in-out infinite softPulse}.whatsapp-btn{color:#fff;background:#25d366;border-color:#25d366;animation:2.2s ease-in-out infinite softPulse}.whatsapp-btn:hover{background:#1fb65a;border-color:#1fb65a}.instagram-btn{color:#fff;background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4);border-color:#0000;animation:2.8s ease-in-out infinite mapGlow;box-shadow:0 0 #dd2a7b52}.instagram-btn:hover{filter:brightness(1.06)}.map-btn{color:#f8dbd8;border-color:#c73a2d;animation:2.4s ease-in-out infinite mapGlow}@media (prefers-reduced-motion:reduce){.call-btn,.whatsapp-btn,.instagram-btn,.map-btn,.news-launch-btn{animation:none}}.category-nav{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#111111f0;gap:.6rem;width:100%;padding:.88rem 1rem;display:flex;position:sticky;top:64px;overflow-x:auto}.category-link{white-space:nowrap;color:var(--ink);border:1px solid var(--line-strong);background:#2b2b2b;border-radius:999px;padding:.45rem .9rem;font-size:.9rem;text-decoration:none;transition:background-color .2s,border-color .2s}.category-link:hover{background:var(--accent-soft);border-color:var(--accent)}.menu-layout{width:100%;max-width:1140px;margin:0 auto;padding:1.45rem 1rem 2.7rem}.menu-section{margin-bottom:2.1rem}.section-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.95rem;display:flex}.section-head h2{margin:0;font-size:clamp(1.3rem,3vw,1.75rem)}.section-head span{color:var(--ink-soft);font-size:.9rem}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.empty-note{background:var(--surface);border:1px dashed var(--line-strong);color:var(--ink-soft);border-radius:12px;margin:0;padding:1rem 1.1rem}.menu-card{background:var(--surface);border:1px solid #2b2b2b;border-radius:16px;padding:.92rem;box-shadow:0 12px 26px #0000004d}.item-image{object-fit:cover;border:1px solid #4a3829;border-radius:11px;width:100%;height:175px;margin-bottom:.75rem}.item-top{justify-content:space-between;align-items:flex-start;gap:.7rem;display:flex}.item-top h3{margin:0;font-size:1.02rem;line-height:1.3}.item-price{color:var(--accent);white-space:nowrap;margin:0;font-weight:700}.item-description{color:#f2e9e4;margin:.58rem 0 0;font-size:.91rem}.item-bottom{justify-content:space-between;align-items:center;gap:.6rem;margin-top:.8rem;display:flex}.item-size{color:var(--ink-soft);font-size:.84rem}.item-tags{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.item-tag{color:#c8a27c;background:#27211b;border:1px solid #4a3b2d;border-radius:999px;padding:.2rem .45rem;font-size:.74rem}.content-page{text-align:center;max-width:950px;margin:0 auto;padding:1rem 1rem 2.4rem}.content-page h2{margin:0;font-size:clamp(1.65rem,4vw,2.05rem)}.content-page p{color:var(--ink-soft);margin:.84rem 0 0;line-height:1.6}.news-page{max-width:880px}.news-form{text-align:left;background:#1a1a1a;border:1px solid #4a3828;border-radius:14px;gap:.62rem;margin-top:1rem;padding:.95rem;display:grid}.news-push-box{text-align:left;background:#181818;border:1px solid #4a3828;border-radius:14px;margin-top:.9rem;padding:.8rem}.news-push-box p{margin:0}.news-push-box button{color:#fff4e9;cursor:pointer;background:linear-gradient(#3b2e22,#2b221a);border:1px solid #b58d64;border-radius:10px;margin-top:.62rem;padding:.5rem .82rem}.news-push-box button:disabled{opacity:.65;cursor:wait}.news-form h3{margin:0}.news-admin-onboarding{text-align:left;background:#18120d;border:1px solid #604831;border-radius:12px;margin-top:.75rem;padding:.75rem}.news-admin-onboarding h3{margin:0}.news-admin-onboarding ol{color:#e5d2bd;gap:.35rem;margin:.55rem 0 0;padding-left:1.1rem;display:grid}.news-form label{gap:.34rem;display:grid}.news-form textarea,.news-form input[type=file]{color:var(--ink);background:#121212;border:1px solid #5a4633;border-radius:10px;padding:.6rem .72rem}.news-form button{color:#fff4e9;cursor:pointer;background:linear-gradient(#3b2e22,#2b221a);border:1px solid #b58d64;border-radius:10px;justify-self:start;padding:.55rem .82rem}.news-form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.news-form-actions button:disabled{opacity:.6;cursor:not-allowed}.news-form button:disabled{opacity:.65;cursor:wait}.news-message{color:#f0c8a1;margin-top:.8rem}.news-toolbar{gap:.55rem;margin-top:.86rem;display:grid}.news-filter-group{flex-wrap:wrap;gap:.45rem;display:flex}.news-filter-group button{color:#eed8bf;cursor:pointer;background:#18130f;border:1px solid #7d6045;border-radius:999px;padding:.35rem .78rem}.news-filter-group button.is-active{color:#fff2e4;background:#2a1f16;border-color:#c4976c}.news-toolbar input{color:var(--ink);background:#121212;border:1px solid #5a4633;border-radius:10px;padding:.56rem .72rem}.news-toolbar input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #c8a27c33}.news-list{gap:.8rem;margin-top:.9rem;display:grid}.news-card{text-align:left;background:#171717;border:1px solid #433527;border-radius:14px;padding:.9rem;box-shadow:0 10px 22px #0000004d}.news-preview-card{border-style:dashed;border-color:#8d6743;margin-top:.75rem}.news-head{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.news-head span{color:#c0ad9b;font-size:.78rem}.news-pin-badge{letter-spacing:.06em;color:#ffd7ab;background:#2e2115;border:1px solid #9b6f3f;border-radius:999px;margin-left:.45rem;padding:.08rem .42rem;font-size:.68rem;display:inline-block}.news-text{color:#eadfd4;margin:.55rem 0 0}.news-media{object-fit:cover;background:#0e0e0e;border:1px solid #4b3c2f;border-radius:10px;width:100%;max-height:380px;margin-top:.68rem}.news-admin-actions{flex-wrap:wrap;gap:.45rem;margin-top:.72rem;display:flex}.news-admin-actions button{color:#f5e3d0;cursor:pointer;background:#221a14;border:1px solid #876447;border-radius:9px;padding:.42rem .66rem}.news-admin-actions button:hover{background:#2b2018}.news-edit-box{margin-top:.58rem}.news-edit-box textarea{width:100%;color:var(--ink);resize:vertical;background:#101010;border:1px solid #5a4633;border-radius:10px;padding:.6rem .72rem}.legal-page{max-width:820px}.legal-section{text-align:left;background:#1a1a1a;border:1px solid #3a3128;border-radius:12px;margin-top:.9rem;padding:.9rem}.legal-section code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.legal-section h3{color:var(--ink);margin:0;font-size:1.02rem}.legal-section p{color:var(--ink-soft);margin:.55rem 0 0;line-height:1.6}.cabinet-page{max-width:1080px}.auth-shell{max-width:520px;margin:1.2rem auto 0;position:relative}.auth-glow{z-index:0;background:radial-gradient(circle at 10% 10%,#c8a27c2e,#0000 40%),radial-gradient(circle at 90% 90%,#c73a2d26,#0000 44%);border-radius:20px;animation:6s ease-in-out infinite authAmbient;position:absolute;inset:-14px}.auth-form{z-index:1;text-align:left;background:linear-gradient(160deg,#1f1f1f,#171717 45%,#1b1a18);border:1px solid #4f3d2d;border-radius:18px;gap:.78rem;margin:0;padding:1.2rem;animation:.5s authRise;display:grid;position:relative;box-shadow:0 18px 38px #00000061}.auth-head{gap:.38rem;display:grid}.auth-kicker{text-transform:uppercase;letter-spacing:.12em;color:#d7b695;margin:0;font-size:.74rem}.auth-title{color:var(--ink);margin:0;font-size:clamp(1.3rem,3.5vw,1.65rem)}.auth-lead{color:#ddcfc0;margin:0;font-size:.92rem}.auth-mode-switch{background:#141414;border:1px solid #4a392a;border-radius:12px;grid-template-columns:1fr 1fr;gap:.45rem;padding:.3rem;display:grid}.auth-mode-btn{color:#d5c6b7;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;padding:.48rem .6rem;transition:all .22s}.auth-mode-btn.is-active{color:#f6ece3;background:#2a2119;border-color:#b89169;box-shadow:0 6px 14px #0000004d}.auth-form label{color:#eadbc9;gap:.34rem;font-size:.9rem;display:grid}.auth-form input,.admin-card input{color:var(--ink);background:#1a1a1a;border:1px solid #5a4633;border-radius:10px;padding:.62rem .75rem;transition:border-color .2s,box-shadow .2s}.auth-form input:focus,.admin-card input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #c8a27c33}.auth-submit,.cabinet-card button,.scan-camera{color:#fff4e9;cursor:pointer;background:linear-gradient(#3b2e22,#2b221a);border:1px solid #b58d64;border-radius:10px;padding:.62rem .8rem;transition:transform .2s,filter .2s,box-shadow .2s}.auth-submit:hover,.cabinet-card button:hover,.scan-camera:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 8px 16px #00000057}.auth-submit:disabled,.cabinet-card button:disabled{opacity:.62;cursor:wait;transform:none}.auth-switch{color:#d9c9b8;margin-top:-.15rem;background:0 0!important;border-color:#54453a!important}.auth-message{color:#f0c59c;margin:0;font-size:.88rem}.cabinet-dashboard{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.95rem;margin-top:1rem;display:grid}.welcome-card{background:radial-gradient(circle at 85% 20%,#c8a27c24,#0000 40%),linear-gradient(170deg,#201d1a,#191816 60%,#171513);border-color:#5a422b;grid-column:span 2}.welcome-kicker{text-transform:uppercase;letter-spacing:.12em;color:#d2af8e;margin:0;font-size:.74rem}.cabinet-card{text-align:left;background:linear-gradient(#1e1e1e,#181818);border:1px solid #443629;border-radius:16px;padding:1rem;animation:.45s cardEnter;box-shadow:0 14px 28px #00000059}.cabinet-card h3{margin:0}.cabinet-card p{margin:.62rem 0 0}.profile-card{grid-column:span 2}.profile-head{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.profile-kicker{text-transform:uppercase;letter-spacing:.11em;color:#d3b08f;margin:0;font-size:.72rem}.profile-email{color:#ccb8a5;word-break:break-word;margin:.45rem 0 0}.role-badge{border:1px solid #6a5743;border-radius:999px;padding:.28rem .72rem;font-size:.72rem;font-weight:700}.role-admin{color:#ffd5a9;background:#2d2015;border-color:#be8a57}.role-user{color:#d8d6cf;background:#232323}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.58rem;margin-top:.85rem;display:grid}.stat-box{background:#191919;border:1px solid #4e3f31;border-radius:11px;padding:.65rem}.stat-box span{color:#c4b3a3;font-size:.78rem;display:block}.stat-box strong{color:#f9ebe0;margin-top:.24rem;font-size:1.05rem;display:block}.progress-wrap{margin-top:.9rem}.progress-wrap span{color:#ccb7a2;margin-bottom:.38rem;font-size:.82rem;display:block}.progress-track{background:#2a241e;border:1px solid #534231;border-radius:999px;height:9px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#a47449,#d8aa7d);border-radius:999px;height:100%;transition:width .35s;box-shadow:0 0 15px #d8aa7d73}.danger-btn{margin-top:1rem;background:linear-gradient(#3a2622,#2f1f1d)!important;border-color:#9e5c4f!important}.qr-card,.client-card,.admin-card{align-self:stretch}.qr-card{text-align:center;justify-items:center;display:grid}.advanced-client-card,.guest-history-card{align-self:stretch}.qr-box{background:#fff;border-radius:12px;width:fit-content;margin-top:.75rem;margin-left:auto;margin-right:auto;padding:.72rem}.flip-card{perspective:900px;width:min(230px,100%);height:230px;margin:.7rem auto 0}.flip-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s;position:relative}.flip-card.is-flipped .flip-card-inner{transform:rotateY(180deg)}.flip-face{backface-visibility:hidden;background:#171717;border:1px solid #4d3d2f;border-radius:14px;place-items:center;display:grid;position:absolute;inset:0}.flip-back{align-content:center;padding:.9rem;transform:rotateY(180deg)}.flip-back p{color:#eadbcf;margin:.22rem 0}.token-preview{color:#bca28a;text-align:center;margin-top:.5rem;font-size:.78rem}.qr-actions{grid-template-columns:1fr 1fr;gap:.48rem;margin-top:.62rem;display:grid}.guest-action-message{color:#f0cdab;margin-top:.45rem;font-size:.82rem}.client-card-head{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.level-badge{border:1px solid #6a5743;border-radius:999px;padding:.22rem .66rem;font-size:.72rem;font-weight:700}.level-bronze{color:#f3ceaa;background:#3c2a1f}.level-silver{color:#ececf0;background:#2c2f35;border-color:#868c97}.level-gold{color:#ffe4b0;background:#3b2d10;border-color:#be8a35}.insight-grid{grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.72rem;display:grid}.insight-box{background:#171717;border:1px solid #4b3b2d;border-radius:10px;padding:.62rem}.insight-box span{color:#c5b3a2;font-size:.78rem;display:block}.insight-box strong{color:#f3e5d8;margin-top:.22rem;display:block}.monthly-goal-wrap{margin-top:.72rem}.monthly-goal-wrap span{color:#c8b5a2;margin-top:.35rem;font-size:.8rem;display:block}.feature-list{color:#dfd0c2;gap:.48rem;margin:.68rem 0 0;padding-left:1rem;display:grid}.admin-head{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.admin-head span{color:#f5c8be;border:1px solid #7d4d43;border-radius:999px;padding:.22rem .58rem;font-size:.74rem}.admin-card .scan-row{grid-template-columns:1fr auto;gap:.5rem;margin-top:.78rem;display:grid}.admin-onboarding{background:#18130f;border:1px solid #4f3b2a;border-radius:10px;margin-top:.7rem;padding:.62rem}.admin-onboarding p{color:#f0dbc5;margin:0;font-weight:600}.admin-onboarding ul{color:#dcc9b6;gap:.32rem;margin:.45rem 0 0;padding-left:1rem;display:grid}.scan-history{gap:.58rem;margin-top:.72rem;display:grid}.scan-item{background:#171717;border:1px solid #4b3b2d;border-radius:11px;padding:.65rem}.scan-item p{margin:.2rem 0;font-size:.86rem}.scan-camera{margin-top:.62rem}.qr-reader{border:1px solid var(--line);border-radius:12px;margin-top:.72rem;overflow:hidden}@keyframes authRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes authAmbient{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(1.01)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (width<=760px){.welcome-card,.profile-card{grid-column:span 1}.qr-actions,.insight-grid,.stats-grid,.admin-card .scan-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.auth-glow,.auth-form,.cabinet-card,.progress-fill,.flip-card-inner{transition:none;animation:none}}.about-page{text-align:left}.about-page h2,.about-page>p{text-align:center}.about-block{margin-top:1.35rem}.about-block h3{text-align:center;margin:0 0 .82rem;font-size:1.2rem}.about-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;display:grid}.about-card{border:1px solid var(--line);background:#1c1c1c;border-radius:13px;padding:.95rem;box-shadow:0 8px 16px #00000040}.about-card h4{margin:0;font-size:1rem}.about-card p{margin:.58rem 0 0;font-size:.92rem;line-height:1.5}.review-card span{color:#c5a98f;margin-top:.55rem;font-size:.85rem;display:inline-block}.order-page{padding-top:2rem;padding-bottom:3rem}.order-label{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;margin:0;padding:.32rem .82rem;font-size:.82rem;display:inline-block}.order-note{margin-top:.55rem;font-size:1.04rem;font-weight:500}.footer{border-top:1px solid var(--line);text-align:center;background:#141414e6;padding:1.9rem 1rem 2.25rem}.footer h2{margin:0 0 .7rem;font-size:1.3rem}.footer p{color:var(--ink-soft);margin:.2rem 0}.footer-actions{flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:.85rem;display:flex}.to-top{color:var(--ink);border-bottom:1px solid;margin-top:.9rem;text-decoration:none;display:inline-block}.legal-links{flex-wrap:wrap;justify-content:center;gap:.55rem;margin-top:1rem;display:flex}.legal-links button{border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;background:#2b2b2b;border-radius:999px;padding:.4rem .8rem}.legal-links button:hover{background:#343434}.copyright{color:#b9aca0;margin-top:.8rem;font-size:.82rem;line-height:1.45}@media (width<=640px){.topbar{padding-left:.75rem;padding-right:.75rem}.category-nav{padding-left:.7rem;padding-right:.7rem;top:62px}.hero-head{padding-top:2.35rem;padding-left:.9rem;padding-right:.9rem}.menu-layout{padding-left:.75rem;padding-right:.75rem}.hero-badges{gap:.35rem}.hero-badges span{font-size:.77rem}}
