/*
Theme Name: themev2
Author: elperrito
Author URI: https://elperrito.org/
Description: blabla
Version: 0.2
*/

/* =========================================================
   ESTRUCTURA LIMPIA — sin diseño visual
   Conserva: grid, layout, posicionamiento, comportamiento JS
   Elimina: colores, tipografía, sombras, bordes, animaciones
   ========================================================= */

/* ===== 0) RESET BASE ===== */
html{
  -webkit-text-size-adjust:100%;
  -ms-text-size-adjust:100%;
  overflow-x:hidden;
  max-width:100vw;
}
body{
  margin:0;
  overflow-x:hidden;
  max-width:100vw;
}
*,*::before,*::after{
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}

/* ===== 1) VARIABLES ===== */
:root{
  --grid-gap-vw:1.2vw;
  --grid-row-gap-vh:1.2vh;
  --container-max-width:1440px;
  --container-vw:94vw;
  --container-padding-vw:4vw;

  --color-primary:#005AD9;
  --color-primary-dark:#003a8c;
  --color-primary-light:#F2F6FF;
  --color-primary-rgb:0,90,217;

  --color-menutoggle:#1B3D6D;
  --color-text:#0B1A2A;
  --color-text-secondary:#111827;
  --color-text-muted:#64748b;
  --color-text-inverse:#ffffff;

  --color-bg:#ffffff;
  --color-bg-light:#F2F6FF;
  --color-bg-subtle:#f5f5f5;
  --color-bg-dark:#0B1A2A;

  --color-border:#E9EEF7;
  --color-border-light:#cbd5e1;
  --color-border-dark:#333333;

  --color-success:#22c55e;
  --color-success-light:#dcfce7;
  --color-success-dark:#166534;
  --color-warning:#f59e0b;
  --color-warning-light:#fef3c7;
  --color-warning-dark:#92400e;
  --color-error:#ef4444;
  --color-error-light:#fee2e2;
  --color-error-dark:#991b1b;
  --color-info:#3b82f6;
  --color-info-light:#eff6ff;
  --color-info-dark:#1e40af;

  --font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --font-size-xs:0.75rem;
  --font-size-sm:0.857rem;
  --font-size-base:1rem;
  --font-size-lg:1.25rem;
  --font-size-xl:1.5rem;
  --font-size-2xl:2rem;
  --font-size-3xl:2.5rem;
  --font-weight-normal:400;
  --font-weight-medium:500;
  --font-weight-semibold:600;
  --font-weight-bold:700;
  --line-height-tight:1.2;
  --line-height-normal:1.5;
  --line-height-relaxed:1.6;

  --space-1:0.25rem;
  --space-2:0.5rem;
  --space-3:0.75rem;
  --space-4:1rem;
  --space-5:1.25rem;
  --space-6:1.5rem;
  --space-8:2rem;
  --space-10:2.5rem;
  --space-12:3rem;

  --radius-sm:0.25rem;
  --radius-md:0.5rem;
  --radius-lg:0.75rem;
  --radius-xl:1rem;
  --radius-full:999px;
  --border-width:1px;
  --border-width-thick:2px;
  --border-width-accent:3px;

  --shadow-sm:0 1px 2px rgba(0,38,84,.05);
  --shadow-md:0 4px 12px rgba(0,38,84,.08);
  --shadow-lg:0 8px 24px rgba(0,38,84,.12);
  --shadow-xl:0 18px 42px rgba(0,38,84,.18);
  --shadow-primary:0 4px 14px rgba(0,90,217,.28);
  --shadow-inset:inset 0 2px 4px rgba(0,0,0,.06);

  --transition-fast:.15s ease;
  --transition-normal:.2s ease;
  --transition-slow:.3s ease;
  --transition-speed:.3s;

  --z-dropdown:100;
  --z-sticky:200;
  --z-fixed:300;
  --z-modal-backdrop:400;
  --z-modal:500;
  --z-popover:600;
  --z-tooltip:700;
  --z-toast:800;
  --z-max:9999;

  --input-height:2.5rem;
  --input-height-sm:2rem;
  --input-height-lg:3rem;
  --btn-height:2.5rem;
  --btn-height-sm:2rem;
  --btn-height-lg:3rem;

  --header-height-mobile:4.3rem;
  --header-height-tablet:3.6rem;
  --header-height-desktop:5rem;

  --sidebar-width-tablet:2;
  --sidebar-width-desktop:3;
}
@media (min-width:48rem){:root{--container-vw:92vw;--container-padding-vw:3vw;}}
@media (min-width:64rem){:root{--container-vw:88vw;--container-padding-vw:2vw;}}
@media (min-width:80rem){:root{--container-vw:84vw;--container-padding-vw:1.5vw;}}

/* ===== 2) CONTENEDOR ===== */
.custom-container{
  width:100%;
  max-width:var(--container-max-width);
  margin-left:auto;margin-right:auto;
  padding-left:var(--container-padding-vw);
  padding-right:var(--container-padding-vw);
}
#containerClass.is-fluid .custom-container{width:100%;max-width:none;}
#containerClass.is-max .custom-container{width:100%;max-width:calc(var(--container-max-width) - (var(--container-padding-vw) * 2));}

