/*
 Theme Name:   Mundiespaña Child Theme
 Theme URI:    https://dinamicwebs.com/
 Description:  Tema hijo diseñado especificamente para MundiEspaña, web dedicada a comercializar Seguros de Viaje y Seguros en General, Afiliados de Amazon y Afiliados de Civitatis.
 Author:       DinamicWebs
 Author URI:   https://dinamicwebs.com/
 Template:     bricks
 Version:      1.2.3
 Text Domain:  bricks
*/

/* ==========================================================
   MUNDIESPAÑA · CSS ÚNICO DEFINITIVO PARA BRICKS
   Incluye: HOME V2, Footer global, Error 404, Complementos de viaje,
   Contacto, Guías de Viaje, Excursiones, Páginas legales,
   Checkout WooCommerce y Gracias/descargas AON.

   Recomendación:
   - Cargar solo este archivo en el child theme o en Bricks > Settings > Custom Code.
   - Desactivar CSS individuales anteriores para evitar duplicidades.
   - Mantener las clases ms-* indicadas en los templates generados.
   ========================================================== */

:root {
  /* Color */
  --ms-blue: #0B5CAD;
  --ms-blue-dark: #074783;
  --ms-blue-900: #08345F;
  --ms-blue-soft: #EEF7FF;
  --ms-blue-line: #D9E9F8;
  --ms-aqua: #19A7CE;
  --ms-orange: #FF8A00;
  --ms-orange-dark: #D96F00;
  --ms-orange-soft: #FFF2E3;
  --ms-success: #0F8A5F;
  --ms-ink: #102033;
  --ms-text: #3B4A5A;
  --ms-muted: #6C7A89;
  --ms-line: #E5EDF5;
  --ms-bg: #F7FBFF;
  --ms-white: #FFFFFF;
  --ms-footer: #071F39;
  --ms-shadow-orange: 0 18px 34px rgba(255, 138, 0, .28);
  --ms-lineheight-body: 1.75;
  --ms-blue-950: var(--ms-ink);
  --ms-blue-700: var(--ms-blue-dark);
  --ms-blue-500: var(--ms-aqua);
  --ms-blue-100: var(--ms-blue-soft);
  --ms-orange-500: var(--ms-orange);
  --ms-orange-100: var(--ms-orange-soft);
  --ms-color-ink: var(--ms-ink);
  --ms-color-text: var(--ms-text);
  --ms-color-muted: var(--ms-muted);
  --ms-color-line: var(--ms-line);
  --ms-color-surface: var(--ms-white);
  --ms-color-success-soft: rgba(29,166,109,.12);
  --ms-text-xs: clamp(0.78rem, 0.05vw + 0.76rem, 0.84rem);
  --ms-text-s: clamp(0.88rem, 0.08vw + 0.86rem, 0.94rem);
  --ms-text-m: clamp(1rem, 0.12vw + 0.96rem, 1.08rem);
  --ms-text-l: clamp(1.08rem, 0.28vw + 1rem, 1.25rem);
  --ms-text-xl: clamp(1.22rem, 0.55vw + 1.08rem, 1.55rem);
  --ms-lineheight-tight: 0.96;
  --ms-lineheight-heading: 1.04;
  --ms-blue-800: #123c78;
  --ms-blue-600: #1d8ad8;
  --ms-orange-600: #ee7330;
  --ms-green-500: #11a36a;
  --ms-ink-900: #102033;
  --ms-ink-700: #405066;
  --ms-ink-600: #59687c;
  --ms-ink-500: #778397;
  --ms-surface: #ffffff;
  --ms-surface-soft: #f6f9fc;
  --ms-border: #dde8f3;
  /* Tipografía */
  --ms-font-heading: Manrope, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ms-font-base: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ms-font: var(--ms-font-base);
  --ms-font-primary: Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  /* Layout / Espaciado */
  --ms-container: 1180px;
  --ms-container-wide: 1320px;
  --ms-content-narrow: 760px;
  --ms-content: 820px;
  --ms-sidebar: 300px;
  --ms-section-y: clamp(4.5rem, 7vw, 7.25rem);
  --ms-space-2xs: 0.35rem;
  --ms-space-xs: 0.50rem;
  --ms-space-s: 0.75rem;
  --ms-space-m: 1rem;
  --ms-space-l: 1.5rem;
  --ms-space-xl: 2.25rem;
  --ms-space-2xl: 3rem;
  --ms-space-3xl: 4.5rem;
  --ms-space-4xl: clamp(5rem, 8vw, 7.5rem);
  --ms-section-y-small: clamp(3rem, 5vw, 5rem);
  /* Sistema */
  --ms-gutter: clamp(1rem, 2vw, 2.5rem);
  --ms-hero-y-top: clamp(5rem, 8vw, 8.2rem);
  --ms-hero-y-bottom: clamp(4rem, 7vw, 6rem);
  --ms-hero-y: clamp(5rem, 8vw, 8.2rem);
  --ms-header-height: 78px;
  --ms-h1: clamp(2.55rem, 5vw, 5.8rem);
  --ms-h2: clamp(2rem, 3.3vw, 3.55rem);
  --ms-h3: clamp(1.45rem, 1.7vw, 2.05rem);
  --ms-grid-2: repeat(2, minmax(0, 1fr));
  --ms-grid-3: repeat(3, minmax(0, 1fr));
  --ms-grid-4: repeat(4, minmax(0, 1fr));
  --ms-card-min: 280px;
  --ms-card-gap: 1.1rem;
  --ms-card-padding: clamp(1.1rem, 2vw, 1.45rem);
  --ms-card-title: 1.35rem;
  --ms-soft: var(--ms-bg);
  --ms-color-primary: var(--ms-blue);
  --ms-color-primary-50: var(--ms-blue-soft);
  --ms-color-primary-700: var(--ms-blue-dark);
  --ms-color-secondary: var(--ms-orange);
  --ms-color-secondary-700: var(--ms-orange-dark);
  --ms-color-accent: var(--ms-aqua);
  --ms-color-soft: var(--ms-bg);
  --ms-color-warning-soft: var(--ms-orange-soft);
  --ms-gap-xs: 0.5rem;
  --ms-gap-sm: 0.75rem;
  --ms-gap-md: 1rem;
  --ms-gap-lg: 1.5rem;
  --ms-gap-xl: 2.5rem;
  --ms-transition: 180ms ease;
  /* Radio */
  --ms-radius-sm: 14px;
  --ms-radius-md: 22px;
  --ms-radius-lg: 34px;
  --ms-radius-xl: 42px;
  --ms-radius-pill: 999px;
  --ms-radius-xs: 8px;
  /* Sombra */
  --ms-shadow-soft: 0 12px 34px rgba(11, 92, 173, .08);
  --ms-shadow-card: 0 22px 70px rgba(16, 32, 51, .12);
  --ms-shadow-sm: var(--ms-shadow-soft);
  --ms-shadow-md: var(--ms-shadow-card);
}


/* ==========================================================
   GLOBAL / COMPARTIDO
   ========================================================== */

.ms-home-v2 {
  font-family: var(--ms-font-base);
  color: var(--ms-text);
  background: linear-gradient(180deg, #fff 0%, var(--ms-bg) 42%, #fff 100%);
  overflow-x: hidden;
}

.ms-container {
  width: min(var(--ms-container), calc(100% - 40px));
  margin-inline: auto;
}

.ms-section {
  padding-block: var(--ms-section-y);
}

.ms-section--soft {
  background: linear-gradient(180deg, #F7FBFF 0%, #FFFFFF 100%);
}

.ms-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2.25rem;
}

.ms-section-head__copy {
  max-width: 760px;
}

.ms-kicker {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .48rem .78rem;
  border-radius: 999px;
  color: var(--ms-blue);
  background: #fff;
  border: 1px solid var(--ms-blue-line);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .065em;
  font-weight: 850;
  box-shadow: 0 8px 22px rgba(11,92,173,.06);
}

.ms-title {
  margin: .82rem 0 .8rem;
  color: var(--ms-ink);
  font-family: var(--ms-font-heading);
  font-weight: 900;
  letter-spacing: -.05em;
  line-height: .96;
  font-size: clamp(2.55rem, 5vw, 5.8rem);
  text-wrap: balance;
}

.ms-title--section {
  font-size: clamp(2rem, 3.3vw, 3.55rem);
  line-height: 1.04;
}

.ms-lead {
  max-width: 760px;
  color: var(--ms-muted);
  line-height: 1.75;
  font-size: clamp(1rem, 1.35vw, 1.17rem);
}

.ms-eyebrow-line {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  color: var(--ms-blue);
  font-weight: 850;
  font-size: .92rem;
}

.ms-eyebrow-line::before {
  content: "";
  width: 42px;
  height: 2px;
  border-radius: 99px;
  background: var(--ms-orange);
}

.ms-btn, .bricks-button.ms-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .58rem;
  min-height: 48px;
  border-radius: 999px;
  padding: .9rem 1.25rem;
  font-weight: 900;
  text-decoration: none;
  border: 1px solid transparent;
  line-height: 1;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease;
  cursor: pointer;
}

.ms-btn:hover {
  transform: translateY(-2px);
}

.ms-btn--primary {
  color: #fff;
  background: linear-gradient(135deg, var(--ms-orange), #FFB052);
  box-shadow: var(--ms-shadow-orange);
}

.ms-btn--primary:hover {
  background: linear-gradient(135deg, var(--ms-orange-dark), var(--ms-orange));
}

.ms-btn--secondary {
  color: var(--ms-blue);
  background: #fff;
  border-color: rgba(11,92,173,.18);
  box-shadow: var(--ms-shadow-soft);
}

.ms-btn--ghost {
  color: var(--ms-blue);
  background: transparent;
  border-color: var(--ms-line);
}

.ms-btn--full {
  width: 100%;
}

.ms-link {
  color: var(--ms-blue);
  text-decoration: none;
  font-weight: 900;
}

.ms-link:hover {
  color: var(--ms-orange-dark);
}

.ms-topbar {
  background: var(--ms-blue-dark);
  color: #fff;
  font-size: .86rem;
}

.ms-topbar__inner {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.ms-logo {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  text-decoration: none;
  font-size: 1.32rem;
  letter-spacing: -.035em;
  font-weight: 950;
  color: var(--ms-blue);
}

.ms-logo__mark {
  width: 38px;
  height: 38px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--ms-blue), var(--ms-orange));
  font-weight: 950;
}

.ms-logo span strong {
  color: var(--ms-orange);
}

.ms-nav {
  display: flex;
  align-items: center;
  gap: 1.1rem;
}

.ms-nav a {
  color: var(--ms-text);
  text-decoration: none;
  font-weight: 800;
  font-size: .93rem;
}

.ms-nav a:hover {
  color: var(--ms-blue);
}

.ms-proof-row {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.55rem;
}

.ms-proof {
  display: inline-flex;
  align-items: center;
  gap: .52rem;
  padding: .58rem .82rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ms-line);
  box-shadow: 0 8px 22px rgba(16,32,51,.055);
  font-weight: 800;
  color: var(--ms-text);
  font-size: .9rem;
}

.ms-proof i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--ms-orange);
  display: inline-block;
}

.ms-planner-title {
  position: relative;
  color: var(--ms-ink);
  margin: 0 0 1rem;
  font-size: 1.42rem;
  font-weight: 950;
  letter-spacing: -.035em;
}

.ms-form-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .8rem;
}

.ms-field {
  display: grid;
  gap: .3rem;
}

.ms-field label {
  color: var(--ms-muted);
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .065em;
  font-weight: 900;
}

.ms-field input, .ms-field select {
  min-height: 48px;
  width: 100%;
  border-radius: 16px;
  border: 1px solid var(--ms-line);
  background: #fff;
  color: var(--ms-ink);
  padding: .75rem .9rem;
  font: inherit;
  font-weight: 700;
}

.ms-field input:focus, .ms-field select:focus {
  outline: 3px solid rgba(11,92,173,.12);
  border-color: var(--ms-blue);
}

.ms-insurance-pills {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: .72rem;
  margin-top: 1rem;
}

.ms-insurance-pill {
  border: 1px solid var(--ms-blue-line);
  background: linear-gradient(180deg, #fff 0%, #F6FBFF 100%);
  border-radius: 18px;
  padding: .85rem .78rem;
}

.ms-insurance-pill b {
  display: block;
  color: var(--ms-ink);
  font-size: .92rem;
}

.ms-insurance-pill span {
  color: var(--ms-blue);
  font-size: .84rem;
  font-weight: 900;
}

.ms-panel-note {
  color: var(--ms-muted);
  font-size: .85rem;
  margin: .9rem 0 0;
  line-height: 1.55;
}

.ms-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.1rem;
}

.ms-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.1rem;
}

.ms-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: 1.45rem;
  box-shadow: 0 12px 38px rgba(16,32,51,.06);
  overflow: hidden;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.ms-card:hover {
  transform: translateY(-4px);
  border-color: rgba(11,92,173,.22);
  box-shadow: 0 24px 62px rgba(16,32,51,.10);
}

.ms-card__label {
  display: inline-flex;
  color: var(--ms-orange-dark);
  background: var(--ms-orange-soft);
  border-radius: 999px;
  padding: .42rem .65rem;
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 950;
}

.ms-card__title {
  color: var(--ms-ink);
  margin: 1rem 0 .55rem;
  font-weight: 950;
  letter-spacing: -.035em;
  font-size: 1.35rem;
}

.ms-card__text {
  margin: 0 0 1rem;
  color: var(--ms-muted);
  line-height: 1.65;
}

.ms-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .48rem;
  margin: 1rem 0;
}

.ms-chip {
  display: inline-flex;
  align-items: center;
  padding: .36rem .58rem;
  border-radius: 999px;
  background: var(--ms-blue-soft);
  color: var(--ms-blue);
  font-size: .78rem;
  font-weight: 850;
}

.ms-destination-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  overflow: hidden;
  box-shadow: 0 12px 38px rgba(16,32,51,.06);
}

.ms-destination-card__media {
  min-height: 166px;
  background: linear-gradient(135deg, rgba(11,92,173,.86), rgba(25,167,206,.68)), url('');
  position: relative;
}

.ms-destination-card__media::after {
  content: "";
  position: absolute;
  inset: auto 16px 16px auto;
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: rgba(255,255,255,.26);
  backdrop-filter: blur(8px);
}

.ms-destination-card__body {
  padding: 1.15rem;
}

.ms-destination-card__country {
  color: var(--ms-orange-dark);
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 950;
}

.ms-destination-card h3 {
  color: var(--ms-ink);
  margin: .35rem 0 .7rem;
  font-size: 1.35rem;
  font-weight: 950;
  letter-spacing: -.035em;
}

.ms-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .55rem;
  margin-bottom: 1rem;
}

.ms-stat {
  border-radius: 14px;
  background: var(--ms-blue-soft);
  padding: .55rem;
  color: var(--ms-blue-dark);
  font-size: .82rem;
  font-weight: 850;
}

.ms-form .jet-form-builder__field, .ms-form input, .ms-form select, .ms-form textarea {
  border-radius: 16px;
  border: 1px solid var(--ms-line);
  min-height: 48px;
  padding: .75rem .9rem;
  color: var(--ms-ink);
  background: #fff;
}

.ms-form .jet-form-builder__action-button {
  border-radius: 999px;
  background: var(--ms-orange);
  color: #fff;
  min-height: 48px;
  padding-inline: 1.2rem;
  font-weight: 900;
  border: 0;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

a {
  color: inherit;
}

.ms-logo strong {
  color: var(--ms-orange);
}

.ms-btn--dark {
  color: #fff;
  background: var(--ms-blue);
  border-color: rgba(255,255,255,.10);
}

.ms-route-line {
  position: absolute;
  z-index: 1;
  left: 12%;
  right: 12%;
  top: 52%;
  height: 98px;
  border-top: 3px dashed rgba(11,92,173,.22);
  border-radius: 80% 45% 0 0;
  transform: rotate(-8deg);
}

.ms-route-dot {
  position: absolute;
  z-index: 2;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--ms-orange);
  box-shadow: 0 0 0 8px rgba(255,138,0,.14);
}

.ms-route-dot--a {
  left: 18%;
  top: 54%;
}

.ms-route-dot--b {
  left: 48%;
  top: 44%;
  background: var(--ms-aqua);
  box-shadow: 0 0 0 8px rgba(25,167,206,.12);
}

.ms-route-dot--c {
  right: 18%;
  top: 50%;
  background: var(--ms-blue);
  box-shadow: 0 0 0 8px rgba(11,92,173,.12);
}

.ms-quick-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.1rem;
}

.ms-quick-card {
  position: relative;
  display: grid;
  gap: .78rem;
  min-height: 260px;
  padding: 1.45rem;
  border-radius: var(--ms-radius-lg);
  background: #fff;
  border: 1px solid var(--ms-line);
  box-shadow: 0 12px 38px rgba(16,32,51,.06);
  overflow: hidden;
  text-decoration: none;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.ms-quick-card:hover {
  transform: translateY(-4px);
  border-color: rgba(11,92,173,.22);
  box-shadow: 0 24px 62px rgba(16,32,51,.10);
}

.ms-quick-card::after {
  content: "";
  position: absolute;
  right: -40px;
  top: -44px;
  width: 150px;
  height: 150px;
  border-radius: 999px;
  background: rgba(11,92,173,.06);
}

.ms-quick-card--orange::after {
  background: rgba(255,138,0,.10);
}

.ms-quick-card--aqua::after {
  background: rgba(25,167,206,.10);
}

.ms-quick-icon {
  position: relative;
  z-index: 2;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: var(--ms-blue-soft);
  color: var(--ms-blue);
  font-weight: 950;
  font-size: 1.35rem;
}

.ms-quick-card--orange .ms-quick-icon {
  background: var(--ms-orange-soft);
  color: var(--ms-orange-dark);
}

.ms-quick-card--aqua .ms-quick-icon {
  background: rgba(25,167,206,.10);
  color: #087c9b;
}

.ms-quick-card h3 {
  position: relative;
  z-index: 2;
  margin: .25rem 0 0;
  color: var(--ms-ink);
  font-size: 1.35rem;
  line-height: 1.12;
  font-family: var(--ms-font-heading);
  font-weight: 950;
  letter-spacing: -.035em;
}

.ms-quick-card p {
  position: relative;
  z-index: 2;
  margin: 0;
  color: var(--ms-muted);
  line-height: 1.58;
  font-size: .95rem;
}

.ms-quick-card strong {
  position: relative;
  z-index: 2;
  margin-top: auto;
  color: var(--ms-blue);
  font-weight: 950;
}

html {
  scroll-behavior: smooth;
}

img {
  max-width: 100%;
  height: auto;
}

.ms-eyebrow-line:before {
  content: "";
  width: 42px;
  height: 2px;
  border-radius: 99px;
  background: var(--ms-orange);
}

.ms-btn,.bricks-button.ms-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .58rem;
  min-height: 48px;
  border-radius: 999px;
  padding: .9rem 1.25rem;
  font-weight: 900;
  text-decoration: none;
  border: 1px solid transparent;
  line-height: 1;
  transition: transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease;
  cursor: pointer;
}

