/*** CONTENIDO HTML PAQUETES TRAVEL CARE FSL ***/
.travel-box-fsl {
    font-size: 14px;
    /* TamaÃ±o de fuente ajustado a 14px */
    border: 1px solid #CCCCCC;
    /* Borde gris */
    box-shadow: 0 2px 4px rgba(116, 75, 181, 0.8);
    /* Sombra lila */
    border-radius: 8px;
    /* Bordes redondeados */
    padding: 10px;
    /* Espaciado interior */
    margin: 20px 0;
    /* Margen exterior para separarlo de otros elementos */
    background-color: rgba(250, 250, 250, 0.95);
    /* Color de fondo mÃ¡s claro con un poco de transparencia */
    line-height: 1.6;
    /* Ajusta el espacio entre líneas */
    text-align: justify;
    /* Alinea el texto a ambos lados */
}

.travel-box-fsl:hover {
    box-shadow: 0 2px 4px rgba(92, 191, 236, 0.8);
    /* Sombra azul al pasar el ratÃ³n */
}

.offer-box-fsl {
    font-family: 'Poppins-Regular', sans-serif;
    border: 1px solid #CCCCCC;
    /* Borde sutil */
    box-shadow: 0 2px 4px rgba(116, 75, 181, 0.8);
    /* Sombra lila inicial */
    border-radius: 8px;
    /* Bordes redondeados */
    padding: 20px;
    /* Espaciado interior suficiente */
    margin: 20px 0;
    /* Margen exterior para separarlo de otros elementos */
    background-color: rgba(24, 23, 96, 0.8);
    /* Fondo azul oscuro ligeramente transparente */
    color: white;
    /* Texto en blanco */
    line-height: 1.6;
    /* Ajusta el espacio entre líneas */
    text-align: justify;
    /* Alinea el texto a ambos lados */
}

.offer-box-fsl:hover {
    box-shadow: 0 2px 4px rgba(92, 191, 236, 0.8);
    /* Sombra azul al pasar el ratÃ³n */
}

.offer-title-fsl {
    font-size: 24px;
    /* TamaÃ±o de fuente para el tÃ­tulo */
    font-weight: bold;
    /* Fuente en negrita */
    margin-bottom: 15px;
    /* Margen inferior para separar del texto */
}

.offer-description-fsl {
    font-size: 16px;
    /* TamaÃ±o adecuado para lectura confortable */
}

.travel-box-condition-icon-fsl {
    margin-right: 10px;
    /* Espacio a la derecha del Ã­cono */
    color: #744bb5;
    /* Ajusta este color segÃºn el diseÃ±o de tu web */
    font-size: 24px;
    /* Hace los Ã­conos mÃ¡s grandes */
    flex-shrink: 0;
    /* Evita que el Ã­cono se reduzca */
}

.travel-box-condition-icon-small-fsl {
    margin-right: 8px;
    /* Espacio a la derecha del Ã­cono */
    color: #744bb5;
    /* Ajusta este color segÃºn el diseÃ±o de tu web */
    font-size: 18px;
    /* Ã­cono Small */
    flex-shrink: 0;
    /* Evita que el Ã­cono se reduzca */
    align-self: flex-start;
    /* Alinea el ícono con el inicio del texto */
}

.travel-box-condition-fsl {
    display: flex;
    /* Usa flexbox para alinear Ã­cono y texto */
    align-items: center;
    /* Alinea verticalmente el Ã­cono con el texto */
    font-size: 16px;
    /* TamaÃ±o de fuente ajustado a 16px */
    border: 1px solid #CCCCCC;
    /* Borde gris */
    box-shadow: 0 2px 4px rgba(116, 75, 181, 0.5);
    /* Sombra lila */
    border-radius: 8px;
    /* Bordes redondeados */
    padding: 15px;
    /* Espaciado interior */
    margin-bottom: 10px;
    /* Margen inferior */
    background-color: rgba(250, 250, 250, 0.95);
    /* Color de fondo mÃ¡s claro con un poco de transparencia */
}

.travel-box-condition-fsl:hover {
    box-shadow: 0 2px 4px rgba(92, 191, 236, 0.8);
    /* Sombra azul al pasar el ratÃ³n, similar al contenedor principal */
}