/* ===== 3) GRID ===== */
.custom-grid-container{
  display:-ms-grid;
  display:grid;
  -ms-grid-columns:1fr 1fr 1fr 1fr;
  grid-template-columns:repeat(4,1fr);
  gap:var(--grid-gap-vw);
  row-gap:var(--grid-row-gap-vh);
}
@media (min-width:48rem){
  .custom-grid-container{-ms-grid-columns:(1fr)[8];grid-template-columns:repeat(8,1fr);}
}
@media (min-width:64rem){
  .custom-grid-container{-ms-grid-columns:(1fr)[12];grid-template-columns:repeat(12,1fr);}
}
.custom-col-span-1{grid-column:span 1;}
.custom-col-span-2{grid-column:span 2;}
.custom-col-span-3{grid-column:span 3;}
.custom-col-span-4{grid-column:span 4;}
@media (min-width:48rem){
  .md-col-span-1{grid-column:span 1;}
  .md-col-span-2{grid-column:span 2;}
  .md-col-span-3{grid-column:span 3;}
  .md-col-span-4{grid-column:span 4;}
  .md-col-span-5{grid-column:span 5;}
  .md-col-span-6{grid-column:span 6;}
  .md-col-span-7{grid-column:span 7;}
  .md-col-span-8{grid-column:span 8;}
}
@media (min-width:64rem){
  .lg-col-span-1{grid-column:span 1;}
  .lg-col-span-2{grid-column:span 2;}
  .lg-col-span-3{grid-column:span 3;}
  .lg-col-span-4{grid-column:span 4;}
  .lg-col-span-5{grid-column:span 5;}
  .lg-col-span-6{grid-column:span 6;}
  .lg-col-span-7{grid-column:span 7;}
  .lg-col-span-8{grid-column:span 8;}
  .lg-col-span-9{grid-column:span 9;}
  .lg-col-span-10{grid-column:span 10;}
  .lg-col-span-11{grid-column:span 11;}
  .lg-col-span-12{grid-column:span 12;}
}

/* ===== 4) GRID INTERNO (SIDEBARS) ===== */
.main-content .custom-grid-container{grid-template-columns:repeat(4,1fr);}
@media (min-width:48rem){
  #containerClass.sidebar-none .main-content .custom-grid-container{grid-template-columns:repeat(8,1fr);}
  #containerClass.sidebar-left .main-content .custom-grid-container,
  #containerClass.sidebar-right .main-content .custom-grid-container,
  #containerClass.sidebar-both .main-content .custom-grid-container{grid-template-columns:repeat(4,1fr);}
}
@media (min-width:64rem){
  #containerClass.sidebar-none .main-content .custom-grid-container{grid-template-columns:repeat(12,1fr);}
  #containerClass.sidebar-left .main-content .custom-grid-container,
  #containerClass.sidebar-right .main-content .custom-grid-container{grid-template-columns:repeat(8,1fr);}
  #containerClass.sidebar-both .main-content .custom-grid-container{grid-template-columns:repeat(6,1fr);}
}

/* ===== 5) WRAPPER + SIDEBARS ===== */
.content-wrapper{
  display:-ms-grid;
  display:grid;
  grid-template-columns:1fr;
  gap:var(--grid-gap-vw);
  row-gap:var(--grid-row-gap-vh);
}
@media (max-width:47.999rem){
  .content-wrapper{grid-template-columns:1fr !important;}
  .content-wrapper .main-content{grid-column:1 / -1 !important;}
  .left-sidebar,.right-sidebar{display:none !important;}
}
@media (min-width:48rem){
  .left-sidebar,.right-sidebar{display:block;}
  #containerClass.sidebar-none .content-wrapper{grid-template-columns:1fr;}
  #containerClass.sidebar-none .main-content{grid-column:1 / -1;}
  #containerClass.sidebar-none .left-sidebar,
  #containerClass.sidebar-none .right-sidebar{display:none;}
  #containerClass.sidebar-left .content-wrapper{grid-template-columns:2fr 6fr;}
  #containerClass.sidebar-left .left-sidebar{grid-column:1;grid-row:1;}
  #containerClass.sidebar-left .main-content{grid-column:2;grid-row:1;}
  #containerClass.sidebar-left .right-sidebar{display:none;}
  #containerClass.sidebar-right .content-wrapper{grid-template-columns:6fr 2fr;}
  #containerClass.sidebar-right .main-content{grid-column:1;grid-row:1;}
  #containerClass.sidebar-right .right-sidebar{grid-column:2;grid-row:1;}
  #containerClass.sidebar-right .left-sidebar{display:none;}
  #containerClass.sidebar-both .content-wrapper{grid-template-columns:2fr 4fr 2fr;}
  #containerClass.sidebar-both .left-sidebar{grid-column:1;grid-row:1;}
  #containerClass.sidebar-both .main-content{grid-column:2;grid-row:1;}
  #containerClass.sidebar-both .right-sidebar{grid-column:3;grid-row:1;}
}
@media (min-width:64rem){
  #containerClass.sidebar-left .content-wrapper{grid-template-columns:3fr 9fr;}
  #containerClass.sidebar-right .content-wrapper{grid-template-columns:9fr 3fr;}
  #containerClass.sidebar-both .content-wrapper{grid-template-columns:2.5fr 7fr 2.5fr;}
}
.left-sidebar,.right-sidebar{min-width:0;overflow:hidden;}

/* ===== 6) HEADER ===== */
.topbar{position:relative;z-index:1002 !important;}
.site-header{position:relative;z-index:1001 !important;}

