/**
Theme Name: Essilor Luxottica
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: essilorluxottica
Template: astra

*/

/*fonts*/

/* Avenir Black */
@font-face {
    font-family: "Avenir";
    src: url("fonts/Avenir-Black.ttf") format("truetype");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Avenir Heavy */
@font-face {
    font-family: "Avenir";
    src: url("fonts/Avenir-Heavy-Regular.woff2") format("woff2"),
        url("fonts/Avenir-Heavy.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Avenir Medium */
@font-face {
    font-family: "Avenir";
    src: url("fonts/Avenir-Medium-Regular.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* Avenir Regular (Roman) */
@font-face {
    font-family: "Avenir";
    src: url("fonts/Avenir-Roman.woff2") format("woff2"),
        url("fonts/Avenir-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Avenir Book */
@font-face {
    font-family: "Avenir";
    src: url("fonts/Avenir-Book.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* Avenir Light */
@font-face {
    font-family: "Avenir";
    src: url("fonts/Avenir-Light-Regular.woff2") format("woff2"),
        url("fonts/Avenir-Light.ttf") format("truetype");
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

/*iconos*/
@font-face {
    font-family: 'essilor';
    src: url('fonts/essilor.eot?14099477');
    src: url('fonts/essilor.eot?14099477#iefix') format('embedded-opentype'),
        url('fonts/essilor.woff2?14099477') format('woff2'),
        url('fonts/essilor.woff?14099477') format('woff'),
        url('fonts/essilor.ttf?14099477') format('truetype'),
        url('fonts/essilor.svg?14099477#essilor') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'essilor';
    src: url('../font/essilor.svg?14099477#essilor') format('svg');
  }
}
*/
[class^="icon-"]:before,
[class*=" icon-"]:before {
    font-family: "essilor";
    font-style: normal;
    font-weight: normal;
    speak: never;

    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: .2em;
    text-align: center;
    /* opacity: .8; */

    /* For safety - reset parent styles, that can break glyph codes*/
    font-variant: normal;
    text-transform: none;

    /* fix buttons height, for twitter bootstrap */
    line-height: 1em;

    /* Animation center compensation - margins should be symmetric */
    /* remove if not needed */
    margin-left: .2em;

    /* you can be more comfortable with increased icons size */
    /* font-size: 120%; */

    /* Font smoothing. That was taken from TWBS */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    /* Uncomment for 3D effect */
    /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-arrow-prev:before {
    content: '\e800';
}

/* '' */
.icon-arrow-next:before {
    content: '\e801';
}

/* '' */


/*general*/

body {
    font-family: "Avenir", sans-serif !important;
}

h1,
h2,
h3 {
    font-family: "Avenir", sans-serif !important;
    font-weight: 600;
    /* usa Avenir Black */
}

p {
    font-weight: 400;
    line-height: 1.5em;
    /* usa Avenir Book */
}

div#primary {
    padding-top: 32px !important;
}

.lux_more {
    position: relative;
    display: inline-block;
    /* o block según necesites */
}

.lux_more::after {
    content: "";
    position: absolute;
    right: 30px;
    bottom: 30px;
    width: 30px;
    height: 30px;
    background-image: url(/wp-content/uploads/2025/12/Layer_2_00000155129449201875106620000016220338799965890715_.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 10;
    /* Para asegurar que esté por encima */
}

.lux-slider-arrow svg {
    display: none !important;
}

.lux-slider-arrow::after {
    font-family: 'essilor' !important;
    font-size: 20px;
    line-height: 1;
}

.lux-slider-arrow.lux-prev::after {
    content: '\e800';
}

.lux-slider-arrow.lux-prev {
    left: -10px;
    position: absolute;
    top: 250px;
    width: 40px;
    height: 40px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 50%;
    color: #999;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 20;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    font-family: 'essilor';
    font-size: 20px;
    transition: all 0.2s ease;
}

.lux-slider-arrow.lux-next::after {
    content: '\e801';
}

.lux-slider-arrow.lux-next {
    right: -10px;
    position: absolute;
    top: 250px;
    width: 40px;
    height: 40px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 50%;
    color: #999;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 20;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    font-family: 'essilor';
    font-size: 20px;
    transition: all 0.2s ease;
}

/*footer*/

footer ul#menu-policies-menu {
    display: flex;
    justify-content: center;
    column-gap: 1em;
}

footer .menu li::after {
    width: 1px;
    height: 1em;
    background-color: #000;
    content: "";
    position: absolute;
    margin-left: 0.5em;
    top: 0.2em;
}

footer .menu li:last-child::after {
    display: none;
}

/*diseño*/

.menu-backoffice p {
    cursor: pointer;
}

.facturasadmin,
.perfil {
    display: none;
}

.generaladmin {
    display: block;
}

.btn_cliente,
.btn_user1,
.btn_saldo,
.btn_caducidad,
.btn_planes,
.btn_facturas1,
.btn_reporting,
.btn_logs,
.btn_config {
    display: none;
}

.wp-block-group table {
    border: 2px solid #f4f4f4;
    border-radius: 10px;
    text-align: center;
}

div#container-escritorio {
    min-height: 70vh;
}

/*menu*/

.ast-desktop-header-content {
    width: min-content;
    min-width: 25%;
    min-height: 100vh;
}

ul#ast-desktop-toggle-menu li.bg_black {
    background-color: #000;
}

ul#ast-desktop-toggle-menu li.bg_black a {
    color: #fff;
}

button.lux-acc-header:hover {
    background-color: #e8e8e8 !important;
    color: #000 !important;
}

#ast-mobile-header .content-align-flex-start {
    max-height: none !important;
}

.ast-mobile-header-content {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

/*login*/
.page-id-580 {
    background-color: #f4f4f4 !important;
}

/*escritorio*/

#menu-edit-deshboard [id^="btn-"] {
    cursor: pointer;
}

#edit-deshboard [class*="btn-"] {
    margin-block-start: 0 !important;
}

/* private page */

/* Sidebar Styles */
#left-menu {
    position: fixed;
    left: 0;
    top: 0;
    width: 280px;
    /* Increased width */
    height: 100vh;
    background: #ffffff;
    border-right: 1px solid #e5e7eb;
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.02);
    display: flex;
    flex-direction: column;
    z-index: 1000;
    font-family: "Avenir", sans-serif;
}

/* Logo Section */
#left-menu .sidebar-header {
    margin-top: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 20px;
    border-bottom: 1px solid transparent;
}

#left-menu .sidebar-header img {
    height: 30px;
    width: auto;
}

