/**
Theme Name: Astra Child
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: astra-child
Template: astra
*/

/*general*/
body #header-body-content {
    display: flex;
}

body:not(.logged-in) #header-body-content {
    display: block;
}

body:not(.logged-in) .vertical-menu{
    display: none;
}

body .vertical-menu{
    position: sticky;
    width: fit-content;
}

body:not(.private-layout) .vertical-menu{
    display: none;
}

body.logged-in.admin-bar .vertical-menu{
    height: calc(100vh - 32px);
    top: 32px;
}

body.logged-in #container-body-content{
    width: 100vw;
    position: relative;
}

.ast-single-post .entry-content a{
    text-decoration: none;
}

.open, .closed{
    cursor: pointer;
}

.wp-block-group.person_bio{
    display: none;
}

.ast-sticky-active{
    margin: 0 !important;
    width: 100vw !important;
}

body:not(.ast-theme-transparent-header) [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
    fill: #000 !important;
}

/*animaciones*/
.appear_left, .appear_right {
    opacity: 0;
    transition: clip-path 0.8s ease-out, opacity 0.8s;
}

.appear_left{
    clip-path: inset(0 100% 0 0);
}

.appear_right {
    clip-path: inset(0 0 0 100%);
}

.appear_visible {
    clip-path: inset(0 0 0 0);
    opacity: 1;
}

#sobre-quote-stro, #text-quote-container {
    opacity: 0;
    transform: scale(1.3); 
    transition: transform 1.5s ease-out, opacity 1.5s ease-out;
}

.visible {
    opacity: 1 !important;
    transform: scale(1) !important;
}

/*header*/
header .menu_color {
    background-color: #FF9700;
}

header .menu_color span {
    color: #000;
}

header .ast-container{
	padding-right: 0 !important;
}

header .menu-item{
	line-height: 69px !important;
}

header .ast-grid-right-section {
    align-items: flex-start;
}

header .site-navigation li {
    padding: 0 2em;
}

header .current-menu-item span.menu-text {
    font-weight: bold;
    position: relative;
}

header .current-menu-item span.menu-text:after {
    width: 110%;
    position: absolute;
    background-color: #F2AE00;
    height: 2px;
    left: 0;
    bottom: 0.5em;
    content: '';
}

body.logged-in header .no_diplay_log,
body:not(.logged-in) header .solo-login-restricted {
    display: none;
}

.ast-main-header-bar-alignment, 
.ast-builder-menu-1.ast-builder-menu.ast-flex.ast-builder-menu-1-focus-item.ast-builder-layout-element.site-header-focus-item, 
ul#ast-hf-menu-1 {
    height: 100%;
}

/*footer*/
footer h2.widget-title {
    font-size: 16px;
    color: #fff;
    font-weight: 700;
}

footer a.menu-link {
    font-size: 20px;
    color: #fff;
    font-weight: 400;
    padding-bottom: 0.5em;
    display: inline-block;
}

footer .menu-legales-menu-container a.menu-link {
    font-size: 16px;
}

footer table, footer tr, footer td {
    border: none;
    width: auto;
}

footer .grid_footer{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: fit-content;
}

footer .grid_footer br{
    display: none;
}

footer .grid_footer img {
    width: 40px;
    margin: 0.2em 1.2em 1em 0;
}

footer section#block-5 img {
    max-width: 145px;
}

/*home*/
#section-quote-home {
    position: relative;
}

#sobre-quote-stro {
    position: absolute;
    top: -3%;
    left: -3%;
    width: 106%;
    margin: 0;
}

div#somos-stro>div {
    width: 100%;
}

#text-quote-container{
    position: absolute;
    bottom: 5%;
    width: 40%;
    left: 30%;
}

#section-quote-home h2,
#section-quote-home h3{
	color: #fff;
}

#mlb2-23181878.ml-form-embedContainer .ml-form-embedWrapper.embedForm{
    max-width: fit-content !important;
}

.ml-form-checkboxRow.ml-validate-required {
    margin: 0 0 20px 7px !important;
}

#mlb2-23181878.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow .label-description::before{
    width: 20px !important;
    height: 20px !important;
}

