/* VIFAC Los Cabos · página de What's in Cabo (borrador 0.1.0, 2026-09-23).
   Base WIC (crema, navy, dorado; WIC Display + WIC Sans) + kit VIFAC (azul #0E4C94, rosa, amarillo, blanco).
   Todo cuelga de #wic-vfc: un ID gana a las reglas de clase del tema y del kit de Elementor sin !important,
   y el texto lleva su color escrito en cada elemento (heredado, el tema lo pisa y salen contrastes de 1.05:1).
   Movimiento = mejora progresiva: sin JS o con prefers-reduced-motion todo se ve completo y quieto.
   El cierre de preguntas frecuentes copia el contrato de /hotels/ (biblioteca: «El cierre de FAQ» v1.3.0). */

@font-face { font-family:"WIC Display"; src:url("/partners-deck/mapa3d/fonts/fraunces-600.woff2") format("woff2"); font-display:swap; font-style:normal; font-weight:600; }
@font-face { font-family:"WIC Display"; src:url("/partners-deck/mapa3d/fonts/fraunces-400i.woff2") format("woff2"); font-display:swap; font-style:italic; font-weight:400; }
@font-face { font-family:"WIC Sans"; src:url("/partners-deck/mapa3d/fonts/switzer-400.woff2") format("woff2"); font-display:swap; font-style:normal; font-weight:400; }
@font-face { font-family:"WIC Sans"; src:url("/partners-deck/mapa3d/fonts/switzer-600.woff2") format("woff2"); font-display:swap; font-style:normal; font-weight:600; }
@font-face { font-family:"WIC Sans"; src:url("/partners-deck/mapa3d/fonts/switzer-700.woff2") format("woff2"); font-display:swap; font-style:normal; font-weight:700; }

/* El pie del tema es transparente en sus ~43 px de arriba: el fondo del body asoma ahí. Misma arena con
   textura que el cierre de preguntas, para que no quede costura. */
body.wic-vifac-page { background-color:#f4efe6; background-image:url("/wp-content/mu-plugins/wic-beaches-landing-assets/wic-tex/wic-contour.webp"); background-size:260px 260px; }
html:has(body.wic-vifac-page) { scroll-behavior:smooth; }

#wic-vfc {
  --crema:#FAF7F2; --arena:#F4EFE6; --navy:#062C53; --tinta:#4a5d70; --vazul:#0E4C94;
  --rosa:#F3A9CB; --rosat:#FBE3EE; --amar:#F6DC05; --dorado:#E8A24C; --oro-texto:#b97f35; --teal-texto:#006974;
  --serif:"WIC Display",Georgia,serif; --sans:"WIC Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:22px; --gut:32px;
  background:var(--crema); color:var(--navy); font:400 17px/1.7 var(--sans); -webkit-font-smoothing:antialiased;
  overflow-x:clip; text-align:left;
}
#wic-vfc *, #wic-vfc *::before, #wic-vfc *::after { box-sizing:border-box; }
#wic-vfc :where(h1,h2,h3,p,ol,ul,li,figure,figcaption,form,label,small) { margin:0; padding:0; border:0; background:none; color:inherit; font:inherit; letter-spacing:inherit; text-transform:none; list-style:none; }
#wic-vfc :where(b,strong) { font-weight:700; color:inherit; }
#wic-vfc :where(em) { font-style:italic; color:inherit; }
#wic-vfc :where(a) { color:inherit; text-decoration:none; border:0; box-shadow:none; }
#wic-vfc :where(a:hover,a:focus) { color:inherit; }
#wic-vfc :where(img) { display:block; max-width:100%; height:auto; border:0; border-radius:0; box-shadow:none; }
#wic-vfc :where(button,input,select) { font:inherit; }
#wic-vfc :where(h1,h2,h3) { font-family:var(--serif); font-weight:600; letter-spacing:-.01em; line-height:1.08; color:var(--navy); }
#wic-vfc :where(h1,h2,h3) em { font-style:italic; font-weight:400; color:var(--vazul); }
#wic-vfc [id] { scroll-margin-top:96px; }

#wic-vfc .vfc-wrap { max-width:1256px; margin:0 auto; padding:0 var(--gut); width:100%; }
#wic-vfc .vfc-sec { padding:110px 0; }
#wic-vfc .vfc-sec--flush { padding-top:0; }
#wic-vfc .vfc-sec h2 { font-size:clamp(32px,4.2vw,54px); margin:14px 0 18px; }
#wic-vfc .vfc-eyebrow { display:inline-flex; align-items:center; gap:10px; margin:0; font:700 12px/1.3 var(--sans); letter-spacing:.22em; text-transform:uppercase; color:var(--vazul); }
#wic-vfc .vfc-eyebrow::before { content:""; flex:none; width:28px; height:3px; border-radius:2px; background:var(--amar); }
#wic-vfc .vfc-eyebrow--light { color:#fff; }
/* El H2 de «What VIFAC Los Cabos does» va con cara de cejilla: sin esto .vfc-sec h2 (más específico) lo infla a 54 px. */
#wic-vfc .vfc-sec h2.vfc-eyebrow { margin:0; font-size:12px; line-height:1.3; letter-spacing:.22em; }
#wic-vfc .vfc-lede { font-size:clamp(18px,1.6vw,21px); line-height:1.6; color:var(--tinta); max-width:640px; }
#wic-vfc .vfc-nota { display:inline-block; vertical-align:middle; background:#FFF6B8; color:#5a4a00; border:1px dashed #b99a00; border-radius:8px; padding:4px 9px; font:700 11.5px/1.35 var(--sans); letter-spacing:0; text-transform:none; font-style:normal; }
#wic-vfc .vfc-nota-p { margin-top:22px; }

/* ---------- botones ---------- */
#wic-vfc .vfc-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:16px 26px; border:1.5px solid transparent; border-radius:999px; font:700 15px/1.15 var(--sans); letter-spacing:.02em; text-align:center; text-decoration:none; text-transform:none; cursor:pointer; transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
#wic-vfc .vfc-btn:hover { transform:translateY(-2px); box-shadow:0 10px 26px rgba(6,44,83,.18); }
#wic-vfc .vfc-btn:focus-visible { outline:3px solid var(--vazul); outline-offset:3px; }
#wic-vfc .vfc-btn--gold, #wic-vfc .vfc-btn--gold:hover { background:var(--dorado); color:var(--navy); }
#wic-vfc .vfc-btn--ghost, #wic-vfc .vfc-btn--ghost:hover { background:transparent; border-color:rgba(255,255,255,.75); color:#fff; }
#wic-vfc .vfc-btn--line, #wic-vfc .vfc-btn--line:hover { background:transparent; border-color:rgba(255,255,255,.55); color:#fff; }
#wic-vfc .vfc-btn--navy, #wic-vfc .vfc-btn--navy:hover { background:var(--navy); color:#fff; }
#wic-vfc .vfc-btn--wa, #wic-vfc .vfc-btn--wa:hover { background:#25D366; color:#063b1d; }
#wic-vfc .vfc-ctas { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
#wic-vfc .vfc-ctas--center { justify-content:center; }

