/* Vivirse Family Card. Las rutas /assets/... se cambian por las versiones con huella al generar. */

@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/ubuntu-v20-latin-regular.0e8eefb4.woff2") format("woff2");}
@font-face{font-family:"Ubuntu";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/ubuntu-v20-latin-500.0e7e5f9d.woff2") format("woff2");}
@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/ubuntu-v20-latin-700.ab1fc862.woff2") format("woff2");}
/* banderas en Windows (no trae emoji de banderas): solo para esos caracteres.
   Twemoji Country Flags © Twitter, Inc. y colaboradores, CC-BY 4.0 (https://github.com/talkjs/country-flag-emoji-polyfill) */
@font-face{font-family:"Twemoji Country Flags";unicode-range:U+1F1E6-1F1FF,U+1F3F4,U+E0062-E0063,U+E0065,U+E0067,U+E006C,U+E006E,U+E0073-E0074,U+E0077,U+E007F;src:url("/assets/fonts/TwemojiCountryFlags.a19faae0.woff2") format("woff2");font-display:swap;}

:root{
  --bg:#fff;
  --ink:#000;
  --ink-soft:#2e2e2e;
  --ink-mute:#595959;
  --line:#e8e8e8;
  --line-soft:#f4f4f4;
  --surface:#fafafa;
  --border:3px solid var(--ink);
  --font:"Ubuntu",system-ui,sans-serif;
  /* Vivirse (vivirse.com) */
  --vivirse-gradient:linear-gradient(105deg,#fbde46 0%,#33d58a 21%,#50b2ff 50%,#e590ee 79%,#ff8a8a 100%);
  /* tono 200 de la paleta de cada destino (vivirse-blog, src/styles/sites.css) */
  --color-bg-malta:#a8d9ff;
  --color-bg-dubai:#99eac5;
  --color-bg-ireland:#f8c7ff;
  --color-bg-uk:#ffc8c8;
  --color-bg-canada:#ffccb8;
  /* tono 500 (color principal de cada destino), para el chip del descuento */
  --color-malta:#50b2ff;
  --color-dubai:#33d58a;
  --color-ireland:#e590ee;
  --color-uk:#ff8a8a;
  --color-canada:#ff8f62;
  --bar-h:140px;
}
@media(min-width:1024px){:root{--bar-h:84px;}}
@keyframes gradient{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-100%);}}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-padding-top:calc(var(--bar-h) + 12px);}
body{background:var(--bg);color:var(--ink);font-family:var(--font);min-height:100vh;}
img{max-width:100%;}
button,input,select{font:inherit;color:inherit;}
a{color:inherit;}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.flag{font-family:"Twemoji Country Flags",var(--font) !important;}

