body{margin:0;background:#F7F8FA}
*{box-sizing:border-box}
a{color:#279A4E}a:hover{color:#091530}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #091530;outline-offset:2px}
#reserva{scroll-margin-top:72px}
.m-bar{display:none}
@media (max-width:640px){
.root{padding-bottom:84px}
.hide-m{display:none !important}
.tag{font-size:10px !important;padding:0 10px !important}
.hero-in{padding:28px 20px 48px !important;gap:32px !important}
.h1{font-size:34px !important}
.sec{padding:56px 20px !important}
.esc-grid{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px !important;margin:0 -20px;padding:0 20px 4px;scrollbar-width:none}
.esc-card{flex:0 0 78%;scroll-snap-align:start}
.quals{grid-template-columns:1fr !important}
.photos-first{order:-1}
.m-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:20;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#FFFFFF;border-top:1px solid #E1E4E8;box-shadow:0 -4px 16px rgba(9,21,48,.08)}
}
html{scroll-behavior:smooth}
img{max-width:100%}
.car{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:18px}
.car::-webkit-scrollbar{display:none}
.slide{flex:0 0 86%;scroll-snap-align:start;aspect-ratio:4/5;padding:0;border:0;border-radius:18px;overflow:hidden;background:#C9C8CB;cursor:zoom-in}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.car-count{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:999px;background:rgba(9,21,48,.72);color:#FFFFFF;font-size:13px;font-weight:700}
.car-nav{position:absolute;right:calc(14% + 12px);bottom:12px;display:flex;gap:8px}
.round{width:44px;height:44px;border-radius:50%;border:0;background:#FFFFFF;box-shadow:0 2px 10px rgba(9,21,48,.18);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.bone-main{position:relative;display:block;width:100%;padding:0;border:0;border-radius:18px;overflow:hidden;background:#F2F4F6;cursor:zoom-in}
.bone-main img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block}
.zoom-hint{position:absolute;right:12px;bottom:12px;width:44px;height:44px;border-radius:50%;background:#091530;display:flex;align-items:center;justify-content:center}
.bthumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.bthumb{aspect-ratio:1/1;padding:0;border:1px solid #E1E4E8;border-radius:14px;overflow:hidden;background:#F2F4F6;cursor:pointer}
.bthumb[aria-pressed="true"]{border:2px solid #091530}
.bthumb img{width:100%;height:100%;object-fit:cover;display:block}
.fit-btn{height:48px;border-radius:14px;border:1px solid #E1E4E8;background:#FFFFFF;color:#091530;font:700 15px 'Inter',sans-serif;cursor:pointer}
.fit-btn[aria-pressed="true"]{background:#091530;color:#FFFFFF;border-color:#091530}
.inp:focus{outline:none;border:1.5px solid #39C266 !important;box-shadow:0 0 0 4px rgba(57,194,102,.12);background:#FFFFFF !important}
.inp[aria-invalid="true"]{border:1.5px solid #D94433 !important;box-shadow:0 0 0 4px rgba(217,68,51,.12)}
.pv-box{position:relative;min-height:460px;border-radius:14px;overflow:hidden;border:1px solid #E1E4E8;background:#FFFFFF;display:flex;flex-direction:column}
.pv-box.on{background:#85838A}
.pv-has{display:flex;flex-direction:column;flex:1}
.pv-has[hidden],.pv-empty[hidden]{display:none}
.pv-has img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.pv-chip{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:999px;background:rgba(9,21,48,.72);color:#FFFFFF;font-size:11px;font-weight:600}
.pv-panel{position:relative;margin-top:auto;padding:16px;background:rgba(9,21,48,.92);color:#FFFFFF;display:flex;flex-direction:column;gap:12px}
.pv-empty{flex:1;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}
tr.on{background:rgba(57,194,102,.16)}
.size-opt{height:48px;border-radius:14px;border:1px solid #E1E4E8;background:#F2F4F6;display:flex;align-items:center;justify-content:center;gap:6px;font-size:15px;font-weight:700;cursor:pointer}
.size-opt input{accent-color:#39C266;margin:0}
.size-opt:has(input:checked){border:1.5px solid #39C266;background:#FFFFFF;box-shadow:0 0 0 4px rgba(57,194,102,.12)}
.form-err{margin:0;color:#D94433;font-size:13px;font-weight:600}
.lb{position:fixed;inset:0;z-index:50;background:rgba(9,21,48,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px 12px 24px;outline:none}
.lb[hidden]{display:none}
.lb-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;cursor:pointer}
.lb-stage{width:100%;max-width:1100px;display:flex;align-items:center;justify-content:center;gap:12px}
.lb-media{flex:1 1 auto;min-width:0;display:flex;justify-content:center}
.lb-media img{display:block;max-width:100%;max-height:78vh;object-fit:contain;border-radius:14px}
.lb-cap{margin:0;color:#FFFFFF;font-size:14px;font-weight:600}
body.lb-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.qty-list{display:flex;flex-direction:column;gap:8px}
.qty-list[hidden],.pv-table[hidden]{display:none}
.qty-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:6px 6px 6px 16px;border:1px solid #E1E4E8;border-radius:14px;background:#F7F8FA}
.qty-row > strong{font-size:16px;font-weight:800}
.qty-row.has{border:1.5px solid #39C266;background:#FFFFFF;box-shadow:0 0 0 4px rgba(57,194,102,.12)}
.stepper{display:flex;align-items:center;gap:4px;flex-shrink:0}
.stepper button{width:44px;height:44px;border-radius:12px;border:1px solid #E1E4E8;background:#FFFFFF;font:700 20px 'Inter',sans-serif;color:#091530;cursor:pointer;line-height:1}
.stepper button:disabled{opacity:.4;cursor:default}
.stepper output{min-width:28px;text-align:center;font-size:16px;font-weight:800}
.fg-count:not(:empty){display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;margin-left:6px;padding:0 6px;border-radius:999px;background:#39C266;color:#091530;font-size:12px;font-weight:800}
.form-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:12px;border-top:1px solid #E1E4E8;font-size:15px}
.form-total strong{font-size:20px;font-weight:800}
