/* ═══════════════════════════════════════════════════
   Manteles para Bodas — Cards con Imágenes en Carrusel
   Estilos específicos para la sección PRODUCTOS/PAQUETES
   NO afecta otras secciones o landings
═══════════════════════════════════════════════════ */

/* ── Carrusel Slick ──────────────────────────────── */
.slick-carousel-bodas {
    display: flex;
    gap: 24px;
}

.slick-carousel-bodas.slick-initialized {
    display: block;
}

/* ── Slide del carrusel ──────────────────────────── */
.slick-carousel-bodas .slick-slide {
    padding: 0 12px;
    height: auto !important;
}

.slick-carousel-bodas .slick-slide > div {
    display: flex;
    height: 100%;
}

.slick-carousel-bodas .slick-list {
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
}

/* ── Sección contenedora ─────────────────────────── */
#productos-manteles {
    margin-bottom: 0 !important;
    /* Se veía con demasiado aire arriba (padding del hero + padding
       de .bpb-selector). Se recorta solo en esta sección. */
    padding-top: clamp(1.75rem, 3.5vw, 2.75rem) !important;
}

#productos-manteles .bpb-selector-inner {
    margin-bottom: 0 !important;
}

#productos-manteles .bpb-selector-subtitle {
    margin-bottom: 32px !important;
}

/* Eliminar espacio excesivo abajo del carrusel - no reservar espacio para dots */
#productos-manteles .slick-carousel-bodas {
    margin-bottom: 0 !important;
}

/* ── Container de cards centradas ────────────────── */
#productos-manteles .slick-carousel-bodas {
    text-align: center;
}

/* ── Card con contenido centrado ─────────────────── */
#productos-manteles .bpb-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto;
}

/* ── Badge centrado ──────────────────────────────── */
#productos-manteles .bpb-card-badge {
    align-self: center;
    margin: 0 auto;
}

/* ── Rol/Título centrado ─────────────────────────── */
#productos-manteles .bpb-card-role {
    text-align: center;
    width: 100%;
}

/* ── Descripción centrada ────────────────────────── */
#productos-manteles .bpb-card-desc {
    text-align: center;
    width: 100%;
    flex-grow: 0 !important;
    flex-shrink: 0;
}

/* ── Imagen con borde y centrada ─────────────────── */
#productos-manteles .bpb-card picture {
    display: block;
    width: 100%;
    max-width: 280px;
    margin: 16px auto;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(160, 80, 96, 0.15);
    aspect-ratio: 4 / 3;
}

#productos-manteles .bpb-card picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border: 2.5px solid #a05060;
    border-radius: 12px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#productos-manteles .bpb-card picture img:hover {
    transform: scale(1.03);
    box-shadow: 0 8px 20px rgba(160, 80, 96, 0.25);
}

/* ── Botón CTA centrado ──────────────────────────── */
#productos-manteles .bpb-card-cta {
    align-self: center;
    margin-top: auto;
    margin-bottom: 0;
}

/* ── Micro-texto centrado ────────────────────────── */
#productos-manteles .bpb-card-micro {
    text-align: center;
    width: 100%;
}

/* ── Responsive: una columna en móvil ────────────– */
@media (max-width: 768px) {
    #productos-manteles .bpb-cards {
        grid-template-columns: 1fr;
    }
}

/* ── Responsive: ajustar imagen en pantallas pequeñas */
@media (max-width: 480px) {
    #productos-manteles .bpb-card picture {
        max-width: 100%;
    }

    #productos-manteles .bpb-card-role {
        font-size: 1.1rem;
    }
}

/* ═══════════════════════════════════════════════════
   Estilos de Controles Slick — Flechas y Puntos
═══════════════════════════════════════════════════ */

/* ── Flechas de navegación ──────────────────────── */
.slick-carousel-bodas .slick-prev,
.slick-carousel-bodas .slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 38px;
    height: 38px;
    background: rgba(160, 80, 96, 0.85);
    border: 1.5px solid #a05060;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
}

.slick-carousel-bodas .slick-prev::before,
.slick-carousel-bodas .slick-next::before {
    content: '';
}

.slick-carousel-bodas .slick-prev {
    left: 0;
}

.slick-carousel-bodas .slick-next {
    right: 0;
}

/* Flechas decorativas */
.slick-carousel-bodas .slick-prev::after {
    content: '←';
    font-size: 16px;
}

.slick-carousel-bodas .slick-next::after {
    content: '→';
    font-size: 16px;
}