#mlb2-23181878.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow .label-description::before{
    top: 0px !important;
}

/*product*/

.wc-block-grid.has-3-columns .wc-block-grid__products {
    column-gap: 3.5%;
}

.wc-block-grid.has-3-columns .wc-block-grid__product {
    background-color: #fff;
    flex: 1 0 31% !important;
    max-width: 31% !important;
    border: 0;
    border-radius: 20px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

a.wc-block-grid__product-link {
    display: inline-block;
    width: 100%;
}

.wc-block-grid__product-image {
    width: 100% !important;
    aspect-ratio: 3 / 2;
}

.wc-block-grid__product-image img {
    max-width: 300px !important;
    max-height: 100%;
    margin: auto !important;
    object-fit: contain;
}

.wc-block-grid__product .wc-block-grid__product-add-to-cart {
    margin: 0 !important;
    padding-bottom: 0 !important;
}

a.wp-block-button__link.add_to_cart_button {
    width: 100%;
    margin-bottom: 0 !important;
    min-height: 4em;
    display: flex !important;
    align-items: center;
}

/*conocimiento*/

#public-post #publicaciones-container {
    grid-template-columns: repeat(3, 1fr);
}

/*politica de cookies*/

#cmplz-document {
    max-width: fit-content;
}

#cmplz-document p {
    font-size: 20px;
}

#cmplz-document h2 {
    font-size: 32px;
    font-weight: 800;
}

#cmplz-document p.cmplz-subtitle {
    font-size: 26px;
}

#cmplz-cookies-overview p {
    font-size: 20px;
}

/*lo que usamos*/

#filtro-productos {
    width: 100%;
}

.ordenar {
    width: 100%;
    position: relative;
    display: none;
}

.ordenar>div {
    width: fit-content;
    display: flex;
    flex-direction: column;
    float: right;
}

select#orden-select {
    width: fit-content;
    padding: 0 0.5em;
}

.categorias {
    width: 20%;
    display: inline-block;
    float: left;
    padding: 1em 0;
}

.categorias>div {
    background-color: #fff;
    padding: 20px;
    margin-right: 20px;
    border-radius: 20px;
}

.categoria-padre>label {
    font-weight: 700;
}

.categoria-padre {
    margin-bottom: 1em;
}

.subcategorias{
    display: block;
}

.subcategorias label {
    width: 100%;
    display: inline-flex;
    align-items: end;
    column-gap: 0.5em;
}

input.categoria-checkbox {
    width: 24px;
    height: 24px;
    margin-top: 8px;
}

.toggle-label {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
    padding: 10px;
}

.toggle-icon {
    font-size: 18px;
    font-weight: bold;
    display: none;
}

div#productos-container {
    width: 80%;
    display: inline-block;
    float: left;
}

.productos-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding-top: 20px;
}

.productos-grid li.ast-article-single {
    list-style: none;
    width: 100%;
    margin-bottom: 0;
    background-color: #fff;
    padding: 24px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.astra-shop-thumbnail-wrap {
    aspect-ratio: 1 / 1;
    width: 100%; 
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.productos-grid li.ast-article-single a {
    display: contents;
}

.astra-shop-thumbnail-wrap img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}

h2.woocommerce-loop-product__title {
    font-size: 20px;
    font-weight: 700;
    padding-top: 1em;
}

.product-short-description {
    font-size: 16px;
    padding-bottom: 1em;
}

.astra-shop-buy-wrap {
    margin-top: auto;
}

p>span.woocommerce-Price-amount.amount>bdi {
    display: none;
}

.woocommerce-js .star-rating span::before{
    color: #F2AE00;
}

.review-rating {
    width: fit-content;
    display: inline-block;
    float: left;
}

span.woocommerce-Price-amount.amount {
    display: inline-block;
    float: right;
    line-height: 1;
    font-weight: 700;
}

.product.woocommerce.add_to_cart_inline {
    width: 100%;
    text-align: center;
    display: inline-block;
    margin-top: 1em;
    margin-bottom: 0;
    background-color: #FF9700;
    padding: 0 !important;
}

p.product.woocommerce.add_to_cart_inline a {
    width: 100%;
    height: 100%;
    display: inline-block;
    padding: 12px;
}

.product.woocommerce.add_to_cart_inline a.button {
    margin: 0;
    width: 100%;
    padding: 1.2em 2em;
    font-size: 20px;
}

div#more-container {
    width: 80%;
    margin-left: 20%;
    text-align: center;
    display: inline-block;
    margin-top: 40px;
}