.site-logo{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  height:var(--header-height-mobile);
  text-decoration:none;
}
.site-logo img,.site-logo>img,.site-logo a img,a.site-logo img,
.site-header .site-logo img,.custom-logo-link img,img.custom-logo,
.site-logo img[width],.site-logo img[height],img.custom-logo[width],img.custom-logo[height]{
  width:auto !important;height:auto !important;
  -o-object-fit:contain;object-fit:contain;
}
@media (max-width:47.999rem){
  .site-logo,a.site-logo,.custom-logo-link{max-width:180px;overflow:visible;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;}
  .site-logo img,a.site-logo img,.custom-logo-link img,img.custom-logo,.site-logo img[width]{max-height:2.5rem !important;max-width:180px !important;}
}
@media (min-width:48rem) and (max-width:63.999rem){
  .site-logo,a.site-logo,.custom-logo-link{max-width:260px;overflow:visible;}
  .site-logo img,a.site-logo img,.custom-logo-link img,img.custom-logo,.site-logo img[width]{max-height:2.75rem !important;max-width:260px !important;}
}
@media (min-width:64rem){
  .site-logo,a.site-logo,.custom-logo-link{max-width:320px;overflow:visible;}
  .site-logo img,a.site-logo img,.custom-logo-link img,img.custom-logo,.site-logo img[width]{max-height:3.25rem !important;max-width:320px !important;}
}
@media (max-width:47.999rem){
  .site-header .custom-grid-container{
    display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;
    -webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important;
    -webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;
    -ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important;
    gap:.75rem;
  }
  .site-header .custom-grid-container>*{grid-column:unset !important;}
  .site-header .custom-grid-container>*:first-child{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;max-width:70%;}
  .site-header .custom-grid-container>*:last-child{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin-left:auto;}
}
@media (min-width:48rem) and (max-width:63.999rem){
  .site-header .custom-grid-container{
    display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;
    -webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important;
    -webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;
    min-height:var(--header-height-tablet);gap:1rem;
  }
  .site-header .custom-grid-container>*{grid-column:unset !important;}
  .site-logo{height:var(--header-height-tablet);}
}
@media (min-width:64rem){
  .site-header .custom-grid-container{
    display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;
    -webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important;
    -webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;
    min-height:var(--header-height-desktop);gap:1.5rem;
  }
  .site-header .custom-grid-container>*{grid-column:unset !important;}
  .site-logo{height:var(--header-height-desktop);}
}

/* ===== 7) MENÚ HAMBURGUESA ===== */
.main-navigation{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
}
.menu-toggle{
  display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;
  -webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;
  -ms-flex-direction:column !important;flex-direction:column !important;
  -webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important;
  -webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important;
  width:44px !important;height:44px !important;min-width:44px !important;min-height:44px !important;
  padding:8px !important;
  border:none;cursor:pointer;z-index:1001;
}
.menu-toggle span{
  display:block !important;
  width:20px !important;height:2px !important;min-height:2px !important;
  margin:2.5px 0 !important;
  -webkit-transition:all .25s ease;transition:all .25s ease;
  -webkit-transform-origin:center center;transform-origin:center center;
}
.menu-toggle span:first-child{margin-top:0 !important;}
.menu-toggle span:last-child{margin-bottom:0 !important;}
.menu-toggle[aria-expanded="true"] span:nth-child(1){
  -webkit-transform:rotate(45deg) translate(5px,5px) !important;
  transform:rotate(45deg) translate(5px,5px) !important;
}
.menu-toggle[aria-expanded="true"] span:nth-child(2){
  opacity:0 !important;
  -webkit-transform:scaleX(0) !important;transform:scaleX(0) !important;
}
.menu-toggle[aria-expanded="true"] span:nth-child(3){
  -webkit-transform:rotate(-45deg) translate(5px,-5px) !important;
  transform:rotate(-45deg) translate(5px,-5px) !important;
}

/* ===== 8) MENÚ MÓVIL ===== */
.menu-container{
  position:fixed;left:-100%;top:0;
  width:100%;height:100vh;height:100dvh;
  -webkit-transition:left var(--transition-speed);transition:left var(--transition-speed);
  overflow-y:auto;z-index:998;
  will-change:transform;-webkit-overflow-scrolling:touch;
}
.menu-container.is-open{left:0;}
@media (max-width:47.999rem){
  .menu-container{top:6.8rem !important;height:calc(100vh - 6.8rem) !important;height:calc(100dvh - 6.8rem) !important;padding-top:0;}
  .admin-bar .menu-container{top:calc(6.8rem + 32px) !important;height:calc(100vh - 6.8rem - 32px) !important;height:calc(100dvh - 6.8rem - 32px) !important;}
}
@media (max-width:782px){
  .admin-bar .menu-container{top:calc(6.8rem + 46px) !important;height:calc(100vh - 6.8rem - 46px) !important;height:calc(100dvh - 6.8rem - 46px) !important;}
}
@media (min-width:48rem){.menu-container{display:none !important;}}

.menu-primary{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-orient:vertical;-webkit-box-direction:normal;
  -ms-flex-direction:column;flex-direction:column;
  padding:1rem 0;gap:.5rem;
}
.menu-item{position:relative;}
.menu-link{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;
  text-decoration:none;padding:1rem 1.25rem;min-height:2.75rem;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.menu-arrow{
  width:1.1rem;height:1.1rem;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
  -webkit-transition:transform .2s ease;transition:transform .2s ease;
}
.menu-arrow::after{
  content:'';width:0;height:0;display:block;margin-left:.5rem;
  border-left:.32rem solid transparent;border-right:.32rem solid transparent;
  border-top:.32rem solid currentColor;
  -webkit-transition:transform .2s ease;transition:transform .2s ease;
}
.menu-link[aria-expanded="true"] .menu-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg);}

.submenu-container{
  max-height:0;overflow:hidden;
  -webkit-transition:max-height var(--transition-speed);transition:max-height var(--transition-speed);
}
.submenu-container.is-open{max-height:999rem;}
.submenu-grid{padding:.5rem 1.25rem 1rem;}
.submenu-column{margin-bottom:1rem;}
.submenu-links{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-orient:vertical;-webkit-box-direction:normal;
  -ms-flex-direction:column;flex-direction:column;gap:.25rem;
}
.submenu-link{position:relative;display:block;text-decoration:none;padding:.45rem .25rem .45rem .6rem;touch-action:manipulation;}

/* ===== 9) MENÚ MODAL ===== */
.menu-modal-overlay{
  position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;
  display:none;
  -webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
  padding:0;z-index:var(--z-modal-backdrop);
  opacity:0;visibility:hidden;
  -webkit-transition:opacity var(--transition-normal),visibility var(--transition-normal);
  transition:opacity var(--transition-normal),visibility var(--transition-normal);
  padding-top:6.1rem;
}
@media (min-width:48rem){.menu-modal-overlay{display:-webkit-box;display:-ms-flexbox;display:flex;}}
@media (min-width:64rem){.menu-modal-overlay{padding-top:7.5rem;}}
.admin-bar .menu-modal-overlay{padding-top:calc(6.1rem + 32px);}
@media (min-width:64rem){.admin-bar .menu-modal-overlay{padding-top:calc(7.5rem + 32px);}}
@media (max-width:782px){.admin-bar .menu-modal-overlay{padding-top:calc(6.1rem + 46px);}}
.menu-modal-overlay.is-open{opacity:1;visibility:visible;}

