/* OmegaLife: estilos base, interacción, WooCommerce y ajustes para celular. */
:root{--verde:#1E4D2B;--verde-osc:#163A20;--naranja:#F58220;--naranja-osc:#B8480A;--crema:#FBF4E6;--crema-2:#F4E8D0;--texto:#17241C;--gris:#4A5A4F;--borde:#EADFC8}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Figtree',system-ui,sans-serif;font-size:17px;line-height:1.5;color:var(--texto);background:var(--crema)}
img{max-width:100%}
a{color:var(--verde)}a:hover{color:#143A1E}
h1,h2,h3{font-family:'Quicksand',sans-serif}
.screen-reader-text{position:absolute;left:-9999px}
.screen-reader-text:focus{left:12px;top:12px;z-index:100;background:#fff;padding:10px 14px;border-radius:8px}

.ol-btn{transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.ol-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(30,77,43,.2);filter:brightness(1.04)}
.ol-btn:active{transform:translateY(0) scale(.98);box-shadow:none}
.ol-card{transition:transform .2s ease,box-shadow .2s ease}
.ol-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(62,42,28,.14)}
.ol-float{animation:ol-float 4s ease-in-out infinite}
@keyframes ol-float{50%{transform:translateY(-7px)}}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--naranja);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.ol-btn,.ol-card,.ol-float{animation:none;transition:none}html{scroll-behavior:auto}}

.ol-faq summary{list-style:none}
.ol-faq summary::-webkit-details-marker{display:none}
.ol-faq-sign{transition:transform .2s ease}
.ol-faq[open] .ol-faq-sign{transform:rotate(45deg)}

