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

/* =========================================================
   SISTEMA DE DISEÑO COMPLETO (CONSOLIDADO)
   Mobile First + Fallbacks IE/Moz + Grid Adaptativo
   - Menú Modal con Pestañas para Tablet/Desktop
   ========================================================= */

/* ===== 0) RESET Y BASE ===== */
html{
  font-size:100%;
  line-height:1.3;
  -webkit-text-size-adjust:100%;
  -ms-text-size-adjust:100%;
  overflow-x:hidden;
  max-width:100vw;
}
body{
  margin:0;
  line-height:inherit;
  font-family:var(--font-family);
  color:var(--color-text);
  background:var(--color-bg);
  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{

  /* SOAPTAXIS brand additions */
  --brand-yellow:#FCD116;
  --brand-yellow-dark:#E6B800;
  --brand-yellow-light:#FFF4C2;
  --brand-yellow-soft:#FFF9E0;
  --brand-green:#4CAF50;
  --brand-green-dark:#2E7D32;
  --brand-green-light:#E8F5E9;
  --brand-blue:#2B80D0;
  --brand-blue-dark:#1E5DA0;
  --brand-blue-light:#E3F0FC;
  --brand-black:#1A1A1A;
  --grid-gap-vw:1.2vw;
  --grid-row-gap-vh:1.2vh;
  --container-max-width:1440px;
  --container-vw:94vw;
  --container-padding-vw:4vw;

  --color-primary:#FCD116;
  --color-primary-dark:#E6B800;
  --color-primary-light:#FFF9E0;
  --color-primary-rgb:252,209,22;

  --color-menutoggle:#1A1A1A;
  --color-text:#0B1A2A;
  --color-text-secondary:#2d2d2d;
  --color-text-muted:#64748b;
  --color-text-inverse:#ffffff;

  --color-bg:#ffffff;
  --color-bg-light:#FFF9E0;
  --color-bg-subtle:#f7f7f5;
  --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(252,209,22,.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) FIX 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{
  background:var(--color-bg-light);
  padding:var(--space-4);
  border-radius:var(--radius-md);
  border:var(--border-width) solid var(--color-border);
  min-width:0;
  overflow:hidden;
}

/* ===== 6) BASE DEL SITIO + HEADER ===== */
#containerClass{
  margin:0;
  font-family:var(--font-family);
  color:var(--color-text);
  background:var(--color-bg);
}

.topbar{position:relative;z-index:1002 !important;}
.site-header{
  position:relative;
  z-index:1001 !important;
  background:var(--color-bg);
  border-bottom:1px solid var(--color-border);
  -webkit-box-shadow:0 6px 22px rgba(0,38,84,.06);
  box-shadow:0 6px 22px rgba(0,38,84,.06);
}

.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);
  font-size:1.5rem;
  font-weight:bold;
  color:var(--color-text);
  text-decoration:none;
}

/* Logo responsivo */
.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;}
}

/* Header layout - Mobile */
@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;}
}

/* Header layout - Tablet */
@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);}
}

/* Header layout - Desktop */
@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 (Universal) ===== */
.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;
  background-color:var(--color-menutoggle);
  border:none;
  border-radius:var(--radius-md);
  cursor:pointer;
  z-index:1001;
  -webkit-transition:background-color .2s ease,-webkit-box-shadow .2s ease;
  transition:background-color .2s ease,box-shadow .2s ease;
  -webkit-box-shadow:0 2px 4px rgba(0,90,217,.25);
  box-shadow:0 2px 4px rgba(0,90,217,.25);
}
.menu-toggle:hover{
  background-color:var(--color-primary-dark);
  -webkit-box-shadow:0 4px 8px rgba(0,90,217,.35);
  box-shadow:0 4px 8px rgba(0,90,217,.35);
}
.menu-toggle:focus-visible{
  outline:2px solid var(--color-text-inverse);
  outline-offset:2px;
  -webkit-box-shadow:0 0 0 4px rgba(0,90,217,.4);
  box-shadow:0 0 0 4px rgba(0,90,217,.4);
}

.menu-toggle span{
  display:block !important;
  width:20px !important;
  height:2px !important;
  min-height:2px !important;
  background-color:#fff !important;
  border-radius:2px;
  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"]{
  background-color:var(--color-primary-dark) !important;
  -webkit-box-shadow:0 2px 8px rgba(0,58,140,.4) !important;
  box-shadow:0 2px 8px rgba(0,58,140,.4) !important;
}
.menu-toggle[aria-expanded="true"] span{background-color:#fff !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 (Acordeón - Panel Lateral) ===== */
.menu-container{
  position:fixed;
  left:-100%;
  top:0;
  width:100%;
  height:100vh;
  height:100dvh;
  background:var(--color-bg);
  border-top:3px solid var(--color-primary);
  -webkit-box-shadow:var(--shadow-xl);
  box-shadow:var(--shadow-xl);
  -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;
  }
}

/* Ocultar menú móvil en tablet/desktop */
@media (min-width:48rem){
  .menu-container{display:none !important;}
}

/* Menú móvil - Estructura interna */
.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;
  font-weight:700;
  letter-spacing:.1px;
  color:var(--color-text);
  text-decoration:none;
  padding:1rem 1.25rem;
  line-height:1;
  border-bottom:1px solid var(--color-border);
  border-radius:.35rem;
  min-height:2.75rem;
  -webkit-transition:background .2s ease,color .2s ease;
  transition:background .2s ease,color .2s ease;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.menu-link:hover,.menu-link:focus{background:var(--color-bg-light);}
.menu-link[aria-expanded="true"]{
  background:var(--brand-yellow);
  color:var(--brand-black);
  border-bottom-color:transparent;
}

.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::after{border-top-color:var(--color-text-inverse);}
.menu-link[aria-expanded="true"] .menu-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg);}

/* Submenú móvil (acordeón) */
.submenu-container{
  max-height:0;
  overflow:hidden;
  -webkit-transition:max-height var(--transition-speed);
  transition:max-height var(--transition-speed);
  background:var(--color-bg);
  border-left:3px solid var(--color-primary);
}
.submenu-container.is-open{max-height:999rem;}
.submenu-grid{padding:.5rem 1.25rem 1rem;}
.submenu-column{margin-bottom:1rem;}
.submenu-heading{
  font-weight:700;
  font-size:.95rem;
  color:var(--color-text);
  margin:.75rem 0 .35rem;
  padding-bottom:.35rem;
  border-bottom:1px solid var(--color-border);
}
.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;
  color:var(--color-text);
  text-decoration:none;
  padding:.45rem .25rem .45rem .6rem;
  border-left:3px solid transparent;
  border-radius:var(--radius-sm);
  -webkit-transition:background .15s ease,border-color .15s ease;
  transition:background .15s ease,border-color .15s ease;
  touch-action:manipulation;
}
.submenu-link:hover,.submenu-link:focus{
  background:var(--color-bg-light);
  border-left-color:var(--color-primary);
  text-decoration:none;
}

/* ===== 9) MENÚ MODAL (Tablet/Desktop) ===== */

/* Modal Overlay - Posicionado debajo del header */
.menu-modal-overlay{
  position:fixed;top:0;right:0;bottom:0;left:0;
  width:100%;height:100%;
  background-color:rgba(0,0,0,.6);
  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);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
  /* Offset: topbar(2.5rem) + header tablet(3.6rem) = 6.1rem */
  padding-top:6.1rem;
}
@media (min-width:48rem){
  .menu-modal-overlay{display:-webkit-box;display:-ms-flexbox;display:flex;}
}
@media (min-width:64rem){
  /* Offset: topbar(2.5rem) + header desktop(5rem) = 7.5rem */
  .menu-modal-overlay{padding-top:7.5rem;}
}
/* WordPress admin bar adjustment */
.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;}

/* Modal Container - Altura calculada respecto al espacio disponible */
.menu-modal{
  background-color:var(--color-bg);
  border-radius:var(--radius-lg);
  -webkit-box-shadow:var(--shadow-xl);
  box-shadow:var(--shadow-xl);
  width:94%;
  max-width:1200px;
  /* Altura: viewport - offset header - margen inferior */
  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%;
  }
}
/* WordPress admin bar adjustment */
.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);
}

/* Modal Close Button - En la barra de pestañas */
.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;
  border-radius:var(--radius-md);
  cursor:pointer;
  color:var(--color-text-muted);
  font-size:var(--font-size-lg);
  line-height:1;
  -webkit-transition:color var(--transition-fast),background-color var(--transition-fast);
  transition:color var(--transition-fast),background-color var(--transition-fast);
  -ms-flex-negative:0;flex-shrink:0;
}
.menu-modal__close:hover,.menu-modal__close:focus{
  color:var(--color-text);
  background-color:var(--color-bg-subtle);
}
.menu-modal__close:focus-visible{
  outline:var(--border-width-thick) solid var(--color-primary);
  outline-offset:2px;
}

/* Modal Body */
.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;
}

/* Pestaña de enlace (Contacto) */
.menu-tabs__tab--link{
  color:var(--brand-blue);
  text-decoration:none;
}
.menu-tabs__tab--link:hover{
  color:var(--color-primary-dark);
  background-color:rgba(0,90,217,.1);
}

/* ===== 10) PESTAÑAS DEL 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;
}

/* Header de pestañas (tabs + botón cerrar) */
.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);
  background-color:var(--color-bg-light);
  border-bottom:var(--border-width-thick) solid var(--color-border);
  padding-right:var(--space-3);
  -ms-flex-negative:0;flex-shrink:0;
}

/* Lista de pestañas */
.menu-tabs__list{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -ms-flex-wrap:nowrap;flex-wrap:nowrap;
  gap:0;
  border-bottom:none;
  margin:0;
  padding:0 var(--space-4);
  list-style:none;
  background-color:transparent;
  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;}

/* Pestaña individual */
.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;
  border-bottom:var(--border-width-accent) solid transparent;
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-muted);
  cursor:pointer;
  white-space:nowrap;
  -webkit-transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast);
  transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast);
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
@media (min-width:64rem){
  .menu-tabs__tab{
    padding:var(--space-4) var(--space-5);
    font-size:var(--font-size-base);
  }
}
@media (max-height:700px){
  .menu-tabs__tab{padding:var(--space-2) var(--space-3);}
}
.menu-tabs__tab:hover{
  color:var(--color-text);
  background-color:rgba(0,90,217,.05);
}
.menu-tabs__tab:focus-visible{
  outline:var(--border-width-thick) solid var(--color-primary);
  outline-offset:-2px;
  z-index:1;
}
.menu-tabs__tab[aria-selected="true"],.menu-tabs__tab.is-active{
  color:var(--brand-black);
  border-bottom-color:var(--color-primary);
  background-color:var(--color-bg);
}
.menu-tabs__tab[disabled]{opacity:.5;cursor:not-allowed;}
.menu-tabs__tab i{font-size:1.1em;}

/* Contenedor de paneles */
.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;
}

/* Panel individual - Padding homogéneo */
.menu-tabs__panel{
  display:none;
  padding:var(--space-4) var(--space-5);
  -webkit-animation:menuTabFadeIn .2s ease-out;
  animation:menuTabFadeIn .2s ease-out;
}
@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;}

@-webkit-keyframes menuTabFadeIn{from{opacity:0;-webkit-transform:translateY(8px);transform:translateY(8px);}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);}}
@keyframes menuTabFadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* Grid de contenido de pestaña - Máx 5 columnas */
.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);}
}

/* Columna de contenido */
.menu-tabs__column{min-width:0;}

.menu-tabs__column-title{
  font-weight:var(--font-weight-bold);
  font-size:var(--font-size-sm);
  color:var(--color-text);
  margin:0 0 var(--space-2) 0;
  padding-bottom:var(--space-1);
  border-bottom:2px solid var(--color-primary);
}
@media (min-width:64rem){
  .menu-tabs__column-title{
    font-size:var(--font-size-base);
    margin:0 0 var(--space-3) 0;
    padding-bottom:var(--space-2);
  }
}

.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;
  color:var(--color-text);
  text-decoration:none;
  padding:var(--space-1) var(--space-2);
  border-left:2px solid transparent;
  border-radius:var(--radius-sm);
  font-size:var(--font-size-xs);
  line-height:var(--line-height-normal);
  -webkit-transition:background .15s ease,border-color .15s ease,color .15s ease;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
@media (min-width:64rem){
  .menu-tabs__link{
    padding:var(--space-2) var(--space-3);
    font-size:var(--font-size-sm);
  }
}
.menu-tabs__link:hover,.menu-tabs__link:focus{
  background:var(--color-bg-light);
  border-left-color:var(--brand-yellow);
  color:var(--brand-black);
  text-decoration:none;
}
.menu-tabs__link:focus-visible{
  outline:2px solid var(--color-primary);
  outline-offset:-2px;
}

/* ===== 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);
  background-color:var(--brand-yellow);
  color:var(--brand-black);
  padding:var(--space-3) var(--space-6);
  border-radius:var(--radius-md);
  font-weight:var(--font-weight-semibold);
  text-decoration:none;
  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);outline:var(--border-width-thick) solid var(--color-text-inverse);outline-offset:2px;}
*:focus-visible{outline:2px solid var(--brand-black);outline-offset:2px;}

/* Bloqueo scroll cuando modal abierto */
body.menu-modal-open,
#containerClass.menu-modal-open{overflow:hidden !important;}
html.menu-modal-open,
html:has(body.menu-modal-open){overflow:hidden !important;}

/* Mobile menu open */
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) TIPOGRAFÍA ===== */
h1{font-size:2.5rem;line-height:1.2;margin:1.5rem 0 1rem;}
h2{font-size:2rem;line-height:1.3;margin:1.25rem 0 .75rem;}
h3{font-size:1.5rem;line-height:1.4;margin:1rem 0 .5rem;}
h4{font-size:1.25rem;line-height:1.5;margin:.75rem 0 .5rem;}
h5{font-size:1rem;line-height:1.5;margin:.5rem 0 .25rem;}
h6{font-size:.857rem;line-height:1.6;margin:.5rem 0 .25rem;}
p{font-size:1rem;line-height:1.5;margin:0 0 1rem;}
a{
  font-size:1rem;
  color:var(--brand-blue);
  text-decoration:none;
  -webkit-transition:color .2s ease;
  transition:color .2s ease;
}
a:hover,a:focus{color:var(--brand-blue-dark);text-decoration:underline;}