.ms-btn--small {
  min-height: 40px;
  padding: .7rem .95rem;
  font-size: .88rem;
}

.ms-disclosure {
  margin-top: 1.15rem;
  display: inline-flex;
  gap: .5rem;
  align-items: flex-start;
  color: var(--ms-muted);
  font-size: .88rem;
  line-height: 1.5;
}

.ms-disclosure:before {
  content: "i";
  font-weight: 950;
  color: var(--ms-blue);
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--ms-blue-soft);
  font-style: normal;
}

.ms-panel-title {
  color: var(--ms-ink);
  margin: 0 0 1rem;
  font-size: 1.42rem;
  font-weight: 950;
  letter-spacing: -.035em;
}

.ms-quick-search {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .6rem;
  margin-bottom: 1rem;
}

.ms-quick-search input {
  min-height: 52px;
  border-radius: 999px;
  border: 1px solid var(--ms-line);
  background: #fff;
  color: var(--ms-ink);
  padding: .8rem 1rem;
  font: inherit;
  font-weight: 700;
}

.ms-quick-search input:focus {
  outline: 3px solid rgba(11,92,173,.12);
  border-color: var(--ms-blue);
}

.ms-popular-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.ms-popular-tags a {
  padding: .55rem .72rem;
  border-radius: 999px;
  background: var(--ms-blue-soft);
  color: var(--ms-blue);
  font-size: .84rem;
  text-decoration: none;
  font-weight: 850;
  border: 1px solid var(--ms-blue-line);
}

.ms-panel-products {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: .7rem;
  margin-top: 1.2rem;
}

.ms-panel-product {
  border: 1px solid var(--ms-line);
  border-radius: 20px;
  background: linear-gradient(180deg,#fff,#F7FBFF);
  padding: .85rem;
  min-height: 104px;
}

.ms-panel-product b {
  display: block;
  color: var(--ms-ink);
  font-size: .92rem;
}

.ms-panel-product span {
  display: block;
  color: var(--ms-muted);
  font-size: .82rem;
  margin-top: .35rem;
  line-height: 1.35;
}

.ms-panel-product:before {
  content: "";
  display: block;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: linear-gradient(135deg,var(--ms-blue-soft),var(--ms-orange-soft));
  margin-bottom: .55rem;
}

.ms-category-card {
  display: grid;
  gap: .55rem;
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: 26px;
  padding: 1.1rem;
  text-decoration: none;
  box-shadow: var(--ms-shadow-soft);
  transition: .22s ease;
}

.ms-category-card:hover {
  transform: translateY(-4px);
  border-color: rgba(11,92,173,.22);
  box-shadow: 0 24px 58px rgba(16,32,51,.10);
}

.ms-category-icon {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  background: var(--ms-blue-soft);
  color: var(--ms-blue);
  display: grid;
  place-items: center;
  font-weight: 950;
}

.ms-category-card:nth-child(even) .ms-category-icon {
  background: var(--ms-orange-soft);
  color: var(--ms-orange-dark);
}

.ms-category-card strong {
  color: var(--ms-ink);
  font-size: 1rem;
  line-height: 1.2;
}

.ms-category-card span {
  color: var(--ms-muted);
  font-size: .86rem;
  line-height: 1.35;
}

.ms-filter-label {
  display: block;
  color: var(--ms-ink);
  font-weight: 950;
  margin-bottom: .7rem;
}

.ms-filter-options {
  display: grid;
  gap: .6rem;
}

.ms-price-range {
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(90deg,var(--ms-blue) 0%,var(--ms-blue) 62%,var(--ms-line) 62%,var(--ms-line) 100%);
  margin: .5rem 0;
}

.ms-price-values {
  display: flex;
  justify-content: space-between;
  color: var(--ms-muted);
  font-size: .84rem;
  font-weight: 800;
}

.ms-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.ms-active-filter {
  border: 1px solid var(--ms-blue-line);
  background: #fff;
  color: var(--ms-blue);
  border-radius: 999px;
  padding: .42rem .7rem;
  font-size: .84rem;
  font-weight: 850;
}

.ms-sort {
  min-height: 44px;
  border: 1px solid var(--ms-line);
  border-radius: 999px;
  background: #fff;
  padding: .6rem .9rem;
  color: var(--ms-ink);
  font-weight: 850;
}

.ms-results-note {
  color: var(--ms-muted);
  font-size: .93rem;
  margin: 0 0 1.1rem;
}

.ms-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .32rem .52rem;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .035em;
}

.ms-badge--blue {
  background: #fff;
  color: var(--ms-blue);
  border: 1px solid var(--ms-blue-line);
}

.ms-badge--orange {
  background: var(--ms-orange-soft);
  color: var(--ms-orange-dark);
}

.ms-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .85rem;
}

.ms-price {
  font-weight: 950;
  color: var(--ms-ink);
  font-size: 1rem;
}

.ms-page {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  border: 1px solid var(--ms-line);
  background: #fff;
  display: grid;
  place-items: center;
  color: var(--ms-blue);
  font-weight: 900;
  text-decoration: none;
}

.ms-page.is-active {
  background: var(--ms-blue);
  color: #fff;
  border-color: var(--ms-blue);
}

.ms-jsf-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .7rem;
  margin-bottom: 1rem;
}

.ms-jsf-filter,.jet-smart-filters .jet-filter {
  font-family: var(--ms-font-base);
}

.ms-jsf-filter input,.ms-jsf-filter select,.jet-smart-filters input,.jet-smart-filters select {
  border-radius: 999px;
  border: 1px solid var(--ms-line);
  min-height: 44px;
  padding: .6rem .8rem;
}

.ms-jsf-active .jet-active-filter {
  border-radius: 999px;
  background: var(--ms-blue-soft);
  color: var(--ms-blue);
  font-weight: 850;
}

.ms-jsf-reset button,.jet-smart-filters-reset button {
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ms-line);
  color: var(--ms-blue);
  font-weight: 900;
  min-height: 42px;
  padding: .6rem .9rem;
}

.ms-jsf-range .jet-range__slider {
  accent-color: var(--ms-blue);
}

.ms-editorial-band {
  border-radius: var(--ms-radius-xl);
  background: linear-gradient(135deg,var(--ms-blue-900),var(--ms-blue));
  color: #fff;
  padding: clamp(1.5rem,3vw,2.4rem);
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 2rem;
  align-items: center;
  box-shadow: 0 28px 80px rgba(8,52,95,.22);
}

.ms-editorial-band h2 {
  margin: 0 0 .8rem;
  font-size: clamp(1.8rem,3vw,3rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.ms-editorial-band p {
  margin: 0;
  color: rgba(255,255,255,.82);
  line-height: 1.7;
}

.ms-check-list {
  display: grid;
  gap: .8rem;
}

.ms-check-item {
  display: flex;
  gap: .85rem;
  align-items: flex-start;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  padding: 1rem;
  border-radius: 22px;
}

.ms-check-item:before {
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--ms-orange);
  margin-top: .25rem;
  flex: 0 0 auto;
}

.ms-check-item b {
  display: block;
  color: #fff;
}

.ms-check-item span {
  color: rgba(255,255,255,.76);
  font-size: .92rem;
  line-height: 1.5;
}

.ms-cross-card:after {
  content: "";
  position: absolute;
  right: -42px;
  top: -42px;
  width: 128px;
  height: 128px;
  border-radius: 50%;
  background: rgba(255,138,0,.12);
}

.ms-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  padding: 14px 21px;
  font-weight: 800;
  transition: .2s ease;
  border: 1px solid transparent;
  cursor: pointer;
  min-height: 48px;
}

.ms-btn-primary {
  background: var(--ms-orange-500);
  color: #111;
  box-shadow: 0 14px 32px rgba(245,155,46,.28);
}

.ms-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(245,155,46,.35);
}

.ms-btn-secondary {
  background: #fff;
  color: var(--ms-blue-900);
  border-color: var(--ms-line);
  box-shadow: var(--ms-shadow-sm);
}

.ms-section-head p {
  font-size: 18px;
  color: var(--ms-muted);
  margin: 0;
}

.ms-form-panel {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: 30px;
  box-shadow: var(--ms-shadow-sm);
}

.ms-field input,.ms-field select,.ms-field textarea {
  width: 100%;
  border: 1px solid var(--ms-line);
  border-radius: 16px;
  padding: 14px 15px;
  background: #fff;
  color: var(--ms-ink);
  font: inherit;
  outline: none;
  transition: .2s ease;
}

.ms-field input:focus,.ms-field select:focus,.ms-field textarea:focus {
  border-color: var(--ms-blue-500);
  box-shadow: 0 0 0 4px rgba(39,166,216,.14);
}

.ms-field textarea {
  min-height: 132px;
  resize: vertical;
}

.ms-field-full {
  grid-column: 1/-1;
}

.ms-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--ms-muted);
  font-size: 13px;
  line-height: 1.45;
  margin: 16px 0 20px;
}

.ms-check input {
  margin-top: 2px;
}

.ms-form-note {
  margin-top: 18px;
  padding: 14px 16px;
  border-radius: 18px;
  background: var(--ms-orange-100);
  color: #6A4212;
  font-size: 14px;
  border: 1px solid rgba(245,155,46,.25);
}

.ms-side-panel {
  display: grid;
  gap: 16px;
}

.ms-mini-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 10px 28px rgba(16,46,74,.07);
}

.ms-mini-card h3 {
  margin: 0 0 8px;
  font-size: 19px;
  color: var(--ms-blue-950);
  letter-spacing: -.02em;
}

.ms-mini-card p {
  margin: 0 0 14px;
  color: var(--ms-muted);
  font-size: 15px;
}

.ms-mini-card a {
  font-weight: 900;
  color: var(--ms-blue-900);
}

.ms-route-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: var(--ms-blue-100);
  font-size: 26px;
  margin-bottom: 18px;
}

.ms-address-box {
  padding: 18px;
  border-radius: 20px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.14);
  margin-bottom: 16px;
}

.ms-address-box strong {
  display: block;
  margin-bottom: 4px;
}

.ms-cta-box:after {
  content: "";
  position: absolute;
  right: -70px;
  top: -90px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(245,155,46,.25);
}

.ms-hidden-bricks-note {
  display: none;
}

.ms-featured-label {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  margin: 8px 0 18px;
}

.ms-featured-label strong {
  font-size: 22px;
  color: var(--ms-blue-950);
  letter-spacing: -.025em;
}

.ms-featured-label span {
  background: var(--ms-orange-100);
  color: #7A4A0F;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 900;
}

.ms-featured-media {
  min-height: 210px;
  border-radius: 26px;
  background: linear-gradient(135deg,rgba(16,46,74,.92),rgba(39,166,216,.64)), radial-gradient(circle at 70% 25%,rgba(245,155,46,.45),transparent 28%);
  position: relative;
  overflow: hidden;
}

.ms-featured-media:after {
  content: "Guía destacada";
  position: absolute;
  left: 22px;
  bottom: 22px;
  padding: 10px 13px;
  background: rgba(255,255,255,.88);
  border-radius: 999px;
  color: var(--ms-blue-950);
  font-weight: 900;
}

.ms-featured-panel-body {
  padding: 18px 2px 0;
}

.ms-featured-panel-body h2 {
  font-size: 29px;
  line-height: 1.08;
  margin: 0 0 8px;
  color: var(--ms-blue-950);
  letter-spacing: -.035em;
}

.ms-featured-panel-body p {
  margin: 0 0 16px;
  color: var(--ms-muted);
}

.ms-chip-orange {
  background: var(--ms-orange-100);
  color: #74450B;
}

.ms-field input:focus,.ms-field select:focus {
  border-color: var(--ms-blue-500);
  box-shadow: 0 0 0 4px rgba(39,166,216,.14);
}

.ms-quick-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}

.ms-quick-chips a {
  border: 1px solid var(--ms-line);
  border-radius: 999px;
  padding: 8px 12px;
  background: var(--ms-soft);
  color: var(--ms-blue-900);
  font-size: 14px;
  font-weight: 850;
}

.ms-quick-chips a.is-active {
  background: var(--ms-blue-900);
  color: #fff;
  border-color: var(--ms-blue-900);
}

.ms-filter-title {
  font-size: 20px;
  color: var(--ms-blue-950);
  margin: 0 0 14px;
  letter-spacing: -.025em;
}

.ms-filter-group strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ms-blue-950);
}

.ms-results-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

.ms-results-toolbar p {
  margin: 0;
  color: var(--ms-muted);
  font-size: 15px;
}

.ms-pagination .is-current {
  background: var(--ms-blue-900);
  color: #fff;
  border-color: var(--ms-blue-900);
}

.ms-cross-card:nth-child(2) .ms-cross-icon {
  background: var(--ms-orange-100);
}

.ms-cross-card a {
  font-weight: 950;
  color: var(--ms-blue-900);
}

.ms-editorial-item span {
  color: rgba(255,255,255,.75);
}

.ms-btn-secondary:hover {
  transform: translateY(-2px);
  border-color: rgba(39,166,216,.45);
}

.ms-exc-hero {
  position: relative;
  padding: 92px 0 52px;
}

.ms-exc-hero:before {
  content: "";
  position: absolute;
  inset: -250px -160px auto auto;
  width: 610px;
  height: 610px;
  background: radial-gradient(circle,rgba(39,166,216,.22),rgba(245,155,46,.13) 44%,transparent 72%);
  z-index: 0;
}

.ms-exc-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.06fr) minmax(390px,.94fr);
  gap: 44px;
  align-items: center;
}

.ms-exc-title {
  font-size: clamp(42px,6vw,76px);
  line-height: .98;
  letter-spacing: -.055em;
  margin: 18px 0 20px;
  color: var(--ms-blue-950);
}

.ms-exc-title span {
  color: var(--ms-blue-700);
}

.ms-exc-lead {
  font-size: clamp(18px,2vw,22px);
  max-width: 760px;
  color: var(--ms-muted);
  margin: 0 0 26px;
}

.ms-exc-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin: 30px 0 22px;
}

.ms-exc-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--ms-muted);
  font-size: 14px;
  margin-top: 18px;
}

.ms-exc-proof span {
  display: inline-flex;
  padding: 8px 12px;
  border: 1px solid var(--ms-line);
  border-radius: 999px;
  background: #fff;
}

.ms-exc-hero-panel {
  background: #fff;
  border: 1px solid rgba(221,232,238,.9);
  border-radius: var(--ms-radius-xl);
  padding: 24px;
  box-shadow: var(--ms-shadow-md);
  position: relative;
  overflow: hidden;
}

.ms-exc-hero-panel:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  background: linear-gradient(90deg,var(--ms-blue-500),var(--ms-orange-500));
}

.ms-exc-panel-top {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  margin: 8px 0 18px;
}

.ms-exc-panel-top strong {
  font-size: 22px;
  color: var(--ms-blue-950);
  letter-spacing: -.025em;
}

.ms-exc-panel-top span {
  background: var(--ms-orange-100);
  color: #7A4A0F;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 950;
}

.ms-exc-panel-map {
  min-height: 245px;
  border-radius: 26px;
  background: linear-gradient(135deg,rgba(16,46,74,.94),rgba(39,166,216,.62)), radial-gradient(circle at 25% 35%,rgba(245,155,46,.46),transparent 18%), radial-gradient(circle at 72% 30%,rgba(255,255,255,.24),transparent 18%);
  position: relative;
  overflow: hidden;
}

.ms-exc-panel-map:after {
  content: "Destinos populares";
  position: absolute;
  left: 22px;
  bottom: 22px;
  padding: 10px 13px;
  background: rgba(255,255,255,.9);
  border-radius: 999px;
  color: var(--ms-blue-950);
  font-weight: 950;
}

.ms-exc-panel-body {
  padding: 18px 2px 0;
}

.ms-exc-panel-body h2 {
  font-size: 29px;
  line-height: 1.08;
  margin: 0 0 8px;
  color: var(--ms-blue-950);
  letter-spacing: -.035em;
}

.ms-exc-panel-body p {
  margin: 0 0 16px;
  color: var(--ms-muted);
}

.ms-mini-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.ms-exc-search-band {
  margin-top: -12px;
  position: relative;
  z-index: 3;
}

.ms-exc-search-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-xl);
  box-shadow: var(--ms-shadow-md);
  padding: 22px;
}

.ms-exc-search-grid {
  display: grid;
  grid-template-columns: 1.15fr .9fr .9fr .75fr auto;
  gap: 12px;
  align-items: end;
}

.ms-destination-grid {
  display: grid;
  grid-template-columns: repeat(6,1fr);
  gap: 14px;
}

.ms-destination-card:hover {
  transform: translateY(-4px);
  border-color: rgba(39,166,216,.35);
  box-shadow: var(--ms-shadow-md);
}

.ms-destination-icon {
  width: 52px;
  height: 52px;
  border-radius: 17px;
  background: var(--ms-blue-100);
  display: grid;
  place-items: center;
  font-size: 27px;
}

.ms-destination-card:nth-child(even) .ms-destination-icon {
  background: var(--ms-orange-100);
}

.ms-destination-card span {
  font-size: 13px;
  color: var(--ms-muted);
  font-weight: 750;
}

.ms-exc-layout {
  display: grid;
  grid-template-columns: 286px minmax(0,1fr);
  gap: 26px;
  align-items: start;
}

.ms-exc-filter-panel {
  position: sticky;
  top: 24px;
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: 22px;
  box-shadow: var(--ms-shadow-sm);
}

.ms-exc-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}

.ms-exc-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(16,46,74,.07);
  transition: .2s ease;
  display: flex;
  flex-direction: column;
}

.ms-exc-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ms-shadow-md);
  border-color: rgba(39,166,216,.35);
}

.ms-exc-card-media {
  height: 180px;
  background: linear-gradient(135deg,#DFF2F9,#FFFFFF 48%,#FFF0DC);
  position: relative;
  display: grid;
  place-items: center;
  color: var(--ms-blue-900);
  font-size: 46px;
}

.ms-exc-card-media:before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px dashed rgba(18,58,90,.18);
  border-radius: 22px;
}

.ms-exc-card-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(255,255,255,.92);
  color: var(--ms-blue-950);
  border: 1px solid rgba(221,232,238,.9);
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
}

.ms-exc-card-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

.ms-exc-card-kicker {
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ms-orange-500);
  font-weight: 950;
}

.ms-exc-card h3 {
  font-size: 23px;
  line-height: 1.08;
  margin: 0;
  color: var(--ms-blue-950);
  letter-spacing: -.035em;
}

.ms-exc-card p {
  margin: 0;
  color: var(--ms-muted);
  font-size: 15px;
  line-height: 1.55;
}

.ms-exc-price-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--ms-line);
  padding-top: 12px;
}

.ms-price-from {
  display: grid;
  gap: 0;
}

.ms-price-from span {
  font-size: 12px;
  color: var(--ms-muted);
  font-weight: 800;
}

.ms-price-from strong {
  font-size: 21px;
  color: var(--ms-blue-950);
  letter-spacing: -.035em;
}

.ms-rating {
  font-size: 13px;
  color: var(--ms-blue-900);
  font-weight: 900;
  background: var(--ms-blue-100);
  border-radius: 999px;
  padding: 7px 9px;
}