button#cargar-mas {
    padding: 1.2em;
    width: 30%;
    font-size: 20px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin: auto;
}

.productos-grid li.ast-article-single:hover,
button#cargar-mas:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.product.woocommerce.add_to_cart_inline:hover a,
button#cargar-mas:hover {
    background-color: #FF7C00;
}

/*producto*/
.single-product span.menu-text {
    color: #000;
}

.single-product header .menu_color span {
    color: #fff;
}

.single-product .site-header .custom-logo-link.transparent-custom-logo{
    display: none;
}

.single-product nav.woocommerce-breadcrumb {
    position: absolute;
    max-width: 100%;
    width: 100%;
    top: -5rem;
    left: 0;
}

.ast-product-navigation-wrapper.square {
    position: absolute;
    width: 100%;
    top: -3em;
    left: 0;
}

.ast-product-navigation-wrapper.square a:first-child {
    margin-left: 0;
}

.ast-product-navigation-wrapper.square a:last-child {
    float: right;
}

a.button.product_type_external {
    width: 100%;
    text-align: center;
    padding: 1em 1.5em;
}

li.product-type-external {
    padding-bottom: 12px !important;
}

li.product-type-external .astra-shop-summary-wrap{
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

li.product-type-external .astra-shop-summary-wrap .review-rating{
    order: inherit;
    margin-top: auto;
}

.product-template-default .ast-woocommerce-container {
    padding-top: 10% !important;
}

/*registro*/
#ihc-checout-page-purchase-payment-method-section {
    background-color: #f5f5f5;
    padding: 1% 5% !important;
}

.acces_btn .wp-block-buttons{
    width: 100%;
    padding-top: 1em;
}

/*responsive*/

.ast-mobile-header-wrap .ast-primary-header-bar{
    min-height: auto;
}

@media (min-width: 2160px){
    /*home*/
    #home-1 h1.wp-block-heading,
    #home-4 h2.wp-block-heading, 
    #home-8 p{
        padding-right: 360px !important ;
        padding-left: 360px !important;
    }

    #home-3 figure.wp-block-image.size-full{
        overflow: hidden;
        max-height: 1024px;
    }

    #home-3 figure.wp-block-image.size-full img{
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

    /*lo que usamos*/
    #lo-que-usamos-1 h2.wp-block-heading{
        padding-right: 480px !important;
    }
}