/* ===== 13) COMPONENTES LAYOUT ===== */
.topbar{
  background:var(--color-bg-subtle);
  border-bottom:1px solid var(--color-border);
  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;
  font-size:.857rem;
}
.breadcrumb li{display:inline;}
.breadcrumb li+li::before{content:" > ";color:#666;padding:0 .25rem;}
.breadcrumb a{color:var(--brand-blue);}
.breadcrumb .current{color:#333;}

.hero{
  background:var(--color-bg-light);
  padding:2rem 1rem;
  text-align:center;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
}
@media (min-width:48rem){.hero{padding:2.5rem 2rem;text-align:left;}}
@media (min-width:64rem){.hero{padding:3rem 3rem;}}
.cta{
  display:inline-block;
  background:var(--brand-yellow);
  color:var(--brand-black);
  padding:.75rem 1.5rem;
  border-radius:var(--radius-md);
  font-weight:bold;
  -webkit-transition:background .2s ease;
  transition:background .2s ease;
}
.cta:hover,.cta:focus{background:var(--color-primary-dark);text-decoration:none;color:var(--color-text-inverse);}

.products{margin-top:1.5rem;}
.products article{
  background:var(--color-bg);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  padding:1rem;
  text-align:center;
  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;
}
.products article p{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;}
.products article .btn{margin-top:auto;-ms-flex-item-align:start;align-self:flex-start;}
.products img{max-width:100%;height:auto;}
.about{padding:2rem 0;}

@-ms-viewport{width:device-width;}
img{-ms-interpolation-mode:bicubic;max-width:100%;height:auto;display:block;}
figure{margin:1rem 0;}
figcaption{font-size:.857rem;color:#666;text-align:center;margin-top:.5rem;}

/* ===== 14) ACORDEONES MOBILE SIDEBARS ===== */
.mobile-sidebars{padding:1rem 0;}
.accordion-btn{
  display:block;
  width:100%;
  background:var(--brand-yellow);
  color:var(--brand-black);
  padding:1rem;
  border:none;
  text-align:left;
  font-weight:bold;
  cursor:pointer;
  -webkit-transition:background .2s ease;
  transition:background .2s ease;
  border-radius:var(--radius-md);
  margin-bottom:.5rem;
}
.accordion-btn[aria-expanded="true"]{background:var(--brand-yellow-dark);color:var(--brand-black);}
.accordion-panel{
  max-height:0;
  overflow:hidden;
  -webkit-transition:max-height var(--transition-speed);
  transition:max-height var(--transition-speed);
  background:var(--color-bg-light);
  padding:0 1rem;
  border-radius:var(--radius-md);
}

/* ===== 15) FOOTER ===== */
.site-footer{
  background:var(--color-bg-dark);
  color:var(--color-text-inverse);
  padding:0;
  margin-top:2rem;
  width:100%;
  font-size:var(--font-size-base);
  line-height:var(--line-height-normal);
}
.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;text-align:center;}
.footer-grid--center section,.footer-grid--center .footer-column{max-width:400px;}
.footer-grid--left{justify-items:start;text-align:left;}
.footer-grid--right{justify-items:end;text-align:right;}
.footer-column--left{justify-self:start;text-align:left;}
.footer-column--center{justify-self:center;text-align:center;}
.footer-column--right{justify-self:end;text-align:right;}
.footer-grid>section,.footer-grid>.footer-column{min-width:0;}
.footer-top h3,.footer-grid h3,.footer-column__title{
  color:var(--color-text-inverse);
  font-size:var(--font-size-lg);
  font-weight:var(--font-weight-semibold);
  margin:0 0 1rem 0;
  padding-bottom:.5rem;
  border-bottom:2px solid rgba(255,255,255,.1);
}
.footer-top ul,.footer-grid ul{list-style:none;padding:0;margin:0;}
.footer-top li,.footer-grid li{margin-bottom:.625rem;}
.footer-top li:last-child,.footer-grid li:last-child{margin-bottom:0;}
.footer-top a,.footer-grid a{
  color:rgba(255,255,255,.7);
  text-decoration:none;
  display:inline-block;
  padding:.25rem 0;
  position:relative;
  -webkit-transition:color var(--transition-fast);
  transition:color var(--transition-fast);
}
.footer-top a:hover,.footer-grid a:hover,.footer-top a:focus,.footer-grid a:focus{color:var(--brand-yellow);}
.footer-top a::after,.footer-grid a::after{
  content:'';
  position:absolute;bottom:0;left:0;width:0;height:1px;
  background:var(--color-primary);
  -webkit-transition:width var(--transition-normal);
  transition:width var(--transition-normal);
}
.footer-top a:hover::after,.footer-grid a:hover::after,.footer-top a:focus::after,.footer-grid a:focus::after{width:100%;}
.footer-top a:focus-visible,.footer-grid a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm);}

.footer-bottom{
  background:rgba(0,0,0,.2);
  padding:1.25rem 0;
  border-top:1px solid rgba(255,255,255,.1);
}
.footer-bottom p{margin:0;font-size:var(--font-size-sm);color:rgba(255,255,255,.6);text-align:center;}
.footer-bottom a{color:rgba(255,255,255,.8);}
.footer-bottom a:hover,.footer-bottom a:focus{color:var(--color-text-inverse);}

.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__content p{text-align:left;}
}
.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;
  font-size:var(--font-size-sm);
}
@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;
  background:rgba(255,255,255,.1);
  border-radius:var(--radius-full);
  color:rgba(255,255,255,.8);
  -webkit-transition:background var(--transition-fast),color var(--transition-fast),-webkit-transform var(--transition-fast);
  transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);
}
.footer-social a::after{display:none;}
.footer-social a:hover,.footer-social a:focus{background:var(--brand-yellow);color:var(--brand-black);-webkit-transform:translateY(-2px);transform:translateY(-2px);}
.footer-social a:focus-visible{outline:2px solid var(--color-text-inverse);outline-offset:2px;}
.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;
  padding:.6rem .75rem;
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.1);
  color:var(--color-text-inverse);
  font-size:var(--font-size-sm);
}
.footer-newsletter__input::-webkit-input-placeholder{color:rgba(255,255,255,.5);}
.footer-newsletter__input::-moz-placeholder{color:rgba(255,255,255,.5);}
.footer-newsletter__input:-ms-input-placeholder{color:rgba(255,255,255,.5);}
.footer-newsletter__input::placeholder{color:rgba(255,255,255,.5);}
.footer-newsletter__input:focus{outline:none;border-color:var(--color-primary);background:rgba(255,255,255,.15);}
.footer-newsletter__btn{
  padding:.6rem 1rem;
  background:var(--brand-yellow);
  color:var(--brand-black);
  border:none;
  border-radius:var(--radius-md);
  font-weight:var(--font-weight-semibold);
  cursor:pointer;
  -webkit-transition:background var(--transition-fast);
  transition:background var(--transition-fast);
}
.footer-newsletter__btn:hover,.footer-newsletter__btn:focus{background:var(--brand-yellow-dark);}

/* IE11 footer fallback */
@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){
  .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;}
  @media (min-width:48rem){
    .footer-grid>section,.footer-grid>.footer-column{-ms-flex:0 0 50%;flex:0 0 50%;}
  }
  @media (min-width:64rem){
    .footer-grid>section,.footer-grid>.footer-column{-ms-flex:0 0 25%;flex:0 0 25%;}
  }
}

/* Footer print */
@media print{
  .site-footer{background:#fff !important;color:#000 !important;padding:1rem 0;}
  .footer-top a{color:#000 !important;}
  .footer-social,.footer-newsletter{display:none !important;}
}

/* ===== 16) BOTONES ===== */
.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;
  padding:.65rem 1.4rem;
  border-radius:var(--radius-md);
  border:1px solid transparent;
  font-weight:600;
  font-size:.95rem;
  line-height:1.2;
  text-decoration:none;
  text-align:center;
  cursor:pointer;
  background-color:#e5e7eb;
  color:var(--color-text-secondary);
  -webkit-transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.btn:hover,.btn:focus{text-decoration:none;}
.btn--primary{background-color:var(--brand-yellow);border-color:var(--brand-yellow-dark);color:var(--brand-black);}
.btn--primary:hover,.btn--primary:focus{background-color:var(--brand-yellow-dark);border-color:var(--color-primary-dark);-webkit-box-shadow:var(--shadow-primary);box-shadow:var(--shadow-primary);}
.btn--secondary{background-color:var(--color-bg);border-color:var(--brand-yellow-dark);color:var(--brand-black);}
.btn--secondary:hover,.btn--secondary:focus{background-color:var(--color-bg-light);-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md);}
.btn--ghost{background-color:transparent;border-color:var(--color-border-light);color:var(--color-text);}
.btn--ghost:hover,.btn--ghost:focus{background-color:#e5f0ff;}
.btn--sm{padding:.45rem .9rem;font-size:.857rem;}
.btn--lg{padding:.9rem 1.8rem;font-size:1rem;}
.btn--icon{padding:.5rem;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);}
.btn__icon{display:inline-block;font-size:1rem;}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;-webkit-box-shadow:none;box-shadow:none;}
.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;}

/* ===== 17) FORMULARIOS ===== */
.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-label{font-size:.9rem;font-weight:600;color:var(--color-text);}

.form-control,.form-textarea{
  width:100%;
  padding:.6rem .75rem;
  border-radius:.4rem;
  border:1px solid var(--color-border-light);
  font-size:.95rem;
  line-height:1.4;
  background-color:var(--color-bg);
  color:var(--color-text);
  -webkit-transition:border-color .15s ease,box-shadow .15s ease;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.form-textarea{min-height:5rem;resize:vertical;}
.form-control:focus,.form-textarea:focus{
  border-color:var(--color-primary);
  -webkit-box-shadow:0 0 0 1px rgba(0,90,217,.45);
  box-shadow:0 0 0 1px rgba(0,90,217,.45);
  outline:none;
}

.form-select{
  width:100%;
  padding:.6rem 2.5rem .6rem .75rem;
  border-radius:.4rem;
  border:1px solid var(--color-border-light);
  font-size:.95rem;
  line-height:1.4;
  background-color:var(--color-bg);
  color:var(--color-text);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230B1A2A' d='M6 8.825L1.175 4 2.238 2.938 6 6.7l3.763-3.762L10.825 4z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .75rem center;
  background-size:12px;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  cursor:pointer;
  -webkit-transition:border-color .15s ease,box-shadow .15s ease;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.form-select::-ms-expand{display:none;}
.form-select:focus{
  border-color:var(--color-primary);
  -webkit-box-shadow:0 0 0 1px rgba(0,90,217,.45);
  box-shadow:0 0 0 1px rgba(0,90,217,.45);
  outline:none;
}
.form-select option{padding:.5rem;background-color:var(--color-bg);color:var(--color-text);}
.form-select option[value=""]{color:var(--color-text-muted);}
@media (pointer:coarse){
  .form-control,.form-select,.form-textarea{padding:.8rem .9rem;}
  .form-select{padding:.8rem 2.5rem .8rem .9rem;min-height:44px;}
}

.form-help{font-size:.8rem;color:var(--color-text-muted);}
.form-error{font-size:.8rem;color:#b91c1c;}
.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;font-size:.9rem;
}
.form-check-group input[type="checkbox"],.form-check-group input[type="radio"]{margin-top:.15rem;}
.form-actions{
  margin-top:1.5rem;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -ms-flex-wrap:wrap;flex-wrap:wrap;
  gap:.75rem;
}

/* Validación */
.form-control.is-valid,.form-select.is-valid,.form-textarea.is-valid{
  border-color:var(--color-success);
  padding-right:2.5rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2322c55e'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .75rem center;
  background-size:1.25rem;
}
.form-control.is-valid:focus,.form-select.is-valid:focus,.form-textarea.is-valid:focus{
  border-color:var(--color-success);
  -webkit-box-shadow:0 0 0 1px rgba(34,197,94,.45);
  box-shadow:0 0 0 1px rgba(34,197,94,.45);
}
.form-control.is-invalid,.form-select.is-invalid,.form-textarea.is-invalid{
  border-color:var(--color-error);
  padding-right:2.5rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23ef4444'%3E%3Cpath fill-rule='evenodd' d='M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .75rem center;
  background-size:1.25rem;
}
.form-control.is-invalid:focus,.form-select.is-invalid:focus,.form-textarea.is-invalid:focus{
  border-color:var(--color-error);
  -webkit-box-shadow:0 0 0 1px rgba(239,68,68,.45);
  box-shadow:0 0 0 1px rgba(239,68,68,.45);
}
.form-feedback{display:none;font-size:var(--font-size-sm);margin-top:var(--space-1);}
.form-feedback--valid{color:var(--color-success-dark);}
.form-feedback--invalid{color:var(--color-error-dark);}
.form-group.has-success .form-feedback--valid,.form-group.has-error .form-feedback--invalid{display:block;}
.form-check-group.is-invalid{color:var(--color-error-dark);}
.form-check-group.is-invalid input{outline:2px solid var(--color-error);outline-offset:2px;}

/* ===== 18) CARDS / LISTADOS ===== */
.card-list{margin-top:2rem;margin-bottom:2rem;}
.card{
  background-color:var(--color-bg);
  border-radius:var(--radius-md);
  border:1px solid var(--color-border);
  padding:1rem;
  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{
  font-size:1.05rem;
  font-weight:600;
  margin-bottom:.35rem;
  color:var(--color-text);
  -webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;
}
.card__meta{
  font-size:.8rem;
  color:var(--color-text-muted);
  margin-bottom:.5rem;
  -webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;
}
.card__excerpt{
  font-size:.9rem;
  color:var(--color-text-secondary);
  margin-bottom:.75rem;
  -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;
  font-size:.9rem;
}
.pagination__link{
  min-width:2.1rem;min-height:2.1rem;
  padding:.25rem .7rem;
  border-radius:var(--radius-full);
  border:1px solid var(--color-border-light);
  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;
  color:var(--color-text);
  background-color:var(--color-bg);
}
.pagination__link:hover,.pagination__link:focus{border-color:var(--color-primary);}
.pagination__link--current,.pagination__link[aria-current="page"]{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse);}

/* ===== 19) BLOQUES ===== */
.benefits{margin:2.5rem 0;}
.benefit-item{
  background-color:var(--color-bg);
  border-radius:var(--radius-md);
  border:1px solid var(--color-border);
  padding:1rem;
  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__icon{font-size:1.6rem;margin-bottom:.5rem;}
.benefit-item__title{font-weight:600;margin-bottom:.35rem;}
.benefit-item p{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;}

.testimonials{margin:2.5rem 0;}
.testimonial{
  background-color:var(--color-bg-light);
  border-radius:var(--radius-md);
  border:1px solid var(--color-border);
  padding:1rem 1.25rem;
  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{font-style:italic;margin-bottom:.75rem;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;}
.testimonial__author{font-weight:600;font-size:.9rem;}
.testimonial__role{font-size:.8rem;color:var(--color-text-muted);}

.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));}
}
.kpi-item{text-align:center;}
.kpi-item__value{font-size:1.8rem;font-weight:700;color:var(--brand-black);}
.kpi-item__label{font-size:.9rem;color:var(--color-text-secondary);}

.logo-strip{margin:2rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:1rem 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;
}
.logo-strip__item img{max-height:40px;}

.pricing{margin:2.5rem 0;}
.pricing-plan{
  background-color:var(--color-bg);
  border-radius:var(--radius-md);
  border:1px solid var(--color-border);
  padding:1.25rem;
  text-align:center;
  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__name{font-weight:600;margin-bottom:.25rem;}
.pricing-plan__price{font-size:1.6rem;font-weight:700;color:var(--brand-black);margin-bottom:.25rem;}
.pricing-plan__detail{font-size:.85rem;color:var(--color-text-muted);margin-bottom:.75rem;-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 ===== */
.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);
  padding:var(--space-4);
  border-radius:var(--radius-md);
  border:var(--border-width) solid transparent;
  margin-bottom:var(--space-4);
  font-size:var(--font-size-base);
  line-height:var(--line-height-normal);
  position:relative;
  -webkit-animation:alertSlideIn .3s ease;
  animation:alertSlideIn .3s ease;
}
@-webkit-keyframes alertSlideIn{from{opacity:0;-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem);}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);}}
@keyframes alertSlideIn{from{opacity:0;transform:translateY(-.5rem);}to{opacity:1;transform:translateY(0);}}
.alert--info{background-color:var(--color-info-light);border-color:#bfdbfe;color:var(--color-info-dark);}
.alert--success{background-color:var(--color-success-light);border-color:#bbf7d0;color:var(--color-success-dark);}
.alert--warning{background-color:var(--color-warning-light);border-color:#fde68a;color:var(--color-warning-dark);}
.alert--error{background-color:var(--color-error-light);border-color:#fecaca;color:var(--color-error-dark);}
.alert__icon{-ms-flex-negative:0;flex-shrink:0;font-size:var(--font-size-xl);line-height:1;margin-top:.1rem;}
.alert__content{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;}
.alert__title{font-weight:var(--font-weight-semibold);margin:0 0 var(--space-1) 0;font-size:var(--font-size-base);}
.alert__message{margin:0;font-size:var(--font-size-sm);}
.alert__message a{color:inherit;text-decoration:underline;}
.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;
  border-radius:var(--radius-sm);
  cursor:pointer;
  opacity:.6;
  color:inherit;
  font-size:var(--font-size-lg);
  line-height:1;
  -webkit-transition:opacity var(--transition-fast),background-color var(--transition-fast);
  transition:opacity var(--transition-fast),background-color var(--transition-fast);
}
.alert__close:hover,.alert__close:focus{opacity:1;background-color:rgba(0,0,0,.1);}
.alert__close:focus-visible{outline:var(--border-width-thick) solid currentColor;outline-offset:2px;}
.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 - Reutilizable) ===== */
.modal-overlay{
  position:fixed;top:0;right:0;bottom:0;left:0;
  width:100%;height:100%;
  background-color:rgba(0,0,0,.5);
  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);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}
.modal-overlay.is-open{opacity:1;visibility:visible;}
.modal{
  background-color:var(--color-bg);
  border-radius:var(--radius-lg);
  -webkit-box-shadow:var(--shadow-xl);
  box-shadow:var(--shadow-xl);
  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%;border-radius:0;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);
  border-bottom:var(--border-width) solid var(--color-border);
  -ms-flex-negative:0;flex-shrink:0;
}
.modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;color:var(--color-text);}
.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;
  border-radius:var(--radius-sm);
  cursor:pointer;
  color:var(--color-text-muted);
  font-size:var(--font-size-xl);
  line-height:1;
  -webkit-transition:color var(--transition-fast),background-color var(--transition-fast);
  transition:color var(--transition-fast),background-color var(--transition-fast);
}
.modal__close:hover,.modal__close:focus{color:var(--color-text);background-color:var(--color-bg-subtle);}
.modal__close:focus-visible{outline:var(--border-width-thick) solid var(--color-primary);outline-offset:2px;}
.modal__body{
  padding:var(--space-6);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  -ms-flex:1 1 auto;flex:1 1 auto;
}
.modal__body p:last-child{margin-bottom:0;}
.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);
  border-top:var(--border-width) solid var(--color-border);
  background-color:var(--color-bg-subtle);
  -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%;}