/* ── Puntos de navegación (dots) ─────────────────── */
.slick-carousel-bodas .slick-dots {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: none !important;
    justify-content: center;
    gap: 10px;
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
}

.slick-carousel-bodas .slick-dots li {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #d4a5b0;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.slick-carousel-bodas .slick-dots li.slick-active {
    background-color: #a05060;
}

.slick-carousel-bodas .slick-dots button {
    display: none;
}

/* ── Espacios adicionales en contenedor ──────────– */
#productos-manteles .slick-carousel-bodas {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    position: relative;
    padding: 0 30px 0 30px !important;
    display: block !important;
    overflow: visible !important;
    height: auto !important;
}

.slick-carousel-bodas .slick-track {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    margin-left: -12px;
    margin-right: -12px;
    display: flex !important;
    height: auto !important;
}

.slick-carousel-bodas .slick-slide {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
}

/* ── Responsive: mostrar dots en móvil ──────────– */
@media (max-width: 768px) {
    .slick-carousel-bodas .slick-dots {
        display: flex !important;
        visibility: visible !important;
        height: auto !important;
        overflow: visible !important;
        bottom: -25px !important;
        position: absolute !important;
    }

    #productos-manteles .slick-carousel-bodas {
        margin-bottom: 20px !important;
        padding-bottom: 20px !important;
    }

    .slick-carousel-bodas .slick-prev,
    .slick-carousel-bodas .slick-next {
        width: 34px;
        height: 34px;
        font-size: 14px;
    }

    .slick-carousel-bodas .slick-prev::after,
    .slick-carousel-bodas .slick-next::after {
        font-size: 14px;
    }

    #productos-manteles .slick-carousel-bodas {
        padding: 0 20px;
    }
}

/* ═══════════════════════════════════════════════════
   Manteles para Bodas — "Ventajas de comprar en Fiubags"
   Paleta bodas: tinta #2d1420 · acento #a05060
═══════════════════════════════════════════════════ */
.bpb-ventajas {
    background: #f7f1f2;
    padding: clamp(3rem, 6vw, 4.5rem) 0;
    font-family: 'Poppins', sans-serif;
}
.bpb-ventajas-inner {
    max-width: 1140px;
    width: min(1140px, calc(100% - 40px));
    margin: 0 auto;
}
.bpb-ventajas-header {
    text-align: center;
    margin-bottom: clamp(2rem, 4vw, 3rem);
}
.bpb-ventajas-header .bpb-eyebrow {
    margin-left: auto;
    margin-right: auto;
}
.bpb-ventajas-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.7rem, 3.8vw, 2.5rem);
    font-weight: 700;
    color: #2d1420;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin: 0;
}
.bpb-ventajas-title .accent { color: #a05060; }

/* ── 4 tarjetas de ventaja ── */
.bpb-ventajas-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: clamp(2rem, 4vw, 2.75rem);
}
.bpb-vent-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
    padding: 26px 18px;
    background: #ffffff;
    border: 1px solid rgba(45, 20, 32, 0.12);
    border-radius: 18px;
    box-shadow: 0 4px 18px rgba(45, 20, 32, 0.06);
}
.bpb-vent-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(160, 80, 96, 0.12);
    color: #a05060;
    flex-shrink: 0;
}
.bpb-vent-icon svg { width: 24px; height: 24px; }
.bpb-vent-icon--wa { background: rgba(37, 211, 102, 0.14); color: #1da851; }
.bpb-vent-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: #2d1420;
}
.bpb-vent-sub {
    margin: 4px 0 0;
    font-size: 0.8rem;
    line-height: 1.45;
    color: rgba(45, 20, 32, 0.65);
}