@media only screen and (max-width: 922px){

    /*header*/
    .site-branding.ast-site-identity {
        padding: 0;
    }
    
    li.menu_color {
        display: none !important;
    }

    header .current-menu-item span.menu-text:after {
        bottom: -2px;
    }

    .logged-in header .ast-custom-button{
        display: none;
    }

    /*general*/
    .wp-block-group-is-layout-grid{
        grid-template-columns: repeat(1, 1fr) !important;
        row-gap: 0 !important;
    }

    .ast-builder-grid-row-container.ast-builder-grid-row-tablet-5-equal .ast-builder-grid-row {
        grid-template-columns: repeat(1, 1fr);
    }

    .ast-page-builder-template .ast-no-sidebar .entry-content > .alignfull{        
        padding-left: 10%;
        padding-right: 10%;
    }

    /*footer*/
    footer .ast-builder-grid-row-container.ast-builder-grid-row-tablet-5-equal .ast-builder-grid-row {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 2em;
        justify-items: center;
    }

    footer .ast-builder-html-element h2 {
        text-align: center !important;
    }

    footer .site-footer-primary-section-1.site-footer-section.site-footer-section-1,
    footer .site-footer-primary-section-4.site-footer-section.site-footer-section-4,
    footer .site-footer-primary-section-5.site-footer-section.site-footer-section-5 {
        grid-column: span 2;
    }

    footer .grid_footer {
        grid-template-columns: repeat(4, 1fr);
    }

    footer .ast-builder-grid-row-container.ast-builder-grid-row-tablet-2-equal .ast-builder-grid-row {
        grid-template-columns: repeat(1, 1fr);
        row-gap: 1em;
    }

    /*home*/

    #home-1 h1{
        font-size: 24px !important;
        padding: 0 5% !important;   
    }

    #home-3 .wp-container-content-2 {
        padding: 10% !important;
    }

    #home-4 h2 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #home-4 .wp-container-core-group-is-layout-11>div {
        margin-bottom: 10%;
    }

    #home-4 .wp-container-core-group-is-layout-11>div>figure, #home-4 .wp-container-core-group-is-layout-11>div>figure>img {
        width: 100%;
    }

    #home-4 {
        padding-bottom: 10% !important;
    }

    #home-5 {
        padding-top: 10% !important;
        padding-bottom: 10% !important;
        overflow: hidden;
    }

    #home-5>div{
        display: inline-block;
    }

    #home-5 #section-quote-home {
        width: 120% !important;
        margin-left: -10%;
    }

    #section-quote-home h2,
    #section-quote-home h3{
        font-size: 20px;
        margin: 0.2em 0 0 !important;
    }

    #title-somos-stro{     
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        max-width: 100vw;
        width: 100vw;
        background-color: #F4F3F0; 
        margin-bottom: 0;
    }

    #somos-stro {
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        max-width: 100vw;
        width: 100vw;
        background-color: #F4F3F0;
        padding-left: 10%;
        padding-right: 10%;
    }

    #somos-stro h2 {
        font-size: 24px !important;
    }

    #somos-stro p{
        font-size: 14px !important;
    }

    #somos-stro .pie_somos_stro p{
        font-size: 20px !important;
    }

    #somos-stro .pie_somos_stro {
        flex-direction: row;
        flex-wrap: nowrap !important;
    }

    #home-6 .wp-block-columns {
        flex-direction: column;
    }

    #home-6 h3.wp-block-post-title,
    #home-6 h2.wp-block-heading {
        font-size: 24px !important;
    }

    #home-6 p{
        font-size: 14px;
    }

    #mlb2-23181878.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button {
        font-size: 14px !important;
    }

    #home-7 .wp-block-uagb-post-grid.slick-slider {
        grid-template-columns: repeat(1, 1fr);
        padding-left: 5%;
    }

    #home-7 article {
        padding: 0;
    }

    #home-7 article H4{
        padding: 0 5%;
    }

    #home-7 article .uagb-post__text{
        padding: 0 5% 5%;
    }

    #home-8 li.wc-block-grid__product.slick-slide {
        overflow: hidden;
        border-radius: 10px;
    }

    #home-8 li.wc-block-grid__product.slick-slide .wc-block-grid__product-title {
        padding: 5% !important;
    }

    #home-8 .wp-block-button{
        margin: 5% !important;
    }

    #home-8 .wp-block-button .wp-block-button__link {
        border-radius: 5px;
    }

    .slider-responsive, .slider-responsive-ul {
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
        max-width: 100vw;
        width: 100vw;
    }

    .slick-list.draggable {
        padding: 0 5%;
    }

    .slick-slide {
        margin: 10px !important;
    }

    .slider-responsive-ul > ul {
        list-style: none;
        padding: 0 0 0 5%;
        margin: 0;    
    }

    .slider-responsive-ul > ul .slick-track {
        display: flex;
    }

    /*lo que usamos*/
    .toggle-icon {
        display: block;
    }

    .subcategorias{
        display: none;
    }

    .categorias, div#productos-container{
        width: 100%;
    }

    .categorias>div{
        margin-right: 0;
    }

    .subcategorias label {
        padding-right: 2em;
    }

    #lo-que-usamos-1 h2.wp-block-heading{
        font-size: 24px !important;
        padding-right: 0 !important;
    }

    .productos-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    #lo-que-usamos-2 p {
        padding-right: 0 !important;
    }

    div#more-container {
        width: 100%;
        margin: 40px 0;
    }

    button#cargar-mas {
        width: 50%;
    }

    /*quienes somos*/
    #quienes-somos-1 .wp-block-group.is-layout-grid.wp-container-core-group-is-layout-2.wp-block-group-is-layout-grid>div:first-child{
        order: 1;
    }
    
    #quienes-somos-1 .wp-block-group.is-layout-grid.wp-container-core-group-is-layout-2.wp-block-group-is-layout-grid>div:last-child{
        order: 0;
        padding-top: 50px;
    }

    #quienes-somos-1 h1{
        font-size: 24px !important; 
        padding-top: 4em;
    }

    #quienes-somos-1 p{
        font-size: 14px !important;
    }

    /*conocimiento*/
    #conocimiento-1 h2,
    #conocimiento-1 h3{
        font-size: 24px !important;
    }

    #public-post #publicaciones-container {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width:768px) {
    /*producto*/
    .single.single-product.woocommerce-page.mobile-rel-up-columns-2 ul.products {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

@media (max-width:600px) {
    
    /*lo que usamos*/
    .productos-grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }

    button#cargar-mas {
        width: 80%;
    }

    /*conocimiento*/
    #public-post #publicaciones-container {
        grid-template-columns: repeat(1, 1fr);
        padding: 0 5%;
    }

    #categorias-filtro {
        padding: 0 5%;
    }
}