@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){
  #containerClass.modal-open{position:static;}
}

/* ===== 22) TABS (Base) ===== */
.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;
  border-bottom:var(--border-width-thick) solid var(--color-border);
  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);
  padding:var(--space-3) var(--space-5);
  margin-bottom:calc(var(--border-width-thick) * -1);
  background:transparent;
  border:none;
  border-bottom:var(--border-width-thick) solid transparent;
  font-size:var(--font-size-base);
  font-weight:var(--font-weight-semibold);
  color:var(--color-text-muted);
  cursor:pointer;
  white-space:nowrap;
  -webkit-transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast);
  transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast);
}
.tabs__tab:hover{color:var(--color-text);background-color:var(--color-bg-light);}
.tabs__tab:focus-visible{outline:var(--border-width-thick) solid var(--color-primary);outline-offset:-2px;z-index:1;}
.tabs__tab[aria-selected="true"],.tabs__tab.is-active{color:var(--brand-black);border-bottom-color:var(--color-primary);background-color:transparent;}
.tabs__tab[disabled]{opacity:.5;cursor:not-allowed;}
.tabs__icon{font-size:var(--font-size-lg);line-height:1;}
.tabs__badge{
  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;
  min-width:1.25rem;height:1.25rem;
  padding:0 var(--space-1);
  background-color:var(--brand-yellow);
  color:var(--brand-black);
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-bold);
  border-radius:var(--radius-full);
}
.tabs__panels{margin-top:var(--space-6);}
.tabs__panel{display:none;-webkit-animation:tabFadeIn .2s ease;animation:tabFadeIn .2s ease;}
.tabs__panel[aria-hidden="false"],.tabs__panel.is-active{display:block;}
@-webkit-keyframes tabFadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes tabFadeIn{from{opacity:0;}to{opacity:1;}}
@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 ===== */
.accordion{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin:var(--space-4) 0;}
.accordion__item{border-bottom:var(--border-width) solid var(--color-border);}
.accordion__item:last-child{border-bottom:none;}
.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:var(--color-bg);
  border:none;
  font-size:var(--font-size-base);
  font-weight:var(--font-weight-semibold);
  color:var(--color-text);
  text-align:left;
  cursor:pointer;
  -webkit-transition:background-color var(--transition-fast);
  transition:background-color var(--transition-fast);
}
.accordion__header:hover{background-color:var(--color-bg-light);}
.accordion__header:focus-visible{outline:var(--border-width-thick) solid var(--color-primary);outline-offset:-2px;z-index:1;}
.accordion__header[aria-expanded="true"]{background-color:var(--color-bg-light);}
.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;
  color:var(--color-text-muted);
  -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);}
.accordion__content p:last-child{margin-bottom:0;}
.accordion--borderless{border:none;border-radius:0;}
.accordion--borderless .accordion__item{border-bottom:var(--border-width) solid var(--color-border);}

/* ===== 24) SPINNER / LOADER ===== */
.spinner{
  display:inline-block;
  width:2rem;height:2rem;
  border:3px solid var(--color-border);
  border-top-color:var(--color-primary);
  border-radius:50%;
  -webkit-animation:spinnerRotate .8s linear infinite;
  animation:spinnerRotate .8s linear infinite;
}
@-webkit-keyframes spinnerRotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg);}}
@keyframes spinnerRotate{to{transform:rotate(360deg);}}
.spinner--xs{width:1rem;height:1rem;border-width:2px;}
.spinner--sm{width:1.5rem;height:1.5rem;border-width:2px;}
.spinner--lg{width:3rem;height:3rem;border-width:4px;}
.spinner--xl{width:4rem;height:4rem;border-width:5px;}
.spinner--primary{border-color:rgba(252,209,22,.2);border-top-color:var(--brand-yellow);}
.spinner--light{border-color:rgba(255,255,255,.3);border-top-color:var(--color-text-inverse);}
.spinner--dark{border-color:rgba(11,26,42,.2);border-top-color:var(--color-text);}
.loading-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;
  background-color:rgba(255,255,255,.9);
  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);
}
.loading-overlay__text{font-size:var(--font-size-base);color:var(--color-text);font-weight:var(--font-weight-medium);}
.skeleton{
  background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg-light) 50%,var(--color-border) 75%);
  background-size:200% 100%;
  -webkit-animation:skeletonPulse 1.5s ease-in-out infinite;
  animation:skeletonPulse 1.5s ease-in-out infinite;
  border-radius:var(--radius-sm);
}
@-webkit-keyframes skeletonPulse{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
@keyframes skeletonPulse{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.skeleton--text{height:1rem;margin-bottom:var(--space-2);}
.skeleton--title{height:1.5rem;width:60%;margin-bottom:var(--space-3);}
.skeleton--avatar{width:3rem;height:3rem;border-radius:50%;}
.skeleton--image{height:10rem;margin-bottom:var(--space-3);}

/* ===== 25) TOOLTIP ===== */
.tooltip{position:relative;display:inline-block;}
.tooltip__trigger{cursor:help;border-bottom:1px dotted var(--color-text-muted);}
.tooltip__content{
  position:absolute;
  bottom:100%;left:50%;
  -webkit-transform:translateX(-50%) translateY(-.5rem);
  transform:translateX(-50%) translateY(-.5rem);
  padding:var(--space-2) var(--space-3);
  background-color:var(--color-text);
  color:var(--color-text-inverse);
  font-size:var(--font-size-sm);
  font-weight:var(--font-weight-normal);
  line-height:var(--line-height-normal);
  white-space:nowrap;
  border-radius:var(--radius-sm);
  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__content::after{
  content:'';
  position:absolute;top:100%;left:50%;
  margin-left:-5px;
  border:5px solid transparent;
  border-top-color:var(--color-text);
}
.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--bottom .tooltip__content::after{
  top:auto;bottom:100%;
  border-top-color:transparent;
  border-bottom-color:var(--color-text);
}
.tooltip--left .tooltip__content{
  bottom:auto;top:50%;
  left:auto;right:100%;
  -webkit-transform:translateX(-.5rem) translateY(-50%);
  transform:translateX(-.5rem) translateY(-50%);
}
.tooltip--left .tooltip__content::after{
  top:50%;left:100%;
  margin-top:-5px;margin-left:0;
  border-top-color:transparent;
  border-left-color:var(--color-text);
}
.tooltip--right .tooltip__content{
  bottom:auto;top:50%;
  left:100%;
  -webkit-transform:translateX(.5rem) translateY(-50%);
  transform:translateX(.5rem) translateY(-50%);
}
.tooltip--right .tooltip__content::after{
  top:50%;left:auto;right:100%;
  margin-top:-5px;margin-left:0;
  border-top-color:transparent;
  border-right-color:var(--color-text);
}
.tooltip--multiline .tooltip__content{white-space:normal;width:200px;text-align:center;}

/* ===== 26) BADGE ===== */
.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);
  padding:var(--space-1) var(--space-3);
  font-size:var(--font-size-xs);
  font-weight:var(--font-weight-semibold);
  line-height:1.4;
  border-radius:var(--radius-full);
  background-color:var(--color-border);
  color:var(--color-text);
  white-space:nowrap;
}
.badge--primary{background-color:var(--brand-yellow);color:var(--brand-black);}
.badge--success{background-color:var(--color-success-light);color:var(--color-success-dark);}
.badge--warning{background-color:var(--color-warning-light);color:var(--color-warning-dark);}
.badge--error{background-color:var(--color-error-light);color:var(--color-error-dark);}
.badge--info{background-color:var(--color-info-light);color:var(--color-info-dark);}
.badge--outline{background-color:transparent;border:var(--border-width) solid currentColor;}
.badge--outline.badge--primary{color:var(--brand-yellow-dark);}
.badge--outline.badge--success{color:var(--color-success);}
.badge--outline.badge--warning{color:var(--color-warning);}
.badge--outline.badge--error{color:var(--color-error);}
.badge--sm{padding:0 var(--space-2);font-size:.625rem;}
.badge--lg{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);}
.badge__icon{font-size:.75em;line-height:1;}
.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;
  margin-left:var(--space-1);
  margin-right:calc(var(--space-1) * -1);
  background:rgba(0,0,0,.1);
  border:none;
  border-radius:50%;
  cursor:pointer;
  font-size:.75rem;
  line-height:1;
  opacity:.7;
  -webkit-transition:opacity var(--transition-fast);
  transition:opacity var(--transition-fast);
}
.badge__remove:hover{opacity:1;}
.badge--dot{padding:0;width:.5rem;height:.5rem;border-radius:50%;}
.badge--dot.badge--lg{width:.75rem;height:.75rem;}

/* ===== 27) PROGRESS ===== */
.progress{height:.5rem;background-color:var(--color-border);border-radius:var(--radius-full);overflow:hidden;}
.progress__bar{
  height:100%;
  background-color:var(--color-primary);
  border-radius:var(--radius-full);
  -webkit-transition:width var(--transition-slow);
  transition:width var(--transition-slow);
}
.progress--sm{height:.25rem;}
.progress--lg{height:1rem;}
.progress--success .progress__bar{background-color:var(--color-success);}
.progress--warning .progress__bar{background-color:var(--color-warning);}
.progress--error .progress__bar{background-color:var(--color-error);}
.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;
  font-size:var(--font-size-sm);
}
.progress-label{font-weight:var(--font-weight-medium);color:var(--color-text);}
.progress-value{color:var(--color-text-muted);}
.progress--striped .progress__bar{
  background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
  background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
  background-size:1rem 1rem;
}
.progress--animated .progress__bar{-webkit-animation:progressStripes 1s linear infinite;animation:progressStripes 1s linear infinite;}
@-webkit-keyframes progressStripes{from{background-position:1rem 0;}to{background-position:0 0;}}
@keyframes progressStripes{from{background-position:1rem 0;}to{background-position:0 0;}}

/* ===== 28) BACK TO TOP ===== */
.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;
  background-color:var(--brand-yellow);
  color:var(--brand-black);
  border:none;
  border-radius:var(--radius-full);
  cursor:pointer;
  -webkit-box-shadow:var(--shadow-lg);
  box-shadow:var(--shadow-lg);
  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),background-color var(--transition-fast);
  transition:opacity var(--transition-normal),visibility var(--transition-normal),transform var(--transition-normal),background-color var(--transition-fast);
  z-index:var(--z-fixed);
}
.back-to-top.is-visible{
  opacity:1;visibility:visible;
  -webkit-transform:translateY(0);
  transform:translateY(0);
}
.back-to-top:hover,.back-to-top:focus{background-color:var(--color-primary-dark);}
.back-to-top:focus-visible{outline:var(--border-width-thick) solid var(--color-text-inverse);outline-offset:2px;}
.back-to-top__icon{font-size:var(--font-size-lg);line-height:1;}
@media (max-width:47.999rem){
  .back-to-top{bottom:var(--space-4);right:var(--space-4);width:2.5rem;height:2.5rem;}
}

/* ===== 29) LOADING EN BOTONES ===== */
.btn.is-loading{position:relative;color:transparent !important;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-color:var(--color-text-inverse) var(--color-text-inverse) transparent transparent;
  border-radius:50%;
  -webkit-animation:btnSpin .6s linear infinite;
  animation:btnSpin .6s linear infinite;
}
.btn--secondary.is-loading::after,.btn--ghost.is-loading::after{border-color:var(--color-primary) var(--color-primary) transparent transparent;}
@-webkit-keyframes btnSpin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg);}}
@keyframes btnSpin{to{transform:rotate(360deg);}}
.btn--sm.is-loading::after{width:.9rem;height:.9rem;margin-top:-.45rem;margin-left:-.45rem;}
.btn--lg.is-loading::after{width:1.3rem;height:1.3rem;margin-top:-.65rem;margin-left:-.65rem;}

/* ===== 30) DROPDOWN ===== */
.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;
  padding:.65rem 1.25rem;
  min-width:100px;
  font-size:.95rem;
  font-weight:500;
  white-space:nowrap;
  border-radius:.4rem;
  cursor:pointer;
  -webkit-transition:all .15s ease;
  transition:all .15s ease;
}
.dropdown__toggle.btn--outline{background-color:transparent;color:var(--brand-black);border:1px solid var(--brand-yellow-dark);}
.dropdown__toggle.btn--outline:hover{background-color:var(--color-bg-light);}
.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;
  padding:.4rem 0;
  background-color:var(--color-bg);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  -webkit-box-shadow:var(--shadow-lg);
  box-shadow:var(--shadow-lg);
  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;
  font-size:.9rem;
  color:var(--color-text);
  text-decoration:none;
  cursor:pointer;
  -webkit-transition:background-color .15s ease;
  transition:background-color .15s ease;
}
.dropdown__item:hover,.dropdown__item:focus{background-color:var(--color-bg-light);text-decoration:none;outline:none;}
.dropdown__item--active{background-color:var(--color-bg-light);color:var(--brand-black);font-weight:500;}
.dropdown__divider{height:0;margin:.4rem 0;border:none;border-top:1px solid var(--color-border);}
.dropdown__toggle svg,.dropdown__toggle img{width:1rem;height:1rem;margin-right:.25rem;}
.dropdown__item svg{width:1rem;height:1rem;margin-right:.5rem;vertical-align:-.15em;}
.dropdown__toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;}
.dropdown__item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;background-color:var(--color-bg-light);}

/* ===== 31) MEDIA QUERIES ACCESIBILIDAD ===== */
@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;
  }
  .spinner{-webkit-animation:none;animation:none;border-top-color:var(--color-primary);border-right-color:var(--color-primary);}
  .skeleton{-webkit-animation:none;animation:none;}
  .progress--animated .progress__bar{-webkit-animation:none;animation:none;}
  .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;
  }
}
@media (prefers-contrast:more){
  .skip-link{border:var(--border-width-thick) solid currentColor;}
  .alert{border-width:var(--border-width-thick);}
  .footer-top a,.footer-grid a{text-decoration:underline;}
  .footer-top a:focus,.footer-grid a:focus{outline-width:3px;}
  .menu-tabs__tab:focus,.menu-tabs__link:focus{outline-width:3px;}
}

/* ===== 32) PRINT GLOBAL ===== */
@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;}
  .card,.alert{-webkit-box-shadow:none !important;box-shadow:none !important;border:1px solid #000 !important;}
}

