/* PANTALLAX.es · revisión de accesibilidad y navegación · 28/09/2026. */
:root{--pax-nav-offset:88px;--pax-link:#f47d77}
html{scroll-padding-top:calc(var(--pax-nav-offset) + 16px)}
body.menu-is-open{overflow:hidden}

/* Lectura y controles, sin alterar la jerarquía de los titulares. */
body .btn,body .btn-red,body .btn-text,body .nav-cta,body .arch-btn,body .px-btn,body .px-cta-end,
body .demo-link,body .filtro,body .ref-link,body .link-arrow,
body .faq-contact-link,body .faq-category-intro a,body .back{
  font-size:18px!important;line-height:1.4;letter-spacing:.025em;
  min-height:44px;max-width:100%;display:inline-flex;align-items:center;
  white-space:normal;overflow-wrap:anywhere
}
body .btn,body .btn-red,body .btn-text,body .nav-cta,body .arch-btn,body .px-btn,body .demo-link{
  justify-content:center;text-align:center
}
body .btn{padding:13px 22px}
body .flbl,body .rgpd-row label,body .form-msg,
body input,body select,body textarea{font-size:18px!important;line-height:1.6}
body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
body select{min-height:48px}
body input[type=checkbox],body input[type=radio]{
  width:22px;min-width:22px;height:22px;min-height:22px;flex:0 0 22px
}
body .rgpd-row{min-height:44px;align-items:flex-start}
body .rgpd-row label{cursor:pointer}
body summary{min-height:44px}
body .arch-breadcrumb,body .article-breadcrumb{font-size:18px;line-height:1.5}
body .arch-breadcrumb a,body .article-breadcrumb a,body .arch-links a{
  min-height:44px;display:inline-flex;align-items:center
}
body .ft-links a,body .ft-copy a,body .ft-social a,body footer.site a,
body header.site nav a{font-size:18px;line-height:1.5;min-height:44px;display:inline-flex;align-items:center}
body .ft-copy,body footer.site,body .footer{font-size:18px;line-height:1.65}
body .ft-social a{min-width:44px;justify-content:center}
body .nav-cta,body .link-arrow,body .faq-contact-link,body .faq-category-intro a{
  color:var(--pax-link)
}
body .nav-cta:hover{color:#fff}
body a:focus-visible,body button:focus-visible,body summary:focus-visible,
body input:focus-visible,body select:focus-visible,body textarea:focus-visible{
  outline:3px solid #f5b24c;outline-offset:4px
}

/* Cabecera: el texto conserva 18 px; si no cabe se muestra el menú desplegable. */
#nav{min-height:var(--pax-nav-offset);gap:12px}
#nav .nav-links a{font-size:18px;letter-spacing:.015em;min-height:44px;display:flex;align-items:center}
#nav .nav-tel{font-size:18px;min-height:44px}
#nav .nav-wa{min-width:44px;min-height:44px;justify-content:center}
#nav .nav-cta{padding:9px 14px}
#nav .burger{min-width:44px;min-height:44px;align-items:center;justify-content:center}
@media(min-width:1280px){
  #nav{padding:14px 20px}
  #nav .logo{flex:0 0 auto;margin-right:auto}
  #nav .logo .logo-main{width:180px;height:auto}
  #nav .nav-links{display:flex;gap:12px;margin-left:auto}
  #nav .nav-contact{gap:8px;margin-left:12px;margin-right:0}
  #nav .burger{display:none}
}
@media(min-width:701px) and (max-width:1279px){
  #nav{padding:14px 24px}
  #nav .logo .logo-main{width:220px;height:auto}
  #nav .nav-links{display:none}
  #nav .nav-contact{margin-left:auto;margin-right:0;gap:8px}
  #nav .burger{display:flex}
}
@media(max-width:700px){
  :root{--pax-nav-offset:64px}
  #nav{gap:8px}
  #nav .nav-tel,#nav .nav-wa,#nav .burger{width:44px;height:44px;flex-basis:44px}
  .hero-actions{align-items:stretch;gap:16px}
  .hero-actions .btn,.hero-actions .btn-text{width:100%}
  body .faq-category-intro a{white-space:normal}
}
@media(max-width:360px){#nav{gap:5px}#nav .logo .logo-main{width:min(37vw,126px)}}
.home-opening-roig{margin-top:var(--pax-nav-offset)}

/* Cierre visible y recorrido de teclado del menú. */
body .mobile-menu{padding-top:68px;height:100vh;height:100dvh}
body .mobile-menu a{font-size:18px;min-height:44px}
.mobile-menu-close{
  position:absolute;top:12px;right:14px;width:44px;height:44px;
  border:1px solid var(--border,#444);background:transparent;color:var(--white,#fff);
  font-size:32px;line-height:1;cursor:pointer
}
body .top{height:auto;min-height:76px;gap:12px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
body header.site .wrap{flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .franja-inner{animation:none}
  .mobile-menu{transition:none}
}
