/* Theme Name: Mar Marcia - Mellis Child Theme
Theme URI: https://themeforest.net/user/ovatheme/portfolio
Description: This is child theme of mellis for Mar Garcia Website
Author: Ovatheme
Author URI: https://themeforest.net/user/ovatheme
Template: mellis
Version: 1.0.0
Tags: two-columns, three-columns, left-sidebar, right-sidebar, custom-menu, editor-style, featured-images, flexible-header, full-width-template, post-formats, rtl-language-support, sticky-post, translation-ready
Text Domain:  margarcia-mellis-child
*/

/* =============================================================
   COLORES DE MARCA — cambia aquí para actualizar todo el sitio
   ============================================================= */
:root {
    --color-primary:  #CB0707;   /* Rojo principal: barra superior, botones, iconos, estrellas */

    /* Sobreescribe la variable del tema padre */
    --primary: var(--color-primary);

    /* Fuente principal (cuerpo y títulos) */
    --primary-font: 'Poppins', sans-serif;
    --secondary-font: 'Poppins', sans-serif;

    /* Tamaño base de fuente — escala fluida: 15px (móvil) → 16px (escritorio) */
    --base-font-size: clamp(0.9375rem, 0.9rem + 0.2vw, 1rem);

    /* Color claro de marca: reemplaza el rosa #f0e8e8 del tema padre */
    --light: #f8e0e0;
}

html {
    font-size: var(--base-font-size);
}

body {
    font-size: 1rem;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    color: #000000;
}

/* Estrellas WooCommerce */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
    color: var(--color-primary);
}

/* H2 de secciones de contenido (ova-title) */
.ova-title .title,
.ova-title .title a {
    color: var(--color-primary);
}

/* Barra superior (top bar) — añade la clase "top-bar-primary"
   en Elementor: sección → Avanzado → Clase CSS */
.top-bar-primary {
    background-color: var(--color-primary) !important;
}

/* Enlaces de la barra superior */
.top-bar-primary a,
.top-bar-primary a:hover {
    color: #ffffff !important;
}

/* Barra superior — alineación y tipografía */
.top-bar-primary .ova-contact-info {
    align-items: center !important;
}
.top-bar-primary .ova-contact-info .icon {
    flex-shrink: 0;
    align-self: center;
}
.top-bar-primary .ova-contact-info .contact .info .item,
.top-bar-primary .ova-contact-info .contact .info .item a {
    font-size: 1rem !important;
    line-height: 1.2 !important;
}

/* =============================================================
   PRODUCT CARD WIDGET
   ============================================================= */
.mpc-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.mpc-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
    padding-top: calc(4 * 1.5rem);
    padding-bottom: calc(4 * 1.5rem);
}

.mpc-wrap--reverse {
    background-color: #F6F6F6;
    margin-left:  calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    padding-left:  calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
}

@media (max-width: 768px) {
    .mpc-wrap {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

.mpc-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.mpc-images--single {
    grid-template-columns: 1fr;
}

.mpc-images .mpc-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mpc-info {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.mpc-category {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #757575;
    margin: 0;
}

.mpc-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.5rem, 2vw, 2rem);
    font-weight: 700;
    color: #CB0707;
    margin: 0 0 calc(2 * 1.5rem) 0; /* mitad = 48px */
    line-height: 1.1;
}

.mpc-price {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 calc(1 * 1.5rem) 0;
    color: #757575 !important;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 1.5rem;
}

.mpc-price strong,
.mpc-price .woocommerce-Price-amount,
.mpc-price .woocommerce-Price-amount bdi,
.mpc-price .amount {
    color: #757575 !important;
    font-weight: 600;
}

.mpc-price-before {
    color: #757575 !important;
    font-weight: 600;
}

.mpc-price-after {
    color: #CB0707 !important;
    font-weight: 600;
}

.mpc-price .mpc-price-after strong,
.mpc-price .mpc-price-after .woocommerce-Price-amount,
.mpc-price .mpc-price-after .woocommerce-Price-amount bdi,
.mpc-price .mpc-price-after .amount {
    color: #CB0707 !important;
}

.mpc-description {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: #444;
    margin: 0 0 calc(4 * 1.5rem) 0; /* igual que features→botones = 96px */
}

.mpc-description p { margin: 0 0 8px !important; }
.mpc-description p:last-child { margin-bottom: 0 !important; }
.mpc-description ul, .mpc-description ol { margin: 0 0 8px !important; padding-left: 1.4em; }
.mpc-description li { margin-bottom: 2px !important; }

/* WooCommerce product tab description */
.woocommerce div.product .woocommerce-tabs .panel p,
.woocommerce div.product .woocommerce-tabs .panel li,
.woocommerce-product-details__short-description p,
.woocommerce-product-details__short-description li,
.woocommerce div.product p:not(.price):not(.stock) {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}
.woocommerce div.product .woocommerce-tabs .panel ul,
.woocommerce div.product .woocommerce-tabs .panel ol,
.woocommerce-product-details__short-description ul,
.woocommerce-product-details__short-description ol {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    padding-left: 1.4em;
}

.mpc-features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: calc(3 * 1.5em);
    padding-top: 0;
    margin: 0 0 calc(4 * 1.5rem) 0; /* 96px antes de los botones */
}