/* ---------- portada ---------- */
#wic-vfc .vfc-hero { position:relative; isolation:isolate; display:flex; align-items:flex-end; min-height:min(88vh,900px); overflow:hidden; background:#1b2330; color:#fff; }
#wic-vfc .vfc-hero picture { position:absolute; inset:0; display:block; }
#wic-vfc .vfc-hero .vfc-hero__bg { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center 40%; transform:scale(1.06); transition:transform 2.4s cubic-bezier(.2,.7,.2,1); }
#wic-vfc .vfc-hero.is-on .vfc-hero__bg { transform:scale(1); }
#wic-vfc .vfc-hero::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(6,44,83,.86) 0%,rgba(6,44,83,.55) 42%,rgba(6,44,83,.05) 75%),linear-gradient(0deg,rgba(6,44,83,.55),transparent 45%); }
#wic-vfc .vfc-hero__body { position:relative; z-index:2; padding-top:clamp(64px,8vh,110px); padding-bottom:clamp(56px,8vh,84px); }
/* Logo oficial de VIFAC (SVG de vifac.org) con las letras en blanco para el velo azul, como la versión «blanca» de su Canva. */
#wic-vfc .vfc-hero .vfc-hero__logo { display:block; width:clamp(150px,13vw,190px); height:auto; margin:0 0 24px; filter:drop-shadow(0 2px 12px rgba(6,44,83,.35)); }
#wic-vfc .vfc-hero h1 { max-width:880px; margin:20px 0 22px; font-size:clamp(40px,6.2vw,84px); line-height:1.04; color:#fff; }
#wic-vfc .vfc-hero h1 em { color:#FFE9A8; }
#wic-vfc .vfc-hero .vfc-hero__lede { max-width:600px; font-size:clamp(18px,1.7vw,22px); line-height:1.6; color:#e8eef6; }
#wic-vfc .vfc-hero .vfc-hero__help { display:inline-block; margin-top:22px; font-weight:700; font-size:15px; color:#fff; }
#wic-vfc .vfc-hero__help > span { border-bottom:2px solid var(--rosa); }
#wic-vfc .vfc-hero .vfc-hero__credit { position:absolute; right:16px; bottom:10px; z-index:2; font-size:10.5px; letter-spacing:.04em; color:rgba(255,255,255,.62); }

/* ---------- migas ---------- */
#wic-vfc .vfc-crumbs { background:var(--crema); border-bottom:1px solid rgba(6,44,83,.08); font-size:13px; }
#wic-vfc .vfc-crumbs .vfc-wrap { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-height:44px; }
#wic-vfc .vfc-crumbs a { display:inline-flex; align-items:center; min-height:44px; color:var(--teal-texto); border-bottom:1px solid transparent; }
#wic-vfc .vfc-crumbs a:hover { color:var(--teal-texto); border-bottom-color:currentColor; }
#wic-vfc .vfc-crumbs span[aria-hidden] { color:var(--tinta); opacity:.5; }
#wic-vfc .vfc-crumbs [aria-current] { color:var(--tinta); }

/* ---------- franja de confianza ---------- */
#wic-vfc .vfc-trust { background:#fff; border-bottom:1px solid rgba(6,44,83,.08); }
#wic-vfc .vfc-trust .vfc-wrap { display:grid; grid-template-columns:repeat(4,1fr); }
#wic-vfc .vfc-trust .vfc-wrap > div { display:flex; align-items:flex-start; gap:12px; padding:26px 22px; border-left:1px solid rgba(6,44,83,.08); color:var(--vazul); }
#wic-vfc .vfc-trust .vfc-wrap > div:first-child { border-left:0; padding-left:0; }
#wic-vfc .vfc-trust svg { flex:none; margin-top:2px; }
#wic-vfc .vfc-trust p { font:700 14.5px/1.45 var(--sans); color:var(--navy); }
#wic-vfc .vfc-trust small { display:block; margin-top:3px; font-weight:600; font-size:12.5px; color:var(--tinta); }

/* ---------- qué hacen ---------- */
#wic-vfc .vfc-split { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; }
#wic-vfc .vfc-split--top { align-items:start; }
#wic-vfc .vfc-statement { margin-top:20px; font-family:var(--serif); font-weight:600; font-size:clamp(25px,2.5vw,35px); line-height:1.3; letter-spacing:-.005em; color:var(--navy); }
#wic-vfc .vfc-statement .w { transition:color .25s ease; }
.vfc-js #wic-vfc .vfc-statement .w { color:#c9d3de; }
.vfc-js #wic-vfc .vfc-statement .w.lit { color:var(--navy); }
#wic-vfc .vfc-photo-tall { aspect-ratio:4/5; overflow:hidden; border-radius:var(--r); box-shadow:0 30px 60px -30px rgba(6,44,83,.45); }
#wic-vfc .vfc-photo-wide { aspect-ratio:16/11; overflow:hidden; border-radius:var(--r); }
#wic-vfc .vfc-photo-tall img, #wic-vfc .vfc-photo-wide img { width:100%; height:100%; object-fit:cover; }
#wic-vfc .vfc-services { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:64px; }
#wic-vfc .vfc-svc { padding:26px 22px; background:#fff; border:1px solid rgba(6,44,83,.07); border-radius:18px; }
#wic-vfc .vfc-ic { display:grid; place-items:center; width:44px; height:44px; margin-bottom:16px; border-radius:14px; background:var(--rosat); color:var(--vazul); }
#wic-vfc .vfc-svc h3 { margin-bottom:8px; font-size:20px; }
#wic-vfc .vfc-svc p { font-size:15px; line-height:1.6; color:var(--tinta); }

/* ---------- ayuda (para ellas) ---------- */
#wic-vfc .vfc-help { display:grid; grid-template-columns:1.3fr 1fr; gap:30px; align-items:center; margin-top:70px; padding:40px 44px; border-radius:28px; background:var(--rosat); }
#wic-vfc .vfc-help .vfc-help__h { margin:0 0 8px; font-size:28px; line-height:1.15; }
#wic-vfc .vfc-help p { color:#3d2a36; }
#wic-vfc .vfc-help .vfc-help__es { margin-top:10px; font-size:15px; font-style:italic; color:#6b4659; }
#wic-vfc .vfc-help__actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
#wic-vfc .vfc-help__mail { font-weight:700; color:var(--navy); border-bottom:1px solid currentColor; }
#wic-vfc .vfc-help__mail:hover { color:var(--vazul); }
#wic-vfc .vfc-help__hours { font-size:14px; color:#6b4659; }

/* ---------- What's in Cabo en VIFAC: taller de pulseras (24-may-2024, fotos de Iván) ---------- */
/* Iván, 25-sep: «resaltar bastante» la foto donde sale su esposa. Foto grande 16:9 (en el teléfono, 4:5 cerrada
   sobre ella), tarjeta montada en la esquina de abajo a la izquierda (tapa mesa y piernas, nunca caras) y una
   etiqueta sobre su cabeza. La etiqueta es decorativa (aria-hidden): el pie de foto dice lo mismo. */
