/* =====================================================================
   Mochilea Kit — SISTEMA DE DISEÑO (una sola letra, una sola escala)
   Se carga en toda la web y manda sobre los estilos de cada widget.
   ===================================================================== */
:root{
  --mk-font:'Open Sans',Arial,sans-serif;
  --mk-h1:38px; --mk-h2:28px; --mk-h3:20px; --mk-body:16px; --mk-small:13.5px; --mk-label:12px;
  --mk-verde:#169C3A; --mk-oscuro:#00472D; --mk-amarillo:#F4C400; --mk-texto:#2b3530; --mk-gris:#5b6660;
}
@media (max-width:767px){ :root{ --mk-h1:29px; --mk-h2:23px; --mk-h3:18px; --mk-body:15.5px; --mk-small:13px; } }

/* 1 · Una sola letra */
:is(.mkin,.mkft,.mkhd,.mkhd-drawer,.mka,.mkbl,.mkr,.mkt,.mkb,.mk-hoteles,.mpt-itinerary) :is(h1,h2,h3,h4,h5,p,a,span,b,strong,small,li,button,input,label,summary,em,time,div):not(svg *){font-family:var(--mk-font)!important}

/* 2 · H1 — título principal de la página (uno solo) */
:is(.mkin .mkin-h1,.mkbl .mkbl-h1-d,.mkbl-hero .mkbl-h1){font-size:var(--mk-h1)!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.015em!important;text-transform:none!important}
.mkbl-hero .mkbl-h1{font-size:calc(var(--mk-h1) + 4px)!important}

/* 3 · H2 — títulos de sección (todos iguales) */
:is(.mkin .mkin-h2,.mka .mka-h,.mkr .mkr-h,.mkt .mkt-h,.mkb .mkt-title,.mkbl-content h2,.mkbl-rel .mkbl-sh){font-size:var(--mk-h2)!important;line-height:1.2!important;font-weight:800!important;letter-spacing:-.01em!important;text-transform:none!important}
:is(.mkin .mkin-h2,.mka .mka-h,.mkr .mkr-h,.mkt .mkt-h,.mkb .mkt-title,.mkbl-content h2,.mkbl-rel .mkbl-sh):not(.mkin-why *):not(.mkin-hero *){color:var(--mk-oscuro)!important}

/* 4 · H3 — títulos de tarjeta */
:is(.mkin .mkin-h3,.mkin .mkin-card .mkin-h2,.mka .mka-tt,.mkr .mkr-h-tour,.mkbl .mkbl-title,.mkb .mkt-h3,.mkft-b h3,.mkft-a .mkft-top b,.mkft-card b,.mkbl-content h3){font-size:var(--mk-h3)!important;line-height:1.3!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}
.mkft-b h3{font-size:calc(var(--mk-h3) + 6px)!important;font-weight:800!important}

/* 5 · Texto */
:is(.mkin p,.mkin-p,.mka p,.mkbl-intro,.mkbl-lead,.mkbl-content p,.mkbl-content li,.mkin-faq p,.mkr-txt){font-size:var(--mk-body)!important;line-height:1.65!important}
.mkbl-lead{font-size:calc(var(--mk-body) + 2px)!important}

/* 6 · Etiquetas pequeñas (siempre iguales: verde, mayúsculas, espaciado) */
:is(.mkin .mkin-k,.mkbl .mkbl-cat,.mkbl-bt small,.mkin-bt small,.mka-t small,.mkft h4,.mkbl-side .mkbl-sh){font-size:var(--mk-label)!important;font-weight:800!important;letter-spacing:.1em!important;text-transform:uppercase!important;line-height:1.3!important}

/* 7 · Preguntas frecuentes y botones */
.mkin-faq summary{font-size:calc(var(--mk-body) + 1px)!important;font-weight:700!important}
:is(.mkin-all,.mkft-wa,.mkft-btn,.mkhd-cta,.mkbl-btn,.mka a.mka-btn){font-size:15px!important;font-weight:700!important;letter-spacing:0!important}

/* 8 · La barrita amarilla bajo los títulos: siempre igual */
:is(.mkin-bar,.mkbl-bar){width:48px!important;height:4px!important;border-radius:4px!important;background:var(--mk-amarillo)!important;margin:10px 0 18px!important}
