/*
Theme Name: Komestic Child
Template: komestic
Description: Tema hijo de Komestic para Maison Perfumeria. Protege las personalizaciones (traducción nativa al español y correcciones de código) frente a futuras actualizaciones del tema padre.
Author: Maison Perfumeria
Version: 1.7.1
Text Domain: komestic
*/

/* ============================================================
   Personalizaciones visuales Maison Perfumeria
   (migrado desde "CSS adicional" del Personalizador el 2026-09-28
   para que sobreviva a cambios de tema y quede versionado con el código)
   ============================================================ */

/* MAISON-PERFUMERIA-START */
/* Iconos SVG */
.generoicon,.marcaicon,.climaicon,.consetracion,.consetracionicon,.anoicon,.paisicon,.notas-salidaicon,.notas-corazonicon,.notas-baseicon{height:20px;width:20px;display:inline-block;margin-right:8px;flex-shrink:0;background-position:center;background-repeat:no-repeat;background-size:contain;vertical-align:middle}
.generoicon{background-image:url('https://maisonperfumeria.com/wp-content/uploads/maison-icons/genero.svg')}
.marcaicon{background-image:url('https://maisonperfumeria.com/wp-content/uploads/maison-icons/marca.svg')}
.climaicon{background-image:url('https://maisonperfumeria.com/wp-content/uploads/maison-icons/temporada.svg')}
.consetracion,.consetracionicon{background-image:url('https://maisonperfumeria.com/wp-content/uploads/maison-icons/consetracion.svg')}
.anoicon{background-image:url('https://maisonperfumeria.com/wp-content/uploads/maison-icons/ano.svg')}
.paisicon{background-image:url('https://maisonperfumeria.com/wp-content/uploads/maison-icons/pais.svg')}
.notas-salidaicon{background-image:url('https://maisonperfumeria.com/wp-content/uploads/maison-icons/notas-salida.svg')}
.notas-corazonicon{background-image:url('https://maisonperfumeria.com/wp-content/uploads/maison-icons/notas-corazon.svg')}
.notas-baseicon{background-image:url('https://maisonperfumeria.com/wp-content/uploads/maison-icons/notas-base.svg')}
.tab__content ul,.tab__content ol{list-style:none !important;padding:0 !important;margin:8px 0 !important}
.tab__content li{display:flex !important;align-items:flex-start !important;border-bottom:1px solid #e5e5e5 !important;padding:6px 3px !important;list-style:none !important;}
.tab__content li h4{width:50% !important;font-size:11px !important;font-weight:800 !important;margin:0 !important;padding:0 !important;display:flex !important;align-items:center !important;text-transform:uppercase !important;line-height:1.4 !important;}
.tab__content li p{width:50% !important;font-size:11px !important;margin:0 !important;padding:0 !important;color:#555 !important;line-height:1.4 !important;text-align:left !important;}
.tab__content>p{width:100% !important;max-width:100% !important;font-size:14px !important;line-height:1.8 !important;margin:0 0 14px 0 !important;color:#444 !important;text-align:center !important;padding:0 10px !important;box-sizing:border-box !important;}
/* MAISON-PERFUMERIA-END */

.menu-item-5417::after{content:"TOP" !important;}

:root{--pxl-background-color:#4A1018 !important;--color-primary:#4A1018 !important;--color-secondary:#4A1018 !important;--color-accent:#4A1018 !important;--primary-color:#4A1018 !important;--accent-color:#4A1018 !important;--theme-color:#4A1018 !important;--button-bg:#4A1018 !important;--btn-color:#4A1018 !important;--link-color:#4A1018 !important;--highlight-color:#4A1018 !important;--color-1:#4A1018 !important;}
.pxl-button.button--primary,a.pxl-button.button--primary,button.pxl-button.button--primary,.button.button--primary,.pxl-button.button--single-action{background-color:#4A1018 !important;border-color:#4A1018 !important;color:#fff !important;}
.pxl-button.button--primary:hover,a.pxl-button.button--primary:hover,button.pxl-button.button--primary:hover,.button.button--primary:hover{background-color:#3a0c13 !important;border-color:#3a0c13 !important;}
.pxl-button.button--primary .button__blobs>div,.button.button--primary .button__blobs>div{background-color:#3a0c13 !important;}
.product-add-to-cart form.cart .product-actions .button--add-to-cart{background-color:#4A1018 !important;border-color:#4A1018 !important;}
.product-add-to-cart form.cart .product-actions .button--add-to-cart:hover{background-color:#3a0c13 !important;border-color:#3a0c13 !important;}
.pxl-button.button--shop-action:hover,button.button--shop-action:hover{background-color:#4A1018 !important;border-color:#4A1018 !important;}
.reviews #comments form.comment-form .form-submit .pxl-button{background-color:#4A1018 !important;border-color:#4A1018 !important;}
.woobt-wrap .woobt-summary .woobt-form .pxl-button.single_add_to_cart_button{background-color:#4A1018 !important;border-color:#4A1018 !important;}
.login .pxl-button.button--submit,.register .pxl-button.button--submit,#loss-password .pxl-button.button--submit{background-color:#4A1018 !important;border-color:#4A1018 !important;}
.button.button--back-to-top,.pxl-button.button--back-to-top{background-color:#4A1018 !important;border-color:#4A1018 !important;}
.woocommerce a.button,.woocommerce a.button.alt,.woocommerce button.button,.woocommerce button.button.alt,.woocommerce input.button,.woocommerce input.button.alt,.woocommerce #respond input#submit,.woocommerce #respond input#submit.alt,.woocommerce #payment #place_order,.woocommerce-page #payment #place_order,.woocommerce .wc-proceed-to-checkout a.checkout-button,.woocommerce-cart .wc-proceed-to-checkout .button,.single_add_to_cart_button,.add_to_cart_button,button[type="submit"].woocommerce-Button,.wp-block-button__link{background-color:#4A1018 !important;border-color:#4A1018 !important;color:#fff !important;}
.woocommerce a.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button:hover,.woocommerce button.button.alt:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,.woocommerce #payment #place_order:hover,.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,.single_add_to_cart_button:hover,.add_to_cart_button:hover{background-color:#3a0c13 !important;border-color:#3a0c13 !important;}
a{color:#4A1018;}
a:hover,a:focus{color:#6B1A26;}
.woocommerce-tabs ul.tabs li.active a,.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,.tabs__nav li.is-active a,.tabs__nav li.active a,.tab-nav li.active a,.tab-nav li.is-active a{color:#4A1018 !important;border-top-color:#4A1018 !important;border-bottom-color:#4A1018 !important;}
.woocommerce-tabs ul.tabs li.active::before,.woocommerce-tabs ul.tabs li.active::after{border-top-color:#4A1018 !important;}
.woocommerce-tabs ul.tabs li a:hover{color:#4A1018 !important;}
.product-tabs__nav .product-tabs__nav-item.is-active,.product-tabs__nav .product-tabs__nav-item.is-active a,.product-tabs__nav-link.is-active,.product-tabs__nav-link:hover{color:#4A1018 !important;border-color:#4A1018 !important;}
.product-tabs .tab__button.active,.product-tabs .tab__button:hover{color:#4A1018 !important;}
.product-label.product-label--onsale,span.onsale{background-color:#1a1a1a !important;color:#fff !important;}
.product-label.product-label--new{background-color:#4A1018 !important;color:#fff !important;}
.badge--sale,.product-badge--sale{background:#4A1018 !important;}
.price--sale,.price--sale .woocommerce-Price-amount,.price--sale .amount,.woocommerce .price,.woocommerce-page .price,.woocommerce .price ins,.price ins,del+ins{color:#4A1018 !important;}
.woocommerce .star-rating span::before,.woocommerce .star-rating::before,.star-rating span{color:#4A1018 !important;}
.woocommerce .woocommerce-breadcrumb a:hover{color:#4A1018 !important;}
.woocommerce-widget-layered-nav-list__item.chosen a,.widget_price_filter .ui-slider .ui-slider-range,.widget_price_filter .ui-slider .ui-slider-handle{background:#4A1018 !important;}
.product-filter__section--category .filter-item--cat.ckecked{color:#4A1018 !important;}
.header__cart:hover,.header-cart:hover,.site-header__cart:hover{color:#4A1018 !important;}
input:focus,select:focus,textarea:focus{border-color:#4A1018 !important;outline-color:#4A1018 !important;box-shadow:0 0 0 1px #4A1018 !important;}
.form-checkbox-control:has(input:checked) .checkbox{background-color:#4A1018 !important;border-color:#4A1018 !important;}
.form-radio-control:has(input:checked) .radio{border-color:#4A1018 !important;}
.form-radio-control:has(input:checked) .radio::before{background-color:#4A1018 !important;}
.page-numbers li .page-numbers.current,.woocommerce nav.woocommerce-pagination ul li a:focus,.woocommerce nav.woocommerce-pagination ul li a:hover,.woocommerce nav.woocommerce-pagination ul li span.current{background:#4A1018 !important;border-color:#4A1018 !important;color:#fff !important;}
.woocommerce-message,.woocommerce-info{border-top-color:#4A1018 !important;}
.woocommerce-message::before,.woocommerce-info::before{color:#4A1018 !important;}
.yith-wcwl-add-button a:hover,.compare-button a:hover{color:#4A1018 !important;}
.sidebar--shopping-cart .pxl-cart-products .empty .button-cart-empty,.sidebar--shopping-cart .cart-buttons .button-checkout,.sidebar--shopping-cart .cart-section__buttons .button-submit{border-color:#4A1018 !important;}
.sidebar--shopping-cart .cart-actions__item:hover,.sidebar--shopping-cart .cart-buttons .button-checkout:hover,.sidebar--shopping-cart .cart-section__buttons .button-submit:hover{color:#4A1018 !important;}
.woocommerce-MyAccount-navigation ul li.is-active a{background-color:#4A1018 !important;border-color:#4A1018 !important;color:#fff !important;}
.woocommerce-MyAccount-navigation ul li a:hover{background-color:#4A1018 !important;color:#fff !important;}
.pxl-icon-box .icon-box__count{background-color:#4A1018 !important;}
.progress-bar__bar,.progress,.progress-bar,[class*="progress"]{background-color:#4A1018 !important;}
.pxl-button.button--shop-grid.button--active,.button.button--shop-grid.button--active{color:#4A1018 !important;}
.pxl-button.button--shop-grid.button--active .stack,.button.button--shop-grid.button--active .stack,.pxl-button.button--shop-grid.button--active span,.button.button--shop-grid.button--active span{background-color:#4A1018 !important;}
.pxl-button.button--shop-grid:hover,.button.button--shop-grid:hover{color:#C9A84C !important;}
.pxl-button.button--shop-grid:hover .stack,.button.button--shop-grid:hover .stack,.pxl-button.button--shop-grid:hover span,.button.button--shop-grid:hover span{background-color:#C9A84C !important;}

.elementor-widget-html .mpf,.elementor-html .mpf,.elementor-widget-container .mpf{width:100vw !important;position:relative !important;left:50% !important;transform:translateX(-50%) !important;box-sizing:border-box !important;}

/* OCULTAR Sydney Store */
.woocommerce-store-availability,.pickup-availability,.pickup-availability-single,.case-pickup-availability,.product-pickup-availability,[class*="pickup"],[class*="store-availability"]{display:none !important;}

/* ADD TO BAG sin parpadeo */
.button--add-to-cart .button__text,.single_add_to_cart_button .button__text{font-size:0 !important;}
.button--add-to-cart .button__text::after,.single_add_to_cart_button .button__text::after{content:"AGREGAR AL CARRITO" !important;font-size:14px !important;letter-spacing:0.08em !important;}
/* Pestañas del producto */
.tab__contents .tab__content,.tab__contents .tab__content p,.tab__contents .tab__content li,.tab__contents .tab__content ul{text-align:left !important;font-size:15px !important;line-height:1.75 !important;color:#444 !important;}
.tab__contents .tab__content p{margin:0 0 14px !important;}
.tab__contents .tab__content ul{margin:0 0 18px !important;padding-left:20px !important;list-style:disc !important;}
.tab__contents .tab__content li{border:0 !important;padding:3px 0 !important;}
.tab__contents .tab__content p strong{display:block;font-size:17px !important;color:#1f1f1f !important;margin-top:6px;}
.joinchat.joinchat--btn{animation:pulso-whatsapp 2.5s ease-in-out infinite;}
@keyframes pulso-whatsapp{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(37,211,102,0.6);}50%{transform:scale(1.15);box-shadow:0 0 0 14px rgba(37,211,102,0);}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(37,211,102,0);}}
@media (max-width:767px){
  body.archive.woocommerce ul.products,body.woocommerce-shop ul.products,body.tax-product_cat ul.products,body.tax-product_tag ul.products,.woocommerce-page ul.products,.elementor-widget-woocommerce-products ul.products,.elementor-widget-wc-archive-products ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 10px!important;padding:0 8px!important;margin:0!important;list-style:none!important;}
  ul.products[class*="columns-"]>li.product,.woocommerce-page ul.products>li.product,.elementor-widget-woocommerce-products ul.products>li.product,.elementor-widget-wc-archive-products ul.products>li.product{width:100%!important;max-width:100%!important;margin:0!important;float:none!important;flex:none!important;background:#f7f5f3;border:1px solid #eee;border-radius:10px;padding:8px!important;box-sizing:border-box;}
  ul.products li.product img{width:100%!important;height:auto!important;object-fit:contain;border-radius:8px;background:#fff;}
  ul.products li.product .woocommerce-loop-product__title,ul.products li.product h2,ul.products li.product h3{font-size:13.5px!important;line-height:1.3!important;margin:8px 0 4px!important;text-align:left;}
  ul.products li.product .price{display:block;font-size:15px!important;font-weight:700;text-align:left;margin-bottom:8px;}
  ul.products li.product .button,ul.products li.product a.add_to_cart_button{display:block!important;width:100%!important;text-align:center;font-size:12.5px!important;padding:10px 6px!important;border-radius:6px;box-sizing:border-box;}
}

/* ── Flechas carrusel categorías en móvil ─────────────────────────────────── */
@media (max-width: 767px) {
  .elementor-element-9393db2.elementor-hidden-mobile { display: none !important; }
  .pxl-product-categories { position: relative !important; }
  .pxl-product-categories .swiper-navigation.swiper-navigation-hidden {
    display: flex !important;
    position: absolute !important;
    top: 40% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    transform: translateY(-50%) !important;
    z-index: 20 !important;
    justify-content: space-between !important;
    padding: 0 6px !important;
    pointer-events: none !important;
    box-sizing: border-box !important;
  }
  .pxl-product-categories .swiper-navigation .pxl-swiper-button {
    pointer-events: all !important;
    background: rgba(255, 255, 255, 0.72) !important;
    border: 1.5px solid rgba(74, 16, 24, 0.35) !important;
    color: #4A1018 !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
  .pxl-product-categories .swiper-navigation .pxl-swiper-button i {
    color: #4A1018 !important;
    font-size: 13px !important;
  }
}

/* ── Flexbox Pro: ocultar en escritorio y tableta, visible en móvil ─────── */
#flexbox-video {
  display: none !important;
}
@media (max-width: 767px) {
  #flexbox-video {
    display: block !important;
  }
}
/* Carrito flotante: separación y recuadro para la cantidad (ya no afecta la página de producto) */
.widget_shopping_cart .quantity,
.woocommerce-mini-cart-item .quantity,
.cart_list .quantity {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.widget_shopping_cart .quantity input.qty,
.woocommerce-mini-cart-item .quantity input.qty,
.cart_list .quantity input.qty {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  text-align: center !important;
  padding: 4px 2px !important;
  border: 1px solid #ddd !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}
/* Carrito flotante (.pxl-cart-products): ancho suficiente para dos dígitos */
.pxl-cart-products .quantity {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.pxl-cart-products .quantity input.qty {
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 24px !important;
  text-align: center !important;
  padding: 0 !important;
  border: 1px solid #ddd !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-sizing: border-box !important;
  -moz-appearance: textfield;
}

.pxl-cart-products .quantity input.qty::-webkit-outer-spin-button,
.pxl-cart-products .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Un poco más de aire entre los signos y el número */
.pxl-cart-products .quantity {
  gap: 10px !important;
  padding: 4px 10px !important;
}

.pxl-cart-products .quantity input.qty {
  background: transparent !important;
  border: none !important;
}

/* ── Quick View (vista rápida): ocultar la ficha técnica ──────────────────
   En esta tienda, la ficha técnica completa (género, marca, notas, etc.)
   vive dentro del campo "descripción corta" de cada producto (por eso se ve
   con estilo en la página de producto, vía .tab__content). El modal de
   Quick View también imprime esa misma descripción corta sin ese estilo,
   así que se ve como una lista larga sin formato. Se oculta solo dentro del
   contenedor del Quick View; la ficha técnica de la página de producto no
   se toca. */
#pxl-quick-view .product-short-desc,
#pxl-quick-view .woocommerce-product-attributes,
#pxl-quick-view table.woocommerce-product-attributes,
#pxl-quick-view .product-tabs,
#pxl-quick-view .tab__content {
  display: none !important;
}

/* ── Comparar productos: desactivado por completo en móvil ────────────────
   El widget de comparación exige un ancho mínimo de 1300px !important
   directamente sobre sí mismo (para que la ficha técnica se lea bien en
   escritorio), y ese !important no se puede anular con CSS (min-width
   siempre gana sobre max-width). En vez de forzar un scroll horizontal
   incómodo en móvil, se decidió ocultar toda la función de comparar ahí:
   el botón/ícono en las tarjetas de producto y en la ficha de producto,
   más el panel/tabla de comparación en sí. En escritorio sigue funcionando
   igual que siempre. */
@media (max-width: 767px) {
  .button--compare {
    display: none !important;
  }
  .pxl-products-compare,
  #pxl-compare-list {
    display: none !important;
  }
}

/* ── Quick View en móvil: mostrar la imagen del producto, pero pequeña ────
   El propio tema trae "display:none" para .product-images dentro del Quick
   View a partir de 767px (una decisión de diseño original, para ahorrar
   espacio), lo que hace que la imagen nunca se vea en móvil. Se reactiva,
   pero compacta (altura fija, no a toda pantalla), para que no empuje el
   botón de compra fuera del área visible. El carrusel interno
   (.pxl-carousel__item) usa posicionamiento absoluto y necesita que su
   contenedor tenga una altura definida para no colapsar a 0px. */
@media screen and (max-width: 767px) {
  #pxl-quick-view .summary .product-images {
    display: block;
    flex: 0 1 auto;
    width: 100%;
    height: 200px;
    margin-bottom: 16px;
  }
}

/* ── Que el popup nunca tape sus propios botones ──────────────────────────
   .pxl-popup se centra con position:fixed y no tiene max-height ni scroll
   propio, así que si su contenido (imagen + título + precio + botones)
   supera el alto de la pantalla, la parte de abajo queda fuera del área
   visible y no hay forma de bajar para alcanzarla. Se limita su alto y se
   le da scroll interno — afecta a todos los popups (Quick View, comparar,
   etc.), no solo al de vista rápida. */
.pxl-popup {
  max-height: 90vh;
  max-height: 90dvh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* ── Carrito flotante: el botón de pagar quedaba tapado en móvil ──────────
   .sidebar__inner mide 100vh, pero esa unidad no descuenta la barra de
   direcciones del navegador móvil, así que el panel se calcula MÁS alto que
   el área realmente visible en pantalla — el botón de pagar (posicionado al
   final) queda parcialmente fuera de esa zona visible y no hay manera de
   desplazarse para alcanzarlo del todo. 100dvh sí descuenta esa barra. */
.sidebar--shopping-cart .sidebar__inner {
  height: 100vh;
  height: 100dvh;
}

/* ── Quick View: que el botón de cerrar no quede flotando ─────────────────
   El popup (.pxl-popup) se oculta con opacity + transform: scale(0), no con
   display:none, así que en teoría todo su contenido —incluido el botón de
   cerrar— desaparece junto con él. Como defensa adicional (por si en algún
   navegador móvil el botón queda visible tras cerrar), se refuerza con
   visibility: a diferencia de opacity, se hereda a todos los hijos salvo
   que ellos mismos digan lo contrario, así que no debería poder quedar
   nada visible por encima. */
.pxl-popup:not(.active) {
  visibility: hidden;
}
.pxl-popup.active {
  visibility: visible;
}

/* ── Checkout: Ciudad y Departamento en móvil ──────────────────────────────
   Al quitar el código postal (ver functions.php), Ciudad y Departamento
   pasan de 33% a 50% de ancho cada uno. En pantallas muy angostas eso
   sigue siendo poco espacio para nombres largos de departamento (p. ej.
   "Norte de Santander", "San Andrés y Providencia") dentro de un <select>,
   así que ahí se apilan a ancho completo, uno debajo del otro. */
@media screen and (max-width: 480px) {
  .woocommerce-checkout #billing_city_field,
  .woocommerce-checkout #billing_state_field,
  .woocommerce-checkout #shipping_city_field,
  .woocommerce-checkout #shipping_state_field {
    flex: 0 0 100% !important;
  }
}

/* ── Nota de envío en el checkout ────────────────────────────────────── */
.komestic-shipping-note {
  font-size: 13px;
  color: #666;
  line-height: 1.5;
  margin: 8px 0 4px;
}

/* ── Carrito flotante ───────────────────────────────────────────────────
   El botón "Add gift wrap" y el aviso de envío de este sidebar se quitan/
   agregan sobrescribiendo komestic_cart_sidebar_html() en functions.php
   (child theme), no aquí: ese HTML no tiene hooks propios para engancharse
   vía CSS/acción, así que hubo que reescribir la función completa. El
   aviso del mini-cart va con estilos inline (no con esta hoja), a
   propósito, para mantenerlo compacto sin depender de clases de
   WooCommerce. */

/* ── Página de producto: solo "Agregar al carrito" y "Comprar" ────────────
   Los botones de "favoritos" (woosw, plugin WPC Smart Wishlist) y
   "comparar" (komestic_render_compare_button_html(), tema padre) se
   imprimen juntos, codificados a mano, dentro de un único closure anónimo
   enganchado a 'woocommerce_after_add_to_cart_quantity'
   (inc/modules/woocommerce/functions-single-product.php). Al ser anónimo
   no se puede quitar con remove_action(), así que se ocultan por CSS.
   Alcance: solo 'body.single-product' — así NO afecta el mismo botón en
   el popup de "Quick Add" (pxl_product_page_mini), que comparte la misma
   clase .product-actions pero se abre también desde el shop/archivo. */
body.single-product .product-actions .woosw-btn,
body.single-product .product-actions .button--compare {
  display: none !important;
}