/* ===== 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;}
}
.soap-page {
    /* Colores principales */
    --soap-primary: #005AD9;
    --soap-primary-dark: #1c3e6d;
    --soap-primary-light: #e8eef5;
    
    /* Colores de estado */
    --soap-accent: #4ade80;
    --soap-success: #00A651;
    --soap-success-light: #e6f7ed;
    --soap-warning: #F59E0B;
    --soap-warning-light: #FEF3C7;
    
    /* Colores de texto */
    --soap-text: #1a1a1a;
    --soap-text-muted: #6b7280;
    
    /* Colores de fondo y bordes */
    --soap-bg: #ffffff;
    --soap-bg-light: #f8fafc;
    --soap-border: #e5e7eb;
    
    /* Efectos */
    --soap-radius: 8px;
    --soap-radius-lg: 12px;
    --soap-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    --soap-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --soap-transition: 0.15s ease;
}


/* ===========================================
   2. RESET/BASE
   =========================================== */
.soap-page {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    line-height: 1.5;
    color: var(--soap-text);
}

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


/* ===========================================
   3. UTILIDADES
   =========================================== */

/* Screen Reader Only - Contenido oculto visualmente pero accesible */
.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;
}


/* ===========================================
   4. COMPONENTES
   =========================================== */

/* -------------------------------------------
   4.1 HERO
   ------------------------------------------- */
.soap-hero-pro {
    background: linear-gradient(135deg, var(--soap-primary) 10%, var(--soap-primary-dark) 100%);
    color: #fff;
    padding: 2rem 1.25rem 2.5rem;
    margin: -0.5rem -1rem 0 -1rem;
}

.soap-hero-pro__content {
    max-width: 1100px;
    margin: 0 auto;
}

.soap-hero-pro__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255, 255, 255, 0.12);
    padding: 0.4rem 0.9rem;
    border-radius: 50px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.3px;
    margin-bottom: 1rem;
}

.soap-hero-pro__badge i {
    color: var(--soap-accent);
}

.soap-hero-pro__title {
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 0.75rem 0;
}

.soap-hero-pro__highlight {
    color: var(--soap-accent);
}

.soap-hero-pro__desc {
    font-size: 0.9rem;
    line-height: 1.55;
    opacity: 0.92;
    margin: 0 0 1.25rem 0;
    max-width: 480px;
}

.soap-hero-pro__features {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1rem;
    margin: 0 0 1.5rem 0;
    padding: 0;
    list-style: none;
}

.soap-hero-pro__feature {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    opacity: 0.95;
}

.soap-hero-pro__feature i {
    color: var(--soap-accent);
    font-size: 0.75rem;
}

.soap-hero-pro__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
    color: var(--soap-primary);
    padding: 0.8rem 1.5rem;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    transition: all var(--soap-transition);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.soap-hero-pro__cta:hover,
.soap-hero-pro__cta:focus {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
    text-decoration: none;
    color: var(--soap-primary-dark);
}

.soap-hero-pro__cta:focus {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.soap-hero-pro__visual {
    display: none;
}

.soap-hero-pro__price-card {
    background: linear-gradient(145deg, #F97316 0%, #EA580C 100%);
    border: none;
    box-shadow: 
        0 8px 32px rgba(249, 115, 22, 0.35),
        0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: 16px;
    padding: 0;
    min-width: 200px;
    overflow: hidden;
}

.soap-hero-pro__price-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: rgba(0, 0, 0, 0.15);
    padding: 0.6rem 1rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #fff;
}

.soap-hero-pro__price-badge i {
    font-size: 0.85rem;
}

.soap-hero-pro__price-content {
    padding: 1.25rem 1.5rem;
    text-align: center;
    background: transparent;
}

.soap-hero-pro__price-from {
    display: block;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 0.25rem;
}

.soap-hero-pro__price-amount {
    display: block;
    font-size: 2.25rem;
    font-weight: 800;
    color: #ffffff;
    line-height: 1;
    margin-bottom: 0.35rem;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.soap-hero-pro__price-vehicle {
    display: block;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
}

.soap-hero-pro__price-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.65rem 1rem;
    background: rgba(0, 0, 0, 0.1);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.95);
}

.soap-hero-pro__price-footer i {
    color: #ffffff;
    font-size: 0.75rem;
}


/* -------------------------------------------
   4.2 PRODUCTS SECTION HEADER
   ------------------------------------------- */
.soap-products-section {
    padding: 1.5rem 0 1rem;
}

.soap-products-header {
    text-align: center;
    margin-bottom: 1.25rem;
}

.soap-products-header__title {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--soap-text);
    margin: 0 0 0.4rem 0;
}

.soap-products-header__subtitle {
    font-size: 0.88rem;
    color: var(--soap-text-muted);
    margin: 0;
}


/* -------------------------------------------
   4.3 FLOTAS
   ------------------------------------------- */
.soap-flotas {
    background: var(--soap-bg);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--soap-border);
    margin: 1.5rem 0;
}

.soap-flotas__header {
    background: linear-gradient(135deg, #1c3e6d 0%, #2a5a9e 100%);
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.soap-flotas__header-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.25rem;
}

.soap-flotas__header-text {
    flex: 1;
    min-width: 0;
}

.soap-flotas__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 0.2rem 0;
    line-height: 1.25;
}

.soap-flotas__subtitle {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
    line-height: 1.4;
}

.soap-flotas__body {
    padding: 1.25rem;
}

.soap-flotas__desc {
    font-size: 0.9rem;
    color: #4b5563;
    line-height: 1.55;
    margin: 0 0 1rem 0;
}

.soap-flotas__benefits {
    list-style: none;
    margin: 0 0 1.25rem 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.soap-flotas__benefits li {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    font-size: 0.85rem;
    color: #374151;
    line-height: 1.45;
}

.soap-flotas__benefits li i {
    flex-shrink: 0;
    color: var(--soap-success);
    margin-top: 0.15rem;
    font-size: 0.95rem;
}

.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: 0.5rem;
    background: #1c3e6d;
    color: #ffffff;
    padding: 0.7rem 1.5rem;
    border-radius: 6px;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    transition: background var(--soap-transition), transform var(--soap-transition), box-shadow var(--soap-transition);
    border: none;
    cursor: pointer;
    min-height: 44px;
}

.soap-flotas__cta:hover,
.soap-flotas__cta:focus {
    background: #152d4f;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(28, 62, 109, 0.25);
    text-decoration: none;
    color: #ffffff;
}

.soap-flotas__cta:focus {
    outline: 2px solid #1c3e6d;
    outline-offset: 2px;
}


/* -------------------------------------------
   4.4 VEHICLE TABS
   ------------------------------------------- */
.soap-vehicle-tabs {
    background: var(--soap-bg-light);
    border-top: 1px solid var(--soap-border);
    border-bottom: 1px solid var(--soap-border);
    margin: 0 -1rem;
    padding: 1rem;
    text-align: center;
}

.soap-vehicle-tabs__label {
    font-size: 0.8rem;
    color: var(--soap-text-muted);
    margin: 0 0 0.75rem 0;
}

.soap-vehicle-tabs__container {
    display: flex;
    gap: 0.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: 0.3rem;
    padding: 0.6rem 0.9rem;
    color: var(--soap-text-muted);
    text-decoration: none;
    font-size: 0.7rem;
    font-weight: 500;
    white-space: nowrap;
    border-radius: var(--soap-radius);
    border: 1px solid transparent;
    transition: all var(--soap-transition);
    background: var(--soap-bg);
}

.soap-vehicle-tabs__item i {
    font-size: 1.1rem;
}

.soap-vehicle-tabs__item:hover,
.soap-vehicle-tabs__item:focus {
    color: var(--soap-primary);
    border-color: var(--soap-primary);
    text-decoration: none;
}

.soap-vehicle-tabs__item:focus {
    outline: 2px solid var(--soap-primary);
    outline-offset: 2px;
}

.soap-vehicle-tabs__item--active {
    color: #fff;
    background: var(--soap-primary);
    border-color: var(--soap-primary);
}

.soap-vehicle-tabs__item--active:hover,
.soap-vehicle-tabs__item--active:focus {
    color: #fff;
}


/* -------------------------------------------
   4.5 PROCESS TIMELINE
   ------------------------------------------- */
.soap-process {
    padding: 2rem 0;
    margin-bottom: 1rem;
}

.soap-process__header {
    text-align: center;
    margin-bottom: 1.75rem;
}

.soap-process__title {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--soap-text);
    margin: 0 0 0.4rem 0;
}

.soap-process__subtitle {
    font-size: 0.88rem;
    color: var(--soap-text-muted);
    margin: 0;
}

.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;
    background: var(--soap-border);
}

.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;
    background: var(--soap-primary);
    border-radius: 50%;
    z-index: 1;
}

.soap-process__step-number {
    color: #fff;
    font-size: 0.95rem;
    font-weight: 700;
}

.soap-process__step-marker--success {
    background: var(--soap-success);
    color: #fff;
    font-size: 1rem;
}

.soap-process__step-content {
    flex: 1;
    padding-top: 0.15rem;
}

.soap-process__step-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--soap-text);
    margin: 0 0 0.4rem 0;
}

.soap-process__step-desc {
    font-size: 0.82rem;
    color: var(--soap-text-muted);
    line-height: 1.55;
    margin: 0 0 0.65rem 0;
}

.soap-process__step-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.soap-process__step-tags span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.55rem;
    background: var(--soap-bg-light);
    border: 1px solid var(--soap-border);
    border-radius: 50px;
    font-size: 0.68rem;
    color: var(--soap-text-muted);
}

.soap-process__step-tags--success span {
    background: var(--soap-success-light);
    border-color: var(--soap-success);
    color: var(--soap-success);
}


/* -------------------------------------------
   4.6 WHY SECTION + STATS
   ------------------------------------------- */
.soap-why {
    background: linear-gradient(135deg, #1c3e6d 0%, #152d4f 100%);
    color: #fff;
    padding: 2rem 1rem;
    margin: 0 -1rem 1.5rem -1rem;
}

.soap-why__container {
    max-width: 1000px;
    margin: 0 auto;
}

.soap-why__main {
    text-align: center;
    margin-bottom: 1.75rem;
}

.soap-why__title {
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0 0 0.65rem 0;
}

.soap-why__desc {
    font-size: 0.88rem;
    line-height: 1.55;
    opacity: 0.92;
    margin: 0 0 1.25rem 0;
    max-width: 550px;
    margin-left: auto;
    margin-right: auto;
}

.soap-why__stats {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin: 0 0 1.25rem 0;
    padding: 0;
    flex-wrap: wrap;
}

.soap-why__stat {
    text-align: center;
}

.soap-why__stat-number {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--soap-accent);
    line-height: 1.1;
    margin: 0;
}

.soap-why__stat-label {
    display: block;
    font-size: 0.7rem;
    opacity: 0.8;
    margin-top: 0.15rem;
}

.soap-why__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
    color: var(--soap-primary);
    padding: 0.7rem 1.4rem;
    border-radius: 50px;
    font-weight: 600;
    font-size: 0.88rem;
    text-decoration: none;
    transition: all var(--soap-transition);
}

.soap-why__cta:hover,
.soap-why__cta:focus {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    text-decoration: none;
}

.soap-why__cta:focus {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.soap-why__benefits {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.65rem;
}

.soap-why__benefit {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    background: rgba(255, 255, 255, 0.08);
    padding: 0.9rem;
    border-radius: var(--soap-radius);
}

.soap-why__benefit-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    font-size: 1rem;
}

.soap-why__benefit-text h3 {
    font-size: 0.88rem;
    font-weight: 600;
    margin: 0 0 0.2rem 0;
}

.soap-why__benefit-text p {
    font-size: 0.78rem;
    opacity: 0.85;
    margin: 0;
    line-height: 1.4;
}


/* -------------------------------------------
   4.7 INFO SECTION
   ------------------------------------------- */
.soap-info-section {
    padding: 2rem 0;
    margin-bottom: 1rem;
}

.soap-info-section__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.75rem;
}

.soap-info-section__label {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--soap-primary);
    margin-bottom: 0.4rem;
}

.soap-info-section__title {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--soap-text);
    margin: 0 0 0.85rem 0;
}

.soap-info-section__text {
    font-size: 0.88rem;
    color: var(--soap-text-muted);
    line-height: 1.65;
    margin: 0 0 0.85rem 0;
}

.soap-info-section__alert {
    display: flex;
    gap: 0.7rem;
    padding: 0.9rem;
    background: var(--soap-warning-light);
    border-radius: var(--soap-radius);
    margin-top: 1.25rem;
}

.soap-info-section__alert-icon {
    flex-shrink: 0;
    color: var(--soap-warning);
    font-size: 1.1rem;
}

.soap-info-section__alert-content strong {
    display: block;
    font-size: 0.82rem;
    color: #92400E;
    margin-bottom: 0.2rem;
}

.soap-info-section__alert-content p {
    font-size: 0.78rem;
    color: #92400E;
    line-height: 1.45;
    margin: 0;
}

.soap-info-section__coverage {
    background: var(--soap-bg-light);
    padding: 1.25rem;
    border-radius: var(--soap-radius-lg);
}

.soap-info-section__coverage-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--soap-text);
    margin: 0 0 0.85rem 0;
    padding-bottom: 0.65rem;
    border-bottom: 2px solid var(--soap-primary);
}

.soap-info-section__coverage-title i {
    color: var(--soap-primary);
}

.soap-coverage-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.6rem;
}

.soap-coverage-card {
    background: var(--soap-bg);
    padding: 0.85rem;
    border-radius: var(--soap-radius);
    border: 1px solid var(--soap-border);
}

.soap-coverage-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.4rem;
}

.soap-coverage-card__icon {
    font-size: 1.1rem;
    color: var(--soap-primary);
}

.soap-coverage-card__amount {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--soap-success);
}

.soap-coverage-card__title {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--soap-text);
    margin: 0 0 0.2rem 0;
}

.soap-coverage-card__desc {
    font-size: 0.72rem;
    color: var(--soap-text-muted);
    line-height: 1.4;
    margin: 0;
}

.soap-info-section__coverage-note {
    font-size: 0.68rem;
    color: var(--soap-text-muted);
    margin: 0.85rem 0 0 0;
    font-style: italic;
}


/* -------------------------------------------
   4.8 ACCIDENT SECTION
   ------------------------------------------- */
.soap-accident-section {
    background: var(--soap-bg-light);
    padding: 2rem 1rem;
    margin: 0 -1rem 1.5rem -1rem;
}

.soap-accident-section__header {
    text-align: center;
    margin-bottom: 1.5rem;
}

.soap-accident-section__title {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--soap-text);
    margin: 0 0 0.4rem 0;
}

.soap-accident-section__subtitle {
    font-size: 0.88rem;
    color: var(--soap-text-muted);
    margin: 0;
}

.soap-accident-section__steps {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
    max-width: 900px;
    margin: 0 auto;
    list-style: none;
    padding: 0;
}

.soap-accident-section__step {
    background: var(--soap-bg);
    padding: 1.1rem;
    border-radius: var(--soap-radius);
    text-align: center;
    box-shadow: var(--soap-shadow);
}

.soap-accident-section__step-icon {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--soap-primary-light);
    color: var(--soap-primary);
    border-radius: 50%;
    margin: 0 auto 0.65rem;
    font-size: 1.2rem;
}

.soap-accident-section__step h3 {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--soap-text);
    margin: 0 0 0.3rem 0;
}

.soap-accident-section__step p {
    font-size: 0.78rem;
    color: var(--soap-text-muted);
    line-height: 1.45;
    margin: 0;
}


/* -------------------------------------------
   4.9 FAQ SECTION
   ------------------------------------------- */
.soap-faq-section {
    padding: 2rem 0;
    margin-bottom: 1rem;
}

.soap-faq-section__header {
    text-align: center;
    margin-bottom: 1.5rem;
}

.soap-faq-section__label {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--soap-primary);
    margin-bottom: 0.3rem;
}

.soap-faq-section__title {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--soap-text);
    margin: 0;
}

.soap-faq-section__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.6rem;
    max-width: 900px;
    margin: 0 auto;
}

.soap-faq-item {
    background: var(--soap-bg);
    border: 1px solid var(--soap-border);
    border-radius: var(--soap-radius);
    overflow: hidden;
}

.soap-faq-item__question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.9rem 1.1rem;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--soap-text);
    list-style: none;
    transition: background var(--soap-transition);
}