/* ── Métodos de pago · paqueterías · rating ── */
.bpb-vent-brands {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.bpb-vent-brand-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center;
    padding: 20px 18px;
    background: #ffffff;
    border: 1px solid rgba(45, 20, 32, 0.12);
    border-radius: 18px;
    box-shadow: 0 4px 18px rgba(45, 20, 32, 0.06);
}
.bpb-vent-brand-label {
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #a05060;
}
.bpb-vent-logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 14px 16px;
}
.bpb-vent-logos img {
    height: 26px;
    width: auto;
    object-fit: contain;
}
.bpb-vent-logos img.bpb-vent-logo--ml { height: 32px; }
.bpb-vent-rating-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: inherit;
}
.bpb-vent-stars { color: #d8a93a; letter-spacing: 1px; font-size: 1rem; }
.bpb-vent-value { font-weight: 700; color: #2d1420; font-size: 0.9rem; }
.bpb-vent-count { font-size: 0.75rem; color: rgba(45, 20, 32, 0.6); }
.bpb-vent-rating-sub { margin: 0; font-size: 0.7rem; color: #a05060; }

@media (max-width: 900px) {
    .bpb-ventajas-grid { grid-template-columns: repeat(2, 1fr); }
    .bpb-vent-brands { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .bpb-ventajas-grid { gap: 12px; }
}

/* ═══════════════════════════════════════════════════
   Manteles para Bodas — "Aplicaciones posibles" en cards
   (sección PERSONALIZACIÓN: título · texto centrado ·
    6 cards 2×3 · aclaración centrada)
═══════════════════════════════════════════════════ */
.bpb-personalization-content--stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    width: 100%;
    max-width: 1140px;
}
.bpb-personalization-content--stack .bpb-personalization-copy {
    max-width: 760px;
}
.bpb-personalization-content--stack .bpb-personalization-subtitle {
    margin: 4px 0 0;
    text-align: center;
}
/* 6 aplicaciones: 3 columnas × 2 filas */
.bpb-apps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    width: 100%;
    max-width: 900px;
}
.bpb-app-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    padding: 22px 14px;
    background: #ffffff;
    border: 1.5px solid #ecdde0;
    border-radius: 16px;
    box-shadow: 0 4px 14px rgba(160, 80, 96, 0.08);
}
.bpb-app-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(160, 80, 96, 0.12);
    color: #a05060;
    flex-shrink: 0;
}
.bpb-app-icon svg { width: 20px; height: 20px; }
.bpb-app-label {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 600;
    color: #2d1420;
    line-height: 1.3;
}
/* Aclaración expandida a todo el ancho del contenedor */
.bpb-personalization-content--stack .bpb-personalization-notice {
    text-align: center;
    max-width: none;
    width: 100%;
}
@media (max-width: 640px) {
    .bpb-apps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 400px) {
    .bpb-apps { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════
   Manteles para Bodas — Reseñas (include.comentarios)
   con la paleta de esta página. Scoped a #reviews para
   no afectar el mismo include en otras landings.
═══════════════════════════════════════════════════ */
#reviews {
    scroll-margin-top: 90px;
    display: flow-root;   /* contiene el float de .reviews-section */
    background: #faf4f0;  /* fondo a todo el ancho de la página */
}
#reviews .reviews-section { background: transparent; }
#reviews .reviews-eyebrow { color: #a05060; }
#reviews .reviews-titulo { color: #2d1420; }
#reviews .reviews-titulo .reviews-rating { color: #a05060; }
#reviews .reviews-sub { color: rgba(45, 20, 32, 0.65); }
#reviews .review-card {
    border-color: #ecdde0;
    box-shadow: 0 4px 14px rgba(160, 80, 96, 0.08);
}
#reviews .review-stars { color: #d8a93a; }
#reviews .review-text { color: rgba(45, 20, 32, 0.75); }
#reviews .review-author strong { color: #2d1420; }
#reviews .review-date { color: rgba(45, 20, 32, 0.5); }
#reviews .reviews-pagination .swiper-pagination-bullet { background: #a05060; opacity: 0.4; }
#reviews .reviews-pagination .swiper-pagination-bullet-active { background: #a05060; opacity: 1; }

/* La pastilla "Nuestros clientes nos califican" hace scroll a las reseñas */
.bpb-vent-rating-link {
    cursor: pointer;
    transition: transform 0.2s ease;
}
.bpb-vent-rating-link:hover { transform: translateY(-1px); }
.bpb-vent-rating-link:hover .bpb-vent-value { text-decoration: underline; }

/* ═══════════════════════════════════════════════════
   Manteles para Bodas — HERO estilo "eventos"
   (encabezado centrado arriba + galería de fotos, paleta bodas)
═══════════════════════════════════════════════════ */
.hero-fiubags--bodas-split {
    background: #faf4f0;
    color: #2d1420;
    min-height: 0;
    padding: 1.25rem 0 clamp(2.5rem, 6vw, 4.5rem);
    display: block;
    align-items: initial;
}
/* fuera imagen de fondo + overlay oscuro del hero clásico */
.hero-fiubags--bodas-split::before,
.hero-fiubags--bodas-split::after {
    content: none;
    display: none;
}
.hero-fiubags--bodas-split .hf-container {
    max-width: 1200px;
    width: min(1200px, calc(100% - 32px));
}