.menu-modal{
  width:94%;max-width:1200px;
  max-height:calc(100vh - 6.1rem - 1rem);
  margin-bottom:1rem;overflow:hidden;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-orient:vertical;-webkit-box-direction:normal;
  -ms-flex-direction:column;flex-direction:column;
  -webkit-transform:translateY(-1rem) scale(.98);transform:translateY(-1rem) scale(.98);
  -webkit-transition:-webkit-transform var(--transition-normal);transition:transform var(--transition-normal);
}
@media (min-width:64rem){.menu-modal{max-height:calc(100vh - 7.5rem - 1rem);width:90%;}}
.admin-bar .menu-modal{max-height:calc(100vh - 6.1rem - 32px - 1rem);}
@media (min-width:64rem){.admin-bar .menu-modal{max-height:calc(100vh - 7.5rem - 32px - 1rem);}}
@media (max-width:782px){.admin-bar .menu-modal{max-height:calc(100vh - 6.1rem - 46px - 1rem);}}
.menu-modal-overlay.is-open .menu-modal{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1);}

.menu-modal__close{
  display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
  width:2.5rem;height:2.5rem;padding:0;background:transparent;border:none;cursor:pointer;
  -ms-flex-negative:0;flex-shrink:0;
}
.menu-modal__body{
  padding:0;overflow:hidden;
  -ms-flex:1 1 auto;flex:1 1 auto;min-height:0;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-orient:vertical;-webkit-box-direction:normal;
  -ms-flex-direction:column;flex-direction:column;
}

/* ===== 10) TABS MENÚ MODAL ===== */
.menu-tabs{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-orient:vertical;-webkit-box-direction:normal;
  -ms-flex-direction:column;flex-direction:column;
  height:100%;min-height:0;
}
.menu-tabs__header{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;
  gap:var(--space-2);padding-right:var(--space-3);
  -ms-flex-negative:0;flex-shrink:0;
}
.menu-tabs__list{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -ms-flex-wrap:nowrap;flex-wrap:nowrap;gap:0;
  margin:0;padding:0 var(--space-4);list-style:none;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;-ms-overflow-style:none;
  -webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;
}
@media (max-height:700px){.menu-tabs__list{padding:0 var(--space-3);}}
.menu-tabs__list::-webkit-scrollbar{display:none;}
.menu-tabs__tab{
  display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  gap:var(--space-2);
  padding:var(--space-3) var(--space-4);
  margin-bottom:calc(var(--border-width-thick) * -1);
  background:transparent;border:none;cursor:pointer;white-space:nowrap;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
@media (min-width:64rem){.menu-tabs__tab{padding:var(--space-4) var(--space-5);}}
@media (max-height:700px){.menu-tabs__tab{padding:var(--space-2) var(--space-3);}}
.menu-tabs__tab[disabled]{opacity:.5;cursor:not-allowed;}
.menu-tabs__panels{
  -webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;
  overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;
}
.menu-tabs__panel{
  display:none;padding:var(--space-4) var(--space-5);
}
@media (min-width:64rem){.menu-tabs__panel{padding:var(--space-5) var(--space-6);}}
@media (max-height:700px){.menu-tabs__panel{padding:var(--space-3) var(--space-4);}}
.menu-tabs__panel[aria-hidden="false"],.menu-tabs__panel.is-active{display:block;}

.menu-tabs__content-grid{
  display:-ms-grid;display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:var(--space-4) var(--space-6);
}
@media (min-width:48rem){.menu-tabs__content-grid{grid-template-columns:repeat(3,1fr);}}
@media (min-width:64rem){
  .menu-tabs__content-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-5) var(--space-8);}
  .menu-tabs__content-grid--5cols{grid-template-columns:repeat(5,1fr);}
}
@media (max-height:700px) and (min-width:48rem){.menu-tabs__content-grid{gap:var(--space-3) var(--space-5);}}
.menu-tabs__column{min-width:0;}
.menu-tabs__links{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-orient:vertical;-webkit-box-direction:normal;
  -ms-flex-direction:column;flex-direction:column;gap:0;
}
.menu-tabs__link{display:block;text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}

/* ===== 11) ACCESIBILIDAD ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{
  position:absolute;top:-100%;left:var(--space-4);
  z-index:var(--z-max);
  -webkit-transition:top var(--transition-normal);transition:top var(--transition-normal);
}
.skip-link:focus,.skip-link:focus-visible{top:var(--space-4);}

body.menu-modal-open,
#containerClass.menu-modal-open{overflow:hidden !important;}
html.menu-modal-open,
html:has(body.menu-modal-open){overflow:hidden !important;}
body.menu-open,
#containerClass.menu-open{overflow:hidden !important;position:static !important;width:auto !important;}
html.menu-open,
html:has(body.menu-open){overflow:hidden !important;}

/* ===== 12) TOPBAR / BREADCRUMB ===== */
.topbar{
  height:2.5rem;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  position:relative;
}
.topbar .custom-grid-container{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:1rem;
}
.breadcrumb{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;
  list-style:none;padding:.5rem 0;margin:0;
}
.breadcrumb li{display:inline;}

/* ===== 13) IMÁGENES ===== */
@-ms-viewport{width:device-width;}
img{max-width:100%;height:auto;display:block;}
figure{margin:1rem 0;}

/* ===== 14) ACORDEÓN SIDEBAR MÓVIL ===== */
.accordion-panel{max-height:0;overflow:hidden;-webkit-transition:max-height var(--transition-speed);transition:max-height var(--transition-speed);}

