/* ===== Oriente Garden — ficha de producto ===== */
.single-product .price,
.single-product .summary .price{ color:#2F4F2F !important; }
.single-product .stock.in-stock{ color:#556B2F; font-weight:600; }
.single-product .stock.out-of-stock{ color:#B23A3A; font-weight:600; }
.single-product .product_meta{ font-size:13px; color:#556B2F; margin-top:20px; }
.single-product .product_meta > span{ display:block; margin-bottom:4px; }

/* Pestañas de la ficha técnica */
.single-product .woocommerce-tabs ul.tabs{ border:0; padding:0 0 4px; display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-bottom:26px; }
.single-product .woocommerce-tabs ul.tabs::before{ display:none; }
.single-product .woocommerce-tabs ul.tabs li{ background:#E8E5DB; border:0; border-radius:30px; margin:0; padding:0; }
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{ display:none; }
.single-product .woocommerce-tabs ul.tabs li a{ color:#2F4F2F; text-transform:uppercase; letter-spacing:1px; font-size:13px; font-weight:600; padding:11px 24px; }
.single-product .woocommerce-tabs ul.tabs li.active{ background:#2F4F2F; }
.single-product .woocommerce-tabs ul.tabs li.active a{ color:#fff; }
.single-product .woocommerce-Tabs-panel h2{ display:none; }

/* Tabla de características (ficha técnica) */
.single-product table.shop_attributes{ border:0; width:100%; }
.single-product table.shop_attributes th{ color:#2F4F2F; width:38%; text-transform:uppercase; letter-spacing:.5px; font-size:12px; padding:12px 10px; background:transparent; }
.single-product table.shop_attributes td{ padding:12px 10px; font-style:normal; color:#333; }
.single-product table.shop_attributes tr{ border-bottom:1px solid #E8E5DB; }
.single-product table.shop_attributes tr:nth-child(odd){ background:#FAF9F5; }

/* Botón agregar al carro */
.single-product .single_add_to_cart_button{ letter-spacing:1px; text-transform:uppercase; }

/* ===== Header ===== */
.elementor-location-header .elementor-widget-image,
.elementor-location-header .elementor-widget-image .elementor-widget-container,
.elementor-location-header .elementor-widget-image .elementor-image,
.elementor-location-header .elementor-widget-image a{ width:auto !important; max-width:none !important; line-height:0; }
.elementor-location-header .elementor-widget-image img{ height:100px !important; width:100px !important; max-width:none !important; object-fit:contain !important; }
.elementor-location-header [data-id="a1000020"]{ padding-top:8px !important; padding-bottom:8px !important; }
.elementor-location-header .e-con-inner,
.elementor-location-header > .e-con{ min-height:0 !important; }
.elementor-location-header .elementor-nav-menu{ flex-wrap:nowrap !important; }
.elementor-location-header .elementor-nav-menu > li > a{ white-space:nowrap; padding-left:15px; padding-right:15px; }
/* quitar el solapamiento del hero con el header (margen -85px de la plantilla) */
.elementor-element-649ed795{ margin-top:0 !important; }


/* ===== Submenu / dropdown del header ===== */
.elementor-location-header .elementor-nav-menu .sub-menu,
.elementor-location-header .elementor-nav-menu ul{ background:#2F4F2F !important; border-radius:0 0 10px 10px; padding:6px 0; box-shadow:0 10px 24px rgba(0,0,0,.15); }
.elementor-location-header .elementor-nav-menu .sub-menu a.elementor-sub-item{ color:#E8E5DB !important; padding:10px 20px; }
.elementor-location-header .elementor-nav-menu .sub-menu a.elementor-sub-item:hover{ background:#3f5f3f; color:#B89B5E !important; }

/* ===== Barra de tienda (buscador + A-Z) ===== */
.og-shopbar{ width:100%; max-width:1000px; margin:14px auto 6px; }
.og-search{ display:flex; gap:8px; justify-content:center; margin-bottom:16px; }
.og-search input[type=search]{ width:min(420px,70%); padding:11px 16px; border:1px solid #d8d3c4; border-radius:30px; font-size:15px; }
.og-search button{ background:#2F4F2F; color:#fff; border:0; border-radius:30px; padding:11px 24px; text-transform:uppercase; letter-spacing:1px; font-size:13px; cursor:pointer; }
.og-search button:hover{ background:#556B2F; }
.og-az{ display:flex; flex-wrap:wrap; gap:4px; justify-content:center; }
.og-az a{ display:inline-block; min-width:30px; text-align:center; padding:6px 8px; border-radius:6px; color:#2F4F2F; font-weight:600; font-size:14px; text-decoration:none; }
.og-az a:hover{ background:#E8E5DB; }
.og-az a.active{ background:#2F4F2F; color:#fff; }

/* ===== Header: centrar menú + carrito, y arreglar el carrito ===== */
/* logo a la izquierda, menú + carrito centrados en el resto */
.elementor-location-header [data-id="a1000011"]{ flex:0 0 auto !important; width:auto !important; }
.elementor-location-header [data-id="a1000010"]{ flex:1 1 auto !important; width:auto !important; justify-content:center !important; }
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu{ align-items:center; }

/* que el desplegable del carrito no se corte */
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.elementor-location-header .elementor-widget-woocommerce-menu-cart,
.elementor-location-header .elementor-widget-container{ overflow:visible !important; }
.elementor-menu-cart__container{ z-index:99990 !important; }
.elementor-menu-cart__main{ z-index:99991 !important; max-width:360px; }
.elementor-menu-cart__toggle .elementor-button{ background:transparent !important; border:0 !important; padding:6px 10px !important; }
.elementor-menu-cart__toggle .elementor-button:hover{ color:#B89B5E !important; }



/* ===== Carrito lateral (off-canvas): pegado al borde derecho y sin cortes ===== */
.elementor-menu-cart__container{ right:0 !important; left:auto !important; }
.elementor-menu-cart__main{ width:380px !important; max-width:92vw !important; box-sizing:border-box; }
.elementor-menu-cart__products, .elementor-menu-cart__footer-buttons{ box-sizing:border-box; }
.elementor-menu-cart__footer-buttons{ display:flex; flex-wrap:wrap; gap:10px; }
.elementor-menu-cart__footer-buttons a{ flex:1 1 auto; text-align:center; }
.elementor-menu-cart__product-name, .elementor-menu-cart__product-price{ white-space:normal; }

/* ===== Botones del carrito lateral (más elegantes) ===== */
.elementor-menu-cart__footer-buttons a{ border-radius:30px !important; text-transform:uppercase; letter-spacing:1px; font-size:13px !important; font-weight:600; padding:13px 20px !important; border:0 !important; }
.elementor-menu-cart__footer-buttons a.elementor-button--view-cart{ background:#E8E5DB !important; color:#2F4F2F !important; }
.elementor-menu-cart__footer-buttons a.elementor-button--view-cart:hover{ background:#dcd7c8 !important; }
.elementor-menu-cart__footer-buttons a.elementor-button--checkout,
.elementor-menu-cart__footer-buttons a.checkout{ background:#2F4F2F !important; color:#FFFFFF !important; }
.elementor-menu-cart__footer-buttons a.elementor-button--checkout:hover,
.elementor-menu-cart__footer-buttons a.checkout:hover{ background:#556B2F !important; }
.elementor-menu-cart__subtotal{ font-family:inherit; }

/* ===== Checkout de bloques: ocultar país (fijo Chile) y código postal ===== */
.wc-block-checkout .wc-block-components-address-form__country,
.wc-block-components-address-form__country,
.wc-block-checkout .wc-block-components-address-form__postcode,
.wc-block-components-address-form__postcode{ display:none !important; }

/* Checkout: ocultar Región (dejar solo Comuna) */
.wc-block-components-address-form__state,
.wc-block-checkout .wc-block-components-address-form__state{ display:none !important; }

/* Checkout: un solo campo Nombre y apellido (ocultar apellidos) */
.wc-block-components-address-form__last_name,
.wc-block-checkout .wc-block-components-address-form__last_name{ display:none !important; }

/* =================== MÓVIL =================== */
@media (max-width: 767px){
  /* Header */
  .elementor-location-header .elementor-widget-image img{ height:70px !important; width:70px !important; }
  .elementor-location-header [data-id="a1000020"]{ padding:8px 14px !important; }
  .elementor-location-header [data-id="a1000011"]{ flex:1 1 auto !important; }
  .elementor-location-header [data-id="a1000010"]{ flex:0 0 auto !important; width:auto !important; justify-content:flex-end !important; gap:10px !important; }
  .elementor-location-header .elementor-menu-toggle{ color:#2F4F2F !important; }

  /* Producto: apilar galería y resumen */
  .single-product [data-id="20358719"]{ flex-direction:column !important; }
  .single-product [data-id="1ee3d107"],
  .single-product [data-id="765f0800"]{ width:100% !important; }
  .single-product [data-id="765f0800"]{ padding:22px 16px 0 !important; }
  .single-product .price{ font-size:1.4rem !important; }
  .single-product table.shop_attributes th{ width:46%; font-size:11px; padding:9px 6px; letter-spacing:0; }
  .single-product table.shop_attributes td{ padding:9px 6px; font-size:13px; }
  .single-product .woocommerce-tabs ul.tabs{ gap:6px; }
  .single-product .woocommerce-tabs ul.tabs li a{ padding:9px 14px; font-size:12px; }

  /* Catálogo: buscador y A-Z */
  .og-shopbar{ padding:0 6px; }
  .og-search{ flex-wrap:wrap; }
  .og-search input[type=search]{ width:100% !important; }
  .og-search button{ width:100%; }
  .og-az{ gap:2px; }
  .og-az a{ min-width:24px; font-size:13px; padding:5px 4px; }

  /* Footer */
  .elementor-location-footer [data-id="b1000030"]{ padding:42px 18px 26px !important; }
  .elementor-location-footer [data-id="b1000020"]{ gap:26px !important; }

  /* Checkout de bloques: márgenes más cómodos */
  .wc-block-checkout__form, .wc-block-components-order-summary{ padding-left:0 !important; padding-right:0 !important; }
}

/* =============== MÓVIL: portada / hero =============== */
@media (max-width: 767px){
  /* Header en una sola fila: logo izquierda, menú+carrito derecha */
  .elementor-location-header [data-id="a1000020"]{ flex-direction:row !important; flex-wrap:nowrap !important; align-items:center !important; }
  .elementor-location-header [data-id="a1000011"]{ flex:0 0 auto !important; display:flex !important; flex-direction:row !important; align-items:center !important; }
  .elementor-location-header [data-id="a1000010"]{ flex:1 1 auto !important; width:auto !important; justify-content:flex-end !important; align-items:center !important; gap:12px !important; display:flex !important; flex-direction:row !important; }
  .elementor-location-header .elementor-widget-image img{ height:70px !important; width:70px !important; }
  /* logo, hamburguesa y carro a la misma altura */
  .elementor-location-header [data-id="a1000010"] > *{ display:flex !important; align-items:center !important; }
  .elementor-location-header .elementor-element-a1000002{ display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:center !important; }
  .elementor-location-header .elementor-menu-toggle{ display:flex !important; align-items:center !important; justify-content:center !important; padding:0 !important; line-height:1 !important; }
  .elementor-location-header .elementor-menu-cart__toggle{ display:flex !important; align-items:center !important; }
  .elementor-location-header .elementor-menu-cart__toggle .elementor-button{ display:flex !important; align-items:center !important; justify-content:center !important; }

  /* Hero: ocultar el título decorativo roto e inyectar uno limpio y centrado */
  .elementor-element-649ed795{ min-height:74vh !important; justify-content:center !important; }
  .elementor-element-649ed795 > .e-con-inner{ justify-content:center !important; text-align:center; }
  .elementor-element-4562d88{ display:none !important; }
  .elementor-element-649ed795 > .e-con-inner::before{
    content:"Oriente Garden";
    display:block; order:-1; text-align:center; align-self:center;
    color:#F1EADB; font-family:"Tenor Sans","Cormorant Garamond",serif; font-weight:400;
    font-size:40px; line-height:1.06; letter-spacing:4px; text-transform:uppercase;
    text-shadow:0 3px 18px rgba(0,0,0,.6);
    border-bottom:2px solid #C8A46A; padding-bottom:14px; margin:0 auto 18px;
  }
  .elementor-element-a1d24b6 .elementor-heading-title{ font-size:15px !important; letter-spacing:3px !important; line-height:1.5 !important; }
}


/* =============== MÓVIL: overflow / consistencia =============== */
@media (max-width: 767px){
  html, body{ overflow-x:hidden !important; max-width:100% !important; }
  .elementor-element, .e-con, .e-con-inner, img{ max-width:100% !important; }
}

/* =============== MÓVIL: margen lateral general (que nada quede pegado al borde) =============== */
/* Aplica un colchón mínimo a los contenedores de contenido de Elementor. No toca fondos a sangre
   (imágenes/colores de fondo de sección), header, hero ni el carrito lateral: esos ya tienen su
   propio padding específico con mayor especificidad y siguen mandando. */
@media (max-width:767px){
  .e-con-inner,
  .elementor-section.elementor-section-boxed > .elementor-container{
    padding-left:10px !important;
    padding-right:10px !important;
    box-sizing:border-box !important;
  }
}

/* Contener carruseles (swiper) para que no generen scroll horizontal */
.swiper, .swiper-container, .elementor-testimonial-wrapper, .elementor-main-swiper{ overflow:hidden !important; }
.elementor-widget-testimonial-carousel{ overflow:hidden !important; }

/* =============== Grilla de productos: 3 por fila, ancho fijo sin desborde =============== */
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:26px !important;
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{ content:none !important; display:none !important; }
.woocommerce ul.products li.product{
  width:auto !important;
  max-width:100% !important;
  margin:0 !important;
  float:none !important;
  clear:none !important;
}
.woocommerce ul.products li.product img{ width:100% !important; height:auto !important; }
@media (max-width:767px){
  .woocommerce ul.products{ grid-template-columns:repeat(2, minmax(0, 1fr)) !important; gap:14px !important; }
}

/* === Product card titles: proportional & readable === */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.elementor-widget-woocommerce-archive-products ul.products li.product .woocommerce-loop-product__title{
  font-size:16px !important;
  letter-spacing:1.2px !important;
  line-height:1.35 !important;
  padding:12px 14px 4px !important;
  margin:0 !important;
  text-align:center !important;
  word-break:break-word !important;
  overflow-wrap:break-word !important;
  hyphens:none !important;
  min-height:0 !important;
}
.woocommerce ul.products li.product .price{
  text-align:center !important;
  display:block !important;
  letter-spacing:.5px !important;
  font-size:16px !important;
  margin-top:2px !important;
}
@media (max-width:767px){
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .elementor-widget-woocommerce-archive-products ul.products li.product .woocommerce-loop-product__title{
    font-size:13px !important; letter-spacing:.4px !important; padding:8px 6px 2px !important;
  }
  .woocommerce ul.products li.product .price{ font-size:14px !important; }
}

/* === Catalog buttons: centered & elegant === */
.woocommerce ul.products li.product{ text-align:center !important; }
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.add_to_cart_button{
  display:inline-block !important;
  background:#2F4F2F !important;
  color:#F1EADB !important;
  border:0 !important;
  border-radius:30px !important;
  padding:11px 26px !important;
  font-size:12px !important;
  letter-spacing:1.5px !important;
  text-transform:uppercase !important;
  font-weight:600 !important;
  margin-top:14px !important;
  box-shadow:0 4px 12px rgba(47,79,47,.16) !important;
  transition:background .2s ease, transform .2s ease !important;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover{
  background:#556B2F !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
}
.woocommerce ul.products li.product a.added_to_cart{
  display:inline-block !important;
  margin-top:8px !important;
  color:#2F4F2F !important;
  text-decoration:underline !important;
  font-size:12px !important;
  letter-spacing:1px !important;
}
@media (max-width:767px){
  .woocommerce ul.products li.product a.button,
  .woocommerce ul.products li.product a.add_to_cart_button{
    padding:9px 16px !important; font-size:11px !important; letter-spacing:1px !important;
  }
}

/* === "Lo que nos hace diferentes": tarjetas con vida y movimiento === */
.elementor-element-641ae576 .elementor-widget-icon-box{
  background:#FBFAF6 !important;
  border:1px solid #E7E1D2 !important;
  border-radius:16px !important;
  padding:26px 22px !important;
  box-shadow:0 6px 18px rgba(47,79,47,.06) !important;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease !important;
  height:auto !important;
  align-self:stretch !important;
  position:relative !important;
  overflow:hidden !important;
}
.elementor-element-641ae576 .elementor-widget-icon-box::before{
  content:"" !important; position:absolute !important; top:0; left:0; right:0; height:4px !important;
  background:linear-gradient(90deg,#2F4F2F,#C8A46A) !important;
  transform:scaleX(0) !important; transform-origin:left !important; transition:transform .35s ease !important;
}
.elementor-element-641ae576 .elementor-widget-icon-box:hover{
  transform:translateY(-8px) !important;
  box-shadow:0 18px 36px rgba(47,79,47,.15) !important;
  border-color:#D8C39A !important;
}
.elementor-element-641ae576 .elementor-widget-icon-box:hover::before{ transform:scaleX(1) !important; }
.elementor-element-641ae576 .elementor-icon-box-icon{ margin-bottom:14px !important; transition:transform .3s ease !important; }
.elementor-element-641ae576 .elementor-icon-box-description{ font-size:14px !important; line-height:1.5 !important; }
.elementor-element-641ae576 .elementor-widget-icon-box:hover .elementor-icon-box-icon{ transform:scale(1.08) rotate(-4deg) !important; }
.elementor-element-641ae576 .elementor-icon-box-icon .elementor-icon{
  width:64px !important; height:64px !important; line-height:64px !important; font-size:26px !important;
  border-radius:50% !important; background:#2F4F2F !important; color:#F1EADB !important;
  box-shadow:0 8px 20px rgba(47,79,47,.22) !important;
  transition:background .3s ease !important;
  animation:ogFloat 4.5s ease-in-out infinite !important;
}
.elementor-element-641ae576 .elementor-widget-icon-box:hover .elementor-icon{ background:#556B2F !important; }
.elementor-element-641ae576 .elementor-icon-box-title{ letter-spacing:.6px !important; margin-bottom:10px !important; }
@keyframes ogFloat{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
.elementor-element-5bdbf00c .elementor-icon-box-icon .elementor-icon{ animation-delay:.6s !important; }
.elementor-element-54c34a36 .elementor-icon-box-icon .elementor-icon{ animation-delay:1.2s !important; }
.elementor-element-75d5f7a6 .elementor-icon-box-icon .elementor-icon{ animation-delay:1.8s !important; }
@media (max-width:767px){
  .elementor-element-641ae576 .elementor-widget-icon-box{ padding:26px 20px !important; }
  .elementor-element-641ae576 .elementor-icon-box-icon .elementor-icon{ width:62px !important; height:62px !important; line-height:62px !important; font-size:25px !important; }
}

/* === "Lo que nos hace diferentes": color de marca + más elegante === */
/* Título de la sección con el mismo verde de "Diseño y construcción" (#7A8A5F) */
.elementor-element-6daeff2d .elementor-heading-title{ color:#7A8A5F !important; }
/* Títulos de tarjeta en verde marca; descripción en tono suave y elegante */
.elementor-element-641ae576 .elementor-icon-box-title{ color:#2F4F2F !important; letter-spacing:.8px !important; font-weight:400 !important; }
.elementor-element-641ae576 .elementor-icon-box-description{ color:#5C6350 !important; line-height:1.6 !important; }

/* === "Lo que dicen nuestros clientes": más elegante === */
.elementor-element-7c6ad8c0 .elementor-heading-title{ color:#2F4F2F !important; }
.elementor-element-66be060b .elementor-testimonial__text{
  color:#2F3B2A !important;
  font-family:"Tenor Sans", Georgia, serif !important;
  font-style:italic !important;
  font-size:21px !important;
  line-height:1.75 !important;
  font-weight:400 !important;
  max-width:720px !important;
  margin:0 auto !important;
  position:relative !important;
}
.elementor-element-66be060b .elementor-testimonial__text::before{
  content:"\201C" !important;
  display:block !important;
  font-family:Georgia, serif !important;
  font-size:64px !important;
  line-height:0 !important;
  color:#C8A46A !important;
  opacity:.55 !important;
  margin:24px 0 22px !important;
}
.elementor-element-66be060b .elementor-testimonial__name{
  color:#2F4F2F !important; font-size:19px !important; letter-spacing:1px !important; margin-top:16px !important;
}
.elementor-element-66be060b .elementor-testimonial__title{
  color:#B89B5E !important; font-size:12px !important; letter-spacing:2.5px !important;
  text-transform:uppercase !important; margin-top:3px !important;
}
@media (max-width:767px){
  .elementor-element-66be060b .elementor-testimonial__text{ font-size:17px !important; line-height:1.65 !important; }
  .elementor-element-66be060b .elementor-testimonial__text::before{ font-size:48px !important; margin:14px 0 14px !important; }
}

/* === CTA "¿Listo para transformar tu jardín?": botón + título con vida === */
.elementor-element-4b5d81a5 .elementor-icon-box-title{ margin:0 !important; }
.elementor-element-4b5d81a5 .elementor-icon-box-title a{
  display:inline-block !important;
  background:#2F4F2F !important; color:#F1EADB !important;
  padding:15px 42px !important; border-radius:40px !important;
  font-size:15px !important; letter-spacing:2px !important; text-transform:uppercase !important;
  font-weight:400 !important; text-decoration:none !important;
  box-shadow:0 10px 26px rgba(47,79,47,.24) !important;
  transition:transform .3s ease, background .3s ease, box-shadow .3s ease !important;
}
.elementor-element-4b5d81a5 .elementor-icon-box-title a::after{
  content:"\2192" !important; margin-left:12px !important; display:inline-block !important; transition:transform .3s ease !important;
}
.elementor-element-4b5d81a5 .elementor-icon-box-title a:hover{
  background:#556B2F !important; transform:translateY(-3px) !important; box-shadow:0 16px 34px rgba(47,79,47,.30) !important;
}
.elementor-element-4b5d81a5 .elementor-icon-box-title a:hover::after{ transform:translateX(6px) !important; }
/* Título con vida: acento dorado degradado */
.elementor-element-1362831c .elementor-heading-title::after{
  content:"" !important; display:block !important; width:66px !important; height:3px !important;
  background:linear-gradient(90deg,#C8A46A,#2F4F2F) !important; margin:22px 0 0 !important; border-radius:2px !important;
}

/* === Páginas de info (Contacto, Ayuda, Términos y Privacidad) === */
.og-legalwrap{ max-width:860px !important; margin:0 auto !important; }
.page-id-51 .elementor-widget-text-editor,
.page-id-77 .elementor-widget-text-editor,
.page-id-61 .elementor-widget-text-editor{ font-size:16px; line-height:1.75; color:#3B3B34; }
.og-lead{ font-size:19px !important; text-align:center !important; color:#5C6350 !important; margin-bottom:34px !important; }
.page-id-51 .elementor-widget-text-editor h2,
.page-id-77 .elementor-widget-text-editor h2,
.page-id-61 .elementor-widget-text-editor h2{ color:#2F4F2F !important; font-family:"Tenor Sans", Georgia, serif !important; font-size:26px !important; margin:44px 0 10px !important; padding-top:26px !important; border-top:1px solid #E7E1D2 !important; letter-spacing:.4px !important; }
.page-id-51 .elementor-widget-text-editor h3,
.page-id-77 .elementor-widget-text-editor h3,
.page-id-61 .elementor-widget-text-editor h3{ color:#556B2F !important; font-family:"Tenor Sans", Georgia, serif !important; font-size:19px !important; margin:26px 0 6px !important; letter-spacing:.3px !important; }
.page-id-51 .elementor-widget-text-editor p,
.page-id-77 .elementor-widget-text-editor p,
.page-id-61 .elementor-widget-text-editor p{ margin:0 0 14px !important; }
a.og-btn{ display:inline-block !important; background:#2F4F2F !important; color:#F1EADB !important; text-decoration:none !important; padding:13px 30px !important; border-radius:40px !important; letter-spacing:1px !important; font-size:14px !important; text-transform:uppercase !important; margin:8px 0 !important; transition:background .25s ease, transform .25s ease !important; }
a.og-btn:hover{ background:#556B2F !important; transform:translateY(-2px) !important; }
.og-note{ font-size:13px !important; color:#8a8a80 !important; margin-top:30px !important; display:block !important; }

/* === Botones "Saber más" (áreas de servicio) iguales a los demás === */
.elementor-element-1e4973c9, .elementor-element-7a9211a4,
.elementor-element-1dbb1fb5, .elementor-element-31d15e1a{ text-align:center !important; }
.elementor-element-1e4973c9 .elementor-icon-box-title, .elementor-element-7a9211a4 .elementor-icon-box-title,
.elementor-element-1dbb1fb5 .elementor-icon-box-title, .elementor-element-31d15e1a .elementor-icon-box-title{ margin:0 !important; }
.elementor-element-1e4973c9 .elementor-icon-box-title a, .elementor-element-7a9211a4 .elementor-icon-box-title a,
.elementor-element-1dbb1fb5 .elementor-icon-box-title a, .elementor-element-31d15e1a .elementor-icon-box-title a{
  display:inline-block !important;
  background:#2F4F2F !important; color:#F1EADB !important;
  padding:12px 34px !important; border-radius:40px !important;
  font-size:13px !important; letter-spacing:2px !important; text-transform:uppercase !important;
  font-weight:400 !important; text-decoration:none !important; line-height:1.2 !important;
  box-shadow:0 8px 20px rgba(47,79,47,.18) !important;
  transition:transform .3s ease, background .3s ease, box-shadow .3s ease !important;
}
.elementor-element-1e4973c9 .elementor-icon-box-title a::after, .elementor-element-7a9211a4 .elementor-icon-box-title a::after,
.elementor-element-1dbb1fb5 .elementor-icon-box-title a::after, .elementor-element-31d15e1a .elementor-icon-box-title a::after{
  content:"\2192" !important; margin-left:10px !important; display:inline-block !important; transition:transform .3s ease !important; }
.elementor-element-1e4973c9 .elementor-icon-box-title a:hover, .elementor-element-7a9211a4 .elementor-icon-box-title a:hover,
.elementor-element-1dbb1fb5 .elementor-icon-box-title a:hover, .elementor-element-31d15e1a .elementor-icon-box-title a:hover{
  background:#556B2F !important; transform:translateY(-3px) !important; box-shadow:0 14px 30px rgba(47,79,47,.26) !important; }
.elementor-element-1e4973c9 .elementor-icon-box-title a:hover::after, .elementor-element-7a9211a4 .elementor-icon-box-title a:hover::after,
.elementor-element-1dbb1fb5 .elementor-icon-box-title a:hover::after, .elementor-element-31d15e1a .elementor-icon-box-title a:hover::after{ transform:translateX(5px) !important; }

/* ===== Tamaño de venta en las tarjetas del catálogo (argumento de venta) ===== */
.og-tamano{
  display:inline-flex; align-items:center; gap:6px;
  margin:2px auto 8px; padding:4px 12px 4px 10px;
  background:#E8E5DB; color:#2F4F2F;
  border:1px solid rgba(47,79,47,.18); border-radius:30px;
  font-family:inherit; font-size:12.5px; font-weight:600; letter-spacing:.4px;
  line-height:1.2; white-space:nowrap;
}
.og-tamano-ico{
  width:9px; height:13px; flex:0 0 9px; position:relative;
}
.og-tamano-ico:before{
  content:''; position:absolute; left:4px; top:0; bottom:0; width:1px; background:#B89B5E;
}
.og-tamano-ico:after{
  content:''; position:absolute; left:0; right:0; top:0; height:1px; background:#B89B5E;
  box-shadow:0 12px 0 0 #B89B5E;
}
ul.products li.product{ text-align:center; }
ul.products li.product .og-tamano{ display:inline-flex; }
@media (max-width:767px){
  .og-tamano{ font-size:11px; padding:3px 9px 3px 8px; margin-bottom:6px; }
  .og-tamano-ico{ width:8px; height:11px; }
  .og-tamano-ico:after{ box-shadow:0 10px 0 0 #B89B5E; }
}

/* aviso de venta mínima */
.og-minqty{
  margin:6px 0 12px; padding:8px 14px; border-left:3px solid #B89B5E;
  background:#F7F6F2; color:#5C6350; font-size:13.5px; line-height:1.4;
}
.og-minqty-chip{
  display:inline-block; margin:0 0 8px; padding:2px 9px;
  background:#B89B5E; color:#fff; border-radius:30px;
  font-size:10.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase;
}
@media (max-width:767px){ .og-minqty-chip{ font-size:9.5px; padding:2px 7px; } }

/* Descripción y uso, junto a la imagen del producto */
.woocommerce-product-details__short-description .og-desc,
.elementor-widget-woocommerce-product-short-description .og-desc{
  color:#4A5344; font-size:15.5px; line-height:1.65; margin:0 0 14px;
}
.woocommerce-product-details__short-description .og-donde,
.elementor-widget-woocommerce-product-short-description .og-donde{
  margin:0 0 4px; padding:12px 16px; background:#F7F6F2;
  border-left:3px solid #B89B5E; color:#5C6350;
  font-size:14.5px; line-height:1.6;
}
.og-donde span{
  display:block; color:#2F4F2F; font-weight:700;
  font-size:11px; letter-spacing:1.2px; text-transform:uppercase; margin-bottom:4px;
}
@media (max-width:767px){
  .og-desc{ font-size:14.5px !important; }
  .og-donde{ font-size:13.5px !important; padding:10px 13px !important; }
}

/* nota de imagen referencial */
.og-nota-ref{
  margin:10px 0 0; padding:0 2px;
  color:#8A8F82; font-size:11.5px; line-height:1.45; font-style:italic;
  letter-spacing:.2px;
}
@media (max-width:767px){ .og-nota-ref{ font-size:10.5px; } }

/* ===== Cotización para proyectos ===== */
.og-coti{ max-width:1000px; margin:0 auto; }
.og-coti-lead{ font-size:18px; line-height:1.65; color:#333; background:#FAF9F5; border-left:4px solid #B89B5E; padding:18px 22px; border-radius:0 8px 8px 0; }
.og-coti-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:34px 0 44px; }
.og-coti-card{ background:#FAF9F5; border:1px solid #E8E5DB; border-radius:10px; padding:22px 22px 6px; }
.og-coti-card h3{ color:#2F4F2F; text-transform:uppercase; letter-spacing:1px; font-size:13px; font-weight:700; margin:0 0 10px; }
.og-coti-card p{ font-size:15px; line-height:1.6; color:#444; }
.og-coti-form{ background:#fff; border:1px solid #E8E5DB; border-radius:12px; padding:30px; box-shadow:0 6px 22px rgba(0,0,0,.05); }
.og-coti-form h3{ color:#2F4F2F; margin:0 0 22px; font-size:22px; }
.og-coti-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.og-coti label{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:.6px; color:#556B2F; font-weight:600; }
.og-coti-full{ display:block; margin-bottom:16px; }
.og-coti input, .og-coti select, .og-coti textarea{ width:100%; margin-top:6px; padding:11px 14px; border:1px solid #d8d3c4; border-radius:8px; font-size:15px; font-family:inherit; color:#333; background:#fff; text-transform:none; letter-spacing:0; font-weight:400; }
.og-coti input:focus, .og-coti select:focus, .og-coti textarea:focus{ outline:none; border-color:#B89B5E; }
.og-coti #ogc-enviar, .og-coti .og-coti-btn{ display:inline-block; text-decoration:none; text-align:center; background:#2F4F2F; color:#fff; border:0; border-radius:30px; padding:14px 34px; text-transform:uppercase; letter-spacing:1px; font-size:13px; font-weight:600; cursor:pointer; }
.og-coti #ogc-enviar:hover{ background:#556B2F; }
.og-coti-nota{ font-size:12.5px; color:#777; margin-top:14px; font-style:italic; }
@media(max-width:880px){
  .og-coti-grid{ grid-template-columns:1fr; }
  .og-coti-row{ grid-template-columns:1fr; }
}

/* ===== CTA cotizar mayorista ===== */
.og-cta-may{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  background:#2F4F2F; color:#fff; border-radius:12px; padding:26px 32px; margin:38px auto; max-width:1140px; }
.og-cta-may__txt{ display:flex; flex-direction:column; gap:4px; }
.og-cta-may__txt strong{ font-size:19px; letter-spacing:.3px; }
.og-cta-may__txt span{ font-size:14.5px; color:#E8E5DB; }
.og-cta-may__btn{ background:#B89B5E; color:#2F4F2F !important; text-decoration:none; font-weight:700;
  text-transform:uppercase; letter-spacing:1px; font-size:13px; padding:14px 28px; border-radius:30px; white-space:nowrap; }
.og-cta-may__btn:hover{ background:#cdb178; color:#2F4F2F !important; }
.og-cta-may--slim{ background:#FAF9F5; color:#2F4F2F; border:1px solid #E8E5DB; padding:16px 22px; margin:0 auto 26px; }
.og-cta-may--slim .og-cta-may__txt strong{ font-size:16px; color:#2F4F2F; }
.og-cta-may--slim .og-cta-may__txt span{ font-size:13.5px; color:#666; }
.og-cta-may--slim .og-cta-may__btn{ background:#2F4F2F; color:#fff !important; padding:11px 22px; font-size:12px; }
.og-cta-may--slim .og-cta-may__btn:hover{ background:#556B2F; color:#fff !important; }
@media(max-width:760px){
  .og-cta-may{ flex-direction:column; align-items:flex-start; text-align:left; }
  .og-cta-may__btn{ width:100%; text-align:center; }
}
.og-coti-error{ display:none; margin:14px 0 0; padding:11px 16px; background:#FBE9E9; border-left:3px solid #B23A3A; color:#8a2b2b; font-size:14px; border-radius:0 6px 6px 0; }
.og-coti-nota a{ color:#556B2F; }

/* ===== Badge "Agotado" ===== */
.woocommerce ul.products li.product a.woocommerce-loop-product__link{
  position:relative !important; display:block !important;
}
.og-agotado{
  display:inline-block;
  background:#1A1A1A; color:#E8E5DB;
  font-size:11px; font-weight:600; letter-spacing:1.2px; text-transform:uppercase;
  padding:5px 12px; border-radius:20px;
  z-index:5;
}
ul.products li.product .og-agotado{
  position:absolute; top:12px; left:12px;
}
.og-agotado--ficha{
  position:static !important; display:inline-block; margin:6px 0 10px;
}
@media (max-width:767px){
  ul.products li.product .og-agotado{ top:8px; left:8px; font-size:10px; padding:4px 9px; }
}

/* ===== Página Jardín acuático ===== */
.og-acua{ max-width:1000px; margin:0 auto; }
.og-acua-lead{ font-size:18px; line-height:1.65; color:#333; background:#FAF9F5; border-left:4px solid #B89B5E; padding:18px 22px; border-radius:0 8px 8px 0; }
.og-acua-h{ color:#2F4F2F; font-size:24px; margin:44px 0 18px; letter-spacing:.3px; }
.og-acua-p{ font-size:16px; line-height:1.7; color:#444; }
.og-acua-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.og-acua-card{ background:#FAF9F5; border:1px solid #E8E5DB; border-radius:10px; padding:22px 22px 8px; }
.og-acua-card h3{ color:#2F4F2F; text-transform:uppercase; letter-spacing:1px; font-size:13px; font-weight:700; margin:0 0 10px; }
.og-acua-card p{ font-size:15px; line-height:1.6; color:#444; }
.og-acua-pasos{ counter-reset:paso; list-style:none; padding:0; margin:0; }
.og-acua-pasos li{ counter-increment:paso; position:relative; padding:0 0 18px 54px; font-size:15.5px; line-height:1.65; color:#444; }
.og-acua-pasos li::before{ content:counter(paso); position:absolute; left:0; top:-2px; width:34px; height:34px; border-radius:50%; background:#2F4F2F; color:#fff; font-weight:700; font-size:15px; display:flex; align-items:center; justify-content:center; }
.og-acua-pasos li strong{ color:#2F4F2F; }
.og-acua-destacado{ background:#2F4F2F; color:#fff; border-radius:12px; padding:28px 32px; margin:40px 0; }
.og-acua-destacado h3{ color:#B89B5E; margin:0 0 14px; font-size:20px; }
.og-acua-destacado p{ font-size:15.5px; line-height:1.7; color:#EFEDE6; }
.og-acua-destacado ul{ margin:12px 0 0; padding-left:20px; }
.og-acua-destacado li{ font-size:15px; line-height:1.7; color:#EFEDE6; margin-bottom:6px; }
.og-acua-destacado strong{ color:#fff; }
.og-acua-nota-inv{ background:#FAF9F5; border:1px dashed #B89B5E; border-radius:10px; padding:20px 24px; margin:36px 0; }
.og-acua-nota-inv strong{ display:block; color:#2F4F2F; text-transform:uppercase; letter-spacing:1px; font-size:12px; margin-bottom:8px; }
.og-acua-nota-inv p{ font-size:14.5px; line-height:1.65; color:#555; margin:0; }

/* ===== Formulario genérico ===== */
.og-form{ background:#fff; border:1px solid #E8E5DB; border-radius:12px; padding:30px; box-shadow:0 6px 22px rgba(0,0,0,.05); margin-top:36px; }
.og-form h3{ color:#2F4F2F; margin:0 0 22px; font-size:22px; }
.og-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.og-form label{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:.6px; color:#556B2F; font-weight:600; }
.og-form-full{ display:block; margin-bottom:16px; }
.og-form input, .og-form select, .og-form textarea{ width:100%; margin-top:6px; padding:11px 14px; border:1px solid #d8d3c4; border-radius:8px; font-size:15px; font-family:inherit; color:#333; background:#fff; text-transform:none; letter-spacing:0; font-weight:400; }
.og-form input:focus, .og-form select:focus, .og-form textarea:focus{ outline:none; border-color:#B89B5E; }
.og-form-btn{ display:inline-block; text-decoration:none; text-align:center; background:#2F4F2F; color:#fff !important; border:0; border-radius:30px; padding:14px 34px; text-transform:uppercase; letter-spacing:1px; font-size:13px; font-weight:600; cursor:pointer; }
.og-form-btn:hover{ background:#556B2F; color:#fff !important; }
.og-form-error{ display:none; margin:14px 0 0; padding:11px 16px; background:#FBE9E9; border-left:3px solid #B23A3A; color:#8a2b2b; font-size:14px; border-radius:0 6px 6px 0; }
.og-form-nota{ font-size:12.5px; color:#777; margin-top:14px; font-style:italic; }

/* ===== Bloque de portada Jardín acuático ===== */
.og-acua-home{ display:grid; grid-template-columns:1fr 1fr; gap:0; max-width:1140px; margin:0 auto; border-radius:14px; overflow:hidden; background:#FAF9F5; border:1px solid #E8E5DB; }
.og-acua-home img{ width:100%; height:100%; object-fit:cover; display:block; min-height:320px; }
.og-acua-home__txt{ padding:40px 44px; display:flex; flex-direction:column; justify-content:center; }
.og-acua-home__txt span{ color:#B89B5E; text-transform:uppercase; letter-spacing:2px; font-size:12px; font-weight:700; }
.og-acua-home__txt h2{ color:#2F4F2F; font-size:30px; margin:10px 0 14px; line-height:1.2; }
.og-acua-home__txt p{ font-size:16px; line-height:1.7; color:#555; margin:0 0 24px; }
.og-acua-home__txt a{ align-self:flex-start; background:#2F4F2F; color:#fff !important; text-decoration:none; border-radius:30px; padding:14px 30px; text-transform:uppercase; letter-spacing:1px; font-size:13px; font-weight:600; }
.og-acua-home__txt a:hover{ background:#556B2F; }

@media(max-width:880px){
  .og-acua-grid{ grid-template-columns:1fr; }
  .og-form-row{ grid-template-columns:1fr; }
  .og-acua-home{ grid-template-columns:1fr; }
  .og-acua-home__txt{ padding:28px 24px; }
  .og-acua-destacado{ padding:22px 22px; }
}

/* ===== Souvenirs empresariales ===== */
.og-souv{max-width:1000px;margin:0 auto}
.og-souv-lead{font-size:18px;line-height:1.75;color:#5C6350;text-align:center;max-width:800px;margin:0 auto 42px}
.og-souv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:44px}
.og-souv-card{background:#E8E5DB;border-radius:14px;padding:26px 24px;border-top:3px solid #B89B5E}
.og-souv-tag{display:inline-block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#B89B5E;margin-bottom:8px}
.og-souv-card h3{color:#2F4F2F;font-size:21px;margin:0 0 10px;font-weight:400;letter-spacing:.5px}
.og-souv-card p{color:#5C6350;font-size:15px;line-height:1.65;margin:0}
.og-souv-band{background:#2F4F2F;color:#E8E5DB;border-radius:14px;padding:32px 34px;margin-bottom:40px;text-align:center}
.og-souv-band h3{color:#E8E5DB;font-size:23px;margin:0 0 12px;font-weight:400;letter-spacing:.5px}
.og-souv-band p{margin:0;font-size:16px;line-height:1.7;max-width:760px;margin:0 auto;opacity:.92}
.og-souv-cond{margin-bottom:46px}
.og-souv-cond h3{color:#2F4F2F;font-size:24px;margin:0 0 16px;font-weight:400;text-align:center;letter-spacing:.5px}
.og-souv-cond ol{max-width:740px;margin:0 auto 20px;color:#5C6350;font-size:16px;line-height:2}
.og-souv-min{max-width:800px;margin:0 auto;background:#F6F5F0;border-left:3px solid #B89B5E;padding:16px 20px;color:#5C6350;font-size:15px;line-height:1.7;border-radius:0 8px 8px 0}
.og-souv-form{background:#F6F5F0;border:1px solid #DDD9CC;border-radius:16px;padding:32px 30px}
.og-souv-form h3{color:#2F4F2F;font-size:24px;margin:0 0 22px;font-weight:400;text-align:center;letter-spacing:.5px}
.og-souv-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:16px}
.og-souv label,.og-souv-full{display:block;color:#2F3B2A;font-size:14px;font-weight:500;margin-bottom:16px}
.og-souv input,.og-souv select,.og-souv textarea{width:100%;margin-top:6px;padding:11px 13px;border:1px solid #CFCBBD;border-radius:8px;font-size:15px;font-family:inherit;background:#fff;color:#2F3B2A}
.og-souv input:focus,.og-souv select:focus,.og-souv textarea:focus{outline:none;border-color:#2F4F2F}
.og-souv-btn{display:block;width:fit-content;margin:8px auto 0;background:#2F4F2F;color:#E8E5DB!important;padding:15px 40px;border-radius:30px;text-transform:uppercase;letter-spacing:1.2px;font-size:15px;text-decoration:none;transition:.2s}
.og-souv-btn:hover{background:#3d6b3d;transform:translateY(-2px)}
.og-souv-error{display:none;text-align:center;color:#9c3a2f;font-size:14px;margin:12px 0 0}
.og-souv-nota{text-align:center;color:#8A8C7E;font-size:13px;line-height:1.6;margin:16px auto 0;max-width:620px}
@media (max-width:767px){
 .og-souv-grid{grid-template-columns:1fr}
 .og-souv-row{grid-template-columns:1fr;gap:0}
 .og-souv-form{padding:24px 18px}
 .og-souv-lead{font-size:16px;margin-bottom:30px}
}
.og-souv-para{max-width:860px;margin:0 auto 40px;background:#F6F5F0;border:1px solid #E2DED1;border-radius:12px;padding:20px 24px;color:#5C6350;font-size:15.5px;line-height:1.8;text-align:left}
.og-souv-para span{display:inline-block;color:#2F4F2F;font-weight:600;letter-spacing:.4px;margin-right:4px}
.og-souv-para span:not(:first-child){margin-left:10px}
.og-souv-fotos{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:0 auto 44px;max-width:900px}
.og-souv-fotos figure{margin:0}
.og-souv-fotos img{width:100%;border-radius:14px;display:block}
.og-souv-fotos figcaption{text-align:center;color:#2F4F2F;font-size:15px;margin-top:10px;letter-spacing:.4px}
@media (max-width:767px){.og-souv-fotos{grid-template-columns:1fr}}
.og-souv-opts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:-16px auto 44px;max-width:1000px}
.og-souv-opt{background:#fff;border:1px solid #E2DED1;border-left:3px solid #B89B5E;border-radius:10px;padding:20px 18px;transition:.2s}
.og-souv-opt:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(47,79,47,.10)}
.og-souv-optnum{display:block;font-size:12px;letter-spacing:2px;color:#B89B5E;margin-bottom:6px}
.og-souv-opt h4{color:#2F4F2F;font-size:17px;margin:0 0 8px;font-weight:500;letter-spacing:.3px;line-height:1.3}
.og-souv-opt p{color:#5C6350;font-size:14px;line-height:1.6;margin:0}
@media (max-width:900px){.og-souv-opts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.og-souv-opts{grid-template-columns:1fr}}

/* ===== Home · banda Nuestra tienda (430722e5) ===== */
.elementor-element-430722e5{background:linear-gradient(180deg,#F6F5F0 0%,#E8E5DB 100%);padding:64px 0 !important;overflow:hidden}
.elementor-element-45be61a1{align-items:center !important;gap:48px}
/* eyebrow */
.elementor-element-21c629c1 .elementor-heading-title{font-size:13px !important;letter-spacing:3.5px !important;text-transform:uppercase;color:#B89B5E !important;margin-bottom:6px}
/* titular */
.elementor-element-7499c50c .elementor-heading-title{font-size:38px !important;line-height:1.2 !important;color:#2F4F2F !important;letter-spacing:.5px;position:relative;padding-bottom:18px}
.elementor-element-7499c50c .elementor-heading-title:after{content:'';position:absolute;left:0;bottom:0;width:64px;height:2px;background:#B89B5E}
.og-tienda-txt{color:#5C6350;font-size:17px;line-height:1.8;margin:0 0 20px}
/* chips */
.og-tienda-chips{list-style:none;display:flex;flex-wrap:wrap;gap:9px;padding:0;margin:0 0 26px}
.og-tienda-chips li{background:#fff;border:1px solid #DDD9CC;color:#2F4F2F;font-size:13px;letter-spacing:.3px;padding:8px 15px;border-radius:30px;position:relative;padding-left:32px;transition:.2s}
.og-tienda-chips li:before{content:'';position:absolute;left:14px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:#B89B5E}
.og-tienda-chips li:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(47,79,47,.10);border-color:#B89B5E}
/* imagen */
.elementor-element-ogicol02{position:relative}
.elementor-element-ogimg002 img{border-radius:16px;box-shadow:0 22px 50px rgba(47,79,47,.18);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.elementor-element-ogicol02:hover .elementor-element-ogimg002 img{transform:scale(1.03)}
.elementor-element-ogimg002{border-radius:16px;overflow:hidden}
.elementor-element-ogicol02:before{content:'';position:absolute;right:-16px;bottom:-16px;width:150px;height:150px;border:2px solid #B89B5E;border-radius:16px;opacity:.55;z-index:0}
/* boton */
.elementor-element-ogbtn002 .elementor-button{background:#2F4F2F !important;color:#E8E5DB !important;border-radius:30px !important;padding:16px 40px !important;text-transform:uppercase;letter-spacing:1.3px;font-size:14px !important;transition:.25s}
.elementor-element-ogbtn002 .elementor-button:hover{background:#3d6b3d !important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(47,79,47,.22)}
@media (max-width:1024px){.elementor-element-45be61a1{gap:30px}.elementor-element-7499c50c .elementor-heading-title{font-size:30px !important}}
@media (max-width:767px){
 .elementor-element-430722e5{padding:44px 0 !important}
 .elementor-element-7499c50c .elementor-heading-title{font-size:26px !important}
 .og-tienda-txt{font-size:15.5px}
 .og-tienda-chips li{font-size:12px;padding:7px 13px 7px 29px}
 .elementor-element-ogicol02:before{display:none}
}

/* ===== Carrusel "Las favoritas del mes" ===== */
.og-top{max-width:1180px;margin:0 auto;padding:0 18px}
.og-top-head{text-align:center;margin-bottom:26px}
.og-top-eyebrow{display:block;font-size:12px;letter-spacing:3.5px;text-transform:uppercase;color:#B89B5E;margin-bottom:8px}
.og-top-head h2{color:#2F4F2F;font-size:34px;font-weight:400;letter-spacing:.8px;margin:0 0 10px}
.og-top-head p{color:#5C6350;font-size:16px;line-height:1.7;max-width:640px;margin:0 auto}
.og-top-wrap{position:relative}
.og-top-rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 22px;scrollbar-width:none;-ms-overflow-style:none}
.og-top-rail::-webkit-scrollbar{display:none}
.og-top-card{flex:0 0 236px;scroll-snap-align:start;background:#fff;border:1px solid #E6E2D6;border-radius:14px;overflow:hidden;transition:.25s;display:flex;flex-direction:column}
.og-top-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(47,79,47,.13);border-color:#B89B5E}
.og-top-img{display:block;overflow:hidden;background:#F6F5F0}
.og-top-img img{width:100%;height:auto;display:block;aspect-ratio:1/1;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.og-top-card:hover .og-top-img img{transform:scale(1.06)}
.og-top-body{padding:14px 15px 17px;text-align:center;display:flex;flex-direction:column;flex:1}
.og-top-tam{display:inline-block;align-self:center;background:#E8E5DB;color:#2F4F2F;font-size:11.5px;letter-spacing:.3px;padding:4px 12px;border-radius:30px;margin-bottom:8px}
.og-top-body h3{font-size:15px;line-height:1.35;margin:0 0 8px;font-weight:500;letter-spacing:.2px;min-height:40px;display:flex;align-items:center;justify-content:center}
.og-top-body h3 a{color:#2F4F2F;text-decoration:none}
.og-top-price{color:#2F4F2F;font-size:17px;margin-bottom:12px;font-weight:500}
.og-top-price del{opacity:.45;font-size:14px;margin-right:5px}
.og-top-btn{margin-top:auto;display:block;background:#2F4F2F;color:#E8E5DB;padding:10px 0;border-radius:30px;font-size:12.5px;letter-spacing:1.1px;text-transform:uppercase;text-decoration:none;transition:.2s}
.og-top-btn:hover{background:#3d6b3d;color:#fff}
.og-top-nav{position:absolute;top:38%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid #DDD9CC;background:#fff;color:#2F4F2F;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(47,79,47,.13);transition:.2s}
.og-top-nav:hover{background:#2F4F2F;color:#E8E5DB;border-color:#2F4F2F}
.og-top-prev{left:-18px}
.og-top-next{right:-18px}
.og-top-all{display:block;width:fit-content;margin:6px auto 0;color:#2F4F2F;border-bottom:1px solid #B89B5E;padding-bottom:3px;text-decoration:none;font-size:14px;letter-spacing:1.5px;text-transform:uppercase}
.og-top-all:hover{color:#B89B5E}
@media (max-width:900px){.og-top-nav{display:none}.og-top-head h2{font-size:27px}}
@media (max-width:767px){.og-top-card{flex:0 0 172px}.og-top-body h3{font-size:13.5px;min-height:36px}.og-top-price{font-size:15px}.og-top{padding:0 12px}}

/* La banda de la tienda pasa a una sola columna centrada (la foto de tienda se retira: el fuerte es la venta online) */
.elementor-element-ogicol02{display:none !important}
.elementor-element-45be61a1{justify-content:center !important}
.elementor-element-ogtcol02{max-width:820px;text-align:center;align-items:center}
.elementor-element-7499c50c .elementor-heading-title{text-align:center}
.elementor-element-7499c50c .elementor-heading-title:after{left:50%;transform:translateX(-50%)}
.og-tienda-chips{justify-content:center}
.elementor-element-430722e5{padding:58px 0 34px !important}
.elementor-element-ogtopmes{background:linear-gradient(180deg,#E8E5DB 0%,#F6F5F0 100%);padding:10px 0 62px !important}
.og-top-uso{display:block;margin-top:10px;color:#B89B5E;font-size:11.5px;letter-spacing:2.4px;text-transform:uppercase;font-weight:500}
@media (max-width:767px){.og-top-uso{font-size:10.5px;letter-spacing:1.8px}}

/* ===== Home · Áreas de servicio (6c426997) — tarjetas ===== */
.elementor-element-6c426997{padding:64px 20px 70px !important;background:#FFFFFF}
.elementor-element-6885c175 .elementor-heading-title{font-size:34px !important;color:#2F4F2F !important;font-weight:400;letter-spacing:1px;text-align:center;position:relative;padding-bottom:20px;margin-bottom:12px}
.elementor-element-6885c175 .elementor-heading-title:before{content:'Lo que hacemos';display:block;font-size:12px;letter-spacing:3.5px;text-transform:uppercase;color:#B89B5E;margin-bottom:10px}
.elementor-element-6885c175 .elementor-heading-title:after{content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:64px;height:2px;background:#B89B5E}
/* la fila de 4 */
.elementor-element-6c426997 > .e-con-inner{max-width:1220px;margin:0 auto}
.elementor-element-34234e45,.elementor-element-41952ba5,.elementor-element-5db6f531,.elementor-element-77dcb08e{
  background:#fff;border:1px solid #E6E2D6;border-radius:16px;overflow:hidden;padding:0 !important;
  display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s;gap:0 !important}
.elementor-element-34234e45:hover,.elementor-element-41952ba5:hover,.elementor-element-5db6f531:hover,.elementor-element-77dcb08e:hover{
  transform:translateY(-7px);box-shadow:0 18px 40px rgba(47,79,47,.14);border-color:#B89B5E}
/* imagen arriba */
.elementor-element-b67087e,.elementor-element-7c56555,.elementor-element-bb1a30a,.elementor-element-0c98c6c{order:1;margin:0 !important;overflow:hidden}
.elementor-element-b67087e img,.elementor-element-7c56555 img,.elementor-element-bb1a30a img,.elementor-element-0c98c6c img{
  width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:0 !important;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.elementor-element-34234e45:hover img,.elementor-element-41952ba5:hover img,.elementor-element-5db6f531:hover img,.elementor-element-77dcb08e:hover img{transform:scale(1.06)}
/* titulo */
.elementor-element-5ec359a8,.elementor-element-31a667a2,.elementor-element-2d4b4182,.elementor-element-39f81b7d{order:2;padding:22px 22px 0 !important;margin:0 !important}
.elementor-element-5ec359a8 .elementor-heading-title,.elementor-element-31a667a2 .elementor-heading-title,
.elementor-element-2d4b4182 .elementor-heading-title,.elementor-element-39f81b7d .elementor-heading-title{
  font-size:21px !important;line-height:1.25 !important;color:#2F4F2F !important;font-weight:400;letter-spacing:.4px;
  text-align:left !important;padding-bottom:12px;position:relative;margin:0}
.elementor-element-5ec359a8 .elementor-heading-title:after,.elementor-element-31a667a2 .elementor-heading-title:after,
.elementor-element-2d4b4182 .elementor-heading-title:after,.elementor-element-39f81b7d .elementor-heading-title:after{
  content:'';position:absolute;left:0;bottom:0;width:38px;height:2px;background:#B89B5E}
/* icon-box: descripcion + boton */
.elementor-element-1e4973c9,.elementor-element-7a9211a4,.elementor-element-1dbb1fb5,.elementor-element-31d15e1a{
  order:3;padding:14px 22px 24px !important;margin:0 !important;flex:1;display:flex}
.elementor-element-6c426997 .elementor-icon-box-wrapper{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%}
.elementor-element-6c426997 .elementor-icon-box-description{color:#5C6350 !important;font-size:14.5px !important;line-height:1.65 !important;margin:0 0 18px !important;text-align:left}
.elementor-element-6c426997 .elementor-icon-box-title{margin:auto 0 0 !important;width:100%}
.elementor-element-6c426997 .elementor-icon-box-title a{display:inline-block;background:#2F4F2F;color:#E8E5DB !important;padding:11px 26px;border-radius:30px;font-size:12.5px !important;letter-spacing:1.2px;text-transform:uppercase;text-decoration:none;transition:.2s}
.elementor-element-6c426997 .elementor-icon-box-title a:hover{background:#3d6b3d;color:#fff !important;transform:translateX(3px)}
@media (max-width:1024px){.elementor-element-6885c175 .elementor-heading-title{font-size:28px !important}}
@media (max-width:767px){
 .elementor-element-6c426997{padding:44px 16px 48px !important}
 .elementor-element-5ec359a8 .elementor-heading-title,.elementor-element-31a667a2 .elementor-heading-title,
 .elementor-element-2d4b4182 .elementor-heading-title,.elementor-element-39f81b7d .elementor-heading-title{font-size:19px !important}
 .elementor-element-6c426997 .elementor-icon-box-description{font-size:14px !important}
}

/* ===== Áreas de servicio · correcciones de layout ===== */
.elementor-element-6c426997{background:#FFFFFF !important}
.elementor-element-6c426997 > .e-con-inner{
  display:flex !important;flex-wrap:wrap !important;align-items:stretch !important;
  gap:22px !important;max-width:1220px;margin:0 auto}
.elementor-element-6885c175{flex:0 0 100% !important;width:100% !important;margin-bottom:6px !important}
.elementor-element-34234e45,.elementor-element-41952ba5,.elementor-element-5db6f531,.elementor-element-77dcb08e{
  flex:1 1 calc(25% - 17px) !important;min-width:238px;max-width:100%;
  background:#FFFFFF !important;width:auto !important}
/* dentro de la tarjeta: descripción antes que el botón */
.elementor-element-6c426997 .elementor-icon-box-wrapper{display:flex !important;flex-direction:column !important}
.elementor-element-6c426997 .elementor-icon-box-description{order:1 !important;margin:0 0 18px !important}
.elementor-element-6c426997 .elementor-icon-box-title{order:2 !important;margin:auto 0 0 !important}
.elementor-element-6c426997 .elementor-icon-box-icon{display:none !important}
@media (max-width:1024px){
  .elementor-element-34234e45,.elementor-element-41952ba5,.elementor-element-5db6f531,.elementor-element-77dcb08e{flex:1 1 calc(50% - 11px) !important}
}
@media (max-width:600px){
  .elementor-element-34234e45,.elementor-element-41952ba5,.elementor-element-5db6f531,.elementor-element-77dcb08e{flex:1 1 100% !important}
}

/* Áreas de servicio · grilla definitiva (4 columnas parejas) */
.elementor-element-6c426997 > .e-con-inner{
  display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:22px !important;align-items:stretch !important;flex-wrap:nowrap !important}
.elementor-element-6885c175{grid-column:1 / -1 !important;flex:none !important}
.elementor-element-34234e45,.elementor-element-41952ba5,.elementor-element-5db6f531,.elementor-element-77dcb08e{
  flex:none !important;min-width:0 !important;width:auto !important;max-width:none !important}
@media (max-width:1024px){.elementor-element-6c426997 > .e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width:600px){.elementor-element-6c426997 > .e-con-inner{grid-template-columns:minmax(0,1fr) !important}}

/* Áreas de servicio · el contenedor es e-con-full (sin .e-con-inner): la grilla va en él mismo */
.elementor-element-6c426997.e-con{
  display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:22px !important;align-items:stretch !important;justify-items:stretch !important;
  max-width:1220px;margin-left:auto;margin-right:auto}
.elementor-element-6c426997.e-con > .elementor-element-6885c175{grid-column:1 / -1 !important}
@media (max-width:1024px){.elementor-element-6c426997.e-con{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width:600px){.elementor-element-6c426997.e-con{grid-template-columns:minmax(0,1fr) !important}}

/* Áreas de servicio · el orden real vive dentro de .elementor-icon-box-content */
.elementor-element-6c426997 .elementor-icon-box-wrapper{height:100%}
.elementor-element-6c426997 .elementor-icon-box-content{
  display:flex !important;flex-direction:column !important;height:100%;width:100%;text-align:left}
.elementor-element-6c426997 .elementor-icon-box-content .elementor-icon-box-description{order:1 !important;margin:0 0 18px !important}
.elementor-element-6c426997 .elementor-icon-box-content .elementor-icon-box-title{order:2 !important;margin:auto 0 0 !important}

/* ===== Riego e iluminación · dos fotos que se alternan solas (día / noche) ===== */
.elementor-element-0c98c6c{position:relative;overflow:hidden}
.elementor-element-0c98c6c img{animation:ogRiegoDia 12s ease-in-out infinite}
.elementor-element-0c98c6c:after{
  content:'';position:absolute;inset:0;
  background:url('/wp-content/uploads/2026/08/og-srv-ilum-noche.jpg') center/cover no-repeat;
  opacity:0;animation:ogRiegoNoche 12s ease-in-out infinite;pointer-events:none}
@keyframes ogRiegoDia{0%,42%{opacity:1}50%,92%{opacity:0}100%{opacity:1}}
@keyframes ogRiegoNoche{0%,42%{opacity:0}50%,92%{opacity:1}100%{opacity:0}}
/* al pasar el mouse el zoom sigue funcionando en las dos capas */
.elementor-element-77dcb08e:hover .elementor-element-0c98c6c:after{transform:scale(1.06);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.elementor-element-0c98c6c:after{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion: reduce){
  .elementor-element-0c98c6c img,.elementor-element-0c98c6c:after{animation:none}
  .elementor-element-0c98c6c:after{opacity:0}
}

/* ===== Áreas de servicio · el widget e-image renderiza el <img> suelto: hay que apuntarlo por data-id ===== */
img[data-id="b67087e"],img[data-id="7c56555"],img[data-id="bb1a30a"],img[data-id="0c98c6c"]{
  width:100% !important;aspect-ratio:4/3 !important;object-fit:cover !important;display:block !important;
  border-radius:0 !important;transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .8s ease !important}
.elementor-element-34234e45:hover img[data-id="b67087e"],
.elementor-element-41952ba5:hover img[data-id="7c56555"],
.elementor-element-5db6f531:hover img[data-id="bb1a30a"],
.elementor-element-77dcb08e:hover img[data-id="0c98c6c"]{transform:scale(1.06)}

/* Áreas de servicio · las tarjetas traían min-height fijo de Elementor: se anula y se ajustan al contenido */
.elementor-element-34234e45,.elementor-element-41952ba5,.elementor-element-5db6f531,.elementor-element-77dcb08e{
  min-height:0 !important;height:auto !important}
.elementor-element-1e4973c9,.elementor-element-7a9211a4,.elementor-element-1dbb1fb5,.elementor-element-31d15e1a{
  min-height:0 !important;height:auto !important;flex:1 1 auto !important}
.elementor-element-6c426997 .elementor-icon-box-content{min-height:0 !important}

/* ===== Home · Sobre nosotros / Pasión por los detalles (237004a1) ===== */
.elementor-element-237004a1{background:#F6F5F0 !important;padding:66px 20px !important}
.elementor-element-237004a1.e-con{display:grid !important;grid-template-columns:1.15fr .85fr !important;gap:52px !important;align-items:center !important;max-width:1220px;margin-left:auto;margin-right:auto}
.elementor-element-39a8ba00,.elementor-element-141fc6f0{min-height:0 !important;height:auto !important;width:auto !important;padding:0 !important}
/* titular */
.elementor-element-1bfafcd{position:relative;padding-top:30px}
.elementor-element-1bfafcd:before{content:'Quiénes somos';position:absolute;top:0;left:0;font-size:12px;letter-spacing:3.5px;text-transform:uppercase;color:#B89B5E}
.elementor-element-1bfafcd h1,.elementor-element-1bfafcd h2,.elementor-element-1bfafcd h3,.elementor-element-1bfafcd .e-heading-base{
  font-size:36px !important;line-height:1.22 !important;color:#2F4F2F !important;font-weight:400 !important;letter-spacing:.4px !important;
  background:none !important;padding:0 !important;margin:0 0 20px !important;text-transform:none !important}
.og-nos-txt{color:#5C6350;font-size:17px;line-height:1.85;margin:0}
/* columna derecha: credenciales */
.elementor-element-47ae4282 .elementor-icon-box-wrapper{display:block !important;text-align:left !important}
.elementor-element-47ae4282 .elementor-icon-box-icon{display:none !important}
.elementor-element-47ae4282 .elementor-icon-box-title{margin:0 0 18px !important}
.elementor-element-47ae4282 .elementor-icon-box-title a{color:#B89B5E !important;font-size:12px !important;letter-spacing:3.5px !important;text-transform:uppercase;text-decoration:none;border:0 !important;background:none !important;padding:0 !important}
.og-nos-lista{list-style:none;margin:0;padding:0}
.og-nos-lista li{background:#fff;border:1px solid #E6E2D6;border-left:3px solid #B89B5E;border-radius:12px;padding:16px 18px;margin-bottom:12px;transition:.25s}
.og-nos-lista li:hover{transform:translateX(4px);box-shadow:0 10px 24px rgba(47,79,47,.10);border-color:#B89B5E}
.og-nos-lista li strong{display:block;color:#2F4F2F;font-size:16.5px;font-weight:500;letter-spacing:.3px;margin-bottom:4px}
.og-nos-lista li span{display:block;color:#5C6350;font-size:14px;line-height:1.55}
@media (max-width:900px){
 .elementor-element-237004a1.e-con{grid-template-columns:minmax(0,1fr) !important;gap:32px !important}
 .elementor-element-1bfafcd h1,.elementor-element-1bfafcd h2,.elementor-element-1bfafcd h3,.elementor-element-1bfafcd .e-heading-base{font-size:27px !important}
 .elementor-element-237004a1{padding:44px 16px !important}
 .og-nos-txt{font-size:15.5px}
}

/* Sobre nosotros · el e-heading atómico trae su propio fondo verde pálido: se limpia */
[data-id="1bfafcd"].e-heading-base{
  background:transparent !important;background-color:transparent !important;
  font-size:36px !important;line-height:1.22 !important;color:#2F4F2F !important;font-weight:400 !important;
  letter-spacing:.4px !important;padding:0 !important;margin:0 0 20px !important;text-transform:none !important;
  position:relative;display:block}
[data-id="1bfafcd"].e-heading-base:before{
  content:'Quiénes somos';display:block;font-size:12px;letter-spacing:3.5px;text-transform:uppercase;
  color:#B89B5E;margin-bottom:12px;font-weight:500}
.elementor-element-1bfafcd{padding-top:0 !important}
.elementor-element-1bfafcd:before{content:none !important}
@media (max-width:900px){[data-id="1bfafcd"].e-heading-base{font-size:27px !important}}

/* ===== Home · Piedra y materiales (86f8f69) — mosaico oscuro, distinto al resto ===== */
.elementor-element-86f8f69{background:#20301F !important;padding:76px 20px 84px !important}
.elementor-element-20e6dd1 .elementor-heading-title{
  font-size:12px !important;letter-spacing:3.5px !important;text-transform:uppercase;color:#B89B5E !important;
  text-align:center;margin:0 0 10px !important;background:none !important}
.elementor-element-cf75c05 .elementor-heading-title{
  font-size:36px !important;line-height:1.2 !important;color:#F1EFE7 !important;font-weight:400 !important;
  letter-spacing:.6px;text-align:center;margin:0 0 14px !important;position:relative;padding-bottom:20px;background:none !important}
.elementor-element-cf75c05 .elementor-heading-title:after{
  content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:64px;height:2px;background:#B89B5E}
.elementor-element-ff27a82{max-width:720px;margin:0 auto 34px !important}
.elementor-element-ff27a82,.elementor-element-ff27a82 p{color:#BFC7B4 !important;text-align:center;font-size:16.5px;line-height:1.75}

/* el mosaico: columnas tipo masonry, alturas distintas */
.elementor-element-05c548b{
  display:block !important;max-width:1220px;margin:0 auto !important;padding:0 !important;
  column-count:4;column-gap:16px}
.elementor-element-05c548b > .e-con{
  break-inside:avoid;display:block !important;position:relative;overflow:hidden;border-radius:14px;
  margin:0 0 16px !important;padding:0 !important;width:100% !important;min-height:0 !important;height:auto !important;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.elementor-element-05c548b > .e-con:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(0,0,0,.45)}
/* foto */
.elementor-element-05c548b > .e-con .elementor-widget-image{margin:0 !important;padding:0 !important}
.elementor-element-05c548b > .e-con img{
  width:100% !important;height:auto !important;display:block;object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .35s;filter:saturate(.92) brightness(.92)}
.elementor-element-05c548b > .e-con:hover img{transform:scale(1.07);filter:saturate(1) brightness(1)}
/* alturas alternadas para que el mosaico respire */
.elementor-element-05c548b > .e-con:nth-child(3n+1) img{aspect-ratio:4/5}
.elementor-element-05c548b > .e-con:nth-child(3n+2) img{aspect-ratio:1/1}
.elementor-element-05c548b > .e-con:nth-child(3n)   img{aspect-ratio:4/3}
/* velo + título sobre la foto */
.elementor-element-05c548b > .e-con:before{
  content:'';position:absolute;left:0;right:0;bottom:0;height:62%;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(12,20,11,.92) 0%,rgba(12,20,11,.55) 38%,rgba(12,20,11,0) 100%)}
.elementor-element-05c548b > .e-con .elementor-widget-heading{
  position:absolute !important;left:18px;right:18px;bottom:16px;z-index:2;margin:0 !important;padding:0 !important}
.elementor-element-05c548b > .e-con .elementor-heading-title{
  color:#F1EFE7 !important;font-size:18px !important;line-height:1.25 !important;font-weight:400 !important;
  letter-spacing:.5px;text-align:left !important;margin:0 !important;background:none !important;
  transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.elementor-element-05c548b > .e-con:hover .elementor-heading-title{transform:translateY(-6px)}
/* descripción: aparece al pasar el mouse */
.elementor-element-05c548b > .e-con .elementor-widget-text-editor{
  position:absolute !important;left:18px;right:18px;bottom:14px;z-index:2;margin:0 !important;padding:0 !important;
  opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease;pointer-events:none}
.elementor-element-05c548b > .e-con:hover .elementor-widget-text-editor{opacity:1;transform:translateY(0)}
.elementor-element-05c548b > .e-con .elementor-widget-text-editor,
.elementor-element-05c548b > .e-con .elementor-widget-text-editor p{
  color:#CBD3C0 !important;font-size:13.5px !important;line-height:1.55 !important;margin:0 !important;text-align:left}
.elementor-element-05c548b > .e-con:hover .elementor-widget-heading{bottom:52px}
.elementor-element-05c548b > .e-con .elementor-widget-heading{transition:bottom .35s cubic-bezier(.2,.7,.2,1)}
@media (max-width:1024px){.elementor-element-05c548b{column-count:3}.elementor-element-cf75c05 .elementor-heading-title{font-size:28px !important}}
@media (max-width:767px){
  .elementor-element-05c548b{column-count:2;column-gap:10px}
  .elementor-element-05c548b > .e-con{margin-bottom:10px !important}
  .elementor-element-05c548b > .e-con .elementor-heading-title{font-size:14px !important}
  .elementor-element-05c548b > .e-con .elementor-widget-text-editor{display:none !important}
  .elementor-element-05c548b > .e-con:hover .elementor-widget-heading{bottom:16px}
  .elementor-element-86f8f69{padding:48px 14px 54px !important}
}

/* Piedra y materiales · legibilidad del rótulo y aire entre piezas */
.elementor-element-05c548b{column-gap:20px}
.elementor-element-05c548b > .e-con{margin:0 0 20px !important;box-shadow:0 6px 18px rgba(0,0,0,.28)}
.elementor-element-05c548b > .e-con:before{
  height:70%;
  background:linear-gradient(to top,rgba(10,17,10,.96) 0%,rgba(10,17,10,.82) 26%,rgba(10,17,10,.42) 58%,rgba(10,17,10,0) 100%)}
.elementor-element-05c548b > .e-con .elementor-heading-title{
  font-size:19px !important;font-weight:500 !important;letter-spacing:1.4px !important;color:#FFFFFF !important;
  text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.75)}
.elementor-element-05c548b > .e-con .elementor-widget-heading{bottom:18px}
.elementor-element-05c548b > .e-con:hover .elementor-widget-heading{bottom:58px}
.elementor-element-05c548b > .e-con .elementor-widget-text-editor,
.elementor-element-05c548b > .e-con .elementor-widget-text-editor p{
  color:#E2E7DA !important;font-size:14px !important;text-shadow:0 1px 6px rgba(0,0,0,.7)}
/* filete dorado que aparece sobre el nombre al pasar el mouse */
.elementor-element-05c548b > .e-con .elementor-widget-heading:before{
  content:'';position:absolute;left:0;top:-12px;width:0;height:2px;background:#B89B5E;transition:width .4s ease}
.elementor-element-05c548b > .e-con:hover .elementor-widget-heading:before{width:34px}
@media (max-width:767px){.elementor-element-05c548b > .e-con .elementor-heading-title{font-size:13.5px !important;letter-spacing:1px !important}}

/* Piedra y materiales · que el nombre y la descripción nunca se pisen */
.elementor-element-05c548b > .e-con .elementor-widget-text-editor,
.elementor-element-05c548b > .e-con .elementor-widget-text-editor p{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.elementor-element-05c548b > .e-con:hover .elementor-widget-heading{bottom:64px}
.elementor-element-05c548b > .e-con .elementor-widget-text-editor{bottom:16px}

/* Piedra y materiales · el widget de texto es .elementor-widget-text (no -text-editor): ahí estaba el pisado */
.elementor-element-05c548b > .e-con .elementor-widget-text{
  position:absolute !important;left:18px;right:18px;bottom:16px;z-index:2;margin:0 !important;padding:0 !important;
  opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease;pointer-events:none}
.elementor-element-05c548b > .e-con:hover .elementor-widget-text{opacity:1;transform:translateY(0)}
.elementor-element-05c548b > .e-con .elementor-widget-text,
.elementor-element-05c548b > .e-con .elementor-widget-text p{
  color:#E2E7DA !important;font-size:14px !important;line-height:1.5 !important;margin:0 !important;text-align:left;
  text-shadow:0 1px 6px rgba(0,0,0,.75);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* velo más firme abajo para que el nombre siempre se lea sobre piedra clara */
.elementor-element-05c548b > .e-con:before{
  height:78%;
  background:linear-gradient(to top,rgba(8,14,8,.97) 0%,rgba(8,14,8,.9) 22%,rgba(8,14,8,.55) 52%,rgba(8,14,8,0) 100%)}
@media (max-width:767px){.elementor-element-05c548b > .e-con .elementor-widget-text{display:none !important}}

/* Piedra y materiales · degradado invertido: el velo baja desde arriba y el nombre va arriba */
.elementor-element-05c548b > .e-con:before{
  top:0;bottom:auto;height:72%;
  background:linear-gradient(to bottom,rgba(8,14,8,.95) 0%,rgba(8,14,8,.86) 20%,rgba(8,14,8,.5) 52%,rgba(8,14,8,0) 100%)}
.elementor-element-05c548b > .e-con .elementor-widget-heading{
  top:20px;bottom:auto !important;transition:top .35s cubic-bezier(.2,.7,.2,1)}
.elementor-element-05c548b > .e-con:hover .elementor-widget-heading{top:20px;bottom:auto !important}
.elementor-element-05c548b > .e-con .elementor-widget-heading:before{top:auto;bottom:-10px}
.elementor-element-05c548b > .e-con .elementor-widget-text-editor{
  top:56px;bottom:auto !important;transform:translateY(-8px)}
.elementor-element-05c548b > .e-con:hover .elementor-widget-text-editor{transform:translateY(0)}
.elementor-element-05c548b > .e-con:hover .elementor-heading-title{transform:none}

/* Piedra y materiales · 3 columnas, piezas más anchas y con más aire */
.elementor-element-05c548b{max-width:1280px;column-count:3 !important;column-gap:24px !important}
.elementor-element-05c548b > .e-con{margin:0 0 24px !important;border-radius:16px}
.elementor-element-05c548b > .e-con .elementor-widget-heading{left:24px;right:24px;top:24px}
.elementor-element-05c548b > .e-con .elementor-widget-text-editor{left:24px;right:24px;top:62px}
.elementor-element-05c548b > .e-con .elementor-heading-title{font-size:21px !important;letter-spacing:1.6px !important}
.elementor-element-05c548b > .e-con .elementor-widget-text-editor,
.elementor-element-05c548b > .e-con .elementor-widget-text-editor p{font-size:15px !important}
@media (max-width:1024px){.elementor-element-05c548b{column-count:2 !important}}
@media (max-width:640px){
  .elementor-element-05c548b{column-count:1 !important;column-gap:0 !important}
  .elementor-element-05c548b > .e-con{margin-bottom:14px !important}
  .elementor-element-05c548b > .e-con .elementor-heading-title{font-size:17px !important}
}

/* Piedra y materiales · botón para abrir las 4 piezas restantes */
.og-mat-oculta{display:none !important}
.og-mat-btn-wrap{text-align:center;margin-top:6px}
.og-mat-btn{
  background:transparent;border:1px solid rgba(184,155,94,.7);color:#E8E5DB;
  padding:14px 38px;border-radius:30px;font-size:13px;letter-spacing:1.8px;text-transform:uppercase;
  font-family:inherit;cursor:pointer;transition:.25s}
.og-mat-btn:hover{background:#B89B5E;border-color:#B89B5E;color:#20301F;transform:translateY(-2px)}
@media (max-width:640px){.og-mat-btn{padding:12px 28px;font-size:12px;letter-spacing:1.2px}}

/* el display:block!important de las piezas pisaba al ocultador: se sube la especificidad */
.elementor-element-05c548b > .e-con.og-mat-oculta{display:none !important}

/* el botón heredaba el rojo de los botones del tema: se fuerza el estilo de marca */
button.og-mat-btn,
.elementor-element-86f8f69 button.og-mat-btn{
  background:transparent !important;background-color:transparent !important;background-image:none !important;
  border:1px solid rgba(184,155,94,.75) !important;color:#E8E5DB !important;
  padding:14px 38px !important;border-radius:30px !important;font-size:13px !important;
  letter-spacing:1.8px !important;text-transform:uppercase !important;font-weight:400 !important;
  font-family:inherit !important;box-shadow:none !important;text-shadow:none !important;cursor:pointer;transition:.25s}
button.og-mat-btn:hover,
.elementor-element-86f8f69 button.og-mat-btn:hover{
  background:#B89B5E !important;background-color:#B89B5E !important;border-color:#B89B5E !important;
  color:#20301F !important;transform:translateY(-2px)}
button.og-mat-btn:focus{outline:2px solid rgba(184,155,94,.6);outline-offset:3px}
.og-mat-btn-wrap{margin-top:10px !important}

/* ===== Piedra y materiales · TODAS LAS PIEZAS DEL MISMO TAMAÑO (grilla pareja, no masonry) ===== */
.elementor-element-05c548b{
  column-count:unset !important;column-gap:normal !important;
  display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;align-items:stretch !important;max-width:1280px;margin:0 auto !important}
.elementor-element-05c548b > .e-con{
  margin:0 !important;width:auto !important;height:100% !important;break-inside:auto}
/* misma proporción para las 12: cuadrada */
.elementor-element-05c548b > .e-con:nth-child(3n+1) img,
.elementor-element-05c548b > .e-con:nth-child(3n+2) img,
.elementor-element-05c548b > .e-con:nth-child(3n)   img,
.elementor-element-05c548b > .e-con img{aspect-ratio:1/1 !important;height:100% !important;object-fit:cover !important}
.elementor-element-05c548b > .e-con .elementor-widget-image{height:100%}
@media (max-width:1024px){.elementor-element-05c548b{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width:640px){.elementor-element-05c548b{grid-template-columns:minmax(0,1fr) !important;gap:14px !important}}

/* ==================== CARRO LATERAL ==================== */
.elementor-menu-cart__main{width:400px !important;max-width:92vw !important;padding:0 !important;
  background:#FFFFFF !important;box-shadow:-18px 0 50px rgba(20,32,20,.22) !important;display:flex !important;flex-direction:column}
.elementor-menu-cart__close-button{top:16px !important;right:16px !important;color:#2F4F2F !important;opacity:.75}
.elementor-menu-cart__close-button:hover{opacity:1}
.widget_shopping_cart_content{display:flex !important;flex-direction:column;height:100%;padding:0 !important}
/* encabezado */
.elementor-menu-cart__main:before{
  content:'Tu carro';display:block;padding:22px 24px 16px;font-size:13px;letter-spacing:3.2px;
  text-transform:uppercase;color:#B89B5E;border-bottom:1px solid #EDEAE0;flex:none}
/* lista */
.elementor-menu-cart__products{padding:6px 24px !important;overflow-y:auto;flex:1 1 auto}
.elementor-menu-cart__product{
  display:grid !important;grid-template-columns:64px 1fr 26px !important;grid-template-rows:auto auto !important;
  gap:4px 14px !important;align-items:start !important;padding:16px 0 !important;margin:0 !important;
  border-bottom:1px solid #F1EFE8 !important}
.elementor-menu-cart__product:last-child{border-bottom:0 !important}
.elementor-menu-cart__product-image{grid-row:1 / span 2;width:64px !important;margin:0 !important}
.elementor-menu-cart__product-image img{width:64px !important;height:64px !important;object-fit:cover;border-radius:10px;display:block}
.elementor-menu-cart__product-name{
  grid-column:2;grid-row:1;margin:0 !important;padding:0 !important;text-align:left !important}
.elementor-menu-cart__product-name,
.elementor-menu-cart__product-name a{
  color:#2F4F2F !important;font-size:15px !important;line-height:1.3 !important;letter-spacing:.2px !important;
  font-weight:500 !important;text-transform:none !important;text-decoration:none !important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.elementor-menu-cart__product-price{
  grid-column:2;grid-row:2;text-align:left !important;margin:0 !important;
  color:#5C6350 !important;font-size:14px !important;letter-spacing:.2px !important;text-transform:none !important}
.elementor-menu-cart__product-price .quantity{color:#5C6350 !important;font-size:14px !important;letter-spacing:.2px !important}
.elementor-menu-cart__product-price bdi,.elementor-menu-cart__product-price .amount{color:#2F4F2F !important;font-weight:500}
.elementor-menu-cart__product-remove{
  grid-column:3;grid-row:1;position:static !important;width:24px;height:24px;line-height:24px;text-align:center;
  border-radius:50%;color:#A9A79B !important;font-size:15px !important;transition:.2s}
.elementor-menu-cart__product-remove:hover{background:#F3EFE6;color:#9c3a2f !important}
/* pie */
.elementor-menu-cart__footer-buttons{padding:0 24px 22px !important;display:flex !important;gap:10px !important;flex:none}
.elementor-menu-cart__subtotal{
  padding:16px 24px !important;border-top:1px solid #EDEAE0 !important;display:flex;justify-content:space-between;
  align-items:baseline;color:#2F4F2F !important;font-size:15px !important;letter-spacing:.2px !important;
  text-transform:none !important;font-weight:500;flex:none}
.elementor-menu-cart__subtotal .woocommerce-Price-amount{font-size:20px;font-weight:600;color:#2F4F2F !important}
/* botones */
.elementor-menu-cart__footer-buttons .elementor-button{
  flex:1;border-radius:30px !important;padding:14px 10px !important;text-align:center;
  display:flex !important;align-items:center;justify-content:center;transition:.2s}
.elementor-menu-cart__footer-buttons .elementor-button-text{
  font-size:12.5px !important;letter-spacing:1.1px !important;text-transform:uppercase !important;
  white-space:nowrap;display:inline !important;font-weight:500}
.elementor-button--view-cart{background:#EDEAE0 !important}
.elementor-button--view-cart .elementor-button-text{color:#2F4F2F !important}
.elementor-button--view-cart:hover{background:#E2DED1 !important}
.elementor-button--checkout{background:#2F4F2F !important}
.elementor-button--checkout .elementor-button-text{color:#FFFFFF !important}
.elementor-button--checkout:hover{background:#3d6b3d !important;transform:translateY(-1px)}
/* barra de despacho gratis y aviso de mínimo */
.og-cart-meta{padding:0 24px 4px;flex:none}
.og-cart-min{background:#FBF3E7;border:1px solid #EBD9BC;border-radius:10px;padding:11px 14px;margin-bottom:12px}
.og-cart-min__t{display:block;color:#8A6D2F;font-size:13px;font-weight:600;letter-spacing:.2px}
.og-cart-min__s{display:block;color:#9C7F45;font-size:12.5px;margin-top:2px}
.og-cart-min .woocommerce-Price-amount{color:inherit !important;font-size:inherit !important}
.og-cart-envio{margin-bottom:14px}
.og-cart-envio__t{margin:0 0 7px;color:#5C6350;font-size:13px;line-height:1.4;letter-spacing:.1px}
.og-cart-envio__t strong{color:#2F4F2F}
.og-cart-envio .woocommerce-Price-amount{color:#2F4F2F !important;font-size:13px !important;font-weight:600}
.og-cart-envio__barra{height:6px;border-radius:6px;background:#EDEAE0;overflow:hidden}
.og-cart-envio__barra span{display:block;height:100%;border-radius:6px;
  background:linear-gradient(90deg,#B89B5E 0%,#2F4F2F 100%);transition:width .5s ease}
.og-cart-envio--ok .og-cart-envio__t{color:#2F4F2F;font-weight:500}
.og-cart-envio--ok .og-cart-envio__barra span{background:#2F4F2F}
/* carro vacío */
.elementor-menu-cart__empty-message{padding:40px 24px !important;color:#8A8C7E !important;font-size:15px !important;
  letter-spacing:.2px !important;text-transform:none !important;text-align:center}
@media (max-width:767px){
  .elementor-menu-cart__main{width:100% !important;max-width:100% !important}
  .elementor-menu-cart__products,.elementor-menu-cart__footer-buttons,.og-cart-meta{padding-left:16px !important;padding-right:16px !important}
  .elementor-menu-cart__subtotal{padding-left:16px !important;padding-right:16px !important}
}

/* el bloque va dentro de la lista: se saca del scroll y se pega abajo */
.elementor-menu-cart__products .og-cart-meta{padding:14px 0 2px}
.elementor-menu-cart__products .og-cart-meta .og-cart-min{margin-bottom:10px}
/* la equis de quitar producto no trae glifo: se dibuja */
.elementor-menu-cart__product-remove{font-size:0 !important}
.elementor-menu-cart__product-remove:before{content:'\00d7';font-size:19px;line-height:24px;display:block;font-family:inherit}

/* ===== CARRO: correcciones finales ===== */
/* 1. Elementor dibuja una equis con dos barras rotadas de 166px en los pseudo del
      contenedor .product-remove: eran las aspas gigantes sobre los nombres. */
.elementor-menu-cart__product-remove:before,
.elementor-menu-cart__product-remove:after{content:none !important;display:none !important}
/* el contenedor pasa a ser el marco de referencia para los <a> absolutos */
.elementor-menu-cart__product-remove{position:relative !important;width:26px !important;height:26px !important;
  padding:0 !important;margin:0 !important;font-size:0 !important;overflow:hidden}
.elementor-menu-cart__product-remove a{position:absolute !important;inset:0 !important;
  width:26px !important;height:26px !important;opacity:1 !important;
  display:flex !important;align-items:center;justify-content:center;
  border-radius:50%;color:#B4B2A6 !important;font-size:0 !important;
  text-decoration:none !important;transition:.2s}
.elementor-menu-cart__product-remove a.elementor_remove_from_cart_button{display:none !important}
.elementor-menu-cart__product-remove a:before{content:'\00d7' !important;display:block !important;
  font-family:Arial,Helvetica,sans-serif !important;font-size:21px !important;line-height:1 !important;
  font-weight:400 !important;color:inherit !important;transform:none !important;
  width:auto !important;height:auto !important;position:static !important;background:none !important}
.elementor-menu-cart__product-remove a:after{content:none !important;display:none !important}
.elementor-menu-cart__product-remove a:hover{background:#F5EFE3;color:#9C3A2F !important}

/* 2. El widget traía el texto de los botones oculto */
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button span.elementor-button-text{
  display:inline-block !important;visibility:visible !important;font-size:12.5px !important;
  letter-spacing:1.1px !important;text-transform:uppercase !important;font-weight:500 !important;
  white-space:nowrap;line-height:1.2 !important}
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button{
  min-height:46px !important;padding:12px 10px !important;font-size:12.5px !important}

/* 3. Con la barra de admin el encabezado quedaba cortado */
.admin-bar .elementor-menu-cart__container{top:32px !important;height:calc(100% - 32px) !important}
@media (max-width:782px){.admin-bar .elementor-menu-cart__container{top:46px !important;height:calc(100% - 46px) !important}}
.elementor-menu-cart__main{height:100% !important}
.elementor-menu-cart__main:before{padding-top:26px !important}

/* ===== CARRO: ajustes finos ===== */
/* el boton de cerrar era un item mas del flex y caia sobre el primer producto */
/* ojo: no se toca position del main, Elementor lo usa para anclarlo a la derecha */
.elementor-menu-cart__close-button{position:absolute !important;top:20px !important;right:20px !important;
  width:22px !important;height:22px !important;margin:0 !important;z-index:5}
.elementor-menu-cart__main:before{padding-right:56px !important}
/* el boton flotante de WhatsApp tapaba Finalizar compra */
body.og-carro-abierto #ht-ctc-chat{opacity:0 !important;pointer-events:none !important;transition:opacity .2s}

/* ===== CARRO: selector de cantidad ===== */
.elementor-menu-cart__product-price{display:flex !important;align-items:center;gap:10px;flex-wrap:wrap}
.og-qty{display:inline-flex;align-items:center;gap:2px;border:1px solid #E4E0D4;border-radius:20px;
  background:#FBFAF6;padding:2px;line-height:1;flex:none}
.og-qty__b{width:22px;height:22px;border:0 !important;background:transparent !important;padding:0 !important;
  margin:0 !important;border-radius:50%;color:#5C6350 !important;font-size:15px !important;line-height:1 !important;
  font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:none !important;transition:.15s;min-height:0 !important}
.og-qty__b:hover{background:#EDEAE0 !important;color:#2F4F2F !important}
.og-qty__n{min-width:20px;text-align:center;font-size:13px;color:#2F4F2F;font-weight:600;letter-spacing:0}
.og-qty--cargando{opacity:.45;pointer-events:none}
.elementor-menu-cart__product-price .quantity{font-size:13.5px !important}

/* ===== FOOTER: el menu "Explora" no debe colapsar en movil =====
   En el footer el menu ya se ve como columna vertical en escritorio (no es un menu horizontal),
   asi que no tiene sentido que en movil se esconda detras de un boton hamburguesa. Ademas ese
   boton no abre nada (el toggle de Elementor no esta enganchado para esta instancia del widget). */
@media (max-width:1024px){
  .elementor-element-b1000004 .elementor-menu-toggle{display:none !important}
  .elementor-element-b1000004 .elementor-nav-menu--dropdown{display:none !important}
  .elementor-element-b1000004 .elementor-nav-menu--main.elementor-nav-menu__container{
    display:flex !important;flex-direction:column !important;position:static !important;
    align-items:flex-start !important;gap:10px !important}
}

/* ===== Piedra y materiales EN CELULAR: la descripcion breve aparece sola, 2s despues =====
   En escritorio aparece al pasar el mouse; en celular no hay hover. En vez de dejarla fija,
   el JS de og-shop-tools.php agrega la clase og-desc-show 2s despues de que la tarjeta entra
   en pantalla (IntersectionObserver), y aca solo se anima la transicion. */
@media (max-width:767px){
  .elementor-element-05c548b > .e-con .elementor-widget-text-editor,
  .elementor-element-05c548b > .e-con .elementor-widget-text{
    display:-webkit-box !important;pointer-events:none;top:40px;bottom:auto !important;
    left:12px;right:12px;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
    opacity:0;transform:translateY(6px);transition:opacity .6s ease,transform .6s ease}
  .elementor-element-05c548b > .e-con.og-desc-show .elementor-widget-text-editor,
  .elementor-element-05c548b > .e-con.og-desc-show .elementor-widget-text{
    opacity:1 !important;transform:none !important}
  .elementor-element-05c548b > .e-con .elementor-widget-text-editor p,
  .elementor-element-05c548b > .e-con .elementor-widget-text p{
    font-size:11.5px !important;line-height:1.45 !important}
  .elementor-element-05c548b > .e-con .elementor-widget-heading{top:12px}
  /* el filete dorado bajo el titulo es una animacion de :hover (pensada para mouse).
     en el telefono no existe el hover, pero el navegador a veces lo deja "pegado" tras
     un toque -> se fuerza siempre apagado para que nunca aparezca ni pise el texto. */
  .elementor-element-05c548b > .e-con .elementor-widget-heading:before,
  .elementor-element-05c548b > .e-con:hover .elementor-widget-heading:before{
    width:0 !important}
  /* velo un poco mas profundo para que el texto se lea sobre fotos claras */
  .elementor-element-05c548b > .e-con:before{
    height:82%;
    background:linear-gradient(to bottom,rgba(8,14,8,.96) 0%,rgba(8,14,8,.88) 30%,rgba(8,14,8,.5) 60%,rgba(8,14,8,0) 100%)}
}
