/*
 Theme Name:     ddo Child
 Theme URI:      https://dedomultimedia.com/
 Description:    Divi Child Theme 
 Author:         Pepe
 Author URI:     https://www.dedomultimedia.com
 Template:       Divi
 Version:        1.0.0
*/
 
 
/* =Theme customization starts here
------------------------------------------------------- */
:root {
    --primary-color: #0909BA;
}
/* Quita el velo gris que Safari iOS superpone al pulsar (se hereda a toda la pagina).
   Es una propiedad solo de iOS: el inspector de Safari en Mac la marca como no admitida. */
html {
    -webkit-tap-highlight-color: transparent;
}
#1formacion, #2cursos, #3online {
    scroll-margin-top: 100px !important;
}

.et_pb_wc_additional_info_0_tb_body {
    border: none;
    border-radius: 0 !important;
    overflow: hidden;
    width: 100%;
    padding-top: 10px!important;
    padding-right: 0px!important;
    padding-bottom: 10px!important;
    padding-left: 0px!important;
}
.woocommerce-product-attributes tbody {
    display:flex;
    flex-direction:row;
    gap: 10px 26px;
    flex-wrap: wrap;
    justify-content: left;
    th, td {
        display:block;
        width: auto;
        padding-left:0;
        white-space: nowrap;
        overflow-wrap: break-word;
        p {
            margin:0 !important;
            padding: 0 !important;
        }
    }
    tr:last-child td { 
        white-space: wrap;
        overflow-wrap: auto;
    }
    .woocommerce-product-attributes-item--attribute_color td {
        white-space: wrap;
        overflow-wrap: auto;
    }
}

.woocommerce table.shop_attributes {
    border: 0 !important;
    margin-bottom: .5rem;
    width: 100%;
    th {
        width: auto !important;
        font-weight: 700;
        padding: 0px 0px;
        border-top: 0;
        border-bottom: 0;
        margin: 0;
        line-height: 1.5;
    }
}
.variations tr{
    display:flex;
    flex-direction:column;
}

.variations th,
.variations td{
    display:block;
    width:100%;
    padding-left:0;
    &.label {
        label {
            font-size: 16px ! important;
            font-weight: 600;
            text-transform: uppercase;
        }
    }
    &.value {
        span {
            display:none;
        }
    }
}

.variations th{
    margin-bottom:10px;
}
.variations td .reset_variations {
    float: left !important;
    font-size: 14px !important;
}
.variations select{
    display:none;
}

.variation-pills{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.variation-pill{
    border:1px solid #DDD;
    font-size:14px;
    background:#FFF;
    font-weight:600;
    padding:10px 16px;
    border-radius:6px;
    cursor:pointer;
    transition:.2s;
    color:#111111;
}

.variation-pill:hover{
    transform:translateY(-1px);
}

.variation-pill.active{
    background:#000;
    color:#FFF;
    border-color:#000;
}

.et_pb_wc_add_to_cart_0_tb_body input, .et_pb_wc_add_to_cart_0_tb_body .quantity input.qty, .et_pb_wc_add_to_cart_0_tb_body button {
    font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif!important;
    font-weight: 600!important;
    font-size: 15px!important;
    text-align: center!important;
    padding:6px 10px;
    border-radius: 99px!important;
    overflow: hidden;
    border-width: 2px!important;
    background-color: none!important;
}
body #page-container .et_pb_section .et_pb_wc_cart_notice_0_tb_body .wc-forward, .et_pb_wc_cart_notice_0_tb_body button.button, .et_pb_wc_cart_notice_0_tb_body .wc-backward {
    font-size: 13px!important;
}