/* ===== 15) FOOTER — layout ===== */
.site-footer{padding:0;margin-top:2rem;width:100%;}
.footer-top{padding:2.5rem 0 2rem;}
.footer-grid{display:-ms-grid;display:grid;grid-template-columns:1fr;gap:2rem 1.5rem;}
@media (min-width:48rem){.footer-grid{grid-template-columns:repeat(2,1fr);gap:2rem;}}
@media (min-width:64rem){.footer-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem 2.5rem;}}
.footer-grid--1col{grid-template-columns:1fr !important;}
.footer-grid--2col{grid-template-columns:1fr !important;}
@media (min-width:48rem){
  .footer-grid--2col{grid-template-columns:repeat(2,1fr) !important;}
  .footer-grid--2col-25-75{grid-template-columns:1fr 3fr !important;}
  .footer-grid--2col-75-25{grid-template-columns:3fr 1fr !important;}
  .footer-grid--2col-33-67{grid-template-columns:1fr 2fr !important;}
  .footer-grid--2col-67-33{grid-template-columns:2fr 1fr !important;}
}
.footer-grid--3col{grid-template-columns:1fr !important;}
@media (min-width:48rem){.footer-grid--3col{grid-template-columns:repeat(2,1fr) !important;}}
@media (min-width:64rem){
  .footer-grid--3col{grid-template-columns:repeat(3,1fr) !important;}
  .footer-grid--3col-25-50-25{grid-template-columns:1fr 2fr 1fr !important;}
  .footer-grid--3col-50-25-25{grid-template-columns:2fr 1fr 1fr !important;}
  .footer-grid--3col-25-25-50{grid-template-columns:1fr 1fr 2fr !important;}
}
.footer-grid--4col{grid-template-columns:1fr !important;}
@media (min-width:48rem){.footer-grid--4col{grid-template-columns:repeat(2,1fr) !important;}}
@media (min-width:64rem){.footer-grid--4col{grid-template-columns:repeat(4,1fr) !important;}}
.footer-grid--center{justify-items:center;}
.footer-grid--left{justify-items:start;}
.footer-grid--right{justify-items:end;}
.footer-column--left{justify-self:start;}
.footer-column--center{justify-self:center;}
.footer-column--right{justify-self:end;}
.footer-grid>section,.footer-grid>.footer-column{min-width:0;}
.footer-bottom{padding:1.25rem 0;}
.footer-bottom__content{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-orient:vertical;-webkit-box-direction:normal;
  -ms-flex-direction:column;flex-direction:column;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.75rem;
}
@media (min-width:48rem){
  .footer-bottom__content{
    -webkit-box-orient:horizontal;-webkit-box-direction:normal;
    -ms-flex-direction:row;flex-direction:row;
    -webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;
  }
}
.footer-bottom__links{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -ms-flex-wrap:wrap;flex-wrap:wrap;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
  gap:.5rem 1.5rem;
}
@media (min-width:48rem){.footer-bottom__links{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;}}
.footer-social{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.75rem;margin-top:1rem;}
.footer-social a{
  display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
  width:2.5rem;height:2.5rem;
}
.footer-newsletter{margin-top:1rem;}
.footer-newsletter__form{display:-webkit-box;display:-ms-flexbox;display:flex;gap:.5rem;max-width:320px;}
.footer-newsletter__input{-webkit-box-flex:1;-ms-flex:1;flex:1;}

/* ===== 16) BOTONES — layout ===== */
.btn,.btn:link,.btn:visited{
  display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
  gap:.5rem;text-decoration:none;text-align:center;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.btn--icon{padding:.5rem;width:2.5rem;height:2.5rem;}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;}

/* ===== 17) FORMULARIOS — layout ===== */
.form-section{margin-top:2.5rem;margin-bottom:2.5rem;}
.form-section header{margin-bottom:1rem;}
.form-grid{display:-ms-grid;display:grid;-ms-grid-columns:1fr;grid-template-columns:1fr;gap:1rem 1.5rem;}
@media (min-width:48rem){.form-grid{-ms-grid-columns:1fr 1fr;grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:64rem){.form-grid{-ms-grid-columns:1fr 1fr 1fr;grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (min-width:48rem){#containerClass.sidebar-both .form-grid{grid-template-columns:1fr;}}
@media (min-width:64rem){
  #containerClass.sidebar-both .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  #containerClass.sidebar-none .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
.form-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.35rem;}
.form-control,.form-textarea{width:100%;}
.form-textarea{min-height:5rem;resize:vertical;}
.form-select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;}
.form-select::-ms-expand{display:none;}
@media (pointer:coarse){.form-select{min-height:44px;}}
.form-check-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:.5rem;}
.form-actions{margin-top:1.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.75rem;}
.form-feedback{display:none;}
.form-group.has-success .form-feedback--valid,
.form-group.has-error .form-feedback--invalid{display:block;}

/* ===== 18) CARDS — layout ===== */
.card-list{margin-top:2rem;margin-bottom:2rem;}
.card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;min-height:0;}
.card__title,.card__meta{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;}
.card__excerpt{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;}
.card .btn{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-item-align:start;align-self:flex-start;margin-top:auto;}
.card-list .custom-grid-container{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;}
.pagination{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.4rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:1.25rem;}
.pagination__link{min-width:2.1rem;min-height:2.1rem;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-decoration:none;}

/* ===== 19) BLOQUES — layout ===== */
.benefits{margin:2.5rem 0;}
.benefit-item{height:100%;min-height:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;}
.benefit-item p{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;}
.testimonials{margin:2.5rem 0;}
.testimonial{height:100%;min-height:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;}
.testimonial__quote{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;}
.kpi-grid{display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0;}
@media (min-width:48rem){.kpi-grid{-ms-grid-columns:1fr 1fr 1fr 1fr;grid-template-columns:repeat(4,minmax(0,1fr));}}
.logo-strip{margin:2rem 0;}
.logo-strip__list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:1.5rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;}
.pricing{margin:2.5rem 0;}
.pricing-plan{height:100%;min-height:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;}
.pricing-plan__detail{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;}
.pricing-plan .btn{margin-top:auto;}
.products .custom-grid-container,
.benefits .custom-grid-container,
.pricing .custom-grid-container,
.testimonials .custom-grid-container{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;}

