/*
    Theme Name:   Museo Misiones
    Description:  Tema personalizado para el sitio web Museo Misiones Salesianas.
    Author:       Introarte SL
    Author URI:   https://introarte.net
    Template:     generatepress
    Version:      0.1
*/
/** GENERALES **/
.ms-top {
	border-top-right-radius: 30px;
}
.ms-border {
    border-top-right-radius: 150px;
}
@media screen and (max-width: 1250px) {
    .ms-top {
        gap: 1rem;
    }
    .ms-top img {
        height: 30px !important;
    }
    .top-redes {
        display: none !important;
    }
}


/** MENU TIENDA **/
.main-navigation .menu-tienda {
    height: 70px;
    padding: 1.2rem !important;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 32px;
    list-style: none;
    display: flex;
    align-items: center;
}
.main-navigation .menu-tienda a {
    padding-left: 2rem;
    text-decoration: none;
}


@media screen and (min-width: 1410px) {
    .inside-header {
        padding: 20px 40px !important;
    }
    .main-navigation .menu-tienda {
        padding: 2rem !important;
        background-position: .5rem center;
    }
}
@media screen and (max-width: 1260px) {
    .site-header .header-image {
        width: 250px;
    }
    .main-navigation a {
        font-size: 18px;
    }
}
@media screen and (min-width: 769px) {
    .main-navigation .menu-tienda.current-menu-item,
    .home .main-navigation .menu-tienda:first-of-type {
        background-color: #fff;
    }
    .main-navigation .menu-tienda.novedades {
        background-image: url(assets/icons/ico-estrella-menu.webp);
    }
    .main-navigation .menu-tienda.papeleria {
        background-image: url(assets/icons/ico-papeleria.webp);
    }
    .main-navigation .menu-tienda.religiosos {
        background-image: url(assets/icons/ico-cruz.webp);
    }
    .main-navigation .menu-tienda.solidario {
        background-image: url(assets/icons/ico-regalo.webp);
    }
    .main-navigation .menu-tienda.navidad {
        background-image: url(assets/icons/ico-estrella.webp);
    }
    .main-navigation .menu-tienda.home {
        background-image: url(assets/icons/ico-bolsa.webp);
    }
}
@media screen and (max-width: 768px) {
    .main-navigation .menu-tienda.novedades {
        background-image: url(assets/icons/ico-estrella-menu-blanco.webp);
    }
    .main-navigation .menu-tienda.papeleria {
        background-image: url(assets/icons/ico-papeleria-blanco.webp);
    }
    .main-navigation .menu-tienda.religiosos {
        background-image: url(assets/icons/ico-cruz-blanco.webp);
    }
    .main-navigation .menu-tienda.solidario {
        background-image: url(assets/icons/ico-regalo-blanco.webp);
    }
    .main-navigation .menu-tienda.navidad {
        background-image: url(assets/icons/ico-estrella-blanco.webp);
    }
    .main-navigation .menu-tienda.home {
        background-image: url(assets/icons/ico-bolsa-blanco.webp);
    }
    .slideout-navigation.do-overlay .inside-navigation {
        padding: 10% 5% 0;
    }
    #generate-slideout-menu .slideout-menu li {
          border-top: 1px solid #fff;
    }
    .site-header {
        margin-bottom: 2rem;
    }
    #generate-slideout-menu {
        margin-top: 160px;        
        clip-path: ellipse(170% 100% at 50% 100%);
    }
    #generate-slideout-menu .wp-block-woocommerce-customer-account a {
    display: block;
    line-height: inherit;
    padding: 0; 
    }
    #generate-slideout-menu svg {
        width: 36px;
        height: 36px;
    }
    button.slideout-exit.has-svg-icon {
        display: none;
    }
    .slideout-navigation .main-nav {
        margin-bottom: 0 !important;
    }
    .slideout-navigation.do-overlay .menu-item-has-children .dropdown-menu-toggle {
        padding-top: 5px !important;
    }

}







/** CABECERAS **/
.fondo-cabecera {
	clip-path: ellipse(90% 120% at 100% 50%);
	padding-left: 25% !important;
}
.term-description {
    display: none;
}
.cabecera-categoria {
    background-size: 60% !important;
}
.widget_shopping_cart .woocommerce-mini-cart__buttons {
    justify-content: space-between;
}
.woocommerce.widget_shopping_cart .woocommerce-mini-cart__buttons a {
    width: calc(50% - 5px) !important;
    display: flex;
    border-radius: 30px;
    padding: 5px 10px !important;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px) {
    .fondo-cabecera {
        clip-path: margin-box;
        padding-left: 10% !important;
    }
    .site-header.has-inline-mobile-toggle .site-logo {
        max-width: 65%;
    }
}





