.bg-card-img {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: var(--bg-card-img-height, 100%) !important;
    height: 100%;
}
.bg-card-img {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.bg-card-img img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: auto !important;
}
@media (min-aspect-ratio: 1/1) {
    .bg-card-img img {
        width: 100% !important;
        height: auto !important;
    }
}
@media (max-aspect-ratio: 1/1) {
    .bg-card-img img {
        width: auto !important;
        height: 100% !important;
    }
}
/* Forzar imagen completa en cards BuscaGuIA */
.bg-card-img img {
    width: 100% !important;
    height: auto !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    margin: auto !important;
}
/* BuscaGuIA - estilos extraídos de BuscagIA.php */

/* ===== bg_add_admin_header ===== */
#bg-admin-header {
                    margin-bottom: 20px;
                    border: 1px solid #8c7ac1;
                    box-shadow: 0 1px 1px rgba(0,0,0,.04);
                }
                .wrap > h1, .wrap > h1.wp-heading-inline, .wrap > .page-title-action, .wrap > hr.wp-header-end {
                    display: none;
                }

/* ===== bg_admin_theme_megaguia ===== */
:root {
                --bg-primary: #2F348B;   /* Azul Índigo */
                --bg-accent: #E92C81;    /* Magenta */
                --bg-blue: #4FA6E8;      /* Azul Cielo */
                --bg-purple: #7D66BD;    /* Violeta Medio */
                --bg-light: #F0EBFA;     /* Lavanda Suave */
            }

            /* Fondo general más suave */
            #wpbody-content { background: var(--bg-light); padding-bottom: 40px; }
            .wrap { margin: 20px 20px 0 10px; }

            /* Encabezados */
            .wrap h1, .wrap h2, .wrap h3 { color: var(--bg-primary); font-family: "Poppins", sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: -0.5px; }

            /* Botones CTA */
            .wp-core-ui .button-primary,
            .wp-core-ui .button-secondary,
            .wp-core-ui .button:not(.button-link):not(.button-link-delete) {
                background: var(--bg-accent) !important; 
                border-color: var(--bg-accent) !important; 
                color: #fff !important; 
                text-transform: uppercase; 
header.header-builder,
.header-main-wrapper,
.elementor-79 .elementor-element-57d845b2 {
    height: 90px !important;
    min-height: 90px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important; /* Para que nada quede cortado */
}
            .wp-core-ui .button:not(.button-link):not(.button-link-delete):focus { 
                background: #C1246C !important; /* Darker magenta */
                border-color: #C1246C !important;
                color: #fff !important;
                transform: translateY(-2px); 
                box-shadow: 0 6px 15px rgba(193, 36, 108, 0.4); 
            }

            /* Tablas Estilo PHH */
            .wp-list-table.widefat { 
                border: none; 
                border-radius: 12px; 
                overflow: hidden; 
                box-shadow: 0 5px 20px rgba(47, 52, 139, 0.08); 
            }
            .wp-list-table thead th {
                background-color: var(--bg-blue) !important;
                color: #fff; 
                font-weight: 600; 
                border: none; 
                padding: 15px; 
                text-transform: uppercase; 
                font-size: 13px;
                vertical-align: middle;
            }
            .wp-list-table thead tr:first-child th:last-child {
                border-top-right-radius: 12px;
            }
            .wp-list-table thead th.check-column {
                background-color: var(--bg-blue) !important;
            }
            .wp-list-table thead th a { color: #fff !important; } 
            .wp-list-table thead th a:hover { color: var(--bg-blue) !important; } 
            .wp-list-table tbody td {
                padding: 15px; 
                border-bottom: 1px solid #eee; 
                color: #444; 
                background: #fff;
                vertical-align: middle;
            }
            .wp-list-table tbody tr:hover td { background-color: #fcfaff; }
            .wp-list-table .row-actions span a { color: var(--bg-secondary-blue); }
            .wp-list-table .row-actions span.trash a { color: #d63638; }

            /* Postboxes y Metaboxes */
            .postbox {
                border: 1px solid var(--bg-purple); 
                border-radius: 8px;
                box-shadow: 0 2px 5px rgba(0,0,0,0.02);
            }
            .postbox-header {
                background-color: var(--bg-accent);
                border-bottom: 1px solid var(--bg-accent);
            }
            .postbox-header h2 {
                color: #FFFFFF !important; 
                font-size: 14px;
            }

            /* Pestañas (Nav Tabs) */
            .nav-tab-wrapper { border-bottom: 2px solid var(--bg-purple); padding-bottom: 0; }
            .nav-tab {
                background: #fff;
                color: var(--bg-primary);
                border: 1px solid var(--bg-purple);
                border-bottom: none;
                margin-right: 5px;
                font-weight: 500;
                transition: all 0.2s;
                border-radius: 8px 8px 0 0;
            }
            .nav-tab-active {
                background: var(--bg-purple);
                color: #fff;
                border-color: var(--bg-purple);
            }
            .nav-tab:hover:not(.nav-tab-active) {
                background: var(--bg-purple);
                color: #fff;
                border-color: var(--bg-purple);
            }

            /* Inputs Formulario Admin */
            input[type=text], input[type=email], input[type=number], textarea, select {
                border: 1px solid var(--bg-purple);
                border-radius: 30px;
                padding: 8px 12px;
                color: #333;
                background: var(--bg-light);
            }
            input:focus, textarea:focus, select:focus {
                border-color: var(--bg-accent);
                box-shadow: 0 0 0 1px var(--bg-accent);
                outline: none;
            }

            /* UI Constructor (Card Builder) */
            .bg-builder-col {
                background: #fff;
                border: 1px solid var(--bg-purple);
                border-radius: 8px;
                box-shadow: 0 2px 10px rgba(0,0,0,0.03);
            }
            .bg-builder-col h4 {
                background: var(--bg-primary); /* Azul Índigo */
                color: #fff;
                padding: 12px;
                margin: -10px -10px 10px -10px;
                border-radius: 7px 7px 0 0;
                font-size: 14px;
                text-align: center;
            }
            .bg-sortable-card-col { background: var(--bg-light) !important; border: 2px dashed var(--bg-purple) !important; border-radius: 0 0 6px 6px; }
            .bg-card-item {
                border: 1px solid #e5e5e5;
                border-left: 4px solid var(--bg-accent);
                border-radius: 4px;
                transition: transform 0.2s;
            }
            .bg-card-item:hover { transform: translateX(3px); }

            /* Paginación */
            .tablenav .tablenav-pages a { background: var(--bg-primary); color: #fff; border: none; border-radius: 4px; }
            .tablenav .tablenav-pages a:hover { background: var(--bg-accent); }
            .tablenav .tablenav-pages .current { background: var(--bg-light); color: var(--bg-primary); border-color: var(--bg-primary); font-weight: bold; }

            /* Avisos */
            .notice-success { border-left-color: var(--bg-blue); }
            .wp-list-table thead tr:first-child th:last-child {
                border-top-right-radius: 12px;
            }

            /* Custom Checkbox Styling in Table Header */
            .wp-list-table thead .check-column input[type=checkbox] {
                -webkit-appearance: none;
                -moz-appearance: none;
                appearance: none;
                width: 20px;
                height: 20px;
                border: 2px solid #fff;
                border-radius: 4px;
                background-color: transparent;
                cursor: pointer;
                position: relative;
                vertical-align: middle;
                margin: 0;
            }

            .wp-list-table thead .check-column input[type=checkbox]:checked {
                background-color: #fff;
                border-color: #fff;
            }

            .wp-list-table thead .check-column input[type=checkbox]:checked::before {
                content: "\f147";
                font-family: 'dashicons';
                speak: none;
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
                width: 100%;
                height: 100%;
                position: absolute;
                top: 0;
                left: 0;
                text-align: center;
                line-height: 18px;
                color: var(--bg-blue); /* The color of the checkmark */
                font-size: 20px;
            }

/* ===== bg_render_card_builder_ui ===== */
.bg-card-builder-wrapper{display:flex;gap:15px}.bg-builder-col{flex:1;background:#fff;padding:0;border:1px solid #7D66BD;border-radius:8px;}.bg-sortable-card-col{min-height:80px;background:#F0EBFA;padding:10px;margin:0;border-radius:0 0 8px 8px;border-top:1px solid #eee;}.bg-card-item{background:#fff;padding:8px 12px;margin-bottom:5px;border:1px solid #ccd0d4;cursor:move;display:flex;align-items:center;gap:5px;position:relative;border-left:3px solid #E92C81;}.bg-sort-handle{margin-right:5px;color:#555;cursor:grab}.bg-visibility-toggle{cursor:pointer;color:#555;font-size:14px;padding-left:10px;}.bg-item-align{margin-left:auto;font-size:11px;height:24px;line-height:1;min-height:24px;padding:0 5px;}

/* ===== bg_render_form_builder_ui ===== */
#bg-sortable-fields{max-width:800px}.bg-field-item{background:#fff;border:1px solid #ccd0d4;padding:10px 15px;margin-bottom:8px;display:flex;align-items:center;border-left:3px solid #4FA6E8;}.bg-sort-handle{cursor:grab;margin-right:15px}.bg-field-controls{display:flex;align-items:center;gap:15px;margin-left:auto;}.bg-col-select{min-width:100px}.form-vis-toggle{cursor:pointer;}.bg-required-toggle{font-size:12px;color:#555;} .button.button-link-delete{color: #a00 !important; text-decoration: none; border: none; background: none; box-shadow: none;}

/* ===== bg_shortcode_form ===== */
.dias-atencion-container { display: flex; flex-wrap: wrap; gap: var(--bg-dias-container-gap, 10px); }
        .dia-toggle input { display: none; }
        .dia-toggle span { 
            padding: var(--bg-dias-toggle-padding, 8px 15px); 
            border-radius: var(--bg-dias-toggle-border-radius, 30px); 
            background: var(--bg-dias-toggle-bg, #f0f0f0); 
            color: var(--bg-dias-toggle-text-color, #333);
            cursor: pointer; transition: all 0.2s ease; 
        }
        .dia-toggle input:checked + span { 
            background: var(--bg-dias-toggle-bg-active, var(--bg-accent, #E92C81)); 
            color: var(--bg-dias-toggle-text-color-active, #fff); 
            box-shadow: 0 2px 5px rgba(0,0,0,0.1); 
        }
        .horario-container { display: flex; flex-direction: column; gap: 10px; margin-top: 15px; }
        .horario-row { 
            display: flex; align-items: center; gap: 15px; 
            background: var(--bg-horario-row-bg, #f9f9f9); 
            padding: var(--bg-horario-row-padding, 10px); 
            border-radius: var(--bg-horario-row-radius, 8px); 
        }
        .horario-row label { font-weight: 500; min-width: 80px; color: var(--bg-horario-label-color, inherit); }
        .horario-inputs { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
        .horario-inputs span { color: var(--bg-horario-text-color, inherit); }
        .horario-inputs input[type=time] { 
            padding: 5px; 
            border: 1px solid var(--bg-horario-input-border-color, #ccc);
            background: var(--bg-horario-input-bg, #fff);
            color: var(--bg-horario-text-color, #333);
            border-radius: var(--bg-horario-input-radius, 6px); 
        }
        .horario-split {
            display: none;
            align-items: center;
            gap: 10px;
        }
        .bg-toggle-split-horario {
            background-color: var(--bg-accent, #E92C81);
            color: white;
            border: none;
            border-radius: 50%;
            width: 24px;
            height: 24px;
            font-size: 18px;
            line-height: 22px;
            cursor: pointer;
            margin-left: 10px;
            flex-shrink: 0;
        }

/* Límite de líneas personalizado para la descripción de cards en el grid actualizado */
#bg-results-container-bg-grid-6991d4adda377 .bg-card-desc {
    -webkit-line-clamp: 4 !important;
}

/* Límite de líneas personalizado para la descripción de cards en el carousel actualizado */
#bg-carousel-6991d4adde870 .bg-card-desc {
    -webkit-line-clamp: 4 !important;
}

/* Límite de líneas personalizado para la descripción de cards en el nuevo grid */
#bg-results-container-bg-grid-6991d82237c27 .bg-card-desc {
    -webkit-line-clamp: 4 !important;
}

/* --- CORRECCIÓN DE LÍMITE DE TEXTO GENÉRICO --- */

/* Se aplica a los grids de resultados */
.bg-grid .bg-card-desc, 
.bg-grid .bg-card-desc *,
.bg-grid .bg-item-wrap .bg-card-desc {
    -webkit-line-clamp: 4 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.bg-card-desc .bg-leer-mas {
    display: inline;
    white-space: nowrap;
    padding-left: 2px;
}

/* Se aplica a los carruseles */
.buscaguia-carousel .bg-card-desc, 
.buscaguia-carousel .bg-card-desc *,
.buscaguia-carousel .bg-item-wrap .bg-card-desc {
    -webkit-line-clamp: 4 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* Mantener color de texto de descripción según configuración del shortcode */
.bg-card-desc {
    color: initial !important;
}