#left-menu .collapse-icon {
    font-size: 20px;
    color: #6b7280;
    cursor: pointer;
    line-height: 1;
}

/* Menu Container */
#left-menu .sidebar-menu-container {
    flex: 1;
    overflow-y: auto;
    padding: 24px 12px;
}

#left-menu .adm-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

#left-menu .adm-menu li {
    margin: 0;
    padding: 0;
}

#left-menu .adm-menu li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    color: #374151;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    border-radius: 6px;
    transition: all 0.2s ease;
}

#left-menu .adm-menu li a:hover {
    background: #f3f4f6;
    color: #111827;
}

/* Active Menu Item */
#left-menu .adm-menu li.current-menu-item a,
#left-menu .adm-menu li.current_page_item a {
    background: #1f1f1f;
    color: #ffffff;
    font-weight: 500;
}

/* Icons */
#left-menu .adm-menu li a::before {
    content: "";
    width: 18px;
    height: 18px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.7;
    flex-shrink: 0;
}

#left-menu .adm-menu li.current-menu-item a::before,
#left-menu .adm-menu li.current_page_item a::before {
    opacity: 1;
    filter: brightness(0) invert(1);
}

/* SVG Icons (Matching the image) */

/* Dashboard (Grid icon) */
#left-menu .adm-menu li:nth-child(1) a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='7' height='9' x='3' y='3' rx='1'/%3E%3Crect width='7' height='5' x='14' y='3' rx='1'/%3E%3Crect width='7' height='9' x='14' y='12' rx='1'/%3E%3Crect width='7' height='5' x='3' y='16' rx='1'/%3E%3C/svg%3E");
}

/* Usuarios y Roles (User Group) */
#left-menu .adm-menu li:nth-child(2) a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}

