/* ==========================================================================
   Estilos compartidos por las paginas de diseno propio (CBD, consulta medica,
   iluminacion, turba rubia, perlita, cal dolomita, pellets, vermiculita,
   micorrizas).

   Extraido del <style id="bs-master-theme-suppressor"> que el plugin roto
   inyectaba en wp_head. Hace tres cosas: oculta los elementos del tema que
   sobran en estos disenos (titulo, navegacion de entradas, categorias,
   etiquetas), pone el fondo oscuro, y define los componentes bs-edu-* y
   bs-perl-* que cal dolomita y vermiculita reutilizan sin traer CSS propio.
   ========================================================================== */
/* Hide theme elements */
header.entry-header, h1.entry-title, .entry-header, .entry-title, .page-header, .page-header-image-single, .featured-image, footer.entry-meta, .post-navigation, .cat-links, .tags-links { display: none !important; }
.cbd-hero-title, .bs-health-title, .bs-led-title, .bs-peat-title, .bs-perlite-title, .bs-dolo-title, .bs-pellet-title, .bs-vermi-title, .bs-mico-title { display: block !important; color: #ffffff !important; }

/* Master Absolute Dark Background & Text Color Override */
html, body, body.page, body.single, body.page-template-default, #page, #content, #primary, #main, article, .inside-article, .site-content, .entry-content {
    background-color: #020908 !important;
    background: #020908 !important;
    color: #ffffff !important;
    float: none !important;
    clear: both !important;
}
.inside-article { padding: 0 !important; margin: 0 auto !important; width: 100% !important; max-width: 100% !important; }
.entry-content { margin: 0 auto !important; padding: 0 !important; width: 100% !important; max-width: 100% !important; color: #ffffff !important; }
.entry-content p, .entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content ul, .entry-content li, .entry-content span, .entry-content strong, .entry-content div {
    color: #ffffff !important;
}

/* Master Layout & Containers */
.bs-led-container, .bs-perl-container, .cbd-main-wrapper, .bs-health-container {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 20px 20px 60px 20px !important;
    box-sizing: border-box !important;
    float: none !important;
}

/* Master Grid Systems for Alignment */
.bs-compare-grid, .bs-grid-2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 25px !important;
    margin-bottom: 45px !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    align-items: stretch !important;
    justify-content: center !important;
}

.bs-grid-3, .bs-pricing-grid, .bs-health-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 25px !important;
    margin-bottom: 45px !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    align-items: stretch !important;
    justify-content: center !important;
}