.dsm-popup .et_pb_contact_form_container form .et_pb_contact_submit {
    color: var(--primary-color)!important;
    border-width: 2px!important;
    border-color: var(--primary-color)!important;
    border-radius: 90px;
    letter-spacing: 0px;
    font-size: 16px;
    font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif!important;
    font-weight: 700!important;
    text-transform: uppercase!important;
    background-color: #FFFFFF!important;
    padding-top: 10px!important;
    padding-right: 25px!important;
    padding-bottom: 10px!important;
    padding-left: 25px!important;
    margin-top: 30px!important;
    &:hover,
    &:focus,
    &:focus-visible,
    &:active {
        color: #FFFFFF!important;
        border-color: #FFFFFF!important;
        background-image: initial!important;
        background-color: var(--primary-color)!important;
    }
    &::after {
        display: none;
    }
    &::before {
        display: none;
    }
}

.wp-element-button {
    cursor: pointer;
    border-radius: 90px;
    color: var(--primary-color)!important;
    border: 2px solid var(--primary-color)!important;
    border-radius: 90px;
    letter-spacing: 0px;
    font-size: 16px;
    font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif!important;
    font-weight: 700!important;
    text-transform: uppercase!important;
    background-color: #FFFFFF!important;
    padding-top: 10px!important;
    padding-right: 25px!important;
    padding-bottom: 10px!important;
    padding-left: 25px!important;
    margin-top: 30px!important;
    &:hover,
    &:focus,
    &:focus-visible,
    &:active {
        color: #FFFFFF!important;
        border-color: #FFFFFF!important;
        background-image: initial!important;
        background-color: var(--primary-color)!important;
    }
    &::after {
        display: none;
    }
    &::before {
        display: none;
    }
}
.add_to_cart_button.wp-block-button__link {
    cursor: pointer;
    border-radius: 90px;
    color: var(--primary-color)!important;
    border: 2px solid var(--primary-color)!important;
    border-radius: 90px;
    letter-spacing: 0px;
    font-size: 16px;
    font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif!important;
    font-weight: 700!important;
    text-transform: uppercase!important;
    background-color: #FFFFFF!important;
    padding-top: 10px!important;
    padding-right: 25px!important;
    padding-bottom: 10px!important;
    padding-left: 25px!important;
    margin-top: 30px!important;
    &:hover,
    &:focus,
    &:focus-visible,
    &:active {
        color: #FFFFFF!important;
        border-color: #FFFFFF!important;
        background-image: initial!important;
        background-color: var(--primary-color)!important;
    }
    &::after {
        display: none;
    }
    &::before {
        display: none;
    }
}
.wc-block-components-totals-coupon__button {
    margin-top: 0px!important;
}
.wc-block-checkout {
    h1, h2, h3, h4, h5, h6 {
        color: var(--primary-color)!important;
    }
    a {
        color: var(--primary-color)!important;
    }
}
.wp-block-heading {
    color: var(--primary-color)!important;
}
.entry-title {
    color: var(--primary-color)!important;
    font-weight: 600;
}
.wc-block-cart-item__product a {
    color: var(--primary-color)!important;
}
.dsm_menu_0_tb_footer ul.dsm-menu li a, .dsm_menu_1_tb_footer ul.dsm-menu li a {
    color: #FFFFFF !important;
}

.woocommerce {
    margin-bottom: 2rem;
    .woocommerce-MyAccount-content {
        font-size: 18px;
        line-height: 1.3em;
        a {
            color: var(--primary-color)!important;
        }
    }

    .woocommerce-MyAccount-navigation-link--downloads {
        display: none;
    }
    h2 {
        color: var(--primary-color)!important;
    }
    button.button {
        margin-top: 1rem;
    }
    .woocommerce-order-details__title {
        margin-top: 1rem;
    }
    .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
        padding: 0em 1em!important;
        &:hover {
            padding: 0em 1em!important;
        }
    }
}
.et_pb_wc_description {
    a {
        color: var(--primary-color)!important;
    }
}