/** ACORDEON **/
.acordeon-ms details[open] summary {
    display: none;
}
.acordeon-ms summary {
    background: url(/wp-content/uploads/2025/12/fondo-acordeon.webp);
    border: 0 !important;
}

/** SLIDER **/
.ms-slider .swiper-pagination {
    padding: 1rem 3rem;
    border-radius: 20px;
    background: #fff;
}
.ms-slider .swiper-pagination-bullet {
    width: 16px !important;
    height: 16px !important;
    outline-color: var(--accent);
    outline-width: 1px;
    outline-style: solid;
    outline-offset: 2px;
}
.ms-slider .swiper-pagination-bullet-active {
    background-color: var(--accent) !important; 
}


/*** FORMULARIO ***/
.ms-form .wpforms-submit-container {
    float: right;
    margin-top: -40px !important;
    margin-right: 10px;
}

/** ORDENAR PRODUCTOS **/
/*.woocommerce .woocommerce-ordering {
    margin: 0 6em 1em;
}
body.tax-product_cat .woocommerce-ordering:after {
    font-family: inherit;
    content: "⌃";
    transform: rotate(180deg);
    font-size: 20px;
    background-color: var(--accent);
    color: #fff;
    padding: 4px;
    margin-top: -8px;
    font-weight: 700;
}*/
body.tax-product_cat .woocommerce-ordering:after {
    display: none;
}
.ordering-menu__list.is-open li:first-of-type {
    display: none;
}
.woocommerce-ordering.ordering-menu {
    position: relative;
    display: inline-block;
    font-family: inherit;
    margin: 0 6em 1em;
}

.ordering-menu__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 220px;
    border: none;
    color: #000;
    background: #fff;
    cursor: pointer;
    text-transform: uppercase;
    padding: 0;
    font-size: 13px;
    letter-spacing: 0.05em;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
button.ordering-menu__toggle:hover,
button.ordering-menu__toggle:focus,
button.ordering-menu__toggle.is-active {
    background: #fff !important;
    color: #000 !important;
}
span.ordering-menu__toggle-text {
    padding: 10px 14px;
}

.ordering-menu__toggle-icon {
    background-color: var(--accent);
    color: #fff;
    margin-left: 10px;
    font-size: 12px;
    padding: 10px 14px;
}

.ordering-menu__list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    background: #fff;
    box-shadow: 0 8px 16px rgba(0,0,0,0.12);
    display: none;
    z-index: 100;
}

/* Cuando está abierta */
.ordering-menu__list.is-open {
    display: block;
}

/* Elementos de la lista */
.ordering-menu__item {
    padding: 10px 14px;
    cursor: pointer;
    font-size: 14px;
    border-top: 1px solid #f0f0f0;
}

.ordering-menu__item:first-child {
    border-top: none;
}
/* Quitar borde azul feo en algunos navegadores */
.ordering-menu__item:focus {
    outline: none;
}

/* Estilo de las <option> (limitado por los navegadores) */
.woocommerce-ordering select.orderby option {
    background-color: #fff;
    color: var(--contrast-2);
    padding: 8px;
    border-bottom: 1px solid #eee;
}
@media screen and (max-width: 768px) {
    .woocommerce-ordering.ordering-menu {
        display: flex;
        margin: 2rem auto !important;
        justify-content: center;
    }
}


/** HOME **/
.fondo-gris-claro  {
    position: relative !important;
}
.fondo-gris-claro::before  {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    background: var(--base);
    right: 0;
    top: 0;
}






/** PAGINA PRODUCTO **/
.woocommerce div.product .woocommerce-product-gallery__trigger{
    display: none !important;
}
.woocommerce div.product.ms-product {
    margin-bottom: 0;
    display: flex;
    position: relative;
}