/* Clientes (User) */
#left-menu .adm-menu li:nth-child(3) a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

/* Caducidades (Calendar) */
#left-menu .adm-menu li:nth-child(4) a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2' ry='2'/%3E%3Cline x1='16' x2='16' y1='2' y2='6'/%3E%3Cline x1='8' x2='8' y1='2' y2='6'/%3E%3Cline x1='3' x2='21' y1='10' y2='10'/%3E%3C/svg%3E");
}

/* Rapel - Custom SVG */
#left-menu .adm-menu li:nth-child(5) a::before {
    background-image: url("https://essilorluxottica.myp.com.es/wp-content/uploads/2025/11/rapel.svg");
    filter: opacity(0.7) grayscale(1);
}

/* Beneficios - Custom SVG (please provide URL) */
#left-menu .adm-menu li:nth-child(6) a::before {
    background-image: url("https://essilorluxottica.myp.com.es/wp-content/uploads/2025/11/beneficios.svg");
    filter: opacity(0.7) grayscale(1);
}

/* Acciones (Wallet) */
#left-menu .adm-menu li:nth-child(7) a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23374151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12V7H5a2 2 0 0 1 0-4h14v4'/%3E%3Cpath d='M3 5v14a2 2 0 0 0 2 2h16v-5'/%3E%3Cpath d='M18 12a2 2 0 0 0 0 4h4v-4Z'/%3E%3C/svg%3E");
}

/* User Profile Section */
#left-menu .sidebar-footer {
    border-top: 1px solid #e5e7eb;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
}

#left-menu .user-avatar {
    width: 40px;
    height: 40px;
    color: #111827;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 14px;
}

#left-menu .user-info {
    display: flex;
    flex-direction: column;
}

#left-menu .user-name {
    font-size: 14px;
    font-weight: 500;
    color: #111827;
}

#left-menu .user-email {
    font-size: 13px;
    color: #6b7280;
}

/* Main Content Adjustment */
body.admin-private-page #primary {
    margin-left: 280px;
    padding: 32px;
    width: calc(100% - 280px);
    max-width: none;
}

body.admin-private-page .ast-container {
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

body.admin-private-page .entry-content[data-ast-blocks-layout]>* {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Responsive */
@media (max-width: 768px) {
    #left-menu {
        transform: translateX(-100%);
        transition: transform 0.3s ease;
    }

    #left-menu.open {
        transform: translateX(0);
    }

    body.admin-private-page #primary {
        margin-left: 0;
        width: 100%;
    }
}

/* Hide Default Theme Header Elements */
body.admin-private-page .site-header,
body.admin-private-page .ast-main-header-wrap,
body.admin-private-page #masthead,
body.admin-private-page .site-logo-img,
body.admin-private-page .site-footer,
body.admin-private-page .ast-footer-copyright,
body.admin-private-page #colophon,
body.admin-private-page footer {
    display: none !important;
}

/*home*/
.home #lux-sidebar-fixed {
    display: none;
}

/* Contenedor principal de Recompensas (Slider) */
#lux-rewards-scroller {
    display: flex !important;
    flex-direction: column;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    cursor: grab;
    padding-bottom: 20px;
}

#lux-rewards-scroller::-webkit-scrollbar {
    display: none;
}

/* --- RESTAURACIÓN ORIGINAL DESDE GIT (Commit ce8036ac) --- */

div#recompensas-home {
    margin: auto;
}

#recompensas-home>div,
#recompensas-home>.wp-block-columns {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 450px;
    gap: 0;
}

#recompensas-home>div>div.wp-block-group.has-background,
#recompensas-home .wp-block-column {
    position: relative;
    z-index: 1;
    flex: 1;
    min-width: 100px;
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: flex, width;
    margin: 0 !important;
    overflow: hidden;
}

#recompensas-home>div>div.wp-block-group.has-background:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all 0.4s ease;
    z-index: -1;
}

.logo_el_home img {
    min-width: 160px;
}

.logo_ee_home img {
    min-height: 75px;
}

.top-align-flex {
    margin-bottom: auto !important;
}

#platinum-home.wp-block-group.has-background:before {
    background-color: rgba(73, 76, 81, 0.9);
}