@media (max-width: 900px) {
    .bs-compare-grid, .bs-grid-2, .bs-grid-3, .bs-pricing-grid, .bs-health-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Absolute Card Positional Clean & Grid Alignment Fix */
.bs-compare-card,
.bs-compare-card.human,
.bs-compare-card.plant,
.entry-content .human,
.entry-content .plant,
.bs-health-card,
.bs-pricing-card,
.bs-edu-card {
    grid-column: auto !important;
    grid-row: auto !important;
    position: static !important;
    top: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    padding: 30px !important;
    float: none !important;
    clear: both !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    transform: none !important;
    background: #051815 !important;
    border: 1px solid rgba(26, 188, 156, 0.25) !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Overriding GeneratePress .entry-content button / div[role="button"] */
.entry-content .bs-perl-accordion-header,
.entry-content .cbd-accordion-header,
.entry-content button.bs-perl-accordion-header,
.entry-content div[role="button"].bs-perl-accordion-header,
.bs-perl-accordion-header,
.cbd-accordion-header {
    background: #051815 !important;
    background-color: #051815 !important;
    color: #ffffff !important;
    width: 100% !important;
    padding: 18px 25px !important;
    border: 1px solid rgba(26, 188, 156, 0.3) !important;
    border-radius: 14px !important;
    text-align: left !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    box-sizing: border-box !important;
    margin-bottom: 0 !important;
}
.entry-content .bs-perl-accordion-header:hover,
.entry-content .cbd-accordion-header:hover,
.bs-perl-accordion-header:hover,
.cbd-accordion-header:hover {
    background: rgba(26, 188, 156, 0.15) !important;
    background-color: rgba(26, 188, 156, 0.15) !important;
    color: #1abc9c !important;
    border-color: #1abc9c !important;
}

/* Master Design System for Substrates */
.bs-perl-hero {
    background: linear-gradient(135deg, #051815 0%, #082823 100%) !important;
    border: 1px solid rgba(26, 188, 156, 0.25) !important;
    border-radius: 20px !important;
    padding: 45px 35px !important;
    margin-bottom: 40px !important;
    text-align: center !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}
.bs-perl-hero h1, .bs-dolo-title, .bs-pellet-title, .bs-vermi-title, .bs-mico-title {
    font-size: 30px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin-bottom: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.bs-perl-hero h1 span, .bs-dolo-title span, .bs-pellet-title span, .bs-vermi-title span, .bs-mico-title span {
    color: #1abc9c !important;
}
.bs-perl-subtitle {
    color: #cbd5e0 !important;
    font-size: 16px !important;
    max-width: 800px !important;
    margin: 0 auto 25px auto !important;
}
.bs-perl-sec-title {
    color: #ffffff !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    margin-bottom: 10px !important;
    text-transform: uppercase !important;
}
.bs-perl-sec-title span { color: #1abc9c !important; }
.bs-perl-sec-desc { color: #a0aec0 !important; font-size: 15px !important; margin-bottom: 25px !important; }
.bs-perl-calc-container {
    background: #051815 !important;
    border: 1px solid rgba(26, 188, 156, 0.25) !important;
    border-radius: 18px !important;
    padding: 30px !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 30px !important;
    margin-bottom: 45px !important;
    box-sizing: border-box !important;
}
.bs-perl-calc-field { margin-bottom: 20px !important; }
.bs-perl-label-row { display: flex !important; justify-content: space-between !important; color: #ffffff !important; font-weight: 600 !important; margin-bottom: 8px !important; }
.bs-perl-val { color: #1abc9c !important; font-weight: 700 !important; }
.bs-perl-slider { width: 100% !important; accent-color: #1abc9c !important; cursor: pointer !important; }
.bs-perl-sim-card { background: rgba(0,0,0,0.6) !important; border-radius: 14px !important; padding: 20px !important; border: 1px solid rgba(255,255,255,0.1) !important; }
.bs-perl-sim-tag { background: rgba(26,188,156,0.2) !important; color: #1abc9c !important; font-weight: 700 !important; font-size: 11px !important; padding: 4px 10px !important; border-radius: 6px !important; }
.bs-perl-metric-box { margin-top: 15px !important; }
.bs-perl-metric-label { display: flex !important; justify-content: space-between !important; color: #cbd5e0 !important; font-size: 14px !important; }
.bs-perl-advice-box { background: rgba(26,188,156,0.1) !important; border-left: 3px solid #1abc9c !important; padding: 12px 15px !important; border-radius: 8px !important; margin-top: 15px !important; color: #ffffff !important; font-size: 13.5px !important; }
.bs-perl-products-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important; gap: 20px !important; }
.bs-perl-pcard { background: #051815 !important; border: 1px solid rgba(26, 188, 156, 0.25) !important; border-radius: 16px !important; padding: 25px !important; text-align: center !important; }
.bs-perl-pcard h4 { color: #ffffff !important; font-size: 17px !important; margin: 15px 0 10px 0 !important; font-weight: 700 !important; }
.bs-perl-pcard p { color: #a0aec0 !important; font-size: 13.5px !important; margin-bottom: 20px !important; }
.bs-perl-pbtn { display: inline-block !important; background: linear-gradient(135deg, #1abc9c 0%, #16a085 100%) !important; color: #ffffff !important; padding: 10px 22px !important; border-radius: 8px !important; font-weight: 700 !important; text-decoration: none !important; }

/* Dark Mode Comments Section */
.comments-area, #comments, .comment-respond {
    background: #051815 !important;
    color: #ffffff !important;
    padding: 35px !important;
    margin: 40px auto !important;
    max-width: 1150px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(26, 188, 156, 0.25) !important;
    box-sizing: border-box !important;
    font-family: "Outfit", "Inter", sans-serif !important;
}
.comments-title, #reply-title, .comment-reply-title {
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 20px !important;
}
.comment-form p { margin-bottom: 15px !important; }
.comment-form label { color: #cbd5e0 !important; font-size: 13.5px !important; font-weight: 600 !important; margin-bottom: 6px !important; display: block !important; }
.comment-form textarea, .comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"] {
    background: rgba(0, 0, 0, 0.6) !important;
    border: 1px solid rgba(26, 188, 156, 0.3) !important;
    border-radius: 10px !important;
    color: #ffffff !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    outline: none !important;
}
.comment-form textarea:focus, .comment-form input[type="text"]:focus, .comment-form input[type="email"]:focus, .comment-form input[type="url"]:focus {
    border-color: #1abc9c !important;
    box-shadow: 0 0 12px rgba(26, 188, 156, 0.3) !important;
}
.comment-form-cookies-consent label { color: #a0aec0 !important; font-size: 13px !important; }
.form-submit #submit, .comment-form input[type="submit"] {
    background: linear-gradient(135deg, #1abc9c 0%, #16a085 100%) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px 32px !important;
    border-radius: 10px !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
}