.woocommerce div.product.ms-product .fondo-cabecera {
	padding-left: 10% !important;
    padding-right: 10% !important;
}
.fondo-rosa {
    position: relative !important;
}
.woocommerce div.product.ms-product::before, 
.fondo-rosa::before {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    background: #fff;
    right: 0;
    top: -1px;
    clip-path: polygon(0 0, 100% 0, 100% 100%);
}
.woocommerce-product-gallery__image {
    position: relative;
}
.woocommerce .ms-product .woocommerce-product-gallery__image::before {
    content: "";
    position: absolute;
    top: 20%;
    left: 5%;
    width: 90%;
    height: 70%;
    border: 1px solid #c62026;
    border-top-right-radius: 15%;
    z-index: 0;
}
.ms-product .woocommerce-product-gallery {
    margin-right: 0;
	padding: 2rem;
}
.woocommerce div.product.ms-product div.images img {
    position: relative;
    z-index: 2;
}
/* Oculta las miniaturas */
.woocommerce div.product div.images .flex-control-thumbs {
    display: flex;
    justify-content: center;
}
.ms-product .woocommerce-product-gallery .flex-control-thumbs img {
    width: 40px !important;
    height: 40px !important;
}


.woocommerce div.product div.images, .woocommerce div.product div.summary {
    margin-bottom: 0;
}
.woocommerce div.product.ms-product div.summary {
    padding: 6rem;
    background-color: var(--accent);
    color: #fff;
    display: flex;
    width: 50% !important;
    flex-direction: column;
    justify-content: center;
    border-top-right-radius: 150px;
}
.ms-product .woocommerce-product-details__short-description {
    color: #fff !important;
    font-weight: 700;
}
.woocommerce div.product.ms-product p.price {
    color: #fff;
    font-size: 24px;
    font-family: Antonio;
    width: auto !important;
    margin-bottom: 0;
    margin-right: 2rem;
}

.ms-price-container {
    display: flex;
    align-items: center;
    gap: 2rem;
}
.ms-price-container .stock {
    display: none;
}
.woocommerce .ms-price-container .quantity.buttons-added .minus, 
.woocommerce .ms-price-container .quantity.buttons-added .plus, 
.woocommerce .ms-price-container .quantity.buttons-added .qty {
    border: 1px solid #fff;
    width: 52px;
    min-height: 58px;
}
.woocommerce .ms-price-container .quantity.buttons-added .minus {
    font-size: 36px;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}
.woocommerce .ms-price-container .quantity.buttons-added .plus {
    font-size: 36px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}
p.relleno {
    height: 1rem;
}
.info-gastos strong {
    line-height: 3rem;
}


.woocommerce .ms-price-container .single_add_to_cart_button {
    border: 1px solid #fff !important;
    border-radius: 30px;
    padding: 7px 50px;
    width: auto;  
}
.woocommerce .ms-price-container .single_add_to_cart_button svg {
    margin-left: 0.5rem;
    vertical-align: middle;
}
.woocommerce .ms-price-container form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.ms-product .info-gastos {
    font-family: Antonio;
}
.ms-product .info-gastos a {
    color: #fff;
    text-decoration: none;
}

.single-product-upsells {
    background-color: var(--accent);
    margin-top: 0;
}
.woocommerce .upsells {
    padding: 80px 2rem 5rem 2rem;
    text-align: center;
    background-color: var(--contrast-3);
    border-top-right-radius: 150px;
    margin-top: 0;
}
.woocommerce .upsells h2 {
    color: var(--accent);
    padding-bottom: 5rem;
}
.woocommerce .upsells .btnVolverTienda {
    background-color: transparent;
    float: right;
    right: 9rem;
    text-decoration: none;
    position: absolute;
    z-index: 4;
    color: var( --accent );
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: var( --e-accent-color-primary );
    border-radius: 50px 50px 50px 50px;
    padding: 10px 30px;
}
.upsells .product-excerpt {
    color: #000;
}
.upsells ul.products {
    max-width: var(--gb-container-width);
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .woocommerce div.product.ms-product {
        flex-direction: column;
    }
    .ms-product .woocommerce-product-gallery {
        width: 100% !important;
        margin: 0 !important;
        padding: 2rem !important;
    }
    .woocommerce div.product.ms-product div.summary {
        width: 100% !important;
        border-top-right-radius: 0;
        padding: 4rem 2rem !important;
        clip-path: ellipse(150% 100% at 50% 100%);
    }
    .add-to-cart-panel form.cart, .woocommerce div.product.do-quantity-buttons form.cart {
        justify-content: center;
    }
    .woocommerce .upsells .btnVolverTienda {
        float: none;
        margin-bottom: 1rem;
        right: auto;
        display: inline-block;
        position: relative;
    }    
}