.travel-box-condition-small-fsl {
    display: flex;
    /* Usa flexbox para alinear Ã­cono y texto */
    align-items: center;
    /* Alinea verticalmente el Ã­cono con el texto */
    font-size: 14px;
    /* TamaÃ±o de fuente ajustado a 16px */
    border: 1px solid #CCCCCC;
    /* Borde gris */
    box-shadow: 0 2px 4px rgba(116, 75, 181, 0.5);
    /* Sombra lila */
    border-radius: 8px;
    /* Bordes redondeados */
    padding: 12px;
    /* Espaciado interior */
    margin-bottom: 10px;
    /* Margen inferior */
    background-color: rgba(250, 250, 250, 0.95);
    /* Color de fondo mÃ¡s claro con un poco de transparencia */
    flex-wrap: wrap;
    /* Permite que el contenido se ajuste en nuevas líneas */
    word-wrap: break-word;
    /* Opcional: Permite que las palabras largas se dividan en varias líneas si es necesario */
    line-height: 1.5;
    /* Espacio entre las líneas */
}

.travel-box-condition-small-paquetes-fsl {
    display: flex;
    /* Usa flexbox para alinear ícono y texto */
    align-items: center;
    /* Alinea verticalmente el ícono con el texto */
    font-size: 14px;
    /* Tamaño de fuente ajustado a 14px */
    border: 1px solid #CCCCCC;
    /* Borde gris */
    box-shadow: 0 2px 4px rgba(116, 75, 181, 0.5);
    /* Sombra lila */
    border-radius: 8px;
    /* Bordes redondeados */
    padding: 6px;
    /* Espaciado interior reducido */
    margin-bottom: 10px;
    /* Margen inferior */
    background-color: rgba(250, 250, 250, 0.95);
    /* Color de fondo claro con un poco de transparencia */
    flex-wrap: wrap;
    /* Permite que el contenido se ajuste en nuevas líneas */
    word-wrap: break-word;
    /* Divide palabras largas en varias líneas si es necesario */
    line-height: 1;
    /* Espacio reducido entre líneas */
}


.travel-box-condition-small-fsl:hover {
    box-shadow: 0 2px 4px rgba(92, 191, 236, 0.8);
    /* Sombra azul al pasar el ratÃ³n, similar al contenedor principal */
}

.travel-box-condition-small-paquetes-fsl:hover {
    box-shadow: 0 2px 4px rgba(92, 191, 236, 0.8);
    /* Sombra azul al pasar el ratÃ³n, similar al contenedor principal */
}