#wic-vfc .vfc-family { background:#fff; }
#wic-vfc .vfc-family__hero { position:relative; margin:0; }
#wic-vfc .vfc-family__photo { position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:28px; background:#ece6dc; box-shadow:0 44px 90px -48px rgba(6,44,83,.55); }
#wic-vfc .vfc-family__photo picture, #wic-vfc .vfc-family__photo img { display:block; width:100%; height:100%; }
#wic-vfc .vfc-family__photo img { object-fit:cover; }
/* Coordenadas medidas en el recorte: su cabeza empieza en 58 % / 11.9 % (16:9) y en 50 % / 10.8 % (4:5). */
#wic-vfc .vfc-family__pin { position:absolute; left:58%; top:11.9%; z-index:1; transform:translate(-50%,calc(-100% - 12px)); padding:7px 12px; border-radius:999px; background:rgba(6,44,83,.84); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); font:700 11px/1.2 var(--sans); letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; color:#fff; pointer-events:none; }
#wic-vfc .vfc-family__pin::after { content:""; position:absolute; left:50%; top:100%; width:2px; height:11px; margin-left:-1px; background:rgba(255,255,255,.92); }
.vfc-js #wic-vfc .vfc-family__pin { opacity:0; transition:opacity .7s ease .8s; }
/* La etiqueta espera a que la foto esté pintada (vifac.js pone .foto-lista): con red lenta señalaba una caja vacía. */
.vfc-js #wic-vfc .vfc-family__hero.in.foto-lista .vfc-family__pin, .vfc-safe #wic-vfc .vfc-family__pin { opacity:1; }
#wic-vfc .vfc-family__pin-nombre { display:inline-block; max-width:24ch; overflow:hidden; text-overflow:ellipsis; vertical-align:bottom; }
#wic-vfc .vfc-family__cap { position:absolute; top:100%; right:0; width:min(430px,36%); padding-top:18px; font-size:13.5px; line-height:1.5; color:var(--tinta); }
/* PC: la tarjeta monta la foto por la esquina de abajo a la izquierda; a la derecha, bajo el pie de foto, la
   invitación para grupos. Así las dos columnas miden casi lo mismo y no queda un hueco blanco junto a la tarjeta. */
#wic-vfc .vfc-family__row { display:grid; grid-template-columns:minmax(0,1fr) min(430px,36%); column-gap:64px; align-items:start; }
#wic-vfc .vfc-family__card { position:relative; z-index:2; margin:calc(min(100vw - 64px, 1192px) * -.1107) 0 0 44px; padding:38px 42px 36px; border-radius:24px; background:var(--crema); box-shadow:0 30px 70px -34px rgba(6,44,83,.42); }
#wic-vfc .vfc-sec .vfc-family__card h2 { margin:14px 0 16px; font-size:clamp(30px,3.4vw,46px); text-wrap:balance; }
#wic-vfc .vfc-family__card .vfc-lede { max-width:none; }
/* El pie de foto va fuera de flujo encima de este bloque. En em y no en px: con el texto agrandado al 150 % el pie
   crece a 4 renglones y con 104 px fijos se encimaba 36 px (adversario, 25-sep). 6.2em = 105 px con letra de 17. */
#wic-vfc .vfc-family__cta { padding-top:6.2em; }
#wic-vfc .vfc-family__cta p { font-size:16px; line-height:1.6; color:var(--tinta); }
#wic-vfc .vfc-family__cta .vfc-btn { margin-top:20px; }
#wic-vfc .vfc-family__strip { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:52px; }
#wic-vfc .vfc-family__strip figure { position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:18px; background:#ece6dc; }
#wic-vfc .vfc-family__strip picture, #wic-vfc .vfc-family__strip img { display:block; width:100%; height:100%; }
#wic-vfc .vfc-family__strip img { object-fit:cover; }
#wic-vfc .vfc-family__strip figcaption { position:absolute; left:12px; bottom:12px; padding:6px 10px; border-radius:999px; background:rgba(6,44,83,.72); font:700 12.5px/1.2 var(--sans); color:#fff; }
#wic-vfc .vfc-family .vfc-credit { margin-top:18px; font-size:13.5px; color:var(--tinta); }

/* ---------- franja de video: velas del taller (v272, sin personas) ---------- */
/* Sin JS, con movimiento reducido o con ahorro de datos se queda el póster: el video solo baja al acercarse. */
#wic-vfc .vfc-reel { position:relative; isolation:isolate; display:flex; align-items:flex-end; min-height:clamp(320px,40vw,560px); overflow:hidden; background:#1b2330; color:#fff; }
#wic-vfc .vfc-reel__video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
#wic-vfc .vfc-reel::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,rgba(6,44,83,.8) 0%,rgba(6,44,83,.38) 45%,rgba(6,44,83,0) 72%),linear-gradient(0deg,rgba(6,44,83,.5),transparent 50%); }
#wic-vfc .vfc-reel__body { position:relative; z-index:2; padding-top:48px; padding-bottom:52px; }
#wic-vfc .vfc-reel .vfc-reel__txt { max-width:560px; margin-top:14px; font-family:var(--serif); font-weight:600; font-size:clamp(24px,2.6vw,38px); line-height:1.2; color:#fff; }
#wic-vfc .vfc-reel__txt em { font-weight:400; color:#FFE9A8; }
#wic-vfc .vfc-reel__btn { position:absolute; right:18px; bottom:18px; z-index:3; display:grid; place-items:center; width:44px; height:44px; min-height:0; margin:0; padding:0; border:1px solid rgba(255,255,255,.5); border-radius:50%; background:rgba(6,44,83,.55); box-shadow:none; color:#fff; cursor:pointer; }
#wic-vfc .vfc-reel__btn[hidden] { display:none; }
#wic-vfc .vfc-reel__btn svg { fill:currentColor; }
#wic-vfc .vfc-reel__btn .vfc-i-play, #wic-vfc .vfc-reel__btn.is-paused .vfc-i-pausa { display:none; }
#wic-vfc .vfc-reel__btn.is-paused .vfc-i-play { display:block; }
#wic-vfc .vfc-reel__btn:focus-visible { outline:3px solid #FFE9A8; outline-offset:2px; }

/* ---------- cifras (VIFAC Los Cabos, 24-sep-2026) ---------- */
#wic-vfc .vfc-numbers { padding:64px 0 56px; background:var(--crema); border-bottom:1px solid rgba(6,44,83,.08); }
#wic-vfc .vfc-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
#wic-vfc .vfc-stat { padding-top:18px; border-top:2px solid var(--amar); }
#wic-vfc .vfc-stat .vfc-stat__n { font:600 clamp(40px,4.6vw,64px)/1 var(--serif); letter-spacing:-.02em; color:var(--navy); }
#wic-vfc .vfc-stat__n small { margin-left:6px; font:700 14px/1 var(--sans); letter-spacing:.06em; color:var(--tinta); }
#wic-vfc .vfc-stat .vfc-stat__t { margin-top:10px; font-size:15px; line-height:1.5; color:var(--tinta); }
#wic-vfc .vfc-numbers .vfc-numbers__src { margin-top:26px; font-size:12.5px; color:var(--tinta); }
#wic-vfc .vfc-journey .vfc-journey__note { max-width:760px; margin-top:34px; padding:14px 18px; border-left:3px solid var(--rosa); background:var(--crema); font-size:15px; color:var(--tinta); }