.ms-exc-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
}

.ms-civitatis-link {
  font-weight: 950;
  color: var(--ms-blue-900);
}

.ms-type-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 16px;
}

.ms-type-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: 22px;
  box-shadow: var(--ms-shadow-sm);
  display: grid;
  gap: 12px;
}

.ms-type-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: var(--ms-blue-100);
  display: grid;
  place-items: center;
  font-size: 28px;
}

.ms-type-card h3 {
  font-size: 22px;
  line-height: 1.08;
  letter-spacing: -.035em;
  color: var(--ms-blue-950);
  margin: 0;
}

.ms-type-card p {
  margin: 0;
  color: var(--ms-muted);
}

.ms-type-card a {
  font-weight: 950;
  color: var(--ms-blue-900);
}

.ms-editorial-box:after {
  content: "";
  position: absolute;
  right: -90px;
  top: -90px;
  width: 280px;
  height: 280px;
  background: radial-gradient(circle,rgba(245,155,46,.28),transparent 68%);
}

.ms-editorial-box .ms-eyebrow {
  background: rgba(255,255,255,.12);
  color: #fff;
}

.ms-exc-cta {
  padding: 72px 0;
}

.ms-affiliation-box {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: 22px;
  box-shadow: var(--ms-shadow-sm);
  display: flex;
  gap: 18px;
  align-items: flex-start;
}

.ms-affiliation-box strong {
  color: var(--ms-blue-950);
}

.ms-affiliation-box p {
  margin: 2px 0 0;
  color: var(--ms-muted);
}

.ms-affiliation-icon {
  width: 48px;
  height: 48px;
  border-radius: 18px;
  background: var(--ms-orange-100);
  display: grid;
  place-items: center;
  font-size: 24px;
  flex: 0 0 auto;
}

.ms-placeholder {
  display: inline-flex;
  align-items: center;
  padding: .12rem .42rem;
  border-radius: 8px;
  background: var(--ms-orange-soft);
  color: var(--ms-orange-dark);
  font-weight: 850;
}

.ms-btn-ghost {
  color: var(--ms-blue);
  background: transparent;
  border-color: var(--ms-line);
  text-decoration: none;
}


@media (max-width: 1024px) {

  .ms-nav {
    display: none;
  }

  .ms-quick-grid {
    grid-template-columns: 1fr;
  }

}


@media (max-width: 640px) {

  .ms-container {
    width: min(100% - 28px, var(--ms-container));
  }

  .ms-topbar__inner {
    justify-content: center;
    text-align: center;
  }

  .ms-section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .ms-title {
    font-size: clamp(2.35rem, 14vw, 3.6rem);
  }

}


@media (max-width: 1100px) {

  .ms-nav {
    display: none;
  }

}


@media(max-width:960px) {

  .ms-faq-grid {
    grid-template-columns: 1fr;
  }

  .ms-cta-box {
    align-items: flex-start;
    flex-direction: column;
  }

  .ms-form-grid {
    grid-template-columns: 1fr;
  }

  .ms-cross-grid {
    grid-template-columns: 1fr;
  }

}


@media(max-width:560px) {

  .ms-container {
    width: min(100% - 28px,var(--ms-container));
  }

  .ms-btn {
    width: 100%;
  }

  .ms-section {
    padding: 42px 0;
  }

}


@media(max-width:640px) {

  .ms-container {
    width: min(100% - 28px,var(--ms-container));
  }

  .ms-btn {
    width: 100%;
  }

  .ms-section {
    padding: 44px 0;
  }

  .ms-results-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .ms-topbar__inner {
    justify-content: center;
    text-align: center;
  }

  .ms-title {
    font-size: clamp(2.25rem,13vw,3.4rem);
  }

}


@media (max-width:1080px) {

  .ms-exc-hero-grid,.ms-exc-layout,.ms-editorial-box {
    grid-template-columns: 1fr;
  }

  .ms-exc-filter-panel {
    position: static;
  }

  .ms-destination-grid {
    grid-template-columns: repeat(3,1fr);
  }

  .ms-exc-search-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .ms-exc-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .ms-type-grid {
    grid-template-columns: repeat(2,1fr);
  }

}


@media (max-width:760px) {

  .ms-container {
    width: min(100% - 26px,var(--ms-container));
  }

  .ms-exc-hero {
    padding: 62px 0 36px;
  }

  .ms-exc-title {
    font-size: 44px;
  }

  .ms-exc-search-grid,.ms-destination-grid,.ms-exc-grid,.ms-type-grid,.ms-cross-grid,.ms-faq-grid {
    grid-template-columns: 1fr;
  }

  .ms-section {
    padding: 48px 0;
  }

  .ms-cta-box {
    display: grid;
  }

  .ms-editorial-box {
    padding: 28px;
  }

  .ms-exc-search-card {
    padding: 17px;
  }

  .ms-exc-panel-map {
    min-height: 190px;
  }

}


@media (max-width:480px) {

  .ms-exc-actions {
    display: grid;
  }

  .ms-btn {
    width: 100%;
  }

  .ms-results-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .ms-exc-hero-panel {
    padding: 18px;
  }

  .ms-quick-chips a {
    font-size: 13px;
  }

}


@media(max-width:1024px) {

  .ms-nav {
    display: none;
  }

}


/* ==========================================================
   HOME / GLOBAL
   ========================================================== */

.ms-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(229,237,245,.9);
}

.ms-header__inner {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.35rem;
}

.ms-header__actions {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.ms-hero {
  position: relative;
  padding-block: clamp(5rem, 8vw, 8.2rem) clamp(4rem, 7vw, 6rem);
  background: radial-gradient(circle at 12% 15%, rgba(25,167,206,.13), transparent 32%), radial-gradient(circle at 92% 16%, rgba(255,138,0,.18), transparent 30%), linear-gradient(180deg, #fff 0%, #F7FBFF 100%);
}

.ms-hero::before {
  content: "";
  position: absolute;
  inset: 7% auto auto -160px;
  width: 440px;
  height: 440px;
  border-radius: 50%;
  background: rgba(11,92,173,.06);
}

.ms-hero::after {
  content: "";
  position: absolute;
  right: -110px;
  bottom: 10%;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: rgba(255,138,0,.10);
}

.ms-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  gap: clamp(2.4rem, 5vw, 5.5rem);
  align-items: center;
}

.ms-hero__copy {
  max-width: 720px;
}

.ms-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .85rem;
  margin-top: 1.55rem;
}

.ms-hero-panel {
  position: relative;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(217,233,248,.95);
  border-radius: var(--ms-radius-xl);
  box-shadow: var(--ms-shadow-card);
  padding: clamp(1.25rem, 2.6vw, 2.1rem);
}

.ms-hero-panel::before {
  content: "";
  position: absolute;
  inset: 18px 18px auto auto;
  width: 72px;
  height: 72px;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(11,92,173,.10), rgba(255,138,0,.12));
  transform: rotate(9deg);
}

.ms-value-nav {
  margin-top: -2rem;
  position: relative;
  z-index: 5;
}

.ms-value-nav__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.ms-value-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: 1.35rem;
  box-shadow: var(--ms-shadow-soft);
  display: flex;
  align-items: center;
  gap: 1rem;
}

.ms-value-card__num {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: var(--ms-blue-soft);
  color: var(--ms-blue);
  font-weight: 950;
}

.ms-value-card strong {
  color: var(--ms-ink);
  display: block;
  font-size: 1.05rem;
}

.ms-value-card span {
  color: var(--ms-muted);
  font-size: .9rem;
  line-height: 1.45;
}

.ms-aon-wrapper {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-xl);
  padding: clamp(1rem, 2.3vw, 1.8rem);
  box-shadow: var(--ms-shadow-soft);
}

.ms-aon-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 1rem;
  margin-bottom: 1rem;
  border-radius: 20px;
  background: var(--ms-blue-soft);
  color: var(--ms-blue-dark);
  font-weight: 850;
}

.ms-aon-placeholder {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1rem;
}

.ms-aon-placeholder .ms-card {
  box-shadow: none;
  border-radius: 26px;
}

.ms-aon-note {
  color: var(--ms-muted);
  font-size: .9rem;
  line-height: 1.55;
  margin: 1rem 0 0;
}

.ms-aon-wrapper .msaon-catalog, .ms-aon-wrapper [class*="msaon"] {
  font-family: var(--ms-font-base);
}

.ms-aon-wrapper .msaon-card, .ms-aon-wrapper [class*="catalog"] article {
  border-radius: 24px !important;
  border-color: var(--ms-line) !important;
  box-shadow: 0 14px 38px rgba(16,32,51,.06) !important;
}

.ms-persona-band {
  border-radius: var(--ms-radius-xl);
  background: linear-gradient(135deg, var(--ms-blue-900), var(--ms-blue));
  color: #fff;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 2rem;
  align-items: center;
  box-shadow: 0 28px 80px rgba(8,52,95,.22);
}

.ms-persona-band h2 {
  margin: 0 0 .8rem;
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.ms-persona-band p {
  margin: 0;
  color: rgba(255,255,255,.82);
  line-height: 1.7;
}

.ms-persona-list {
  display: grid;
  gap: .8rem;
}

.ms-persona-item {
  display: flex;
  gap: .85rem;
  align-items: flex-start;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  padding: 1rem;
  border-radius: 22px;
}

.ms-persona-item b {
  display: block;
  color: #fff;
}

.ms-persona-item span {
  color: rgba(255,255,255,.76);
  font-size: .92rem;
  line-height: 1.5;
}

.ms-persona-dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--ms-orange);
  margin-top: .22rem;
  flex: 0 0 auto;
}

.ms-final-cta {
  position: relative;
  overflow: hidden;
  border-radius: var(--ms-radius-xl);
  background: radial-gradient(circle at 85% 20%, rgba(255,138,0,.30), transparent 30%), linear-gradient(135deg, var(--ms-blue-900), var(--ms-blue));
  color: #fff;
  padding: clamp(1.65rem, 4vw, 3rem);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
  box-shadow: 0 28px 80px rgba(8,52,95,.20);
}

.ms-final-cta h2 {
  margin: 0 0 .65rem;
  font-size: clamp(1.9rem, 3.3vw, 3.45rem);
  line-height: 1.05;
  letter-spacing: -.045em;
}

.ms-final-cta p {
  margin: 0;
  max-width: 760px;
  color: rgba(255,255,255,.80);
  line-height: 1.7;
}

.ms-footer {
  background: #071F39;
  color: rgba(255,255,255,.78);
  margin-top: clamp(3rem, 6vw, 5rem);
}

.ms-footer__top {
  padding-block: clamp(3rem, 5vw, 5rem);
}

.ms-footer__grid {
  display: grid;
  grid-template-columns: 1.3fr .85fr .85fr .85fr 1.1fr;
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.ms-footer h3, .ms-footer h4 {
  color: #fff;
  margin: 0 0 1rem;
  letter-spacing: -.02em;
}

.ms-footer p {
  line-height: 1.7;
  margin: 0 0 1rem;
}

.ms-footer a {
  color: rgba(255,255,255,.78);
  text-decoration: none;
}

.ms-footer a:hover {
  color: #fff;
}

.ms-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .7rem;
}

.ms-footer__brand .ms-logo {
  color: #fff;
  margin-bottom: 1rem;
}

.ms-footer__trust {
  display: grid;
  gap: .55rem;
  margin-top: 1rem;
}

.ms-footer__trust span {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
}

.ms-footer__trust span::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: var(--ms-orange);
}

.ms-footer__newsletter {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 26px;
  padding: 1.1rem;
}

.ms-footer__form {
  display: grid;
  gap: .65rem;
}

.ms-footer__form input {
  min-height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color: #fff;
  padding: .7rem 1rem;
  font: inherit;
}

.ms-footer__form input::placeholder {
  color: rgba(255,255,255,.55);
}

.ms-footer__legal {
  padding-block: 1.1rem;
  border-top: 1px solid rgba(255,255,255,.10);
  font-size: .84rem;
}

.ms-footer__legal-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.ms-footer__badges {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.ms-footer__badge {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  padding: .36rem .58rem;
  color: rgba(255,255,255,.72);
}

.ms-footer h3,.ms-footer h4 {
  color: #fff;
  margin: 0 0 1rem;
  letter-spacing: -.02em;
}

.ms-hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--ms-muted);
  font-size: 14px;
  margin-top: 22px;
}

.ms-hero-proof span {
  display: inline-flex;
  padding: 8px 12px;
  border: 1px solid var(--ms-line);
  border-radius: 999px;
  background: #fff;
}

.ms-footer__main {
  padding-block: clamp(3.5rem,6vw,5rem);
}

.ms-footer h3 {
  color: #fff;
  margin: 0 0 1rem;
  font-size: 1rem;
}

.ms-footer__legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.ms-footer__legal-links a {
  margin: 0;
  color: #9FB0C2;
}

.ms-aon-downloads-shortcode {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.ms-aon-downloads-shortcode a {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-height: 140px;
  padding: 1rem;
  border-radius: 24px;
  border: 1px solid var(--ms-line, #E5EDF5);
  background: #fff;
  box-shadow: 0 12px 34px rgba(16,32,51,.06);
  text-decoration: none;
  color: var(--ms-ink, #102033);
  font-weight: 950;
}

.ms-aon-downloads-shortcode a span {
  color: var(--ms-muted, #6C7A89);
  font-weight: 700;
  font-size: .9rem;
}


@media (max-width: 1024px) {

  .ms-hero__grid, .ms-persona-band {
    grid-template-columns: 1fr;
  }

  .ms-value-nav__grid, .ms-grid-3, .ms-aon-placeholder {
    grid-template-columns: 1fr;
  }

  .ms-footer__grid {
    grid-template-columns: 1fr 1fr;
  }

  .ms-final-cta {
    grid-template-columns: 1fr;
  }

}


@media (max-width: 640px) {

  .ms-topbar__inner span:last-child, .ms-header__actions .ms-btn--secondary {
    display: none;
  }

  .ms-hero-panel, .ms-final-cta, .ms-persona-band {
    border-radius: 28px;
  }

  .ms-footer__legal-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .ms-topbar__inner span:last-child,.ms-header__actions .ms-btn--secondary {
    display: none;
  }

}


@media (max-width: 1100px) {

  .ms-footer__grid {
    grid-template-columns: 1fr 1fr;
  }

}


@media(max-width:560px) {

  .ms-hero-proof span {
    width: 100%;
    justify-content: center;
  }

}


@media(max-width:640px) {

  .ms-topbar__inner span:last-child,.ms-header__actions .ms-btn--secondary {
    display: none;
  }

  .ms-footer__legal-inner {
    align-items: flex-start;
    flex-direction: column;
  }

}


@media(max-width:1024px) {

  .ms-footer__grid {
    grid-template-columns: 1fr 1fr;
  }

}


/* ==========================================================
   ERROR 404
   ========================================================== */

.ms-404-page {
  font-family: var(--ms-font-base);
  color: var(--ms-text);
  background: radial-gradient(circle at 10% 8%, rgba(25,167,206,.12), transparent 28%),
    radial-gradient(circle at 92% 10%, rgba(255,138,0,.14), transparent 24%),
    linear-gradient(180deg, #FFFFFF 0%, var(--ms-bg) 48%, #FFFFFF 100%);
  min-height: 100vh;
  overflow-x: hidden;
}

.ms-404-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(229,237,245,.90);
}

.ms-404-header__inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.ms-404-nav {
  display: flex;
  align-items: center;
  gap: 1.05rem;
}

.ms-404-nav a {
  color: var(--ms-text);
  text-decoration: none;
  font-size: .93rem;
  font-weight: 800;
}

.ms-404-nav a:hover {
  color: var(--ms-blue);
}

.ms-404-hero {
  position: relative;
  padding-block: clamp(4.5rem, 7vw, 7.8rem) clamp(3.2rem, 6vw, 5.6rem);
}

.ms-404-hero::before {
  content: "";
  position: absolute;
  left: -180px;
  top: 16%;
  width: 420px;
  height: 420px;
  border-radius: 999px;
  background: rgba(11,92,173,.055);
}

.ms-404-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: clamp(2.2rem, 5vw, 5.4rem);
  align-items: center;
}

.ms-404-title {
  margin: .9rem 0 .9rem;
  max-width: 780px;
  color: var(--ms-ink);
  font-family: var(--ms-font-heading);
  font-weight: 950;
  letter-spacing: -.055em;
  line-height: .98;
  font-size: clamp(2.75rem, 5.7vw, 6.4rem);
  text-wrap: balance;
}

.ms-404-lead {
  max-width: 720px;
  margin: 0;
  color: var(--ms-muted);
  line-height: 1.75;
  font-size: clamp(1.02rem, 1.35vw, 1.18rem);
}

.ms-404-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .85rem;
  margin-top: 1.6rem;
}

.ms-404-page .ms-proof-row {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.45rem;
}

.ms-404-visual {
  position: relative;
  min-height: 500px;
  border-radius: var(--ms-radius-xl);
  background: radial-gradient(circle at 82% 18%, rgba(255,138,0,.20), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.94), rgba(247,251,255,.92));
  border: 1px solid rgba(217,233,248,.96);
  box-shadow: var(--ms-shadow-card);
  overflow: hidden;
  padding: clamp(1.25rem, 3vw, 2.2rem);
}

.ms-404-visual::after {
  content: "";
  position: absolute;
  inset: 26px;
  border-radius: 32px;
  border: 1px dashed rgba(11,92,173,.18);
  pointer-events: none;
}

.ms-404-number {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: baseline;
  gap: .35rem;
  color: var(--ms-blue);
  font-family: var(--ms-font-heading);
  font-size: clamp(6.8rem, 13vw, 10.8rem);
  line-height: .82;
  font-weight: 950;
  letter-spacing: -.09em;
}

.ms-404-number span:nth-child(2) {
  color: var(--ms-orange);
}

.ms-404-page .ms-route-card {
  position: absolute;
  z-index: 3;
  right: clamp(1.2rem, 3vw, 2.2rem);
  bottom: clamp(1.2rem, 3vw, 2.2rem);
  width: min(320px, calc(100% - 48px));
  padding: 1.25rem;
  border-radius: 28px;
  background: #fff;
  border: 1px solid var(--ms-line);
  box-shadow: 0 18px 52px rgba(16,32,51,.12);
}

.ms-route-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  margin-bottom: .9rem;
}

.ms-route-card__badge {
  display: inline-flex;
  color: var(--ms-orange-dark);
  background: var(--ms-orange-soft);
  border-radius: 999px;
  padding: .42rem .65rem;
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 950;
}

.ms-route-card h2 {
  margin: 0 0 .55rem;
  color: var(--ms-ink);
  font-size: 1.35rem;
  line-height: 1.12;
  letter-spacing: -.035em;
  font-family: var(--ms-font-heading);
}

.ms-404-page .ms-route-card p {
  margin: 0;
  color: var(--ms-muted);
  line-height: 1.55;
  font-size: .93rem;
}

.ms-404-search-wrap {
  margin-top: clamp(2rem, 4vw, 3.2rem);
}

.ms-404-search {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .75rem;
  max-width: 760px;
  background: #fff;
  border: 1px solid var(--ms-blue-line);
  box-shadow: var(--ms-shadow-soft);
  border-radius: 999px;
  padding: .45rem;
}