@media (max-width: 480px) {
    .mpc-features { grid-template-columns: repeat(2, 1fr); }
}

.mpc-feature {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
}

.mpc-feature-icon {
    font-size: 1.5rem;
    color: #757575;
}

.mpc-feature-icon svg { width: 1.5em; height: 1.5em; }

.mpc-feature-icon img {
    width: 1.5em;
    height: 1.5em;
    object-fit: contain;
    filter: invert(48%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(98%) contrast(86%); /* → #757575 */
}

.mpc-feature-label {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #757575;
    margin: 0;
}

.mpc-feature-value {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: #757575;
    margin: 0;
    line-height: 1.3;
}

.mpc-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.mpc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #CB0707;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 18px 32px;
    text-decoration: none;
    transition: opacity 0.3s ease;
    cursor: pointer;
    flex: 1 1 auto;
    text-align: center;
}

.mpc-btn:hover {
    opacity: 0.85;
    color: #ffffff !important;
}

/* =============================================================
   ADD TO CART WIDGET
   ============================================================= */
.margarcia-add-to-cart-btn {
    display: inline-block;
    background-color: #CB0707;
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 14px 36px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.margarcia-add-to-cart-btn:hover {
    color: #ffffff;
    opacity: 0.88;
}
.margarcia-add-to-cart-btn.added::after {
    display: none; /* oculta el ✓ nativo de WC si no se quiere */
}

/* =============================================================
   OVA HEADING — ESPACIO ALREDEDOR DEL TÍTULO (~1/3 del original)
   original: margin 8px 0 30px 0
   ============================================================= */
.ova-title .title {
    margin: 22px 0 !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}

.ova-title .description {
    /* 1rem escala con --base-font-size del html (clamp 15→16px) */
    font-size: 1rem !important;
    line-height: 1.8 !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    color: #000000 !important;
}

/* =============================================================
   SERVICE BOX — imagen de icono igual tamaño/estilo que icono de fuente
   ============================================================= */

/* template1: círculo 90px — imagen con padding interno para no recortar */
.ova-service-box-template1 .icon img {
    width: 54px;
    height: 54px;
    object-fit: contain;
    padding: 10px;
    filter: brightness(0) invert(1);
}

/* template2: font-size referencia 66px → imagen al 55% (~36px) */
.ova-service-box-template2 .icon img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    filter: invert(13%) sepia(94%) saturate(7496%) hue-rotate(5deg) brightness(91%) contrast(115%);
}

/* template3: referencia 45px → imagen al 55% (~25px) */
.ova-service-box-template3 .icon img {
    width: 25px;
    height: 25px;
    object-fit: contain;
    filter: invert(13%) sepia(94%) saturate(7496%) hue-rotate(5deg) brightness(91%) contrast(115%);
}

/* template4: referencia 65px → imagen al 55% (~36px) */
.ova-service-box-template4 .icon img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    filter: invert(13%) sepia(94%) saturate(7496%) hue-rotate(5deg) brightness(91%) contrast(115%);
}

/* =============================================================
   SERVICE BOX — carousel
   ============================================================= */
.ova-service-box-carousel .swiper {
    padding-bottom: 40px;
}

/* paginación roja */
.ova-service-box-carousel .swiper-pagination-bullet {
    background: #CB0707;
    opacity: 0.3;
}
.ova-service-box-carousel .swiper-pagination-bullet-active {
    background: #CB0707;
    opacity: 1;
}

/* slides igual altura */
.ova-service-box-carousel .swiper-wrapper {
    align-items: stretch;
}

.ova-service-box-carousel .swiper-slide {
    height: auto;
    display: flex;
}

.ova-service-box-carousel .swiper-slide .ova-service-box {
    flex: 1;
    width: 100%;
}