/* ---------- el año de una mamá ---------- */
#wic-vfc .vfc-journey { background:#fff; }
#wic-vfc .vfc-steps { position:relative; display:grid; grid-template-columns:repeat(6,1fr); margin-top:54px; }
#wic-vfc .vfc-steps::before { content:""; position:absolute; left:0; right:0; top:27px; height:2px; background:linear-gradient(90deg,var(--rosa),var(--vazul)); }
#wic-vfc .vfc-steps li { position:relative; padding:0 18px 0 0; }
#wic-vfc .vfc-dot { position:relative; z-index:1; display:grid; place-items:center; width:56px; height:56px; margin-bottom:18px; border:2px solid var(--vazul); border-radius:50%; background:var(--crema); font:600 20px/1 var(--serif); color:var(--vazul); }
#wic-vfc .vfc-steps h3 { margin-bottom:6px; font-size:19px; }
#wic-vfc .vfc-steps p { font-size:14.5px; line-height:1.55; color:var(--tinta); }

/* ---------- apadrinar (fondo navy) ---------- */
#wic-vfc .vfc-dark { background:var(--navy); color:#fff; }
#wic-vfc .vfc-dark :where(h2,h3) { color:#fff; }
#wic-vfc .vfc-dark .vfc-eyebrow--light { color:#FFE9A8; }
#wic-vfc .vfc-dark .vfc-lede { color:#cfdbe8; }
#wic-vfc .vfc-sponsor { position:relative; overflow:hidden; }
#wic-vfc .vfc-sponsor::before { content:""; position:absolute; right:-180px; top:-180px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle,rgba(243,169,203,.28),transparent 65%); pointer-events:none; }
#wic-vfc .vfc-sponsor .vfc-wrap { position:relative; z-index:1; }
#wic-vfc .vfc-sponsor h2 em { color:var(--rosa); }
#wic-vfc .vfc-toggle { display:inline-flex; margin:30px 0 26px; padding:5px; border-radius:999px; background:rgba(255,255,255,.1); }
#wic-vfc .vfc-toggle button { min-height:0; margin:0; padding:12px 20px; border:0; border-radius:999px; background:transparent; box-shadow:none; color:#dfe8f2; font:700 14px/1 var(--sans); letter-spacing:0; text-transform:none; cursor:pointer; }
#wic-vfc .vfc-toggle button.is-on { background:#fff; color:var(--navy); }
#wic-vfc .vfc-toggle button:focus-visible { outline:3px solid #FFE9A8; outline-offset:2px; }
#wic-vfc .vfc-tiers { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
#wic-vfc .vfc-tier { display:flex; flex-direction:column; gap:12px; padding:30px 26px; border:1px solid rgba(255,255,255,.14); border-radius:22px; background:rgba(255,255,255,.06); }
/* translate y no transform: la aparición al hacer scroll usa transform y se lo comería. */
#wic-vfc .vfc-tier--feat { translate:0 -10px; background:#fff; border-color:#fff; box-shadow:0 30px 60px -20px rgba(0,0,0,.45); }
#wic-vfc .vfc-tier p { font-size:15.5px; color:rgba(255,255,255,.9); }
#wic-vfc .vfc-tier--feat p { color:var(--navy); }
#wic-vfc .vfc-tier__tag { font:700 11px/1 var(--sans); letter-spacing:.18em; text-transform:uppercase; color:var(--rosa); }
#wic-vfc .vfc-tier--feat .vfc-tier__tag { color:#b0457a; }
#wic-vfc .vfc-tier .vfc-amt { font:600 46px/1 var(--serif); color:#fff; }
#wic-vfc .vfc-tier--feat .vfc-amt { color:var(--navy); }
#wic-vfc .vfc-amt small { font:700 15px/1 var(--sans); opacity:.75; white-space:nowrap; }
#wic-vfc .vfc-tier .vfc-btn { margin-top:auto; }
/* Foto pequeña de cada tarjeta (0.3.1). Recortes sin rostros: la sección promete que quien apadrina no recibe fotos de ninguna mamá. */
#wic-vfc .vfc-tier__foto { margin:-14px -10px 6px; aspect-ratio:64/45; overflow:hidden; border-radius:13px; background:rgba(255,255,255,.08); }
#wic-vfc .vfc-tier--feat .vfc-tier__foto { background:#eef1f5; }
#wic-vfc .vfc-tier__foto img { display:block; width:100%; height:100%; object-fit:cover; }
#wic-vfc .vfc-gets { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:40px; }
#wic-vfc .vfc-gets div { padding-top:14px; border-top:2px solid var(--amar); font-size:15px; color:#dbe5f0; }
#wic-vfc .vfc-gets b { display:block; margin-bottom:4px; font-size:16px; color:#fff; }
#wic-vfc .vfc-sponsor .vfc-privacy { max-width:760px; margin-top:30px; font-size:14.5px; color:#b9c8d8; }
/* Desglose del mes de una mamá: la barra es decorativa, la lista lleva los montos. */
#wic-vfc .vfc-costs { margin-top:34px; padding:24px 26px; border:1px solid rgba(255,255,255,.14); border-radius:20px; background:rgba(255,255,255,.04); }
#wic-vfc .vfc-costs .vfc-costs__h { font-weight:700; font-size:16px; color:#fff; }
#wic-vfc .vfc-costs__h span { font-weight:400; font-size:14px; color:#b9c8d8; }
#wic-vfc .vfc-costs__bar { display:flex; gap:3px; height:14px; margin:16px 0 18px; overflow:hidden; border-radius:999px; }
#wic-vfc .vfc-costs__bar span { display:block; min-width:6px; }
#wic-vfc .vfc-costs__list { display:grid; grid-template-columns:repeat(4,1fr); gap:10px 22px; }
#wic-vfc .vfc-costs__list li { display:flex; align-items:center; gap:9px; font-size:14px; color:#dbe5f0; }
#wic-vfc .vfc-costs__list b { margin-left:auto; color:#fff; font-weight:700; }
#wic-vfc .vfc-costs__list i { flex:none; width:10px; height:10px; border-radius:3px; }
#wic-vfc .vfc-costs .c1 { background:#F3A9CB; } #wic-vfc .vfc-costs .c2 { background:#F6DC05; } #wic-vfc .vfc-costs .c3 { background:#78CCEE; }
#wic-vfc .vfc-costs .c4 { background:#E8A24C; } #wic-vfc .vfc-costs .c5 { background:#FFFFFF; } #wic-vfc .vfc-costs .c6 { background:#9FD8B5; } #wic-vfc .vfc-costs .c7 { background:#C9B6F2; }
/* Cuentas de VIFAC (24-sep): tarjeta blanca sobre el navy, con botón de copiar la CLABE. */
#wic-vfc .vfc-bank { margin-top:40px; padding:32px; border-radius:24px; background:#fff; color:var(--navy); }
#wic-vfc .vfc-bank h3 { margin-bottom:8px; font-size:28px; color:var(--navy); }
#wic-vfc .vfc-bank .vfc-bank__intro p { max-width:760px; font-size:15.5px; color:var(--tinta); }
#wic-vfc .vfc-bank__accts { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:22px; }
#wic-vfc .vfc-acct { padding:20px 22px; border:1px solid rgba(6,44,83,.12); border-radius:16px; background:var(--crema); }
#wic-vfc .vfc-acct .vfc-acct__cur { font:700 12px/1.3 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--vazul); }
#wic-vfc .vfc-acct .vfc-acct__lbl { margin-top:12px; font-size:12px; font-weight:600; color:var(--tinta); }
#wic-vfc .vfc-acct .vfc-acct__num { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:2px; font:700 clamp(18px,2vw,23px)/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.04em; color:var(--navy); }
#wic-vfc .vfc-acct__num span { overflow-wrap:anywhere; }
#wic-vfc .vfc-acct .vfc-acct__meta { margin-top:8px; font-size:13.5px; line-height:1.55; color:var(--tinta); }
#wic-vfc .vfc-copy { min-height:0; margin:0; padding:6px 12px; border:1px solid rgba(6,44,83,.25); border-radius:999px; background:#fff; box-shadow:none; color:var(--navy); font:700 12px/1.2 var(--sans); letter-spacing:.04em; text-transform:none; cursor:pointer; }
#wic-vfc .vfc-copy[hidden] { display:none; }
#wic-vfc .vfc-copy.is-ok { background:var(--navy); border-color:var(--navy); color:#fff; }
#wic-vfc .vfc-copy:focus-visible { outline:3px solid var(--vazul); outline-offset:2px; }
#wic-vfc .vfc-bank__cta { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:22px; }
#wic-vfc .vfc-bank .vfc-bank__mail { font-weight:700; color:var(--navy); border-bottom:1px solid currentColor; }