.ms-404-search input {
  min-height: 50px;
  border: 0;
  outline: 0;
  padding: .75rem 1rem;
  background: transparent;
  color: var(--ms-ink);
  font: inherit;
  font-weight: 750;
}

.ms-404-search input::placeholder {
  color: var(--ms-muted);
  font-weight: 650;
}

.ms-404-recovery {
  padding-block: clamp(3.6rem, 6vw, 6rem);
}

.ms-404-guides {
  padding-block: clamp(3.2rem, 5vw, 5rem);
  background: linear-gradient(180deg, #F7FBFF 0%, #FFFFFF 100%);
}

.ms-guide-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .9rem;
}

.ms-404-cta-section {
  padding-block: clamp(3.5rem, 6vw, 6rem);
}

.ms-404-cta {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 2rem;
  border-radius: var(--ms-radius-xl);
  padding: clamp(1.65rem, 4vw, 3rem);
  color: #fff;
  background: radial-gradient(circle at 85% 20%, rgba(255,138,0,.30), transparent 30%),
    linear-gradient(135deg, var(--ms-blue-900), var(--ms-blue));
  box-shadow: 0 28px 80px rgba(8,52,95,.20);
}

.ms-404-cta h2 {
  margin: 0 0 .65rem;
  color: #fff;
  font-size: clamp(1.9rem, 3.3vw, 3.45rem);
  line-height: 1.05;
  letter-spacing: -.045em;
  font-family: var(--ms-font-heading);
}

.ms-404-cta p {
  margin: 0;
  max-width: 760px;
  color: rgba(255,255,255,.82);
  line-height: 1.7;
}

.ms-404-footer {
  background: #071F39;
  color: rgba(255,255,255,.78);
}

.ms-404-footer__top {
  padding-block: clamp(2.6rem, 5vw, 4.8rem);
}

.ms-404-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr .9fr .9fr 1.1fr;
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.ms-404-footer h3, .ms-404-footer h4 {
  color: #fff;
  margin: 0 0 1rem;
  letter-spacing: -.02em;
}

.ms-404-footer p {
  line-height: 1.7;
  margin: 0 0 1rem;
}

.ms-404-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .7rem;
}

.ms-404-footer a {
  color: rgba(255,255,255,.78);
  text-decoration: none;
}

.ms-404-footer a:hover {
  color: #fff;
}

.ms-404-footer__legal {
  padding-block: 1.1rem;
  border-top: 1px solid rgba(255,255,255,.10);
  font-size: .84rem;
}

.ms-404-footer__legal-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.ms-contact-page .ms-route-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: 26px;
  box-shadow: var(--ms-shadow-sm);
  transition: .2s ease;
  min-height: 230px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ms-route-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ms-shadow-md);
  border-color: rgba(39,166,216,.35);
}

.ms-route-card:nth-child(2) .ms-route-icon {
  background: var(--ms-orange-100);
}

.ms-route-card h3 {
  font-size: 22px;
  line-height: 1.1;
  color: var(--ms-blue-950);
  margin: 0 0 10px;
  letter-spacing: -.025em;
}

.ms-contact-page .ms-route-card p {
  color: var(--ms-muted);
  margin: 0 0 18px;
  font-size: 15px;
}

.ms-route-card span {
  font-weight: 900;
  color: var(--ms-blue-900);
}


@media (max-width: 1024px) {

  .ms-404-nav {
    display: none;
  }

  .ms-404-grid {
    grid-template-columns: 1fr;
  }

  .ms-guide-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .ms-404-cta {
    grid-template-columns: 1fr;
  }

  .ms-404-footer__grid {
    grid-template-columns: 1fr 1fr;
  }

}


@media (max-width: 640px) {

  .ms-404-header__inner {
    min-height: 68px;
  }

  .ms-404-header .ms-btn--secondary {
    display: none;
  }

  .ms-404-title {
    font-size: clamp(2.45rem, 14vw, 3.8rem);
  }

  .ms-404-visual {
    min-height: 430px;
    border-radius: 28px;
  }

  .ms-route-card {
    width: calc(100% - 34px);
    right: 17px;
    bottom: 17px;
  }

  .ms-404-search {
    grid-template-columns: 1fr;
    border-radius: 28px;
    padding: .65rem;
  }

  .ms-404-search .ms-btn {
    width: 100%;
  }

  .ms-guide-list {
    grid-template-columns: 1fr;
  }

  .ms-404-cta {
    border-radius: 28px;
  }

  .ms-404-footer__grid {
    grid-template-columns: 1fr;
  }

  .ms-404-footer__legal-inner {
    align-items: flex-start;
    flex-direction: column;
  }

}


/* ==========================================================
   COMPLEMENTOS DE VIAJE
   ========================================================== */

.ms-product-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .58rem;
  margin-bottom: 1.3rem;
}

.ms-product-tabs a {
  text-decoration: none;
  color: var(--ms-blue);
  background: #fff;
  border: 1px solid var(--ms-blue-line);
  border-radius: 999px;
  padding: .58rem .82rem;
  font-weight: 850;
  font-size: .9rem;
}

.ms-product-tabs a.is-active {
  color: #fff;
  background: var(--ms-blue);
}

.ms-product-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: .95rem;
  box-shadow: 0 12px 36px rgba(16,32,51,.06);
}

.ms-product-card__media {
  height: 136px;
  border-radius: 24px;
  background: linear-gradient(135deg, #F1F7FE, #FFFFFF);
  display: grid;
  place-items: center;
  color: var(--ms-blue);
  font-weight: 950;
  margin-bottom: 1rem;
  border: 1px solid var(--ms-line);
}

.ms-product-card h3 {
  margin: 0 0 .45rem;
  color: var(--ms-ink);
  font-size: 1.06rem;
  font-weight: 950;
  letter-spacing: -.02em;
}

.ms-product-card p {
  color: var(--ms-muted);
  line-height: 1.55;
  font-size: .92rem;
  margin: 0 0 .85rem;
}

.ms-product-card .ms-btn {
  min-height: 42px;
  padding: .74rem .98rem;
  font-size: .9rem;
}

.ms-product-grid ul.products, .ms-product-grid .products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.1rem;
}

.ms-product-grid ul.products li.product, .ms-product-grid .product {
  width: auto !important;
  margin: 0 !important;
  border-radius: var(--ms-radius-lg);
}

.ms-shop-page {
  background: linear-gradient(180deg,#fff 0%,#F7FBFF 48%,#fff 100%);
  overflow-x: hidden;
}

.ms-shop-hero {
  position: relative;
  padding-block: clamp(5rem,8vw,8rem) clamp(3.5rem,6vw,5.5rem);
  background: radial-gradient(circle at 10% 18%,rgba(25,167,206,.13),transparent 32%),radial-gradient(circle at 88% 18%,rgba(255,138,0,.18),transparent 28%),linear-gradient(180deg,#fff 0%,#F7FBFF 100%);
}

.ms-shop-hero:before {
  content: "";
  position: absolute;
  inset: 8% auto auto -140px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: rgba(11,92,173,.06);
}

.ms-shop-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(360px,.82fr);
  gap: clamp(2rem,5vw,5rem);
  align-items: center;
}

.ms-shop-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: 1.55rem;
}

.ms-shop-panel {
  position: relative;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(217,233,248,.95);
  border-radius: var(--ms-radius-xl);
  box-shadow: var(--ms-shadow-card);
  padding: clamp(1.25rem,2.6vw,2.1rem);
}

.ms-shop-category-grid {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 1rem;
  margin-top: -2rem;
  position: relative;
  z-index: 4;
}

.ms-store-layout {
  display: grid;
  grid-template-columns: 300px minmax(0,1fr);
  gap: 1.35rem;
  align-items: start;
}

.ms-filters-card {
  position: sticky;
  top: 102px;
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  box-shadow: var(--ms-shadow-soft);
  padding: 1.1rem;
}

.ms-filters-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  color: var(--ms-ink);
  font-weight: 950;
}

.ms-shop-page .ms-filter-group {
  padding: 1rem 0;
  border-top: 1px solid var(--ms-line);
}

.ms-shop-page .ms-filter-group:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.ms-shop-page .ms-filter-option {
  display: flex;
  align-items: center;
  gap: .55rem;
  color: var(--ms-text);
  font-size: .93rem;
}

.ms-shop-page .ms-filter-option input {
  accent-color: var(--ms-blue);
}

.ms-store-main {
  min-width: 0;
}

.ms-store-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.ms-mobile-filter-toggle {
  display: none;
}

.ms-product-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1rem;
}

.ms-shop-page .ms-product-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: .95rem;
  box-shadow: 0 12px 36px rgba(16,32,51,.06);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  transition: .22s ease;
}

.ms-product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 62px rgba(16,32,51,.10);
  border-color: rgba(11,92,173,.22);
}

.ms-product-media {
  height: 168px;
  border-radius: 24px;
  background: linear-gradient(135deg,#F1F7FE,#FFFFFF);
  display: grid;
  place-items: center;
  color: var(--ms-blue);
  font-size: 2.1rem;
  font-weight: 950;
  margin-bottom: 1rem;
  border: 1px solid var(--ms-line);
  position: relative;
  overflow: hidden;
}

.ms-product-media:after {
  content: "";
  position: absolute;
  right: -30px;
  bottom: -30px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: rgba(255,138,0,.12);
}

.ms-product-badges {
  position: absolute;
  top: .7rem;
  left: .7rem;
  display: flex;
  gap: .4rem;
  flex-wrap: wrap;
}

.ms-product-cat {
  color: var(--ms-orange-dark);
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 950;
  margin-bottom: .4rem;
}

.ms-product-title {
  margin: 0 0 .5rem;
  color: var(--ms-ink);
  font-size: 1.08rem;
  line-height: 1.25;
  font-weight: 950;
  letter-spacing: -.02em;
}

.ms-product-text {
  margin: 0 0 .8rem;
  color: var(--ms-muted);
  line-height: 1.55;
  font-size: .92rem;
}

.ms-product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: auto 0 .95rem;
}

.ms-shop-page .ms-chip {
  display: inline-flex;
  align-items: center;
  padding: .36rem .58rem;
  border-radius: 999px;
  background: var(--ms-blue-soft);
  color: var(--ms-blue);
  font-size: .76rem;
  font-weight: 850;
}

.ms-shop-page .ms-affiliate-note {
  color: var(--ms-muted);
  font-size: .76rem;
}

.ms-shop-page .ms-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  margin-top: 2rem;
}

.ms-shop-page .ms-cross-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.ms-shop-page .ms-cross-card {
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: 1.45rem;
  box-shadow: var(--ms-shadow-soft);
}

.ms-shop-page .ms-cross-card h3 {
  color: var(--ms-ink);
  font-size: 1.45rem;
  margin: 0 0 .55rem;
  letter-spacing: -.035em;
}

.ms-shop-page .ms-cross-card p {
  color: var(--ms-muted);
  line-height: 1.6;
  margin: 0 0 1rem;
}

.ms-shop-page .ms-faq-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1rem;
}

.ms-shop-page .ms-faq-item {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: 26px;
  padding: 1.15rem;
  box-shadow: 0 12px 34px rgba(16,32,51,.055);
}

.ms-shop-page .ms-faq-item h3 {
  color: var(--ms-ink);
  font-size: 1.05rem;
  margin: 0 0 .55rem;
}

.ms-shop-page .ms-faq-item p {
  color: var(--ms-muted);
  line-height: 1.6;
  margin: 0;
}


@media (max-width: 1024px) {

  .ms-grid-4, .ms-product-grid ul.products, .ms-product-grid .products {
    grid-template-columns: repeat(2,1fr);
  }

}


@media (max-width: 640px) {

  .ms-form-grid, .ms-insurance-pills, .ms-grid-4, .ms-product-grid ul.products, .ms-product-grid .products, .ms-footer__grid {
    grid-template-columns: 1fr;
  }

  .ms-shop-hero__grid,.ms-panel-products,.ms-shop-category-grid,.ms-product-grid,.ms-cross-grid,.ms-faq-grid,.ms-footer__grid {
    grid-template-columns: 1fr;
  }

  .ms-store-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .ms-shop-panel,.ms-editorial-band {
    border-radius: 28px;
  }

}


@media (max-width: 1100px) {

  .ms-shop-hero__grid,.ms-store-layout,.ms-editorial-band {
    grid-template-columns: 1fr;
  }

  .ms-filters-card {
    position: relative;
    top: auto;
  }

  .ms-product-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .ms-shop-category-grid {
    grid-template-columns: repeat(3,1fr);
  }

  .ms-mobile-filter-toggle {
    display: inline-flex;
  }

}


/* ==========================================================
   CONTACTO
   ========================================================== */

.ms-contact-page {
  overflow: hidden;
  background: linear-gradient(180deg,#fff 0%,#F8FBFD 55%,#fff 100%);
}

.ms-contact-page .ms-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--ms-blue-100);
  color: var(--ms-blue-900);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
}

.ms-contact-hero {
  padding: 92px 0 54px;
  position: relative;
}

.ms-contact-hero:before {
  content: "";
  position: absolute;
  inset: -220px -160px auto auto;
  width: 560px;
  height: 560px;
  background: radial-gradient(circle,rgba(39,166,216,.22),rgba(245,155,46,.10) 45%,transparent 72%);
  z-index: 0;
}

.ms-contact-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(360px,.9fr);
  gap: 42px;
  align-items: center;
}

.ms-contact-title {
  font-size: clamp(42px,6vw,76px);
  line-height: .98;
  letter-spacing: -.055em;
  margin: 18px 0 20px;
  color: var(--ms-blue-950);
}

.ms-contact-lead {
  font-size: clamp(18px,2vw,22px);
  max-width: 720px;
  color: var(--ms-muted);
  margin: 0 0 28px;
}

.ms-contact-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin: 30px 0 22px;
}

.ms-contact-card {
  background: #fff;
  border: 1px solid rgba(221,232,238,.9);
  border-radius: var(--ms-radius-lg);
  padding: 28px;
  box-shadow: var(--ms-shadow-md);
  position: relative;
  overflow: hidden;
}

.ms-contact-card:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  background: linear-gradient(90deg,var(--ms-blue-500),var(--ms-orange-500));
}

.ms-contact-card h2 {
  font-size: 24px;
  margin: 8px 0 8px;
  color: var(--ms-blue-950);
  letter-spacing: -.02em;
}

.ms-contact-card p {
  margin: 0 0 18px;
  color: var(--ms-muted);
}

.ms-contact-methods {
  display: grid;
  gap: 12px;
  margin: 20px 0 0;
}

.ms-contact-method {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  align-items: start;
  padding: 14px;
  border-radius: 18px;
  background: var(--ms-soft);
  border: 1px solid var(--ms-line);
}

.ms-contact-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 15px;
  background: #fff;
  color: var(--ms-blue-900);
  font-size: 22px;
  box-shadow: 0 8px 20px rgba(16,46,74,.07);
}

.ms-contact-method small {
  display: block;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .09em;
  color: var(--ms-blue-700);
  margin-bottom: 2px;
}

.ms-contact-method strong {
  display: block;
  font-size: 16px;
  color: var(--ms-blue-950);
  line-height: 1.35;
}

.ms-contact-page .ms-section-head h2 {
  font-size: clamp(30px,4vw,48px);
  line-height: 1.05;
  letter-spacing: -.045em;
  color: var(--ms-blue-950);
  margin: 12px 0 12px;
}

.ms-contact-form-wrap {
  display: grid;
  grid-template-columns: minmax(0,1fr) 360px;
  gap: 28px;
  align-items: start;
}

.ms-contact-page .ms-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.ms-contact-page .ms-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.ms-contact-page .ms-field label {
  font-size: 13px;
  font-weight: 800;
  color: var(--ms-blue-950);
}

.ms-routes {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}

.ms-map-section {
  padding: 34px 0 68px;
}

.ms-map-grid {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 28px;
  align-items: stretch;
}

.ms-map-info {
  background: var(--ms-blue-950);
  color: #fff;
  border-radius: var(--ms-radius-lg);
  padding: 30px;
  box-shadow: var(--ms-shadow-md);
}

.ms-map-info h2 {
  font-size: 32px;
  line-height: 1.05;
  margin: 0 0 12px;
  letter-spacing: -.035em;
}

.ms-map-info p {
  color: rgba(255,255,255,.78);
  margin: 0 0 20px;
}

.ms-map-placeholder {
  border-radius: var(--ms-radius-lg);
  min-height: 420px;
  background: linear-gradient(135deg,#DFF2F9,#FFFFFF 48%,#FFF0DC);
  border: 1px solid var(--ms-line);
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 28px;
}

.ms-map-placeholder:before {
  content: "";
  position: absolute;
  inset: 40px;
  border: 1px dashed rgba(18,58,90,.25);
  border-radius: 30px;
}

.ms-contact-page .ms-map-pin {
  position: relative;
  z-index: 1;
  width: 84px;
  height: 84px;
  border-radius: 50% 50% 50% 8px;
  transform: rotate(-45deg);
  background: var(--ms-orange-500);
  box-shadow: 0 20px 44px rgba(245,155,46,.34);
  margin: auto auto 30px;
}

.ms-map-pin:after {
  content: "";
  position: absolute;
  inset: 23px;
  border-radius: 50%;
  background: #fff;
}

.ms-map-copy {
  position: relative;
  z-index: 2;
  max-width: 460px;
}

.ms-map-copy h3 {
  font-size: 26px;
  margin: 0 0 8px;
  color: var(--ms-blue-950);
  letter-spacing: -.02em;
}

.ms-map-copy p {
  color: var(--ms-muted);
  margin: 0;
}

.ms-contact-page .ms-faq-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 16px;
}

.ms-contact-page .ms-faq-item {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 8px 24px rgba(16,46,74,.05);
}

.ms-contact-page .ms-faq-item h3 {
  margin: 0 0 8px;
  color: var(--ms-blue-950);
  font-size: 19px;
  letter-spacing: -.02em;
}

.ms-contact-page .ms-faq-item p {
  margin: 0;
  color: var(--ms-muted);
}

.ms-contact-cta {
  padding: 54px 0 80px;
}

.ms-contact-page .ms-cta-box {
  background: linear-gradient(135deg,var(--ms-blue-950),var(--ms-blue-700));
  border-radius: 32px;
  padding: 42px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  box-shadow: var(--ms-shadow-md);
  overflow: hidden;
  position: relative;
}