/* ===== 20) ALERTAS — layout ===== */
.alert{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);position:relative;}
.alert__icon{-ms-flex-negative:0;flex-shrink:0;}
.alert__content{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;}
.alert__close{-ms-flex-negative:0;flex-shrink:0;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:none;cursor:pointer;}
.alert__actions{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);}
@media (max-width:20rem){
  .alert{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;}
  .alert__close{position:absolute;top:var(--space-2);right:var(--space-2);}
}

/* ===== 21) MODAL BASE — layout ===== */
.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:var(--space-4);z-index:var(--z-modal-backdrop);opacity:0;visibility:hidden;-webkit-transition:opacity var(--transition-normal),visibility var(--transition-normal);transition:opacity var(--transition-normal),visibility var(--transition-normal);}
.modal-overlay.is-open{opacity:1;visibility:visible;}
.modal{width:100%;max-width:32rem;max-height:90vh;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-transform:translateY(-1rem) scale(.95);transform:translateY(-1rem) scale(.95);-webkit-transition:-webkit-transform var(--transition-normal);transition:transform var(--transition-normal);}
.modal-overlay.is-open .modal{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1);}
.modal--sm{max-width:24rem;}.modal--lg{max-width:48rem;}.modal--xl{max-width:64rem;}
.modal--fullscreen{max-width:none;max-height:none;width:100%;height:100%;margin:0;}
.modal__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);-ms-flex-negative:0;flex-shrink:0;}
.modal__close{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:none;cursor:pointer;}
.modal__body{padding:var(--space-6);overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-flex:1 1 auto;flex:1 1 auto;}
.modal__footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4) var(--space-6);-ms-flex-negative:0;flex-shrink:0;}
@media (max-width:29.999rem){.modal__footer{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;}.modal__footer .btn{width:100%;}}
#containerClass.modal-open{overflow:hidden;position:fixed;width:100%;height:100%;}

/* ===== 22) TABS BASE — layout ===== */
.tabs{margin:var(--space-8) 0;}
.tabs__list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none;}
.tabs__tab{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-2);background:transparent;border:none;cursor:pointer;white-space:nowrap;}
.tabs__tab[disabled]{opacity:.5;cursor:not-allowed;}
.tabs__panels{margin-top:var(--space-6);}
.tabs__panel{display:none;}
.tabs__panel[aria-hidden="false"],.tabs__panel.is-active{display:block;}
@media (max-width:47.999rem){
  .tabs__list{-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;}
  .tabs__list::-webkit-scrollbar{display:none;}
  .tabs__tab{-ms-flex-negative:0;flex-shrink:0;}
}

/* ===== 23) ACCORDION — show/hide funcional ===== */
.accordion{overflow:hidden;margin:var(--space-4) 0;}
.accordion__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);background:transparent;border:none;text-align:left;cursor:pointer;}
.accordion__icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:1.5rem;height:1.5rem;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:-webkit-transform var(--transition-normal);transition:transform var(--transition-normal);}
.accordion__icon::before{content:'';display:block;width:0;height:0;border-left:.35rem solid transparent;border-right:.35rem solid transparent;border-top:.35rem solid currentColor;}
.accordion__header[aria-expanded="true"] .accordion__icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);}
.accordion__panel{max-height:0;overflow:hidden;-webkit-transition:max-height var(--transition-normal);transition:max-height var(--transition-normal);}
.accordion__content{padding:0 var(--space-5) var(--space-5);}

/* ===== 24) SPINNER — layout ===== */
.spinner{display:inline-block;width:2rem;height:2rem;border-radius:50%;}
.spinner--xs{width:1rem;height:1rem;}.spinner--sm{width:1.5rem;height:1.5rem;}.spinner--lg{width:3rem;height:3rem;}.spinner--xl{width:4rem;height:4rem;}
.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--space-4);z-index:var(--z-modal);}

/* ===== 25) TOOLTIP — posicionamiento ===== */
.tooltip{position:relative;display:inline-block;}
.tooltip__content{position:absolute;bottom:100%;left:50%;-webkit-transform:translateX(-50%) translateY(-.5rem);transform:translateX(-50%) translateY(-.5rem);white-space:nowrap;opacity:0;visibility:hidden;-webkit-transition:opacity var(--transition-fast),visibility var(--transition-fast);transition:opacity var(--transition-fast),visibility var(--transition-fast);z-index:var(--z-tooltip);pointer-events:none;}
.tooltip:hover .tooltip__content,.tooltip:focus-within .tooltip__content,.tooltip__trigger:focus + .tooltip__content{opacity:1;visibility:visible;}
.tooltip--bottom .tooltip__content{bottom:auto;top:100%;-webkit-transform:translateX(-50%) translateY(.5rem);transform:translateX(-50%) translateY(.5rem);}
.tooltip--left .tooltip__content{bottom:auto;top:50%;left:auto;right:100%;-webkit-transform:translateX(-.5rem) translateY(-50%);transform:translateX(-.5rem) translateY(-50%);}
.tooltip--right .tooltip__content{bottom:auto;top:50%;left:100%;-webkit-transform:translateX(.5rem) translateY(-50%);transform:translateX(.5rem) translateY(-50%);}
.tooltip--multiline .tooltip__content{white-space:normal;width:200px;}

/* ===== 26) BADGE — layout ===== */
.badge{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-1);white-space:nowrap;}
.badge__remove{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:1rem;height:1rem;padding:0;border:none;border-radius:50%;cursor:pointer;}
.badge--dot{padding:0;width:.5rem;height:.5rem;border-radius:50%;}
.badge--dot.badge--lg{width:.75rem;height:.75rem;}