.soap-faq-item__question::-webkit-details-marker {
    display: none;
}

.soap-faq-item__question:hover {
    background: var(--soap-bg-light);
}

.soap-faq-item__question:focus {
    outline: 2px solid var(--soap-primary);
    outline-offset: -2px;
}

.soap-faq-item__icon {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    position: relative;
    margin-left: 0.85rem;
}

.soap-faq-item__icon::before,
.soap-faq-item__icon::after {
    content: '';
    position: absolute;
    background: var(--soap-primary);
    transition: transform var(--soap-transition);
}

.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);
}

.soap-faq-item__answer {
    padding: 0 1.1rem 1.1rem;
    font-size: 0.82rem;
    color: var(--soap-text-muted);
    line-height: 1.55;
}

.soap-faq-item__answer p {
    margin: 0 0 0.65rem 0;
}

.soap-faq-item__answer p:last-child {
    margin-bottom: 0;
}

.soap-faq-item__answer ul {
    margin: 0.4rem 0 0 1.1rem;
    padding: 0;
}

.soap-faq-item__answer li {
    margin-bottom: 0.3rem;
}


/* -------------------------------------------
   4.10 PAYMENT SECTION
   ------------------------------------------- */
.soap-payment-section {
    text-align: center;
    padding: 1.75rem 0;
}

.soap-payment-section__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--soap-text);
    margin: 0 0 1.25rem 0;
}

.soap-payment-section__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.65rem;
    margin-bottom: 1.1rem;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    list-style: none;
    padding: 0;
}

.soap-payment-section__item {
    padding: 0.9rem 0.5rem;
    background: var(--soap-bg);
    border: 1px solid var(--soap-border);
    border-radius: var(--soap-radius);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
}

.soap-payment-section__item--featured {
    border-color: var(--soap-primary);
    background: var(--soap-primary-light);
}

.soap-payment-section__item-icon {
    font-size: 1.5rem;
    margin-bottom: 0.15rem;
    color: var(--soap-primary);
}

.soap-payment-section__item--featured .soap-payment-section__item-icon {
    color: var(--soap-primary-dark);
}

.soap-payment-section__item-name {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--soap-text);
}

.soap-payment-section__item-brands {
    font-size: 0.65rem;
    color: var(--soap-text-muted);
}

.soap-payment-section__security {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.72rem;
    color: var(--soap-text-muted);
    margin: 0;
}

.soap-payment-section__security i {
    color: var(--soap-success);
    flex-shrink: 0;
}


/* ===========================================
   5. MEDIA QUERIES
   =========================================== */

