/* Maracuyá 0.9.9 · Identidad juvenil. Solo se carga en páginas públicas.
   Se conserva la hoja anterior para el constructor, cuentas y páginas legales. */
@import url('/static/brand-v098.css?v=098');

:root {
  --watermelon: #FF5C7A;
  --mango: #69BFF4;
  --sky: #65B8E8;
  --cream: #FFF9F3;
  --charcoal: #252525;
  --pink-soft: #FFE8ED;
  --blue-soft: #E6F4FF;
  --yellow-soft: #EAF5FF;
  --raspberry: #A32040;
  --mc-bg: var(--cream);
  --mc-cream: var(--cream);
  --mc-ink: var(--charcoal);
  --mc-green: var(--charcoal);
  --mc-green-deep: var(--charcoal);
  --mc-green-soft: var(--blue-soft);
  --mc-rose: var(--raspberry);
  --mc-rose-soft: var(--pink-soft);
  --mc-muted: #65605D;
  --mc-line: #E9DDD5;
  --mc-shadow: 0 12px 30px rgba(70, 38, 36, .07);
  --bg: var(--cream);
  --ink: var(--charcoal);
  --accent: var(--watermelon);
  --line: var(--mc-line);
  --muted: var(--mc-muted);
  --display-font: 'Arial Rounded MT Bold', 'Trebuchet MS', ui-sans-serif, system-ui, sans-serif;
}
html { scroll-padding-top: 100px; }
body.marketing-page, body.builder-page {
  background: var(--cream);
  color: var(--charcoal);
  font-family: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.marketing-page h1, .marketing-page h2, .marketing-page h3,
.builder-page h1, .builder-page h2, .builder-page h3 {
  font-family: var(--display-font);
  color: var(--charcoal);
  font-weight: 900;
  letter-spacing: -.04em;
}
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #005886; outline-offset: 5px; }
.skip-link { position: fixed; top: 8px; left: 12px; z-index: 1400; padding: 14px 20px; background: var(--charcoal); color: white; transform: translateY(-150%); border-radius: 12px; }
.skip-link:focus { transform: none; }
.site-container { max-width: 1320px; padding-inline: 28px; }
.site-header, .premium-header { background: rgba(255,249,243,.98); border-bottom: 1px solid var(--mc-line); }
.premium-header .site-header-inner { max-width: 1320px; grid-template-columns: 180px 1fr auto; padding: 13px 28px; gap: 20px; }
.site-logo img { width: 172px; height: 56px; }
.desktop-main-nav { gap: 25px; }
.desktop-main-nav a { font-size: 13px; font-weight: 750; }
.desktop-main-nav a:hover { color: var(--raspberry); }
.site-btn, .site-btn-primary, .site-btn-soft { border-radius: 999px; font-weight: 850; min-height: 44px; }
.site-btn-primary { background: var(--watermelon); color: var(--charcoal); box-shadow: none; border: 1px solid transparent; }
.site-btn-primary:hover { background: #FF7891; box-shadow: 0 5px 0 rgba(37,37,37,.10); }
.site-btn { color: var(--charcoal); border-color: #D6C9C0; }
.site-btn:hover { background: var(--yellow-soft); }
.site-btn-soft { color: var(--charcoal); background: var(--pink-soft); }
.header-cta { font-size: 12px; padding: 12px 18px; }
.header-icon-link { padding-inline: 6px; }
.header-icon-link svg { width: 21px; height: 21px; }
.quickbar { background: var(--mango); color: var(--charcoal); font-weight: 650; font-size: 11px; }
.quickbar-inner { min-height: 33px; justify-content: center; gap: 24px; }
.quickbar-inner > span:first-child { gap: 5px; }
.quickbar-inner > span + span { border-left: 1px solid rgba(37,37,37,.25); padding-left: 24px; }
.mobile-drawer { background: var(--cream); }
.mobile-drawer:not(.open) { visibility: hidden; box-shadow: none; }
.mobile-drawer.open { visibility: visible; }
.drawer-logo-link { display: inline-flex; align-items: center; }
.mobile-drawer-head img { height: 53px; }
.mobile-drawer-head { border-bottom-color: var(--mc-line); }
.mobile-drawer-nav a { border-bottom-color: var(--mc-line); }
.mobile-drawer-nav a span { color: var(--raspberry); }
.mobile-drawer-close { background: var(--pink-soft); }
.floating-whatsapp { background: #25D366; color: #fff; z-index: 100; border: 0; box-shadow: 0 12px 30px rgba(37,211,102,.28); }
.floating-whatsapp:hover { background: #20BD5A; color: #fff; box-shadow: 0 14px 34px rgba(37,211,102,.34); }
.floating-whatsapp .whatsapp-brand-icon { width: 24px; height: 24px; display: block; flex: 0 0 auto; }
.floating-whatsapp span { color: #fff; }
.big-cta { padding: 18px 26px; font-size: 13px; letter-spacing: .025em; gap: 22px; }
.big-cta > span { font-size: 24px; line-height: 1; }
.text-link { display: inline-flex; align-items: center; gap: 16px; color: var(--charcoal); font-weight: 800; font-size: 14px; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 5px; }
.text-link:hover { color: var(--raspberry); }
.section-eyebrow { color: var(--raspberry); font-size: 11px; letter-spacing: .12em; line-height: 1.7; }
.section-head h2 { font-size: clamp(32px, 3.5vw, 48px); line-height: 1.13; letter-spacing: -.045em; margin-bottom: 12px; }
.section-head p { color: var(--mc-muted); font-size: 16px; line-height: 1.7; }
.section-head.center { max-width: 930px; margin-bottom: 35px; }
.home-section { padding: 84px 0; }
.only-mobile { display: none; }

/* Portada: las fotografías originales se muestran completas, sin ampliación artificial. */
.wow-hero { padding: 28px 0 42px; background: var(--cream); }
.wow-hero-grid { display: grid; grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr); align-items: center; gap: 22px; }
.wow-copy { padding: 32px 0 32px 12px; }
.wow-kicker { display: inline-flex; align-items: center; gap: 8px; background: var(--yellow-soft); font-size: 11px; font-weight: 800; border-radius: 999px; padding: 9px 13px; margin-bottom: 22px; }
.wow-kicker > span { color: var(--raspberry); font-size: 18px; line-height: 1; }
.wow-copy h1 { font-size: clamp(54px, 5.8vw, 80px); line-height: 1.015; letter-spacing: -.055em; margin: 0; }
.wow-copy h1 > span { color: var(--raspberry); position: relative; display: inline-block; }
.wow-copy h1 > span::after { content: ''; position: absolute; height: 7px; bottom: -8px; left: 0; right: 5px; background: var(--watermelon); border-radius: 50%; transform: rotate(-2deg); }
.wow-copy > p { font-size: 16px; line-height: 1.8; max-width: 440px; margin: 27px 0 24px; color: #514B47; }
.wow-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.wow-proof { display: flex; flex-wrap: wrap; gap: 10px 15px; margin-top: 28px; font-size: 11px; font-weight: 650; color: #625751; }
.wow-visual { height: 590px; min-width: 0; position: relative; isolation: isolate; }
.wow-orbit { position: absolute; inset: 20px 14px 25px 15px; background: var(--blue-soft); border-radius: 46% 48% 35% 45%; transform: rotate(-8deg); z-index: -1; }
.hero-photo-frame { position: absolute; top: 16px; left: 5%; width: 71%; height: 527px; padding: 10px 10px 40px; border-radius: 9px; transform: rotate(-5deg); background: white; box-shadow: 0 16px 40px rgba(73,41,28,.14); overflow: hidden; }
.hero-photo-frame .hero-poster { width: 100%; height: 100%; display: block; object-fit: contain; background: #EDE3D6; }
.photo-note { position: absolute; bottom: 12px; left: 14px; right: 14px; text-align: center; font-size: 12px; font-weight: 750; }
.photo-note span { color: var(--raspberry); }
.hero-extra-frame { position: absolute; width: 34%; height: 269px; right: 0; bottom: 13px; transform: rotate(9deg); padding: 8px 8px 33px; border-radius: 7px; background: white; box-shadow: 0 15px 30px rgba(73,41,28,.16); }
.hero-extra-frame img { width: 100%; height: 100%; object-fit: contain; background: #EDE3D6; display: block; }
.hero-extra-frame > span { position: absolute; bottom: 10px; inset-inline: 8px; text-align: center; font-size: 10px; font-weight: 750; }
.wow-sticker { position: absolute; top: 13px; right: 0; width: 144px; height: 144px; background: var(--mango); color: var(--charcoal); display: grid; place-items: center; transform: rotate(12deg); clip-path: polygon(50% 0%,59% 9%,71% 4%,76% 17%,89% 17%,90% 31%,100% 38%,94% 50%,100% 62%,90% 69%,89% 83%,76% 83%,71% 96%,59% 91%,50% 100%,41% 91%,29% 96%,24% 83%,11% 83%,10% 69%,0% 62%,6% 50%,0% 38%,10% 31%,11% 17%,24% 17%,29% 4%,41% 9%); }
.wow-sticker > span { text-align: center; font-size: 11px; font-weight: 800; line-height: 1.65; letter-spacing: .02em; }
.wow-sticker b { font-size: 11px; }
.wow-spark { position: absolute; width: 70px; height: 70px; }
.wow-spark svg { width: 100%; height: 100%; fill: currentColor; stroke: none; }
.wow-spark--one { right: 25px; top: 205px; color: var(--watermelon); transform: rotate(12deg); }
.wow-spark--two { left: -15px; bottom: 22px; width: 45px; height: 45px; color: #2389C5; }
.hero-photo-frame video { width: 100%; height: 100%; object-fit: contain; position: absolute; inset: 0; background: var(--cream); }
.hero-video-toggle { position: absolute; bottom: 4px; left: 16px; z-index: 5; border: 1px solid var(--charcoal); border-radius: 999px; background: var(--cream); padding: 10px 16px; color: var(--charcoal); font-size: 12px; font-weight: 800; cursor: pointer; }
.wow-visual.has-video { height: 430px; }
.wow-visual.has-video .hero-photo-frame { top: 18px; left: 2%; width: 96%; height: auto; aspect-ratio: 16 / 9; transform: none; padding: 0; border-radius: 24px; background: transparent; box-shadow: 0 16px 36px rgba(73,41,28,.12); }
.wow-visual.has-video .hero-extra-frame, .wow-visual.has-video .photo-note, .wow-visual.has-video .wow-sticker, .wow-visual.has-video .wow-spark { display: none; }
.wow-visual.has-video .hero-poster { opacity: 0; }
.wow-visual.has-video .hero-photo-frame video,
.wow-visual.has-video .hero-photo-frame .hero-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: transparent; }
.wow-visual.has-video .wow-orbit { inset: 10px 8px 0; }
.wow-visual.has-video .hero-video-toggle { bottom: -52px; left: 2%; }
.happy-strip { display: flex; justify-content: space-around; align-items: center; gap: 20px; background: var(--mango); border-top: 1px solid var(--charcoal); border-bottom: 1px solid var(--charcoal); min-height: 52px; padding: 14px 22px; font-weight: 850; font-size: 12px; letter-spacing: .12em; }
.happy-strip span { white-space: nowrap; }
.happy-strip span:nth-child(even) { font-size: 22px; line-height: 1; }

/* Seis ocasiones: toda la tarjeta es un enlace real al constructor filtrado. */
.loved-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.love-card { background: white; color: var(--charcoal); border-radius: 24px; border: 1px solid #E8DDD4; overflow: hidden; display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease; text-decoration: none; }
.love-card:hover { transform: translateY(-5px); box-shadow: 0 10px 0 #E8DDD4; }
.love-card-photo { height: 275px; position: relative; background: #F2E9DE; padding: 16px 30px; }
.love-card-photo img { width: 100%; height: 100%; display: block; object-fit: contain; border-radius: 8px; }
.love-card-emoji { position: absolute; top: 15px; left: 15px; width: 42px; height: 42px; font-size: 22px; display: grid; place-items: center; background: white; border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,.05); transform: rotate(-10deg); }
.love-card-body { padding: 21px 22px 22px; flex: 1; display: flex; flex-direction: column; gap: 17px; border-top: 1px solid rgba(37,37,37,.05); }
.love-card--pink .love-card-body { background: var(--pink-soft); }
.love-card--blue .love-card-body { background: var(--blue-soft); }
.love-card--yellow .love-card-body { background: var(--yellow-soft); }
.love-card-body h3 { font-size: 24px; margin: 0 0 5px; line-height: 1.2; }
.love-card-body p { font-size: 12px; margin: 0; color: #5A504B; line-height: 1.6; }
.love-card-link { display: flex; align-items: center; justify-content: space-between; font-size: 12px; font-weight: 850; margin-top: auto; }
.love-card-link > span { border: 1px solid rgba(37,37,37,.5); width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-size: 19px; }
.love-card:hover .love-card-link > span { background: var(--charcoal); color: white; }

/* Presupuesto: intervalos contiguos, sin duplicar precios en sus límites. */
.budget-section { background: var(--pink-soft); border-block: 1px solid #F3CBD5; }
.budget-tickets { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; }
.budget-ticket { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 9px; padding: 23px 20px 44px; border: 1px solid #D5C1BE; border-radius: 17px; background: var(--cream); color: var(--charcoal); min-height: 198px; text-decoration: none; transition: transform .2s; }
.budget-ticket:hover { transform: rotate(-2deg) translateY(-5px); }
.budget-ticket--2 { background: var(--blue-soft); }
.budget-ticket--3 { background: white; }
.budget-ticket--4 { background: #FFD7E1; }
.budget-ticket--5 { background: var(--mango); border-color: #77A9CA; }
.budget-emoji { font-size: 26px; margin-bottom: 10px; }
.budget-ticket strong { font-family: var(--display-font); font-size: clamp(17px, 1.65vw, 22px); font-weight: 900; letter-spacing: -.035em; white-space: nowrap; }
.budget-ticket > span:not(.budget-emoji):not(.ticket-arrow) { font-size: 12px; font-weight: 700; }
.ticket-arrow { position: absolute; right: 17px; bottom: 15px; font-size: 23px; }
.budget-disclaimer { font-size: 11px; color: #615151; text-align: center; margin: 22px 0 0; line-height: 1.6; }

/* Productos reales desde /api/shop. No se inventan precios ni existencias. */
.favorites-section .split-head { max-width: none; }
.home-v099 .home-product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 19px; }
.home-v099 .home-product-card { border-radius: 19px; box-shadow: none; border-color: var(--mc-line); }
.home-v099 .home-product-image { aspect-ratio: .93 / 1; padding: 17px; background: #F3EBE2; }
.home-v099 .home-product-body { padding: 17px 17px 19px; }
.home-v099 .home-product-body h3 { font-size: 17px; line-height: 1.35; letter-spacing: -.02em; min-height: 46px; }
.home-v099 .home-product-meta { font-size: 10px; letter-spacing: .1em; color: var(--raspberry); }
.home-v099 .home-product-price { font-size: 16px; }
.home-v099 .home-product-link { display: flex; align-items: center; justify-content: space-between; padding-top: 10px; border-top: 1px solid var(--mc-line); margin-top: 14px; }
.home-v099 .home-loading { border: 1px dashed #D5C4B6; border-radius: 20px; line-height: 1.7; }

/* Personalización */
.magic-section { background: var(--blue-soft); }
.magic-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 78px; align-items: center; }
.magic-photo { position: relative; max-width: 520px; padding: 10px 16px 30px; }
.magic-photo-inner { padding: 13px; border-radius: 18px; background: white; height: 535px; transform: rotate(-4deg); box-shadow: 0 15px 35px rgba(36,67,88,.12); }
.magic-photo-inner img { width: 100%; height: 100%; object-fit: contain; display: block; }
.magic-label { position: absolute; bottom: 15px; left: 12%; background: var(--mango); padding: 14px 19px; border: 1px solid #82B4D8; border-radius: 3px; font-size: 14px; font-weight: 800; transform: rotate(3deg); }
.magic-spark { position: absolute; top: -20px; right: -22px; color: var(--raspberry); font-size: 105px; line-height: 1; }
.magic-copy h2 { font-size: clamp(35px,4vw,55px); line-height: 1.05; margin: 14px 0 18px; }
.magic-copy > p { font-size: 15px; color: #4C5D65; line-height: 1.8; max-width: 460px; }
.magic-steps { list-style: none; margin: 25px 0 28px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.magic-steps li { display: flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 750; background: rgba(255,255,255,.75); padding: 11px 12px; border-radius: 12px; }
.magic-steps li > span { font-size: 22px; }
.magic-steps li:last-child { grid-column: 1/-1; background: var(--yellow-soft); }
.magic-copy > small { display: block; margin-top: 15px; font-size: 10px; color: #455C68; }
.more-ideas { padding: 42px 0; text-align: center; }
.more-ideas h2 { font-size: 22px; margin: 0 0 18px; }
.ideas-links { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.ideas-links a { padding: 11px 17px; border-radius: 999px; background: white; border: 1px solid var(--mc-line); font-weight: 750; font-size: 12px; }
.ideas-links a:hover { background: var(--pink-soft); }
.today-wow-section { padding: 28px 0 72px; }
.today-wow { border-radius: 30px; background: var(--mango); display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 50px; align-items: center; padding: 45px 64px; }
.today-wow .section-eyebrow { color: #6E3D00; }
.today-wow h2 { font-size: 52px; line-height: 1.07; margin: 10px 0 16px; }
.today-wow h2 > span { text-decoration: underline; text-decoration-color: var(--raspberry); text-decoration-thickness: 3px; text-underline-offset: 8px; }
.today-wow p { max-width: 480px; font-size: 14px; line-height: 1.75; }
.today-wow .site-btn-primary { background: var(--charcoal); color: white; font-size: 12px; margin-top: 8px; }
.today-wow small { display: block; font-size: 10px; margin-top: 13px; }
.today-wow-photo { height: 308px; background: #FFF9F3; border-radius: 18px; padding: 10px; transform: rotate(5deg); }
.today-wow-photo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.trust-section { padding-top: 0; }
.trust-heading { display: flex; align-items: center; justify-content: center; gap: 16px; }
.trust-heading > span { font-size: 62px; color: var(--raspberry); }
.trust-heading h2 { font-size: 25px; line-height: 1.3; margin: 0; letter-spacing: -.03em; }
.trust-benefits { grid-template-columns: repeat(4,minmax(0,1fr)); max-width: 1020px; margin: 28px auto 0; }
.trust-benefits span { font-size: 12px; padding: 18px 12px; border-radius: 12px; }
#googleReviewsSection { margin-top: 65px; }
#googleReviewsSection .section-head h2 { font-size: 32px; }
.review-stars { color: #8A5700; }
.review-card-google { border-radius: 24px; box-shadow: 0 16px 30px rgba(55,62,70,.06); }
.review-card-top { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.review-google-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 66px; padding: 8px 12px; border-radius: 999px; background: #F2F6FB; color: #2A5B8A; font-size: 12px; font-weight: 800; }
.review-card-author { display: grid; gap: 2px; }
.review-card-author strong { font-size: 14px; }
.review-card-author span { color: var(--mc-muted); font-size: 11px; }
.customer-moments { margin-top: 52px; }
.customer-moments-head { margin-bottom: 22px; }
.customer-moments-head h3 { margin: 0; font-size: 31px; }
.customer-moments-grid { display: grid; grid-template-columns: minmax(0,1.28fr) minmax(280px,.72fr); grid-template-rows: repeat(2, 215px); gap: 16px; max-width: 1040px; margin: 0 auto; }
.customer-moment-card { position: relative; margin: 0; min-width: 0; min-height: 0; overflow: hidden; background: #F2E9E3; border: 1px solid var(--mc-line); border-radius: 26px; box-shadow: 0 14px 30px rgba(55,62,70,.06); }
.customer-moment-card:first-child { grid-row: 1 / 3; }
.customer-moment-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.customer-moment-card:first-child img { object-position: center 43%; }
.customer-moment-card:nth-child(2) img { object-position: center 30%; }
.customer-moment-card:nth-child(3) img { object-position: center 38%; }
.customer-moment-card::after { content: ''; position: absolute; inset: auto 0 0; height: 42%; background: linear-gradient(to top, rgba(27,27,27,.58), transparent); pointer-events: none; }
.customer-moment-card figcaption { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 16px; margin: 0; padding: 0; color: white; font-size: 13px; line-height: 1.45; font-weight: 750; text-shadow: 0 1px 8px rgba(0,0,0,.28); }
.customer-moment-card:hover img { transform: scale(1.025); }
.customer-moments-note { text-align: center; color: var(--mc-muted); font-size: 12px; margin: 18px auto 0; max-width: 720px; }

/* Marca, preguntas frecuentes y pie de página */
.founders-section { background: #F9EDE6; }
.story-v099 { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 85px; }
.story-v099 .story-photo { max-width: 430px; height: 485px; padding: 12px 12px 45px; background: white; border-radius: 12px; transform: rotate(-3deg); }
.story-v099 .story-photo::before { display: none; }
.story-v099 .story-photo img { width: 100%; height: 100%; border-radius: 5px; object-fit: contain; background: #D5D7D6; box-shadow: none; }
.story-v099 .story-photo > span { position: absolute; bottom: 16px; inset-inline: 12px; text-align: center; font-size: 11px; font-weight: 750; }
.story-v099 .story-copy h2 { font-size: clamp(32px,3.7vw,49px); line-height: 1.12; }
.story-v099 .story-copy p { font-size: 15px; line-height: 1.8; }
.home-faq .faq-preview { grid-template-columns: .8fr 1.2fr; gap: 75px; }
.home-faq .text-link { margin-top: 20px; }
.home-faq .faq-list details { border-radius: 14px; }
.home-faq .faq-list summary { font-size: 14px; padding: 19px 21px; }
.final-wow { padding: 65px 0 75px; text-align: center; background: var(--pink-soft); }
.final-wow h2 { font-size: clamp(36px,4.6vw,64px); line-height: 1.12; margin: 14px 0 30px; }
.final-wow h2 > span { color: var(--raspberry); }
.footer-v099 { background: var(--cream); color: var(--charcoal); padding: 55px 0 0; border-top: 1px solid #E9D7D0; }
.footer-v099 .footer-grid { grid-template-columns: 1.2fr 1.1fr 1fr 1fr; gap: 36px; }
.footer-v099 .footer-logo { width: 188px; height: 69px; filter: none; mix-blend-mode: normal; }
.footer-v099 .footer-brand p { color: #5C514B; font-size: 14px; }
.footer-v099 .footer-col h3 { margin: 8px 0 12px; color: var(--charcoal); font-size: 15px; letter-spacing: -.02em; }
.footer-v099 .footer-col a, .footer-v099 .footer-col span { color: #5C514B; font-size: 12px; line-height: 1.7; }
.footer-v099 .footer-col a:hover { color: var(--raspberry); }
.footer-v099 .footer-socials { gap: 12px; flex-wrap: wrap; }
.footer-v099 .footer-socials a { color: var(--raspberry); font-size: 12px; }
.footer-v099 .payment-footer { margin-top: 14px; }
.footer-v099 .payment-badge { color: var(--charcoal); border-color: #D8C8BF; }
.footer-v099 .footer-bottom { border-top-color: var(--mc-line); color: #71625A; font-size: 11px; margin-top: 38px; padding: 24px 0; }
.footer-logo-link { display: inline-flex; align-items: center; }
.site-footer:not(.footer-v099) { background: var(--cream); color: var(--charcoal); padding: 52px 0 0; border-top: 1px solid #E9D7D0; }
.site-footer:not(.footer-v099) .footer-grid { grid-template-columns: 1.1fr 1fr 1fr 1fr; gap: 32px; }
.site-footer:not(.footer-v099) .footer-logo { width: 188px; height: auto; filter: none; mix-blend-mode: normal; }
.site-footer:not(.footer-v099) .footer-brand p { color: #5C514B; line-height: 1.7; font-size: 14px; max-width: 330px; }
.site-footer:not(.footer-v099) .footer-col h3,
.site-footer:not(.footer-v099) .footer-col h4 { margin: 8px 0 12px; color: var(--charcoal); font-size: 15px; letter-spacing: -.02em; }
.site-footer:not(.footer-v099) .footer-col a,
.site-footer:not(.footer-v099) .footer-col span,
.site-footer:not(.footer-v099) .footer-brand a { display: block; color: #5C514B; font-size: 12px; margin: 8px 0; line-height: 1.7; }
.site-footer:not(.footer-v099) .footer-col a:hover,
.site-footer:not(.footer-v099) .footer-brand a:hover { color: var(--raspberry); }
.site-footer:not(.footer-v099) .footer-bottom { border-top: 1px solid var(--mc-line); color: #71625A; font-size: 11px; margin-top: 36px; padding: 22px 0; display: flex; justify-content: space-between; gap: 18px; }
.site-footer:not(.footer-v099) .footer-bottom a { color: inherit; }
.builder-legal-footer { max-width: 1180px; margin: 34px auto 26px; padding: 18px 20px; text-align: center; border: 1px solid var(--mc-line); border-radius: 20px; background: rgba(255,255,255,.9); box-shadow: 0 12px 28px rgba(60,49,43,.05); color: #6F625C; font-size: 12px; line-height: 1.65; }
.builder-legal-footer a { color: var(--raspberry); font-weight: 800; }

/* Continuidad visual en la navegación, sin cambiar validaciones ni pagos. */
.builder-page .site-announcement { background: var(--mango); color: var(--charcoal); font-size: 12px; }
.builder-page .hero .eyebrow { color: var(--raspberry); background: var(--pink-soft); border-color: transparent; }
.builder-page .btn-primary { background: var(--watermelon); color: var(--charcoal); }
.builder-page .btn-primary:hover { background: #FF7891; }
.builder-page .step.active { background: var(--charcoal); color: white; }
.builder-page .step.done { background: var(--blue-soft); color: #234659; }
.builder-page .step { background: var(--pink-soft); color: #76515B; }
.builder-page .path-card.selected, .builder-page .choice-card.selected, .builder-page .product-choice.selected { border-color: var(--raspberry); }
.builder-page .offer-category-chip.active { background: var(--charcoal); color: white; }
.builder-page .occasion-landing-head { background: var(--pink-soft); border-radius: 18px; padding: 20px; }
.builder-page .occasion-landing-head h2 { font-size: 26px; line-height: 1.2; }
.builder-page .occasion-landing-head p { color: #63535A; }
.builder-page .offer-image { background: #F8F3EF; }
.builder-page .offer-image img { object-fit: contain; }
.builder-page .offer-price { color: var(--charcoal); }
.builder-page .offer-badge { background: var(--blue-soft); color: #26506A; }
.discovery-filterbar { display: flex; gap: 8px; overflow-x: auto; padding: 8px 0 17px; margin-bottom: 6px; }
.discovery-filterbar a { padding: 9px 12px; border-radius: 999px; border: 1px solid #D9C5BF; font-size: 11px; font-weight: 750; background: white; white-space: nowrap; }
.discovery-filterbar a.active { background: var(--charcoal); color: white; border-color: var(--charcoal); }
.builder-page .occasion-result-title h3 { letter-spacing: -.02em; }
.builder-page .summary { border-top: 5px solid var(--mango); }
.builder-page .site-nav a.active::after { background: var(--watermelon); }
.catalog-header h1 { font-size: clamp(32px,4vw,48px); }
.marketing-page .catalog-chip.active { background: var(--charcoal); color: white; }

@media (min-width: 1700px) {
  .wow-hero { padding-top: 50px; padding-bottom: 65px; }
}
@media (max-width: 1100px) {
  .site-container { padding-inline: 23px; }
  .premium-header .site-header-inner { padding-inline: 23px; grid-template-columns: 160px 1fr auto; gap: 12px; }
  .site-logo img { width: 154px; }
  .desktop-main-nav { gap: 16px; }
  .wow-copy { padding-left: 0; }
  .wow-copy h1 { font-size: 61px; }
  .wow-visual { height: 510px; }
  .hero-photo-frame { height: 450px; width: 73%; }
  .hero-extra-frame { height: 234px; right: -1%; }
  .wow-sticker { width: 117px; height: 117px; right: -4px; }
  .wow-sticker > span, .wow-sticker b { font-size: 9px; }
  .wow-spark--one { width: 55px; height: 55px; right: 4px; top: 164px; }
  .loved-grid { gap: 17px; }
  .love-card-photo { height: 245px; }
  .love-card-body { padding: 18px; }
  .budget-ticket { padding-inline: 15px; }
  .budget-ticket strong { font-size: 18px; }
  .magic-grid { gap: 42px; }
  .magic-photo-inner { height: 485px; }
  .magic-steps { grid-template-columns: 1fr; gap: 7px; }
  .magic-steps li { padding: 8px 10px; }
  .magic-steps li:last-child { grid-column: auto; }
  .today-wow { padding-inline: 36px; gap: 30px; grid-template-columns: 1fr 265px; }
  .story-v099 { gap: 45px; }
  .footer-v099 .footer-grid { grid-template-columns: 1fr 1fr; }
  .site-footer:not(.footer-v099) .footer-grid { grid-template-columns: 1fr 1fr; }
  .customer-moments-grid { grid-template-columns: minmax(0,1.15fr) minmax(240px,.85fr); grid-template-rows: repeat(2, 190px); }
  .builder-page .site-header-inner { display: flex; justify-content: space-between; gap: 10px; }
  .builder-page .site-nav-toggle { display: inline-grid; place-items: center; }
  .builder-page .site-nav { display: none; position: absolute; top: 77px; right: 14px; left: 14px; background: white; border-radius: 18px; border: 1px solid var(--mc-line); padding: 16px; flex-direction: column; }
  .builder-page .site-nav.open { display: flex; }
}
@media (max-width: 1000px) {
  .premium-header .site-header-inner { grid-template-columns: 40px 1fr auto; padding: 8px 18px; gap: 10px; }
  .site-menu-button { display: flex; }
  .premium-header .site-logo { justify-self: start; }
  .desktop-main-nav { display: none; }
  .premium-actions .header-icon-link { display: none; }
  .wow-copy h1 { font-size: 55px; }
  .big-cta { padding: 16px 20px; gap: 15px; font-size: 11px; }
  .wow-copy > p { font-size: 14px; }
  .wow-kicker { font-size: 10px; }
  .wow-proof { font-size: 10px; gap: 7px 10px; }
  .budget-tickets { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .budget-ticket strong { font-size: 22px; }
  .budget-ticket { min-height: 180px; }
  .budget-ticket:nth-child(4), .budget-ticket:nth-child(5) { grid-column: auto; }
  .home-v099 .home-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 85px; }
  .site-container { padding-inline: 20px; }
  .quickbar-inner { justify-content: center; padding: 7px 12px; min-height: 30px; font-size: 10px; }
  .quickbar-inner > span + span { display: none; }
  .premium-header .site-header-inner { padding: 7px 14px; }
  .site-logo img { width: 145px; height: 49px; }
  .header-cta { font-size: 11px; padding: 10px 13px; }
  .wow-hero { padding: 22px 0 30px; }
  .wow-hero-grid { grid-template-columns: 1fr; gap: 12px; }
  .wow-copy { text-align: center; padding: 3px 0 12px; }
  .wow-kicker { margin-bottom: 17px; }
  .wow-copy h1 { font-size: clamp(47px,8.5vw,66px); line-height: 1.03; }
  .wow-copy > p { max-width: 430px; margin: 23px auto 19px; font-size: 14px; line-height: 1.7; }
  .wow-actions { align-items: center; gap: 16px; }
  .wow-proof { justify-content: center; margin-top: 21px; }
  .wow-visual { width: 100%; max-width: 570px; height: 520px; margin: 0 auto; }
  .hero-photo-frame { top: 16px; height: 450px; left: 10%; width: 67%; }
  .hero-extra-frame { width: 30%; height: 235px; right: 3%; bottom: 13px; }
  .wow-orbit { inset: 30px 18px 20px; }
  .wow-sticker { right: 2%; top: 6px; width: 119px; height: 119px; }
  .wow-spark--one { right: 6%; top: 174px; }
  .wow-spark--two { bottom: 33px; left: 4%; }
  .wow-visual.has-video { height: 250px; }
  .wow-visual.has-video .hero-photo-frame { top: 6px; left: 0; width: 100%; border-radius: 18px; }
  .wow-visual.has-video .hero-video-toggle { left: 0; bottom: -48px; padding: 9px 14px; font-size: 11px; }
  .happy-strip { gap: 20px; justify-content: center; flex-wrap: wrap; padding: 12px 20px; font-size: 10px; letter-spacing: .08em; }
  .happy-strip span:nth-child(n+4) { display: none; }
  .happy-strip span:nth-child(2) { font-size: 16px; }
  .home-section { padding: 58px 0; }
  .section-head.center { margin-bottom: 28px; }
  .section-head h2 { font-size: 34px; }
  .section-head p { font-size: 14px; }
  .loved-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
  .love-card-photo { height: 255px; padding: 14px 10px; }
  .love-card-body { padding: 16px; gap: 12px; }
  .love-card-body h3 { font-size: 22px; }
  .love-card-body p { font-size: 11px; }
  .love-card-link { font-size: 11px; }
  .budget-tickets { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .budget-ticket { min-height: 184px; }
  .budget-ticket strong { font-size: 22px; }
  .budget-ticket:last-child { grid-column: 1/-1; min-height: 150px; }
  .budget-ticket:last-child .budget-emoji { position: absolute; right: 25px; top: 35px; font-size: 45px; }
  .budget-ticket:last-child strong { margin-top: 15px; }
  .home-v099 .home-product-image { aspect-ratio: .85/1; padding: 12px; }
  .home-v099 .home-product-body h3 { font-size: 16px; }
  .magic-grid { grid-template-columns: 1fr; gap: 35px; }
  .magic-photo { max-width: 450px; width: 100%; margin: 0 auto; padding-inline: 22px; }
  .magic-photo-inner { height: 460px; }
  .magic-label { font-size: 12px; left: 12%; }
  .magic-spark { right: -5px; top: -15px; font-size: 75px; }
  .magic-copy { text-align: center; }
  .magic-copy h2 { font-size: 43px; }
  .magic-copy > p { margin-inline: auto; }
  .magic-steps { grid-template-columns: 1fr 1fr; text-align: left; }
  .magic-steps li { min-height: 51px; }
  .magic-steps li:last-child { grid-column: 1/-1; justify-content: center; }
  .more-ideas { padding: 30px 0; }
  .today-wow { grid-template-columns: 1fr 180px; gap: 20px; padding: 28px; }
  .today-wow h2 { font-size: 39px; }
  .today-wow-photo { height: 230px; }
  .today-wow p { font-size: 12px; }
  .today-wow .site-btn-primary { font-size: 10px; }
  .today-wow-section { padding: 20px 0 52px; }
  .trust-section { padding-top: 0; }
  .trust-benefits { grid-template-columns: 1fr 1fr; }
  .trust-heading h2 { font-size: 21px; }
  .customer-moments-head h3 { font-size: 26px; }
  .customer-moments-grid { display: flex; grid-template-columns: none; grid-template-rows: none; gap: 13px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: -20px; padding: 0 20px 9px; max-width: none; }
  .customer-moments-grid::-webkit-scrollbar { display: none; }
  .customer-moment-card, .customer-moment-card:first-child { flex: 0 0 78vw; height: 340px; grid-row: auto; scroll-snap-align: center; border-radius: 22px; }
  .customer-moment-card:first-child img { object-position: center 40%; }
  .customer-moment-card:nth-child(2) img { object-position: center 28%; }
  .customer-moment-card:nth-child(3) img { object-position: center 35%; }
  .customer-moment-card figcaption { left: 15px; right: 15px; bottom: 14px; font-size: 12px; }
  .customer-moments-note::before { content: 'Desliza para ver más  →'; display: block; color: var(--raspberry); font-weight: 800; margin-bottom: 7px; }
  .story-v099 { grid-template-columns: 1fr; gap: 38px; }
  .story-v099 .story-photo { width: 85%; height: 470px; margin: 0 auto; }
  .story-v099 .story-copy { text-align: center; }
  .story-v099 .story-copy h2 { font-size: 36px; }
  .home-faq .faq-preview { grid-template-columns: 1fr; gap: 16px; }
  .home-faq .section-head { text-align: center; margin-bottom: 22px; }
  .home-faq .section-head h2 br { display: none; }
  .final-wow { padding: 54px 0 60px; }
  .final-wow h2 { font-size: 40px; }
  .footer-v099 .footer-grid { gap: 25px; }
  .footer-v099 .footer-bottom { display: grid; gap: 8px; }
  .builder-page .site-logo img { width: 128px; }
  .builder-page .site-actions { gap: 5px; }
  .builder-page .site-actions .site-btn { font-size: 10px; padding: 8px 10px; }
  .builder-page .site-actions .site-btn-primary { font-size: 10px; padding: 8px 10px; }
  .builder-page .site-nav-toggle { width: 35px; height: 40px; }
  .builder-page .occasion-landing-head { padding: 16px; }
}
@media (max-width: 480px) {
  .site-container { padding-inline: 17px; }
  .premium-header .site-header-inner { grid-template-columns: 30px 1fr auto; gap: 7px; padding-inline: 10px; }
  .site-menu-button { width: 32px; padding: 5px; }
  .site-logo img { width: 125px; height: 46px; }
  .header-cta { font-size: 10px; padding: 10px 11px; gap: 6px; }
  .wow-copy h1 { font-size: 49px; }
  .wow-copy > p { font-size: 13px; padding-inline: 5px; }
  .wow-kicker { font-size: 9px; padding: 8px 12px; }
  .wow-proof { font-size: 9px; gap: 10px; }
  .wow-visual { height: 402px; }
  .hero-photo-frame { width: 72%; height: 356px; left: 7%; padding: 7px 7px 31px; }
  .photo-note { font-size: 9px; bottom: 10px; left: 7px; right: 7px; }
  .hero-extra-frame { height: 171px; width: 34%; right: 0; bottom: 14px; padding: 5px 5px 28px; }
  .hero-extra-frame > span { font-size: 7px; bottom: 10px; inset-inline: 3px; }
  .wow-sticker { width: 95px; height: 95px; right: 0; top: 0; }
  .wow-sticker > span, .wow-sticker b { font-size: 7px; }
  .wow-spark--one { width: 38px; height: 38px; right: 3px; top: 121px; }
  .wow-spark--two { width: 31px; height: 31px; bottom: 8px; left: 5px; }
  .happy-strip { gap: 13px; font-size: 8px; min-height: 43px; }
  .only-mobile { display: initial; }
  .section-eyebrow { font-size: 9px; letter-spacing: .1em; }
  .section-head h2 { font-size: 31px; }
  .love-card { border-radius: 17px; }
  .love-card-photo { height: 188px; padding: 12px 7px; }
  .love-card-body { padding: 14px 12px; }
  .love-card-body h3 { font-size: 19px; }
  .love-card-body p { display: none; }
  .love-card-emoji { width: 32px; height: 32px; font-size: 18px; top: 9px; left: 9px; }
  .love-card-link { gap: 5px; font-size: 10px; }
  .love-card-link > span { width: 24px; height: 24px; font-size: 16px; }
  .budget-ticket { padding: 17px 13px 36px; min-height: 169px; }
  .budget-ticket strong { font-size: 19px; }
  .budget-ticket > span:not(.budget-emoji):not(.ticket-arrow) { font-size: 11px; }
  .budget-emoji { font-size: 23px; margin-bottom: 4px; }
  .budget-ticket:last-child { min-height: 129px; }
  .home-v099 .home-product-grid { display: grid; grid-template-columns: 1fr 1fr; overflow: visible; margin: 0; padding: 0; gap: 12px; }
  .home-v099 .home-product-card { min-width: 0; }
  .home-v099 .home-product-body { padding: 13px 11px; }
  .home-v099 .home-product-body h3 { font-size: 14px; min-height: 57px; }
  .home-v099 .home-product-meta { font-size: 8px; }
  .home-v099 .home-product-price { font-size: 13px; }
  .home-v099 .home-product-link { font-size: 10px; }
  .magic-photo-inner { height: 382px; }
  .magic-photo { padding-inline: 19px; }
  .magic-copy h2 { font-size: 37px; }
  .magic-copy > p { font-size: 13px; }
  .magic-steps { gap: 9px; }
  .magic-steps li { font-size: 10px; gap: 6px; padding: 10px; }
  .magic-steps li > span { font-size: 19px; }
  .today-wow { grid-template-columns: 1fr; padding: 27px; text-align: center; gap: 25px; }
  .today-wow h2 { font-size: 40px; }
  .today-wow-photo { width: 190px; height: 250px; margin: 0 auto; }
  .trust-heading { gap: 10px; }
  .trust-heading > span { font-size: 47px; }
  .trust-heading h2 { font-size: 18px; }
  .trust-benefits { gap: 9px; }
  .trust-benefits span { font-size: 10px; padding: 13px 6px; }
  .story-v099 .story-photo { width: 90%; height: 405px; }
  .story-v099 .story-copy h2 { font-size: 31px; }
  .story-v099 .story-copy p { font-size: 13px; }
  .home-faq .faq-list summary { padding: 16px; font-size: 12px; }
  .home-faq .faq-answer { padding: 0 16px 16px; font-size: 12px; }
  .final-wow h2 { font-size: 35px; }
  .footer-v099 .footer-grid { grid-template-columns: 1fr; }
  .site-footer:not(.footer-v099) .footer-grid { grid-template-columns: 1fr; }
  .footer-v099 .footer-logo { height: 64px; }
  .customer-moment-card, .customer-moment-card:first-child { flex-basis: 84vw; height: 320px; }
  .customer-moments-head h3 { font-size: 23px; }
  .site-footer:not(.footer-v099) .footer-bottom { display: grid; gap: 8px; }
  .builder-page .site-header-inner { padding-inline: 10px; flex-wrap: wrap; }
  .builder-page .site-logo img { width: 123px; height: 42px; }
  .builder-page #accountBtn { max-width: 105px; white-space: normal; line-height: 1.2; }
  .builder-page #topSummaryBtn { max-width: 86px; white-space: normal; line-height: 1.2; }
  .builder-page .occasion-landing-head h2 { font-size: 23px; }
}
@media (max-width: 360px) {
  .site-logo img { width: 104px; }
  .header-cta { font-size: 9px; padding-inline: 9px; }
  .wow-copy h1 { font-size: 43px; }
  .wow-visual { height: 365px; }
  .hero-photo-frame { height: 320px; }
  .hero-extra-frame { height: 149px; }
  .budget-ticket strong { font-size: 16px; }
  .love-card-photo { height: 166px; }
  .love-card-body h3 { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .love-card:hover, .budget-ticket:hover { transform: none; }
}

/* Acento azul cielo de la paleta original. */
.love-card--blue .love-card-link > span { background: var(--sky); }
.love-card--blue:hover .love-card-link > span { background: var(--charcoal); }
/* El carrusel de filtros no debe imponer su ancho mínimo al grid del constructor. */
.builder-page .builder-layout > *, .builder-page #occasionLanding { min-width: 0; }
.discovery-filterbar { min-width: 0; max-width: 100%; }

/* WhatsApp v0.9.16 · identidad visual reconocible */
@media (max-width:560px){
  .floating-whatsapp{width:56px;height:56px;padding:0;border-radius:50%;display:grid;place-items:center;}
  .floating-whatsapp .whatsapp-brand-icon{width:28px;height:28px;}
  .floating-whatsapp span{display:none;}
}

/* ================================================================
   Maracuyá v0.9.17 · afinaciones de marca / ocasiones / confianza
   ================================================================ */

/* Hero: dos decisiones equivalentes, mismo peso visual. */
.hero-signature{font-size:18px!important;font-weight:750;color:#5e514b!important;letter-spacing:-.01em;max-width:560px!important}
.hero-choice-actions{gap:12px}
.hero-choice-actions .big-cta{min-width:315px;justify-content:space-between;background:var(--watermelon);color:var(--charcoal)}
.hero-choice-actions .big-cta:hover{background:#ff7891}

/* Ocasiones: diez tarjetas equilibradas. Las nuevas no inventan fotografías. */
.loved-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.love-card-photo{height:220px;padding:13px 18px}
.love-card--graphic .love-card-photo{padding:0;display:grid;place-items:center;overflow:hidden;isolation:isolate}
.occasion-graphic::before,.occasion-graphic::after{content:'';position:absolute;border-radius:50%;z-index:-1}
.occasion-graphic::before{width:150px;height:150px;right:-32px;top:-42px;background:rgba(255,255,255,.68)}
.occasion-graphic::after{width:95px;height:95px;left:-24px;bottom:-30px;background:rgba(255,255,255,.5)}
.occasion-graphic--baby{background:linear-gradient(145deg,#dff3ff,#fff2f5)}
.occasion-graphic--recovery{background:linear-gradient(145deg,#fff1f4,#fff9f3)}
.occasion-graphic--support{background:linear-gradient(145deg,#e8f5ff,#f7f1fb)}
.occasion-graphic--home{background:linear-gradient(145deg,#fff5f7,#e8f5ff)}
.occasion-graphic-icon{font-size:72px;filter:drop-shadow(0 8px 12px rgba(37,37,37,.08))}
.occasion-graphic-mark{position:absolute;right:18px;bottom:12px;font-size:32px;font-weight:900;color:var(--watermelon)}
.love-card--blue .occasion-graphic-mark{color:#2d8ec7}

/* "La confianza..." en páginas internas: sin bloque negro. */
.marketing-page .section-green{background:linear-gradient(135deg,var(--cream) 0%,#e9f6ff 55%,#ffe7ed 100%);color:var(--charcoal);border-top:1px solid #e6dcd6;border-bottom:1px solid #e6dcd6}
.marketing-page .section-green .section-eyebrow{color:var(--raspberry)}
.marketing-page .section-green .section-head h2{color:var(--charcoal)}
.marketing-page .section-green .section-head p{color:#5e5651}
.marketing-page .section-green .trust-grid{gap:16px}
.marketing-page .section-green .trust-card{background:rgba(255,255,255,.82);border:1px solid rgba(105,191,244,.36);box-shadow:0 14px 34px rgba(77,114,135,.08);color:var(--charcoal)}
.marketing-page .section-green .trust-card:nth-child(even){border-color:rgba(255,92,122,.28);background:rgba(255,249,243,.9)}
.marketing-page .section-green .trust-card h3{color:var(--charcoal)}
.marketing-page .section-green .trust-card p{color:#625a55}

/* Frases reales de Google integradas en las fotos. */
.customer-moment-card figcaption{display:grid;gap:5px}
.customer-review-quote{display:block;font-size:13px;line-height:1.42;font-weight:800}
.customer-review-author{display:block;font-size:10px;line-height:1.3;font-weight:700;opacity:.86}
.customer-moments-note{max-width:760px}
#googleReviewsLink{border-color:#bcdff3;background:white;color:var(--charcoal)}
#googleReviewsLink:hover{background:var(--blue-soft)}

@media(max-width:1100px){
  .loved-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
  .love-card-photo{height:230px}
}
@media(max-width:760px){
  .hero-signature{font-size:16px!important;line-height:1.6!important;margin:21px auto 20px!important}
  .hero-choice-actions{width:min(100%,390px);margin-inline:auto;align-items:stretch}
  .hero-choice-actions .big-cta{width:100%;min-width:0;justify-content:space-between}
  .loved-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .love-card-photo{height:190px;padding:11px 8px}
  .occasion-graphic-icon{font-size:56px}
  .occasion-graphic-mark{font-size:26px;right:12px;bottom:8px}
  .customer-review-quote{font-size:12px}
  .customer-review-author{font-size:9px}
}
@media(max-width:420px){
  .love-card-photo{height:166px}
  .occasion-graphic-icon{font-size:49px}
  .hero-choice-actions .big-cta{font-size:11px;padding:15px 18px}
}

/* ===== v0.9.18 · Hero simplificado y ritmo visual de ocasiones ===== */
.home-v099 .wow-hero{padding:42px 0 28px}
.home-v099 .wow-hero-grid{grid-template-columns:1fr;gap:26px;max-width:1080px;margin:0 auto}
.home-v099 .wow-copy{text-align:center;padding:18px 0 0;max-width:900px;margin:0 auto}
.home-v099 .wow-copy h1{font-size:clamp(52px,6vw,84px);line-height:1.02;max-width:880px;margin:0 auto}
.home-v099 .hero-signature{max-width:760px!important;margin:24px auto 0!important;font-size:clamp(18px,2vw,24px)!important;line-height:1.5!important}
.home-v099 .wow-visual{width:min(100%,960px);margin:0 auto}
.home-v099 .wow-visual.has-video{height:auto;min-height:0;aspect-ratio:16/9;margin-bottom:12px}
.home-v099 .wow-visual.has-video .hero-photo-frame{top:0;left:0;width:100%;height:100%;aspect-ratio:16/9;border-radius:28px}
.home-v099 .wow-visual.has-video .hero-video-toggle{left:16px;bottom:14px;z-index:8}
.home-v099 .loved-section{padding-top:66px}
.home-v099 .love-card--pink .love-card-body{background:var(--pink-soft)}
.home-v099 .love-card--blue .love-card-body{background:var(--blue-soft)}
.home-v099 .love-card--pink .love-card-link>span{background:var(--watermelon)}
.home-v099 .love-card--blue .love-card-link>span{background:var(--sky)}

@media(max-width:760px){
  .home-v099 .wow-hero{padding:28px 0 18px}
  .home-v099 .wow-hero-grid{gap:22px}
  .home-v099 .wow-copy{padding-top:8px}
  .home-v099 .wow-copy h1{font-size:clamp(44px,11vw,61px);line-height:1.02}
  .home-v099 .hero-signature{font-size:17px!important;margin-top:20px!important;padding-inline:10px}
  .home-v099 .wow-visual{width:100%;max-width:680px}
  .home-v099 .wow-visual.has-video{height:auto;aspect-ratio:16/9;margin-bottom:0}
  .home-v099 .wow-visual.has-video .hero-photo-frame{top:0;left:0;width:100%;height:100%;border-radius:20px}
  .home-v099 .wow-visual.has-video .hero-video-toggle{left:10px;bottom:10px}
  .home-v099 .loved-section{padding-top:52px}
}

/* Accesos interactivos de beneficios */
.trust-benefits a{display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;padding:18px 12px;border-radius:12px;text-decoration:none;color:inherit;background:#fff;border:1px solid #e6ded7;font-weight:750;transition:transform .18s ease,box-shadow .18s ease}
.trust-benefits a:hover,.trust-benefits a:focus-visible{transform:translateY(-2px);box-shadow:0 6px 15px #00000013;outline-offset:3px}


/* Reseñas auténticas de Google Maps · diseño Maracuyá */
#googleReviewsSection{max-width:1110px;margin:64px auto 0;text-align:center}
#googleReviewsSection .section-head{margin-bottom:25px}
#googleReviewSummary{color:#5e514d;font-size:15px}
#googleReviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:stretch;text-align:left}
#googleReviews .review-card-google{display:flex;flex-direction:column;min-width:0;padding:23px;background:#fff;border:1px solid #eee1da;border-radius:23px;box-shadow:0 10px 25px rgba(41,35,32,.06);overflow-wrap:anywhere}
#googleReviews .review-card-top{display:flex;align-items:center;gap:11px;min-width:0;margin-bottom:14px}
.google-review-avatar-link{width:48px;height:48px;flex-shrink:0;display:inline-flex;border-radius:50%;overflow:hidden}
.google-review-avatar{display:block;width:48px;height:48px;flex-shrink:0;object-fit:cover;border-radius:50%;border:1px solid #e4d8d2;background:#f5eef0}
.google-review-avatar-fallback{display:grid;place-items:center;color:#7c344c;font-size:19px;font-weight:800}
#googleReviews .review-card-author{display:flex;flex-direction:column;min-width:0;gap:2px;flex:1}
#googleReviews .review-card-author strong{font-size:14px;line-height:1.3;color:#2a2525}
#googleReviews .review-card-author strong a:hover{text-decoration:underline}
#googleReviews .review-card-author span{font-size:12px;color:#69605b}
.google-review-source{font-family:Roboto,Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:normal;color:#5e5e5e;white-space:nowrap;align-self:start}
#googleReviews .review-stars{font-size:20px;letter-spacing:2px;color:#e0a32e;margin:0 0 12px;line-height:1.15}
#googleReviews .google-review-text{font-size:14px;line-height:1.65;color:#48423f;white-space:pre-line;margin:0 0 17px;flex-grow:1}
.google-review-empty{font-style:italic;color:#827978!important}
.google-review-translated{display:block;font-size:11px;color:#746c68;margin-bottom:10px}
.google-review-footer{border-top:1px solid #f0e7e3;margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.google-review-footer a{font-size:12px;font-weight:750;color:#8b2347;text-decoration:none}
.google-review-footer a:hover{text-decoration:underline}
.google-review-footer .google-review-report{font-size:11px;font-weight:500;color:#736966}
.google-review-disclosure{max-width:850px;margin:19px auto 0;color:#706561;font-size:12px;line-height:1.55;text-align:center}
.google-review-loading{grid-column:1/-1;text-align:center;color:#766d67;padding:20px;margin:0}
#googleReviewsSection .center-action{margin-top:23px}
#googleReviewsSection #googleReviewsLink{border-radius:999px;border-color:#afd9f2;background:#fff;color:#232323;font-weight:750}
@media(max-width:930px){#googleReviews{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 #googleReviewsSection{margin-top:48px}
 #googleReviews{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:4px 2px 18px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
 #googleReviews .review-card-google{flex:0 0 min(86vw,340px);scroll-snap-align:start;padding:19px;border-radius:19px}
 #googleReviewsSection .section-head h2{font-size:clamp(26px,8vw,34px)}
 #googleReviewSummary{font-size:13px}
 #googleReviews .google-review-text{font-size:13px}
}

/* Sexta tarjeta: acceso honesto a las demás reseñas, sin duplicar opiniones. */
#googleReviews .google-reviews-more-card{
  align-items:center;
  justify-content:center;
  gap:16px;
  text-align:center;
  text-decoration:none;
  color:var(--charcoal);
  background:linear-gradient(158deg,#ffe9ef 0%,#fff8f2 63%,#e6f4ff 100%);
  border:1px solid #edcdd8;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
#googleReviews .google-reviews-more-card:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 32px rgba(145,49,83,.13);
  border-color:#e9a9c0;
}
#googleReviews .google-reviews-more-card:focus-visible{
  outline:3px solid #953558;
  outline-offset:4px;
}
.google-reviews-more-icon{
  display:grid;place-items:center;
  width:64px;height:64px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 5px 14px rgba(107,56,74,.08);
  color:var(--raspberry);
  font-size:32px;
}
.google-reviews-more-kicker{
  letter-spacing:.10em;
  text-transform:uppercase;
  color:#97334e;
  font-weight:800;
  font-size:11px;
}
#googleReviews .google-reviews-more-card>strong{
  max-width:280px;
  font-size:clamp(21px,2.2vw,26px);
  line-height:1.2;
  letter-spacing:-.035em;
}
#googleReviews .google-reviews-more-card>p{
  max-width:255px;
  color:#625653;
  font-size:14px;
  line-height:1.55;
  margin:0;
  flex-grow:0;
}
.google-reviews-more-foot{
  color:#982848;
  background:#fff;
  border:1px solid #edced9;
  border-radius:999px;
  padding:11px 15px;
  line-height:1.45;
  font-size:12px;
  font-weight:750;
}
@media(max-width:640px){
  #googleReviews .google-reviews-more-card{
    min-height:300px;
    padding:20px 17px;
  }
  #googleReviews .google-reviews-more-card>strong{font-size:23px}
}
