/* Fixpok Floating Menu v1.0.2 - aislado de Astra */
.fpn-root{--fpn-bg:#fff;--fpn-text:#18233b;--fpn-accent:#3154d9;--fpn-button-text:#fff;--fpn-width:1500px;--fpn-top:14px;--fpn-shadow:0 16px 54px rgba(15,31,65,.13),0 3px 12px rgba(15,31,65,.06);font-family:inherit;box-sizing:border-box}
.fpn-root *, .fpn-root *::before, .fpn-root *::after{box-sizing:border-box}
.fpn-root button,.fpn-root a{font-family:inherit}
.fpn-root a,.fpn-root a:link,.fpn-root a:visited,.fpn-root a:hover,.fpn-root a:focus{text-decoration:none!important}
.fpn-root a,.fpn-root button{-webkit-tap-highlight-color:transparent}
.fpn-root .fpn-icon{display:inline-block;width:19px;height:19px;flex:0 0 auto;vertical-align:middle}
.fpn-root button:focus-visible,.fpn-root a:focus-visible{outline:3px solid var(--fpn-accent)!important;outline-offset:3px}
.fpn-shell{position:fixed;z-index:999980;left:50%;top:var(--fpn-top);transform:translateX(-50%);width:min(calc(100% - 32px),var(--fpn-width));height:76px;display:flex;align-items:center;gap:clamp(16px,2vw,34px);padding:9px 13px 9px 23px;background:var(--fpn-bg);background:color-mix(in srgb,var(--fpn-bg) 94%,transparent);border:1px solid rgba(218,229,240,.83);border-radius:24px;box-shadow:var(--fpn-shadow);backdrop-filter:blur(19px);-webkit-backdrop-filter:blur(19px);transition:box-shadow .3s ease,top .2s ease,background .3s ease}
.fpn-root.fpn-scrolled .fpn-shell{box-shadow:0 22px 58px rgba(13,33,61,.2),0 3px 12px rgba(13,33,61,.08)}
body.admin-bar .fpn-shell{top:calc(var(--fpn-top) + 32px)}
.fpn-brand{display:inline-flex;align-items:center;justify-content:flex-start;flex:0 0 auto;max-width:200px;min-width:94px;color:var(--fpn-text)!important}
.fpn-brand img{height:47px!important;max-height:47px!important;width:auto!important;max-width:185px!important;object-fit:contain;display:block}
.fpn-brand .fpn-wordmark{font-size:29px;font-weight:900;letter-spacing:-.08em;line-height:1;color:#13213c}
.fpn-brand .fpn-wordmark i,.fpn-brand .fpn-wordmark .fpn-logo-i{font-style:normal;color:var(--fpn-accent)}
.fpn-desktop{display:flex;align-items:center;flex:1;justify-content:center;min-width:0}
.fpn-root .fpn-menu{list-style:none!important;margin:0!important;padding:0!important}
.fpn-desktop .fpn-menu-desk{display:flex;align-items:center;gap:clamp(2px,.4vw,10px);justify-content:center;min-width:0}
.fpn-root .fpn-item{position:relative;list-style:none!important;margin:0!important;padding:0!important}
.fpn-root .fpn-item::marker{content:''}
.fpn-desktop .fpn-menu-desk > .fpn-item{display:flex;align-items:center;border-radius:14px;transition:background .18s ease}
.fpn-desktop .fpn-menu-desk > .fpn-item:hover,.fpn-desktop .fpn-menu-desk > .fpn-item:focus-within,.fpn-desktop .fpn-menu-desk > .fpn-item.fpn-open{background:#eef2ff}
.fpn-root .fpn-link{display:inline-flex;align-items:center;gap:7px;min-width:0;color:var(--fpn-text)!important;font-size:13px;font-weight:690;line-height:1.2;letter-spacing:-.006em;white-space:nowrap;padding:12px 9px;transition:color .2s ease,background .2s ease}
.fpn-root .fpn-link:hover,.fpn-root .current-menu-item > .fpn-link,.fpn-root .current-menu-ancestor > .fpn-link{color:var(--fpn-accent)!important}
.fpn-root .fpn-item-icon{width:16px;height:16px;stroke-width:1.9;color:var(--fpn-accent)}
.fpn-root .fpn-subtoggle{border:0!important;display:inline-grid;place-items:center;align-self:center;width:25px;height:32px;padding:3px;background:transparent!important;color:#688092!important;cursor:pointer;flex:0 0 auto;box-shadow:none!important}
.fpn-root .fpn-subtoggle .fpn-icon{width:14px;height:14px;transition:transform .22s ease}
.fpn-root .fpn-open > .fpn-subtoggle .fpn-icon{transform:rotate(180deg)}
.fpn-desktop .fpn-menu-desk > .fpn-has-children > .fpn-link{padding-right:2px}
.fpn-root .fpn-submenu{list-style:none!important;margin:0!important;padding:9px!important;border:1px solid #e7edf2;border-radius:17px;background:#fff;box-shadow:0 24px 54px rgba(10,26,54,.16),0 4px 14px rgba(10,26,54,.04)}
.fpn-desktop .fpn-submenu{position:absolute;left:0;top:calc(100% + 11px);min-width:244px;max-width:340px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:999985}
.fpn-desktop .fpn-submenu::before{content:'';position:absolute;left:0;top:-16px;width:100%;height:17px}
.fpn-desktop .fpn-submenu .fpn-submenu{left:calc(100% + 8px);top:-10px}
.fpn-desktop .fpn-has-children:hover > .fpn-submenu,.fpn-desktop .fpn-has-children:focus-within > .fpn-submenu,.fpn-desktop .fpn-has-children.fpn-open > .fpn-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.fpn-root .fpn-submenu .fpn-item{display:flex;align-items:center;justify-content:space-between;border-radius:10px}
.fpn-root .fpn-submenu .fpn-item:hover,.fpn-root .fpn-submenu .fpn-item:focus-within{background:#edf2ff}
.fpn-root .fpn-submenu .fpn-link{font-size:13px;font-weight:590;white-space:normal;flex:1;padding:11px 10px}
.fpn-cta,.fpn-root .fpn-mobile-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--fpn-accent)!important;color:var(--fpn-button-text)!important;border-radius:14px;padding:16px 18px;line-height:1.15;white-space:nowrap;font-size:12.5px;font-weight:780;letter-spacing:0;box-shadow:0 8px 18px color-mix(in srgb,var(--fpn-accent) 22%,transparent);transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;flex:0 0 auto}
.fpn-cta:hover,.fpn-root .fpn-mobile-action:hover{color:var(--fpn-button-text)!important;filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 12px 23px color-mix(in srgb,var(--fpn-accent) 29%,transparent)}
.fpn-cta .fpn-icon{width:16px;height:16px}.fpn-cta .fpn-cta-arrow{width:15px;height:15px;opacity:.8}
.fpn-menu-toggle,.fpn-menu-close{display:none;border:0!important;cursor:pointer;box-shadow:none!important}
.fpn-backdrop{position:fixed;inset:0;background:rgba(4,18,35,.5);z-index:999988;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .26s ease,visibility .26s ease;border:0!important;margin:0!important;padding:0!important;display:block;width:100vw;height:100vh;border-radius:0!important}
.fpn-mobile-panel{position:fixed;z-index:999989;right:0;top:0;height:100vh;height:100dvh;width:min(440px,92vw);display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;background:#fff;color:#142840;padding:25px 24px max(26px,env(safe-area-inset-bottom));box-shadow:-22px 0 55px rgba(0,0,0,.15);transform:translateX(102%);visibility:hidden;pointer-events:none;transition:transform .32s cubic-bezier(.2,.75,.24,1),visibility .32s}
.fpn-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:22px;border-bottom:1px solid #e8eef1}
.fpn-mobile-title{font-size:25px;font-weight:850;letter-spacing:-.055em;color:#16223b}.fpn-mobile-title span{color:var(--fpn-accent)}
.fpn-menu-close{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#edf2ff!important;color:#253d80!important}.fpn-menu-close .fpn-icon{width:23px;height:23px}
.fpn-mobile-nav{padding:16px 0;flex:1}
.fpn-mobile-nav .fpn-menu-mobile>.fpn-item{border-bottom:1px solid #edf1f4;display:flex;align-items:center;flex-wrap:wrap}
.fpn-mobile-nav .fpn-menu-mobile>.fpn-item>.fpn-link{font-weight:740;font-size:16px;padding:18px 7px;flex:1}
.fpn-mobile-nav .fpn-link{font-size:14px;padding:14px 12px;flex:1}
.fpn-mobile-nav .fpn-item-icon{width:19px;height:19px}
.fpn-mobile-nav .fpn-subtoggle{width:40px;height:40px;border-radius:11px;background:#edf2ff!important}
.fpn-mobile-nav .fpn-submenu{display:none;position:static;flex:0 0 100%;width:100%;box-shadow:none;border:0;background:#f5f7ff;padding:6px!important;border-radius:12px;margin:0 0 14px!important}
.fpn-mobile-nav .fpn-open>.fpn-submenu{display:block}
.fpn-mobile-nav .fpn-submenu .fpn-link{font-size:13px}
.fpn-mobile-nav .fpn-submenu .fpn-item{flex-wrap:wrap}
.fpn-mobile-bottom{border-top:1px solid #e8eef1;padding-top:18px;display:flex;flex-direction:column;gap:13px}
.fpn-root .fpn-mobile-action{width:100%;padding:17px;justify-content:space-between;font-size:14px}
.fpn-mobile-bottom small{text-align:center;color:#718396;font-size:11px;letter-spacing:.01em}
.fpn-root.fpn-drawer-open .fpn-backdrop{opacity:1;visibility:visible;pointer-events:auto}
.fpn-root.fpn-drawer-open .fpn-mobile-panel{visibility:visible;pointer-events:auto;transform:translateX(0)}
body.fpn-lock-scroll{overflow:hidden!important}
.fpn-bottom-bar{display:none}
/* Integración Astra: el plugin no modifica los menús ni la estructura de Astra. */
body.fpn-hide-astra #masthead{display:none!important}
body.fpn-has-menu #fixpok-inicio .fp-hero-grid{padding-top:clamp(124px,10vw,160px)!important}
/* Evita franja blanca sobre heroes Fixpok a ancho completo. */
body.fpn-hide-astra .site-content>.ast-container:not(:has(main[class^="fixpok-"],main[class*=" fixpok-"])){padding-top:max(105px,var(--fpn-top,14px) + 86px)}
body.fpn-hide-astra .site-content>.ast-container:has(main[class^="fixpok-"],main[class*=" fixpok-"]){padding-top:0!important;margin-top:0!important}
/* Compensa la cabecera flotante DENTRO de cada hero, no sobre el fondo blanco de Astra. */
body.fpn-has-menu .fixpok-screens .fx-hero-wrap{padding-top:clamp(120px,9vw,150px)!important}
body.fpn-has-menu .fixpok-repair-hub .fr-hero-grid{padding-top:clamp(115px,9vw,145px)!important}
@media(max-width:1240px){
 .fpn-desktop .fpn-link{font-size:12px;padding:12px 6px}.fpn-desktop .fpn-menu-desk{gap:1px}
 .fpn-shell{gap:14px;padding-left:18px}.fpn-brand .fpn-wordmark{font-size:26px}
 .fpn-cta{padding:15px 12px;font-size:11.5px;gap:6px}.fpn-cta .fpn-cta-arrow{display:none}
}
@media(max-width:1100px){
 .fpn-shell{height:72px;padding:9px 10px 9px 18px;justify-content:space-between;border-radius:21px}
 .fpn-desktop{display:none}.fpn-shell .fpn-cta{margin-left:auto;padding:14px 16px;font-size:12px}.fpn-shell .fpn-cta .fpn-cta-arrow{display:none}
 .fpn-menu-toggle{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#eaf0ff!important;color:#253d80!important;flex:0 0 auto}
 .fpn-menu-toggle .fpn-icon{width:24px;height:24px}
}
@media(max-width:767px){
 body.fpn-has-menu .fixpok-screens .fx-hero-wrap,body.fpn-has-menu .fixpok-repair-hub .fr-hero-grid{padding-top:110px!important}
 body.admin-bar .fpn-shell{top:calc(var(--fpn-top) + 46px)}
 body.admin-bar .fpn-mobile-panel{top:46px;height:calc(100dvh - 46px)}
 .fpn-shell{width:calc(100vw - 22px);height:65px;top:var(--fpn-top);border-radius:18px;padding:7px 7px 7px 16px}
 .fpn-brand{min-width:auto}.fpn-brand img{max-height:39px!important;max-width:130px!important}.fpn-brand .fpn-wordmark{font-size:26px}
 .fpn-shell .fpn-cta{padding:12px 10px;gap:6px;border-radius:12px;font-size:11px;min-height:45px}
 .fpn-shell .fpn-cta>.fpn-icon{width:16px;height:16px}
 .fpn-menu-toggle{width:44px;height:44px;border-radius:12px}.fpn-menu-toggle .fpn-icon{width:23px;height:23px}
 body.fpn-has-menu #fixpok-inicio .fp-hero-grid{padding-top:110px!important}
 .fpn-bottom-bar{position:fixed;z-index:999978;opacity:0;transform:translateY(calc(100% + 30px));pointer-events:none;transition:opacity .26s ease,transform .26s ease;bottom:max(9px,env(safe-area-inset-bottom));left:11px;right:11px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;min-height:72px;padding:5px;background:var(--fpn-bg);background:color-mix(in srgb,var(--fpn-bg) 96%,transparent);border:1px solid #dfe5f6;border-radius:20px;box-shadow:0 13px 34px rgba(16,35,65,.2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
 .fpn-root.fpn-show-bottom .fpn-bottom-bar{opacity:1;transform:translateY(0);pointer-events:auto}
 .fpn-bottom-bar a{display:flex;min-width:0;min-height:58px;align-items:center;justify-content:center;flex-direction:column;gap:5px;font-size:11px;font-weight:740;line-height:1.1;color:var(--fpn-text)!important;border-radius:15px;transition:background .2s,color .2s}
 .fpn-bottom-bar a:first-child{background:var(--fpn-accent);color:var(--fpn-button-text)!important}
 .fpn-bottom-bar a:hover{background:#e8efff;color:#2545bd!important}
 .fpn-bottom-bar a:first-child:hover{background:var(--fpn-accent);color:var(--fpn-button-text)!important}
 .fpn-bottom-bar .fpn-icon{width:23px;height:23px}
 body.fpn-has-bottom{padding-bottom:95px!important}
}
@media(max-width:390px){
 .fpn-shell{gap:6px;padding-left:12px}.fpn-shell .fpn-cta{font-size:0;width:45px;height:45px;padding:0}.fpn-shell .fpn-cta .fpn-icon{width:22px;height:22px}.fpn-shell .fpn-cta span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .fpn-brand .fpn-wordmark{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.fpn-root *, .fpn-root *::before,.fpn-root *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