/* ── Eyebrow + título centrados, arriba de las 2 columnas ── */
.hero-fiubags--bodas-split .hf-top {
    text-align: center;
    margin-bottom: clamp(1.25rem, 3vw, 2rem);
}
.hero-fiubags--bodas-split .hf-top .hf-eyebrow {
    margin: 0 auto 18px;
}
.hero-fiubags--bodas-split .hf-top .hf-title {
    text-align: center;
    margin: 0 auto 16px;
}
.hero-fiubags--bodas-split .hf-top .hf-body-note {
    width: 100%;
    margin: 0;
    text-align: left;
}

/* ── Grid: texto izquierda · galería derecha ── */
.hero-fiubags--bodas-split .hf-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    column-gap: clamp(1.5rem, 3.5vw, 2.75rem);
    row-gap: 16px;
    align-items: start;
}
.hero-fiubags--bodas-split .hf-body {
    order: 1;
    text-align: left;
}

/* ── Eyebrow ── */
.hero-fiubags--bodas-split .hf-eyebrow {
    background: rgba(45, 20, 32, 0.06);
    border: 1px solid rgba(45, 20, 32, 0.18);
    color: #2d1420;
    margin-bottom: 16px;
}
.hero-fiubags--bodas-split .hf-eyebrow svg { color: #a05060; }

/* ── Título / body-note / subtítulo ── */
.hero-fiubags--bodas-split .hf-title {
    color: #2d1420;
    max-width: none;
    margin: 0 0 14px;
    font-size: clamp(1.8rem, 4.2vw, 2.6rem);
}
.hero-fiubags--bodas-split .hf-title .accent { color: #a05060; }

.hero-fiubags--bodas-split .hf-body-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 18px;
    padding: 12px 16px;
    background: rgba(45, 20, 32, 0.06);
    border-left: 3px solid #a05060;
    border-radius: 10px;
    color: #2d1420;
    font-size: 0.9rem;
    line-height: 1.55;
}
.hero-fiubags--bodas-split .hf-body-note svg {
    width: 17px;
    height: 17px;
    flex-shrink: 0;
    margin-top: 2px;
    color: #a05060;
}

.hero-fiubags--bodas-split .hf-subtitle {
    color: rgba(45, 20, 32, 0.72);
    max-width: none;
    margin: 0 0 16px;
}
.hero-fiubags--bodas-split .hf-subtitle strong {
    color: #2d1420;
    font-weight: 600;
}
.hero-fiubags--bodas-split .hf-micro {
    color: rgba(45, 20, 32, 0.6);
    max-width: none;
    margin: 0;
}

/* Los 2 CTAs del hero en la misma fila */
.hero-fiubags--bodas-split .hf-actions {
    flex-wrap: nowrap;
    gap: 0.75rem;
}
.hero-fiubags--bodas-split .hf-cta {
    white-space: nowrap;
    padding: 12px 20px;
    font-size: 0.92rem;
}
/* "Ver colores y estilos": contorno rosa vino para que no compita con el
   CTA principal ("Cotizar manteles para mi boda") */
.hero-fiubags--bodas-split .hf-cta.hf-cta-secondary {
    background: transparent;
    color: #a05060;
    border: 2px solid #a05060;
    box-shadow: none;
}
.hero-fiubags--bodas-split .hf-cta.hf-cta-secondary:hover,
.hero-fiubags--bodas-split .hf-cta.hf-cta-secondary:focus-visible {
    background: #a05060;
    color: #fff;
    border-color: #a05060;
    box-shadow: 0 8px 20px rgba(160, 80, 96, 0.25);
    transform: translateY(-2px);
}
@media (max-width: 520px) {
    .hero-fiubags--bodas-split .hf-actions { flex-wrap: wrap; }
}
/* ── Galería — columna derecha, mosaico 2×2 ── */
.hero-fiubags--bodas-split .hf-media { order: 2; }
.hero-fiubags--bodas-split .hf-media-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.hero-fiubags--bodas-split .hf-media-tile {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 14px 36px rgba(160, 80, 96, 0.16);
    transition: transform .35s cubic-bezier(.22, 1, .36, 1), box-shadow .35s ease;
}
.hero-fiubags--bodas-split .hf-media-tile:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 44px rgba(160, 80, 96, 0.24);
}
.hero-fiubags--bodas-split .hf-media-grid picture { display: block; }
.hero-fiubags--bodas-split .hf-media-grid img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform .5s cubic-bezier(.22, 1, .36, 1);
}
.hero-fiubags--bodas-split .hf-media-tile:hover img {
    transform: scale(1.08);
}
.hero-fiubags--bodas-split .hf-media-tile::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(45, 20, 32, 0) 45%, rgba(45, 20, 32, .72) 100%);
    opacity: 0;
    transition: opacity .3s ease;
    pointer-events: none;
}
.hero-fiubags--bodas-split .hf-media-tile:hover::after { opacity: 1; }
.hero-fiubags--bodas-split .hf-media-caption {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 10px;
    z-index: 1;
    margin: 0;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: .76rem;
    font-weight: 600;
    line-height: 1.3;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .3s ease, transform .3s ease;
}
.hero-fiubags--bodas-split .hf-media-tile:hover .hf-media-caption {
    opacity: 1;
    transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
    .hero-fiubags--bodas-split .hf-media-tile,
    .hero-fiubags--bodas-split .hf-media-grid img,
    .hero-fiubags--bodas-split .hf-media-tile::after,
    .hero-fiubags--bodas-split .hf-media-caption {
        transition: none;
    }
}