/* Tablet pequeño (480px+) */
@media (min-width: 30rem) {
    .soap-coverage-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .soap-accident-section__steps {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Tablet (480px+) */
@media (min-width: 480px) {
    .soap-flotas__header {
        padding: 1.1rem 1.5rem;
    }
    
    .soap-flotas__body {
        padding: 1.5rem;
    }
    
    .soap-flotas__title {
        font-size: 1.2rem;
    }
    
    .soap-flotas__cta {
        padding: 0.75rem 2rem;
    }
}

/* Tablet (768px+) */
@media (min-width: 48rem) {
    /* Hero */
    .soap-hero-pro {
        padding: 2.5rem 2rem;
        margin: 0;
        border-radius: var(--soap-radius-lg);
    }
    
    .soap-hero-pro__content {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 2rem;
        align-items: center;
    }
    
    .soap-hero-pro__title {
        font-size: 2rem;
    }
    
    .soap-hero-pro__visual {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    /* Flotas */
    .soap-flotas {
        border-radius: 12px;
    }
    
    .soap-flotas__header {
        padding: 1.25rem 1.75rem;
        gap: 1rem;
    }
    
    .soap-flotas__header-icon {
        width: 50px;
        height: 50px;
        font-size: 1.4rem;
    }
    
    .soap-flotas__title {
        font-size: 1.3rem;
    }
    
    .soap-flotas__subtitle {
        font-size: 0.9rem;
    }
    
    .soap-flotas__body {
        padding: 1.5rem 1.75rem 1.75rem;
    }
    
    .soap-flotas__desc {
        font-size: 0.95rem;
    }
    
    .soap-flotas__benefits {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.5rem 1.5rem;
    }
    
    .soap-flotas__benefits li {
        flex: 0 0 auto;
        font-size: 0.88rem;
    }
    
    /* Vehicle Tabs */
    .soap-vehicle-tabs {
        margin: 0;
        border-radius: var(--soap-radius);
        padding: 1.25rem;
    }
    
    .soap-vehicle-tabs__item {
        padding: 0.75rem 1.1rem;
        font-size: 0.75rem;
    }
    
    .soap-vehicle-tabs__item i {
        font-size: 1.25rem;
    }
    
    /* Process */
    .soap-process__title {
        font-size: 1.4rem;
    }
    
    /* Why */
    .soap-why {
        padding: 2.5rem;
        margin: 0 0 1.5rem 0;
        border-radius: var(--soap-radius-lg);
    }
    
    .soap-why__title {
        font-size: 1.4rem;
    }
    
    .soap-why__stats {
        gap: 2.5rem;
    }
    
    .soap-why__stat-number {
        font-size: 1.75rem;
    }
    
    .soap-why__benefits {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Info */
    .soap-info-section__grid {
        grid-template-columns: 1fr 1fr;
        gap: 2.25rem;
    }
    
    .soap-info-section__title {
        font-size: 1.4rem;
    }
    
    /* Accident */
    .soap-accident-section {
        padding: 2.5rem;
        margin: 0 0 1.5rem 0;
        border-radius: var(--soap-radius-lg);
    }
    
    .soap-accident-section__steps {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .soap-accident-section__title {
        font-size: 1.4rem;
    }
    
    /* FAQ */
    .soap-faq-section__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.85rem;
    }
    
    .soap-faq-section__title {
        font-size: 1.4rem;
    }
}

/* Desktop (1024px+) */
@media (min-width: 64rem) {
    .soap-hero-pro {
        padding: 3rem 2.5rem;
    }
    
    .soap-hero-pro__title {
        font-size: 2.25rem;
    }
    
    .soap-hero-pro__price-card {
        min-width: 220px;
    }
    
    .soap-hero-pro__price-amount {
        font-size: 2.5rem;
    }
    
    .soap-hero-pro__price-content {
        padding: 1.5rem 1.75rem;
    }
    
    .soap-why__container {
        display: grid;
        grid-template-columns: 1fr 1.3fr;
        gap: 2.5rem;
        align-items: center;
    }
    
    .soap-why__main {
        text-align: left;
        margin-bottom: 0;
    }
    
    .soap-why__desc {
        margin-left: 0;
        margin-right: 0;
    }
    
    .soap-why__stats {
        justify-content: flex-start;
    }
}

/* Desktop grande (1280px+) */
@media (min-width: 80rem) {
    .soap-hero-pro__price-card {
        min-width: 240px;
    }
    
    .soap-hero-pro__price-amount {
        font-size: 2.75rem;
    }
}


/* ===========================================
   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);
    }
}


/* ===========================================
   6. PRINT STYLES
   =========================================== */
@media print {
    .soap-hero-pro,
    .soap-why {
        background: #fff !important;
        color: #000 !important;
    }
    
    .soap-hero-pro__cta,
    .soap-why__cta {
        display: none;
    }
}

/* =============================================
   SOAPTAXIS ADDITIONS
   ============================================= */

.topbar-inner{
  display:flex;align-items:center;justify-content:flex-end;
  gap:1.25rem;min-height:2.4rem;
  flex-wrap:wrap;
}

.topbar-item{display:inline-flex;align-items:center;gap:.4rem;}

.topbar-item i{color:#4ade80;}

.site-logo{
  display:flex;align-items:center;gap:.6rem;
  text-decoration:none;color:var(--color-text);
  font-weight:700;
}

.site-logo__mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;
  background:var(--brand-yellow);
  color:var(--brand-black);border-radius:50%;font-size:1.25rem;
  box-shadow:0 2px 6px rgba(252,209,22,.45);
}

.site-logo__text{font-size:1.15rem;line-height:1;display:flex;align-items:baseline;gap:.1rem;font-weight:800;letter-spacing:-.01em;}

.site-logo__text strong{color:var(--brand-yellow);font-weight:900;}

.site-logo__text small{font-size:.7rem;color:var(--color-text-muted);font-weight:400;margin-left:.15rem;}

  .site-logo__mark{width:48px;height:48px;font-size:1.3rem;}

  .site-logo__text{font-size:1.35rem;}

.footer-bottom__content{display:flex;flex-direction:column;align-items:center;gap:.75rem;}

.p6-hero{
  position:relative;
  background:var(--brand-yellow);
  padding:3rem 0 3.5rem;
  border-bottom:1px solid var(--brand-black);
}

.p6-hero::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:6px;
  background-image:
    linear-gradient(90deg,var(--brand-black) 50%,transparent 50%);
  background-size:12px 6px;
  background-repeat:repeat-x;
}

.p6-hero__grid{align-items:center;gap:2rem;padding:1rem 0;}

.p6-hero__content{max-width:600px;}

.p6-hero__trust{
  display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;
}

.p6-trust-chip{
  display:inline-flex;align-items:center;gap:.45rem;
  background:#fff;color:var(--brand-black);
  padding:.4rem .85rem;border-radius:2rem;
  font-size:.78rem;font-weight:700;
  border:1px solid rgba(0,0,0,.15);
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.p6-trust-chip i{color:var(--brand-blue);font-size:.85rem;}

.p6-trust-chip--muted{background:rgba(255,255,255,.5);font-weight:500;}

.p6-trust-chip--muted i{color:#555;}

.p6-hero__title{
  font-size:clamp(2rem,5vw,3.25rem);
  font-weight:800;color:var(--brand-black);
  margin:0 0 .4rem;line-height:1.1;letter-spacing:-.02em;
}

.p6-hero__subtitle{
  font-size:1.2rem;color:var(--brand-black);
  margin:0 0 1rem;font-weight:600;
}

.p6-hero__desc{
  font-size:1rem;color:var(--brand-black);
  margin:0 0 1.75rem;line-height:1.6;max-width:54ch;opacity:.85;
}

.p6-hero__actions{display:flex;gap:.75rem;flex-wrap:wrap;}

.p6-btn{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.95rem 1.5rem;border-radius:.4rem;
  font-weight:700;text-decoration:none;font-size:.98rem;
  transition:all .15s ease;
}

.p6-btn--primary{
  background:var(--brand-black);color:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.15);
}

.p6-btn--primary:hover{background:#000;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.2);}

.p6-btn--ghost{
  background:#fff;color:var(--brand-black);
  border:1px solid var(--brand-black);
}

.p6-btn--ghost:hover{background:var(--brand-black);color:var(--brand-yellow);}

.p6-btn--ghost i{color:var(--brand-green);font-size:1.1rem;}

.p6-btn--ghost:hover i{color:var(--brand-yellow);}

.p6-hero__aside{display:flex;justify-content:center;}

.p6-price-card{
  background:#fff;border:1px solid rgba(0,0,0,.12);
  border-radius:.6rem;padding:1.75rem;
  max-width:380px;width:100%;
  box-shadow:0 4px 20px rgba(0,0,0,.08);
  border-top:4px solid var(--brand-black);
}

.p6-price-card__head{
  display:flex;justify-content:space-between;align-items:center;
  gap:.5rem;margin-bottom:1rem;
}

.p6-price-card__label{
  font-size:.88rem;color:#555;font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;
}

.p6-price-card__tag{
  display:inline-flex;align-items:center;
  background:var(--brand-yellow);color:var(--brand-black);
  padding:.25rem .6rem;border-radius:.25rem;
  font-size:.68rem;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;
}

.p6-price-card__body{
  padding:.5rem 0 1.25rem;
  border-bottom:1px solid #f0f0f0;margin-bottom:1.25rem;
}

.p6-price-card__from{
  display:block;font-size:.82rem;color:#777;
  font-weight:500;margin-bottom:.2rem;
}

.p6-price-card__amount{
  display:block;font-size:2.8rem;font-weight:800;
  color:var(--brand-black);line-height:1;
  letter-spacing:-.025em;margin-bottom:.35rem;
}

.p6-price-card__period{
  display:block;font-size:.82rem;color:#555;font-weight:500;
}

.p6-price-card__list{
  list-style:none;padding:0;margin:0 0 1.5rem;
}

.p6-price-card__list li{
  padding:.4rem 0;font-size:.9rem;color:#333;
  display:flex;align-items:flex-start;gap:.6rem;line-height:1.5;
}

.p6-price-card__list li i{
  color:var(--brand-green);font-size:.85rem;
  margin-top:.25rem;flex-shrink:0;
  width:16px;height:16px;border-radius:50%;
  background:rgba(76,175,80,.15);
  display:inline-flex;align-items:center;justify-content:center;
}

.p6-price-card__cta{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--brand-green);color:#fff;
  padding:.95rem 1rem;border-radius:.4rem;
  font-weight:700;text-decoration:none;font-size:1rem;
  transition:background .15s ease;width:100%;
}

.p6-price-card__cta:hover{background:var(--brand-green-dark);}

.p6-steps{
  background:#fafaf7;padding:2.25rem 0;
  border-bottom:1px solid #eee;
}

.p6-steps__grid{
  display:grid;grid-template-columns:1fr;gap:1.25rem;
  max-width:1050px;margin:0 auto;
}

.p6-step{
  display:flex;align-items:center;gap:1rem;padding:.5rem 0;
}

.p6-step__num{
  width:44px;height:44px;flex-shrink:0;border-radius:50%;
  background:var(--brand-black);color:var(--brand-yellow);
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;font-weight:800;
}

.p6-step__text h4{
  font-size:1rem;font-weight:800;color:var(--brand-black);
  margin:0 0 .2rem;
}

.p6-step__text p{
  font-size:.88rem;color:#555;margin:0;line-height:1.45;
}

.p6-products{padding:3.5rem 0;background:#fff;}

.p6-section-head{text-align:center;margin-bottom:2.25rem;}

.p6-section-head h2{
  font-size:clamp(1.6rem,3.5vw,2.25rem);font-weight:800;
  color:var(--brand-black);margin:0 0 .5rem;letter-spacing:-.01em;
}

.p6-section-head h2::after{
  content:'';display:block;width:56px;height:3px;
  background:var(--brand-yellow);margin:.75rem auto 0;border-radius:2px;
}

.p6-section-head p{color:#555;margin:1rem 0 0;font-size:1rem;}

.p6-grid{gap:1.25rem;}

.p6-product{
  background:#fff;border:1px solid #e5e5e5;border-radius:.5rem;
  padding:1.75rem 1.5rem;display:flex;flex-direction:column;
  transition:all .2s ease;position:relative;
}

.p6-product:hover{
  border-color:var(--brand-black);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  transform:translateY(-3px);
}

.p6-product__head{
  display:flex;align-items:center;justify-content:space-between;
  gap:.5rem;margin-bottom:1.25rem;
}

.p6-product__head > i:first-child{
  width:52px;height:52px;border-radius:10px;
  background:var(--brand-yellow);color:var(--brand-black);
  display:flex;align-items:center;justify-content:center;
  font-size:1.35rem;flex-shrink:0;
}

.p6-product__tag{
  display:inline-flex;align-items:center;
  background:var(--brand-green);color:#fff;
  padding:.2rem .55rem;border-radius:.25rem;
  font-size:.68rem;font-weight:800;
  letter-spacing:.05em;text-transform:uppercase;
}

.p6-product__tag--alt{background:var(--brand-blue);}

.p6-product__title{
  font-size:1.15rem;font-weight:800;color:var(--brand-black);
  margin:0 0 1rem;line-height:1.25;
}

.p6-product__price{
  padding:1rem 0;margin:0 0 1rem;
  border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;
  display:flex;flex-direction:column;
}

.p6-product__price span{
  font-size:.78rem;color:#777;font-weight:500;
  text-transform:uppercase;letter-spacing:.06em;margin-bottom:.15rem;
}

.p6-product__price strong{
  font-size:1.85rem;font-weight:800;color:var(--brand-black);
  line-height:1;letter-spacing:-.02em;
}

.p6-product__feats{
  list-style:none;padding:0;margin:0 0 1.25rem;flex:1;
}

.p6-product__feats li{
  padding:.3rem 0;font-size:.85rem;color:#444;
  display:flex;align-items:center;gap:.5rem;
}

.p6-product__feats li i{color:var(--brand-green);font-size:.8rem;}

.p6-product__cta{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--brand-black);color:#fff;
  padding:.8rem 1rem;border-radius:.4rem;
  font-weight:700;text-decoration:none;font-size:.95rem;
  transition:all .15s ease;margin-top:auto;
}

.p6-product__cta:hover{background:var(--brand-green);}

.p6-banner{padding:2.5rem 0;background:var(--brand-yellow);}

.p6-banner__box{
  display:flex;align-items:center;gap:1.25rem;
  flex-wrap:wrap;
}

.p6-banner__icon{
  width:60px;height:60px;flex-shrink:0;border-radius:50%;
  background:var(--brand-black);color:var(--brand-yellow);
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;
}

.p6-banner__text{flex:1;min-width:240px;}

.p6-banner__text h3{
  font-size:1.3rem;font-weight:800;color:var(--brand-black);
  margin:0 0 .2rem;line-height:1.25;
}

.p6-banner__text p{margin:0;color:var(--brand-black);font-weight:500;}

.p6-banner__cta{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--brand-black);color:#fff;
  padding:.85rem 1.5rem;border-radius:.4rem;
  font-weight:700;text-decoration:none;font-size:.98rem;
  transition:all .15s ease;
}

.p6-banner__cta:hover{background:#000;transform:translateY(-1px);}

.p6-insurers{padding:3rem 0;background:#fafaf7;}

.p6-insurers__label{
  text-align:center;color:#555;font-size:.95rem;
  margin:0 0 1.5rem;font-weight:500;
}

.p6-insurers__row{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:1rem;max-width:1000px;margin:0 auto;
}

.p6-insurer-card{
  background:#fff;padding:1rem 1.25rem;
  border:1px solid #e5e5e5;border-radius:.4rem;
  display:flex;flex-direction:column;align-items:center;
  min-width:120px;transition:all .2s ease;
}

.p6-insurer-card:hover{
  border-color:var(--brand-black);
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}

.p6-insurer-card strong{
  font-size:1.25rem;font-weight:800;color:var(--brand-black);
  letter-spacing:.02em;line-height:1;
}

.p6-insurer-card span{
  font-size:.72rem;color:#777;margin-top:.2rem;
  text-transform:uppercase;letter-spacing:.06em;
}

.p6-quick{padding:3rem 0 3.5rem;background:#fff;}

.p6-quick__item{
  display:flex;align-items:center;gap:1rem;
  background:#fff;padding:1.25rem;
  border:1px solid #e5e5e5;border-radius:.5rem;
  text-decoration:none;transition:all .2s ease;height:100%;
}

.p6-quick__item:hover{
  border-color:var(--brand-black);
  box-shadow:0 6px 16px rgba(0,0,0,.06);
  transform:translateX(2px);
}

.p6-quick__icon{
  width:44px;height:44px;border-radius:10px;flex-shrink:0;
  background:var(--brand-yellow-soft);color:var(--brand-black);
  display:flex;align-items:center;justify-content:center;
  font-size:1.15rem;border:1px solid var(--brand-yellow);
}

.p6-quick__text{flex:1;}

.p6-quick__text h4{
  font-size:.98rem;font-weight:800;color:var(--brand-black);
  margin:0 0 .2rem;line-height:1.25;
}

.p6-quick__text p{
  font-size:.83rem;color:#666;margin:0;line-height:1.45;
}

.p6-quick__arrow{
  color:#999;font-size:.85rem;transition:all .15s ease;
}

.p6-quick__item:hover .p6-quick__arrow{color:var(--brand-black);transform:translateX(3px);}

.p6-wa{
  position:fixed;right:1rem;bottom:1rem;z-index:999;
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--brand-green);color:#fff;
  padding:.8rem 1.15rem;border-radius:2rem;
  text-decoration:none;font-weight:600;font-size:.9rem;
  box-shadow:0 4px 14px rgba(76,175,80,.35);
  transition:all .2s ease;
}

.p6-wa:hover{background:var(--brand-green-dark);transform:translateY(-2px);box-shadow:0 6px 18px rgba(76,175,80,.45);}

.p6-wa i{font-size:1.2rem;}

  .p6-wa span{display:none;}

  .p6-wa{padding:.85rem;width:48px;height:48px;justify-content:center;}

.p6-breadcrumbs{
  background:#fafaf7;border-bottom:1px solid #eee;
  padding:.75rem 0;font-size:.85rem;
}

.p6-breadcrumbs > div{
  display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
}

.p6-breadcrumbs a{
  color:#666;text-decoration:none;font-weight:500;
  display:inline-flex;align-items:center;gap:.4rem;
}

.p6-breadcrumbs a:hover{color:var(--brand-black);}

.p6-breadcrumbs a i{font-size:.78rem;}

.p6-breadcrumbs__sep{color:#bbb;font-weight:400;}

.p6-breadcrumbs .is-current{color:var(--brand-black);font-weight:700;}

.p6-hero--product{padding:2.5rem 0 3rem;}

.p6-hero--product::after{height:5px;background-size:10px 5px;}

.p6-hero--product .p6-hero__title{font-size:clamp(1.7rem,4.5vw,2.6rem);}

.p6-page-hero{
  background:var(--brand-yellow);
  padding:3rem 0 3.5rem;border-bottom:1px solid var(--brand-black);
  position:relative;
}

.p6-page-hero::after{
  content:'';position:absolute;left:0;right:0;bottom:-1px;height:5px;
  background-image:linear-gradient(90deg,var(--brand-black) 50%,transparent 50%);
  background-size:10px 5px;background-repeat:repeat-x;
}

.p6-page-hero__inner{max-width:760px;}

.p6-page-hero__eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  background:#fff;color:var(--brand-black);
  padding:.4rem .9rem;border-radius:2rem;
  font-size:.78rem;font-weight:700;margin-bottom:1rem;
  border:1px solid rgba(0,0,0,.15);
}

.p6-page-hero__eyebrow i{color:var(--brand-blue);}

.p6-page-hero__title{
  font-size:clamp(1.9rem,4.5vw,2.75rem);font-weight:800;
  color:var(--brand-black);margin:0 0 .75rem;line-height:1.15;letter-spacing:-.02em;
}

.p6-page-hero__sub{
  font-size:1.05rem;color:var(--brand-black);
  margin:0 0 1.25rem;line-height:1.6;opacity:.85;max-width:60ch;
}

.p6-page-hero__sub a{color:var(--brand-black);font-weight:700;text-decoration:underline;}

.p6-content{padding:3rem 0;background:#fff;}

.p6-content__col{padding:.5rem 0;}

.p6-content h2{
  font-size:clamp(1.4rem,3vw,1.85rem);font-weight:800;
  color:var(--brand-black);margin:0 0 1rem;letter-spacing:-.01em;
  line-height:1.25;
}

.p6-content h2::after{
  content:'';display:block;width:48px;height:3px;
  background:var(--brand-yellow);margin-top:.6rem;border-radius:2px;
}

.p6-content h3{
  font-size:1.25rem;font-weight:800;color:var(--brand-black);
  margin:1.75rem 0 .75rem;
}

.p6-content h4{
  font-size:1.05rem;font-weight:800;color:var(--brand-black);
  margin:1.5rem 0 .5rem;
}

.p6-content p{
  font-size:.95rem;color:#333;line-height:1.65;margin:0 0 1rem;
}

.p6-content a{color:var(--brand-blue);font-weight:600;text-decoration:none;}

.p6-content a:hover{text-decoration:underline;}

.p6-content strong{color:var(--brand-black);font-weight:700;}

.p6-list{list-style:none;padding:0;margin:0 0 1.25rem;}

.p6-list > li{
  position:relative;padding:.45rem 0 .45rem 1.5rem;
  font-size:.95rem;color:#333;line-height:1.6;
  border-bottom:1px dashed #eee;
}

.p6-list > li:last-child{border-bottom:none;}

.p6-list > li::before{
  content:'';position:absolute;left:0;top:.85rem;
  width:8px;height:8px;border-radius:50%;
  background:var(--brand-yellow);border:1px solid var(--brand-black);
}

.p6-list--num{counter-reset:p6list;}

.p6-list--num > li{counter-increment:p6list;padding-left:2.25rem;}

.p6-list--num > li::before{
  width:22px;height:22px;border-radius:50%;
  background:var(--brand-black);color:var(--brand-yellow);
  content:counter(p6list);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.75rem;font-weight:800;
  top:.55rem;border:none;
}

.p6-list--lg > li{padding:.7rem 0 .7rem 2.25rem;font-size:1rem;}

.p6-list--lg > li::before{top:.85rem;}

.p6-list--links > li::before{
  background:var(--brand-blue);border-color:var(--brand-blue);
}

.p6-list--links > li a{
  color:var(--brand-blue);font-weight:700;text-decoration:none;
}

.p6-list--links > li a:hover{text-decoration:underline;}

.p6-table{
  width:100%;border-collapse:collapse;margin:0 0 1.5rem;
  background:#fff;border:1px solid #e5e5e5;border-radius:.5rem;
  overflow:hidden;font-size:.92rem;
}

.p6-table thead{background:var(--brand-black);color:var(--brand-yellow);}

.p6-table th{
  padding:.85rem 1rem;text-align:left;
  font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
}

.p6-table th:last-child{text-align:right;}

.p6-table td{
  padding:.85rem 1rem;border-bottom:1px solid #eee;
  color:#333;line-height:1.5;vertical-align:top;
}

.p6-table tbody tr:last-child td{border-bottom:none;}

.p6-table tbody tr:nth-child(even){background:#fafaf7;}

.p6-table td:last-child{text-align:right;font-size:1.1rem;color:var(--brand-black);white-space:nowrap;}

.p6-table td small{color:#777;font-weight:400;display:block;font-size:.78rem;margin-top:.2rem;}

.p6-notice{
  display:flex;gap:1rem;align-items:flex-start;
  background:var(--brand-yellow-soft);
  border:1px solid var(--brand-yellow);
  border-left:5px solid var(--brand-yellow-dark);
  padding:1.5rem;border-radius:.5rem;
  margin:1.5rem 0;
}

.p6-notice__icon{
  width:40px;height:40px;flex-shrink:0;border-radius:50%;
  background:var(--brand-yellow);color:var(--brand-black);
  display:flex;align-items:center;justify-content:center;
  font-size:1.15rem;border:1px solid var(--brand-black);
}

.p6-notice__body{flex:1;}

.p6-notice__body h4{
  margin:0 0 .5rem;font-size:1rem;font-weight:800;color:var(--brand-black);
}

.p6-notice__body p{margin:0 0 .75rem;font-size:.92rem;color:#333;line-height:1.55;}

.p6-notice__body p:last-child{margin-bottom:0;}

.p6-notice__body ul{margin:0;}

.p6-notice__body .p6-list > li{padding:.4rem 0 .4rem 1.5rem;font-size:.92rem;border-bottom-color:rgba(0,0,0,.08);}

.p6-disclaimer{
  background:#fff5f5;border:1px solid #fecaca;border-left:4px solid #ef4444;
  padding:1.25rem 1.5rem;border-radius:.5rem;margin:1.5rem auto;
  max-width:calc(var(--container-max-width,1440px) - 8vw);
  width:var(--container-vw,94vw);
}

.p6-disclaimer h2,.p6-disclaimer h4{
  display:flex;align-items:center;gap:.5rem;
  margin:0 0 .5rem;font-size:.95rem;font-weight:800;color:#991b1b;
}

.p6-disclaimer h4 i{color:#ef4444;}

.p6-disclaimer p{margin:0;font-size:.88rem;color:#7f1d1d;line-height:1.55;}

.p6-disclaimer a{color:#991b1b;font-weight:700;}

.p6-quote{
  background:var(--brand-black);color:#e5e5e5;
  padding:2rem;border-radius:.5rem;margin:2rem 0 0;
  border-left:5px solid var(--brand-yellow);
}

.p6-quote h4{
  margin:0 0 1rem;font-size:.85rem;font-weight:800;
  color:var(--brand-yellow);letter-spacing:.08em;text-transform:uppercase;
}

.p6-quote p{
  font-size:.95rem;color:#ddd;line-height:1.7;
  margin:0 0 1rem;font-style:italic;font-family:Georgia,serif;
}

.p6-quote p:last-child{margin-bottom:0;}

.p6-steps__grid--4{grid-template-columns:1fr;}

.p6-product--featured{
  border-color:var(--brand-black);
  border-top:5px solid var(--brand-yellow);
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}

.p6-product--featured:hover{border-color:var(--brand-black);}

.p6-product__brand{
  display:inline-flex;align-items:center;
  font-size:.85rem;font-weight:800;color:#555;
  padding:.3rem .65rem;background:#f5f5f0;border-radius:.3rem;
  letter-spacing:.02em;
}

.p6-product__sub{
  font-size:.82rem;color:#666;margin:0 0 1rem;line-height:1.45;
}

.p6-product__btns{display:flex;gap:.5rem;margin-top:auto;flex-wrap:wrap;}

.p6-product__btns .p6-product__cta{flex:1;min-width:140px;}

.p6-product__cta-alt{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.8rem 1rem;border-radius:.4rem;
  background:#fff;color:var(--brand-black);border:1px solid var(--brand-black);
  font-weight:700;text-decoration:none;font-size:.88rem;
  transition:all .15s ease;
}

.p6-product__cta-alt:hover{background:var(--brand-yellow);}

.p6-product__cta--disabled{
  background:#e5e5e5 !important;color:#999 !important;
  cursor:not-allowed;pointer-events:none;
}

.p6-insurers-grid{padding:3.5rem 0;background:#fafaf7;}

.p6-form-wrap{padding:3.5rem 0;background:#fff;}

.p6-form{
  background:#fafaf7;border:1px solid #e5e5e5;
  padding:2rem;border-radius:.6rem;margin-top:1rem;
  border-top:5px solid var(--brand-yellow);
}

.p6-form .custom-grid-container{gap:1.25rem 1rem;}

.p6-form__label{
  display:block;font-size:.85rem;font-weight:700;
  color:var(--brand-black);margin-bottom:.4rem;
}

.p6-form__req{color:#ef4444;font-weight:600;font-size:.78rem;}

.p6-form__opt{color:#777;font-weight:500;font-size:.78rem;}

.p6-form__input{
  width:100%;padding:.75rem .9rem;
  border:1px solid #d1d5db;border-radius:.35rem;
  font-size:.95rem;color:var(--brand-black);background:#fff;
  font-family:inherit;
  transition:all .15s ease;
}

.p6-form__input:focus{
  outline:none;border-color:var(--brand-black);
  box-shadow:0 0 0 3px rgba(252,209,22,.3);
}

.p6-form__textarea{resize:vertical;min-height:120px;line-height:1.5;}

.p6-form__help{
  font-size:.82rem;color:#666;margin:.5rem 0 0;
  line-height:1.5;background:#fff;
  padding:.75rem .9rem;border-radius:.35rem;
  border-left:3px solid var(--brand-yellow);
}

.p6-form__actions{
  display:flex;gap:.75rem;flex-wrap:wrap;
  padding-top:.75rem;margin-top:.5rem;border-top:1px solid #e5e5e5;
}

.p6-faqs{padding:3rem 0;background:#fafaf7;}

.p6-faq-list{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem;}

.p6-faq{
  background:#fff;border:1px solid #e5e5e5;border-radius:.5rem;
  overflow:hidden;transition:all .2s ease;
}

.p6-faq[open]{
  border-color:var(--brand-black);
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.p6-faq__q{
  display:flex;align-items:center;gap:1rem;
  padding:1.15rem 1.5rem;cursor:pointer;
  list-style:none;user-select:none;
  font-weight:700;color:var(--brand-black);
  transition:background .15s ease;
}

.p6-faq__q::-webkit-details-marker{display:none;}

.p6-faq__q:hover{background:var(--brand-yellow-soft);}

.p6-faq[open] > .p6-faq__q{
  background:var(--brand-yellow);
  border-bottom:1px solid var(--brand-black);
}

.p6-faq__num{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  background:var(--brand-black);color:var(--brand-yellow);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.78rem;font-weight:900;letter-spacing:.05em;
}

.p6-faq__title{flex:1;font-size:1rem;line-height:1.4;}

.p6-faq__icon{
  font-size:.85rem;color:var(--brand-black);
  transition:transform .2s ease;flex-shrink:0;
}

.p6-faq[open] > .p6-faq__q .p6-faq__icon{transform:rotate(180deg);}

.p6-faq__a{padding:1.25rem 1.5rem 1.5rem;}

.p6-faq__a p{font-size:.92rem;color:#333;line-height:1.6;margin:0 0 .75rem;}

.p6-faq__a p:last-child{margin-bottom:0;}

.p6-faq__a a{color:var(--brand-blue);font-weight:700;text-decoration:none;}

.p6-faq__a a:hover{text-decoration:underline;}

.p6-faq__a .p6-list{margin-top:.5rem;}

.p6-cta-block{padding:3rem 0;background:var(--brand-yellow-soft);}

.p6-cta-block__inner{
  background:#fff;border:1px solid #e5e5e5;border-radius:.6rem;
  border-left:5px solid var(--brand-yellow);
  padding:2rem;display:flex;align-items:center;gap:1.5rem;
  flex-wrap:wrap;justify-content:space-between;
  max-width:960px;margin:0 auto;
}

.p6-cta-block__inner h3{
  font-size:1.3rem;font-weight:800;color:var(--brand-black);
  margin:0 0 .35rem;
}

.p6-cta-block__inner p{margin:0;color:#555;font-size:.95rem;}

.p6-cta-block__actions{display:flex;gap:.75rem;flex-wrap:wrap;}

.p6-channels{padding:3rem 0;background:#fafaf7;}

.p6-channels .custom-grid-container{gap:1.25rem;}

.p6-channel{
  background:#fff;border:1px solid #e5e5e5;border-radius:.5rem;
  padding:2rem 1.5rem;text-align:center;
  transition:all .2s ease;
}

.p6-channel:hover{
  border-color:var(--brand-black);
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  transform:translateY(-3px);
}

.p6-channel__icon{
  width:60px;height:60px;margin:0 auto 1rem;
  border-radius:50%;background:var(--brand-yellow);color:var(--brand-black);
  display:flex;align-items:center;justify-content:center;
  font-size:1.65rem;border:1px solid var(--brand-black);
}

.p6-channel h3{
  font-size:1.05rem;font-weight:800;color:var(--brand-black);
  margin:0 0 .35rem;
}

.p6-channel p{font-size:.88rem;color:#666;margin:0 0 .75rem;}

.p6-channel__link{
  display:inline-block;font-size:1.05rem;font-weight:800;
  color:var(--brand-black);text-decoration:none;letter-spacing:-.01em;
}

.p6-doc{
  max-width:860px;margin:0 auto;
  background:#fff;border:1px solid #e5e5e5;
  padding:2.5rem;border-radius:.5rem;
  border-top:5px solid var(--brand-black);
}

.p6-doc h2{
  font-size:1.6rem;font-weight:800;color:var(--brand-black);
  margin:0 0 1.5rem;padding-bottom:1rem;
  border-bottom:2px solid var(--brand-yellow);
}

.p6-doc h2::after{display:none;}

.p6-doc h3{
  font-size:1.15rem;font-weight:800;color:var(--brand-black);
  margin:2rem 0 1rem;
}

.p6-doc__highlight{
  background:var(--brand-yellow-soft);border:1px solid var(--brand-yellow);
  border-left:4px solid var(--brand-yellow-dark);
  padding:1.25rem 1.5rem;border-radius:.4rem;margin:1.25rem 0;
}

.p6-doc__highlight h4{
  display:flex;align-items:center;gap:.5rem;
  margin:0 0 .5rem;font-size:1rem;font-weight:800;color:var(--brand-black);
}

.p6-doc__highlight h4 i{color:var(--brand-yellow-dark);}

.p6-doc__highlight p{margin:0 0 .5rem;font-size:.92rem;color:#333;line-height:1.6;}

.p6-doc__highlight p:last-child{margin-bottom:0;}

.p6-doc__highlight a{color:var(--brand-blue);font-weight:700;}

.p6-doc__closing{
  margin-top:2rem;padding-top:1.5rem;
  border-top:1px solid #e5e5e5;
  font-style:italic;color:#555;font-size:.95rem;
}

  .p6-hero__grid{gap:1.5rem;}

  .p6-form{padding:1.25rem;}

  .p6-doc{padding:1.5rem;}

  .p6-faq__q{padding:1rem;gap:.75rem;}

  .p6-faq__title{font-size:.92rem;}

  .p6-faq__a{padding:1rem 1rem 1.25rem;}

  .p6-table{font-size:.85rem;}

  .p6-table th,.p6-table td{padding:.6rem .65rem;}

  .p6-cta-block__inner{padding:1.5rem;}

  .p6-quote{padding:1.5rem;}

.p6-trust-chip, .p6-product__tag, .p6-price-card__tag { display: none !important; }

.p6-hero__trust { display: none !important; }

.p6-wa { display: none !important; }

.p6-hero::after, .p6-hero--product::after, .p6-page-hero::after { display: none !important; }

.p6-insurers__names { display: none; }

.p6-quick__text h1, .p6-quick__text h2, .p6-quick__text h3, .p6-quick__text h4 {
  font-size: .98rem; font-weight: 800; color: var(--brand-black);
  margin: 0 0 .2rem; line-height: 1.25;
}

.p6-info-card{
  background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.7rem;
  padding:1.5rem 1.5rem 1.6rem;max-width:380px;width:100%;
  box-shadow:0 6px 22px rgba(0,0,0,.08);
  border-top:5px solid var(--brand-black);
  position:relative;
}

.p6-info-card__head{
  display:flex;align-items:center;gap:.7rem;margin-bottom:.85rem;
  padding-bottom:.85rem;border-bottom:1px dashed rgba(0,0,0,.12);
}

.p6-info-card__icon{
  flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  width:2.5rem;height:2.5rem;border-radius:.5rem;
  background:var(--brand-yellow);color:var(--brand-black);
  font-size:1.05rem;
}

.p6-info-card__eyebrow{
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:#666;display:block;margin-bottom:.1rem;
}

.p6-info-card__title{
  margin:0;font-size:1.05rem;font-weight:800;color:var(--brand-black);line-height:1.25;
}

.p6-info-card__list{
  list-style:none;margin:0;padding:0;
}

.p6-info-card__list li{
  display:flex;align-items:flex-start;gap:.65rem;
  padding:.55rem 0;font-size:.92rem;color:var(--brand-black);line-height:1.4;
  border-bottom:1px dashed rgba(0,0,0,.08);
}

.p6-info-card__list li:last-child{border-bottom:0;}

.p6-info-card__list i{
  flex-shrink:0;color:var(--brand-green);font-size:.95rem;margin-top:3px;
}

.p6-info-card__cta{
  display:flex;align-items:center;justify-content:center;gap:.55rem;
  margin-top:1rem;padding:.85rem 1rem;
  background:var(--brand-black);color:#fff;text-decoration:none;
  border-radius:.4rem;font-weight:700;font-size:.95rem;
  transition:background .15s ease,transform .15s ease;
}

.p6-info-card__cta:hover{background:#000;color:#fff;transform:translateY(-1px);}

.p6-info-card__note{
  margin:.85rem 0 0;font-size:.78rem;color:#666;text-align:center;line-height:1.4;
}

  .p6-info-card{padding:1.25rem 1.15rem 1.4rem;}

  .p6-info-card__title{font-size:.98rem;}

  .p6-info-card__list li{font-size:.88rem;}

.p6-faq-wrap{max-width:62rem;margin:0 auto;}

.p6-faq-hero{
  position:relative;display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:center;
  padding:2.25rem 1.75rem;margin-bottom:2rem;
  background:linear-gradient(135deg,#fffdf2 0%,#fef7d4 100%);
  border:1px solid var(--brand-yellow-light);border-radius:var(--radius-lg);
  box-shadow:0 4px 20px rgba(255,200,0,.08);
  overflow:hidden;
}

.p6-faq-hero::before{
  content:"";position:absolute;top:-30%;right:-10%;width:240px;height:240px;
  background:radial-gradient(circle,var(--brand-yellow) 0%,transparent 70%);
  opacity:.35;pointer-events:none;
}

  .p6-faq-hero{grid-template-columns:1fr 9rem;padding:2.5rem 2rem;}

.p6-faq-hero__body{position:relative;z-index:1;}

.p6-faq-hero__eyebrow{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem .8rem;background:#fff;border:1px solid var(--brand-yellow);border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-blue-dark);margin-bottom:1rem;box-shadow:0 1px 2px rgba(0,0,0,.04);}

.p6-faq-hero__eyebrow i{color:var(--brand-yellow-dark);}

.p6-faq-hero h2{margin:0 0 .65rem;font-size:1.7rem;line-height:1.2;color:var(--brand-black);font-weight:800;letter-spacing:-.01em;}

.p6-faq-hero p{margin:0 0 1.1rem;color:var(--color-text-secondary);font-size:1rem;line-height:1.55;max-width:42rem;}

.p6-faq-hero__stats{display:flex;flex-wrap:wrap;gap:.55rem;}

.p6-faq-hero__stat{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .85rem;background:#fff;border-radius:999px;font-size:.82rem;font-weight:600;color:var(--color-text);box-shadow:0 1px 3px rgba(0,0,0,.06);}

.p6-faq-hero__stat i{color:var(--brand-yellow-dark);font-size:.9rem;}

.p6-faq-hero__art{position:relative;z-index:1;display:none;justify-self:end;align-self:center;}

.p6-faq-hero__art svg{width:9rem;height:auto;display:block;filter:drop-shadow(0 6px 14px rgba(0,38,84,.12));}

.p6-faq-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;padding:.25rem 0;}

.p6-faq-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .95rem;background:#fff;border:1.5px solid var(--color-border);border-radius:999px;font-size:.85rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;transition:all .2s ease;}

.p6-faq-tab:hover{border-color:var(--brand-yellow-dark);color:var(--brand-black);}

.p6-faq-tab:focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px;}

.p6-faq-tab.is-active{background:var(--brand-yellow);border-color:var(--brand-yellow-dark);color:var(--brand-black);}

.p6-faq-tab__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 .35rem;background:rgba(0,0,0,.08);border-radius:999px;font-size:.72rem;font-weight:700;}

.p6-faq-tab.is-active .p6-faq-tab__count{background:rgba(0,0,0,.18);}

.p6-faq{display:flex;flex-direction:column;gap:.75rem;}

.p6-faq__item{position:relative;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease,transform .15s ease;}

.p6-faq__item:hover{border-color:#cdd6e6;box-shadow:0 2px 10px rgba(0,38,84,.07);}

.p6-faq__item.is-open{border-color:var(--brand-yellow-dark);box-shadow:0 8px 24px rgba(0,38,84,.1);}

.p6-faq__item[hidden]{display:none;}

.p6-faq__item::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:0;
  background:var(--brand-yellow);transition:width .25s ease;
}

.p6-faq__item.is-open::before{width:4px;}

.p6-faq__q{margin:0;}

.p6-faq__btn{
  display:flex;width:100%;align-items:center;gap:1rem;padding:1.25rem 1.4rem;
  background:transparent;border:0;cursor:pointer;text-align:left;
  color:var(--color-text);font-family:inherit;
  transition:background .18s ease;
}

.p6-faq__btn:hover{background:#fafbfd;}

.p6-faq__btn:focus-visible{outline:2px solid var(--brand-blue);outline-offset:-2px;}

.p6-faq__item.is-open .p6-faq__btn{background:linear-gradient(180deg,#fffdf2 0%,#fff 100%);border-bottom:1px solid var(--color-border);}

.p6-faq__icon{
  flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  width:2.65rem;height:2.65rem;border-radius:.65rem;
  background:#f1f5fb;color:var(--brand-blue-dark);
  font-size:1.05rem;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}

.p6-faq__item.is-open .p6-faq__icon{background:var(--brand-yellow);color:var(--brand-black);transform:rotate(-4deg) scale(1.05);}

.p6-faq__main{flex:1;min-width:0;}

.p6-faq__cat{
  display:inline-block;padding:.18rem .55rem;margin-bottom:.3rem;
  background:#eef2f8;color:var(--brand-blue-dark);
  border-radius:.3rem;
  font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
}

.p6-faq__item.is-open .p6-faq__cat{background:var(--brand-yellow-soft);color:var(--brand-black);}

.p6-faq__text{display:block;font-weight:700;font-size:1.02rem;line-height:1.4;color:var(--color-text);}

.p6-faq__chev{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;color:var(--color-text-muted);font-size:.85rem;transition:transform .3s ease,color .2s ease,background .2s ease;}

.p6-faq__item:hover .p6-faq__chev{background:#f1f5fb;color:var(--brand-blue-dark);}

.p6-faq__item.is-open .p6-faq__chev{transform:rotate(180deg);color:var(--brand-black);background:var(--brand-yellow);}

.p6-faq__a{padding:1.25rem 1.4rem 1.5rem 5.05rem;color:var(--color-text-secondary);font-size:.96rem;line-height:1.7;}

.p6-faq__a[hidden]{display:none;}

.p6-faq__a > *:first-child{margin-top:0;}

.p6-faq__a > *:last-child{margin-bottom:0;}

.p6-faq__a p{margin:0 0 .75rem;}

.p6-faq__a a{color:var(--brand-blue-dark);text-decoration:underline;text-underline-offset:2px;font-weight:600;}

.p6-faq__a a:hover{color:var(--brand-blue);}

.p6-faq__a ul,.p6-faq__a ol{padding-left:1.25rem;margin:.6rem 0 0;}

.p6-faq__a li{margin-bottom:.5rem;}

.p6-faq__a li strong{color:var(--color-text);}

.p6-faq__cta{
  margin-top:2.5rem;padding:2.25rem 1.75rem;
  background:linear-gradient(135deg,var(--brand-blue-dark) 0%,#1a3870 100%);
  border-radius:var(--radius-lg);text-align:center;color:#fff;
  position:relative;overflow:hidden;
}

.p6-faq__cta::before{
  content:"";position:absolute;top:-40%;left:-10%;width:300px;height:300px;
  background:radial-gradient(circle,var(--brand-yellow) 0%,transparent 70%);
  opacity:.18;pointer-events:none;
}

.p6-faq__cta-icon{
  position:relative;z-index:1;
  display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;margin-bottom:1rem;
  background:var(--brand-yellow);color:var(--brand-black);border-radius:50%;font-size:1.3rem;
  box-shadow:0 4px 12px rgba(0,0,0,.2);
}

.p6-faq__cta h2{position:relative;z-index:1;margin:0 0 .55rem;font-size:1.45rem;color:#fff;font-weight:700;}

.p6-faq__cta p{position:relative;z-index:1;margin:0 0 1.5rem;color:rgba(255,255,255,.85);font-size:1rem;}

.p6-faq__cta-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;}

.p6-faq__cta .p6-btn{display:inline-flex;align-items:center;gap:.5rem;}

.p6-faq__cta-actions a.p6-btn--primary{background:var(--brand-yellow);color:var(--brand-black);border-color:var(--brand-yellow);}

.p6-faq__cta-actions a.p6-btn--primary:hover{background:var(--brand-yellow-dark);border-color:var(--brand-yellow-dark);}

.p6-faq__cta-actions a.p6-btn--ghost{color:#fff;border:1.5px solid rgba(255,255,255,.6);background:transparent;}

.p6-faq__cta-actions a.p6-btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;}

.p6-faq__empty{display:none;padding:2rem 1rem;text-align:center;color:var(--color-text-muted);font-size:.95rem;}

.p6-faq.is-empty .p6-faq__empty{display:block;}

  .p6-faq-hero{padding:1.75rem 1.4rem;}

  .p6-faq-hero h2{font-size:1.4rem;}

  .p6-faq-hero p{font-size:.94rem;}

  .p6-faq__btn{padding:1rem 1.1rem;gap:.85rem;}

  .p6-faq__icon{width:2.35rem;height:2.35rem;font-size:.95rem;}

  .p6-faq__text{font-size:.95rem;}

  .p6-faq__a{padding:1.1rem 1.1rem 1.2rem 4.3rem;font-size:.92rem;}

  .p6-faq__cta{padding:1.75rem 1.25rem;}

  .p6-faq__cta h2{font-size:1.2rem;}

  .p6-faq-hero{padding:1.4rem 1.1rem;border-radius:.75rem;}

  .p6-faq-hero h2{font-size:1.2rem;}

  .p6-faq-hero__stat{font-size:.76rem;padding:.4rem .7rem;}

  .p6-faq-tab{font-size:.78rem;padding:.4rem .75rem;}

  .p6-faq__btn{padding:.9rem .95rem;}

  .p6-faq__a{padding:1rem .95rem 1.05rem .95rem;}

  .p6-faq__cat{font-size:.65rem;}

  .p6-faq__text{font-size:.92rem;}

.p6-d80-section{padding:2.5rem 0 2rem;background:linear-gradient(180deg,#fafaf7 0%,#fff 100%);}

.p6-d80-section .p6-section-head{text-align:center;margin-bottom:1.75rem;}

.p6-d80-section .p6-section-head h2{margin:0 0 .35rem;font-size:1.5rem;color:var(--brand-black);}

.p6-d80-section .p6-section-head p{margin:0;color:var(--color-text-secondary);font-size:1rem;}

.p6-d80-direct{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-bottom:1.5rem;}

.p6-d80-box{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1.5rem;border-radius:var(--radius-lg);text-decoration:none;min-height:16rem;transition:transform .25s ease,box-shadow .3s ease;box-shadow:var(--shadow-md);overflow:hidden;}

.p6-d80-box::after{
  content:"";position:absolute;inset:0;border-radius:var(--radius-lg);
  background:linear-gradient(135deg,rgba(255,255,255,.18) 0%,transparent 60%);
  pointer-events:none;
}

.p6-d80-box:hover,.p6-d80-box:focus-visible{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,38,84,.22);text-decoration:none;}

.p6-d80-box:focus-visible{outline:3px solid var(--brand-yellow-dark);outline-offset:3px;}

.p6-d80-box__badge{
  position:absolute;top:.85rem;right:.85rem;
  padding:.28rem .65rem;border-radius:999px;
  background:rgba(255,255,255,.95);color:var(--brand-black);
  font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
}

.p6-d80-box__logo{display:flex;align-items:center;justify-content:center;width:100%;max-width:14rem;height:4.4rem;margin-bottom:1rem;position:relative;z-index:1;}

.p6-d80-box__logo svg,.p6-d80-box__logo img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;}

.p6-d80-box__txt{position:relative;z-index:1;font-size:1.05rem;font-weight:700;line-height:1.35;letter-spacing:.005em;}

.p6-d80-box__sub{display:block;font-size:.82rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;opacity:.9;margin-top:.55rem;position:relative;z-index:1;}

.p6-d80-box__arrow{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.6rem 1.1rem;border-radius:999px;font-size:.92rem;font-weight:700;letter-spacing:.02em;background:rgba(0,0,0,.18);transition:background .2s ease;position:relative;z-index:1;}

.p6-d80-box:hover .p6-d80-box__arrow{background:rgba(0,0,0,.28);}

.p6-d80-box--mapfre{background:linear-gradient(135deg,#ee3123 0%,#c01a0e 100%);color:#fff;}

.p6-d80-box--mapfre .p6-d80-box__logo{background:#fff;border-radius:.55rem;padding:.55rem .9rem;}

.p6-d80-box--bci{background:linear-gradient(135deg,#0b5394 0%,#073768 100%);color:#fff;}

.p6-d80-box--bci .p6-d80-box__logo{background:#fff;border-radius:.55rem;padding:.55rem .9rem;}

.p6-d80-box--bci .p6-d80-box__arrow{background:rgba(255,255,255,.18);}

.p6-d80-box--bci:hover .p6-d80-box__arrow{background:rgba(255,255,255,.28);}

.p6-d80-direct__note{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.88rem;color:var(--color-text-muted);text-align:center;margin:.5rem 0 0;}

.p6-d80-direct__note i{color:var(--brand-yellow-dark);}

  .p6-d80-section{padding:1.75rem 0 1.5rem;}

  .p6-d80-section .p6-section-head h2{font-size:1.25rem;}

  .p6-d80-box{padding:1.5rem 1.15rem;min-height:13rem;}

  .p6-d80-box__logo{height:3.6rem;margin-bottom:.85rem;}

  .p6-d80-box__txt{font-size:.96rem;}

  .p6-d80-box__sub{font-size:.74rem;}

  .p6-d80-box__badge{font-size:.62rem;padding:.22rem .55rem;}

.p6-coverage-card{
  background:#fff;border:2px solid var(--brand-yellow);border-radius:var(--radius-lg);
  padding:1.5rem 1.4rem;box-shadow:0 6px 20px rgba(0,38,84,.08);
  position:relative;
}

.p6-coverage-card__head{
  display:flex;align-items:center;gap:.6rem;
  padding-bottom:.85rem;margin-bottom:1rem;
  border-bottom:1px dashed var(--color-border);
}

.p6-coverage-card__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.5rem;height:2.5rem;border-radius:.55rem;
  background:var(--brand-yellow);color:var(--brand-black);
  font-size:1.1rem;
}

.p6-coverage-card__label{
  font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--brand-blue-dark);display:block;
}

.p6-coverage-card__title{
  margin:0;font-size:1.05rem;font-weight:700;color:var(--brand-black);line-height:1.25;
}

.p6-coverage-list{list-style:none;margin:0;padding:0;}

.p6-coverage-list li{
  display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;
  padding:.7rem 0;border-bottom:1px dashed var(--color-border);font-size:.9rem;
}

.p6-coverage-list li:last-child{border-bottom:0;}

.p6-coverage-list .label{flex:1;color:var(--color-text);line-height:1.4;}

.p6-coverage-list .amt{flex-shrink:0;font-weight:800;color:var(--brand-blue-dark);font-size:1rem;font-feature-settings:"tnum" 1;}

.p6-coverage-card__foot{
  margin-top:1rem;padding-top:.85rem;border-top:1px dashed var(--color-border);
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  font-size:.82rem;color:var(--color-text-muted);text-align:center;
}

.p6-coverage-card__foot i{color:var(--brand-yellow-dark);}

.p6-form p{margin:0 0 1rem;}

.p6-form label{display:block;font-weight:600;margin-bottom:.4rem;color:var(--color-text);}

.p6-form input[type=text],.p6-form input[type=tel],.p6-form input[type=email],

.p6-form select,.p6-form textarea{
  width:100%;padding:.65rem .85rem;font-size:.95rem;font-family:inherit;
  border:1px solid var(--color-border);border-radius:var(--radius-md);
  background:#fff;color:var(--color-text);
}

.p6-form input:focus,.p6-form select:focus,.p6-form textarea:focus{
  outline:2px solid var(--brand-yellow-dark);outline-offset:1px;
}

.p6-form textarea{resize:vertical;min-height:120px;}

.p6-form__help{display:block;font-size:.85rem;color:var(--color-text-muted);margin:.25rem 0 .5rem;}

.p6-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;}

.p6-table caption{text-align:left;font-weight:700;padding:.5rem 0;font-size:.95rem;color:var(--brand-black);}

.p6-table thead{background:var(--brand-yellow-soft);color:var(--brand-black);}

.p6-table th{
  background:var(--brand-yellow-soft);color:var(--brand-black);
  font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;
  text-align:left;padding:.65rem .7rem;border-bottom:2px solid var(--color-border);
}

.p6-table td{
  padding:.65rem .7rem;border-bottom:1px solid var(--color-border);
  font-size:.92rem;color:var(--color-text);vertical-align:top;line-height:1.45;
}

.p6-table tbody tr:last-child td{border-bottom:none;}

.p6-table tbody tr:nth-child(even){background:#fafaf7;}

.p6-table td:last-child{font-size:.92rem;white-space:normal;text-align:left;}

.p6-table .amt{text-align:right;font-weight:800;color:var(--brand-black);}

  .p6-table td,.p6-table td:last-child,.p6-table th{padding:.5rem .4rem;font-size:.82rem;}

  .p6-table caption{font-size:.85rem;}

  .p6-table th{font-size:.72rem;letter-spacing:.04em;}

.p6-contact-card{position:sticky;top:1rem;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem 1.5rem 1.65rem;box-shadow:var(--shadow-md);}

.p6-contact-card__head{display:flex;align-items:center;gap:.75rem;margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid var(--color-border);}

.p6-contact-card__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:var(--radius-full);background:var(--brand-yellow);color:var(--brand-black);font-size:1.05rem;}

.p6-contact-card h2{margin:0;font-size:1.15rem;color:var(--color-text);}

.p6-contact-card > p{margin:0 0 1rem;color:var(--color-text-secondary);font-size:.95rem;line-height:1.55;}

.p6-contact-list{list-style:none;margin:0 0 1.25rem;padding:0;}

.p6-contact-list li{display:flex;align-items:flex-start;gap:.65rem;padding:.45rem 0;font-size:.93rem;color:var(--color-text);border-bottom:1px dashed var(--color-border);}

.p6-contact-list li:last-child{border-bottom:0;}

.p6-contact-list i{flex-shrink:0;width:1.1rem;color:var(--brand-yellow-dark);margin-top:3px;}

.p6-contact-list a{color:var(--brand-blue-dark);text-decoration:none;font-weight:600;}

.p6-contact-list a:hover{text-decoration:underline;}

.p6-contact-card__cta{width:100%;justify-content:center;}

  .p6-contact-card{position:static;}

.footer-regulation{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2rem;
  margin-top:2rem;padding-top:1.75rem;border-top:1px solid rgba(255,255,255,.12);
}

.footer-regulation__item{
  display:flex;align-items:center;gap:.6rem;
  color:rgba(255,255,255,.65);font-size:.85rem;
}

.footer-regulation__item i{font-size:1.1rem;}

.footer-regulation__item i.fa-building-columns{color:#6b9fd4;}

.footer-regulation__item i.fa-lock{color:#2ecc40;}

.footer-regulation__item strong{color:rgba(255,255,255,.9);font-weight:700;}

  .footer-regulation{flex-direction:column;gap:.75rem;padding-top:1.25rem;margin-top:1.5rem;}

  .footer-regulation__item{font-size:.8rem;}

  .p6-hero__title{font-size:1.6rem;}

  .p6-hero__subtitle{font-size:1rem;}

  .topbar-inner{justify-content:center;text-align:center;}

  .p6-hero__title{font-size:1.85rem;}

@media (max-width:47.999rem){.topbar-item--hide-mobile{display:none;}}

@media (min-width:64rem){
  .site-logo__mark{width:48px;height:48px;font-size:1.3rem;}
  .site-logo__text{font-size:1.35rem;}
}

@media (min-width:48rem){.footer-bottom__content{flex-direction:row;justify-content:space-between;}}

@media (min-width:48rem){.p6-steps__grid{grid-template-columns:repeat(3,1fr);gap:2rem;}}

@media (max-width:47.999rem){
  .p6-wa span{display:none;}
  .p6-wa{padding:.85rem;width:48px;height:48px;justify-content:center;}
}

@media (min-width:48rem){.p6-steps__grid--4{grid-template-columns:repeat(2,1fr);}}

@media (min-width:64rem){.p6-steps__grid--4{grid-template-columns:repeat(4,1fr);}}

@media (max-width:47.999rem){
  .p6-hero__grid{gap:1.5rem;}
  .p6-form{padding:1.25rem;}
  .p6-doc{padding:1.5rem;}
  .p6-faq__q{padding:1rem;gap:.75rem;}
  .p6-faq__title{font-size:.92rem;}
  .p6-faq__a{padding:1rem 1rem 1.25rem;}
  .p6-table{font-size:.85rem;}
  .p6-table th,.p6-table td{padding:.6rem .65rem;}
  .p6-cta-block__inner{padding:1.5rem;}
  .p6-quote{padding:1.5rem;}
}

@media (max-width:30rem){
  .p6-info-card{padding:1.25rem 1.15rem 1.4rem;}
  .p6-info-card__title{font-size:.98rem;}
  .p6-info-card__list li{font-size:.88rem;}
}

@media (min-width:48rem){
  .p6-faq-hero{grid-template-columns:1fr 9rem;padding:2.5rem 2rem;}
}

@media (min-width:48rem){.p6-faq-hero__art{display:block;}}

@media (max-width:48rem){
  .p6-faq-hero{padding:1.75rem 1.4rem;}
  .p6-faq-hero h2{font-size:1.4rem;}
  .p6-faq-hero p{font-size:.94rem;}
  .p6-faq__btn{padding:1rem 1.1rem;gap:.85rem;}
  .p6-faq__icon{width:2.35rem;height:2.35rem;font-size:.95rem;}
  .p6-faq__text{font-size:.95rem;}
  .p6-faq__a{padding:1.1rem 1.1rem 1.2rem 4.3rem;font-size:.92rem;}
  .p6-faq__cta{padding:1.75rem 1.25rem;}
  .p6-faq__cta h2{font-size:1.2rem;}
}

@media (max-width:30rem){
  .p6-faq-hero{padding:1.4rem 1.1rem;border-radius:.75rem;}
  .p6-faq-hero h2{font-size:1.2rem;}
  .p6-faq-hero__stat{font-size:.76rem;padding:.4rem .7rem;}
  .p6-faq-tab{font-size:.78rem;padding:.4rem .75rem;}
  .p6-faq__btn{padding:.9rem .95rem;}
  .p6-faq__a{padding:1rem .95rem 1.05rem .95rem;}
  .p6-faq__cat{font-size:.65rem;}
  .p6-faq__text{font-size:.92rem;}
}

@media (min-width:48rem){.p6-d80-direct{grid-template-columns:1fr 1fr;gap:1.5rem;}}

@media (max-width:30rem){
  .p6-d80-section{padding:1.75rem 0 1.5rem;}
  .p6-d80-section .p6-section-head h2{font-size:1.25rem;}
  .p6-d80-box{padding:1.5rem 1.15rem;min-height:13rem;}
  .p6-d80-box__logo{height:3.6rem;margin-bottom:.85rem;}
  .p6-d80-box__txt{font-size:.96rem;}
  .p6-d80-box__sub{font-size:.74rem;}
  .p6-d80-box__badge{font-size:.62rem;padding:.22rem .55rem;}
}

@media (max-width:30rem){
  .p6-table td,.p6-table td:last-child,.p6-table th{padding:.5rem .4rem;font-size:.82rem;}
  .p6-table caption{font-size:.85rem;}
  .p6-table th{font-size:.72rem;letter-spacing:.04em;}
}

@media (max-width:64rem){
  .p6-contact-card{position:static;}
}

@media (max-width:30rem){
  .footer-regulation{flex-direction:column;gap:.75rem;padding-top:1.25rem;margin-top:1.5rem;}
  .footer-regulation__item{font-size:.8rem;}
}

@media (max-width:30rem){
  .p6-hero__title{font-size:1.6rem;}
  .p6-hero__subtitle{font-size:1rem;}
  .topbar-inner{justify-content:center;text-align:center;}
}

@media (min-width:30rem) and (max-width:48rem){
  .p6-hero__title{font-size:1.85rem;}
}

/* Footer full-width row */
.footer-column--full{
  grid-column: 1 / -1;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:2rem;padding-top:1.5rem;margin-top:1rem;
  border-top:1px solid rgba(255,255,255,.12);
}

/* Sticky footer — add to style.css */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
#main-content {
  flex: 1 0 auto;
}
.site-footer {
  flex-shrink: 0;
}