/* ---------- lista de donativos en especie (24-sep) ---------- */
#wic-vfc .vfc-wish { background:#fff; }
#wic-vfc .vfc-wish__grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:34px; }
#wic-vfc .vfc-wish__cat { padding:20px 18px; border:1px solid rgba(6,44,83,.08); border-radius:16px; background:var(--crema); }
#wic-vfc .vfc-wish__cat summary { display:flex; align-items:baseline; justify-content:space-between; gap:10px; list-style:none; cursor:pointer; font:600 19px/1.2 var(--serif); color:var(--navy); }
#wic-vfc .vfc-wish__cat summary::-webkit-details-marker { display:none; }
#wic-vfc .vfc-wish__cat summary span { flex:none; font:700 12px/1 var(--sans); color:var(--oro-texto); }
#wic-vfc .vfc-wish__cat ul { margin-top:12px; }
#wic-vfc .vfc-wish__cat li { position:relative; padding:5px 0 5px 16px; border-top:1px solid rgba(6,44,83,.07); font-size:14px; line-height:1.45; color:var(--tinta); }
#wic-vfc .vfc-wish__cat li::before { content:""; position:absolute; left:2px; top:13px; width:6px; height:6px; border-radius:50%; background:var(--rosa); }
#wic-vfc .vfc-wish .vfc-ctas { margin-top:26px; }



/* ---------- otras formas de dar ---------- */
#wic-vfc .vfc-ways { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:40px; }
#wic-vfc .vfc-way { display:flex; flex-direction:column; overflow:hidden; background:#fff; border:1px solid rgba(6,44,83,.07); border-radius:20px; }
#wic-vfc .vfc-way img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
#wic-vfc .vfc-way > div { display:flex; flex:1; flex-direction:column; gap:6px; padding:22px; }
#wic-vfc .vfc-way h3 { font-size:21px; }
#wic-vfc .vfc-way p { font-size:15px; line-height:1.6; color:var(--tinta); }
#wic-vfc .vfc-way .vfc-way__go { align-self:flex-start; margin-top:auto; padding-top:10px; font:700 14px/1.3 var(--sans); color:var(--teal-texto); border-bottom:1px solid transparent; }
#wic-vfc .vfc-way .vfc-way__go:hover { color:var(--teal-texto); border-bottom-color:currentColor; }

/* ---------- grupos y empresas ---------- */
#wic-vfc .vfc-groups { background:var(--arena); }
/* Las 10 experiencias que mandó VIFAC (24-sep): numeradas, 5×2 en PC, 2 columnas en tablet, carrusel en teléfono. */
#wic-vfc .vfc-exps { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:40px; }
#wic-vfc .vfc-exp { padding:22px 20px; background:#fff; border:1px solid rgba(6,44,83,.07); border-radius:18px; }
#wic-vfc .vfc-exp .vfc-exp__n { display:block; margin-bottom:12px; font:600 26px/1 var(--serif); color:var(--oro-texto); }
#wic-vfc .vfc-exp h3 { margin-bottom:8px; font-size:18px; line-height:1.2; }
#wic-vfc .vfc-exp p { font-size:14px; line-height:1.55; color:var(--tinta); }
#wic-vfc .vfc-exp-custom { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:14px; padding:26px 28px; border-radius:18px; background:var(--navy); }
#wic-vfc .vfc-exp-custom h3 { margin-bottom:6px; font-size:22px; color:#fff; }
#wic-vfc .vfc-exp-custom p { max-width:620px; font-size:15px; color:#cfdbe8; }
#wic-vfc .vfc-exp-custom .vfc-btn { flex:none; }
#wic-vfc .vfc-split--form { margin-top:36px; align-items:start; }
#wic-vfc .vfc-split--form .vfc-form { margin-top:0; }
#wic-vfc .vfc-groups .vfc-rules { margin-top:22px; font-size:14.5px; color:var(--tinta); }
#wic-vfc .vfc-form { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:28px; padding:26px; border:1px solid rgba(6,44,83,.07); border-radius:22px; background:#fff; }
#wic-vfc .vfc-form label { display:flex; flex-direction:column; gap:6px; font:700 12px/1.3 var(--sans); letter-spacing:.08em; text-transform:uppercase; color:var(--tinta); }
#wic-vfc .vfc-form input, #wic-vfc .vfc-form select { width:100%; height:auto; min-height:46px; margin:0; padding:12px 14px; border:1px solid rgba(6,44,83,.18); border-radius:12px; background-color:var(--crema); box-shadow:none; color:var(--navy); font:600 15px/1.3 var(--sans); letter-spacing:0; text-transform:none; }
#wic-vfc .vfc-form input::placeholder { color:#8a97a5; }
#wic-vfc .vfc-form input:focus, #wic-vfc .vfc-form select:focus { border-color:var(--vazul); outline:2px solid var(--vazul); outline-offset:1px; }
#wic-vfc .vfc-full { grid-column:1/-1; }
#wic-vfc .vfc-form .vfc-form__fine { font-size:12.5px; line-height:1.5; text-align:center; color:var(--tinta); }

/* ---------- voluntariado y evento ---------- */
#wic-vfc .vfc-duo { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:40px; }
#wic-vfc .vfc-card-big { position:relative; display:flex; align-items:flex-end; min-height:500px; overflow:hidden; border-radius:26px; color:#fff; }
#wic-vfc .vfc-card-big img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
#wic-vfc .vfc-card-big img.vfc-img-vol { object-position:60% 22%; }
#wic-vfc .vfc-card-big::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(6,44,83,.92),rgba(6,44,83,.1) 64%); }
#wic-vfc .vfc-card-big > div { position:relative; z-index:1; padding:34px; }
#wic-vfc .vfc-card-big h3 { margin:10px 0 8px; font-size:32px; color:#fff; }
#wic-vfc .vfc-card-big p { max-width:460px; font-size:16px; line-height:1.6; color:#e3ebf4; }
#wic-vfc .vfc-card-big .vfc-eyebrow { font-size:12px; line-height:1.3; color:#fff; }
#wic-vfc .vfc-card-big .vfc-card-big__go { display:inline-block; margin-top:14px; font:700 14px/1.3 var(--sans); color:#fff; border-bottom:2px solid var(--rosa); }