.ms-contact-page .ms-cta-box h2 {
  margin: 0 0 8px;
  font-size: clamp(28px,4vw,44px);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.ms-contact-page .ms-cta-box p {
  margin: 0;
  color: rgba(255,255,255,.77);
  font-size: 17px;
}

.ms-contact-page .ms-cta-box .ms-btn-secondary {
  background: #fff;
  color: var(--ms-blue-950);
  position: relative;
  z-index: 2;
}

.ms-excursiones-page .ms-map-pin {
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: var(--ms-orange-500);
  box-shadow: 0 0 0 7px rgba(245,155,46,.20);
}

.ms-map-pin:nth-child(1) {
  left: 24%;
  top: 40%;
}

.ms-map-pin:nth-child(2) {
  left: 47%;
  top: 31%;
}

.ms-map-pin:nth-child(3) {
  left: 61%;
  top: 52%;
}

.ms-map-pin:nth-child(4) {
  left: 75%;
  top: 38%;
}


@media(max-width:960px) {

  .ms-contact-hero-grid,.ms-contact-form-wrap,.ms-map-grid {
    grid-template-columns: 1fr;
  }

  .ms-routes {
    grid-template-columns: 1fr;
  }

  .ms-contact-title {
    font-size: 46px;
  }

  .ms-contact-hero {
    padding-top: 64px;
  }

  .ms-map-info {
    order: 2;
  }

}


@media(max-width:560px) {

  .ms-contact-card,.ms-form-panel,.ms-map-info,.ms-cta-box {
    padding: 22px;
    border-radius: 24px;
  }

  .ms-contact-actions {
    flex-direction: column;
  }

  .ms-map-placeholder {
    min-height: 320px;
  }

  .ms-contact-title {
    font-size: 40px;
  }

}


/* ==========================================================
   GUÍAS DE VIAJE
   ========================================================== */

.ms-guide-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: 1.35rem;
  box-shadow: 0 12px 34px rgba(16,32,51,.06);
}

.ms-guide-card__category {
  color: var(--ms-blue);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 950;
}

.ms-guide-card h3 {
  color: var(--ms-ink);
  margin: .65rem 0 .55rem;
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 950;
  letter-spacing: -.025em;
}

.ms-guide-card p {
  margin: 0 0 1rem;
  color: var(--ms-muted);
  line-height: 1.6;
}

.ms-guide-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 76px;
  padding: 1rem 1.1rem;
  border-radius: 24px;
  color: var(--ms-ink);
  background: #fff;
  border: 1px solid var(--ms-line);
  box-shadow: 0 10px 28px rgba(16,32,51,.045);
  text-decoration: none;
  font-weight: 900;
  line-height: 1.2;
}

.ms-guide-link span {
  color: var(--ms-orange-dark);
  font-weight: 950;
}

.ms-guide-link:hover {
  border-color: rgba(11,92,173,.20);
  color: var(--ms-blue);
}

.ms-guides-page {
  overflow: hidden;
  background: linear-gradient(180deg,#fff 0%,#F8FBFD 48%,#fff 100%);
}

.ms-guides-page .ms-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--ms-blue-100);
  color: var(--ms-blue-900);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
}

.ms-guides-page .ms-btn-ghost {
  color: var(--ms-blue-900);
  font-weight: 900;
}

.ms-guides-page .ms-section-head h2 {
  font-size: clamp(30px,4vw,48px);
  line-height: 1.05;
  letter-spacing: -.045em;
  color: var(--ms-blue-950);
  margin: 12px 0 12px;
}

.ms-guides-hero {
  position: relative;
  padding: 92px 0 52px;
}

.ms-guides-hero:before {
  content: "";
  position: absolute;
  inset: -250px -180px auto auto;
  width: 610px;
  height: 610px;
  background: radial-gradient(circle,rgba(39,166,216,.22),rgba(245,155,46,.10) 45%,transparent 72%);
  z-index: 0;
}

.ms-guides-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(380px,.92fr);
  gap: 44px;
  align-items: center;
}

.ms-guides-title {
  font-size: clamp(42px,6vw,76px);
  line-height: .98;
  letter-spacing: -.055em;
  margin: 18px 0 20px;
  color: var(--ms-blue-950);
}

.ms-guides-lead {
  font-size: clamp(18px,2vw,22px);
  max-width: 760px;
  color: var(--ms-muted);
  margin: 0 0 26px;
}

.ms-guides-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin: 30px 0 22px;
}

.ms-guides-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--ms-muted);
  font-size: 14px;
  margin-top: 18px;
}

.ms-guides-proof span {
  display: inline-flex;
  padding: 8px 12px;
  border: 1px solid var(--ms-line);
  border-radius: 999px;
  background: #fff;
}

.ms-guide-featured-panel {
  background: #fff;
  border: 1px solid rgba(221,232,238,.9);
  border-radius: var(--ms-radius-xl);
  padding: 24px;
  box-shadow: var(--ms-shadow-md);
  position: relative;
  overflow: hidden;
}

.ms-guide-featured-panel:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  background: linear-gradient(90deg,var(--ms-blue-500),var(--ms-orange-500));
}

.ms-guide-mini-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.ms-guides-page .ms-chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--ms-blue-100);
  color: var(--ms-blue-900);
  font-size: 13px;
  font-weight: 850;
}

.ms-guides-search-band {
  margin-top: -12px;
  position: relative;
  z-index: 3;
}

.ms-guide-search-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-xl);
  box-shadow: var(--ms-shadow-md);
  padding: 22px;
}

.ms-guide-search-grid {
  display: grid;
  grid-template-columns: 1.3fr .9fr .9fr auto;
  gap: 12px;
  align-items: end;
}

.ms-guides-page .ms-field {
  display: grid;
  gap: 7px;
}

.ms-guides-page .ms-field label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 950;
  color: var(--ms-blue-700);
}

.ms-guides-page .ms-field input, .ms-guides-page .ms-field select {
  width: 100%;
  min-height: 50px;
  border: 1px solid var(--ms-line);
  border-radius: 16px;
  padding: 13px 15px;
  background: #fff;
  color: var(--ms-ink);
  font: inherit;
  font-weight: 700;
  outline: none;
}

.ms-guide-categories {
  display: grid;
  grid-template-columns: repeat(6,1fr);
  gap: 14px;
}

.ms-guide-cat-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: 22px;
  padding: 18px;
  box-shadow: var(--ms-shadow-sm);
  transition: .2s ease;
  min-height: 152px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ms-guide-cat-card:hover {
  transform: translateY(-4px);
  border-color: rgba(39,166,216,.35);
  box-shadow: var(--ms-shadow-md);
}

.ms-guide-cat-icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: var(--ms-blue-100);
  display: grid;
  place-items: center;
  font-size: 24px;
}

.ms-guide-cat-card:nth-child(even) .ms-guide-cat-icon {
  background: var(--ms-orange-100);
}

.ms-guide-cat-card h3 {
  font-size: 18px;
  line-height: 1.08;
  color: var(--ms-blue-950);
  letter-spacing: -.025em;
  margin: 14px 0 4px;
}

.ms-guide-cat-card span {
  font-size: 13px;
  color: var(--ms-muted);
  font-weight: 700;
}

.ms-guides-layout {
  display: grid;
  grid-template-columns: 280px minmax(0,1fr);
  gap: 26px;
  align-items: start;
}

.ms-guides-filter-panel {
  position: sticky;
  top: 24px;
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: 22px;
  box-shadow: var(--ms-shadow-sm);
}

.ms-guides-page .ms-filter-group {
  border-top: 1px solid var(--ms-line);
  padding: 17px 0;
}

.ms-guides-page .ms-filter-group:first-of-type {
  border-top: 0;
}

.ms-guides-page .ms-filter-option {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--ms-muted);
  font-size: 14px;
  margin: 8px 0;
}

.ms-guides-page .ms-filter-option input {
  accent-color: var(--ms-blue-700);
}

.ms-guides-page .ms-results-toolbar select {
  border: 1px solid var(--ms-line);
  border-radius: 999px;
  padding: 10px 14px;
  background: #fff;
  color: var(--ms-blue-950);
  font-weight: 800;
}

.ms-guide-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}

.ms-guides-page .ms-guide-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(16,46,74,.07);
  transition: .2s ease;
  display: flex;
  flex-direction: column;
}

.ms-guide-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ms-shadow-md);
  border-color: rgba(39,166,216,.35);
}

.ms-guide-card-media {
  height: 174px;
  background: linear-gradient(135deg,#DFF2F9,#FFFFFF 48%,#FFF0DC);
  position: relative;
  display: grid;
  place-items: center;
  color: var(--ms-blue-900);
  font-size: 44px;
}

.ms-guide-card-media:before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px dashed rgba(18,58,90,.18);
  border-radius: 22px;
}

.ms-guide-card-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(255,255,255,.91);
  color: var(--ms-blue-950);
  border: 1px solid rgba(221,232,238,.9);
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.ms-guide-card-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

.ms-guide-card-kicker {
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ms-orange-500);
  font-weight: 950;
}

.ms-guides-page .ms-guide-card h3 {
  font-size: 23px;
  line-height: 1.08;
  margin: 0;
  color: var(--ms-blue-950);
  letter-spacing: -.035em;
}

.ms-guides-page .ms-guide-card p {
  margin: 0;
  color: var(--ms-muted);
  font-size: 15px;
  line-height: 1.55;
}

.ms-guide-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
}

.ms-guide-read {
  font-weight: 950;
  color: var(--ms-blue-900);
}

.ms-guide-time {
  font-size: 13px;
  color: var(--ms-muted);
  background: var(--ms-soft);
  border-radius: 999px;
  padding: 6px 9px;
}

.ms-guides-page .ms-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
}

.ms-guides-page .ms-pagination span, .ms-guides-page .ms-pagination a {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid var(--ms-line);
  background: #fff;
  color: var(--ms-blue-950);
  font-weight: 900;
}

.ms-guides-page .ms-cross-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}

.ms-guides-page .ms-cross-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: 26px;
  box-shadow: var(--ms-shadow-sm);
  min-height: 240px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ms-guides-page .ms-cross-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: var(--ms-blue-100);
  font-size: 26px;
  margin-bottom: 16px;
}

.ms-guides-page .ms-cross-card h3 {
  font-size: 24px;
  line-height: 1.08;
  margin: 0 0 10px;
  color: var(--ms-blue-950);
  letter-spacing: -.03em;
}

.ms-guides-page .ms-cross-card p {
  color: var(--ms-muted);
  margin: 0 0 18px;
}

.ms-guides-page .ms-editorial-box {
  background: linear-gradient(135deg,var(--ms-blue-950),var(--ms-blue-700));
  border-radius: 32px;
  color: #fff;
  padding: 42px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 34px;
  align-items: center;
  box-shadow: var(--ms-shadow-md);
}

.ms-guides-page .ms-editorial-box h2 {
  font-size: clamp(30px,4vw,48px);
  line-height: 1.04;
  margin: 0 0 14px;
  letter-spacing: -.045em;
}

.ms-guides-page .ms-editorial-box p {
  color: rgba(255,255,255,.78);
  margin: 0;
  font-size: 17px;
}

.ms-guides-page .ms-editorial-list {
  display: grid;
  gap: 12px;
}

.ms-guides-page .ms-editorial-item {
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
}

.ms-guides-page .ms-editorial-item strong {
  display: block;
  margin-bottom: 4px;
}

.ms-guides-page .ms-faq-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 16px;
}

.ms-guides-page .ms-faq-item {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 8px 24px rgba(16,46,74,.05);
}

.ms-guides-page .ms-faq-item h3 {
  margin: 0 0 8px;
  color: var(--ms-blue-950);
  font-size: 19px;
  letter-spacing: -.02em;
}

.ms-guides-page .ms-faq-item p {
  margin: 0;
  color: var(--ms-muted);
}

.ms-guides-cta {
  padding: 54px 0 80px;
}

.ms-guides-page .ms-cta-box {
  background: linear-gradient(135deg,var(--ms-blue-950),var(--ms-blue-700));
  border-radius: 32px;
  padding: 42px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  box-shadow: var(--ms-shadow-md);
  overflow: hidden;
  position: relative;
}

.ms-guides-page .ms-cta-box h2 {
  margin: 0 0 8px;
  font-size: clamp(28px,4vw,44px);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.ms-guides-page .ms-cta-box p {
  margin: 0;
  color: rgba(255,255,255,.77);
  font-size: 17px;
}

.ms-guides-page .ms-cta-box .ms-btn-secondary {
  background: #fff;
  color: var(--ms-blue-950);
  position: relative;
  z-index: 2;
}


@media(max-width:960px) {

  .ms-guides-hero-grid,.ms-guide-search-grid,.ms-editorial-box {
    grid-template-columns: 1fr;
  }

  .ms-guides-title {
    font-size: 46px;
  }

  .ms-guides-hero {
    padding-top: 64px;
  }

}


@media(max-width:1100px) {

  .ms-guide-categories {
    grid-template-columns: repeat(3,1fr);
  }

  .ms-guides-layout {
    grid-template-columns: 1fr;
  }

  .ms-guides-filter-panel {
    position: relative;
    top: 0;
  }

  .ms-guide-grid {
    grid-template-columns: repeat(2,1fr);
  }

}


@media(max-width:640px) {

  .ms-guide-grid,.ms-guide-categories {
    grid-template-columns: 1fr;
  }

  .ms-guide-featured-panel,.ms-guide-search-card,.ms-guides-filter-panel,.ms-editorial-box,.ms-cta-box {
    padding: 22px;
    border-radius: 24px;
  }

  .ms-guides-actions {
    flex-direction: column;
  }

  .ms-guides-proof span {
    width: 100%;
    justify-content: center;
  }

  .ms-guides-title {
    font-size: 40px;
  }

  .ms-guide-card-media {
    height: 150px;
  }

}


/* ==========================================================
   EXCURSIONES
   ========================================================== */

.ms-excursiones-page {
  overflow: hidden;
  background: linear-gradient(180deg,#fff 0%,#F8FBFD 46%,#fff 100%);
}

.ms-excursiones-page .ms-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--ms-blue-100);
  color: var(--ms-blue-900);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .02em;
}

.ms-excursiones-page .ms-section-head h2 {
  font-size: clamp(30px,4vw,48px);
  line-height: 1.05;
  letter-spacing: -.045em;
  color: var(--ms-blue-950);
  margin: 12px 0;
}

.ms-excursiones-page .ms-btn-ghost {
  color: var(--ms-blue-900);
  font-weight: 950;
}

.ms-excursiones-page .ms-chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--ms-blue-100);
  color: var(--ms-blue-900);
  font-size: 13px;
  font-weight: 850;
}

.ms-excursiones-page .ms-field {
  display: grid;
  gap: 7px;
}

.ms-excursiones-page .ms-field label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 950;
  color: var(--ms-blue-700);
}

.ms-excursiones-page .ms-field input, .ms-excursiones-page .ms-field select {
  width: 100%;
  min-height: 50px;
  border: 1px solid var(--ms-line);
  border-radius: 16px;
  padding: 13px 15px;
  background: #fff;
  color: var(--ms-ink);
  font: inherit;
  font-weight: 750;
  outline: none;
}

.ms-excursiones-page .ms-destination-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: 22px;
  padding: 18px;
  box-shadow: var(--ms-shadow-sm);
  transition: .2s ease;
  min-height: 164px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ms-excursiones-page .ms-destination-card h3 {
  font-size: 18px;
  line-height: 1.08;
  color: var(--ms-blue-950);
  letter-spacing: -.025em;
  margin: 14px 0 4px;
}

.ms-excursiones-page .ms-filter-group {
  border-top: 1px solid var(--ms-line);
  padding: 17px 0;
}

.ms-excursiones-page .ms-filter-group:first-of-type {
  border-top: 0;
}

.ms-excursiones-page .ms-filter-option {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--ms-muted);
  font-size: 14px;
  margin: 8px 0;
}

.ms-excursiones-page .ms-filter-option input {
  accent-color: var(--ms-blue-700);
}

.ms-excursiones-page .ms-results-toolbar select {
  border: 1px solid var(--ms-line);
  border-radius: 999px;
  padding: 10px 14px;
  background: #fff;
  color: var(--ms-blue-950);
  font-weight: 850;
}

.ms-excursiones-page .ms-affiliate-note {
  font-size: 11px;
  color: var(--ms-muted);
}

.ms-excursiones-page .ms-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
}

.ms-excursiones-page .ms-pagination span, .ms-excursiones-page .ms-pagination a {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid var(--ms-line);
  background: #fff;
  color: var(--ms-blue-950);
  font-weight: 900;
}

.ms-excursiones-page .ms-editorial-box {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 26px;
  align-items: center;
  background: var(--ms-blue-950);
  color: #fff;
  border-radius: var(--ms-radius-xl);
  padding: 42px;
  box-shadow: var(--ms-shadow-md);
  position: relative;
  overflow: hidden;
}

.ms-excursiones-page .ms-editorial-box h2 {
  font-size: clamp(32px,4vw,52px);
  line-height: 1.04;
  letter-spacing: -.05em;
  margin: 14px 0;
}

.ms-excursiones-page .ms-editorial-box p {
  color: rgba(255,255,255,.78);
  font-size: 18px;
}

.ms-excursiones-page .ms-editorial-list {
  display: grid;
  gap: 12px;
  position: relative;
  z-index: 2;
}

.ms-excursiones-page .ms-editorial-item {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 20px;
  padding: 18px;
}

.ms-excursiones-page .ms-editorial-item strong {
  display: block;
  color: #fff;
  margin-bottom: 4px;
}

.ms-excursiones-page .ms-cross-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}

.ms-excursiones-page .ms-cross-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: 24px;
  box-shadow: var(--ms-shadow-sm);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 22px;
  min-height: 250px;
}

.ms-excursiones-page .ms-cross-icon {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: var(--ms-orange-100);
  display: grid;
  place-items: center;
  font-size: 30px;
  margin-bottom: 14px;
}

.ms-excursiones-page .ms-cross-card h3 {
  font-size: 25px;
  margin: 0 0 8px;
  color: var(--ms-blue-950);
  letter-spacing: -.035em;
}

.ms-excursiones-page .ms-cross-card p {
  margin: 0;
  color: var(--ms-muted);
}

.ms-excursiones-page .ms-faq-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 18px;
}

.ms-excursiones-page .ms-faq-item {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  padding: 22px;
  box-shadow: var(--ms-shadow-sm);
}

.ms-excursiones-page .ms-faq-item h3 {
  font-size: 21px;
  margin: 0 0 8px;
  color: var(--ms-blue-950);
  letter-spacing: -.025em;
}

.ms-excursiones-page .ms-faq-item p {
  margin: 0;
  color: var(--ms-muted);
}

.ms-excursiones-page .ms-cta-box {
  background: linear-gradient(135deg,var(--ms-blue-900),var(--ms-blue-700));
  border-radius: var(--ms-radius-xl);
  padding: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  color: #fff;
  box-shadow: var(--ms-shadow-md);
}

.ms-excursiones-page .ms-cta-box h2 {
  font-size: clamp(30px,4vw,48px);
  line-height: 1.04;
  letter-spacing: -.045em;
  margin: 0 0 10px;
}

.ms-excursiones-page .ms-cta-box p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 18px;
}

.ms-excursiones-page .ms-cta-box .ms-btn-secondary {
  border-color: rgba(255,255,255,.26);
}


/* ==========================================================
   PÁGINAS LEGALES
   ========================================================== */