#gold-home.wp-block-group.has-background:before {
    background-color: rgba(118, 91, 61, 0.9);
}

#silver-home.wp-block-group.has-background:before {
    background-color: rgba(183, 183, 187, 0.9);
}

#ambassador-home.wp-block-group.has-background:before {
    background-color: rgba(118, 91, 61, 0.9);
}

#specialist-home.wp-block-group.has-background:before {
    background-color: rgba(113, 113, 118, 0.9);
}

#recompensas-home>div>div.wp-block-group.has-background:hover:before {
    background-color: rgba(0, 0, 0, 0.5);
}

#recompensas-home>div>div.wp-block-group.has-background:hover,
#recompensas-home .wp-block-column:hover {
    flex: 4 !important;
    /* Aumentado a 4 para prevenir cortes de texto (Ambassador) */
    box-shadow: 0 20px 30px rgba(73, 76, 81, 1);
    z-index: 10;
}

#recompensas-home>div>div.wp-block-group.has-background .hover_view_more {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease 0.2s;
}

#recompensas-home>div>div.wp-block-group.has-background:hover .hover_view_more {
    display: flex;
    opacity: 1;
}

div#recompensas-home>.wp-block-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

div#recompensas-home>.wp-block-column>div:last-child {
    margin-top: auto;
    margin-bottom: 10px;
    padding-top: 2em;
}

div#recompensas-home>.wp-block-column>div:last-child a {
    text-decoration: none;
}

div#recompensas-home>.wp-block-column>div:first-child {
    width: 100%;
    align-items: start;
}

div#recompensas-home h2 {
    line-height: 1em;
}

div#recompensas-home h2+div {
    margin-top: 0;
    margin-bottom: 1em;
}

div#recompensas-home p {
    line-height: 1.2em;
    margin: 0 0 0.3em 0;
    font-size: 14px;
}

/* --- NUEVA FUNCIONALIDAD: LÍNEA DINÁMICA DE CABECERA --- */

#lux-rewards-scroller .line-recompensas-home {
    display: flex !important;
    gap: 10p !important;
    margin-bottom: 25px !important;
    transition: all 0.5s ease;
    align-items: center;
    width: 100%;
}

.line-recompensas-home h4 {
    position: absolute;
    top: -5px;
}

/* Espacio de 10px entre los dos bloques de líneas */
#lux-rewards-scroller .line-recompensas-home .wp-block-column:nth-child(1) {
    padding-right: 5px !important;
    flex: 3 !important;
    transition: all 0.6s ease;
}

#lux-rewards-scroller .line-recompensas-home .wp-block-column:nth-child(2) {
    padding-left: 5px !important;
    flex: 2 !important;
    transition: all 0.6s ease;
}

#lux-rewards-scroller .line-recompensas-home .wp-block-column {
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 500;
    color: #666;
    margin: 0 !important;
}

#lux-rewards-scroller .line-recompensas-home .wp-block-column h4 {
    margin: 0 !important;
    padding: 0 10px !important;
    color: #666;
    font-size: inherit;
}

#lux-rewards-scroller .line-recompensas-home .wp-block-column::before,
#lux-rewards-scroller .line-recompensas-home .wp-block-column::after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background-color: #e5e7eb;
}

#lux-rewards-scroller .line-recompensas-home .wp-block-column::before {
    margin-right: 5px;
}

/* Dinámica de anchos de la línea según el hover en cajas */
#lux-rewards-scroller:has(#recompensas-home .wp-block-column:nth-child(-n+3):hover) .line-recompensas-home .wp-block-column:nth-child(1) {
    flex: 7 !important;
}

#lux-rewards-scroller:has(#recompensas-home .wp-block-column:nth-child(-n+3):hover) .line-recompensas-home .wp-block-column:nth-child(2) {
    flex: 2 !important;
}

#lux-rewards-scroller:has(#recompensas-home .wp-block-column:nth-child(n+4):hover) .line-recompensas-home .wp-block-column:nth-child(1) {
    flex: 3 !important;
}

#lux-rewards-scroller:has(#recompensas-home .wp-block-column:nth-child(n+4):hover) .line-recompensas-home .wp-block-column:nth-child(2) {
    flex: 4 !important;
}

