

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--bg:#100e0b;--panel:#191612;--panel2:#211d17;--cream:#f4efe4;--muted:#aaa294;--gold:#d5aa62;--gold2:#f0cf90;--line:rgba(224,193,133,.18);--green:#a8b77a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:'DM Sans',sans-serif}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}.top{height:82px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07);position:sticky;top:0;background:rgba(16,14,11,.92);backdrop-filter:blur(16px);z-index:10}.brand{display:flex;align-items:center;gap:11px;font:600 25px 'Playfair Display',serif;letter-spacing:.02em}.brand img{width:52px;height:52px;object-fit:cover;border-radius:50%;border:1px solid var(--gold)}.brand small{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:.16em;color:var(--muted);margin-top:4px}.gold{color:var(--gold)}nav{display:flex;gap:30px;align-items:center;font-size:13px;color:#d8d1c5}nav a:hover{color:var(--gold2)}nav button{border:1px solid var(--line);background:transparent;color:var(--cream);padding:10px 14px;border-radius:30px;cursor:pointer}nav button b{background:var(--gold);color:#20170c;padding:2px 7px;border-radius:99px;margin-left:6px}.admin-open{font-size:18px;padding:7px 10px}.hero{min-height:560px;display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:6vw;padding:70px max(8vw,32px) 80px;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:1;max-width:590px}.eyebrow{font-size:10px;letter-spacing:.22em;color:var(--gold);font-weight:700}.hero h1,.reserve h2{font:500 clamp(44px,5vw,70px)/1.08 'Playfair Display',serif;margin:22px 0}.hero h1 em,.intro h2 em,.reserve h2 em,.section-head h2 em{color:var(--gold);font-weight:500}.hero-copy>p:not(.eyebrow){color:#bcb5aa;line-height:1.8;max-width:460px}.hero-actions{display:flex;gap:12px;margin:30px 0 38px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 20px;border:0;border-radius:3px;font-weight:700;font-size:12px;cursor:pointer}.gold-btn{background:var(--gold);color:#21180e}.gold-btn:hover{background:var(--gold2)}.outline-btn{border:1px solid var(--line);color:var(--cream)}.hero-meta{display:flex;gap:24px;color:var(--muted);font-size:11px}.hero-image{position:relative;z-index:1;height:410px;max-width:450px;width:100%;justify-self:center}.hero-image:before{content:'';position:absolute;inset:-13px 13px 13px -13px;border:1px solid rgba(213,170,98,.46);z-index:-1}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:top;border:8px solid #1b1711;filter:saturate(.78)}.image-caption{position:absolute;bottom:20px;left:20px;right:20px;padding:14px;background:rgba(12,10,8,.85);font:16px 'Playfair Display',serif}.image-caption span{float:right;color:var(--gold)}.hero-orb{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(140,91,35,.12),transparent 70%);right:24%;top:-45%}.intro{text-align:center;padding:84px 24px 78px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(110deg,#16130f,#20190f,#16130f)}.intro h2,.section-head h2{font:500 clamp(34px,4vw,48px) 'Playfair Display',serif;margin:14px 0}.intro>p{color:var(--muted);max-width:600px;margin:0 auto;line-height:1.7}.feature-row{max-width:930px;margin:45px auto 0;display:grid;grid-template-columns:repeat(3,1fr);text-align:left;gap:30px}.feature-row div{border-left:1px solid var(--gold);padding-left:20px;display:flex;flex-direction:column;gap:8px}.feature-row b{font:italic 20px 'Playfair Display';color:var(--gold)}.feature-row strong{font:18px 'Playfair Display'}.feature-row span{font-size:12px;color:var(--muted)}.menu-section{padding:84px max(7vw,26px) 95px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.section-head h2{margin-bottom:0}.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filter{color:#c9c1b4;background:transparent;border:1px solid var(--line);border-radius:99px;padding:9px 14px;cursor:pointer;font-size:11px}.filter.active,.filter:hover{background:var(--gold);color:#1b140c;border-color:var(--gold)}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.product{background:var(--panel);border:1px solid rgba(255,255,255,.055);display:flex;min-height:148px;overflow:hidden;transition:.2s}.product:hover{border-color:rgba(213,170,98,.5);transform:translateY(-2px)}.product-photo{width:128px;min-width:128px;background:linear-gradient(140deg,#282118,#15120e);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:29px;overflow:hidden}.product-photo img{width:100%;height:100%;object-fit:cover}.product-info{padding:17px 14px;display:flex;flex-direction:column;flex:1}.product-info small{color:var(--gold);font-size:9px;letter-spacing:.13em;text-transform:uppercase}.product-info h3{font:17px 'Playfair Display',serif;margin:6px 0}.product-info p{font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-actions{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.price{font-weight:700;color:var(--gold2)}.add{background:transparent;border:1px solid var(--line);color:var(--cream);width:31px;height:31px;cursor:pointer;font-size:19px}.add:hover{background:var(--gold);color:#21180e}.reserve{padding:78px max(8vw,28px);background:linear-gradient(100deg,#20190f,#17130f);display:grid;grid-template-columns:1fr .9fr;gap:8vw;align-items:center}.reserve h2{font-size:clamp(38px,4vw,55px)}.reserve>div>p{color:var(--muted);line-height:1.7;max-width:400px}.reserve-contact{display:flex;flex-direction:column;gap:12px;color:#d3c9b8;font-size:12px;margin-top:30px}.reserve form{padding:28px;background:#12100d;border:1px solid var(--line)}.reserve form h3{font:22px 'Playfair Display';margin:0 0 21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label,.drawer label{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#c5bcad}.form-grid input,.form-grid select,.form-grid textarea,.drawer input,.drawer textarea,.admin-card input,.admin-card textarea,.admin-card select{width:100%;padding:11px;background:#1c1914;color:var(--cream);border:1px solid var(--line);outline:none;border-radius:2px}.form-grid input:focus,.form-grid textarea:focus{border-color:var(--gold)}.wide{grid-column:1/-1}.reserve form>.btn{width:100%;margin-top:17px}.reserve form>small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:12px}footer{padding:38px max(6vw,25px) 20px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:25px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}footer>div:not(.brand){display:flex;flex-direction:column;gap:9px}footer strong{color:var(--cream);font:16px 'Playfair Display';margin-bottom:5px}.footer-brand{align-self:start}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px;margin:8px 0 0;font-size:10px}.scrim{position:fixed;inset:0;background:#0009;z-index:20;opacity:0;pointer-events:none;transition:.25s}.scrim.show{opacity:1;pointer-events:auto}.drawer{position:fixed;z-index:21;right:0;top:0;bottom:0;width:min(440px,100%);background:#15120e;transform:translateX(102%);transition:.3s;display:flex;flex-direction:column;padding:25px}.drawer.show{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}.drawer-head h2{font:30px 'Playfair Display';margin:5px 0}.x{border:0;background:transparent;color:var(--cream);font-size:29px;cursor:pointer}.cart-items{overflow:auto;flex:1;padding:10px 0}.cart-row{padding:15px 0;border-bottom:1px solid var(--line)}.cart-row-top{display:flex;justify-content:space-between;gap:10px}.cart-row h4{font:16px 'Playfair Display';margin:0}.cart-row p{font-size:10px;color:var(--muted);margin:6px 0}.cart-row button{background:none;border:0;color:var(--gold);cursor:pointer}.qty{display:flex;gap:10px;align-items:center;margin-top:8px}.qty button{border:1px solid var(--line);width:24px;height:24px}.cart-bottom{border-top:1px solid var(--line);padding-top:14px}.total-line{display:flex;justify-content:space-between;font-size:14px}.total-line b{font-size:19px;color:var(--gold)}.cart-bottom>p{font-size:10px;color:var(--muted);line-height:1.5}.cart-bottom label{margin:10px 0}.full{width:100%}.modal{position:fixed;inset:0;z-index:30;display:none;align-items:center;justify-content:center;padding:18px;background:#000a}.modal.show{display:flex}.modal-card{position:relative;background:#181510;border:1px solid var(--line);padding:29px;width:min(560px,100%);max-height:90vh;overflow:auto}.modal-card>.x{position:absolute;right:12px;top:7px}.detail-category{color:var(--gold);font-size:10px;letter-spacing:.2em}.modal-card h2{font:32px 'Playfair Display';margin:10px 30px 8px 0}.modal-card p{font-size:13px;color:var(--muted);line-height:1.6}.ingredient-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.ingredient-list label{font-size:12px;color:#ddd;display:flex;gap:8px;align-items:center}.ingredient-list input{accent-color:var(--gold)}.modal-card textarea{width:100%;background:#201c16;color:white;border:1px solid var(--line);padding:11px}.detail-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.admin-card{width:min(900px,100%);padding:32px}.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.admin-tabs button,.secondary{background:#252017;border:1px solid var(--line);color:var(--cream);padding:9px 12px;cursor:pointer}.admin-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-layout label{font-size:11px;display:flex;flex-direction:column;gap:7px;margin-bottom:12px;color:#c8beae}.admin-layout .fullrow{grid-column:1/-1}.admin-list{max-height:440px;overflow:auto}.admin-item{padding:10px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font-size:12px}.admin-item button{background:none;color:var(--gold);border:0;cursor:pointer}.admin-table{width:100%;border-collapse:collapse;font-size:11px}.admin-table td,.admin-table th{text-align:left;padding:9px;border-bottom:1px solid var(--line);vertical-align:top}.admin-table select{padding:6px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;transition:.2s;background:var(--gold);color:#21180e;padding:13px 20px;z-index:60;font-weight:700;font-size:12px}.toast.show{opacity:1;transform:translate(-50%,0)}.empty{color:var(--muted);text-align:center;padding:45px 10px;font-size:13px}.login-box{max-width:380px;margin:30px auto}.login-box input{margin:12px 0}.login-box .btn{width:100%}.note-inline{color:var(--muted);font-size:10px}@media(max-width:950px){.products{grid-template-columns:repeat(2,1fr)}.hero{padding-left:6vw;padding-right:6vw}.reserve{gap:4vw}nav{gap:17px}}@media(max-width:680px){.top{height:68px;padding:0 16px}.brand{font-size:20px}.brand img{width:42px;height:42px}nav{gap:9px}nav>a{display:none}nav button{padding:8px 10px}.hero{grid-template-columns:1fr;padding:60px 25px 55px;gap:38px}.hero h1{font-size:48px}.hero-image{height:320px;max-width:380px}.hero-meta{flex-direction:column;gap:9px}.feature-row{grid-template-columns:1fr;max-width:360px;gap:20px}.menu-section{padding:62px 18px}.section-head{align-items:start;flex-direction:column;gap:20px}.filters{justify-content:flex-start}.products{grid-template-columns:1fr}.product-photo{width:110px;min-width:110px}.reserve{grid-template-columns:1fr;padding:60px 22px;gap:35px}.reserve form{padding:20px}.form-grid{gap:10px}footer{grid-template-columns:1fr 1fr;padding:32px 22px}.footer-brand{grid-column:1/-1}.copyright{grid-column:1/-1}.admin-layout{grid-template-columns:1fr}.admin-layout .fullrow{grid-column:auto}.admin-card{padding:25px 17px}.admin-table{font-size:9px}.admin-table td,.admin-table th{padding:5px}.drawer{padding:20px}}
.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:18px 0}.qr-ticket{background:#f8f3e8;color:#17130e;padding:12px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:6px;break-inside:avoid}.qr-ticket img{width:130px;height:130px}.qr-ticket small{font-size:10px}.qr-grid>.btn{grid-column:1/-1}
@media print{body *{visibility:hidden!important}.qr-grid,.qr-grid *{visibility:visible!important}.qr-grid{position:absolute;left:0;top:0;width:100%;grid-template-columns:repeat(4,1fr);gap:8mm}.qr-ticket{border:1px solid #222;padding:5mm}.qr-ticket img{width:32mm;height:32mm}.qr-grid>.btn{display:none!important}}
#qrCartBar[hidden]{display:none!important}.qr-mode{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.qr-mode .top{height:64px;padding:0 14px}.qr-mode .brand{font-size:18px}.qr-mode .brand img{width:38px;height:38px}.qr-mode .brand small,.qr-mode .desktop-link,.qr-mode .cart-open{display:none}.qr-mode nav{gap:8px}.qr-mode #language{padding:7px}.qr-mode .table-pill{display:inline-flex;align-items:center;border:1px solid var(--gold);border-radius:30px;padding:7px 10px;color:var(--gold2);font-size:11px;font-weight:700}.qr-mode .hero,.qr-mode .intro,.qr-mode .reserve,.qr-mode footer{display:none}.qr-mode main{padding-top:0}.qr-mode .menu-section{padding:20px 14px 35px}.qr-mode .section-head{margin-bottom:14px;gap:12px}.qr-mode .section-head .eyebrow{font-size:9px}.qr-mode .section-head h2{font-size:29px;margin-top:7px}.qr-mode .filters{width:100%;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:2px 0 7px;scrollbar-width:none}.qr-mode .filters::-webkit-scrollbar{display:none}.qr-mode .filter{white-space:nowrap;padding:8px 12px}.qr-mode .category-banner{height:120px;margin:7px 0 14px;border-radius:10px}.qr-mode .category-banner>div{left:16px;bottom:13px}.qr-mode .category-banner h3{font-size:24px;margin:5px 0}.qr-mode .products{grid-template-columns:1fr;gap:10px}.qr-mode .product{min-height:112px;border-radius:10px}.qr-mode .product-photo{width:104px;min-width:104px}.qr-mode .product-info{padding:12px 11px}.qr-mode .product-info h3{font-size:16px}.qr-mode .product-info p{font-size:11px;-webkit-line-clamp:2;margin-bottom:7px}.qr-mode .add{width:35px;height:35px;border-radius:50%;background:var(--gold);color:#21180e;border:0}.qr-cart-bar{position:fixed;z-index:15;bottom:calc(12px + env(safe-area-inset-bottom));left:14px;right:14px;min-height:54px;border:0;border-radius:12px;background:var(--gold);color:#21180e;display:flex;align-items:center;gap:12px;padding:0 16px;font-weight:700;box-shadow:0 6px 24px #0008}.qr-cart-bar b{margin-left:auto;font-size:16px}.qr-cart-count{background:#21180e;color:var(--gold2);border-radius:20px;min-width:26px;padding:4px 8px;font-size:11px;text-align:center}.qr-mode .scrim{z-index:19}.qr-mode .drawer{z-index:20}@media(min-width:681px){.qr-mode .menu-section{max-width:880px;margin:0 auto}.qr-mode .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
#language{background:#191612;color:var(--gold2);border:1px solid var(--line);padding:8px;border-radius:3px}.category-banner{height:190px;position:relative;margin:22px 0 24px;overflow:hidden;background:#15120e}.category-banner img{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:brightness(.68)}.category-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,8,6,.82),transparent 80%)}.category-banner>div{position:absolute;z-index:1;left:28px;bottom:22px}.category-banner span{color:var(--gold2);font-size:10px;letter-spacing:.2em;text-transform:uppercase}.category-banner h3{font:32px 'Playfair Display';margin:8px 0}.ingredient-list{display:flex;flex-direction:column;gap:0}.ingredient-counter{display:grid;grid-template-columns:1fr auto 75px;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.ingredient-counter>div{display:flex;align-items:center;gap:10px}.ingredient-counter button{width:31px;height:31px;border:1px solid var(--line);background:#201c16;color:var(--cream);font-size:18px;cursor:pointer}.ingredient-counter button:hover{background:var(--gold);color:#20180f}.ingredient-counter small{color:var(--gold);text-align:right}.ingredient-help{font-size:11px!important;color:var(--muted)}.order-confirm{text-align:center;padding:22px 0}.order-code{display:inline-block;font:700 40px monospace;letter-spacing:.12em;color:var(--gold2);border:1px dashed var(--gold);padding:14px 24px;margin:18px}.order-confirm p{max-width:450px;margin:12px auto}.order-confirm .btn{margin:14px}.order-wa{display:block;margin:10px auto;color:var(--gold2);font-size:12px;text-decoration:underline}


/* QR customer experience: mobile-first, independent of desktop landing */
.qr-mode,.qr-mode body{width:100%;min-width:0;max-width:100%;overflow-x:hidden}
.qr-mode .table-pill:not([hidden]){display:inline-flex}
.qr-mode .product-photo img{display:block;width:100%;height:100%;object-fit:cover}
.qr-mode .product-photo{height:112px;flex:0 0 104px}
.qr-mode .category-banner img{display:block}
.qr-mode .modal.show{background:rgba(0,0,0,.82)}
.qr-mode .modal-card{width:min(100%,480px);max-height:calc(100dvh - 28px);padding:24px 18px 18px;border-radius:14px}
.qr-mode .modal-card h2{font-size:27px}
.qr-mode .ingredient-counter{grid-template-columns:minmax(0,1fr) auto 55px;gap:7px;font-size:12px}
.qr-mode .ingredient-counter button{width:36px;height:36px;border-radius:8px}
.qr-mode .ingredient-list{margin:12px 0;gap:4px}
.qr-mode .modal-card textarea{min-height:44px}
.qr-mode .detail-bottom .btn{padding:12px 13px}
@media(max-width:680px){.qr-mode .top{height:58px;padding:0 12px}.qr-mode .brand{font-size:18px}.qr-mode .brand img{width:36px;height:36px}.qr-mode nav{margin-left:auto}.qr-mode .menu-section{width:100%;padding:13px 12px 32px}.qr-mode .section-head{gap:9px}.qr-mode .section-head h2{font-size:26px}.qr-mode .category-banner{height:104px;margin:5px 0 11px}.qr-mode .products{grid-template-columns:minmax(0,1fr)}.qr-mode .product{min-height:105px}.qr-mode .product-photo{height:105px;flex-basis:96px;width:96px;min-width:96px}.qr-mode .product-info{min-width:0;padding:10px}.qr-mode .product-info h3{font-size:15px}.qr-mode .product-info p{font-size:10px}.qr-mode .add{flex:0 0 36px}}

.qr-mode .detail-photo{display:block;width:100%;height:clamp(145px,28vh,220px);object-fit:cover;border-radius:9px;margin:0 0 15px}.qr-mode .modal-card{padding-top:18px}

.fixed-ingredient{display:inline-block;padding:6px 9px;border:1px solid var(--line);border-radius:99px;color:var(--gold2);font-size:10px;font-weight:700;white-space:nowrap}.primary-ingredient>span:first-child{font-weight:700}

.product{cursor:pointer}

/* En mesa: abrir directamente en categorías y platos */
.qr-mode .menu-section{padding-top:8px}
.qr-mode .section-head{position:sticky;top:64px;z-index:8;display:block;margin:0 -2px 8px;padding:7px 2px;background:var(--bg)}
.qr-mode .section-head>div:first-child,.qr-mode .category-banner{display:none}
.qr-mode .filters{justify-content:flex-start;gap:7px;padding:0 0 4px}
.qr-mode .filter{font-size:11px;padding:8px 12px}
@media(max-width:680px){.qr-mode .section-head{top:58px;margin:0;padding:6px 0;background:var(--bg)}.qr-mode .menu-section{padding-top:5px}.qr-mode .products{padding-top:3px}}

.order-mode-notice{margin:12px 0;padding:11px 12px;border:1px solid var(--line);border-radius:8px;color:var(--gold2);background:#201a11;font-size:12px;line-height:1.45}

.admin-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-head-actions a{display:inline-flex;align-items:center;text-decoration:none}
@media(max-width:520px){.admin-head{align-items:flex-start;gap:12px}.admin-head-actions{justify-content:flex-end}.admin-head-actions a,.admin-head-actions button{font-size:11px;padding:8px}}


/* High contrast for customer order confirmation buttons */
.order-confirm .order-wa{background:var(--gold);color:#21180e!important;border:2px solid var(--gold2);font-weight:800;text-decoration:none;text-shadow:none;min-height:54px}
.order-confirm .order-wa:hover,.order-confirm .order-wa:focus{background:var(--gold2);color:#17130e!important}
.order-confirm #closeConfirm{background:#211d17!important;color:#fff!important;border:2px solid var(--gold2)!important;min-width:120px;min-height:50px;font-weight:700}
.order-confirm #closeConfirm:hover,.order-confirm #closeConfirm:focus{background:var(--gold)!important;color:#17130e!important}