.woocommerce-info {
    display: flex;
    flex-direction: column-reverse;
    font-size: 16px !important;
    text-align: center;
    a.button {
        margin-top: 1rem;
        float: none !important;
        line-height: 1.3em!important;
        display: inline-block !important;
        margin-left: 0;
        align-self: center;
    }
}
.woocommerce table.my_account_orders {
    font-size: 14px;
}
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
    color: #0909BA!important;
    border-width: 2px!important;
    border-color: #0909BA;
    border-radius: 30px;
    font-size: 16px;
    font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif!important;
    font-weight: 600!important;
    background-color: #FFFFFF;
    transition: all .3s ease;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover {
    background: #1d4ed8;
    color: #ffffff!important;
    padding: 0.3em 1em!important;
}

.woocommerce a.button::before,
.woocommerce a.button::after,
.woocommerce button.button::before,
.woocommerce button.button::after,
.woocommerce input.button::before,
.woocommerce input.button::after {
    content: "" !important;
    xdisplay: none !important;
}

.woocommerce-Address-title {
    .edit {
        margin-bottom: 1rem!important;
    }
}
@media only screen and (min-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 26%;
    }
}
@media only screen and (max-width:980px) {
    .dsm-popup-container.dsm-popup-position-phone-center .mfp-content {
        position: relative;
        left: 0;
        right: 0;
    }
    .mfp-close {
        top: 88px;
    }
    .et_header_style_left #logo {
        max-width: 60%;
    }
}
.woocommerce-MyAccount-navigation ul {
    list-style-type: none !important;
    padding: 0 0 23px 0em !important;
    line-height: 26px;
    li {
        border-bottom: 1px solid var(--primary-color);
        padding-bottom: 12px;
        margin-bottom: 12px;
        &.is-active {
            a {
                color: var(--primary-color)!important;
                font-weight: 600;
            }
        }
        a {
            color: #626262;
            font-size: 20px;
            font-weight: 600;
        }
    }
}
.woocommerce-account .addresses .title .edit {
    float: left !important;
}
.woocommerce-EditAccountForm {
    fieldset {
        margin-top: 2rem;
        legend {
            font-size: 16px;
            font-weight: 600;
        }
    }
}
.woocommerce-form-login .woocommerce-form-login__rememberme {
    display: inline-block;
    margin-top: 1.5rem;
}

@media all and (max-width: 1200px) {
    #et-top-navigation .et-cart-info {
        margin: 9px 0px 0px 0px;
        color: var(--primary-color);
        font-size: 22px;
        span {
            padding-right: 1rem;
        }
    }
}

/* =Menú hamburguesa desde tablet horizontal (por defecto Divi lo hace en 980px)
   Punto de salto: 1200px (mantener sincronizado con la media query del carrito de arriba)
------------------------------------------------------- */
@media only screen and (min-width: 981px) and (max-width: 1200px) {
    /* Oculta el menú de escritorio y la búsqueda */
    #top-menu-nav,
    #top-menu,
    #et_search_icon,
    #et_top_search {
        display: none !important;
    }

    /* Muestra el icono hamburguesa */
    #et_mobile_nav_menu {
        display: block !important;
    }

    /* Alturas/paddings del header como en la vista móvil */
    .et_header_style_left #et-top-navigation,
    .et_header_style_split #et-top-navigation,
    .et_fixed_nav #main-header.et-fixed-header #et-top-navigation {
        padding-top: 24px !important;
    }
    .et_header_style_left #et-top-navigation nav > ul > li > a,
    .et_header_style_split #et-top-navigation nav > ul > li > a {
        padding-bottom: 24px !important;
    }

    /* Módulos Menú / Menú a ancho completo del Theme Builder */
    .et_pb_menu .et_pb_menu__menu,
    .et_pb_fullwidth_menu .et_pb_menu__menu {
        display: none !important;
    }
    .et_pb_menu .et_mobile_nav_menu,
    .et_pb_fullwidth_menu .et_mobile_nav_menu {
        display: block !important;
    }
}