/* --- RESPONSIVE / SLIDER --- */
@media (max-width: 1500px) {
    div#recompensas-home {
        display: flex !important;
        flex-direction: column;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        cursor: grab;
        padding-bottom: 40px;
        /* Espacio para el scroll si aparece */
    }

    div#recompensas-home::-webkit-scrollbar {
        display: none;
    }

    /* Los hijos directos deben permitir el scroll horizontal coordinado */
    #lux-rewards-scroller .line-recompensas-home,
    #recompensas-home {
        width: fit-content !important;
        min-width: 100%;
        transition: none !important;
        /* Evitar saltos en slider */
    }

    div#recompensas-home .wp-block-column {
        flex: 0 0 auto !important;
        width: 290px !important;
        min-width: 290px !important;
        scroll-snap-align: start;
    }

    /* En modo slider desactivamos el flex dinámico para evitar desalineación */
    #lux-rewards-scroller .line-recompensas-home .wp-block-column:nth-child(1) {
        width: 870px !important;
        flex: none !important;
    }

    /* 290 * 3 */
    #lux-rewards-scroller .line-recompensas-home .wp-block-column:nth-child(2) {
        width: 580px !important;
        flex: none !important;
    }

    /* 290 * 2 */

    /* Mostrar flechas del slider */
    .lux-rewards-arrow {
        display: flex !important;
    }
}

@media (max-width: 600px) {
    div#recompensas-home .wp-block-column {
        width: 85vw !important;
        min-width: 85vw !important;
    }

    #lux-rewards-scroller .line-recompensas-home .wp-block-column:nth-child(1) {
        width: calc(85vw * 3) !important;
    }

    #lux-rewards-scroller .line-recompensas-home .wp-block-column:nth-child(2) {
        width: calc(85vw * 2) !important;
    }
}

/* Estilos de flechas */
.lux-rewards-arrow {
    display: none;
    /* Se activa en media query */
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 50%;
    color: #999;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 20;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    font-family: 'essilor';
    font-size: 20px;
    transition: all 0.2s ease;
}

.lux-rewards-arrow:hover {
    color: #000;
    border-color: #000;
}

.lux-rewards-prev {
    left: -20px;
}

.lux-rewards-next {
    right: -20px;
}

.lux-rewards-prev::after {
    content: '\e800';
}

.lux-rewards-next::after {
    content: '\e801';
}

/* Wrapper necesario para posicionamiento relativo de flechas */
.lux-rewards-wrapper {
    position: relative;
    max-width: 100%;
}

/*header publicidad*/
.publi_header a {
    text-decoration: underline !important;
}

/*ofertas*/
.lux_offer.type-lux_offer.ast-article-single {
    padding: 0 !important;
}

.lux-offer-single .entry-title {
    text-align: center;
}

.lux-offer-single p {
    font-size: 16px;
    margin-bottom: 0.5em;
}

.lux-offer-header.offer-breadcrumbs {
    font-size: 13px;
}

.lux-offer-single h2:first-child {
    margin-bottom: 0 !important;
    font-size: 42px !important;
    line-height: 1em !important;
    color: #fff;
}

h3.wp-block-heading {
    font-weight: bold !important;
}

.lux-offer-single .lux_offer {
    padding-top: 0;
}

.wp-block-cover.alignfull.header_oferta {
    margin: auto
}

.lux-offer-header {
    max-width: var(--wp--custom--ast-content-width-size);
    margin-left: auto;
    margin-right: auto;
}

.lux-offer-header.offer-breadcrumbs {
    padding: 1em 1em 0;
}

.lux-offer-single .entry-title {
    font-size: 35px !important;
    list-style: 1em;
}

.type-lux_offer .ast-post-format- {
    padding: 0 1em;
}

.type-offer p {
    text-align: center;
    padding-top: 50px;
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1em;
}

.lux-offer-single figure.wp-block-image.size-full.total-width,
.lux-offer-single figure.wp-block-image.size-full img {
    max-width: none;
    width: 100%;
}

section.lux-offer-form-block.alignleft button.lux-btn-restringido.lux-form-toggle-btn.button {
    display: block;
}


/*valora este servicio*/