.ol-qty{border:2px solid #9DB3A4;background:#fff;color:var(--texto)}
.ol-qty.is-on{border-color:var(--verde);background:var(--verde);color:#fff}

.ol-wa{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;align-items:center;gap:10px;background:var(--verde);color:#fff;text-decoration:none;font-weight:700;padding:14px 20px;border-radius:999px;box-shadow:0 10px 26px rgba(0,0,0,.25)}
.ol-wa:hover{color:#fff}

/* Páginas y WooCommerce */
.ol-container{max-width:1200px;margin:0 auto;padding:48px 24px 80px}
.ol-title,.ol-woo h1,.ol-woo h2{font-family:'Quicksand',sans-serif;font-weight:700;color:var(--verde);letter-spacing:-.5px}
.ol-title,.ol-woo h1.page-title,.ol-woo .product_title{font-size:42px;line-height:1.05;margin:0 0 20px}
.ol-boton,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-block-components-button{display:inline-block;background:var(--naranja);color:var(--texto);border:0;border-radius:999px;padding:14px 26px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#E0730F;color:var(--texto)}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--naranja);color:var(--texto)}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:#E0730F;color:var(--texto)}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:24px 0 0;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{float:none;width:auto;margin:0;background:#fff;border:1px solid var(--borde);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:6px;transition:transform .2s ease,box-shadow .2s ease}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(62,42,28,.14)}
.woocommerce ul.products li.product a img{border-radius:14px;margin:0 0 8px;aspect-ratio:1;object-fit:cover}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Figtree',sans-serif;font-size:18px;font-weight:700;color:var(--texto);padding:0}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:'Quicksand',sans-serif;font-weight:700;color:var(--texto);font-size:22px}
.woocommerce div.product p.price{font-size:36px}
.woocommerce ul.products li.product .button{margin-top:auto;text-align:center;background:var(--verde);color:#fff}
.woocommerce ul.products li.product .button:hover{background:#143A1E;color:#fff}
.woocommerce span.onsale{background:var(--naranja-osc);color:#fff;border-radius:999px;min-height:0;min-width:0;line-height:1;padding:7px 12px;font-weight:700}
.woocommerce div.product div.images img{border-radius:24px;background:var(--crema-2)}
.woocommerce div.product form.cart .variations select,.woocommerce .quantity .qty,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{font:inherit;padding:12px 14px;border:1px solid #9DB3A4;border-radius:12px;background:#fff}
.woocommerce .quantity .qty{width:84px}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border-radius:12px 12px 0 0;background:var(--crema-2)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--verde);border-radius:14px;background:#fff}
.woocommerce-message::before,.woocommerce-info::before{color:var(--verde)}
.woocommerce table.shop_table{border-radius:18px;background:#fff;border-color:var(--borde)}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout-review-order{background:#fff;border:1px solid var(--borde);border-radius:22px;padding:24px}
.woocommerce .woocommerce-breadcrumb{color:var(--gris);margin-bottom:18px}
.ol-extra{margin-top:56px}
.ol-extra>section{border-radius:30px;margin-bottom:32px}

/* Tablet y celular */
@media (max-width:960px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){
  body{font-size:16px}
  header[style]{position:static !important}
  header nav{gap:16px !important;font-size:15px !important}
  h1[style] span[style]{font-size:clamp(30px,10.500vw,52px) !important}
  h1[style]{font-size:36px !important;line-height:1.05 !important}
  h2[style]{font-size:30px !important}
  blockquote[style]{font-size:22px !important}
  section[style]{padding-top:48px !important;padding-bottom:48px !important}
  .ol-title,.ol-woo h1.page-title,.ol-woo .product_title{font-size:30px}
  .ol-wa span{display:none}
  .ol-wa{padding:14px;right:14px;bottom:14px}
  .ol-container{padding:28px 16px 64px}
}
@media (max-width:520px){.woocommerce ul.products{grid-template-columns:minmax(0,1fr)}}

/* Ajustes de composición en celular */
@media (max-width:720px){
  header nav{flex-wrap:nowrap !important;overflow-x:auto;width:100%;order:3;padding-bottom:4px}
  header nav a{white-space:nowrap}
  .ol-hero-art{height:340px !important}
  .ol-hero-art img:first-of-type{height:320px !important;right:6% !important}
  .ol-hero-art img:last-of-type{height:150px !important}
  .ol-hero-art>div:first-child{width:280px !important;top:20px !important}
  img[style*="height: 400px"]{height:290px !important}
  img[style*="height: 300px"]{height:215px !important}
  img[style*="margin-left: -"],img[style*="margin-left: 0px"]{max-height:120px !important}
}

/* Carruseles y comparativa deslizable en celular */
.ol-solo-movil{display:none}
@media (max-width:720px){
  .ol-solo-movil{display:block}
  .ol-pista{text-align:center;font-weight:700;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:var(--naranja-osc);margin-bottom:4px}
  .ol-pista::after{content:" \2192"}
  .ol-carrusel,.ol-compara{display:flex !important;flex-wrap:nowrap !important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:14px !important;margin-left:-24px;margin-right:-24px;padding:6px 24px 18px;scroll-padding-left:24px;scrollbar-width:none}
  .ol-carrusel::-webkit-scrollbar,.ol-compara::-webkit-scrollbar{display:none}
  .ol-carrusel>*{flex:0 0 70% !important;scroll-snap-align:start}
  .ol-compara{padding-top:66px}
  .ol-compara>*{flex:0 0 74% !important;scroll-snap-align:start;margin-top:0 !important;padding-left:22px !important;padding-right:22px !important}
  .woocommerce .related ul.products,.woocommerce .upsells ul.products,.woocommerce .cross-sells ul.products{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:14px;margin-left:-16px;margin-right:-16px;padding:6px 16px 18px;scroll-padding-left:16px;scrollbar-width:none}
  .woocommerce .related ul.products::-webkit-scrollbar,.woocommerce .upsells ul.products::-webkit-scrollbar,.woocommerce .cross-sells ul.products::-webkit-scrollbar{display:none}
  .woocommerce .related ul.products li.product,.woocommerce .upsells ul.products li.product,.woocommerce .cross-sells ul.products li.product{flex:0 0 66%;scroll-snap-align:start}
}
@media (max-width:720px){
  div[style*="margin-left: -115px"]{display:none}
}

/* Escala de texto en celular: tamaños menores para que nada se corte */
@media (max-width:720px){
  [style*="font-size: 52px"],[style*="font-size: 50px"]{font-size:30px !important}
  [style*="font-size: 48px"],[style*="font-size: 46px"],[style*="font-size: 44px"],[style*="font-size: 42px"],[style*="font-size: 40px"]{font-size:28px !important}
  [style*="font-size: 38px"],[style*="font-size: 36px"],[style*="font-size: 34px"]{font-size:25px !important}
  [style*="font-size: 32px"],[style*="font-size: 30px"]{font-size:22px !important}
  [style*="font-size: 28px"],[style*="font-size: 26px"]{font-size:20px !important}
  [style*="font-size: 24px"],[style*="font-size: 22px"]{font-size:18px !important}
  [style*="font-size: 20px"],[style*="font-size: 19px"]{font-size:16px !important}
  [style*="font-size: 18px"]{font-size:16px !important}
  h1[style] span[style]{font-size:clamp(28px,9.500vw,46px) !important}

  /* Comparativa */
  .ol-compara{padding-top:52px}
  .ol-compara>*{flex:0 0 76% !important;padding:0 18px 18px !important;min-width:0}
  .ol-compara>*:last-child{padding-top:18px !important}
  .ol-compara>*>div:first-child{gap:10px !important;margin-bottom:10px !important;min-height:0 !important}
  .ol-compara img{height:112px !important;margin-top:-44px !important}
  .ol-compara [style*="font-size: 30px"],.ol-compara [style*="font-size: 26px"]{font-size:18px !important;line-height:1.1 !important}
  .ol-compara [style*="font-size: 20px"]{font-size:15px !important;line-height:1.25}
  .ol-compara [style*="font-size: 13px"]{font-size:10.500px !important}
  .ol-compara [style*="font-size: 14px"]{font-size:11px !important;padding:4px 9px !important}
  .ol-compara [style*="padding: 14px 0"]{padding:9px 0 !important;gap:10px !important}
  .ol-compara svg{width:20px;height:20px;flex:0 0 20px}
  .ol-compara [style*="clip-path"]{width:30px !important;height:30px !important}
}
@media (max-width:720px){.ol-pista{margin-top:-44px}}