.ms-legal-page {
  background: linear-gradient(180deg,#fff 0%,#F7FBFF 46%,#fff 100%);
  overflow-x: hidden;
}

.ms-legal-hero {
  position: relative;
  padding-block: clamp(4.5rem,7vw,7.6rem) clamp(2.4rem,5vw,4rem);
  background: radial-gradient(circle at 12% 16%,rgba(25,167,206,.12),transparent 30%),radial-gradient(circle at 88% 14%,rgba(255,138,0,.16),transparent 28%),linear-gradient(180deg,#fff 0%,#F7FBFF 100%);
}

.ms-legal-hero:before {
  content: "";
  position: absolute;
  inset: 7% auto auto -150px;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: rgba(11,92,173,.06);
}

.ms-legal-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(320px,.72fr);
  gap: clamp(2rem,5vw,4.8rem);
  align-items: end;
}

.ms-legal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.3rem;
}

.ms-legal-pill {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .58rem .82rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ms-line);
  box-shadow: 0 8px 22px rgba(16,32,51,.055);
  font-weight: 850;
  color: var(--ms-text);
  font-size: .9rem;
}

.ms-legal-pill i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--ms-orange);
  display: inline-block;
}

.ms-legal-summary {
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(217,233,248,.95);
  border-radius: var(--ms-radius-xl);
  box-shadow: var(--ms-shadow-card);
  padding: clamp(1.15rem,2.3vw,1.65rem);
}

.ms-legal-summary h2 {
  margin: 0 0 .65rem;
  color: var(--ms-ink);
  font-size: 1.32rem;
  letter-spacing: -.035em;
  font-weight: 950;
}

.ms-legal-summary p {
  margin: .25rem 0 1rem;
  color: var(--ms-muted);
  line-height: 1.65;
}

.ms-legal-summary__list {
  display: grid;
  gap: .62rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ms-legal-summary__list li {
  display: flex;
  gap: .62rem;
  align-items: flex-start;
  color: var(--ms-text);
  font-size: .93rem;
  line-height: 1.45;
}

.ms-legal-summary__list li:before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--ms-blue);
  margin-top: .42rem;
  flex: 0 0 auto;
}

.ms-legal-layout {
  display: grid;
  grid-template-columns: var(--ms-sidebar) minmax(0,var(--ms-content));
  gap: clamp(1.3rem,3vw,2.2rem);
  align-items: start;
}

.ms-legal-sidebar {
  position: sticky;
  top: 104px;
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  box-shadow: var(--ms-shadow-soft);
  padding: 1rem;
}

.ms-legal-sidebar__title {
  margin: 0 0 .75rem;
  color: var(--ms-ink);
  font-weight: 950;
  letter-spacing: -.02em;
}

.ms-legal-nav {
  display: grid;
  gap: .35rem;
}

.ms-legal-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .72rem .78rem;
  border-radius: 16px;
  color: var(--ms-text);
  text-decoration: none;
  font-weight: 800;
  font-size: .92rem;
}

.ms-legal-nav a:hover,.ms-legal-nav a.is-active {
  background: var(--ms-blue-soft);
  color: var(--ms-blue);
}

.ms-legal-nav a:after {
  content: "›";
  color: var(--ms-orange);
  font-weight: 950;
}

.ms-legal-aside-box {
  margin-top: 1rem;
  padding: .95rem;
  border-radius: 22px;
  background: linear-gradient(180deg,var(--ms-blue-soft),#fff);
  border: 1px solid var(--ms-blue-line);
}

.ms-legal-aside-box b {
  display: block;
  color: var(--ms-ink);
  margin-bottom: .35rem;
}

.ms-legal-aside-box p {
  margin: 0;
  color: var(--ms-muted);
  font-size: .88rem;
  line-height: 1.55;
}

.ms-legal-content {
  display: grid;
  gap: 1rem;
}

.ms-legal-card {
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: var(--ms-radius-lg);
  box-shadow: var(--ms-shadow-soft);
  padding: clamp(1.15rem,2.5vw,2rem);
  scroll-margin-top: 110px;
}

.ms-legal-card h2 {
  margin: 0 0 .8rem;
  color: var(--ms-ink);
  font-family: var(--ms-font-heading);
  font-size: clamp(1.42rem,1.7vw,1.9rem);
  letter-spacing: -.035em;
  line-height: 1.12;
}

.ms-legal-card h3 {
  margin: 1.1rem 0 .45rem;
  color: var(--ms-ink);
  font-size: 1.08rem;
  letter-spacing: -.02em;
}

.ms-legal-card p {
  margin: .65rem 0;
  color: var(--ms-text);
  line-height: 1.78;
}

.ms-legal-card ul,.ms-legal-card ol {
  margin: .65rem 0 0;
  padding-left: 1.15rem;
  color: var(--ms-text);
  line-height: 1.78;
}

.ms-legal-card li+li {
  margin-top: .3rem;
}

.ms-legal-note {
  border-left: 4px solid var(--ms-orange);
  background: linear-gradient(90deg,var(--ms-orange-soft),#fff);
  padding: .95rem 1rem;
  border-radius: 18px;
  margin: 1rem 0;
  color: var(--ms-text);
  line-height: 1.65;
}

.ms-legal-table-wrap {
  overflow: auto;
  border: 1px solid var(--ms-line);
  border-radius: 22px;
  margin: 1rem 0;
}

.ms-legal-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 680px;
  background: #fff;
}

.ms-legal-table th,.ms-legal-table td {
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--ms-line);
  padding: .85rem .95rem;
  line-height: 1.55;
}

.ms-legal-table th {
  background: var(--ms-blue-soft);
  color: var(--ms-blue);
  font-size: .86rem;
  text-transform: uppercase;
  letter-spacing: .045em;
}

.ms-legal-table tr:last-child td {
  border-bottom: 0;
}

.ms-legal-cta {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 1rem;
  align-items: center;
  background: linear-gradient(135deg,var(--ms-blue),var(--ms-blue-900));
  color: #fff;
  border-radius: var(--ms-radius-xl);
  padding: clamp(1.2rem,2.5vw,2rem);
  box-shadow: 0 26px 70px rgba(11,92,173,.20);
}

.ms-legal-cta h2 {
  margin: 0 0 .35rem;
  color: #fff;
  font-family: var(--ms-font-heading);
  letter-spacing: -.035em;
}

.ms-legal-cta p {
  margin: 0;
  color: rgba(255,255,255,.82);
  line-height: 1.65;
}

.ms-legal-cta .ms-btn--secondary {
  color: var(--ms-blue);
}

.ms-legal-index {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1rem;
  margin-top: 2.5rem;
}

.ms-legal-index-card {
  display: grid;
  gap: .45rem;
  background: #fff;
  border: 1px solid var(--ms-line);
  border-radius: 26px;
  padding: 1.1rem;
  text-decoration: none;
  box-shadow: var(--ms-shadow-soft);
  transition: .22s ease;
}

.ms-legal-index-card:hover {
  transform: translateY(-4px);
  border-color: rgba(11,92,173,.22);
  box-shadow: 0 24px 58px rgba(16,32,51,.10);
}

.ms-legal-index-card i {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: var(--ms-blue-soft);
  display: grid;
  place-items: center;
  color: var(--ms-blue);
  font-style: normal;
  font-weight: 950;
}

.ms-legal-index-card:nth-child(even) i {
  background: var(--ms-orange-soft);
  color: var(--ms-orange-dark);
}

.ms-legal-index-card strong {
  color: var(--ms-ink);
  font-size: 1rem;
  line-height: 1.2;
}

.ms-legal-index-card span {
  color: var(--ms-muted);
  font-size: .87rem;
  line-height: 1.45;
}


@media(max-width:640px) {

  .ms-legal-meta,.ms-legal-cta {
    align-items: flex-start;
  }

  .ms-legal-nav,.ms-legal-index,.ms-footer__grid {
    grid-template-columns: 1fr;
  }

  .ms-legal-card,.ms-legal-summary {
    border-radius: 28px;
  }

}


@media(max-width:1024px) {

  .ms-legal-hero__grid,.ms-legal-layout {
    grid-template-columns: 1fr;
  }

  .ms-legal-sidebar {
    position: relative;
    top: auto;
  }

  .ms-legal-nav {
    grid-template-columns: repeat(2,1fr);
  }

  .ms-legal-index {
    grid-template-columns: repeat(2,1fr);
  }

  .ms-legal-cta {
    grid-template-columns: 1fr;
  }

}


/* ==========================================================
   CHECKOUT
   ========================================================== */

.ms-checkout-page, .ms-checkout-page * {
  box-sizing: border-box;
}

.ms-checkout-page {
  font-family: var(--ms-font-primary);
  background: radial-gradient(circle at 9% 0%, rgba(29, 138, 216, .12), transparent 29%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 58%, #ffffff 100%);
  color: var(--ms-ink-900);
}

.ms-checkout-container {
  width: min(var(--ms-container), calc(100% - 40px));
  margin-inline: auto;
}

.ms-checkout-hero {
  padding: clamp(64px, 8vw, 108px) 0 clamp(34px, 5vw, 64px);
}

.ms-checkout-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .72fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}

.ms-checkout-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 13px;
  border: 1px solid rgba(23, 105, 170, .16);
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
  color: var(--ms-blue-800);
  font-weight: 800;
  letter-spacing: .015em;
  box-shadow: 0 8px 28px rgba(16, 47, 95, .06);
}

.ms-checkout-title {
  margin: 22px 0 16px;
  font-size: clamp(40px, 5.4vw, 72px);
  line-height: .96;
  letter-spacing: -.055em;
  color: var(--ms-blue-900);
  max-width: 780px;
}

.ms-checkout-lead {
  margin: 0;
  max-width: 690px;
  color: var(--ms-ink-700);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.62;
}

.ms-checkout-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.ms-checkout-btn, .woocommerce .ms-checkout-page a.button, .woocommerce .ms-checkout-page button.button, .woocommerce .ms-checkout-page input.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 14px 22px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--ms-transition), box-shadow var(--ms-transition), background var(--ms-transition), border-color var(--ms-transition);
}

.ms-checkout-btn:hover, .woocommerce .ms-checkout-page a.button:hover, .woocommerce .ms-checkout-page button.button:hover, .woocommerce .ms-checkout-page input.button:hover {
  transform: translateY(-1px);
}

.ms-checkout-btn--primary, .woocommerce .ms-checkout-page #place_order, .woocommerce .ms-checkout-page button.button.alt {
  background: linear-gradient(135deg, var(--ms-orange-500), var(--ms-orange-600));
  color: #fff !important;
  box-shadow: 0 18px 42px rgba(255, 138, 61, .25);
}

.ms-checkout-btn--secondary {
  background: #fff;
  color: var(--ms-blue-900);
  border-color: var(--ms-border);
  box-shadow: 0 12px 26px rgba(16, 47, 95, .07);
}

.ms-checkout-progress-card {
  background: rgba(255, 255, 255, .82);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(221, 232, 243, .86);
  border-radius: var(--ms-radius-lg);
  padding: 26px;
  box-shadow: var(--ms-shadow-soft);
}

.ms-checkout-progress-title {
  margin: 0 0 18px;
  color: var(--ms-blue-900);
  font-size: 18px;
  font-weight: 900;
}

.ms-checkout-progress {
  display: grid;
  gap: 14px;
}

.ms-checkout-step {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border-radius: 18px;
  background: var(--ms-surface-soft);
  border: 1px solid rgba(221, 232, 243, .8);
}

.ms-checkout-step.is-active {
  background: linear-gradient(135deg, rgba(23, 105, 170, .11), rgba(255, 138, 61, .10));
  border-color: rgba(23, 105, 170, .22);
}

.ms-checkout-step__number {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: #fff;
  color: var(--ms-blue-900);
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(221, 232, 243, .95);
}

.ms-checkout-step.is-active .ms-checkout-step__number {
  background: var(--ms-blue-900);
  color: #fff;
}

.ms-checkout-step__label {
  color: var(--ms-ink-900);
  font-weight: 850;
}

.ms-checkout-step__state {
  color: var(--ms-ink-500);
  font-size: 13px;
  font-weight: 750;
}

.ms-checkout-section {
  padding: clamp(34px, 5vw, 70px) 0;
}

.ms-checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 390px);
  gap: clamp(24px, 4vw, 44px);
  align-items: start;
}

.ms-checkout-main, .ms-checkout-sidebar, .ms-checkout-box, .ms-checkout-help, .ms-checkout-woocommerce-box, .ms-checkout-faq-card {
  background: #fff;
  border: 1px solid rgba(221, 232, 243, .92);
  border-radius: var(--ms-radius-lg);
  box-shadow: var(--ms-shadow-card);
}

.ms-checkout-main {
  padding: clamp(22px, 4vw, 36px);
}

.ms-checkout-sidebar {
  padding: 24px;
  position: sticky;
  top: 92px;
}

.ms-checkout-box {
  padding: 24px;
}

.ms-checkout-help {
  padding: 22px;
}

.ms-checkout-section-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
  margin-bottom: 22px;
}

.ms-checkout-kicker {
  color: var(--ms-blue-700);
  text-transform: uppercase;
  letter-spacing: .09em;
  font-weight: 900;
  font-size: 12px;
}

.ms-checkout-h2 {
  margin: 8px 0 0;
  color: var(--ms-blue-900);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.ms-checkout-copy, .ms-checkout-small {
  color: var(--ms-ink-700);
  line-height: 1.65;
}

.ms-checkout-small {
  font-size: 14px;
}

.ms-checkout-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.ms-checkout-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  background: var(--ms-blue-100);
  color: var(--ms-blue-900);
  font-size: 13px;
  font-weight: 850;
}

.ms-checkout-secure-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 24px;
}

.ms-checkout-secure-item {
  padding: 18px;
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-md);
  background: linear-gradient(180deg, #fff, #f8fbff);
}

.ms-checkout-secure-icon {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  background: rgba(255, 138, 61, .13);
  color: var(--ms-orange-600);
  margin-bottom: 12px;
  font-size: 20px;
}

.ms-checkout-secure-title {
  margin: 0 0 6px;
  color: var(--ms-blue-900);
  font-weight: 900;
}

.ms-checkout-secure-text {
  margin: 0;
  color: var(--ms-ink-700);
  font-size: 14px;
  line-height: 1.55;
}

.ms-checkout-order-title {
  margin: 0 0 16px;
  color: var(--ms-blue-900);
  font-size: 22px;
  letter-spacing: -.02em;
}

.ms-checkout-order-list {
  display: grid;
  gap: 13px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.ms-checkout-order-item {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--ms-border);
  color: var(--ms-ink-700);
}

.ms-checkout-order-item strong {
  color: var(--ms-ink-900);
}

.ms-checkout-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  color: var(--ms-blue-900);
  font-size: 22px;
  font-weight: 950;
  margin-top: 14px;
}

.ms-checkout-assistance {
  margin-top: 18px;
  padding: 18px;
  border-radius: var(--ms-radius-md);
  background: linear-gradient(135deg, rgba(23, 105, 170, .09), rgba(255, 138, 61, .10));
  border: 1px solid rgba(23, 105, 170, .16);
}

.ms-checkout-assistance h3 {
  margin: 0 0 7px;
  color: var(--ms-blue-900);
}

.ms-checkout-assistance p {
  margin: 0 0 12px;
  color: var(--ms-ink-700);
  line-height: 1.55;
}

.ms-checkout-assistance a {
  color: var(--ms-blue-800);
  font-weight: 900;
  text-decoration: none;
}

.ms-checkout-faq-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.ms-checkout-faq-card {
  padding: 22px;
}

.ms-checkout-faq-card h3 {
  margin: 0 0 8px;
  color: var(--ms-blue-900);
  font-size: 18px;
}

.ms-checkout-faq-card p {
  margin: 0;
  color: var(--ms-ink-700);
  line-height: 1.62;
  font-size: 14px;
}

.ms-checkout-legal-note {
  margin-top: 22px;
  padding: 16px 18px;
  border-radius: var(--ms-radius-md);
  background: #fff8f2;
  border: 1px solid rgba(255, 138, 61, .22);
  color: var(--ms-ink-700);
  font-size: 14px;
  line-height: 1.65;
}

.ms-checkout-woocommerce-box .woocommerce, .ms-checkout-main .woocommerce {
  width: 100%;
}

.ms-checkout-page .woocommerce form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .75fr);
  gap: 28px;
  align-items: start;
}

.ms-checkout-page .woocommerce-billing-fields, .ms-checkout-page .woocommerce-shipping-fields, .ms-checkout-page .woocommerce-additional-fields, .ms-checkout-page .woocommerce-checkout-review-order, .ms-checkout-page .woocommerce-checkout-payment, .ms-checkout-page #customer_details, .ms-checkout-page #order_review {
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-md);
  background: #fff;
  padding: 22px;
  box-shadow: 0 10px 28px rgba(16, 47, 95, .05);
}

.ms-checkout-page .woocommerce form .form-row {
  margin: 0 0 16px;
}

.ms-checkout-page .woocommerce form .form-row label {
  color: var(--ms-ink-900);
  font-size: 13px;
  font-weight: 850;
  margin-bottom: 7px;
}

.ms-checkout-page .woocommerce form .form-row input.input-text, .ms-checkout-page .woocommerce form .form-row textarea, .ms-checkout-page .woocommerce form .form-row select, .ms-checkout-page .select2-container .select2-selection--single {
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid var(--ms-border);
  background: #fbfdff;
  color: var(--ms-ink-900);
  padding: 11px 14px;
  font-family: var(--ms-font-primary);
  transition: border-color var(--ms-transition), box-shadow var(--ms-transition), background var(--ms-transition);
}

.ms-checkout-page .woocommerce form .form-row input.input-text:focus, .ms-checkout-page .woocommerce form .form-row textarea:focus, .ms-checkout-page .woocommerce form .form-row select:focus {
  outline: none;
  border-color: rgba(23, 105, 170, .55);
  box-shadow: 0 0 0 4px rgba(23, 105, 170, .12);
  background: #fff;
}

.ms-checkout-page .woocommerce table.shop_table {
  border: 0;
  border-collapse: collapse;
  width: 100%;
  margin: 0 0 18px;
}

.ms-checkout-page .woocommerce table.shop_table th, .ms-checkout-page .woocommerce table.shop_table td {
  border: 0;
  border-bottom: 1px solid var(--ms-border);
  padding: 13px 0;
  color: var(--ms-ink-700);
}

.ms-checkout-page .woocommerce table.shop_table th {
  color: var(--ms-blue-900);
  font-weight: 900;
}

.ms-checkout-page .woocommerce table.shop_table .order-total th, .ms-checkout-page .woocommerce table.shop_table .order-total td {
  color: var(--ms-blue-900);
  font-size: 18px;
}

.ms-checkout-page .woocommerce-checkout #payment, .ms-checkout-page .woocommerce-checkout-payment {
  background: #f8fbff;
  border-radius: var(--ms-radius-md);
  border: 1px solid var(--ms-border);
}

.ms-checkout-page .woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--ms-border);
  padding: 18px;
}

.ms-checkout-page .woocommerce-checkout #payment div.form-row {
  padding: 18px;
}

.ms-checkout-page .woocommerce-checkout #payment div.payment_box {
  background: #fff;
  border-radius: var(--ms-radius-sm);
  color: var(--ms-ink-700);
}

.ms-checkout-page .woocommerce-checkout #payment div.payment_box:before {
  border-bottom-color: #fff;
}