/* ====== botones ====== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border-radius:64px;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;border:var(--border);transition:transform .2s ease,background-color .2s ease;}
.btn-primary{background:var(--ink);color:#fff;}
.btn-primary:hover{transform:translateY(-2px);}
.btn-secondary{background:#fff;color:var(--ink);}
.btn-secondary:hover{transform:translateY(-2px);}
.btn-sm{min-height:44px;padding:0 18px;font-size:14px;background:var(--ink);color:#fff;border-width:2px;}
.btn-sm:hover{background:#fff;color:var(--ink);}

/* ====== barra de filtros: bajo la tira de logos y fija arriba al hacer scroll ====== */
.bar{position:sticky;top:0;z-index:20;background:#fff;border-bottom:var(--border);}
/* la de filtros: sin borde hasta que se queda fija (app.js añade .stuck); entonces aparece el logo */
.bar.filters{margin-top:24px;border-bottom-color:transparent;transition:border-color .2s ease;}
.bar.filters.stuck{border-bottom-color:var(--ink);}
.bar.filters .bar-logo{display:none;}
.bar.filters.stuck .bar-logo{display:flex;}
.bar.filters.stuck .bar-inner{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);grid-template-areas:"logo seg seg" "cat cat search";}
@media(min-width:1024px){.bar.filters.stuck .bar-inner{grid-template-columns:auto auto minmax(170px,230px) minmax(160px,1fr);grid-template-areas:"logo seg cat search";}}
.bar-inner{max-width:1180px;margin:0 auto;padding:16px;display:grid;gap:8px;align-items:center;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"seg seg" "cat search";}
@media(min-width:1024px){.bar-inner{grid-template-columns:auto minmax(170px,230px) minmax(160px,1fr);grid-template-areas:"seg cat search";gap:12px;}}
#filter-categoria{grid-area:cat;}
#filter-busqueda{grid-area:search;min-width:0;}
.field{height:48px;padding:0 14px;background:#fff;border:2px solid var(--ink);border-radius:12px;font-size:15px;width:100%;}
.field:hover{background-color:#f4f4f4;}
/* foco: el mismo borde, un punto más grueso (sin contorno exterior que lo duplique) */
.field:focus,.field:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--ink);}
select.field{appearance:none;padding-right:34px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;}
/* desplegable con estilo donde el navegador lo permite (select personalizable); en el resto, la lista del sistema */
@supports (appearance:base-select){
  select.field,select.field::picker(select){appearance:base-select;}
  select.field{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 16px;background-image:none;}
  select.field::picker-icon{content:"";width:8px;height:8px;margin-top:-4px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg);transition:transform .2s ease,margin .2s ease;}
  select.field:open::picker-icon{transform:rotate(225deg);margin-top:4px;}
  select.field::picker(select){margin-top:6px;padding:6px;border:2px solid var(--ink);border-radius:12px;background:#fff;box-shadow:0 14px 32px -12px rgba(0,0,0,.35);}
  select.field option{display:flex;align-items:center;min-height:40px;padding:0 12px;border-radius:8px;font-size:15px;cursor:pointer;}
  select.field option::checkmark{display:none;}
  select.field option:hover,select.field option:focus-visible{background:#efefef;outline:none;}
  select.field option:checked{background:var(--ink);color:#fff;font-weight:700;}
}
/* destinos: un único control segmentado */
.seg{grid-area:seg;display:flex;gap:2px;padding:6px;min-width:0;border:0;border-radius:12px;background:#f0f0f0;overflow-x:auto;scrollbar-width:none;}
.seg::-webkit-scrollbar{display:none;}
.seg-item{flex:1 0 auto;position:relative;cursor:pointer;}
.seg-item input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;}
.seg-item > span{display:flex;gap:6px;align-items:center;justify-content:center;height:36px;padding:0 16px;border-radius:8px;font-size:15px;font-weight:500;white-space:nowrap;transition:background-color .15s ease;}
.seg-item:hover > span{background:#fff;}
.seg-item input:checked + span{background:var(--ink);color:#fff;font-weight:700;}
.seg-item[data-token="malta"] input:checked + span{background:var(--color-bg-malta);color:var(--ink);}
.seg-item[data-token="dubai"] input:checked + span{background:var(--color-bg-dubai);color:var(--ink);}
.seg-item[data-token="ireland"] input:checked + span{background:var(--color-bg-ireland);color:var(--ink);}
.seg-item[data-token="uk"] input:checked + span{background:var(--color-bg-uk);color:var(--ink);}
.seg-item[data-token="canada"] input:checked + span{background:var(--color-bg-canada);color:var(--ink);}
/* sin anillo de foco: el destino elegido ya se distingue por su color (y con flechas el foco va siempre en el elegido) */
.seg-item .flag{display:none;font-size:20px;line-height:1;}
/* botón embudo: solo en móvil, muestra u oculta el selector de categorías */
.filter-btn{grid-area:filt;display:none;align-items:center;justify-content:center;position:relative;width:48px;height:48px;border:0;border-radius:12px;background:#f0f0f0;color:var(--ink);cursor:pointer;}
.filter-btn svg{width:22px;height:22px;}
.filter-btn[aria-expanded="true"]{background:var(--ink);color:#fff;}
.filter-btn.active::after{content:"";position:absolute;top:9px;right:9px;width:9px;height:9px;border-radius:50%;background:#ff3e3e;border:2px solid #f0f0f0;}
@media(max-width:639px){
  .seg{padding:5px;}
  .seg-item > span{padding:0 10px;}
  .seg-item .flag{display:block;}
  .seg-item .seg-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
  .filter-btn{display:flex;}
  /* móvil: logo y botón de filtros arriba, países debajo; el botón despliega categoría + buscador en medio */
  .bar.filters .bar-inner,.bar.filters.stuck .bar-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"logo logo filt" "seg seg seg";}
  .bar.filters.cat-open .bar-inner,.bar.filters.stuck.cat-open .bar-inner{grid-template-areas:"logo logo filt" "cat search search" "seg seg seg";}
  .bar.filters .bar-logo{display:flex;}
  .bar.filters #filter-categoria,.bar.filters #filter-busqueda{display:none;}
  .bar.filters.cat-open #filter-categoria{display:flex;}
  .bar.filters.cat-open #filter-busqueda{display:block;}
}
/* barra de términos: logo + volver */
.bar-inner.simple{grid-template-columns:auto 1fr;grid-template-areas:"logo back";}
.bar-logo{grid-area:logo;display:flex;align-items:center;}
.bar-logo img{height:26px;width:auto;display:block;}
.back-link{grid-area:back;justify-self:end;font-size:14px;font-weight:700;text-decoration:none;}
.back-link:hover{text-decoration:underline;}
.lang-switch{display:inline-flex;align-items:center;height:40px;padding:0 16px;border:2px solid var(--ink);border-radius:64px;font-size:14px;font-weight:700;text-decoration:none;background:#fff;}
.lang-switch:hover{background:var(--ink);color:#fff;}

/* ====== ATF ====== */
.hero{background-image:var(--vivirse-gradient);background-size:200% auto;animation:gradient 25s linear infinite;border-bottom:var(--border);padding:40px 16px 48px;overflow:hidden;}
.hero-inner{max-width:1180px;margin:0 auto;display:grid;gap:40px;align-items:center;}
@media(min-width:960px){.hero-inner{grid-template-columns:1.3fr .7fr;gap:48px;}.hero{padding:64px 24px 72px;}}
.hero-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:24px;}
.hero-logo{display:flex;}
.hero-logo img{height:34px;width:auto;display:block;}
.eyebrow{display:inline-block;background:#fff;border:2px solid var(--ink);border-radius:64px;padding:6px 14px;font-size:13px;font-weight:700;}
.hero h1{font-size:clamp(36px,6vw,64px);line-height:1.04;letter-spacing:-.03em;font-weight:700;margin-bottom:18px;}
.hero h1 mark{white-space:nowrap;background:var(--ink);color:#fff;padding:0 .18em;border-radius:.18em;-webkit-box-decoration-break:clone;box-decoration-break:clone;}
.hero-p{font-size:clamp(16px,2vw,19px);line-height:1.55;max-width:560px;margin-bottom:24px;}
/* acción principal: elegir destino */
.pick-h{font-size:15px;font-weight:700;margin-bottom:10px;}
.dest-pick ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px 8px;}
.dest-btn{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;background:#fff;border:2px solid var(--ink);border-radius:64px;font-size:17px;font-weight:700;text-decoration:none;transition:transform .2s ease,background-color .2s ease;}
.dest-btn .flag{font-size:18px;line-height:1;}
.dest-btn:hover{transform:translateY(-2px);}
.dest-btn[data-token="malta"]:hover{background:var(--color-bg-malta);}
.dest-btn[data-token="dubai"]:hover{background:var(--color-bg-dubai);}
.dest-btn[data-token="ireland"]:hover{background:var(--color-bg-ireland);}
.dest-btn[data-token="uk"]:hover{background:var(--color-bg-uk);}
.dest-btn[data-token="canada"]:hover{background:var(--color-bg-canada);}
@media(min-width:760px){.dest-btn{font-size:16px;}}
.hero-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:20px;font-size:15px;font-weight:700;}
.hero-links a{text-underline-offset:4px;text-decoration-thickness:2px;}
.hero-links a:hover{text-decoration-thickness:3px;}
.hero-visual{position:relative;width:100%;max-width:480px;margin:0 auto;padding:64px 20px 60px;}
/* tarjeta 3D: app.js mueve --rx/--ry (ratón, scroll o giroscopio) y --gx/--gy (brillo) */
.fc{position:relative;perspective:1100px;}
.fc-card{position:relative;aspect-ratio:497.2/313.6;border-radius:4.4%/7%;transform-style:preserve-3d;will-change:transform;
  transform:rotateX(var(--rx,10deg)) rotateY(var(--ry,18deg)) rotateZ(-5deg);box-shadow:0 34px 60px -26px rgba(0,0,0,.6);}
.fc-card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:#3b3b3b;transform:translateZ(-7px);}
.fc-layer{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;}
.fc-brand{transform:translateZ(40px);}
.fc-text{transform:translateZ(28px);}
.fc-qr{transform:translateZ(22px);}
.fc-glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none;transform:translateZ(1px);
  background:radial-gradient(circle at var(--gx,30%) var(--gy,20%),rgba(255,255,255,.3),rgba(255,255,255,0) 55%);mix-blend-mode:screen;}
/* pegatinas: una en cada esquina de la tarjeta, medio por fuera; sin borde para que no compitan con ella */
.sticker{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;max-width:66%;background:#fff;border-radius:22px;padding:6px 14px 6px 8px;font-size:13px;font-weight:700;line-height:1.25;text-decoration:none;box-shadow:0 6px 18px -6px rgba(0,0,0,.35);transition:scale .2s ease;}
.sticker img{height:24px;width:auto;max-width:56px;object-fit:contain;flex-shrink:0;}
.sticker.s1{top:14%;left:0;transform:translate(-34%,-50%);rotate:-3deg;}
.sticker.s2{top:0;right:0;transform:translate(20%,-30%);rotate:2deg;}
.sticker.s3{bottom:0;left:0;transform:translate(-12%,80%);rotate:2deg;}
.sticker.s4{bottom:0;right:0;transform:translate(34%,40%);rotate:-2deg;}
.sticker:hover{scale:1.04;}
/* en móvil: tarjeta algo más pequeña y pegatinas separadas, dos por encima y dos por debajo, escalonadas */
@media(max-width:480px){
  .hero-visual{padding:104px 6px 120px;}
  .fc{width:84%;margin:0 auto;}
  .sticker{font-size:12px;padding:5px 10px 5px 6px;max-width:none;}
  .sticker img{height:20px;}
  .sticker.s1{top:0;left:0;transform:translate(-14%,-150%);}
  .sticker.s2{top:0;right:0;transform:translate(14%,-280%);}
  .sticker.s3{bottom:0;left:0;transform:translate(-14%,165%);}
  .sticker.s4{bottom:0;right:0;transform:translate(14%,230%);max-width:74%;}
}

/* tira de logos */
.logo-strip{border-bottom:var(--border);background:#fff;overflow:hidden;padding:16px 0;}
.marquee{display:flex;width:max-content;}
.marquee ul{list-style:none;display:flex;align-items:center;gap:48px;padding-right:48px;animation:marquee 60s linear infinite;}
.marquee li img{height:36px;width:auto;max-width:120px;object-fit:contain;display:block;filter:grayscale(1);opacity:.75;}

/* ====== tarjetas ====== */
.partners-wrap{padding:4px 16px 72px;}
@media(min-width:768px){.partners-wrap{padding:4px 24px 80px;}}
.partners-inner{max-width:1180px;margin:0 auto;}
.filter-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;font-size:14px;color:var(--ink-mute);}
.clear-btn{background:none;border:none;font-weight:700;font-size:14px;text-decoration:underline;cursor:pointer;min-height:44px;padding:0 4px;}
.partner-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:640px){.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(min-width:1000px){.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}}

.partner-card{position:relative;isolation:isolate;display:flex;flex-direction:column;background:#fff;border:var(--border);border-radius:20px;padding:24px;cursor:pointer;scroll-margin-top:calc(var(--bar-h) + 16px);transition:transform .2s ease;}
.partner-card[hidden]{display:none;}
/* el color de fondo según destinos lo genera build.mjs en .partner-card[data-dest]::before */
.partner-card::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:17px;opacity:0;transition:opacity .25s ease;}
.partner-card:hover::before{opacity:1;}
.partner-card:hover{transform:translateY(-3px);}
.partner-card.open{cursor:default;transform:none;}
.summary{display:flex;flex-direction:column;flex:1;}
.icon-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.logo-box{height:52px;display:flex;align-items:center;flex-shrink:0;}
.logo-box img{height:52px;width:auto;max-width:150px;object-fit:contain;display:block;}
.logo-box.dark{background:var(--ink);border-radius:12px;padding:6px 12px;}
.logo-box.dark img{height:40px;}
.logo-box.initial{width:52px;border-radius:50%;background:var(--ink);justify-content:center;}
.logo-box.initial span{color:#fff;font-weight:700;font-size:22px;line-height:1;}
.dest-badges{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;}
.dest-badge{font-size:11px;font-weight:700;background:rgba(0,0,0,.08);padding:3px 9px;border-radius:64px;display:inline-flex;align-items:center;gap:4px;}
.partner-card h3{font-size:18px;line-height:1.3;letter-spacing:-.01em;margin-bottom:10px;}
.card-toggle{background:none;border:none;padding:0;text-align:left;font-weight:700;cursor:pointer;}
.card-toggle:focus-visible{outline-offset:4px;border-radius:4px;}
/* chip del descuento: rectángulo casi recto (no se confunde con los botones) en el color del destino; scripts/build.mjs pone el color */
/* si ocupa varias líneas, app.js ajusta el ancho a la línea más larga para que no quede hueco a la derecha */
.discount{align-self:flex-start;font-size:16px;line-height:20px;font-weight:700;color:var(--ink);padding:5px 10px;border-radius:4px;margin-bottom:12px;}
.how{font-size:13px;font-weight:700;margin-bottom:10px;}
.desc{font-size:14px;line-height:1.6;color:var(--ink-soft);margin-bottom:18px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.open .desc{display:none;}
.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;}
.chev{width:36px;height:36px;border:2px solid var(--ink);border-radius:50%;background:#fff;position:relative;flex-shrink:0;transition:transform .25s ease;}
/* mira a la derecha; abierta: abajo en móvil (el detalle sale debajo), a la izquierda cuando ocupa la fila */
.chev::before{content:"";position:absolute;left:45%;top:50%;width:9px;height:9px;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:translate(-50%,-50%) rotate(-45deg);}
.open .chev{transform:rotate(90deg);}
@media(min-width:640px){.open .chev{transform:rotate(180deg);}}

.panel{margin-top:20px;padding-top:20px;border-top:2px solid var(--line);font-size:15px;line-height:1.7;color:var(--ink-soft);cursor:auto;}
.panel[hidden]{display:none;}
@media(min-width:640px){
  .partner-card.open{grid-column:1 / -1;display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:0 56px;padding:28px;}
  .partner-card.open .panel{margin:0;padding:0;border-top:0;}
}
.panel p{margin-bottom:14px;}
.panel h4{font-size:16px;color:var(--ink);margin:18px 0 8px;}
.panel h4:first-child{margin-top:0;}
.panel ol{padding-left:22px;margin-bottom:14px;}
.panel li{margin-bottom:6px;}
.panel a{color:var(--ink);font-weight:500;overflow-wrap:anywhere;}
.promo-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 16px;}
.promo-code{font-family:"Courier New",monospace;font-size:18px;font-weight:700;letter-spacing:2px;background:var(--ink);color:#fff;padding:7px 14px;border-radius:64px;}
.copy{min-height:40px;border:2px solid var(--ink);background:#fff;border-radius:64px;padding:0 14px;font-size:13px;font-weight:700;cursor:pointer;}
.copy:hover{background:var(--ink);color:#fff;}
.contact-box{background:rgba(0,0,0,.05);border-radius:12px;padding:14px 16px;margin:16px 0;line-height:1.8;}
.contact-box p,.notes-box p{margin:0;}
.notes-box{background:rgba(0,0,0,.05);border-radius:12px;padding:14px 16px;margin:16px 0;}
.notes-box p{font-size:14px;color:var(--ink-soft);line-height:1.7;}
.meta-line{font-size:13px;color:var(--ink-mute);}
/* compartir: a la izquierda del chevron; copia el enlace de la tarjeta */
.card-tools{margin-left:auto;display:flex;align-items:center;gap:8px;}
.share-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:2px solid var(--ink);border-radius:50%;background:#fff;color:var(--ink);cursor:pointer;flex-shrink:0;}
.share-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;}
.share-btn:hover{background:var(--ink);color:#fff;}
.share-btn::after{content:attr(data-done);position:absolute;bottom:calc(100% + 8px);right:-6px;padding:6px 10px;border-radius:8px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;}
.share-btn.done::after{opacity:1;transform:none;}

.no-results{grid-column:1 / -1;order:99999;text-align:center;padding:48px 16px;color:var(--ink-mute);font-size:16px;}
.no-results[hidden]{display:none;}
.no-results strong{color:var(--ink);}
.disclaimer{background:var(--surface);border-radius:12px;padding:20px;margin-top:32px;font-size:13px;color:var(--ink-mute);line-height:1.55;}

/* ====== cómo conseguirla ====== */
.info-section{background:var(--surface);padding:64px 16px;border-top:var(--border);}
.info-inner{max-width:1000px;margin:0 auto;}
.info-inner h2{font-size:clamp(28px,3.5vw,38px);letter-spacing:-.02em;margin-bottom:12px;text-align:center;}
.info-inner > p{text-align:center;color:var(--ink-mute);margin:0 auto 40px;font-size:17px;line-height:1.6;max-width:760px;}
.info-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:700px){.info-grid{grid-template-columns:repeat(3,1fr);}}
.info-card{background:#fff;border:var(--border);border-radius:16px;padding:28px 24px;}
.info-card .num{width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;margin-bottom:16px;}
.info-card h3{font-size:18px;margin-bottom:8px;}
.info-card p{font-size:14px;color:var(--ink-mute);line-height:1.55;}
.info-card a{font-weight:700;}

/* ====== términos y 404 ====== */
.legal{max-width:780px;margin:0 auto;padding:48px 16px 72px;line-height:1.7;color:var(--ink-soft);font-size:16px;}
.legal h1{font-size:clamp(30px,4vw,44px);line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin-bottom:8px;}
.legal .updated{font-size:14px;color:var(--ink-mute);margin-bottom:28px;}
.legal h2{font-size:22px;color:var(--ink);margin:36px 0 12px;}
.legal p,.legal ul{margin-bottom:14px;}
.legal ul{padding-left:22px;}
.legal li{margin-bottom:6px;}
.legal a{color:var(--ink);font-weight:500;}
.legal .summary-box{background:#fff;border:var(--border);border-radius:16px;padding:20px 24px;margin:24px 0 8px;}
.legal .summary-box h2{margin-top:0;}
.legal .issuers{display:grid;gap:16px;margin:16px 0;}
@media(min-width:700px){.legal .issuers{grid-template-columns:1fr 1fr;}}
.legal .issuer{border:2px solid var(--ink);border-radius:16px;padding:18px 20px;font-size:15px;}
.legal .issuer h3{font-size:17px;color:var(--ink);margin-bottom:6px;}
.legal .issuer p{margin-bottom:8px;}
.nf{max-width:640px;margin:0 auto;padding:72px 16px;text-align:center;}
.nf h1{font-size:36px;margin-bottom:12px;}
.nf h2{font-size:24px;margin:40px 0 12px;}
.nf p{margin-bottom:16px;color:var(--ink-mute);}

/* ====== pie ====== */
.footer{text-align:center;padding:48px 16px;font-size:14px;color:var(--ink-mute);border-top:var(--border);line-height:1.7;}
.footer a{color:var(--ink);font-weight:500;text-decoration:none;}
.footer a:hover{text-decoration:underline;}
.gradient-bar{width:72px;height:6px;margin:0 auto 24px;border-radius:64px;background-image:var(--vivirse-gradient);background-size:200% auto;animation:gradient 25s linear infinite;}
.footer-logo{display:inline-flex;margin-bottom:16px;}
.footer-logo img{height:36px;width:auto;display:block;}
.footer-lang{margin-top:18px;}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;}
  .marquee{width:auto;}
  .marquee ul{flex-wrap:wrap;justify-content:center;padding:0 16px;}
  .marquee ul[aria-hidden]{display:none;}
}

/* generado por scripts/build.mjs: fondo de cada tarjeta según sus destinos */
.partner-card[data-dest="Malta"]::before{background-color:var(--color-bg-malta)}
.partner-card[data-dest="Malta"] .discount{background-color:var(--color-malta)}
.partner-card[data-dest="Malta|Dubai|UK|Irlanda"]::before{background-image:linear-gradient(105deg,var(--color-bg-dubai),var(--color-bg-malta),var(--color-bg-ireland),var(--color-bg-uk))}
.partner-card[data-dest="Malta|Dubai|UK|Irlanda"] .discount{background-image:linear-gradient(105deg,var(--color-dubai),var(--color-malta),var(--color-ireland),var(--color-uk));background-size:200% auto;animation:gradient 8s linear infinite}
.partner-card[data-dest="Malta|Dubai"]::before{background-image:linear-gradient(105deg,var(--color-bg-dubai),var(--color-bg-malta))}
.partner-card[data-dest="Malta|Dubai"] .discount{background-image:linear-gradient(105deg,var(--color-dubai),var(--color-malta));background-size:200% auto;animation:gradient 8s linear infinite}
.partner-card[data-dest="Malta|UK|Irlanda"]::before{background-image:linear-gradient(105deg,var(--color-bg-malta),var(--color-bg-ireland),var(--color-bg-uk))}
.partner-card[data-dest="Malta|UK|Irlanda"] .discount{background-image:linear-gradient(105deg,var(--color-malta),var(--color-ireland),var(--color-uk));background-size:200% auto;animation:gradient 8s linear infinite}
.partner-card[data-dest="Malta|Dubai|Canadá|UK|Irlanda"]::before{background-image:linear-gradient(105deg,var(--color-bg-dubai),var(--color-bg-malta),var(--color-bg-ireland),var(--color-bg-uk),var(--color-bg-canada))}
.partner-card[data-dest="Malta|Dubai|Canadá|UK|Irlanda"] .discount{background-image:linear-gradient(105deg,var(--color-dubai),var(--color-malta),var(--color-ireland),var(--color-uk),var(--color-canada));background-size:200% auto;animation:gradient 8s linear infinite}
.partner-card[data-dest="Irlanda"]::before{background-color:var(--color-bg-ireland)}
.partner-card[data-dest="Irlanda"] .discount{background-color:var(--color-ireland)}
.partner-card[data-dest="Malta|Canadá|UK|Irlanda"]::before{background-image:linear-gradient(105deg,var(--color-bg-malta),var(--color-bg-ireland),var(--color-bg-uk),var(--color-bg-canada))}
.partner-card[data-dest="Malta|Canadá|UK|Irlanda"] .discount{background-image:linear-gradient(105deg,var(--color-malta),var(--color-ireland),var(--color-uk),var(--color-canada));background-size:200% auto;animation:gradient 8s linear infinite}
.partner-card[data-dest="Dubai"]::before{background-color:var(--color-bg-dubai)}
.partner-card[data-dest="Dubai"] .discount{background-color:var(--color-dubai)}
