/* Plantassik World — retoques (Savour) */
:root{ --pw-veg:#A7C190; --pw-cielo:#58A296; --pw-tierra:#D9B498; --pw-jungla:#2F4A2E; --pw-crema:#F6F4EC; }
html{ overflow-x:clip; }
body{ -webkit-font-smoothing:antialiased; }
a{ transition:color .2s ease, opacity .2s ease; }

/* ---------- Cabecera (clases de widget, independientes del contenedor) ---------- */
.pw-hdr-logo{ flex:0 0 auto !important; }
.pw-hdr-logo img{ width:128px !important; height:auto; }
.pw-hdr-menu{ flex:0 0 auto !important; }
.pw-hdr-menu .elementor-nav-menu{ flex-wrap:nowrap !important; }
.pw-hdr-menu .elementor-nav-menu .elementor-item{ white-space:nowrap; }
.pw-hdr-actions{ flex:0 0 auto !important; }
@media (max-width:1024px){ .pw-hdr-menu{ flex:0 0 auto !important; } }

/* ---------- Motivos botánicos decorativos ---------- */
.pw-deco{ position:absolute !important; pointer-events:none; z-index:0 !important; opacity:.5; margin:0 !important; }
.pw-deco .elementor-widget-container, .pw-deco img{ margin:0 !important; }
.pw-deco img{ width:100% !important; height:auto; display:block; }
.pw-deco-tr{ top:-40px; right:-55px; width:clamp(150px,26vw,300px); }
.pw-deco-bl{ bottom:-55px; left:-55px; width:clamp(170px,30vw,360px); }
.pw-deco-tl{ top:-45px; left:-60px; width:clamp(140px,24vw,270px); transform:scaleX(-1); }
.pw-deco-br{ bottom:-45px; right:-60px; width:clamp(160px,28vw,320px); transform:scaleX(-1); }
/* el contenido (contenedores boxed) por encima de los motivos */
.elementor .e-con > .e-con-boxed{ position:relative; z-index:1; }

/* imágenes con esquinas orgánicas */
.pw-round img{ border-radius:22px; }
.pw-round-lg img{ border-radius:30px; box-shadow:0 24px 50px rgba(34,58,34,.14); }
@media (max-width:767px){ .pw-deco{ opacity:.32; } }

/* ---------- WooCommerce ---------- */
.woocommerce ul.products{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:30px 26px; margin:0 !important; }
.woocommerce ul.products li.product{ width:auto !important; margin:0 !important; float:none !important; display:flex; flex-direction:column; text-align:left; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{ display:flex; flex-direction:column; }
.woocommerce ul.products li.product img{ aspect-ratio:1/1; object-fit:cover; width:100%; height:auto; border-radius:16px; margin:0 0 16px !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:"Mulish",sans-serif !important; font-size:19px !important; line-height:1.25; color:#2F4A2E !important; padding:0 0 6px !important; font-weight:400; }
.woocommerce ul.products li.product .price{ color:#2E6E63 !important; font-weight:700 !important; font-family:"Mulish",sans-serif; font-size:16px; margin-bottom:14px; }
.woocommerce ul.products li.product .price del{ color:#9aa08f !important; font-weight:400; }
.woocommerce ul.products li.product .button,
.woocommerce a.button.add_to_cart_button,
.woocommerce ul.products li.product .added_to_cart{ margin-top:auto !important; background:#2F4A2E !important; color:#fff !important; border-radius:8px !important; font-family:"Mulish",sans-serif; font-weight:600; padding:.7em 1.2em; text-align:center; transition:background .2s ease; }
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button.add_to_cart_button:hover{ background:#58A296 !important; color:#fff !important; }
.woocommerce .woocommerce-result-count{ color:#5A6152; font-family:"Mulish"; }
.woocommerce .woocommerce-ordering select{ border:1px solid #D9E2CF; border-radius:8px; padding:.5em 2em .5em .8em; color:#2F4A2E; font-family:"Mulish"; }
.woocommerce-products-header__title,
.woocommerce .woocommerce-breadcrumb{ font-family:"Mulish",sans-serif; }
.woocommerce .woocommerce-breadcrumb{ color:#7c8470; font-size:14px; }
.woocommerce span.onsale{ background:#58A296; color:#fff; border-radius:20px; }
/* precio single / add-to-cart general */
.woocommerce div.product p.price, .woocommerce div.product span.price{ color:#2E6E63; }
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{ background:#2F4A2E; color:#fff; border-radius:8px; font-family:"Mulish"; font-weight:600; }
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{ background:#58A296; }
.woocommerce .button.alt, .woocommerce button.button.alt{ background:#58A296; }
.woocommerce .button.alt:hover{ background:#2F4A2E; }
@media(max-width:1024px){ .woocommerce ul.products{ grid-template-columns:repeat(3,1fr);} }
@media(max-width:767px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); gap:20px 16px;} }
@media(max-width:430px){ .woocommerce ul.products{ grid-template-columns:1fr;} }
/* quitar clearfix ::before/::after que rompe el grid */
.woocommerce ul.products::before, .woocommerce ul.products::after{ content:none !important; display:none !important; }

/* ---------- Cabecera móvil ---------- */
@media (max-width:1024px){
  [data-elementor-type="header"] .e-con-inner{ flex-wrap:nowrap !important; justify-content:flex-start !important; align-items:center; column-gap:10px; }
  .pw-hdr-logo{ flex:0 0 auto !important; }
  .pw-hdr-logo img{ width:92px !important; }
  [data-elementor-type="header"] .e-con-inner > .e-con{ order:2 !important; flex:0 0 auto !important; width:auto !important; max-width:max-content !important; margin-left:auto !important; }
  .pw-hdr-menu{ order:3 !important; flex:0 0 auto !important; }
  .pw-hdr-user .elementor-icon{ font-size:19px !important; }
  /* desplegable a lo ancho, fijo bajo la barra */
  .pw-hdr-menu nav.elementor-nav-menu--dropdown{ position:fixed !important; top:74px !important; left:0 !important; right:0 !important; width:100vw !important; max-width:100vw !important; max-height:calc(100vh - 74px); overflow:auto; border-radius:0 0 18px 18px !important; box-shadow:0 18px 34px rgba(34,58,34,.18) !important; background:#FCFBF7 !important; }
  .pw-hdr-menu nav.elementor-nav-menu--dropdown .elementor-item{ padding:16px 24px !important; font-size:18px !important; }
}

/* ---------- Ficha de producto (single) ---------- */
.single-product div.product{ margin-top:8px; }
.single-product div.product .woocommerce-product-gallery img{ border-radius:16px; }
.single-product div.product .woocommerce-product-gallery__trigger{ top:1em; right:1em; }
.single-product div.product .product_title{ font-family:"Mulish",sans-serif; color:#2F4A2E; font-size:40px; line-height:1.1; margin:0 0 12px; }
.single-product div.product p.price, .single-product div.product span.price{ color:#2E6E63 !important; font-size:26px; font-weight:700; font-family:"Mulish",sans-serif; }
.single-product .woocommerce-product-details__short-description{ color:#42463C; font-size:17px; line-height:1.7; }
.single-product form.cart{ margin:20px 0; }
.single-product form.cart .quantity input.qty{ border:1px solid #D9E2CF; border-radius:8px; padding:.55em; color:#2F4A2E; height:auto; }
.woocommerce div.product form.cart .button.single_add_to_cart_button{ background:#2F4A2E !important; color:#fff !important; border-radius:8px; font-family:"Mulish",sans-serif; font-weight:600; padding:.8em 1.7em; text-transform:none; }
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover{ background:#58A296 !important; }
.single-product .product_meta{ font-family:"Mulish",sans-serif; color:#5A6152; font-size:14px; margin-top:16px; }
.single-product .product_meta a{ color:#2E6E63; }
/* Pestañas limpias */
.woocommerce div.product .woocommerce-tabs ul.tabs{ border:0; padding:0 0 2px; margin:0 0 8px; display:flex; gap:6px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ border:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{ background:transparent; border:0; border-radius:0; margin:0; padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{ display:none; border:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ font-family:"Mulish",sans-serif; font-weight:700; color:#7c8470; padding:10px 8px; display:inline-block; border-bottom:2px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:#2F4A2E; border-bottom-color:#58A296; }
.woocommerce div.product .woocommerce-tabs .panel{ border-top:1px solid #E8EDE0; padding-top:26px; margin-top:0; }
.woocommerce div.product .woocommerce-tabs h2,
.woocommerce #reviews h2,
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2{ font-family:"Mulish",sans-serif !important; color:#2F4A2E !important; font-weight:400; }
.woocommerce-message, .woocommerce-info, .woocommerce-error{ border-top-color:#58A296 !important; border-radius:8px; }
.woocommerce-message::before, .woocommerce-info::before{ color:#58A296 !important; }

/* ---------- Legibilidad texto sobre fotos ---------- */
.pw-onphoto .elementor-heading-title,
.pw-onphoto p,
.pw-onphoto .elementor-widget-container{ text-shadow:0 1px 2px rgba(0,0,0,.38), 0 4px 24px rgba(0,0,0,.45); }

/* ---------- Acabado / interacción ---------- */
html{ scroll-behavior:smooth; }
.elementor-button{ transition:background-color .2s ease, transform .2s ease, box-shadow .2s ease; box-shadow:0 6px 16px rgba(34,58,34,.12); }
.elementor-button:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(34,58,34,.18); }
/* tarjetas de servicio/valores: elevar al pasar */
.pw-sec .e-con-boxed .e-con-inner > .e-con,
.pw-sec .e-con > .e-con{ transition:transform .22s ease, box-shadow .22s ease; }
.woocommerce ul.products li.product{ transition:transform .22s ease; }
.woocommerce ul.products li.product:hover{ transform:translateY(-4px); }
.woocommerce ul.products li.product img{ transition:filter .22s ease; }
.woocommerce ul.products li.product:hover img{ filter:brightness(1.04); }
/* foco accesible visible */
a:focus-visible, .elementor-button:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{ outline:3px solid #58A296; outline-offset:2px; border-radius:4px; }
/* enlaces de contenido subrayado sutil al hover */
.elementor-widget-text-editor a{ text-underline-offset:3px; }

/* ---------- Menú centrado (escritorio) ---------- */
@media (min-width:1025px){
  [data-elementor-type="header"] .e-con-inner{ justify-content:space-between; }
  .pw-hdr-logo{ flex:1 1 0 !important; min-width:132px; }
  .pw-hdr-menu{ flex:0 0 auto !important; }
  /* el contenedor de acciones (cesta + CTA) no admite clase -> lo apunto por estructura */
  [data-elementor-type="header"] .e-con-inner > .e-con{ flex:1 1 0 !important; display:flex !important; justify-content:flex-end !important; align-items:center; }
}

/* ---------- Fichas de producto: huecos limpios ---------- */
.woocommerce ul.products{ align-items:start !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ min-height:2.5em; }
.woocommerce ul.products li.product .button,
.woocommerce a.button.add_to_cart_button,
.woocommerce ul.products li.product .added_to_cart{ margin-top:12px !important; }
.woocommerce ul.products li.product .added_to_cart{ display:inline-block; margin-left:0; }

/* ---------- Carrito / mini-carrito / checkout ---------- */
/* mini-carrito (desplegable de la cabecera) */
.elementor-menu-cart__main .woocommerce-mini-cart__buttons .button,
.woocommerce .widget_shopping_cart_content .buttons .button{ background:#2F4A2E !important; color:#fff !important; border-radius:8px !important; font-family:"Mulish",sans-serif; font-weight:600; border:0 !important; }
.elementor-menu-cart__main .woocommerce-mini-cart__buttons .button.checkout,
.woocommerce .widget_shopping_cart_content .buttons .checkout{ background:#58A296 !important; }
.elementor-menu-cart__main .woocommerce-mini-cart__buttons .button:hover{ filter:brightness(1.08); }
.elementor-menu-cart__product-name a, .widget_shopping_cart_content a{ color:#2F4A2E !important; }
.elementor-menu-cart__subtotal, .woocommerce-mini-cart__total{ color:#2F4A2E; }
/* página de carrito */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{ background:#2F4A2E !important; color:#fff !important; border-radius:8px !important; font-family:"Mulish"; font-weight:700; text-align:center; }
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{ background:#58A296 !important; }
.woocommerce a.remove{ color:#2F4A2E !important; border-color:#2F4A2E; }
.woocommerce a.remove:hover{ background:#58A296 !important; color:#fff !important; }
.woocommerce table.cart td.product-name a, .woocommerce-cart-form .product-name a{ color:#2F4A2E !important; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3{ font-family:"Mulish",sans-serif; color:#2F4A2E; }
.woocommerce .quantity input.qty{ border:1px solid #D9E2CF; border-radius:7px; color:#2F4A2E; }
.woocommerce #payment #place_order, .woocommerce-checkout button#place_order{ background:#2F4A2E !important; color:#fff !important; border-radius:8px; }

/* ================= AJUSTES v2 ================= */
/* --- Tipografía única (sustituto libre de Óptima: humanista, elegante) --- */
h1,h2,h3,h4,h5,h6,
.elementor-heading-title,
.woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.woocommerce-products-header__title,
.woocommerce .cart_totals h2,
.woocommerce div.product .related > h2,
.woocommerce div.product .woocommerce-tabs h2,
.woocommerce #reviews h2{ font-family:"Mulish","Segoe UI",sans-serif !important; }
h1.elementor-heading-title, h2.elementor-heading-title,
h3.elementor-heading-title, h4.elementor-heading-title{ font-weight:600 !important; letter-spacing:-.005em; }
.woocommerce-loop-product__title, .woocommerce div.product .product_title{ font-weight:700 !important; }
body, p, li, span, a, .elementor-button, .elementor-nav-menu,
input, textarea, select, button, .woocommerce, .price{ font-family:"Mulish","Segoe UI",sans-serif !important; }

/* --- Hover en tarjetas (servicios / valores) --- */
.pw-sec .e-con:has(> .elementor-widget-icon-box){ transition:transform .28s ease, box-shadow .28s ease; }
.pw-sec .e-con:has(> .elementor-widget-icon-box):hover{ transform:translateY(-8px); box-shadow:0 22px 44px rgba(47,74,46,.15) !important; }
.elementor-widget-icon-box .elementor-icon{ transition:transform .28s ease; }
.pw-sec .e-con:has(> .elementor-widget-icon-box):hover .elementor-icon{ transform:scale(1.08) rotate(-3deg); }

/* --- Icono de usuario en la cabecera --- */
.pw-hdr-user{ display:flex; align-items:center; }
.pw-hdr-user .elementor-icon{ color:#2F4A2E; transition:color .2s ease, transform .2s ease; }
.pw-hdr-user a:hover .elementor-icon{ color:#58A296; transform:translateY(-2px); }

/* --- Carrito más cuidado --- */
.woocommerce table.shop_table{ border:1px solid #E8EDE0 !important; border-radius:14px; overflow:hidden; }
.woocommerce table.shop_table thead th{ background:#F3F8EF; color:#2F4A2E; font-weight:700; border:0; }
.woocommerce table.cart img{ border-radius:10px; }
.woocommerce-cart-form .coupon input#coupon_code,
.woocommerce .coupon input.input-text{ min-width:190px !important; width:auto; border:1px solid #D9E2CF !important; border-radius:8px !important; padding:.7em .9em !important; }
.woocommerce .cart_totals{ border:1px solid #E8EDE0; border-radius:14px; padding:6px 22px 18px; background:#fff; }
.woocommerce .cart_totals table{ border:0 !important; }
.woocommerce button[name="update_cart"]:disabled{ opacity:.35 !important; }
.woocommerce .cart-collaterals .cart_totals .order-total .amount{ color:#2F4A2E; }
.woocommerce-message, .woocommerce-info{ background:#F3F8EF; }

/* --- Formulario de contacto mejorado --- */
.elementor-field-group .elementor-field.elementor-size-md,
.elementor-field-group textarea,
.elementor-field-group select,
.elementor-field-group input:not([type=submit]){ border:1.5px solid #E1E7D8 !important; border-radius:11px !important; padding:.9em 1em !important; background:#FBFCF9 !important; color:#2F4A2E !important; transition:border-color .2s ease, box-shadow .2s ease, background .2s ease; font-size:16px !important; }
.elementor-field-group input:focus, .elementor-field-group textarea:focus, .elementor-field-group select:focus{ border-color:#58A296 !important; background:#fff !important; box-shadow:0 0 0 3px rgba(88,162,150,.16) !important; outline:none; }
.elementor-field-group > label{ color:#2F4A2E !important; font-weight:600 !important; margin-bottom:7px !important; }
.elementor-form .elementor-button{ letter-spacing:.4px; }
.elementor-field-group textarea{ min-height:130px; }

/* --- Legibilidad extra --- */
.elementor-widget-text-editor{ color:#3B3F35; }

/* ================= AJUSTES v3 ================= */
/* Fuente de marca "Jurassic Park" (decorativa, solo mayúsculas) */
@font-face{
  font-family:'JurassicPark';
  src:url('fonts/JurassicPark-ES.woff2') format('woff2'), url('fonts/JurassicPark-ES.otf') format('opentype');
  font-weight:normal; font-style:normal; font-display:swap;
}
.pw-jp .elementor-heading-title{ font-family:'JurassicPark','Mulish',sans-serif !important; text-transform:uppercase; letter-spacing:2px; font-weight:400 !important; line-height:1.08 !important; }
.pw-jp .elementor-heading-title{ font-size:clamp(34px, 6.4vw, 66px) !important; }

/* Aire arriba en páginas de tienda/categoría/legales (no Elementor) */
body:not(.elementor-page) main.site-main{ padding-top:50px !important; padding-bottom:64px !important; }
body:not(.elementor-page) .woocommerce-breadcrumb{ margin-bottom:14px; }

/* ---------- Mini-carrito (side-cart) botones verdes ---------- */
.elementor-menu-cart__footer-buttons a,
.elementor-menu-cart__footer-buttons .elementor-button,
.elementor-menu-cart__main a.button,
.elementor-menu-cart__main .elementor-button{ background:#2F4A2E !important; color:#fff !important; border:0 !important; border-radius:8px !important; font-family:"Mulish",sans-serif !important; font-weight:600 !important; }
.elementor-menu-cart__footer-buttons a.elementor-menu-cart__button-checkout,
a.elementor-menu-cart__button-checkout,
.elementor-menu-cart__footer-buttons .checkout{ background:#58A296 !important; color:#fff !important; }
.elementor-menu-cart__footer-buttons a:hover,
.elementor-menu-cart__main .elementor-button:hover{ filter:brightness(1.08); }
.elementor-menu-cart__subtotal{ color:#2F4A2E !important; }

/* ---------- Letra decorativa Jurassic en subtítulos (sin acentos) ---------- */
.pw-jp-sub .elementor-heading-title{ font-family:'JurassicPark','Mulish',sans-serif !important; text-transform:uppercase; letter-spacing:2.5px; font-weight:400 !important; font-size:25px !important; line-height:1.25 !important; }
@media(max-width:767px){ .pw-jp-sub .elementor-heading-title{ font-size:20px !important; } }

/* ---------- Cabecera en MAYÚSCULAS (y que quepa) ---------- */
.pw-hdr-menu .elementor-item,
.pw-hdr-menu .elementor-nav-menu a,
.pw-hdr-menu nav.elementor-nav-menu--dropdown .elementor-item{ text-transform:uppercase !important; font-weight:700 !important; }
[data-elementor-type="header"] .elementor-button,
[data-elementor-type="header"] .elementor-button-text{ text-transform:uppercase !important; letter-spacing:.8px !important; font-weight:700 !important; white-space:nowrap !important; }

@media (min-width:1025px){
  [data-elementor-type="header"] .e-con-inner{ column-gap:12px !important; }
  .pw-hdr-logo{ flex:1 1 0 !important; min-width:124px !important; }
  .pw-hdr-menu{ flex:0 0 auto !important; }
  [data-elementor-type="header"] .e-con-inner > .e-con{
    flex:1 1 0 !important; min-width:215px !important;
    display:flex !important; justify-content:flex-end !important; align-items:center; }
  /* nada dentro de las acciones se encoge */
  [data-elementor-type="header"] .e-con-inner > .e-con > *{ flex:0 0 auto !important; }
  .pw-hdr-menu .elementor-nav-menu{ flex-wrap:nowrap !important; }
  /* portatiles estrechos: menu compacto */
  .pw-hdr-menu .elementor-item{ font-size:12px !important; letter-spacing:.2px !important; }
  .pw-hdr-menu .elementor-nav-menu--main > li > a{ padding-left:4px !important; padding-right:4px !important; }
  [data-elementor-type="header"] .elementor-button{ padding:10px 12px !important; font-size:12.5px !important; }
}
/* pantallas anchas: menu comodo */
@media (min-width:1280px){
  [data-elementor-type="header"] .e-con-inner{ column-gap:22px !important; }
  .pw-hdr-logo{ min-width:134px !important; }
  [data-elementor-type="header"] .e-con-inner > .e-con{ min-width:290px !important; column-gap:14px !important; }
  .pw-hdr-menu .elementor-item{ font-size:13px !important; letter-spacing:.3px !important; }
  .pw-hdr-menu .elementor-nav-menu--main > li > a{ padding-left:8px !important; padding-right:8px !important; }
  [data-elementor-type="header"] .elementor-button{ padding:11px 20px !important; font-size:13.5px !important; }
}
@media (max-width:1024px){
  .pw-hdr-menu nav.elementor-nav-menu--dropdown .elementor-item{ font-size:17px !important; letter-spacing:1.2px !important; }
}

/* ===== Kit Digital · emblemas en el pie ===== */
.pw-kd-logo{margin:0}
.pw-kd-logo img{height:46px!important;width:auto!important;max-width:none!important;display:block}
@media (max-width:767px){
  .pw-kd-logo img{height:34px!important}
}