.ms-checkout-page .woocommerce-info, .ms-checkout-page .woocommerce-message, .ms-checkout-page .woocommerce-error {
  border: 1px solid var(--ms-border);
  border-top: 0;
  border-left: 4px solid var(--ms-blue-700);
  border-radius: 16px;
  background: #fff;
  color: var(--ms-ink-700);
  box-shadow: 0 10px 28px rgba(16, 47, 95, .06);
}

.ms-checkout-page .woocommerce-error {
  border-left-color: #d94a4a;
}

.ms-checkout-page .woocommerce-message {
  border-left-color: var(--ms-green-500);
}

.ms-checkout-page .woocommerce-privacy-policy-text, .ms-checkout-page .woocommerce-terms-and-conditions-wrapper {
  color: var(--ms-ink-600);
  font-size: 13px;
  line-height: 1.62;
}

.ms-checkout-preview-form {
  display: grid;
  gap: 18px;
}

.ms-checkout-preview-fieldset {
  border: 1px solid var(--ms-border);
  border-radius: var(--ms-radius-md);
  padding: 22px;
  background: #fff;
}

.ms-checkout-preview-fieldset legend {
  padding: 0 10px;
  color: var(--ms-blue-900);
  font-weight: 950;
  font-size: 18px;
}

.ms-checkout-preview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.ms-checkout-preview-field label {
  display: block;
  color: var(--ms-ink-900);
  font-size: 13px;
  font-weight: 850;
  margin-bottom: 7px;
}

.ms-checkout-preview-field input, .ms-checkout-preview-field select, .ms-checkout-preview-field textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--ms-border);
  border-radius: 14px;
  background: #fbfdff;
  padding: 11px 14px;
  color: var(--ms-ink-700);
  font: inherit;
}

.ms-checkout-preview-field textarea {
  min-height: 88px;
  resize: vertical;
}

.ms-checkout-main .ms-checkout-section-head {
  display: block;
}

.ms-checkout-main .ms-checkout-section-head .ms-checkout-small {
  margin-top: 10px;
  max-width: 100%;
}

.ms-checkout-preview-field input, .ms-checkout-preview-field select {
  min-width: 0;
}


@media (max-width: 1024px) {

  .ms-checkout-hero-grid, .ms-checkout-layout, .ms-checkout-page .woocommerce form.checkout {
    grid-template-columns: 1fr;
  }

  .ms-checkout-sidebar {
    position: static;
  }

  .ms-checkout-secure-grid, .ms-checkout-faq-grid {
    grid-template-columns: 1fr;
  }

}


@media (max-width: 640px) {

  .ms-checkout-container {
    width: min(100% - 24px, var(--ms-container));
  }

  .ms-checkout-hero {
    padding-top: 42px;
  }

  .ms-checkout-actions {
    flex-direction: column;
  }

  .ms-checkout-btn {
    width: 100%;
  }

  .ms-checkout-preview-grid {
    grid-template-columns: 1fr;
  }

  .ms-checkout-main, .ms-checkout-sidebar, .ms-checkout-progress-card {
    border-radius: 24px;
    padding: 18px;
  }

  .ms-checkout-section-head {
    display: block;
  }

}


/* ==========================================================
   GRACIAS
   ========================================================== */