@media (max-width:544px) {}

@media (max-width:420px) {}



/* Estilos para el listado de foros del shortcode */
.bbpress-foro-list {
    margin-bottom: 20px;
}

.bbpress-foro-list .foro-item {
    margin-bottom: 15px;
    padding: 10px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background-color: #f9f9f9;
}

.bbpress-foro-list .foro-item h3 {
    margin: 0 0 8px 0;
    font-size: 16px;
}

.bbpress-foro-list .foro-item h3 a {
    color: #333;
    text-decoration: none;
}

.bbpress-foro-list .foro-item h3 a:hover {
    color: #000;
    text-decoration: underline;
}

.bbpress-foro-list .foro-descripcion {
    font-size: 14px;
    color: #666;
    margin: 5px 0;
}

.bbpress-foro-list .subforos-list {
    margin-top: 10px;
    padding-left: 15px;
}

.bbpress-foro-list .subforo-item {
    margin-bottom: 5px;
}

.bbpress-foro-list .subforo-item h4 {
    margin: 0;
    font-size: 14px;
}

.bbpress-foro-list .subforo-item h4 a {
    color: #666;
    text-decoration: none;
}

.bbpress-foro-list .subforo-item h4 a:hover {
    color: #333;
    text-decoration: underline;
}

.bbpress-foro-list .foro-metrics {
    display: flex;
    gap: 15px;
    margin-top: 8px;
    font-size: 12px;
    color: #666;
}

.bbpress-foro-list .foro-metrics div {
    display: flex;
    align-items: center;
    gap: 5px;
}

.bbpress-foro-list .icon-foro {
    width: 16px;
    height: 16px;
}

/* Estilos para los widgets adicionales en el menú lateral */
.menu-lateral-foros .forum-links {
    margin-top: 20px;
    padding: 15px;
    background-color: #fff9f3;
    border-radius: 6px;
    border: 1px solid #ffdbcd;
}

.menu-lateral-foros .forum-links h3 {
    color: #333;
    margin-bottom: 10px;
    font-size: 16px;
    border-bottom: 1px solid #ffdbcd;
    padding-bottom: 8px;
}

.menu-lateral-foros .forum-links p {
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.4;
}

.menu-lateral-foros .forum-links a {
    display: block;
    margin: 5px 0;
    padding: 8px 12px;
    background-color: #ffdbcd;
    color: #000;
    text-decoration: none;
    border-radius: 4px;
    font-size: 14px;
    transition: background-color 0.3s;
}

.menu-lateral-foros .forum-links a:hover {
    background-color: #ffc7b3;
}

/* Responsive para el menú lateral */
@media (max-width: 768px) {
    .foros.wp-block-columns {
        flex-direction: column;
    }
    
    .columna-lateral {
        flex-basis: 100% !important;
        order: 2;
    }
    
    .columna-1 {
        flex-basis: 100% !important;
        order: 1;
    }
    
    .menu-lateral-foros {
        position: static;
        margin-top: 20px;
    }
}