/* Mertherapy · tienda de productos WooCommerce — estilos locales, sin frameworks */
.mer-shop,.mer-shop * { box-sizing:border-box; }
.mer-shop { --mer-aqua:#18c5d1; --mer-deep:#202936; --mer-warm:#fcfaf7; --mer-ivory:#f7f2ec; --mer-taupe:#5a4c44; --mer-ink:#302e2c; --mer-border:#e9e3dd; color:var(--mer-deep);background:#fff;font-family:'Manrope',Arial,sans-serif; }
.mer-shop a { text-decoration:none; }
.mer-shop h1,.mer-shop h2,.mer-shop h3 { font-family:'Cormorant Garamond',Georgia,serif!important; font-weight:500!important; letter-spacing:-.027em; }
.mer-shop .mer-shop-container { width:min(1380px,calc(100% - 88px)); margin:0 auto; }
.mer-shop .mer-shop-eyebrow { font-family:'Manrope',Arial,sans-serif!important; font-size:11px;line-height:1.5;letter-spacing:3px;font-weight:700; color:#61717b; }
.mer-shop .mer-shop-eyebrow span{ color:var(--mer-aqua);padding:0 8px; }
.mer-shop .mer-shop-hero { overflow:hidden; background:var(--mer-warm); border-bottom:1px solid #ece4dd; }
.mer-shop .mer-shop-hero-layout { display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:400px;gap:50px; }
.mer-shop .mer-shop-hero-content { padding:62px 0 64px; }
.mer-shop .mer-shop-hero h1 { color:var(--mer-deep);margin:19px 0 19px;max-width:660px;font-size:clamp(49px,5vw,72px);line-height:.98; }
.mer-shop .mer-shop-hero p { margin:0 0 28px; max-width:480px;line-height:1.8;font-size:16px;color:#667079; }
.mer-shop .mer-shop-hero-link { display:inline-flex;align-items:center;gap:28px;background:var(--mer-aqua);color:#fff!important;padding:15px 22px;font-weight:700;font-size:12px;letter-spacing:.4px;transition:background .2s; }
.mer-shop .mer-shop-hero-link:hover,.mer-shop .mer-shop-submit:hover { background:#13aeba; }
.mer-shop .mer-shop-hero-link span { font-size:18px;font-weight:400; }
.mer-shop .mer-shop-hero-visual { height:400px;position:relative;display:flex;align-items:flex-end;justify-content:center; }
.mer-shop .mer-shop-hero-image { position:absolute;inset:36px -120px 0 0;background-color:#e6ddd3;background-position:center 37%;background-size:cover;background-repeat:no-repeat; }
.mer-shop .mer-shop-hero-image::after { content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(30,32,32,.12),transparent 38%); }
.mer-shop .mer-shop-hero-floating { position:absolute;bottom:24px;left:20px;color:#fff;font-size:11px;letter-spacing:2px;z-index:1;text-shadow:0 1px 6px #4448; }
.mer-shop .mer-shop-hero-floating span { color:#a0f3eb; padding:0 8px; }
.mer-shop .mer-shop-breadcrumb { display:flex;gap:12px;align-items:center;margin:27px 0 55px;font-size:12px;color:#8a8886; }
.mer-shop .mer-shop-breadcrumb a{ color:#676b6f; }
.mer-shop .mer-shop-section-heading{ display:flex;justify-content:space-between;align-items:end;gap:30px;margin:0 0 32px; }
.mer-shop .mer-shop-section-heading h2 { margin:9px 0 0;font-size:clamp(44px,4vw,58px);line-height:1.05;color:var(--mer-deep); }
.mer-shop .mer-shop-section-heading p { font-size:13px;color:#778089;margin:0 0 8px; }
.mer-shop .mer-shop-catalog-layout { display:grid;grid-template-columns:minmax(220px,264px) minmax(0,1fr);gap:43px;align-items:start;padding-bottom:98px; }
.mer-shop .mer-shop-sidebar { background:#fbf9f6;border:1px solid var(--mer-border);padding:27px 23px 25px;position:sticky;top:24px; }
.mer-shop .mer-shop-sidebar-title{ display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 19px;border-bottom:1px solid var(--mer-border); }
.mer-shop .mer-shop-sidebar-title span{ font-weight:700;font-size:16px;color:var(--mer-deep); }
.mer-shop .mer-shop-sidebar-title a {font-size:12px;color:#6f777b;text-decoration:underline;text-underline-offset:3px;}
.mer-shop .mer-shop-filter-group { margin:0;border:0;padding:24px 0 23px;border-bottom:1px solid var(--mer-border);min-width:0; }
.mer-shop .mer-shop-filter-group legend,.mer-shop .mer-shop-filter-group > label:first-child { margin:0 0 15px;padding:0;display:block;font-size:13px;font-weight:700;color:#36404b;letter-spacing:.3px; }
.mer-shop #mer-shop-search { display:block;width:100%;height:45px;background:#fff;border:1px solid #e5e1dd;color:var(--mer-deep);border-radius:0;padding:0 12px;font-family:inherit;font-size:13px; }
.mer-shop #mer-shop-search:focus,.mer-shop .mer-shop-price-field:focus-within { outline:2px solid #18c5d144;border-color:var(--mer-aqua); }
.mer-shop .mer-shop-choice{ display:flex;align-items:center;gap:9px;min-height:35px;font-size:13px;color:#575f67;cursor:pointer;line-height:1.45;margin:0; }
.mer-shop .mer-shop-choice input {appearance:none;-webkit-appearance:none;flex:0 0 16px;height:16px;width:16px;display:inline-block;background:#fff;border:1px solid #c6c6c3;border-radius:50%;margin:0;cursor:pointer; }
.mer-shop .mer-shop-choice input:checked {border:5px solid var(--mer-aqua); }
.mer-shop .mer-shop-choice input[type="checkbox"] {border-radius:2px;}
.mer-shop .mer-shop-choice input[type="checkbox"]:checked {background:var(--mer-aqua);border:4px solid #d2f3f4;}
.mer-shop .mer-shop-choice em {margin-left:auto;color:#90969a;font-style:normal;font-size:12px;}
.mer-shop .mer-shop-choice:hover span{ color:#087f8c; }
.mer-shop .mer-shop-price-row {display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.mer-shop .mer-shop-price-row label{display:block;font-size:12px;color:#858a8e;margin:0 0 6px;}
.mer-shop .mer-shop-price-field{display:flex;align-items:center;gap:4px;height:40px;background:#fff;border:1px solid #e5e1dd;padding-left:9px;font-size:12px;}
.mer-shop .mer-shop-price-field input{width:100%;min-width:0;height:100%;border:0;background:transparent;font:inherit;font-size:13px;color:#36404b;outline:0;box-shadow:none!important;padding:0 6px;}
.mer-shop .mer-shop-price-field input::-webkit-inner-spin-button{-webkit-appearance:none;}
.mer-shop .mer-shop-small { font-size:12px;line-height:1.5;color:#9b9a98; }
.mer-shop .mer-shop-submit{display:flex;justify-content:space-between;align-items:center;width:100%;height:47px;border:0;background:var(--mer-aqua);color:#fff!important;padding:0 15px;margin-top:23px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;border-radius:0;transition:background .2s;}
.mer-shop .mer-shop-submit span{font-size:16px;}
.mer-shop .mer-shop-reset{display:block;text-align:center;margin-top:16px;color:#667079;text-decoration:underline;text-underline-offset:4px;font-size:12px;}
.mer-shop .mer-shop-filter-help{display:flex;gap:13px;align-items:center;padding:24px 0 0;font-size:13px;color:#666b70;line-height:1.65;}
.mer-shop .mer-shop-filter-help-mark{font-size:25px;color:var(--mer-aqua);}
.mer-shop .mer-shop-filter-help a{color:#128f9b;font-weight:700;}
.mer-shop .mer-shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 24px;padding:0 0 18px;border-bottom:1px solid var(--mer-border);}
.mer-shop .mer-shop-toolbar p{margin:0;color:#767e84;font-size:12px;line-height:1.5;}
.mer-shop .mer-shop-sort{display:flex;gap:8px;align-items:center;margin:0;}
.mer-shop .mer-shop-sort label{font-size:12px;color:#656e75;white-space:nowrap;margin:0;}
.mer-shop .mer-shop-sort select{font-family:inherit;border:0;background:#fff;padding:8px 23px 8px 6px;box-shadow:none;font-size:12px;color:var(--mer-deep);max-width:220px;cursor:pointer;}
.mer-shop .mer-shop-sort-apply{border:1px solid #dedbd8;background:#fff;font:inherit;font-size:11px;padding:8px;}
.mer-shop .mer-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:37px 20px;}
.mer-shop .mer-shop-product{min-width:0;}
.mer-shop .mer-shop-product-photo{position:relative;background:#f6f1ec;aspect-ratio:1/1.13;overflow:hidden;}
.mer-shop .mer-shop-product-photo > a{display:block;width:100%;height:100%;}
.mer-shop .mer-shop-product-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.mer-shop .mer-shop-product-photo a:hover img{transform:scale(1.035);}
.mer-shop .mer-shop-sale{position:absolute;top:13px;left:13px;background:#fff;color:#2f343b;font-size:9px;letter-spacing:1.2px;padding:8px 10px;font-weight:800;}
.mer-shop .mer-shop-product-details{padding:17px 2px 0;}
.mer-shop .mer-shop-product-category{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;color:#85919a;font-weight:700;margin-bottom:7px;}
.mer-shop .mer-shop-product h3{margin:0 0 8px;min-height:56px;font-size:clamp(23px,2vw,28px);line-height:1.03;}
.mer-shop .mer-shop-product h3 a{color:var(--mer-deep);}
.mer-shop .mer-shop-product h3 a:hover{color:#148d99;}
.mer-shop .mer-shop-product-price{font-size:14px;font-weight:700;color:#2b4449;min-height:24px;}
.mer-shop .mer-shop-product-price del{color:#9aa1a4;font-weight:400;opacity:.85;margin-right:8px;}
.mer-shop .mer-shop-product-price ins{ text-decoration:none; }
.mer-shop .mer-shop-out{font-size:11px;color:#b2635f;margin-top:4px;}
.mer-shop .mer-shop-product-action{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:11px;border-top:1px solid #e5e3e0;color:#3b5457;font-size:12px;font-weight:700;}
.mer-shop .mer-shop-product-action span{font-size:18px;color:var(--mer-aqua);transition:transform .2s;}
.mer-shop .mer-shop-product-action:hover span{transform:translate(3px,-3px);}
.mer-shop .mer-shop-empty{text-align:center;padding:95px 24px;background:#faf8f5;}
.mer-shop .mer-shop-empty > span{font-size:38px;color:var(--mer-aqua);}
.mer-shop .mer-shop-empty h3{font-size:36px;margin:12px 0;color:var(--mer-deep);}
.mer-shop .mer-shop-empty p{max-width:400px;margin:0 auto 20px;color:#707980;line-height:1.7;font-size:14px;}
.mer-shop .mer-shop-empty a{color:#0c8f9a;text-decoration:underline;text-underline-offset:4px;font-size:13px;}
.mer-shop .mer-shop-pagination{display:flex;gap:8px;justify-content:center;margin:55px 0 0;}
.mer-shop .mer-shop-pagination a,.mer-shop .mer-shop-pagination span{min-width:40px;height:40px;display:grid;place-items:center;color:#576267;border:1px solid var(--mer-border);font-size:12px;}
.mer-shop .mer-shop-pagination .is-current{background:var(--mer-aqua);border-color:var(--mer-aqua);color:#fff;}
.mer-shop .mer-shop-pagination .mer-shop-pagination-gap{border:0;}
.mer-shop .mer-shop-end{background:#403630;color:#faf7f2;}
.mer-shop .mer-shop-end-inner{padding:52px 0;display:flex;align-items:center;justify-content:space-between;gap:30px;}
.mer-shop .mer-shop-end .mer-shop-eyebrow{color:#d0c2bc;}
.mer-shop .mer-shop-end h2{color:#fff;max-width:760px;margin:9px 0 0;font-size:clamp(34px,3.3vw,47px);line-height:1.04;}
.mer-shop .mer-shop-end a{white-space:nowrap;color:#fff;border:1px solid #84776f;padding:15px 20px;font-size:12px;font-weight:700;}
.mer-shop .mer-shop-end a span{color:var(--mer-aqua);margin-left:20px;}
.mer-shop .mer-shop-mobile-actions{display:none;}
.mer-shop input:focus-visible,.mer-shop button:focus-visible,.mer-shop a:focus-visible,.mer-shop select:focus-visible {outline:2px solid #139baa;outline-offset:3px;}
@media(max-width:1200px){.mer-shop .mer-shop-container{width:calc(100% - 58px)}.mer-shop .mer-shop-catalog-layout{gap:26px;grid-template-columns:230px minmax(0,1fr)}.mer-shop .mer-shop-grid{gap:32px 15px;}.mer-shop .mer-shop-hero-image{right:-30px;}}
@media(max-width:950px){.mer-shop .mer-shop-hero-layout{grid-template-columns:1fr 43%;gap:18px;}.mer-shop .mer-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.mer-shop .mer-shop-section-heading p{max-width:205px;}.mer-shop .mer-shop-catalog-layout{grid-template-columns:210px minmax(0,1fr);gap:20px;}.mer-shop .mer-shop-sidebar{padding:20px 16px;}.mer-shop .mer-shop-hero h1{font-size:52px;}}
@media(max-width:767px){.mer-shop .mer-shop-container{width:calc(100% - 38px);}.mer-shop .mer-shop-hero-layout{display:flex;flex-direction:column-reverse;gap:0;min-height:0;}.mer-shop .mer-shop-hero-visual{height:245px;width:100%;}.mer-shop .mer-shop-hero-image{inset:0 -19px 0 -19px;background-position:center 35%;}.mer-shop .mer-shop-hero-floating{bottom:15px;left:15px;font-size:9px;}.mer-shop .mer-shop-hero-content{width:100%;padding:36px 0 44px;}.mer-shop .mer-shop-hero h1{font-size:clamp(42px,10vw,54px);}.mer-shop .mer-shop-hero p{font-size:14px;margin-bottom:24px;}.mer-shop .mer-shop-breadcrumb{margin:20px 0 38px;}.mer-shop .mer-shop-section-heading{display:block;margin-bottom:22px;}.mer-shop .mer-shop-section-heading h2{font-size:46px;}.mer-shop .mer-shop-section-heading p{margin-top:9px;max-width:none;}.mer-shop .mer-shop-mobile-actions{display:block;margin-bottom:18px;}.mer-shop .mer-shop-filter-toggle{width:100%;display:flex;align-items:center;justify-content:center;background:#fbf9f6;border:1px solid var(--mer-border);height:46px;font:inherit;font-size:13px;font-weight:700;color:var(--mer-deep);}.mer-shop .mer-shop-catalog-layout{display:flex;flex-direction:column;gap:0;padding-bottom:58px;}.mer-shop .mer-shop-sidebar{display:none;position:relative;top:auto;width:100%;margin-bottom:25px;}.mer-shop .mer-shop-sidebar.is-open{display:block;}.mer-shop .mer-shop-results{width:100%;}.mer-shop .mer-shop-toolbar{align-items:flex-start;}.mer-shop .mer-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 13px;}.mer-shop .mer-shop-product-photo{aspect-ratio:1/1.15;}.mer-shop .mer-shop-product h3{font-size:25px;min-height:50px;}.mer-shop .mer-shop-end-inner{padding:42px 0;display:block;}.mer-shop .mer-shop-end h2{font-size:39px;margin-bottom:23px;}.mer-shop .mer-shop-end a{display:inline-flex;}}
@media(max-width:460px){.mer-shop .mer-shop-container{width:calc(100% - 30px);}.mer-shop .mer-shop-hero h1{font-size:43px;}.mer-shop .mer-shop-hero-visual{height:220px;}.mer-shop .mer-shop-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:17px;}.mer-shop .mer-shop-sort{width:100%;justify-content:flex-end;}.mer-shop .mer-shop-product h3{font-size:21px;min-height:44px;}.mer-shop .mer-shop-product-category{letter-spacing:.8px;font-size:9px;}.mer-shop .mer-shop-product-price{font-size:12px;}.mer-shop .mer-shop-product-action{font-size:11px;}.mer-shop .mer-shop-section-heading h2{font-size:41px;}}
@media(prefers-reduced-motion:reduce){.mer-shop *{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
.mer-shop.mer-shop-js .mer-shop-sort-apply{display:none;}

/* v1.1: tienda WooCommerce como archivo oficial; sin wrappers del tema. */
body.mer-shop-archive-active .mer-shop-archive-main {
  display:block !important;
  float:none !important;
  clear:both;
  width:100% !important;
  max-width:none !important;
  min-width:0;
  padding:0 !important;
  margin:0 !important;
}
/* Solo elementos externos heredados del tema, jamás el panel .mer-shop-sidebar. */
body.mer-shop-archive-active > .woocommerce-products-header,
body.mer-shop-archive-active .woocommerce-products-header,
body.mer-shop-archive-active .woocommerce-breadcrumb {
  display:none !important;
}


/* ===============================================================
   v1.2.0 / WooCommerce Shop: ancho completo (full-bleed)
   Aplica UNICAMENTE al archivo principal de tienda, identificado
   por mer-shop-archive-active. No cambia productos, carrito o checkout.
   El contenedor interno .mer-shop-container mantiene max-width: 1380px
   para que el contenido siga siendo legible en pantallas amplias.
   =============================================================== */

/* Desactivar la anchura fija que pueden imponer temas como GeneratePress. */
body.mer-shop-archive-active #page.site,
body.mer-shop-archive-active .site.grid-container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Escapar del contenedor boxed del tema, incluso cuando es más estrecho. */
body.mer-shop-archive-active .mer-shop-archive-main {
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: both;
}
body.mer-shop-archive-active .mer-shop-archive-main > .mer-shop {
    width: 100%;
    max-width: none;
    margin: 0;
}
/* Evitar barra de desplazamiento si 100vw incluye el scrollbar. */
body.mer-shop-archive-active { overflow-x: clip; }

/* ===============================================================
   v1.3.0 / Jerarquía real de categorías WooCommerce.
   Productos y Tratamientos: categorías padre, con hijos anidados.
   =============================================================== */
.mer-shop .mer-shop-category-choice.is-parent {
    margin-top: 12px;
    padding: 7px 9px;
    background: #f0ebe6;
    color: #403630;
    font-weight: 700;
    border-left: 2px solid var(--mer-aqua);
}
.mer-shop .mer-shop-category-choice.is-parent span {
    color: #403630;
}
.mer-shop .mer-shop-category-choice.is-child {
    padding-left: calc(10px + 11px * var(--mer-category-depth, 1));
    min-height: 32px;
}
.mer-shop .mer-shop-category-choice.is-child span {
    min-width: 0;
    overflow-wrap: anywhere;
}
.mer-shop .mer-shop-category-choice em {
    flex-shrink: 0;
}
.mer-shop .mer-shop-category-choice:has(input:checked) span {
    color: #118e99;
    font-weight: 700;
}


/* ===============================================================
   v1.4.0 / Filtros automáticos (JS); botón conservado si JS falla.
   =============================================================== */
.mer-shop.mer-shop-js .mer-shop-submit { display:none; }
.mer-shop .mer-shop-results { transition: opacity .16s ease; }
.mer-shop .mer-shop-results[aria-busy="true"] { opacity:.5; }
.mer-shop .mer-shop-ajax-status {
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
@media (prefers-reduced-motion:reduce) {
    .mer-shop .mer-shop-results { transition:none; }
}