/* ---------- deducibilidad ---------- */
#wic-vfc .vfc-tax { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:36px; }
#wic-vfc .vfc-tax article { padding:26px 24px; background:#fff; border:1px solid rgba(6,44,83,.07); border-radius:18px; }
#wic-vfc .vfc-tax h3 { margin-bottom:8px; font-size:21px; }
#wic-vfc .vfc-tax p { font-size:15.5px; line-height:1.6; color:var(--tinta); }

/* ---------- momentos ---------- */
#wic-vfc .vfc-stories { background:#fff; }
#wic-vfc .vfc-mosaic { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:120px; gap:14px; margin-top:40px; }
#wic-vfc .vfc-mosaic figure { position:relative; overflow:hidden; border-radius:18px; }
#wic-vfc .vfc-mosaic img { width:100%; height:100%; object-fit:cover; }
#wic-vfc .vfc-mosaic figcaption { position:absolute; left:12px; bottom:12px; padding:6px 10px; border-radius:999px; background:rgba(6,44,83,.72); font:700 12.5px/1.2 var(--sans); color:#fff; }
#wic-vfc .vfc-m1 { grid-column:span 5; grid-row:span 4; }
#wic-vfc .vfc-m2 { grid-column:span 4; grid-row:span 2; }
#wic-vfc .vfc-m3 { grid-column:span 3; grid-row:span 2; }
#wic-vfc .vfc-m4 { grid-column:span 3; grid-row:span 2; }
#wic-vfc .vfc-m5 { grid-column:span 4; grid-row:span 2; }
#wic-vfc .vfc-stories .vfc-credit { margin-top:18px; font-size:13.5px; color:var(--tinta); }

/* ---------- What's in Cabo × VIFAC ---------- */
#wic-vfc .vfc-why__grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
#wic-vfc .vfc-why h2 em { color:var(--rosa); }
/* Sello de la alianza: los dos logos en blanco, a la misma altura óptica. */
#wic-vfc .vfc-lockup { display:flex; align-items:center; gap:18px; margin:0 0 30px; }
#wic-vfc .vfc-lockup img { width:auto; height:44px; }
#wic-vfc .vfc-lockup img + span + img { height:42px; }
#wic-vfc .vfc-lockup span { font:400 26px/1 var(--sans); color:rgba(255,255,255,.55); }
#wic-vfc .vfc-why .vfc-why__txt { margin-top:6px; color:#d3deea; }
#wic-vfc .vfc-pledge { padding:14px 28px; border:1.5px solid rgba(255,255,255,.2); border-radius:22px; }
#wic-vfc .vfc-pledge li { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.12); color:#e2eaf3; }
#wic-vfc .vfc-pledge li:last-child { border-bottom:0; }
#wic-vfc .vfc-pledge b { color:#fff; }

/* ---------- cierre ---------- */
#wic-vfc .vfc-final { padding:110px 0; background:var(--crema); }
#wic-vfc .vfc-final__box { position:relative; overflow:hidden; padding:70px 60px; border-radius:34px; background:linear-gradient(120deg,var(--vazul),var(--navy)); color:#fff; text-align:center; }
#wic-vfc .vfc-final__box::after { content:""; position:absolute; left:-80px; bottom:-120px; width:360px; height:360px; border-radius:50%; background:radial-gradient(circle,rgba(246,220,5,.25),transparent 65%); pointer-events:none; }
#wic-vfc .vfc-final__box h2 { max-width:760px; margin:0 auto 16px; font-size:clamp(32px,4.2vw,54px); color:#fff; }
#wic-vfc .vfc-final__box h2 em { color:#FFE9A8; }
#wic-vfc .vfc-final__box p { max-width:620px; margin:0 auto; color:#d6e2ef; }
#wic-vfc .vfc-final__box .vfc-ctas { position:relative; z-index:1; }

/* ---------- preguntas frecuentes: contrato de /hotels/ ---------- */
#wic-vfc .vfc-faq { width:100%; padding:clamp(54px,6vw,82px) 0 40px; background-color:#f4efe6; background-image:url("/wp-content/mu-plugins/wic-beaches-landing-assets/wic-tex/wic-contour.webp"); background-repeat:repeat; background-size:260px 260px; }
#wic-vfc .vfc-faq__inner { max-width:1256px; margin:0 auto; padding:0 32px; }
#wic-vfc .vfc-kicker { margin:0 0 17px; font:600 10px/1.4 var(--sans); letter-spacing:.19em; text-transform:uppercase; color:var(--oro-texto); }
#wic-vfc .vfc-kicker::before { content:""; display:inline-block; width:28px; height:1px; margin-right:12px; vertical-align:middle; background:currentColor; }
#wic-vfc .vfc-faq__inner > .vfc-kicker { margin-bottom:11px; }
#wic-vfc .vfc-faq__inner > h2 { margin:0 0 clamp(24px,3vw,34px); font-size:clamp(40px,4vw,56px); letter-spacing:-.035em; line-height:1.03; color:var(--navy); }
#wic-vfc .vfc-faq__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
#wic-vfc .vfc-faq__grid article { position:relative; min-height:164px; padding:25px 26px 24px; background:#fff; border:1px solid rgba(6,44,83,.08); border-radius:14px; box-shadow:0 2px 4px rgba(6,44,83,.04),0 14px 30px rgba(6,44,83,.035); }
#wic-vfc .vfc-faq__grid article::before { content:""; position:absolute; top:-1px; left:26px; width:31px; height:2px; background:var(--oro-texto); }
#wic-vfc .vfc-faq__grid h3 { margin:0 0 10px; font-size:20px; line-height:1.24; letter-spacing:0; color:var(--navy); }
#wic-vfc .vfc-faq__grid p { margin:0; font-size:14px; line-height:1.64; color:var(--tinta); }
#wic-vfc .vfc-sources { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:50px; margin-top:18px; padding:0 0 30px; border-top:0; }
#wic-vfc .vfc-sources p { max-width:95ch; margin:0; font-size:12px; line-height:1.6; color:var(--tinta); }
#wic-vfc .vfc-sources a { color:var(--teal-texto); text-decoration:underline; text-underline-offset:3px; }
#wic-vfc .vfc-sources > p { text-align:right; white-space:nowrap; }
#wic-vfc .vfc-sources .vfc-kicker { display:flex; align-items:center; gap:10px; margin:0 0 8px; font-size:10px; color:var(--oro-texto); }
#wic-vfc .vfc-sources .vfc-kicker::before { flex:none; width:26px; height:2px; margin:0; background:#e8a24c; }
#wic-vfc .vfc-faq__bar { background-color:#062c53; background-image:url("/wp-content/mu-plugins/wic-beaches-landing-assets/wic-tex/wic-contour-light.webp"); background-size:300px 300px; color:#fff; }
#wic-vfc .vfc-faq__bar > div { display:flex; align-items:center; justify-content:space-between; gap:28px; max-width:1256px; min-height:62px; margin:0 auto; padding:10px 32px; }
#wic-vfc .vfc-faq__bar p { margin:0; font-size:13px; line-height:1.5; color:rgba(255,255,255,.8); }
#wic-vfc .vfc-faq__bar p strong { color:#fff; }
#wic-vfc .vfc-faq__bar a { flex:none; padding:9px 15px; border:1px solid rgba(255,255,255,.38); border-radius:999px; font:600 11px/1.2 var(--sans); letter-spacing:.06em; text-transform:uppercase; color:#fff; }
#wic-vfc .vfc-faq__bar a:hover { background:#fff; border-color:#fff; color:#062c53; }