@keyframes slideInFromLeft {
    0% {
        transform: translateX(-100%);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

.price-box-fsl {
    position: relative;
    /* Mantiene el cuadro dentro del flujo normal del documento, ajusta segÃºn tu contenedor */
    left: 0;
    /* Asegura que estÃ© lo mÃ¡s a la izquierda posible */
    top: 20px;
    /* PosiciÃ³n vertical, ajustable segÃºn necesites */
    width: fit-content;
    /* Ajusta el ancho al contenido, con un mÃ¡ximo del 50% del contenedor padre */
    max-width: 50%;
    /* Limita el ancho mÃ¡ximo a 50% del ancho del contenedor padre */
    padding: 10px 20px;
    /* Espaciado interno para el texto */
    margin: 0 0 20px 0;
    /* Margen exterior, ajustable segÃºn la posiciÃ³n en tu pÃ¡gina */
    background-color: rgba(24, 23, 96, 0.8);
    /* Color de fondo azul */
    color: white;
    /* Color del texto */
    border: 1px solid #CCCCCC;
    /* Borde sutil alrededor del cuadro */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    /* Sombra suave para agregar profundidad */
    border-radius: 8px;
    /* Esquinas redondeadas para el cuadro */
    text-align: right;
    /* AlineaciÃ³n del texto a la derecha dentro del cuadro */
    animation: slideInFromLeft 0.5s ease-out forwards;
    /* AnimaciÃ³n para efecto de apariciÃ³n */
}

.price-box-fsl:hover {
    box-shadow: 0 2px 4px rgba(92, 191, 236, 0.8);
    /* Sombra azul al pasar el ratÃ³n */
}

.price-title-fsl {
    font-size: 20px;
    /* TamaÃ±o del texto para el precio */
    font-weight: bold;
    /* Texto en negrita */
    color: #ffffff;
    /* Color del texto, ajusta segÃºn tu esquema de color */
}

.price-description-fsl {
    font-size: 10px;
    /* TamaÃ±o de fuente mÃ¡s pequeÃ±o para la descripciÃ³n */
    color: #ffffff;
    /* Color del texto mÃ¡s suave */
}

@media (max-width: 768px) {
    .offer-box-fsl {
        font-size: 12px;
        /* Reduce el tamaÃ±o de la fuente para dispositivos mÃ³viles */
    }

    .offer-title-fsl {
        font-size: 18px;
        /* Reduce el tamaÃ±o de la fuente del tÃ­tulo para dispositivos mÃ³viles */
    }

    .offer-description-fsl {
        font-size: 14px;
        /* Reduce el tamaÃ±o de la fuente de la descripciÃ³n para dispositivos mÃ³viles */
    }

    .travel-box-condition-fsl {
        text-align: left;
        font-size: 14px;
    }

    .travel-box-condition-small-fsl {
        text-align: left;
        font-size: 12px;
    }

    .travel-box-condition-small-paquetes-fsl {
        text-align: left;
        font-size: 12px;
    }

}

/*** CONTENIDO HTML PAQUETES ACT TRAVEL CARE FSL ***/

.buttons-container-fsl {
    display: flex;
    width: 100%;
    justify-content: space-between;
    box-sizing: border-box;
}

.button-fsl {
    font-size: 16px;
    flex: 1;
    background-color: #f4e30f;
    color: #181760;
    border: none;
    padding: 10px 0;
    border-radius: 5px;
    box-shadow: 2px 2px 4px #744bb5;
    cursor: pointer;
    transition: background-color 0.3s, box-shadow 0.3s;
    margin: 0 10px;
    /* Ajusta el espacio entre botones */
    text-align: center;
}

.button-fsl:hover {
    background-color: #fbf46d;
    box-shadow: 2px 2px 4px #5cbfec;
}

.content-fsl {
    display: none;
    border: none;
    /* Elimina el borde */
    box-shadow: none;
    /* Elimina la sombra */
    border-radius: 0;
    /* Opcional: elimina el borde redondeado si prefieres esquinas cuadradas */
    padding: 0px;
    background-color: transparent;
    /* Hace el fondo totalmente transparente */
    margin-top: 0px;
}


@media (max-width: 768px) {
    .button-fsl {
        font-size: 12px;
        /* TamaÃ±o del texto mÃ¡s pequeÃ±o para dispositivos mÃ³viles */
        padding: 8px 0;
        /* Menos padding para ahorrar espacio */
        margin: 0 2px;
        /* Ajustar margen entre botones si es necesario */
    }

    .content-fsl {
        padding: 10px;
        /* Ajusta el padding del contenido para dispositivos mÃ³viles si es necesario */
    }
}

.travel-box-0-fsl {
    font-size: 14px;
    /* TamaÃ±o de fuente ajustado a 14px */
    border: none;
    box-shadow: none;
    border-radius: 0;
    /* Bordes redondeados */
    padding: 0px;
    /* Espaciado interior */
    margin: 0px 0;
    /* Margen exterior para separarlo de otros elementos */
    background-color: transparent;
    /* Hace el fondo totalmente transparente */
    line-height: 1.6;
    /* Ajusta el espacio entre líneas */
    text-align: justify;
    /* Alinea el texto a ambos lados */
}

/* Aeonik Regular */
@font-face {
    font-family: 'Aeonik';
    src: url('/CMS/Servidor/Travelcare/Documentos/Fonts/Aeonik/Aeonik-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Aeonik Bold */
@font-face {
    font-family: 'Aeonik';
    src: url('/CMS/Servidor/Travelcare/Documentos/Fonts/Aeonik/Aeonik-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Clase específica para aplicar Aeonik al título */
.aeonik-title {
    font-family: 'Aeonik', sans-serif;
}

:root {
    --tc-main-fsl-v2: #5cbfec;
    --tc-accent-fsl-v2: #744bb5;
    --tc-cta-fsl-v2: #f4e30f;
    --tc-text-fsl-v2: #181760;

    --tc-bg-fsl-v2: #f7fbff;
    --tc-card-fsl-v2: #ffffff;
    --tc-muted-fsl-v2: #6b7280;
    --tc-border-fsl-v2: rgba(24, 23, 96, .12);
    --tc-shadow-fsl-v2: 0 16px 46px rgba(24, 23, 96, .10);
    --tc-shadow2-fsl-v2: 0 10px 26px rgba(24, 23, 96, .08);
    --tc-radius-fsl-v2: 18px;
}

/* Scope */
.tc-wrap-fsl-v2,
.tc-wrap-fsl-v2 * {
    box-sizing: border-box;
}

.tc-wrap-fsl-v2 {
    color: var(--tc-text-fsl-v2);
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

.tc-wrap-fsl-v2 a {
    color: var(--tc-accent-fsl-v2);
    font-weight: 800;
    text-decoration: none;
}

.tc-wrap-fsl-v2 a:hover {
    text-decoration: underline;
}

/* Peso base: NO todo en negrita */
.tc-wrap-fsl-v2 p,
.tc-wrap-fsl-v2 li {
    font-weight: 520;
}

.tc-wrap-fsl-v2 strong {
    font-weight: 900;
}

/* Card base (aplica encima de tu travel-box-0-fsl) */
.tc-card-fsl-v2 {
    background:
        radial-gradient(1200px 320px at 15% 0%, rgba(92, 191, 236, .10), transparent 60%),
        radial-gradient(900px 320px at 95% 10%, rgba(116, 75, 181, .08), transparent 55%),
        linear-gradient(180deg, #fff, rgba(92, 191, 236, .03));
    border: 1px solid var(--tc-border-fsl-v2);
    border-radius: var(--tc-radius-fsl-v2);
    box-shadow: var(--tc-shadow-fsl-v2);
    padding: 16px;
    margin: 18px 0;
    overflow: hidden;
    position: relative;
}

/* HERO premium */
.tc-hero-fsl-v2 {
    border: 1px solid rgba(92, 191, 236, .30);
    background:
        radial-gradient(1200px 340px at 20% 0%, rgba(92, 191, 236, .20), transparent 62%),
        radial-gradient(900px 280px at 95% 10%, rgba(116, 75, 181, .18), transparent 58%),
        linear-gradient(135deg, rgba(92, 191, 236, .14), rgba(116, 75, 181, .10));
    border-radius: 16px;
    padding: 14px 14px 12px 14px;
    margin: 8px 0 14px 0;
    position: relative;
    overflow: hidden;
}

.tc-hero-fsl-v2::before {
    content: "";
    position: absolute;
    inset: -45%;
    background:
        conic-gradient(from 200deg, rgba(92, 191, 236, .24), rgba(116, 75, 181, .16), rgba(92, 191, 236, .18));
    opacity: .24;
    filter: blur(14px);
    animation: tcGlowSpin-fsl-v2 10s linear infinite;
}

@keyframes tcGlowSpin-fsl-v2 {
    from {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(360deg)
    }
}

.tc-hero-inner-fsl-v2 {
    position: relative;
    z-index: 2;
}

/* “Título” sin H */
.tc-title-fsl-v2 {
    margin: 0 0 6px 0;
    font-size: 1.10rem;
    font-weight: 980;
    letter-spacing: .2px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.tc-subtitle-fsl-v2 {
    margin: 0;
    color: var(--tc-muted-fsl-v2);
    font-weight: 700;
    line-height: 1.35;
}

/* Bandera */
.tc-flag-fsl-v2 {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(24, 23, 96, .08);
    border: 1px solid rgba(24, 23, 96, .10);
    background: #fff;
    display: inline-block;
}

/* Precio */
.tc-pricebar-fsl-v2 {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.tc-pricebox-fsl-v2 {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .76);
    border: 1px solid rgba(24, 23, 96, .10);
    box-shadow: 0 10px 24px rgba(24, 23, 96, .06);
    backdrop-filter: blur(6px);
}

.tc-price-fsl-v2 {
    font-size: 1.32rem;
    font-weight: 1000;
    color: var(--tc-text-fsl-v2);
    line-height: 1.05;
}

.tc-price-meta-fsl-v2 {
    font-weight: 820;
    color: var(--tc-muted-fsl-v2);
    font-size: .92rem;
}

/* Badges */
.tc-badges-fsl-v2 {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 0 0;
    padding: 0;
    list-style: none;
}

.tc-badge-fsl-v2 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px dashed rgba(116, 75, 181, .30);
    background: rgba(116, 75, 181, .06);
    padding: 8px 10px;
    border-radius: 999px;
    font-weight: 900;
    font-size: .92rem;
    box-shadow: 0 8px 18px rgba(24, 23, 96, .05);
}

.tc-badge-fsl-v2 i {
    color: var(--tc-accent-fsl-v2);
}

/* Tabs */
.tc-tabs-fsl-v2 {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 4px 0 10px 0;
}

.tc-tabbtn-fsl-v2 {
    appearance: none;
    border: 1px solid var(--tc-border-fsl-v2);
    background: #fff;
    color: var(--tc-text-fsl-v2);
    border-radius: 999px;
    padding: 10px 14px;
    font-weight: 950;
    cursor: pointer;
    transition: transform .08s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
    box-shadow: 0 8px 18px rgba(24, 23, 96, .06);
}

.tc-tabbtn-fsl-v2:hover {
    transform: translateY(-1px);
    border-color: rgba(92, 191, 236, .55);
}

.tc-tabbtn-fsl-v2.tc-active-fsl-v2 {
    background: linear-gradient(90deg, rgba(92, 191, 236, .22), rgba(116, 75, 181, .16));
    border-color: rgba(116, 75, 181, .35);
}

/* Secciones */
.tc-section-fsl-v2 {
    display: block;
}

.tc-section-fsl-v2[hidden] {
    display: none !important;
}

/* “Títulos” internos sin H */
.tc-section-title-fsl-v2 {
    margin: 10px 0 10px 0;
    font-size: 1.08rem;
    font-weight: 950;
    letter-spacing: .2px;
}

.tc-p-fsl-v2 {
    margin: 8px 0 10px 0;
    line-height: 1.65;
}

/* Incluidos grid */
.tc-includes-grid-fsl-v2 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 10px 0 6px 0;
}

.tc-include-item-fsl-v2 {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 12px;
    border: 1px solid var(--tc-border-fsl-v2);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 22px rgba(24, 23, 96, .05);
}

/* Iconos: FA o SVG alineados igual */
.tc-icon-fsl-v2 {
    color: var(--tc-accent-fsl-v2);
    margin-top: 2px;
    min-width: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tc-svg-inline-fsl-v2 {
    width: 18px;
    height: 18px;
    display: inline-block;
    margin-top: 2px;
    min-width: 18px;
    object-fit: contain;
}

/* Nota */
.tc-note-fsl-v2 {
    border: 1px solid rgba(244, 227, 15, .45);
    background: rgba(244, 227, 15, .12);
    border-radius: 14px;
    padding: 10px 12px;
    margin: 12px 0 6px 0;
    font-weight: 780;
    color: var(--tc-text-fsl-v2);
    box-shadow: 0 10px 22px rgba(24, 23, 96, .05);
}

.tc-note-fsl-v2 i {
    color: var(--tc-accent-fsl-v2);
    margin-right: 8px;
}

/* ===== PROGRAMA: BLOQUE 3 COLUMNAS (50/25/25) ===== */
.tc-program-media-fsl-v2 {
    position: relative;
    border-radius: 18px;
    border: 1px solid rgba(92, 191, 236, .28);
    background:
        radial-gradient(900px 280px at 10% 0%, rgba(92, 191, 236, .18), transparent 62%),
        radial-gradient(800px 260px at 100% 10%, rgba(116, 75, 181, .16), transparent 60%),
        linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(92, 191, 236, .03));
    box-shadow: var(--tc-shadow2-fsl-v2);
    padding: 12px;
    overflow: hidden;
    margin: 10px 0 14px 0;
}

.tc-program-media-fsl-v2::before {
    content: "";
    position: absolute;
    inset: -30%;
    background:
        radial-gradient(circle at 40% 40%, rgba(92, 191, 236, .32), transparent 55%),
        radial-gradient(circle at 60% 60%, rgba(116, 75, 181, .24), transparent 58%);
    filter: blur(18px);
    opacity: .55;
    animation: tcFloatGlow-fsl-v2 7s ease-in-out infinite;
}

@keyframes tcFloatGlow-fsl-v2 {

    0%,
    100% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(18px, -10px, 0);
    }
}

.tc-program-grid-fsl-v2 {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.tc-media-card-fsl-v2 {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(24, 23, 96, .10);
    box-shadow: 0 10px 22px rgba(24, 23, 96, .06);
}

.tc-media-card-fsl-v2 img {
    width: 100%;
    height: auto;
    display: block;
}

.tc-media-card-center-fsl-v2 {
    display: flex;
    align-items: center;
    /* centra vertical */
    justify-content: center;
    /* centra horizontal */
}

.tc-media-card-center-fsl-v2 img {
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    /* evita recortes */
}

.tc-media-card-cover-fsl-v2 {
    height: 100%;
}

.tc-media-card-cover-fsl-v2 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* rellena el cuadro */
    object-position: center;
    display: block;
}

.tc-program-side-fsl-v2 {
    position: relative;
    border-radius: 16px;
    border: 1px dashed rgba(24, 23, 96, .16);
    background: rgba(255, 255, 255, .70);
    padding: 12px;
    overflow: hidden;
    box-shadow: 0 10px 22px rgba(24, 23, 96, .05);
}

.tc-program-side-fsl-v2::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 30% 20%, rgba(92, 191, 236, .22), transparent 60%),
        radial-gradient(circle at 80% 70%, rgba(116, 75, 181, .18), transparent 62%);
    opacity: .7;
}

.tc-side-list-fsl-v2 {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.tc-iconchip-fsl-v2 {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 10px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(24, 23, 96, .10);
    box-shadow: 0 10px 22px rgba(24, 23, 96, .05);
    font-weight: 900;
}

.tc-iconchip-fsl-v2 i,
.tc-iconchip-fsl-v2 img {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(92, 191, 236, .18);
    border: 1px solid rgba(92, 191, 236, .30);
    padding: 6px;
    object-fit: contain;
}

.tc-iconchip-fsl-v2 i {
    color: var(--tc-text-fsl-v2);
    padding: 0;
}

.tc-fly-fsl-v2 {
    position: absolute;
    right: 14px;
    top: 16px;
    color: rgba(92, 191, 236, .75);
    font-size: 22px;
    animation: tcFly-fsl-v2 5.5s ease-in-out infinite;
    z-index: 3;
    pointer-events: none;
}

@keyframes tcFly-fsl-v2 {

    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(0deg);
        opacity: .75;
    }

    50% {
        transform: translate3d(-10px, 8px, 0) rotate(-6deg);
        opacity: 1;
    }
}

/* Day card */
.tc-daycard-fsl-v2 {
    border: 1px solid var(--tc-border-fsl-v2);
    border-radius: 16px;
    background: linear-gradient(180deg, #fff, rgba(92, 191, 236, .04));
    box-shadow: 0 12px 26px rgba(24, 23, 96, .06);
    padding: 12px;
    margin: 12px 0;
    position: relative;
    overflow: hidden;
}

.tc-daycard-fsl-v2::before {
    content: "";
    position: absolute;
    top: -40px;
    left: -40px;
    width: 160px;
    height: 160px;
    border-radius: 48px;
    background: linear-gradient(135deg, rgba(92, 191, 236, .22), rgba(116, 75, 181, .14));
    opacity: .45;
    transform: rotate(18deg);
}

.tc-dayhead-fsl-v2 {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 6px;
}

.tc-daynum-fsl-v2 {
    min-width: 44px;
    height: 44px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(92, 191, 236, .28), rgba(116, 75, 181, .18));
    border: 1px solid rgba(92, 191, 236, .30);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 1000;
    color: var(--tc-text-fsl-v2);
    box-shadow: 0 10px 22px rgba(24, 23, 96, .06);
}

.tc-day-titletext-fsl-v2 {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 1000;
    letter-spacing: .1px;
}

.tc-day-routetext-fsl-v2 {
    margin: 2px 0 0 0;
    color: var(--tc-muted-fsl-v2);
    font-weight: 780;
    font-size: .92rem;
}

/* Meals chips */
.tc-meals-fsl-v2 {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 6px 0;
    padding: 0;
    list-style: none;
}

.tc-mealchip-fsl-v2 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(24, 23, 96, .10);
    background: rgba(247, 251, 255, .90);
    padding: 8px 10px;
    border-radius: 999px;
    font-weight: 880;
    font-size: .92rem;
    box-shadow: 0 10px 20px rgba(24, 23, 96, .04);
}

.tc-mealchip-fsl-v2 i {
    color: var(--tc-main-fsl-v2);
}

.tc-muted-fsl-v2 {
    color: var(--tc-muted-fsl-v2);
    font-weight: 760;
}

/* Experiencias (más presencia del #5cbfec) */
.tc-exp-fsl-v2 {
    position: relative;
    z-index: 2;
    border: 1px solid rgba(92, 191, 236, .50);
    background:
        radial-gradient(700px 240px at 20% 0%, rgba(92, 191, 236, .30), transparent 60%),
        linear-gradient(180deg, rgba(92, 191, 236, .14), rgba(255, 255, 255, .86));
    border-radius: 16px;
    padding: 12px;
    margin: 10px 0 6px 0;
    box-shadow: 0 14px 30px rgba(24, 23, 96, .06);
    overflow: hidden;
}

.tc-exp-head-fsl-v2 {
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 0 0 6px 0;
    font-weight: 1000;
}

.tc-exp-iconbox-fsl-v2 {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    background: rgba(92, 191, 236, .24);
    border: 1px solid rgba(92, 191, 236, .55);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 22px rgba(24, 23, 96, .06);
    flex: 0 0 auto;
}

.tc-exp-iconbox-fsl-v2 i {
    color: var(--tc-text-fsl-v2);
}

.tc-exp-iconbox-fsl-v2 img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    display: block;
}

.tc-exp-text-fsl-v2 {
    margin: 0;
    line-height: 1.6;
    font-weight: 520;
    /* <- para evitar “todo negrita” */
}

/* Opcional */
.tc-optional-fsl-v2 {
    border: 1px dashed rgba(116, 75, 181, .45);
    background:
        linear-gradient(180deg, rgba(116, 75, 181, .08), rgba(255, 255, 255, .90));
    border-radius: 16px;
    padding: 12px;
    margin: 10px 0 6px 0;
    box-shadow: 0 12px 24px rgba(24, 23, 96, .05);
}

.tc-optional-head-fsl-v2 {
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 0 0 6px 0;
    font-weight: 1000;
    color: var(--tc-accent-fsl-v2);
}

.tc-optional-head-fsl-v2 i {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(116, 75, 181, .12);
    border: 1px solid rgba(116, 75, 181, .30);
}

.tc-optional-text-fsl-v2 {
    margin: 0;
    line-height: 1.6;
    font-weight: 520;
}

/* Hoteles */
.tc-hotelgrid-fsl-v2 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 10px;
}

.tc-hotelcard-fsl-v2 {
    border: 1px solid var(--tc-border-fsl-v2);
    border-radius: 16px;
    padding: 12px;
    background: #fff;
    box-shadow: 0 12px 26px rgba(24, 23, 96, .06);
}

.tc-hotel-title-fsl-v2 {
    margin: 0 0 8px 0;
    color: var(--tc-accent-fsl-v2);
    font-weight: 1000;
    font-size: 1rem;
}

.tc-hotelitem-fsl-v2 {
    margin: 8px 0;
    padding: 10px 10px;
    border: 1px solid rgba(24, 23, 96, .10);
    border-radius: 14px;
    background: rgba(92, 191, 236, .06);
    font-weight: 820;
}

/* Listas (no incluidos/pago) */
.tc-listrow-fsl-v2 {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 12px;
    border: 1px solid rgba(24, 23, 96, .10);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 22px rgba(24, 23, 96, .05);
    margin: 8px 0;
}

.tc-x-fsl-v2 {
    font-weight: 1000;
    min-width: 18px;
    margin-top: 1px;
}

.tc-hide-mt-fsl-v2 {
    display: none !important;
}

/* Responsive */
@media (min-width: 760px) {
    .tc-includes-grid-fsl-v2 {
        grid-template-columns: 1fr 1fr;
    }

    .tc-hotelgrid-fsl-v2 {
        grid-template-columns: 1fr 1fr;
    }

    .tc-program-grid-fsl-v2 {
        grid-template-columns: 2fr 1fr 1fr;
    }

    /* 50/25/25 aprox */
}

@media (prefers-reduced-motion: reduce) {

    .tc-hero-fsl-v2::before,
    .tc-program-media-fsl-v2::before,
    .tc-fly-fsl-v2 {
        animation: none !important;
    }
}

/* En escritorio (>=1024px) se muestran */
@media (min-width:1024px) {
    .tc-hide-mt-fsl-v2 {
        display: block !important;
    }
}

/* En móvil/tablet fuerza el grid a 1 columna */
@media (max-width:1023px) {
    .tc-program-grid-fsl-v2 {
        grid-template-columns: 1fr !important;
    }
}