:root{--online-wine:#69192f;--online-wine-deep:#4c1024;--online-cream:#fff8ee;--online-text:#2e2228;--online-muted:#716268;--online-border:#ebdfd9}
*{box-sizing:border-box}
body{background:radial-gradient(circle at 90% 0,#f5e3df 0,transparent 33%),linear-gradient(180deg,#fffaf5,#f7f3f1 45%,#f7f3f1)!important;color:var(--online-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;padding-bottom:92px}
body>.navbar,body>nav.navbar,.topbar{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(13px);border-bottom:1px solid var(--online-border);box-shadow:0 6px 24px rgba(73,26,38,.06)!important;position:sticky;top:0;z-index:1050}
.navbar .container{min-height:65px}.navbar .logo{height:48px;max-width:78px;object-fit:contain}.online-brand{display:flex;align-items:center;gap:12px;min-width:0}.online-brand-copy{display:flex;flex-direction:column;line-height:1.1}.online-brand-copy strong{color:var(--online-wine);font-size:16px;font-weight:850;letter-spacing:-.025em}.online-brand-copy small{color:var(--online-muted);font-size:12px;margin-top:4px}
body>.container{max-width:1160px}body>.container h4,body>.container h5{font-weight:850!important;letter-spacing:-.03em;color:var(--online-text);margin-bottom:18px!important}
.online-hero{max-width:1160px;margin:22px auto 4px;padding:clamp(25px,4vw,44px);border-radius:28px;background:radial-gradient(circle at 84% 8%,rgba(255,229,187,.22),transparent 32%),linear-gradient(130deg,#4b1023,#801f39 64%,#a73148);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 20px 48px rgba(91,24,44,.16)}
.online-hero h1{font-size:clamp(27px,4vw,44px);line-height:1.08;letter-spacing:-.04em;font-weight:850;max-width:600px;margin:6px 0 12px;color:#fff}.online-hero p{max-width:560px;margin:0;color:#ffe6df}.online-hero-kicker{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#ffdfbb}.online-hero .btn{white-space:nowrap;border-radius:13px!important;background:#fff!important;color:var(--online-wine)!important;border:0!important;padding:12px 18px;font-weight:800}
.carousel{border-radius:22px;overflow:hidden;box-shadow:0 15px 38px rgba(73,28,40,.1)}.carousel-item img{max-height:340px!important;object-fit:cover}
#homeCategories{gap:12px!important;padding:4px 1px 12px!important;scrollbar-width:thin}#homeCategories .category-item{background:#fff;border:1px solid var(--online-border);border-radius:17px;padding:12px;min-width:104px;box-shadow:0 7px 22px rgba(78,35,42,.05);transition:transform .2s,border-color .2s}#homeCategories .category-item:hover{transform:translateY(-3px);border-color:#d5a4ab}#homeCategories .category-item img{border-radius:13px!important;width:70px!important;height:70px!important}#homeCategories .category-item small{display:block;margin-top:7px;font-weight:750;color:var(--online-text)}
#bestSellers{gap:12px!important;padding-bottom:10px}#bestSellers .best-seller-item{background:#fff;border:1px solid var(--online-border);border-radius:17px;padding:12px;min-width:130px;max-width:165px;text-align:left!important;box-shadow:0 7px 22px rgba(78,35,42,.05)}#bestSellers .best-seller-item img{width:100%!important;height:100px!important;border-radius:12px!important;margin-bottom:7px!important}#bestSellers .best-seller-item small:first-child{font-weight:750;color:var(--online-text)}
.card{border:1px solid var(--online-border)!important;border-radius:19px!important;overflow:hidden;box-shadow:0 10px 25px rgba(75,35,42,.055)!important;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(75,35,42,.1)!important}.card .card-body{padding:15px!important}.card-title,.card h6{font-weight:800;letter-spacing:-.02em;color:var(--online-text)}.card .product-img{height:175px!important;width:100%;object-fit:cover}.card .category-img{height:160px!important}.card .text-success{color:var(--online-wine)!important}.card .text-muted{color:var(--online-muted)!important}
.btn-primary,.btn-danger,.btn-success:not(.cart-btn.flash){background:var(--online-wine)!important;border-color:var(--online-wine)!important;color:#fff!important;border-radius:11px!important;font-weight:700}.btn-primary:hover,.btn-danger:hover,.btn-success:hover{background:var(--online-wine-deep)!important;border-color:var(--online-wine-deep)!important}.btn-outline-secondary{border-radius:10px!important}
.cart-btn{right:22px;bottom:82px!important;padding:12px 17px!important;box-shadow:0 13px 25px rgba(74,18,35,.2)}.bottom-nav{height:66px;left:0;right:0;bottom:0;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px);border-top:1px solid var(--online-border)!important;box-shadow:0 -5px 20px rgba(60,29,35,.045);z-index:1020}.bottom-nav a{font-size:12px!important;font-weight:650;color:var(--online-muted)!important;padding:10px 4px!important}.bottom-nav a i{display:block;font-size:18px;margin-bottom:4px}.bottom-nav a.active{color:var(--online-wine)!important;font-weight:800}
.modal-content{border-radius:20px!important;border:1px solid var(--online-border)}.form-control:focus,.form-select:focus{border-color:var(--online-wine)!important;box-shadow:0 0 0 3px rgba(105,25,47,.12)!important}
.mesa-banner{max-width:1160px;margin:17px auto 0;padding:13px 18px;border:1px solid #e5ccd0;border-radius:14px;background:#fff;color:var(--online-wine);display:flex;justify-content:space-between;align-items:center;gap:15px;box-shadow:0 6px 18px rgba(74,18,35,.05)}.mesa-banner strong{font-weight:800}.mesa-banner a{font-weight:700;color:var(--online-wine)}
.mesa-checkout .order-types{display:none}.mesa-checkout #tableFields select{background:#f8f3f1;color:var(--online-wine);opacity:1;font-weight:800}
@media(max-width:650px){.online-hero{margin:14px 12px 2px;border-radius:20px;align-items:start;flex-direction:column}.online-hero h1{font-size:29px}.online-hero .btn{width:100%;text-align:center}.navbar .container{min-height:60px}.online-brand-copy strong{font-size:14px}.online-brand-copy small{font-size:11px}.card .product-img{height:145px!important}.mesa-banner{margin:12px;padding:12px;flex-direction:column;align-items:start}.cart-btn{bottom:80px!important}body>.container{padding-inline:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Dencker Online UI v2 · referencia Restaurante BO, adaptada a la marca */
:root{--online-accent:#e5aa57;--online-accent-soft:#fff1dd;--online-surface:#ffffff;--online-surface-soft:#fffaf6;--online-shadow:0 18px 45px rgba(76,16,36,.10);--online-shadow-soft:0 9px 28px rgba(76,16,36,.075)}
body{background-color:#f8f3f0!important;background-image:radial-gradient(circle at 88% 2%,rgba(229,170,87,.14),transparent 25%),radial-gradient(circle at 5% 18%,rgba(105,25,47,.08),transparent 24%)!important}
body>.navbar,body>nav.navbar,.topbar{border-bottom:0;box-shadow:0 10px 36px rgba(76,16,36,.075)!important}
.navbar .container{max-width:1160px;padding-inline:20px}.navbar .social a{width:36px;height:36px;border:1px solid var(--online-border);border-radius:12px;display:grid;place-items:center;background:#fff;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.navbar .social a:hover{transform:translateY(-2px);border-color:#d4a7af;box-shadow:0 8px 18px rgba(76,16,36,.10)}
.online-hero{margin-top:28px;padding:34px 38px;border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 60px rgba(76,16,36,.22)}.online-hero .btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 10px 24px rgba(34,11,18,.18);transition:transform .18s ease,box-shadow .18s ease}.online-hero .btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(34,11,18,.24)}
.online-home body>.container h5,.online-categories body>.container h4{display:flex;align-items:center;gap:12px;font-size:1.28rem}.online-home body>.container h5:after,.online-categories body>.container h4:after{content:"";height:1px;flex:1;background:var(--online-border)}
.carousel{border:6px solid rgba(255,255,255,.92);border-radius:26px;box-shadow:var(--online-shadow)}.carousel-control-prev,.carousel-control-next{width:58px}.carousel-control-prev-icon,.carousel-control-next-icon{width:40px;height:40px;background-size:18px;border-radius:50%;background-color:rgba(76,16,36,.82)}
#homeCategories{gap:14px!important;padding:5px 2px 16px!important}#homeCategories .category-item{position:relative;min-width:120px;padding:10px 10px 13px;border-radius:22px;border-color:transparent;box-shadow:var(--online-shadow-soft);overflow:hidden}#homeCategories .category-item:focus-visible{outline:3px solid rgba(105,25,47,.22);outline-offset:2px}#homeCategories .category-item:hover{transform:translateY(-5px);border-color:#e4c7cc;box-shadow:0 16px 34px rgba(76,16,36,.12)}#homeCategories .category-item img{width:88px!important;height:88px!important;border-radius:17px!important}#homeCategories .category-item small{font-size:.78rem;line-height:1.25;margin-top:10px}
#bestSellers{gap:14px!important;padding:4px 2px 16px}#bestSellers .best-seller-item{min-width:154px;max-width:174px;border-color:transparent;border-radius:22px;padding:10px;box-shadow:var(--online-shadow-soft);transition:transform .18s ease,box-shadow .18s ease}#bestSellers .best-seller-item:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(76,16,36,.12)}#bestSellers .best-seller-item img{height:118px!important;border-radius:17px!important}#bestSellers .best-seller-item small{line-height:1.3}#bestSellers .best-seller-item .text-muted{display:inline-flex;margin-top:6px;padding:4px 8px;border-radius:999px;background:#edf8f1;color:#26744c!important;font-size:.7rem}
#productsGrid .card{border:0!important;border-radius:24px!important;box-shadow:var(--online-shadow-soft)!important;background:var(--online-surface);height:100%;isolation:isolate}#productsGrid .card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(76,16,36,.13)!important}#productsGrid .product-img{height:205px!important;border-radius:0!important;transition:transform .35s ease}#productsGrid .card:hover .product-img{transform:scale(1.025)}#productsGrid .card-body{display:flex;flex-direction:column;align-items:flex-start;min-height:174px;padding:17px!important}#productsGrid .card-title{font-size:1rem;line-height:1.25;margin-bottom:9px}#productsGrid .card-text{font-size:1.12rem;color:var(--online-wine)!important;margin-bottom:8px!important}#productsGrid .card .text-muted{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#f2f7f3;color:#427259!important;font-size:.72rem!important}#productsGrid .card .btn{width:100%;min-height:42px;margin-top:auto;border-radius:13px!important;box-shadow:0 8px 18px rgba(105,25,47,.17);transition:transform .18s ease,box-shadow .18s ease}#productsGrid .card .btn:hover{transform:translateY(-1px);box-shadow:0 11px 22px rgba(105,25,47,.23)}
.btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn-primary,.btn-danger,.btn-success:not(.cart-btn.flash){box-shadow:0 8px 18px rgba(105,25,47,.15)}.btn-outline-secondary{border-color:#d8cbc5!important;color:#594d52!important;background:#fff!important}.btn-outline-secondary:hover{background:#f7efea!important;color:var(--online-wine)!important;border-color:#d5aeb6!important}.cart-btn{width:62px;height:54px;border-radius:17px!important;display:flex;align-items:center;justify-content:center;gap:7px;background:var(--online-wine)!important;border:2px solid rgba(255,255,255,.8)!important}.cart-btn .badge{border-radius:8px}
.bottom-nav{left:50%!important;right:auto!important;bottom:12px!important;transform:translateX(-50%);width:min(calc(100% - 24px),1080px)!important;height:70px;border:1px solid rgba(235,223,217,.95)!important;border-radius:22px;background:rgba(255,255,255,.95)!important;box-shadow:0 18px 45px rgba(61,24,35,.16);overflow:hidden}.bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:68px;border-radius:17px;margin:0 4px;color:#74686d!important;transition:background .18s ease,color .18s ease,transform .18s ease}.bottom-nav a:hover{background:#fbf2ed;color:var(--online-wine)!important;transform:translateY(-1px)}.bottom-nav a.active{background:var(--online-accent-soft);color:var(--online-wine)!important}.bottom-nav a i{font-size:19px;margin-bottom:4px}
.online-categories>.container,.online-cart>.container,.online-company>.container{max-width:1080px!important}.online-categories .row .card{border:0!important;box-shadow:var(--online-shadow-soft)!important}.online-categories .category-img{height:210px!important;object-fit:cover}.online-categories .card-body{padding:17px!important}.online-categories .card-body h6{font-size:1rem}.online-categories .card-body .btn{width:100%;margin-top:9px!important}
.online-cart>.container{padding-top:8px}.online-cart>.container>h4{font-size:clamp(1.65rem,4vw,2.35rem);margin-bottom:24px!important}.online-cart>.container>.card{border:0!important;border-radius:24px!important;padding:16px!important;box-shadow:var(--online-shadow-soft)!important}.online-cart .product-img{width:112px;height:112px;border-radius:18px!important}.online-cart .card h6{font-size:1.08rem;margin-bottom:5px}.online-cart .prep-detail{padding:5px 9px;margin-top:5px;border-radius:10px;background:#faf4ef;color:#6f5b62}.online-cart .input-group{width:142px!important;background:#f8f2ed;border-radius:13px;padding:3px}.online-cart .input-group .btn{min-width:38px;min-height:36px;border:0!important;background:transparent!important;color:var(--online-wine)!important;box-shadow:none!important}.online-cart .input-group .form-control{border:0;background:transparent;font-weight:800}.online-cart textarea{min-height:46px;border:1px solid var(--online-border);border-radius:12px;padding:10px 12px;resize:vertical}.online-cart textarea:focus{outline:0;border-color:#bd8290;box-shadow:0 0 0 3px rgba(105,25,47,.10)}.online-cart .card>.d-flex>.btn-danger{align-self:flex-start;border-radius:12px!important}.online-cart>.container>h5.text-end{margin-top:22px!important;padding:20px 22px;border-radius:18px;background:#fff;border:1px solid var(--online-border);box-shadow:var(--online-shadow-soft);font-size:1.35rem;color:var(--online-wine)}.online-cart>.container>a.btn-success{min-height:54px;border-radius:16px!important;font-size:1.02rem}
.online-company>.container{margin-top:30px!important;padding:28px!important;border-radius:26px;background:#fff;border:1px solid var(--online-border);box-shadow:var(--online-shadow)}.online-company>.container>h4{font-size:clamp(1.65rem,4vw,2.25rem);color:var(--online-wine)}.online-company>.container>p{font-size:1rem;line-height:1.75;color:#615258}.online-company .map-container{height:330px;border-radius:20px!important;border:6px solid #fff;box-shadow:var(--online-shadow-soft)}.online-company>.container>.btn{min-height:50px;border:0;background:var(--online-wine);color:#fff;border-radius:15px!important;font-weight:800}
.online-checkout .card-panel{border:0;border-radius:24px;box-shadow:var(--online-shadow)}.online-checkout .section{padding:26px}.online-checkout .section-title .icon{width:44px;height:44px;border-radius:14px;background:var(--online-accent-soft);color:var(--online-wine)}.online-checkout .order-type span{min-height:56px;border-radius:16px}.online-checkout .order-type input:checked+span{background:var(--online-accent-soft);border-color:#c98b9a;box-shadow:0 0 0 3px rgba(105,25,47,.08)}.online-checkout .form-control,.online-checkout .form-select{min-height:48px;border-radius:14px}.online-checkout .summary-head{padding:24px;background:var(--online-wine)}.online-checkout .btn-pay{min-height:54px;border-radius:16px;box-shadow:0 10px 24px rgba(105,25,47,.20)}.online-checkout .qr-panel{border-radius:22px;background:var(--online-surface-soft)}
@media(max-width:767px){body{padding-bottom:96px}.online-hero{padding:27px 23px}.online-hero p{font-size:.94rem}.carousel{border-width:4px}.online-home body>.container h5,.online-categories body>.container h4{font-size:1.12rem}#productsGrid .product-img{height:158px!important}#productsGrid .card-body{padding:13px!important;min-height:166px}#productsGrid .card-title{font-size:.91rem}#productsGrid .card-text{font-size:1rem}.online-categories .category-img{height:145px!important}.online-cart>.container>.card>.d-flex{align-items:flex-start!important;flex-wrap:wrap}.online-cart .product-img{width:88px;height:88px}.online-cart .card>.d-flex>div[style]{min-width:calc(100% - 108px)}.online-cart .card>.d-flex>.btn-danger{margin-left:108px!important;margin-top:10px}.online-company>.container{margin:16px 12px 0!important;padding:20px!important}.online-company .map-container{height:270px}.bottom-nav{bottom:8px!important;height:68px}.bottom-nav a{min-width:0!important;font-size:11px!important;margin:0 2px}.cart-btn{right:16px!important;bottom:88px!important}.online-checkout .section{padding:19px}}

/* Confirmación del pedido */
.online-success{background:linear-gradient(180deg,#fff9f2 0,#f6efec 100%)!important;color:var(--online-ink,#2d2227)}
.online-success .navbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(12px);border-bottom:1px solid var(--online-border,#eadbd5);box-shadow:none!important}
.online-success .confirmation-card{max-width:760px;margin:28px auto;background:#fff;border:1px solid var(--online-border,#eadbd5);border-radius:24px;padding:clamp(20px,4vw,38px);box-shadow:0 20px 55px rgba(76,27,42,.12)}
.online-success #ticket{border-radius:18px!important;border:1px solid var(--online-border,#eadbd5)!important;overflow:hidden;box-shadow:none!important}
.online-success .badge-ticket{border-radius:999px;padding:.62rem .9rem;font-weight:800;letter-spacing:.02em}
.online-success .btn{border-radius:13px!important;min-height:44px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:7px}
.online-success .btn-dark{background:var(--online-wine,#711a32)!important;border-color:var(--online-wine,#711a32)!important}
.online-success .btn-success{background:#17834f!important;border-color:#17834f!important}