/* service box — título y descripción */
.ova-service-box .title,
.ova-service-box .title strong,
.ova-service-box:hover .title,
.ova-service-box:hover .title strong,
.ova-service-box a .title:hover {
    color: #757575 !important;
    font-family: 'Poppins', sans-serif !important;
}

.ova-service-box .description {
    color: #757575 !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
}

/* neutralizar hover persistente en slide activo */
.ova-service-box-carousel .swiper-slide .ova-service-box-template1 {
    border-color: transparent !important;
    border-radius: 13px !important;
    overflow: hidden;
}
.ova-service-box-carousel .swiper-slide .ova-service-box-template1 .title {
    color: var(--heading) !important;
}
.ova-service-box-carousel .swiper-slide .ova-service-box-template1:hover {
    border-color: var(--primary) !important;
}
.ova-service-box-carousel .swiper-slide .ova-service-box-template1:hover .title {
    color: #757575 !important;
}

/* =============================================================
   SERVICE BOX — border radius
   ============================================================= */
.ova-service-box-elementor .ova-service-box {
    border-radius: 13px !important;
}

/* =============================================================
   SERVICE BOX — centrado cuando hay menos items que columnas
   Reemplaza grid (1fr no centra parciales) por flex con wrap
   ============================================================= */
.ova-service-box-elementor {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}

/* Anchura de cada item según columnas (gap=30px) */
.ova-service-box-elementor.one_column   .ova-service-box { flex: 0 0 100%; }
.ova-service-box-elementor.two_column   .ova-service-box { flex: 0 0 calc(50% - 15px); }
.ova-service-box-elementor.three_column .ova-service-box { flex: 0 0 calc(33.333% - 20px); }
.ova-service-box-elementor.four_column  .ova-service-box { flex: 0 0 calc(25% - 22.5px); }
.ova-service-box-elementor.five_column  .ova-service-box { flex: 0 0 calc(20% - 24px); }
.ova-service-box-elementor.six_column   .ova-service-box { flex: 0 0 calc(16.666% - 25px); }

/* Responsive — mismos breakpoints que el plugin */
@media (max-width: 1200px) {
    .ova-service-box-elementor.four_column  .ova-service-box,
    .ova-service-box-elementor.five_column  .ova-service-box,
    .ova-service-box-elementor.six_column   .ova-service-box { flex: 0 0 calc(33.333% - 20px); }
}
@media (max-width: 991px) {
    .ova-service-box-elementor.three_column .ova-service-box,
    .ova-service-box-elementor.four_column  .ova-service-box,
    .ova-service-box-elementor.five_column  .ova-service-box,
    .ova-service-box-elementor.six_column   .ova-service-box { flex: 0 0 calc(50% - 15px); }
}
@media (max-width: 767px) {
    .ova-service-box-elementor .ova-service-box { flex: 0 0 100%; }
}

/* =============================================================
   SERVICE BOX — ocultar separador y liberar espacio sin botón
   ============================================================= */
.ova-service-box-template1 .info.no-button .description {
    border-bottom: none !important;
}

/* =============================================================
   SALTOS DE LÍNEA EN CAMPOS TEXTAREA DE WIDGETS OVA
   (heading usa nl2br en PHP; el resto se resuelve con pre-line)
   ============================================================= */
.ova-client-stories p.story,
.ova-icon-list p.desc,
.ova-icon-box p.desc,
.ova-contact-info .contact.template_2 .desc {
    white-space: pre-line;
}

/* =============================================================
   OVA HEADING — SUB TITLE 2
   ============================================================= */
.ova-title .sub-title-2 {
    color: #666666;
    font-size: 1.3125rem; /* 21px @ base 16px, escala con html */
    font-weight: 400;
    line-height: 1;
    margin: 22px 0 0;
    padding: 0;
}

/* título OVA Heading: ~34px en 2K, escala fluida con pantalla */
.ova-title .title {
    font-size: clamp(1.125rem, calc(1rem + 0.7vw), 2.125rem) !important;
}

/* =============================================================
   ELIMINAR FLORES DECORATIVAS DE FONDO
   ============================================================= */

/* Flores del tema padre (promotions widget) */
.ova-promotions .promotion.template_2.background_1,
.ova-promotions .promotion.template_2.background_2,
.ova-promotions .promotion.template_3 {
    background-image: none !important;
}

/* Flores añadidas vía Elementor como inline background-image */
[style*="flower_page.png"],
[style*="flowers.png"],
[style*="flowers2.png"],
[style*="flowers3.png"],
[style*="flowers4.png"],
[style*="bg_flower.png"],
[style*="flower_video_bg.png"] {
    background-image: none !important;
}