/* ---------- barra fija del móvil ---------- */
#wic-vfc .vfc-sticky { position:fixed; left:12px; right:12px; bottom:12px; z-index:60; display:none; gap:10px; padding:10px; border-radius:18px; background:rgba(6,44,83,.96); box-shadow:0 12px 30px rgba(0,0,0,.25); transition:transform .35s ease, opacity .35s ease; }
.vfc-js #wic-vfc .vfc-sticky.is-hidden { transform:translateY(140%); opacity:0; pointer-events:none; }
#wic-vfc .vfc-sticky .vfc-btn { flex:1; padding:14px 10px; }

/* ---------- aparición al hacer scroll ---------- */
.vfc-js #wic-vfc .vfc-rv { opacity:0; transform:translateY(28px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.vfc-js #wic-vfc .vfc-rv.in { opacity:1; transform:none; }
/* Red de seguridad: si vifac.js no llegara, el script del <head> pone .vfc-safe a los 2.6 s. */
.vfc-safe #wic-vfc .vfc-rv { opacity:1; transform:none; }
.vfc-safe #wic-vfc .vfc-sticky.is-hidden { transform:none; opacity:1; pointer-events:auto; }

@media (prefers-reduced-motion: reduce) {
  html:has(body.wic-vifac-page) { scroll-behavior:auto; }
  .vfc-js #wic-vfc .vfc-rv { opacity:1; transform:none; transition:none; }
  #wic-vfc .vfc-hero .vfc-hero__bg { transform:none; transition:none; }
  .vfc-js #wic-vfc .vfc-statement .w { color:var(--navy); }
  #wic-vfc .vfc-btn, #wic-vfc .vfc-sticky { transition:none; }
  #wic-vfc .vfc-btn:hover { transform:none; }
}

@media (max-width: 1100px) {
  #wic-vfc .vfc-ways { grid-template-columns:repeat(2,1fr); }
  #wic-vfc .vfc-steps { grid-template-columns:repeat(3,1fr); row-gap:34px; }
  #wic-vfc .vfc-steps::before { display:none; }
  /* Grupos a una columna: a dos, el formulario quedaba en 350 px con dos campos por fila. */
  #wic-vfc .vfc-groups .vfc-split { grid-template-columns:1fr; gap:40px; }
  #wic-vfc .vfc-exps { grid-template-columns:repeat(2,1fr); }
  #wic-vfc .vfc-wish__grid { grid-template-columns:repeat(3,1fr); }
  #wic-vfc .vfc-stats { grid-template-columns:repeat(2,1fr); }
  #wic-vfc .vfc-costs__list { grid-template-columns:repeat(2,1fr); }
  /* Tres niveles en 248 px: el botón destacado se partía en dos líneas. */
  #wic-vfc .vfc-tier .vfc-btn { padding:14px 12px; font-size:14px; white-space:nowrap; }
  /* Con más texto por ancho, el velo sube para que el título no pise la parte clara de la foto. */
  #wic-vfc .vfc-card-big::after { background:linear-gradient(0deg,rgba(6,44,83,.95) 0%,rgba(6,44,83,.84) 50%,rgba(6,44,83,.12) 86%); }
}

@media (max-width: 860px) {
  #wic-vfc .vfc-sec { padding:76px 0; }
  #wic-vfc .vfc-sec--flush { padding-top:0; }
  #wic-vfc .vfc-split { gap:36px; }
  #wic-vfc .vfc-why__grid, #wic-vfc .vfc-help { grid-template-columns:1fr; }
  #wic-vfc .vfc-trust .vfc-wrap { grid-template-columns:1fr 1fr; }
  #wic-vfc .vfc-trust .vfc-wrap > div:nth-child(3) { border-left:0; padding-left:0; }
  #wic-vfc .vfc-trust .vfc-wrap > div:nth-child(n+3) { border-top:1px solid rgba(6,44,83,.08); }
  #wic-vfc .vfc-tiers { gap:12px; }
  #wic-vfc .vfc-tier { padding:24px 18px; }
  #wic-vfc .vfc-tier__foto { margin:-8px -4px 6px; }
  #wic-vfc .vfc-tier .vfc-amt { font-size:38px; }
  #wic-vfc .vfc-tax { gap:12px; }
  #wic-vfc .vfc-tax article { padding:22px 18px; }
  #wic-vfc .vfc-mosaic { grid-template-columns:repeat(2,1fr); grid-auto-rows:170px; }
  #wic-vfc .vfc-mosaic figure { grid-column:span 1; grid-row:span 1; }
  #wic-vfc .vfc-mosaic .vfc-m1 { grid-column:span 2; grid-row:span 2; }
  #wic-vfc .vfc-help { padding:30px 26px; }
  #wic-vfc .vfc-card-big { min-height:440px; }
  #wic-vfc .vfc-final { padding:76px 0; }
  #wic-vfc .vfc-final__box { padding:50px 26px; }
}