/* --- 1. LIMPIEZA GENERAL --- */
/* Ocultar etiquetas sobrantes y selectores feos */
#html-1 .forminator-label,
.forminator-field-rating select,
#rating-1 select,
.forminator-select,
.forminator-rating-result,
.forminator-edit-module,
.forminator-module-edit-link {
    display: none !important;
}

/* --- 2. TÍTULO: "VALORA ESTE SERVICIO" --- */
#html-1 p {
    text-align: center !important;
    font-family: 'Roboto', 'Arial', sans-serif !important;
    font-size: 32px !important;
    font-weight: bold !important;
    color: #000000 !important;
    margin-top: 10px !important;
    line-height: 1.4 !important;
    margin-bottom: 0;
}

/* --- 3. ESTRELLAS (RATING) QUE FUNCIONAN --- */
.forminator-rating-wrapper,
.forminator-rating-items {
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
}

/* Estilo base (Gris) para todas */
.forminator-rating-item .forminator-icon-star {
    font-size: 28px !important;
    color: #e0e0e0 !important;
    /* Gris por defecto */
    cursor: pointer !important;
    display: block !important;
    transition: color 0.1s ease !important;
}

/* --- A. EFECTO HOVER (Al pasar el ratón) --- */
/* 1. Resetear a gris al entrar en el grupo (limpia visualmente) */
.forminator-rating-items:hover .forminator-rating-item .forminator-icon-star {
    color: #e0e0e0 !important;
}

/* 2. Pintar de azul la actual y las anteriores (Hover) */
.forminator-rating-items .forminator-rating-item:hover .forminator-icon-star,
.forminator-rating-items .forminator-rating-item:has(~ .forminator-rating-item:hover) .forminator-icon-star {
    color: #439bff !important;
}

/* --- B. EFECTO CLICK (SELECCIÓN FIJA) --- */
/* Esta es la parte CLAVE para que no se borren */

/* Opción 1: Usando la clase 'forminator-active' que el plugin pone en el ítem seleccionado */
.forminator-rating-item.forminator-active .forminator-icon-star {
    color: #439bff !important;
}

/* Opción 2: Pintar todas las anteriores a la seleccionada */
/* Si la estrella 3 está activa, pintamos la 1 y la 2 */
.forminator-rating-item:has(~ .forminator-rating-item.forminator-active) .forminator-icon-star {
    color: #439bff !important;
}

/* Opción 3 (Respaldo por si acaso): Usar el atributo data del padre */
.forminator-rating-items[data-selected-value="1"] .forminator-rating-item:nth-child(1) .forminator-icon-star,
.forminator-rating-items[data-selected-value="2"] .forminator-rating-item:nth-child(-n+2) .forminator-icon-star,
.forminator-rating-items[data-selected-value="3"] .forminator-rating-item:nth-child(-n+3) .forminator-icon-star,
.forminator-rating-items[data-selected-value="4"] .forminator-rating-item:nth-child(-n+4) .forminator-icon-star,
.forminator-rating-items[data-selected-value="5"] .forminator-rating-item:nth-child(-n+5) .forminator-icon-star {
    color: #439bff !important;
}

/* --- 4. ERRORES (ROJOS Y PEQUEÑOS) --- */
.forminator-error-message {
    color: #d93025 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    margin-top: 4px !important;
    display: block !important;
    text-align: left !important;
}

.forminator-has_error .forminator-input,
.forminator-has_error .forminator-textarea {
    border-bottom: 2px solid #d93025 !important;
    background-color: #fff8f8 !important;
}

/* --- 5. INPUTS (Estilo Material) --- */
.forminator-input,
.forminator-textarea {
    background-color: #f5f5f5 !important;
    border-top: 1px solid #dcdcdc !important;
    border-bottom: 1px solid #999999 !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    padding: 10px 12px !important;
    min-height: 45px !important;
    font-size: 16px !important;
    width: 100% !important;
    color: #333 !important;
    margin-top: 0 !important;
}

.forminator-textarea {
    min-height: 120px !important;
}

.forminator-input:focus,
.forminator-textarea:focus {
    background-color: #e8f0fe !important;
    border-bottom: 2px solid #439bff !important;
    border-top-color: #439bff !important;
    outline: none !important;
}