/* Círculos decorativos rosas en image-box template 3 */
.image-box.template_3 .ova-img {
    background-image: none !important;
}

/* =============================================================
   OVA IMAGE BOX — proporciones naturales (retrato vertical)
   ============================================================= */
.image-box.template_1 .ova-img img {
    width: auto;
    max-width: 100%;
    min-height: unset !important;
    max-height: unset !important;
    object-fit: unset !important;
}

.image-box.template_2 .ova-img img {
    object-fit: unset !important;
}

/* =============================================================
   ROSAS → ROJOS (fondos, bordes y acentos hardcoded del tema padre)
   ============================================================= */

/* Fondos rosas muy claros → tono rojo muy claro */
.woocommerce #woo_main .content-area .woocommerce-ordering select,
.woocommerce div.product .share-social-icons li a,
.woocommerce .woo-sidebar .woo_widget.widget_product_categories li:hover,
.ova-contact-page .text-email input,
.ova-contact-page .ova-textarea textarea,
.ova-team .ova-team-box .item,
.ova-client-stories .item-client-stories .client_info .date,
.ova-team2-v2 {
    background-color: #fff0f0 !important;
}

.image-box.template_1 .ova-img:before {
    background-color: #CB0707 !important;
}

/* Fondo beige-rosa (sidebar de productos) */
.woocommerce .woo-sidebar .widget_products {
    background-color: #fff0f0 !important;
}

/* Bordes rosas → borde rojo claro */
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .panel#tab-additional_information table.shop_attributes,
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce .woo-sidebar .woo_widget,
.woocommerce .woo-sidebar .widget_product_search .woocommerce-product-search .search-field,
.ova-pricing,
.ova-pricing.template2 .pricing-service,
.ova-pricing .pricing-service,
.ova-price-list .item-price-list,
.ova-client-stories .item-client-stories,
.ova-testimonial.version_2 .slide-testimonials .client-info .info p.ova-evaluate {
    border-color: #f5d5d5 !important;
}

/* Borde inferior de tabs de WooCommerce */
.woocommerce div.product .woocommerce-tabs ul.tabs:before {
    border-bottom-color: #f5d5d5 !important;
}

/* Línea decorativa de títulos */
.ova-title.line-title .title:before,
.ova-title.line-title .title:after {
    background-color: #f5d5d5 !important;
}

/* Pseudo-elemento de borde lateral activo en tab */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active:first-child:before {
    background: #f5d5d5 !important;
}

/* =============================================================
   #DE968D → ROJO (botón pricing y cualquier uso hardcoded)
   ============================================================= */
.ova-pricing .pricing-btn {
    background-color: var(--color-primary) !important;
}

/* =============================================================
   COLORES RESTANTES ROSA/SALMON → ROJO
   ============================================================= */

/* #ff623f coral — asteriscos de campos requeridos en formularios */
.woocommerce div.product .woocommerce-tabs .panel #reviews #review_form_wrapper #review_form #respond .comment-form .comment-notes .required,
.woocommerce div.product .woocommerce-tabs .panel #reviews #review_form_wrapper #review_form #respond .comment-form label .required {
    color: var(--color-primary) !important;
}

/* #d3ced2 malva — estrellas vacías en product-list widget */
.ova-product-list li.product .star-rating:before {
    color: #f5c5c5 !important;
}

/* service_single_elementor: sin wrapper boxed — el banner ocupa full width */
.service_single_elementor {
    width: 100%;
}

/* El segundo container (widget productos) mantiene max-width boxed */
.service_single_elementor .elementor > .e-con:not(:first-child) {
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 30px;
    padding-right: 30px;
    box-sizing: border-box;
}

/* Select del formulario de contacto — mismos estilos que los inputs */
.ova-contact-page .text-email select,
.ova-contact-page select.wpcf7-select {
    width: 100%;
    border-color: transparent;
    background-color: #fcf5f5;
    padding: 17px 30px;
    border-radius: unset;
    font-size: 14px;
    font-weight: 500;
    font-family: var(--primary-font);
    color: var(--text);
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

/* Checkboxes del formulario de contacto */
.ova-contact-page .wpcf7-acceptance input[type="checkbox"],
.ova-contact-page .wpcf7-list-item input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    min-width: 22px;
    border: 1.5px solid #b0b0b0;
    background-color: #ffffff;
    border-radius: 2px;
    cursor: pointer;
    margin: 0;
    vertical-align: middle;
    position: relative;
    flex-shrink: 0;
}