/** PAGINA CARRITO Y PEDIDO **/
.woocommerce table.shop_table td, 
.woocommerce table.shop_table th {
    padding: 20px;
    border: 0;
    font-family: 'Antonio';
    font-size: 23px;
    background-color: transparent !important;
}
.woocommerce table.shop_table.cart th {
    background-color: var(--contrast-2) !important;
    color: #fff;
}
.woocommerce table.shop_table td {
    border-bottom: 0 !important;
    color: var(--accent);
    font-size: 26px;
}
.woocommerce .woocommerce-checkout table.shop_table th,
.woocommerce .woocommerce-checkout table.shop_table td {
    color: #000;
    font-size: 22px;
    padding: 20px 0;
}
.woocommerce table.shop_table .cart_item td {
    border-bottom: 1px solid var(--contrast-2) !important;
}
.woocommerce table.shop_table.woocommerce-cart-form__contents th:last-of-type {
    border-top-right-radius: 150px;
}
.woocommerce table.shop_table td.product-remove {
    max-width: 30px;
    padding-right: 5px;
}
.woocommerce table.shop_table td.product-thumbnail {
    max-width: 150px;
    padding: 20px 0;
}
.woocommerce table.shop_table td.product-name {
    padding-left: 0;
}
.product-price, .product-subtotal, .product-quantity {
    text-align: center;
}
.woocommerce table.shop_table td a {
    text-decoration: none;
}
.woocommerce .product-remove a.remove {
    font-weight: 100 !important;
    font-size: 30px !important;
    line-height: 32px !important;
    border-color: transparent !important;
    border: none !important;
}
.woocommerce-cart .product-thumbnail a {
    display: block;
    width: 150px;
    position: relative;
}
.woocommerce-cart .product-thumbnail a::before {
    content: "";
    position: absolute;
    top: 15%;
    left: 5%;
    width: 90%;
    height: 70%;
    border: 1px solid #c62026;
    border-top-right-radius: 15%;
    z-index: 0;
}
.woocommerce-cart table.cart img, 
.woocommerce-checkout table.cart img {
    width: 150px;
    z-index: 2;
    position: relative;
}
.shop_table div.quantity {
    justify-content: center;
}

.woocommerce-cart form .shop_table .quantity.buttons-added .minus, 
.woocommerce-cart form .shop_table .quantity.buttons-added .plus, 
.woocommerce-cart form .shop_table .quantity.buttons-added .qty {
    border: 1px solid var(--accent) !important;
}
.woocommerce-cart form .shop_table .quantity.buttons-added .minus {
    border-right-width: 0 !important;
}
.woocommerce-cart form .shop_table .quantity.buttons-added .plus {
    border-left-width: 0 !important;
}
.woocommerce-cart .actions .button {
    background-color: var(--accent);
    font-size: 20px;
    border-radius: 30px;
    padding: 10px 60px !important;
    text-decoration: none;
    color: #fff !important;
    text-transform: uppercase;
    margin-top: 2rem;
}
.cart_totals h2,
.woocommerce-checkout h3 {
    color: #fff;
    background-color: var(--contrast-2);
    font-size: 26px;
    padding: 20px;
    border-top-right-radius: 150px;
    text-transform: uppercase;
}
.woocommerce-checkout h3 {
    text-transform: none;
    max-width: 75%;
}
h3#order_review_heading {
    max-width: 35%;
    float: left;
}
.cart_totals .shop_table tr th, 
.cart_totals .shop_table tr td {
    color: var(--contrast);
    font-size: 26px;
    border-bottom: 1px solid var(--contrast-2) !important;
}
.cart_totals .shop_table tr.order-total th, 
.cart_totals .shop_table tr.order-total td {
    border-bottom: 0 !important;
}
.woocommerce-cart .wc-proceed-to-checkout .button {
    background-color: var(--accent);
    font-size: 20px;
    font-weight: bold;
    border-radius: 30px;
    padding: 10px 60px !important;
    text-decoration: none;
    color: #fff !important;
    text-transform: uppercase;
    margin-top: 2rem;
}
.woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout-review-order, .woocommerce-additional-fields__field-wrapper
{
    background-color: var(--contrast-3);
    margin-top: -20px;
    padding: 2rem;
}

