/* One viewport-level capsule across mobile, tablet and desktop. */
html { scroll-padding-top:110px; scroll-padding-bottom:100px; }
body { padding-bottom:calc(100px + env(safe-area-inset-bottom,0px)); }
.page-shell { padding-top:env(safe-area-inset-top,0px); }
.floating-header {
 position:fixed; z-index:18; top:calc(16px + env(safe-area-inset-top,0px)); left:50%; transform:translateX(-50%);
 display:flex; align-items:center; gap:28px; width:min(1100px,calc(100% - 48px)); min-height:76px; padding:12px 18px 12px 28px;
 color:var(--cream); background:rgb(20 18 17 / .9); border:1px solid rgb(246 242 232 / .17); border-radius:999px;
 box-shadow:0 8px 32px rgb(0 0 0 / .2); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
 transition:background .2s,border-color .2s,box-shadow .2s;
}
.floating-header.is-scrolled { background:rgb(20 18 17 / .96); border-color:rgb(246 242 232 / .24); box-shadow:0 12px 40px rgb(0 0 0 / .32); }
.floating-brand { display:block; flex-shrink:0; border-radius:8px; }
.floating-brand img { width:193px; height:auto; }
.floating-nav { display:flex; align-items:center; gap:28px; margin-left:auto; }
.floating-nav a { color:var(--cream); font-size:14px; font-weight:500; text-decoration:none; white-space:nowrap; padding-block:10px; }
.floating-nav a:hover { color:var(--red); }
.floating-header-cta { display:flex; align-items:center; justify-content:center; flex-shrink:0; min-height:48px; padding:12px 26px; color:#fcf6f0; background:var(--button); border:1px solid #ed161f; border-radius:999px; font-size:14px; font-weight:700; text-decoration:none; white-space:nowrap; }
.floating-header-cta:hover,.floating-checkout:hover { background:#c20b13; }
.floating-menu-trigger { display:none; flex-shrink:0; width:44px; height:44px; padding:2px; border:0; border-radius:50%; background:transparent; }
.floating-menu-trigger img { width:40px; height:40px; }
.floating-checkout {
 position:fixed; z-index:18; bottom:calc(18px + env(safe-area-inset-bottom,0px)); left:50%; transform:translateX(-50%);
 display:flex; align-items:center; justify-content:center; gap:12px; width:min(420px,calc(100% - 32px)); min-height:62px; padding:16px 24px;
 background:var(--button); border:1px solid #ed161f; border-radius:999px; color:#fcf6f0; text-transform:uppercase; text-decoration:none;
 font-size:15px; font-weight:700; line-height:1.2; letter-spacing:-.3px; box-shadow:0 8px 32px rgb(0 0 0 / .38),0 0 0 5px rgb(0 0 0 / .18);
 transition:background .2s,box-shadow .2s;
}
.floating-checkout > img { width:28px; height:auto; flex-shrink:0; }
.floating-checkout:focus-visible,.floating-header :focus-visible { outline-color:var(--cream); }
.floating-header a,.floating-header button,.floating-checkout { scroll-margin-block:120px; }
.skip-link { z-index:25; }
.menu-panel { top:calc(100px + env(safe-area-inset-top,0px)); right:24px; }
#inicio [data-node-id="61:21"],#inicio [data-node-id="61:27"] { display:none; }
@media (min-width:600px) { .wide-hero { padding-top:136px; } }
@media (max-width:899px) {
 .floating-header { width:min(720px,calc(100% - 32px)); min-height:68px; padding:8px 10px 8px 20px; gap:12px; }
 .floating-brand img { width:155px; }
 .floating-nav { display:none; }
 .floating-header-cta { margin-left:auto; min-height:44px; padding:12px 20px; font-size:13px; }
 .floating-menu-trigger { display:block; }
 .menu-panel { top:calc(96px + env(safe-area-inset-top,0px)); right:16px; }
}
@media (min-width:600px) and (max-width:899px) { .wide-hero { padding-top:126px; } }
@media (max-width:599px) {
 .floating-header { top:calc(12px + env(safe-area-inset-top,0px)); width:min(536px,calc(100% - 24px)); min-height:60px; padding:7px 8px 7px 14px; gap:8px; }
 .floating-brand img { width:clamp(98px,29vw,136px); }
 .floating-header-cta { min-height:40px; padding:10px 14px; font-size:12px; }
 .floating-menu-trigger { width:38px; height:38px; padding:0; }
 .floating-menu-trigger img { width:38px; height:38px; }
 .floating-checkout { width:calc(100% - 28px); max-width:420px; bottom:calc(14px + env(safe-area-inset-bottom,0px)); min-height:58px; padding:16px 18px; gap:10px; font-size:13px; }
 .floating-checkout > img { width:25px; }
 .menu-panel { top:calc(84px + env(safe-area-inset-top,0px)); right:max(12px,calc((100vw - 560px) / 2 + 12px)); }
}
@media (prefers-reduced-motion:reduce) { .floating-header,.floating-checkout { transition:none; } }