/* ===== 27) PROGRESS — layout ===== */
.progress{height:.5rem;overflow:hidden;}
.progress__bar{height:100%;}
.progress--sm{height:.25rem;}.progress--lg{height:1rem;}
.progress-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--space-2);}
.progress-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;}

/* ===== 28) BACK TO TOP — layout ===== */
.back-to-top{position:fixed;bottom:var(--space-6);right:var(--space-6);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:3rem;height:3rem;padding:0;border:none;border-radius:var(--radius-full);cursor:pointer;opacity:0;visibility:hidden;-webkit-transform:translateY(1rem);transform:translateY(1rem);-webkit-transition:opacity var(--transition-normal),visibility var(--transition-normal),-webkit-transform var(--transition-normal);transition:opacity var(--transition-normal),visibility var(--transition-normal),transform var(--transition-normal);z-index:var(--z-fixed);}
.back-to-top.is-visible{opacity:1;visibility:visible;-webkit-transform:translateY(0);transform:translateY(0);}
@media (max-width:47.999rem){.back-to-top{bottom:var(--space-4);right:var(--space-4);width:2.5rem;height:2.5rem;}}

/* ===== 29) BTN LOADING ===== */
.btn.is-loading{position:relative;pointer-events:none;cursor:wait;}
.btn.is-loading>*{visibility:hidden;}
.btn.is-loading::after{content:'';position:absolute;top:50%;left:50%;width:1.1rem;height:1.1rem;margin-top:-.55rem;margin-left:-.55rem;border:2px solid currentColor;border-radius:50%;}

/* ===== 30) DROPDOWN — layout ===== */
.dropdown{position:relative;display:inline-block;vertical-align:top;}
.dropdown__toggle{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:.5rem;cursor:pointer;}
.dropdown__arrow{display:inline-block;width:0;height:0;margin-left:.35rem;border-left:.28rem solid transparent;border-right:.28rem solid transparent;border-top:.28rem solid currentColor;-webkit-transition:-webkit-transform .2s ease;transition:transform .2s ease;}
.dropdown.is-open .dropdown__arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg);}
.dropdown__menu{position:absolute;top:100%;left:0;min-width:11rem;margin-top:.35rem;opacity:0;visibility:hidden;-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem);-webkit-transition:opacity .15s ease,visibility .15s ease,-webkit-transform .15s ease;transition:opacity .15s ease,visibility .15s ease,transform .15s ease;z-index:var(--z-dropdown);}
.dropdown.is-open .dropdown__menu{opacity:1;visibility:visible;-webkit-transform:translateY(0);transform:translateY(0);}
.dropdown--right .dropdown__menu{left:auto;right:0;}
.dropdown__item{display:block;width:100%;padding:.5rem 1rem;background:none;border:none;text-align:left;text-decoration:none;cursor:pointer;}

/* ===== 31) REDUCED MOTION ===== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    -webkit-animation-duration:.01ms !important;animation-duration:.01ms !important;
    -webkit-animation-iteration-count:1 !important;animation-iteration-count:1 !important;
    -webkit-transition-duration:.01ms !important;transition-duration:.01ms !important;
  }
  .back-to-top{-webkit-transition:opacity var(--transition-fast),visibility var(--transition-fast);transition:opacity var(--transition-fast),visibility var(--transition-fast);-webkit-transform:none;transform:none;}
}

/* ===== 32) PRINT ===== */
@media print{
  .menu-toggle,.menu-container,.menu-modal-overlay,.back-to-top,.modal-overlay,.alert__close{display:none !important;}
  .left-sidebar,.right-sidebar{display:none !important;}
  .main-content{grid-column:1 / -1 !important;}
  .site-footer{padding:1rem 0;}
  .soap-hero-pro__cta,.soap-why__cta{display:none;}
}

/* ===== 33) IE11 FALLBACKS ===== */
@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){
  .custom-grid-container{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:-.6vw;}
  .custom-grid-container>*{-ms-flex:0 0 auto;flex:0 0 auto;padding:.6vw;width:100%;}
  .custom-col-span-2{width:50%;}.custom-col-span-4{width:100%;}
  .content-wrapper{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;}
  .main-content{-ms-flex:1 1 0%;flex:1 1 0%;min-width:0;}
  .left-sidebar,.right-sidebar{-ms-flex:0 0 200px;flex:0 0 200px;}
  .card{display:block;height:auto;}.card .btn{margin-top:1rem;}.card__excerpt{min-height:60px;}
  .menu-tabs__content-grid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;}
  .menu-tabs__column{-ms-flex:0 0 50%;flex:0 0 50%;padding:.5rem;}
  .footer-grid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:-.75rem;}
  .footer-grid>section,.footer-grid>.footer-column{-ms-flex:0 0 100%;flex:0 0 100%;padding:.75rem;}
}


/* ===========================================
   SOAP — layout estructural únicamente
   =========================================== */

.soap-page *,.soap-page *::before,.soap-page *::after{box-sizing:border-box;}

.soap-sr-only,.soap-seo-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* Hero */
.soap-hero-pro__content{max-width:1100px;margin:0 auto;}
.soap-hero-pro__features{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:0 0 1.5rem 0;padding:0;list-style:none;}
.soap-hero-pro__feature{display:flex;align-items:center;gap:.4rem;}
.soap-hero-pro__visual{display:none;}

/* Flotas */
.soap-flotas{overflow:hidden;margin:1.5rem 0;}
.soap-flotas__header{display:flex;align-items:center;gap:.85rem;}
.soap-flotas__header-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.soap-flotas__header-text{flex:1;min-width:0;}
.soap-flotas__benefits{list-style:none;margin:0 0 1.25rem 0;padding:0;display:flex;flex-direction:column;gap:.6rem;}
.soap-flotas__benefits li{display:flex;align-items:flex-start;gap:.6rem;}
.soap-flotas__benefits li i{flex-shrink:0;}
.soap-flotas__benefits li span{flex:1;}
.soap-flotas__cta-wrapper{text-align:center;}
.soap-flotas__cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;min-height:44px;text-decoration:none;}