.ova-contact-page .wpcf7-acceptance input[type="checkbox"]:checked {
    background-color: #CB0707;
    border-color: #CB0707;
}

.ova-contact-page .wpcf7-acceptance input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 2px;
    width: 8px;
    height: 12px;
    border: 2px solid #ffffff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

.ova-contact-page .wpcf7-acceptance .wpcf7-list-item label {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-size: 14px;
    color: var(--text);
}

.ova-contact-page .wpcf7-acceptance .wpcf7-list-item {
    margin: 0 0 10px;
}

/* Name input y select: mismo ancho que email — igualar flex de la row */
.ova-contact-page .text-email:has(.wpcf7-select) .ova-text,
.ova-contact-page .text-email:has(.wpcf7-select) .ova-email {
    flex: 1 1 0;
    width: auto;
}

.ova-contact-page .text-email select {
    box-sizing: border-box;
    width: 100%;
}

.ova-contact-page .ova-submit {
    margin-top: calc(20 / 16 * 1rem);
}

/* Quitar enlace de títulos en el blog grid (carousel home) */
.mellis-blog-grid .post-title a {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit;
}

/* Quitar enlace de títulos en el service box carousel */
.ova-service-box-template1 .info > a {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: inherit;
}

/* === Tarjetas Regalo form fixes === */

/* Mensaje personalizado: full width + mismo fondo rojo */
.ova-contact-page .ova-text:has([data-name="your-message"]) {
    width: 100%;
    margin-bottom: 20px;
}
.ova-contact-page .ova-text:has([data-name="your-message"]) input {
    width: 100%;
    border-color: transparent;
    background-color: #fcf5f5;
    padding: 17px 30px;
    border-radius: unset;
    box-sizing: border-box;
    font-size: 14px;
    font-weight: 500;
    font-family: var(--primary-font);
}

/* Segundo nombre completo (row sin importe): full width */
.ova-contact-page .text-email:has([data-name="your-name"]):not(:has([data-name="importe"])) {
    flex-wrap: wrap;
}
.ova-contact-page .text-email:has([data-name="your-name"]):not(:has([data-name="importe"])) .ova-text {
    width: 100%;
    flex: 1 1 100%;
}

/* Checkboxes: mismo espacio superior que el que hay hasta el botón de enviar */
.ova-contact-page p:has(.wpcf7-acceptance:first-of-type) {
    margin-top: calc(20 / 16 * 1rem);
}

/* Description en páginas de contacto y tarjetas regalo */
.ova-contact-page p.description,
.page-id-30 p.description,
.page-id-8151 p.description {
    font-size: 13px;
}

/* Canvas menu hover — rojo corporativo */
#menu-menu-principal-1 > li.menu-item > a:hover {
    color: #CB0707 !important;
}

/* Badge contador del carrito en el icono del header */
.elementor-element-46988f7 .elementor-icon {
    position: relative;
}

.margarcia-cart-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    background-color: #CB0707;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    min-width: 16px;
    height: 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    font-family: 'Poppins', sans-serif;
}

/* Ocultar enlace "View cart" / "Ver cesta" tras añadir al carrito */
a.added_to_cart {
    display: none !important;
}

/* Espacio superior en blog y single post */
body.blog .row_site,
body.single-post .row_site {
    padding-top: 2rem;
}

/* Menu top-level: reducir padding para que quepa en una línea */
.main-navigation ul.menu > li > a {
    padding-left: 0.4rem;
    padding-right: 0.4rem;
    font-size: 0.82rem;
    letter-spacing: 0.05em;
}

/* Zone selector en listado de productos */
.zona-selector-wrap {
    margin: 8px 0 6px;
    width: 100%;
}
.zona-select {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 13px;
    font-family: 'Poppins', sans-serif;
    color: #444;
    background: #fff;
    cursor: pointer;
    appearance: auto;
}
.zona-select:focus {
    outline: none;
    border-color: var(--color-primary, #c9a96e);
}
li.product .add_to_cart_button.disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}

/* Zone selector in product-card widget (service pages) */
.mpc-zona-select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
    color: #444;
    background: #fff;
    cursor: pointer;
    margin-bottom: 8px;
    appearance: auto;
}
.mpc-zona-select:focus {
    outline: none;
    border-color: var(--color-primary, #c9a96e);
}
.mpc-zona-price {
    display: block;
    font-size: 16px;
    margin-bottom: 8px;
    color: #757575;
}
.mpc-cart-zona.disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}