@media (max-width: 760px) {
  #wic-vfc { --gut:20px; }
  #wic-vfc .vfc-hero { min-height:86vh; }
  #wic-vfc .vfc-hero__body { padding-top:72px; padding-bottom:56px; }
  #wic-vfc .vfc-hero .vfc-hero__logo { width:150px; margin-bottom:20px; }
  #wic-vfc .vfc-reel { min-height:0; aspect-ratio:1/1; }
  #wic-vfc .vfc-reel__body { padding-top:32px; padding-bottom:30px; padding-right:70px; }
  #wic-vfc .vfc-lockup img { height:36px; }
  #wic-vfc .vfc-lockup img + span + img { height:34px; }
  #wic-vfc .vfc-split, #wic-vfc .vfc-duo, #wic-vfc .vfc-tiers, #wic-vfc .vfc-tax, #wic-vfc .vfc-form { grid-template-columns:1fr; }
  /* A una columna, la foto vertical 4:5 medía casi una pantalla entera. */
  #wic-vfc .vfc-photo-tall { aspect-ratio:4/3; }
  #wic-vfc .vfc-photo-tall img { object-position:50% 32%; }
  #wic-vfc .vfc-tier--feat { translate:none; }
  #wic-vfc .vfc-trust .vfc-wrap > div { padding:20px 14px; }
  #wic-vfc .vfc-trust .vfc-wrap > div:first-child, #wic-vfc .vfc-trust .vfc-wrap > div:nth-child(3) { padding-left:0; }
  #wic-vfc .vfc-sticky { display:flex; }
  #wic-vfc .vfc-bank { padding:24px 20px; }
  #wic-vfc .vfc-bank__accts { grid-template-columns:1fr; }
  #wic-vfc .vfc-exp-custom { flex-direction:column; align-items:flex-start; }
  #wic-vfc .vfc-wish__grid { grid-template-columns:1fr; gap:10px; }
  #wic-vfc .vfc-wish__cat summary::after { content:"+"; margin-left:auto; font:400 24px/1 var(--sans); color:var(--vazul); }
  #wic-vfc .vfc-wish__cat[open] summary::after { content:"–"; }
  #wic-vfc .vfc-wish__cat summary span { order:2; }
  #wic-vfc .vfc-sticky .vfc-btn { padding:14px 8px; font-size:14px; white-space:nowrap; }
  #wic-vfc .vfc-sticky .vfc-btn--gold { flex:1.6; }
  /* cierre de preguntas: mismos valores móviles que /hotels/ */
  #wic-vfc .vfc-faq { padding:38px 0 26px; background-size:190px 190px; }
  #wic-vfc .vfc-faq__inner { padding:0 20px; }
  #wic-vfc .vfc-faq__inner > h2 { font-size:clamp(36px,10.5vw,46px); line-height:1.02; }
  #wic-vfc .vfc-faq__grid { grid-template-columns:1fr; }
  #wic-vfc .vfc-faq__grid article { min-height:0; padding:22px 21px 24px; }
  #wic-vfc .vfc-faq__bar > div { flex-direction:column; align-items:flex-start; gap:13px; padding:18px 20px 20px; }
  #wic-vfc .vfc-faq__bar a { width:100%; text-align:center; }
  #wic-vfc .vfc-sources { grid-template-columns:1fr; gap:18px; margin-top:18px; padding:0 0 26px; }
  #wic-vfc .vfc-sources > p { text-align:left; white-space:normal; }
}

@media (max-width: 600px) {
  /* servicios a dos columnas (6 = 3 filas justas) */
  #wic-vfc .vfc-services { grid-template-columns:repeat(2,1fr); gap:12px; margin-top:44px; }
  #wic-vfc .vfc-services .vfc-svc { padding:20px 16px; }
  #wic-vfc .vfc-svc h3 { font-size:18px; }
  #wic-vfc .vfc-svc p { font-size:14px; }
  /* los seis pasos como línea de tiempo vertical: número a la izquierda, texto a la derecha */
  #wic-vfc .vfc-steps { grid-template-columns:1fr; row-gap:0; margin-top:34px; }
  #wic-vfc .vfc-steps li { display:grid; grid-template-columns:44px 1fr; column-gap:16px; padding:0 0 22px; }
  #wic-vfc .vfc-steps li::before { content:""; position:absolute; left:21px; top:44px; bottom:0; width:2px; background:linear-gradient(180deg,var(--rosa),var(--vazul)); }
  #wic-vfc .vfc-steps li:last-child::before { display:none; }
  #wic-vfc .vfc-dot { grid-column:1; grid-row:1 / span 2; width:44px; height:44px; margin:0; font-size:17px; }
  #wic-vfc .vfc-steps h3, #wic-vfc .vfc-steps p { grid-column:2; }
  #wic-vfc .vfc-steps h3 { margin:10px 0 4px; }
  /* otras formas de dar: carrusel con la siguiente tarjeta asomada */
  #wic-vfc .vfc-ways { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:80%; gap:14px; margin:32px calc(-1 * var(--gut)) 0; padding:0 var(--gut) 8px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding:0 var(--gut); scrollbar-width:none; overscroll-behavior-x:contain; }
  #wic-vfc .vfc-ways::-webkit-scrollbar { display:none; }
  #wic-vfc .vfc-way { scroll-snap-align:start; }
  /* experiencias de grupo: mismo carrusel que «otras formas de dar» */
  #wic-vfc .vfc-exps { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:80%; gap:12px; margin:32px calc(-1 * var(--gut)) 0; padding:0 var(--gut) 8px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding:0 var(--gut); scrollbar-width:none; overscroll-behavior-x:contain; }
  #wic-vfc .vfc-exps::-webkit-scrollbar { display:none; }
  #wic-vfc .vfc-exp { scroll-snap-align:start; }
  #wic-vfc .vfc-stats { gap:22px 18px; }
  #wic-vfc .vfc-stat .vfc-stat__t { font-size:14px; }
  #wic-vfc .vfc-costs { padding:20px 18px; }
  #wic-vfc .vfc-costs__list { grid-template-columns:1fr; }
  #wic-vfc .vfc-gets { grid-template-columns:1fr; gap:14px; }
  #wic-vfc .vfc-gets div { font-size:14px; }
  #wic-vfc .vfc-help .vfc-help__h { font-size:24px; }
  #wic-vfc .vfc-card-big > div { padding:26px; }
  /* el texto ocupa ~290 px: con 440 de alto la foto casi no se veía */
  #wic-vfc .vfc-card-big { min-height:520px; }
  #wic-vfc .vfc-card-big h3 { font-size:28px; }
}


/* ---------- What's in Cabo en VIFAC: tablet y teléfono ---------- */
@media (prefers-reduced-motion: reduce) {
  .vfc-js #wic-vfc .vfc-family__pin { opacity:1; transition:none; }
}

@media (max-width: 1100px) {
  /* Una sola columna: foto, pie, texto e invitación seguidos (montada, la tarjeta dejaba un hueco a su lado). */
  #wic-vfc .vfc-family__cap { position:static; width:auto; padding-top:12px; font-size:13px; }
  #wic-vfc .vfc-family__row { grid-template-columns:1fr; margin-top:30px; }
  #wic-vfc .vfc-family__card { margin:0; padding:0; border-radius:0; background:none; box-shadow:none; }
  #wic-vfc .vfc-family__card .vfc-lede { max-width:720px; }
  #wic-vfc .vfc-family__cta { padding-top:0; margin-top:16px; }
}

@media (max-width: 760px) {
  #wic-vfc .vfc-family__photo { aspect-ratio:4/5; border-radius:20px; }
  #wic-vfc .vfc-family__pin { left:50%; top:10.8%; }
  #wic-vfc .vfc-family__row { margin-top:24px; }
  #wic-vfc .vfc-family__strip { grid-template-columns:repeat(2,1fr); gap:10px; margin-top:34px; }
  #wic-vfc .vfc-family__strip figcaption { left:10px; bottom:10px; font-size:13px; }
}

@media (max-width: 760px) {
  /* Con nombre, en teléfono solo va el nombre (la marca ya la dicen el pie y el título). */
  #wic-vfc .vfc-family__pin--nombre .vfc-family__pin-marca { display:none; }
  #wic-vfc .vfc-family__pin-nombre { max-width:calc(100vw - 90px); }
}

@media (max-width: 400px) {
  /* Pantallas angostas: etiqueta más chica y línea más corta, misma punta sobre la cabeza. A 360 px quedaba a 4 px
     del borde de arriba, y a 280-320 px el borde la recortaba. */
  #wic-vfc .vfc-family__pin { transform:translate(-50%,calc(-100% - 8px)); padding:5px 10px; font-size:10px; letter-spacing:.12em; }
  #wic-vfc .vfc-family__pin::after { height:7px; }
}