.woocommerce-checkout input, 
.woocommerce-checkout select,
.woocommerce-checkout .select2-selection,
.woocommerce-checkout textarea {
    border: 1px solid var(--accent) !important;
    border-radius: 30px !important;
}
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
    width: auto !important;
    margin: 0 auto;
    display: block;
    border-radius: 50px;
    text-transform: uppercase;
    padding: 10px 60px !important;
    font-size: 100% !important;
}
@media screen and (max-width: 768px) {
    .woocommerce table.shop_table td {
        font-size: 1.3rem; 
    }
    .woocommerce-cart .actions .button,
    .woocommerce-cart .wc-proceed-to-checkout .button,
    .woocommerce #payment #place_order, 
    .woocommerce-page #payment #place_order {
        padding: 10px 20px !important;
    }
    h3#order_review_heading {
        max-width: 75%;
    }
}







/** FOOTER **/
.ms-pie .gb-shape svg {
    color: #fff !important;
    fill: #fff !important;
}
.ms-pie-rojo a {
    color: #fff;
    text-decoration: none;
} 
.ms-pie h3:after {
    content: "";
    display: block;
    width: 50%;
    height: 2px;
    background-color: var(--accent);
    margin-bottom: 1rem;
    margin-top: 1rem;
}
#mc_embed_signup .title {
    color: #fff;
    font-size: 1.8em;
    font-family: Antonio;
}
#mc_embed_signup a {
    color: #fff;
    text-decoration: underline;
}
.mc-field-group {
    display: flex; 
    flex-direction: row; 
    align-items: center;
    gap: 2rem;
    padding: 0 1rem;
    width: 100%;
}
#mc_embed_signup .mc-field-group > div {
    text-align: left;
}
.caja-email {
    width: calc(100% - 430px);
}
#mc_embed_signup .contenedor_blanco {
    background-color: #fff;
    border-radius: 5px;
    padding: 5px;
    display: block;
    width: 100%;
}
#mc_embed_signup .contenedor_blanco .email {
    border: 0;
    background-color: #fff;
    padding: 5px 10px;
    width: calc(100% - 40px);
}
#mc_embed_signup .contenedor_blanco .button {
    padding: 5px 10px;
    color: #fff;
    background-color: var(--accent);
}
.site-footer ul {
    list-style: none;
}
.site-footer ul li a {
    color: #fff;
    text-decoration: none;
    line-height: 1.5em;
}
.btn-pie {
	background-size: 50px;
}
.menu-pie {margin-top: 2rem}
.menu-pie li {
    margin-bottom: 2rem;
}

/**Excepciones a los colores del pie en la página carrito y categorías **/
.woocommerce-cart .site-footer > div:first-of-type,
.woocommerce-checkout .site-footer > div:first-of-type,
.tax-product_cat .site-footer > div:first-of-type {
    background-color: var(--base) !important;
}

@media screen and (max-width: 768px) {
    .mc-field-group {
        flex-direction: column;
        gap: 1rem;
    }
    .caja-email {
        width: 100%;
    }
    .ms-pie h3:after {
        width: 100%;
    }  
    .menu-pie {
        align-items: center !important;
    }  
}


/* =========================================================
   🔴 Sustituir miniaturas por puntos (sin mostrar imágenes)
   ========================================================= */

/* Contenedor de los puntos */
.woocommerce-product-gallery .flex-control-thumbs {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    padding: 0;
}

/* Cada punto */
.woocommerce-product-gallery .flex-control-thumbs li {
    position: relative;
    list-style: none;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    padding: 0;
}

/* Punto base (gris) */
.woocommerce-product-gallery .flex-control-thumbs li::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    background: var(--contrast-3);
    transition: transform 0.15s ease, background 0.3s ease;
    pointer-events: none;
}

/* Hover: leve agrandamiento */
.woocommerce-product-gallery .flex-control-thumbs li:hover::before {
    transform: scale(1.15);
}

/* Punto activo (rojo) */
.woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active)::before,
.woocommerce-product-gallery .flex-control-thumbs li.is-active::before {
    background: var(--accent);
}

/* Miniaturas ocultas pero clicables */
.woocommerce-product-gallery .flex-control-thumbs li img {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    pointer-events: auto !important;
    cursor: pointer;
    border-radius: 9999px !important;
    z-index: 2;
}