/* Vehicle tabs */
.soap-vehicle-tabs__container{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;max-width:600px;margin:0 auto;}
.soap-vehicle-tabs__item{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-decoration:none;white-space:nowrap;}

/* Process timeline */
.soap-process__timeline{max-width:600px;margin:0 auto;position:relative;list-style:none;padding:0;}
.soap-process__step{display:flex;gap:1rem;padding-bottom:1.75rem;position:relative;}
.soap-process__step:last-child{padding-bottom:0;}
.soap-process__step::before{content:'';position:absolute;left:18px;top:40px;bottom:0;width:2px;}
.soap-process__step:last-child::before{display:none;}
.soap-process__step-marker{flex-shrink:0;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:1;}
.soap-process__step-content{flex:1;padding-top:.15rem;}
.soap-process__step-tags{display:flex;flex-wrap:wrap;gap:.3rem;}
.soap-process__step-tags span{display:inline-flex;align-items:center;gap:.3rem;}

/* Why */
.soap-why__container{max-width:1000px;margin:0 auto;}
.soap-why__stats{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;}
.soap-why__benefits{display:grid;grid-template-columns:1fr;gap:.65rem;}
.soap-why__benefit{display:flex;align-items:flex-start;gap:.7rem;}
.soap-why__benefit-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.soap-why__cta{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;}

/* Info */
.soap-info-section__grid{display:grid;grid-template-columns:1fr;gap:1.75rem;}
.soap-info-section__alert{display:flex;gap:.7rem;}
.soap-info-section__alert-icon{flex-shrink:0;}
.soap-info-section__coverage-title{display:flex;align-items:center;gap:.5rem;}
.soap-coverage-grid{display:grid;grid-template-columns:1fr;gap:.6rem;}
.soap-coverage-card__header{display:flex;justify-content:space-between;align-items:center;}

/* Accident */
.soap-accident-section__steps{display:grid;grid-template-columns:1fr;gap:.85rem;max-width:900px;margin:0 auto;list-style:none;padding:0;}
.soap-accident-section__step{text-align:center;}
.soap-accident-section__step-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin:0 auto .65rem;}

/* FAQ */
.soap-faq-section__grid{display:grid;grid-template-columns:1fr;gap:.6rem;max-width:900px;margin:0 auto;}
.soap-faq-item{overflow:hidden;}
.soap-faq-item__question{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;}
.soap-faq-item__question::-webkit-details-marker{display:none;}
.soap-faq-item__icon{flex-shrink:0;width:18px;height:18px;position:relative;margin-left:.85rem;}
.soap-faq-item__icon::before,.soap-faq-item__icon::after{content:'';position:absolute;}
.soap-faq-item__icon::before{width:10px;height:2px;top:50%;left:50%;transform:translate(-50%,-50%);}
.soap-faq-item__icon::after{width:2px;height:10px;top:50%;left:50%;transform:translate(-50%,-50%);}
.soap-faq-item[open] .soap-faq-item__icon::after{transform:translate(-50%,-50%) rotate(90deg);}

/* Payment */
.soap-payment-section__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-bottom:1.1rem;max-width:500px;margin-left:auto;margin-right:auto;list-style:none;padding:0;}
.soap-payment-section__item{display:flex;flex-direction:column;align-items:center;gap:.2rem;}
.soap-payment-section__security{display:inline-flex;align-items:center;gap:.4rem;}
.soap-payment-section__security i{flex-shrink:0;}

/* SOAP media queries */
@media (min-width:30rem){
  .soap-coverage-grid{grid-template-columns:repeat(2,1fr);}
  .soap-accident-section__steps{grid-template-columns:repeat(2,1fr);}
}
@media (min-width:48rem){
  .soap-hero-pro__content{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;}
  .soap-hero-pro__visual{display:flex;align-items:center;justify-content:center;}
  .soap-flotas__benefits{flex-direction:row;flex-wrap:wrap;gap:.5rem 1.5rem;}
  .soap-flotas__benefits li{flex:0 0 auto;}
  .soap-why__stats{gap:2.5rem;}
  .soap-why__benefits{grid-template-columns:repeat(2,1fr);}
  .soap-info-section__grid{grid-template-columns:1fr 1fr;gap:2.25rem;}
  .soap-accident-section__steps{grid-template-columns:repeat(4,1fr);}
  .soap-faq-section__grid{grid-template-columns:repeat(2,1fr);gap:.85rem;}
}
@media (min-width:64rem){
  .soap-why__container{display:grid;grid-template-columns:1fr 1.3fr;gap:2.5rem;align-items:center;}
  .soap-why__main{margin-bottom:0;}
  .soap-why__stats{justify-content:flex-start;}
}

/* SOAP sidebar compatibility */
@media (min-width:48rem){
  #containerClass.sidebar-both .soap-why__benefits{grid-template-columns:1fr;}
  #containerClass.sidebar-both .soap-info-section__grid{grid-template-columns:1fr;}
  #containerClass.sidebar-both .soap-accident-section__steps{grid-template-columns:repeat(2,1fr);}
  #containerClass.sidebar-both .soap-faq-section__grid{grid-template-columns:1fr;}
}
@media (min-width:64rem){
  #containerClass.sidebar-both .soap-why__benefits{grid-template-columns:repeat(2,1fr);}
  #containerClass.sidebar-both .soap-info-section__grid{grid-template-columns:repeat(2,1fr);}
  #containerClass.sidebar-both .soap-accident-section__steps{grid-template-columns:repeat(4,1fr);}
  #containerClass.sidebar-both .soap-faq-section__grid{grid-template-columns:repeat(2,1fr);}
}