/* --- 6. ETIQUETAS --- */
.forminator-label {
    font-weight: 500 !important;
    color: #666 !important;
    font-size: 13px !important;
    margin-bottom: 0 !important;
    display: block !important;
    margin-top: 20px !important;
}

/* --- 7. BOTÓN ENVIAR --- */
.forminator-button-submit {
    width: 100% !important;
    background-color: #439bff !important;
    color: white !important;
    font-weight: 500 !important;
    height: 48px !important;
    border-radius: 4px !important;
    border: none !important;
    font-size: 16px !important;
    margin-top: 30px !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) !important;
}

.forminator-button-submit:hover {
    background-color: #2a88eb !important;
}

/*slider comun*/

.swiper-button-next,
.swiper-button-prev,
.swiper-pagination {
    top: auto;
    bottom: 10% !important;
}

.swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
    width: 10%;
    margin: 0 45%;
}

.swiper-button-next {
    right: 45% !important;
}

.swiper-button-next::after {
    font-family: 'essilor' !important;
    content: '\e801';
}

.swiper-button-prev {
    left: 45% !important;
}

.swiper-button-prev::after {
    font-family: 'essilor' !important;
    content: '\e800';
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    width: 10px;
    border-radius: 20px;
    height: 10px;
}

span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 25px;
    border-radius: 20px;
    height: 10px;
}

@media (max-width: 1440px) {
    .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
        width: 20%;
        margin: 0 40%;
    }

    .swiper-button-prev {
        left: 40% !important;
    }

    .swiper-button-next {
        right: 40% !important;
    }
}


@media (max-width: 976px) {
    .swiper-content {
        padding: 0 !important;
    }
}

@media (max-width: 922px) {

    .swiper-button-prev,
    .swiper-button-next {
        display: none;
    }

    .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
        width: 100%;
        margin: 0;
        bottom: 0;
    }

    .wp-block-cover.alignfull.header_oferta {
        margin: 0;
    }

    .single-lux_offer article>div:not(.wp-block-cover) {
        margin: 0 5% !important;
    }

    .lux-client-header-info {
        flex-direction: row;
        justify-content: center;
        padding: 1em;
        flex-wrap: wrap;
        border: solid 1px #e8e8e8;
        gap: 0 !important;
    }

    .lux-client-header-info .lux-logout-link {
        order: 3;
    }

    .lux-client-header-info .lux-badges-container {
        order: 2;
    }

    .lux-client-header-info .lux-client-data {
        order: 1;
    }
}

@media (max-width: 782px) {
    .swiper-pagination {
        bottom: 5% !important;
    }
}

@media (max-width: 544px) {
    footer .ast-builder-footer-grid-columns.site-above-footer-inner-wrap.ast-builder-grid-row {
        justify-items: center !important;
    }

    footer .site-footer-above-section-1 figure {
        margin-right: 0;
        margin-bottom: 30px;
    }

    span.uagb-icon-list__source-wrap {
        align-self: start !important;
        margin-top: 0.3em;
    }

    .wp-block-uagb-icon-list-child {
        margin-bottom: 0.5em !important;
    }


    .lux-client-header-info {
        padding: 0.5em 3%;
        align-items: start !important;
    }

    .lux-client-header-info .lux-logout-link {
        width: 100%;
        margin-bottom: 0.5em;
    }

    .lux-client-header-info .lux-badges-container {
        width: 50%;
        justify-content: end;
    }

    .lux-client-header-info .lux-client-data {
        width: 50%;
        flex-direction: column-reverse;
    }

    .lux-client-header-info .lux-client-data .lux-separator {
        display: none;
    }

    .lux-client-data a:first-child {
        display: flex !important;
        flex-direction: row;
        column-gap: 1em;
        margin-bottom: 2em;
    }

    .lux-rapel-label {
        font-size: 12px !important;
    }

    a.lux-client-name {
        margin-bottom: 0.5em;
    }

    .lux-level-badge {
        min-width: 80%;
        text-align: center;
    }
}

/* Highlight active offer in menu */
.lux-offer-link.lux-is-current {
    color: #439BFF !important;
}