/* ── Chips de datos — junto al texto, dentro de .hf-body ── */
.hero-fiubags--bodas-split .hf-specs-grid {
    list-style: none;
    padding: 0;
    margin: 16px 0 22px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.hero-fiubags--bodas-split .hf-spec-badge {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 14px;
    background: #ffffff;
    border: 1px solid #ecdde0;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(160, 80, 96, 0.08);
    transition: border-color 0.25s ease;
}
.hero-fiubags--bodas-split .hf-spec-badge:hover {
    border-color: #a05060;
}
/* Palomita tipo bullet: la base viene de bolsas-para-eventos.css, que
   esta página no carga, así que aquí se define completa */
.hero-fiubags--bodas-split .hf-spec-badge .hf-check {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 2px;
    color: #a05060;
}
.hero-fiubags--bodas-split .hf-spec-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.hero-fiubags--bodas-split .hf-spec-label {
    display: block;
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #a05060;
    margin: 0;
    line-height: 1.1;
}
.hero-fiubags--bodas-split .hf-spec-value {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    color: #2d1420;
    margin: 3px 0 0;
    line-height: 1.25;
}

/* ── Responsive ── */
@media (max-width: 860px) {
    .hero-fiubags--bodas-split .hf-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }
    /* Orden en móvil: galería · descripción · chips · CTA · micro
       (eyebrow y título ya están arriba, fuera de hf-grid, en .hf-top) */
    .hero-fiubags--bodas-split .hf-body,
    .hero-fiubags--bodas-split .hf-media {
        display: contents;
    }
    .hero-fiubags--bodas-split .hf-media-grid {
        order: 3;
        width: 100%;
        max-width: 480px;
        margin: 0 auto 18px;
        gap: 10px;
    }
    .hero-fiubags--bodas-split .hf-subtitle    { order: 4; margin: 0 0 16px; }
    .hero-fiubags--bodas-split .hf-specs-grid  { order: 5; margin: 0 0 18px; }
    .hero-fiubags--bodas-split .hf-actions     { order: 6; margin: 0 0 12px; }
    .hero-fiubags--bodas-split .hf-micro       { order: 7; }
}
@media (max-width: 560px) {
    .hero-fiubags--bodas-split .hf-spec-badge { min-width: 140px; }
}


/* ═══════════════════════════════════════════════════
   Manteles para Bodas — recorte de aire entre
   "Haz que Cada Mesa…" (CTA final) y "Nuestros clientes
   nos califican" (reseñas): .final-cta-section trae
   padding-bottom clamp(4rem,8vw,6.5rem) + .reviews-section
   padding-top 64px encima, se apilaban ~170px.
═══════════════════════════════════════════════════ */
#cta-final { padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }

/* ── Interlinks dentro de las descripciones de #productos-manteles
   (mesas redondas / tablón) ── */
#productos-manteles .bpb-card-desc-link {
    color: #a05060;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}
#productos-manteles .bpb-card-desc-link:hover {
    color: #2d1420;
}

/* ── "¿Qué color de mantel elegir?" (#guia-colores) en móvil ──
   Las 6 cards se apilaban a 1 columna a todo el ancho y obligaban
   a mucho scroll: en móvil van en rejilla de 3 (2 en pantallas muy
   angostas), más compactas, y la imagen de abajo más baja. */