.ms-gracias {
  font-family: var(--ms-font-base, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  color: var(--ms-text, #3B4A5A);
  background: linear-gradient(180deg, #FFFFFF 0%, var(--ms-bg, #F7FBFF) 42%, #FFFFFF 100%);
  overflow-x: hidden;
}

.ms-gracias *, .ms-gracias *::before, .ms-gracias *::after {
  box-sizing: border-box;
}

.ms-gracias a {
  color: inherit;
}

.ms-gracias__hero {
  position: relative;
  padding: clamp(4.75rem, 8vw, 7.25rem) 0 clamp(3rem, 5vw, 4.5rem);
  background: radial-gradient(circle at 12% 15%, rgba(25,167,206,.14), transparent 32%),
    radial-gradient(circle at 88% 10%, rgba(255,138,0,.18), transparent 32%),
    linear-gradient(180deg, #FFFFFF 0%, #F7FBFF 100%);
}

.ms-gracias__hero::before {
  content: "";
  position: absolute;
  inset: 8% auto auto -140px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: rgba(11,92,173,.06);
}

.ms-gracias__hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr);
  gap: clamp(2rem, 4vw, 4.5rem);
  align-items: center;
}

.ms-gracias__status {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .82rem;
  border-radius: 999px;
  color: var(--ms-success, #0F8A5F);
  background: rgba(15,138,95,.10);
  border: 1px solid rgba(15,138,95,.18);
  font-weight: 900;
  font-size: .9rem;
}

.ms-gracias__status::before {
  content: "✓";
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: var(--ms-success, #0F8A5F);
  font-size: .78rem;
}

.ms-gracias__title {
  margin: 1rem 0 .9rem;
  max-width: 820px;
  color: var(--ms-ink, #102033);
  font-family: var(--ms-font-heading, Manrope, Inter, system-ui, sans-serif);
  font-size: clamp(2.45rem, 5vw, 5.15rem);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 950;
  text-wrap: balance;
}

.ms-gracias__lead {
  max-width: 720px;
  margin: 0;
  color: var(--ms-muted, #6C7A89);
  font-size: clamp(1.02rem, 1.3vw, 1.18rem);
  line-height: 1.75;
}

.ms-gracias__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin-top: 1.5rem;
}

.ms-gracias__summary-card {
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(217,233,248,.95);
  border-radius: var(--ms-radius-xl, 42px);
  box-shadow: var(--ms-shadow-card, 0 22px 70px rgba(16,32,51,.12));
  padding: clamp(1.25rem, 2.3vw, 2rem);
}

.ms-gracias__summary-card h2 {
  margin: 0 0 1rem;
  color: var(--ms-ink, #102033);
  font-size: 1.45rem;
  letter-spacing: -.035em;
  font-weight: 950;
}

.ms-gracias__order-list {
  display: grid;
  gap: .72rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ms-gracias__order-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .82rem .9rem;
  border: 1px solid var(--ms-line, #E5EDF5);
  border-radius: 18px;
  background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
}

.ms-gracias__order-list span {
  color: var(--ms-muted, #6C7A89);
  font-size: .86rem;
  font-weight: 800;
}

.ms-gracias__order-list strong {
  color: var(--ms-ink, #102033);
  font-weight: 950;
  text-align: right;
}

.ms-gracias__note {
  margin-top: .95rem;
  padding: .9rem 1rem;
  border-radius: 20px;
  color: var(--ms-blue-dark, #074783);
  background: var(--ms-blue-soft, #EEF7FF);
  border: 1px solid var(--ms-blue-line, #D9E9F8);
  font-size: .9rem;
  line-height: 1.55;
  font-weight: 700;
}

.ms-gracias__main {
  padding: var(--ms-section-y, clamp(4.5rem, 7vw, 7.25rem)) 0;
}

.ms-gracias__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
}

.ms-gracias__panel, .ms-gracias__side-card, .ms-gracias__download-card, .ms-gracias__next-card {
  background: #fff;
  border: 1px solid var(--ms-line, #E5EDF5);
  border-radius: var(--ms-radius-lg, 34px);
  box-shadow: 0 16px 44px rgba(16,32,51,.07);
}

.ms-gracias__panel {
  padding: clamp(1.25rem, 2.4vw, 2rem);
}

.ms-gracias__panel + .ms-gracias__panel {
  margin-top: 1.2rem;
}

.ms-gracias__section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.2rem;
  margin-bottom: 1.4rem;
}

.ms-gracias__section-head h2 {
  margin: 0;
  color: var(--ms-ink, #102033);
  font-size: clamp(1.65rem, 2.5vw, 2.35rem);
  line-height: 1.07;
  letter-spacing: -.045em;
  font-weight: 950;
}

.ms-gracias__section-head p {
  max-width: 620px;
  margin: .45rem 0 0;
  color: var(--ms-muted, #6C7A89);
  line-height: 1.65;
}

.ms-gracias__download-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.ms-gracias__download-card {
  display: flex;
  flex-direction: column;
  min-height: 260px;
  padding: 1.15rem;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.ms-gracias__download-card:hover {
  transform: translateY(-4px);
  border-color: rgba(11,92,173,.24);
  box-shadow: 0 24px 64px rgba(16,32,51,.11);
}

.ms-gracias__download-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: #fff;
  background: linear-gradient(135deg, var(--ms-blue, #0B5CAD), var(--ms-aqua, #19A7CE));
  font-weight: 950;
  font-size: 1.25rem;
  box-shadow: 0 14px 32px rgba(11,92,173,.20);
}

.ms-gracias__download-card:nth-child(2) .ms-gracias__download-icon {
  background: linear-gradient(135deg, var(--ms-orange, #FF8A00), #FFB052);
}

.ms-gracias__download-card:nth-child(3) .ms-gracias__download-icon {
  background: linear-gradient(135deg, #0F8A5F, #35C187);
}

.ms-gracias__download-card h3 {
  margin: 1rem 0 .45rem;
  color: var(--ms-ink, #102033);
  font-size: 1.22rem;
  letter-spacing: -.03em;
  font-weight: 950;
}

.ms-gracias__download-card p {
  margin: 0 0 1rem;
  color: var(--ms-muted, #6C7A89);
  line-height: 1.55;
  font-size: .94rem;
}

.ms-gracias__download-card .ms-btn {
  margin-top: auto;
  width: 100%;
}

.ms-gracias__download-small {
  display: block;
  margin-top: .7rem;
  color: var(--ms-muted, #6C7A89);
  font-size: .78rem;
  line-height: 1.4;
}

.ms-gracias__timeline {
  display: grid;
  gap: .85rem;
  counter-reset: step;
}

.ms-gracias__step {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: .95rem;
  padding: 1rem;
  border: 1px solid var(--ms-line, #E5EDF5);
  border-radius: 24px;
  background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
}

.ms-gracias__step::before {
  counter-increment: step;
  content: counter(step);
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: var(--ms-blue, #0B5CAD);
  background: var(--ms-blue-soft, #EEF7FF);
  font-weight: 950;
}

.ms-gracias__step strong {
  display: block;
  margin-bottom: .25rem;
  color: var(--ms-ink, #102033);
  font-weight: 950;
}

.ms-gracias__step span {
  color: var(--ms-muted, #6C7A89);
  line-height: 1.55;
}

.ms-gracias__aside {
  position: sticky;
  top: calc(var(--ms-header-height, 78px) + 1rem);
  display: grid;
  gap: 1rem;
}

.ms-gracias__side-card {
  padding: 1.15rem;
}

.ms-gracias__side-card h3 {
  margin: 0 0 .8rem;
  color: var(--ms-ink, #102033);
  font-size: 1.16rem;
  letter-spacing: -.025em;
  font-weight: 950;
}

.ms-gracias__help-list {
  display: grid;
  gap: .6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ms-gracias__help-list a, .ms-gracias__help-list span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .78rem .86rem;
  border-radius: 16px;
  background: var(--ms-blue-soft, #EEF7FF);
  color: var(--ms-blue-dark, #074783);
  text-decoration: none;
  font-weight: 850;
}

.ms-gracias__help-list small {
  color: var(--ms-muted, #6C7A89);
  font-weight: 700;
}

.ms-gracias__legal {
  border-left: 4px solid var(--ms-orange, #FF8A00);
  padding: .85rem 1rem;
  border-radius: 18px;
  background: var(--ms-orange-soft, #FFF2E3);
  color: #6A3D03;
  line-height: 1.55;
  font-size: .9rem;
  font-weight: 700;
}

.ms-gracias__next-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1rem;
}

.ms-gracias__next-card {
  padding: 1.2rem;
  text-decoration: none;
  transition: transform .22s ease, box-shadow .22s ease;
}

.ms-gracias__next-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 64px rgba(16,32,51,.10);
}

.ms-gracias__next-card b {
  display: block;
  color: var(--ms-ink, #102033);
  font-size: 1.1rem;
  letter-spacing: -.02em;
}

.ms-gracias__next-card span {
  display: block;
  margin-top: .45rem;
  color: var(--ms-muted, #6C7A89);
  line-height: 1.5;
}

.ms-gracias__next-card em {
  display: inline-flex;
  margin-top: .8rem;
  color: var(--ms-blue, #0B5CAD);
  font-style: normal;
  font-weight: 950;
}

.ms-gracias .woocommerce-order-overview, .ms-gracias .woocommerce-thankyou-order-received, .ms-gracias .woocommerce-order-details, .ms-gracias .woocommerce-customer-details {
  border-radius: 24px;
  border-color: var(--ms-line, #E5EDF5);
}

.ms-gracias .woocommerce-order-details table, .ms-gracias .woocommerce-table {
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--ms-line, #E5EDF5);
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
}

.ms-gracias .woocommerce-order-details th, .ms-gracias .woocommerce-order-details td, .ms-gracias .woocommerce-table th, .ms-gracias .woocommerce-table td {
  padding: .95rem 1rem;
  border-color: var(--ms-line, #E5EDF5);
}


@media (max-width: 1024px) {

  .ms-gracias__hero-grid, .ms-gracias__layout {
    grid-template-columns: 1fr;
  }

  .ms-gracias__aside {
    position: static;
  }

  .ms-gracias__download-grid, .ms-gracias__next-grid, .ms-aon-downloads-shortcode {
    grid-template-columns: 1fr 1fr;
  }

}


@media (max-width: 680px) {

  .ms-gracias__download-grid, .ms-gracias__next-grid, .ms-aon-downloads-shortcode {
    grid-template-columns: 1fr;
  }

  .ms-gracias__order-list li {
    align-items: flex-start;
    flex-direction: column;
    gap: .25rem;
  }

  .ms-gracias__order-list strong {
    text-align: left;
  }

  .ms-gracias__section-head {
    display: block;
  }

  .ms-gracias__actions .ms-btn {
    width: 100%;
  }

}

/* ==========================================================
   MUNDIESPAÑA · ENDURECIMIENTO RESPONSIVE MÓVIL V2
   Corrige estilos de layout generados por Bricks que podían
   prevalecer sobre los media queries por especificidad.
   ========================================================== */

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

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
  height: auto;
}

.ms-template-native,
.ms-template-native__html,
.ms-template-native > .brxe-html {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.ms-template-native {
  padding: 0 !important;
}

.ms-topbar__text {
  min-width: 0;
}

.ms-footer__col,
.ms-footer__links {
  min-width: 0;
}

.ms-footer__links {
  display: grid;
  gap: .7rem;
}

.ms-footer__links a {
  color: rgba(255,255,255,.78);
  text-decoration: none;
}

.ms-footer__links a:hover {
  color: #fff;
}

.ms-404-copy,
.ms-hero__copy,
.ms-shop-hero__grid > *,
.ms-contact-hero-grid > *,
.ms-guides-hero-grid > *,
.ms-exc-hero-grid > *,
.ms-legal-hero__grid > *,
.ms-checkout-hero-grid > *,
.ms-gracias__hero-grid > * {
  min-width: 0;
}

@media (max-width: 1024px) {
  /* El !important vence los selectores por ID generados por Bricks. */
  .ms-nav {
    display: none !important;
  }

  .ms-hero__grid,
  .ms-404-grid,
  .ms-shop-hero__grid,
  .ms-contact-hero-grid,
  .ms-contact-form-wrap,
  .ms-map-grid,
  .ms-guides-hero-grid,
  .ms-guides-layout,
  .ms-exc-hero-grid,
  .ms-exc-layout,
  .ms-legal-hero__grid,
  .ms-legal-layout,
  .ms-checkout-hero-grid,
  .ms-checkout-layout,
  .ms-gracias__hero-grid,
  .ms-gracias__layout,
  .ms-persona-band,
  .ms-final-cta,
  .ms-404-cta,
  .ms-editorial-band,
  .ms-editorial-box {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .ms-form-grid,
  .ms-contact-page .ms-form-grid,
  .ms-guide-search-grid,
  .ms-exc-search-grid,
  .ms-checkout-page .woocommerce form.checkout,
  .ms-checkout-preview-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .ms-value-nav__grid,
  .ms-aon-placeholder,
  .ms-quick-grid,
  .ms-routes,
  .ms-guide-grid,
  .ms-exc-grid,
  .ms-type-grid,
  .ms-destination-grid,
  .ms-shop-category-grid,
  .ms-product-grid,
  .ms-product-grid ul.products,
  .ms-product-grid .products,
  .ms-shop-page .ms-cross-grid,
  .ms-shop-page .ms-faq-grid,
  .ms-contact-page .ms-faq-grid,
  .ms-guides-page .ms-cross-grid,
  .ms-guides-page .ms-faq-grid,
  .ms-excursiones-page .ms-cross-grid,
  .ms-excursiones-page .ms-faq-grid,
  .ms-checkout-secure-grid,
  .ms-checkout-faq-grid,
  .ms-gracias__download-grid,
  .ms-gracias__next-grid,
  .ms-aon-downloads-shortcode {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ms-filters-card,
  .ms-exc-filter-panel,
  .ms-checkout-sidebar,
  .ms-gracias__sidebar {
    position: static !important;
    top: auto !important;
  }
}

@media (max-width: 767px) {
  :root {
    --ms-header-height: 68px;
    --ms-gutter: 14px;
    --ms-section-y: clamp(2.75rem, 12vw, 4rem);
    --ms-section-y-small: clamp(2.25rem, 10vw, 3.25rem);
  }

  html,
  body {
    overflow-x: hidden;
  }

  .ms-home-v2,
  .ms-shop-page,
  .ms-contact-page,
  .ms-guides-page,
  .ms-excursiones-page,
  .ms-legal-page,
  .ms-checkout-page,
  .ms-gracias,
  .ms-404-page {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .ms-container,
  .ms-checkout-container {
    width: calc(100% - 28px) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: auto !important;
  }

  .ms-section {
    padding-block: var(--ms-section-y) !important;
  }

  .ms-topbar__inner {
    min-height: 0 !important;
    padding-block: .48rem !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .ms-topbar__inner > :not(:first-child) {
    display: none !important;
  }

  .ms-topbar__text,
  .ms-topbar__inner > :first-child {
    width: 100%;
    font-size: .72rem !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .ms-header {
    position: relative !important;
    top: auto !important;
  }

  .ms-header__inner {
    min-height: 68px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .65rem !important;
    padding-block: .55rem !important;
  }

  .ms-logo {
    flex: 0 1 auto;
    min-width: 0;
    font-size: 1.08rem !important;
    line-height: 1 !important;
    white-space: nowrap;
  }

  .ms-logo__mark {
    width: 34px;
    height: 34px;
    border-radius: 11px;
  }

  .ms-header__actions {
    margin-left: auto;
    flex: 0 0 auto;
    gap: .45rem !important;
  }

  .ms-header__inner > .ms-btn,
  .ms-header__actions .ms-btn {
    width: auto !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: .72rem .9rem !important;
    font-size: .80rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .ms-header__actions .ms-btn--secondary {
    display: none !important;
  }

  .ms-nav {
    display: none !important;
  }

  .ms-hero,
  .ms-shop-hero,
  .ms-contact-hero,
  .ms-guides-hero,
  .ms-exc-hero,
  .ms-legal-hero,
  .ms-checkout-hero,
  .ms-gracias__hero,
  .ms-404-hero {
    padding-block: clamp(2.75rem, 12vw, 4rem) clamp(2.5rem, 10vw, 3.5rem) !important;
    overflow: hidden;
  }

  .ms-hero__grid,
  .ms-404-grid,
  .ms-shop-hero__grid,
  .ms-contact-hero-grid,
  .ms-contact-form-wrap,
  .ms-map-grid,
  .ms-guides-hero-grid,
  .ms-guides-layout,
  .ms-exc-hero-grid,
  .ms-exc-layout,
  .ms-legal-hero__grid,
  .ms-legal-layout,
  .ms-checkout-hero-grid,
  .ms-checkout-layout,
  .ms-gracias__hero-grid,
  .ms-gracias__layout,
  .ms-persona-band,
  .ms-final-cta,
  .ms-404-cta,
  .ms-editorial-band,
  .ms-editorial-box {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.5rem !important;
    align-items: stretch !important;
  }

  .ms-hero__copy,
  .ms-hero-panel,
  .ms-shop-panel,
  .ms-contact-card,
  .ms-guide-featured-panel,
  .ms-exc-hero-panel,
  .ms-legal-summary,
  .ms-checkout-main,
  .ms-checkout-sidebar,
  .ms-gracias__content,
  .ms-gracias__sidebar {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 !important;
  }

  .ms-title,
  .ms-404-title,
  .ms-contact-title,
  .ms-guides-title,
  .ms-exc-title,
  .ms-legal-title,
  .ms-checkout-title,
  .ms-gracias__title {
    max-width: 100% !important;
    font-size: clamp(2.25rem, 11vw, 3rem) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
    text-wrap: pretty;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .ms-title--section,
  .ms-section-head h2,
  .ms-contact-page .ms-section-head h2 {
    font-size: clamp(1.8rem, 8.5vw, 2.5rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
  }

  .ms-lead,
  .ms-404-lead,
  .ms-contact-lead,
  .ms-guides-lead,
  .ms-exc-lead,
  .ms-legal-lead,
  .ms-checkout-lead,
  .ms-gracias__lead {
    max-width: 100% !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }

  .ms-kicker,
  .ms-eyebrow,
  .ms-eyebrow-line,
  .ms-checkout-eyebrow {
    max-width: 100%;
    white-space: normal;
  }

  .ms-hero-panel,
  .ms-shop-panel,
  .ms-contact-card,
  .ms-guide-featured-panel,
  .ms-guide-search-card,
  .ms-exc-hero-panel,
  .ms-exc-search-card,
  .ms-legal-card,
  .ms-legal-summary,
  .ms-checkout-main,
  .ms-checkout-sidebar,
  .ms-checkout-progress-card,
  .ms-gracias__panel,
  .ms-gracias__sidebar,
  .ms-persona-band,
  .ms-final-cta,
  .ms-404-cta {
    border-radius: 24px !important;
    padding: 1.15rem !important;
  }

  .ms-hero-panel::before,
  .ms-shop-panel::before {
    width: 56px;
    height: 56px;
    border-radius: 18px;
  }

  .ms-planner-title {
    max-width: calc(100% - 56px);
    margin-bottom: 1rem;
    font-size: 1.28rem !important;
    line-height: 1.15 !important;
  }

  .ms-form-grid,
  .ms-contact-page .ms-form-grid,
  .ms-guide-search-grid,
  .ms-exc-search-grid,
  .ms-checkout-page .woocommerce form.checkout,
  .ms-checkout-preview-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .85rem !important;
  }

  .ms-field,
  .ms-field > *,
  .ms-form-grid > *,
  .ms-guide-search-grid > *,
  .ms-exc-search-grid > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .ms-field input,
  .ms-field select,
  .ms-field textarea,
  .ms-sort,
  .ms-quick-search input,
  .ms-404-search input,
  .ms-checkout-page input,
  .ms-checkout-page select,
  .ms-checkout-page textarea {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .ms-panel-note {
    font-size: .78rem !important;
    line-height: 1.5 !important;
  }

  .ms-hero__actions,
  .ms-shop-hero__actions,
  .ms-contact-actions,
  .ms-guides-actions,
  .ms-exc-actions,
  .ms-checkout-actions,
  .ms-gracias__actions,
  .ms-404-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .75rem !important;
    width: 100%;
  }

  .ms-hero__actions .ms-btn,
  .ms-shop-hero__actions .ms-btn,
  .ms-contact-actions .ms-btn,
  .ms-guides-actions .ms-btn,
  .ms-exc-actions .ms-btn,
  .ms-checkout-actions .ms-btn,
  .ms-gracias__actions .ms-btn,
  .ms-404-actions .ms-btn,
  .ms-final-cta > .ms-btn,
  .ms-404-cta > .ms-btn {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center;
  }

  .ms-proof-row,
  .ms-hero-proof,
  .ms-guides-proof {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .55rem !important;
  }

  .ms-proof,
  .ms-hero-proof span,
  .ms-guides-proof span {
    width: 100% !important;
    justify-content: center;
    text-align: center;
  }

  .ms-value-nav,
  .ms-shop-category-grid {
    margin-top: 0 !important;
  }

  .ms-value-nav__grid,
  .ms-aon-placeholder,
  .ms-quick-grid,
  .ms-routes,
  .ms-guide-grid,
  .ms-guide-categories,
  .ms-exc-grid,
  .ms-type-grid,
  .ms-destination-grid,
  .ms-shop-category-grid,
  .ms-product-grid,
  .ms-product-grid ul.products,
  .ms-product-grid .products,
  .ms-panel-products,
  .ms-shop-page .ms-cross-grid,
  .ms-shop-page .ms-faq-grid,
  .ms-contact-page .ms-faq-grid,
  .ms-guides-page .ms-cross-grid,
  .ms-guides-page .ms-faq-grid,
  .ms-excursiones-page .ms-cross-grid,
  .ms-excursiones-page .ms-faq-grid,
  .ms-checkout-secure-grid,
  .ms-checkout-faq-grid,
  .ms-gracias__download-grid,
  .ms-gracias__next-grid,
  .ms-aon-downloads-shortcode,
  .ms-guide-list,
  .ms-footer__grid,
  .ms-404-footer__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem !important;
  }

  .ms-store-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem !important;
  }

  .ms-filters-card,
  .ms-exc-filter-panel,
  .ms-checkout-sidebar,
  .ms-gracias__sidebar {
    position: static !important;
    top: auto !important;
  }

  .ms-section-head,
  .ms-store-toolbar,
  .ms-results-toolbar,
  .ms-checkout-section-head,
  .ms-gracias__section-head,
  .ms-footer__legal-inner,
  .ms-404-footer__legal-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1rem !important;
  }

  .ms-404-visual {
    min-height: 390px !important;
    border-radius: 24px !important;
  }

  .ms-404-number {
    font-size: clamp(5.2rem, 28vw, 7.5rem) !important;
  }

  .ms-404-page .ms-route-card {
    right: 14px !important;
    bottom: 14px !important;
    width: calc(100% - 28px) !important;
    max-width: none !important;
  }

  .ms-404-search,
  .ms-quick-search {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    border-radius: 22px !important;
  }

  .ms-404-search .ms-btn,
  .ms-quick-search .ms-btn {
    width: 100% !important;
  }

  .ms-map-placeholder {
    min-height: 300px !important;
  }

  .ms-contact-method {
    grid-template-columns: 42px minmax(0, 1fr) !important;
  }

  .ms-contact-method strong,
  .ms-contact-method a {
    overflow-wrap: anywhere;
  }

  .ms-legal-nav,
  .ms-legal-index {
    position: static !important;
    top: auto !important;
  }

  .ms-checkout-page .woocommerce-checkout-review-order,
  .ms-checkout-page #payment,
  .ms-checkout-page .woocommerce-billing-fields,
  .ms-checkout-page .woocommerce-additional-fields {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .ms-gracias__order-list li {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .25rem !important;
  }

  .ms-footer {
    margin-top: var(--ms-section-y-small);
  }

  .ms-footer__legal-links,
  .ms-footer__badges {
    width: 100%;
  }
}

@media (max-width: 390px) {
  .ms-container,
  .ms-checkout-container {
    width: calc(100% - 24px) !important;
  }

  .ms-logo {
    font-size: 1rem !important;
  }

  .ms-header__inner > .ms-btn,
  .ms-header__actions .ms-btn {
    padding-inline: .72rem !important;
    font-size: .76rem !important;
  }

  .ms-title,
  .ms-404-title,
  .ms-contact-title,
  .ms-guides-title,
  .ms-exc-title,
  .ms-legal-title,
  .ms-checkout-title,
  .ms-gracias__title {
    font-size: clamp(2.1rem, 10.8vw, 2.7rem) !important;
  }
}

/* ==========================================================
   MUNDIESPAÑA · PARCHE RESPONSIVE MÓVIL V3
   Fecha: 2026-07-18

   Corrección principal:
   - Los grids genéricos .ms-grid-2/.ms-grid-3/.ms-grid-4 no se
     apilaban en móvil porque no estaban cubiertos por el parche V2.
   - Se aumenta la especificidad para vencer estilos por ID creados
     por Bricks y se normaliza el ancho de cada tarjeta.
   ========================================================== */

@media (max-width: 1024px) {
  #brx-content .ms-grid-2,
  #brx-content .ms-grid-3,
  #brx-content .ms-grid-4,
  .ms-home-v2 .ms-grid-2,
  .ms-home-v2 .ms-grid-3,
  .ms-home-v2 .ms-grid-4,
  .ms-stack-tablet,
  .ms-stack-mobile {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    gap: clamp(.9rem, 2vw, 1.2rem) !important;
  }
}

@media (max-width: 767px) {
  /* Grids generales de las plantillas. */
  #brx-content .ms-grid-2,
  #brx-content .ms-grid-3,
  #brx-content .ms-grid-4,
  .ms-home-v2 .ms-grid-2,
  .ms-home-v2 .ms-grid-3,
  .ms-home-v2 .ms-grid-4,
  .ms-stack-mobile,
  #brx-content .ms-stack-mobile {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    gap: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Componentes multicolumna que aparecen en las distintas páginas. */
  #brx-content :is(
    .ms-value-nav__grid,
    .ms-aon-placeholder,
    .ms-quick-grid,
    .ms-routes,
    .ms-guide-grid,
    .ms-guide-categories,
    .ms-exc-grid,
    .ms-type-grid,
    .ms-destination-grid,
    .ms-shop-category-grid,
    .ms-product-grid,
    .ms-panel-products,
    .ms-cross-grid,
    .ms-faq-grid,
    .ms-checkout-secure-grid,
    .ms-checkout-faq-grid,
    .ms-gracias__download-grid,
    .ms-gracias__next-grid,
    .ms-aon-downloads-shortcode,
    .ms-footer__grid,
    .ms-404-footer__grid
  ),
  .ms-home-v2 :is(
    .ms-value-nav__grid,
    .ms-aon-placeholder,
    .ms-quick-grid,
    .ms-routes,
    .ms-guide-grid,
    .ms-guide-categories,
    .ms-exc-grid,
    .ms-type-grid,
    .ms-destination-grid,
    .ms-shop-category-grid,
    .ms-product-grid,
    .ms-panel-products,
    .ms-cross-grid,
    .ms-faq-grid,
    .ms-checkout-secure-grid,
    .ms-checkout-faq-grid,
    .ms-gracias__download-grid,
    .ms-gracias__next-grid,
    .ms-aon-downloads-shortcode,
    .ms-footer__grid,
    .ms-404-footer__grid
  ) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    gap: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Cada tarjeta ocupa toda la fila y no puede conservar anchuras de escritorio. */
  #brx-content :is(.ms-grid-2, .ms-grid-3, .ms-grid-4, .ms-stack-mobile) > *,
  .ms-home-v2 :is(.ms-grid-2, .ms-grid-3, .ms-grid-4, .ms-stack-mobile) > *,
  #brx-content :is(
    .ms-card,
    .ms-guide-card,
    .ms-destination-card,
    .ms-product-card,
    .ms-quick-card,
    .ms-cross-card,
    .ms-type-card,
    .ms-exc-card,
    .ms-route-card,
    .ms-value-card
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    flex: 0 1 auto !important;
  }

  /* Evita que títulos y textos largos fuercen el ancho de la tarjeta. */
  #brx-content :is(
    .ms-card,
    .ms-guide-card,
    .ms-destination-card,
    .ms-product-card,
    .ms-quick-card,
    .ms-cross-card,
    .ms-type-card,
    .ms-exc-card
  ) :is(h2, h3, h4, p, span, a),
  .ms-home-v2 :is(
    .ms-card,
    .ms-guide-card,
    .ms-destination-card,
    .ms-product-card,
    .ms-quick-card,
    .ms-cross-card,
    .ms-type-card,
    .ms-exc-card
  ) :is(h2, h3, h4, p, span, a) {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto;
  }

  /* Ajustes visuales específicos de las tarjetas mostradas en las capturas. */
  #brx-content .ms-grid-3 > .ms-card,
  #brx-content .ms-grid-3 > .ms-guide-card,
  #brx-content .ms-grid-3 > .ms-destination-card,
  .ms-home-v2 .ms-grid-3 > .ms-card,
  .ms-home-v2 .ms-grid-3 > .ms-guide-card,
  .ms-home-v2 .ms-grid-3 > .ms-destination-card {
    padding: 1.2rem !important;
    border-radius: 24px !important;
  }

  #brx-content .ms-grid-3 > .ms-destination-card,
  .ms-home-v2 .ms-grid-3 > .ms-destination-card {
    display: flex !important;
    flex-direction: column !important;
  }

  #brx-content .ms-grid-3 .ms-btn,
  .ms-home-v2 .ms-grid-3 .ms-btn {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
  }

  #brx-content .ms-title--section,
  .ms-home-v2 .ms-title--section {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(1.85rem, 8.4vw, 2.45rem) !important;
    line-height: 1.06 !important;
    overflow: visible !important;
    text-wrap: balance;
  }

  #brx-content .ms-section-head,
  .ms-home-v2 .ms-section-head {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  /* Mantiene dos pequeñas métricas dentro de cada destino: no son cards principales. */
  #brx-content .ms-stats,
  .ms-home-v2 .ms-stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .55rem !important;
  }
}

@media (max-width: 390px) {
  #brx-content .ms-grid-3 > .ms-card,
  #brx-content .ms-grid-3 > .ms-guide-card,
  #brx-content .ms-grid-3 > .ms-destination-card,
  .ms-home-v2 .ms-grid-3 > .ms-card,
  .ms-home-v2 .ms-grid-3 > .ms-guide-card,
  .ms-home-v2 .ms-grid-3 > .ms-destination-card {
    padding: 1rem !important;
    border-radius: 22px !important;
  }

  #brx-content .ms-title--section,
  .ms-home-v2 .ms-title--section {
    font-size: clamp(1.75rem, 8.8vw, 2.15rem) !important;
  }
}

/* ==========================================================
   MUNDIESPAÑA · V4 · AISLAMIENTO DEFINITIVO DEL HERO MÓVIL
   Evita que los grids genéricos y los estilos por ID de Bricks
   mantengan el Hero en dos columnas o superpongan el buscador.
   ========================================================== */

@media (max-width: 1024px) {
  body #brx-content section.ms-hero > .ms-hero__grid,
  body #brx-content .ms-hero .ms-hero__grid,
  section.ms-hero > .ms-hero__grid,
  .ms-hero .ms-hero__grid,
  .ms-hero__grid--responsive {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    grid-auto-flow: row !important;
    width: 100% !important;
    max-width: var(--ms-container, 1180px) !important;
    min-width: 0 !important;
  }

  body #brx-content .ms-hero__grid > .ms-hero__copy,
  body #brx-content .ms-hero__grid > .ms-hero-panel,
  .ms-hero__grid > .ms-hero__copy,
  .ms-hero__grid > .ms-hero-panel {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
  }
}

@media (max-width: 767px) {
  body #brx-content section.ms-hero,
  body #brx-content .ms-hero,
  section.ms-hero,
  .ms-hero,
  .ms-hero--responsive {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    padding-block: clamp(2.65rem, 10vw, 3.75rem) !important;
    overflow: hidden !important;
  }

  body #brx-content section.ms-hero > .ms-hero__grid,
  body #brx-content .ms-hero .ms-hero__grid,
  section.ms-hero > .ms-hero__grid,
  .ms-hero .ms-hero__grid,
  .ms-hero__grid--responsive {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: clamp(1.35rem, 5vw, 1.8rem) !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    grid-auto-flow: initial !important;
    width: calc(100% - 28px) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin-inline: auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body #brx-content .ms-hero__grid > .ms-hero__copy,
  .ms-hero__grid > .ms-hero__copy,
  .ms-hero__copy--mobile-first {
    order: 1 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body #brx-content .ms-hero__grid > .ms-hero-panel,
  .ms-hero__grid > .ms-hero-panel,
  .ms-hero-panel--mobile-second {
    order: 2 !important;
    align-self: stretch !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 1.1rem !important;
    border-radius: 24px !important;
    z-index: 3 !important;
  }

  body #brx-content .ms-hero__copy .ms-title,
  .ms-hero__copy .ms-title {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(2.55rem, 11.5vw, 3.15rem) !important;
    line-height: .96 !important;
    letter-spacing: -.052em !important;
    overflow: visible !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance;
  }

  body #brx-content .ms-hero__copy .ms-lead,
  .ms-hero__copy .ms-lead {
    width: 100% !important;
    max-width: 42rem !important;
    margin-top: 1rem !important;
    font-size: .98rem !important;
    line-height: 1.62 !important;
  }

  body #brx-content .ms-hero__actions,
  .ms-hero__actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    gap: .7rem !important;
    margin-top: 1.15rem !important;
  }

  body #brx-content .ms-hero__actions > *,
  .ms-hero__actions > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body #brx-content .ms-proof-row,
  .ms-proof-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    gap: .55rem !important;
    margin-top: 1rem !important;
  }

  body #brx-content .ms-proof-row > *,
  .ms-proof-row > * {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  /* Mantiene el buscador compacto sin volver a crear dos columnas del Hero. */
  body #brx-content .ms-hero-panel .ms-form-grid,
  .ms-hero-panel .ms-form-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: .75rem !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body #brx-content .ms-hero-panel .ms-field,
  body #brx-content .ms-hero-panel .ms-field > *,
  .ms-hero-panel .ms-field,
  .ms-hero-panel .ms-field > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body #brx-content .ms-hero-panel .ms-btn,
  .ms-hero-panel .ms-btn {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ms-hero::before {
    width: 300px !important;
    height: 300px !important;
    left: -145px !important;
    top: 12% !important;
  }

  .ms-hero::after {
    width: 200px !important;
    height: 200px !important;
    right: -100px !important;
    bottom: 4% !important;
  }
}

@media (max-width: 359px) {
  body #brx-content .ms-hero-panel .ms-form-grid,
  .ms-hero-panel .ms-form-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body #brx-content .ms-hero__copy .ms-title,
  .ms-hero__copy .ms-title {
    font-size: clamp(2.25rem, 12.5vw, 2.75rem) !important;
  }
}