/* Indicación "Selecciona un estilo…" arriba de las cards de color */
#guia-colores .styles-select-hint {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 0.85rem;
    font-style: italic;
    color: #6b5560;
}
@media (max-width: 768px) {
    /* Orden en móvil: cards de color (rejilla de 3) · imagen · botón
       "Quiero más información". La columna de cards y sus 2 sub-columnas
       se "abren" (display: contents) para que cards, imagen y botón
       queden como hijos directos de la rejilla de .styles-layout. */
    #guia-colores .styles-layout {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
    #guia-colores .styles-cards-column,
    #guia-colores .styles-cards-subcolumn {
        display: contents;
    }
    #guia-colores .styles-select-hint    { order: 0; grid-column: 1 / -1; text-align: center; font-size: 0.8rem; }
    #guia-colores .style-card            { order: 1; }
    #guia-colores .styles-image-column   { order: 2; grid-column: 1 / -1; margin-top: 10px; }
    #guia-colores .styles-help-container { order: 3; grid-column: 1 / -1; }
    #guia-colores .style-card {
        padding: 10px 8px;
        gap: 6px;
        border-radius: 12px;
        align-items: center;
        text-align: center;
    }
    #guia-colores .style-name {
        font-size: 0.82rem;
        line-height: 1.2;
    }
    #guia-colores .style-colors {
        gap: 4px;
        margin-top: 0;
        justify-content: center;
    }
    #guia-colores .color-badge {
        width: 18px;
        height: 18px;
    }
    #guia-colores .styles-image {
        max-height: 260px;
    }
}
@media (max-width: 359px) {
    #guia-colores .styles-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ═══════════════════════════════════════════════════
   "Completa los Detalles de tu Boda" (solo manteles)
   Tarjetas más suaves (menos "caja"), link tipo pastilla
   sin la animación de la flecha y carrusel infinito
   (data-loop en #complementsCarousel, lógica en bodas.js).
   ═══════════════════════════════════════════════════ */
.complements-section .complement-card {
    background: #fff;
    border: 1px solid #efe4e7;
    border-radius: 24px;
    padding: 24px 18px 20px;
    gap: 10px;
    box-shadow: 0 6px 18px rgba(45, 20, 32, 0.06);
}
.complements-section .complement-card:hover {
    transform: translateY(-5px);
    border-color: #a05060;
    box-shadow: 0 16px 36px rgba(45, 20, 32, 0.14);
}
.complements-section .complement-icon {
    width: 52px;
    height: 52px;
    border: none;
    border-radius: 50%;
    background: #faf4f0;
}
.complements-section .complement-icon svg {
    width: 22px;
    height: 22px;
}
.complements-section .complement-name {
    font-size: 0.92rem;
}
.complements-section .complement-desc {
    font-size: 0.8rem;
}

/* Link como pastilla, sin separar la flecha al pasar el mouse */
.complements-section .complement-link,
.complements-section .complement-link.complement-link--neutral,
.complements-section a.complement-link[href*="wa.me"],
.complements-section a.complement-link[href*="api.whatsapp.com"] {
    gap: 6px;
    align-self: center;
    padding: 8px 18px;
    border-radius: 999px;
    border: 1px solid #ecdde0;
    background-color: #faf4f0 !important;
    color: #2d1420 !important;
    font-size: 0.78rem;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.complements-section .complement-link:hover,
.complements-section .complement-link.complement-link--neutral:hover,
.complements-section a.complement-link[href*="wa.me"]:hover,
.complements-section a.complement-link[href*="api.whatsapp.com"]:hover {
    gap: 6px;
    background-color: #2d1420 !important;
    border-color: #2d1420;
    color: #fff !important;
}

/* Carrusel infinito: las flechas nunca se desactivan */
.complements-section .carousel-btn:disabled {
    opacity: 1;
    cursor: pointer;
}

/* Flechas: al pasar el mouse solo cambian de color, sin moverse ni crecer
   (style.css aplica transform: scale(1.1) y les quita el centrado vertical) */
.complements-section .carousel-btn,
.complements-section .carousel-btn:hover,
.complements-section .carousel-btn:focus-visible,
.complements-section .carousel-btn:active {
    transform: translateY(-50%);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.complements-section .carousel-btn svg,
.complements-section .carousel-btn:hover svg {
    transform: none;
    transition: color 0.2s ease;
}

@media (prefers-reduced-motion: reduce) {
    .complements-section .complement-card:hover {
        transform: none;
    }
}
