/*
Theme Name: Ornata (Blocksy)
Theme URI: https://ornatadecor.com
Description: Child theme de Blocksy para Ornata — decoración y objetos con mirada artística. Minimalismo cálido, tipografías autohospedadas, producto 1:1 y compra accesible. Requiere Blocksy y WooCommerce; Blocksy Companion es opcional.
Author: Ornata
Author URI: https://ornatadecor.com
Template: blocksy
Version: 2.0.0
Requires at least: 6.7
Requires PHP: 7.4
Tested up to: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ornata
*/

/* ============================================================
   ORNATA sobre BLOCKSY · el theme padre se gobierna por
   variables CSS, así que la identidad se inyecta aquí.
   Paleta "Ornamento Abstracto": lino + tinta, terracota solo CTA.
   ============================================================ */
:root:root{
  /* — tokens propios de Ornata — */
  --on-paper:#F4EFE6; --on-cream:#EAE3D3; --on-surface:#FFFFFF;
  --on-ink:#2B2A26;   --on-muted:#6E655A; --on-line:#E4DBCB;
  --on-olive:#6E7357; --on-olive-dark:#565A41;
  --on-terra:#B84826; --on-terra-dark:#93391E; --on-sand:#CBB79A;
  --on-radius-sm:10px; --on-radius-pill:999px;
  --on-ease:cubic-bezier(.25,.46,.45,.94); --on-dur:.22s; --on-track:.09em;

  /* — paleta Blocksy (Customizer → Colors usa estas 8) — */
  --theme-palette-color-1:var(--on-terra);      /* acento / botones */
  --theme-palette-color-2:var(--on-terra-dark); /* acento hover */
  --theme-palette-color-3:var(--on-ink);        /* texto */
  --theme-palette-color-4:var(--on-ink);        /* titulares */
  --theme-palette-color-5:var(--on-line);       /* bordes */
  --theme-palette-color-6:var(--on-cream);      /* superficie sutil */
  --theme-palette-color-7:var(--on-paper);      /* fondo */
  --theme-palette-color-8:var(--on-surface);

  /* — texto y enlaces: contención cromática (terracota solo CTA) — */
  --theme-text-color:var(--on-ink);
  --theme-headings-color:var(--on-ink);
  --theme-link-initial-color:var(--on-ink);
  --theme-link-hover-color:var(--on-terra-dark);
  --theme-link-active-color:var(--on-terra-dark);
  --theme-border-color:var(--on-line);

  /* — tipografía — */
  --theme-font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* — botones: píldora terracota, táctiles, sin brillo — */
  --theme-button-border-radius:var(--on-radius-pill);
  --theme-button-min-height:48px;
  --theme-button-font-weight:600;
  --theme-button-letter-spacing:.02em;
  --theme-button-background-initial-color:var(--on-terra);
  --theme-button-background-hover-color:var(--on-terra-dark);
  --theme-button-text-initial-color:#ffffff;
  --theme-button-text-hover-color:#ffffff;
  --theme-button-shadow:none;

  /* — contenedor editorial — */
  /* v1.4.1: el aire lateral de Blocksy vive DENTRO de la base (edge-spacing,
     90vw por defecto). Un px fijo aqui lo elimina en pantallas < base:
     min(100%,1200px)=100% => contenido a sangre. Formula completa con tope. */
  --theme-container-width-base:min(calc(var(--theme-container-edge-spacing, 90vw) - var(--theme-frame-size, 0px)*2), 1200px);
  --theme-border-radius:var(--on-radius-sm);
}

body{ background-color:var(--on-paper); }

/* ============================================================
   Tipografía editorial · Fraunces en titulares
   ============================================================ */
h1,h2,h3,h4,h5,h6,
.site-title,.entry-title,.product_title,
.woocommerce-loop-product__title{
  font-family:"Fraunces", Georgia, "Times New Roman", serif;
  font-weight:600; line-height:1.18; letter-spacing:-.01em;
}
h1,.entry-title{ font-size:clamp(2.1rem, 4.5vw, 3.2rem); }
h2{ font-size:clamp(1.7rem, 3.2vw, 2.4rem); }
.entry-content h2.wp-block-heading{
  font-size:clamp(1.9rem, 3.6vw, 2.75rem);
  letter-spacing:-.015em; margin-bottom:.6em;
}

/* Eyebrow: añade la clase "ornata-eyebrow" a un párrafo en el editor */
.ornata-eyebrow, .entry-content p.ornata-eyebrow{
  font-family:"Inter",sans-serif; font-size:.78rem; font-weight:600;
  letter-spacing:var(--on-track); text-transform:uppercase;
  color:var(--on-muted); margin-bottom:.9em;
}

/* Aire entre secciones de la home / páginas de bloques */
.home .entry-content > .wp-block-group,
.page .entry-content > .wp-block-group{
  padding-top:clamp(56px, 7vw, 112px);
  padding-bottom:clamp(56px, 7vw, 112px);
  margin-top:0; margin-bottom:0;
}

/* ============================================================
   Tarjetas de producto (config base en Customizer: Card Type 2
   = minimal; el swap de imagen se activa allí — ver
   readme.txt). Aquí, el acabado.
   ============================================================ */
ul.products .product .woocommerce-loop-product__title{
  font-family:"Inter",sans-serif; font-size:1rem; font-weight:500;
  color:var(--on-ink);
}
ul.products .product .price{
  color:var(--on-ink); font-weight:400; font-size:.95rem;
}
ul.products .product .price del{ color:var(--on-muted); font-weight:400; }
ul.products .product .star-rating{ color:var(--on-ink); }
ul.products .product .ct-media-container{
  border-radius:var(--on-radius-sm);
}

/* Badge de oferta: sobrio, oliva, mayúsculas con tracking */
.ct-woo-badge-sale, span.onsale{
  background-color:var(--on-olive) !important; color:#fff !important;
  border-radius:999px; padding:6px 12px;
  font-weight:600; font-size:.7rem;
  letter-spacing:var(--on-track); text-transform:uppercase;
}

/* ============================================================
   Ficha de producto
   ============================================================ */
.single-product .product_title{ font-size:clamp(1.7rem, 3vw, 2.3rem); }
.single-product .price{ font-weight:500; font-size:1.35rem; color:var(--on-ink); }
.single-product .woocommerce-product-gallery__image{
  border-radius:16px; overflow:hidden;
}
.single-product .product_meta{ color:var(--on-muted); font-size:.9rem; }

/* Móvil: CTA de compra fijo abajo (lino translúcido con blur) */
@media (max-width:768px){
  .single-product .product .entry-summary form.cart{
    position:sticky; bottom:10px; z-index:90;
    background:rgba(244,239,230,.94);
    -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
    padding:12px; border:1px solid var(--on-line); border-radius:16px;
    box-shadow:0 -6px 24px rgba(43,42,38,.10);
  }
}

/* ============================================================
   Carrito y checkout (los bloques de confianza y descuento
   vienen de functions.php)
   ============================================================ */
.ornata-cart-confidence{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1px;
  margin:0 auto 18px; border:1px solid var(--on-line); border-radius:14px;
  overflow:hidden; background:var(--on-line);
}
.ornata-cart-confidence > div{
  background:linear-gradient(180deg, #fff 0%, #FBF9F4 100%);
  padding:16px 18px;
}
.ornata-cart-confidence strong{ display:block; margin-bottom:4px; font-size:.95rem; }
.ornata-cart-confidence span{ display:block; color:var(--on-muted); font-size:.86rem; line-height:1.35; }
@media (max-width:768px){ .ornata-cart-confidence{ grid-template-columns:1fr; } }

.ornata-cart-discount-summary th small{
  display:block; margin-top:3px; color:var(--on-muted);
  font-size:.78rem; font-weight:500;
}
.ornata-cart-discount-summary td{ color:var(--on-olive-dark); font-weight:700; }

/* Migas discretas */
.ct-breadcrumbs{ color:var(--on-muted); font-size:.8rem; }

/* Botón secundario / outline en tinta (la terracota es del CTA) */
.wp-block-button.is-style-outline > .wp-block-button__link{
  border:1.5px solid var(--on-ink) !important; color:var(--on-ink) !important;
  border-radius:var(--on-radius-pill) !important; background:transparent !important;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover{
  background:var(--on-ink) !important; color:var(--on-paper) !important;
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link{
  border-radius:var(--on-radius-pill) !important;
}

@media (prefers-reduced-motion:reduce){
  *{ transition-duration:.01ms !important; }
}

/* ============================================================
   Componentes autónomos de compra sobre Blocksy:
   bolsa lateral, popup post-add y rollover precio→bolsa.
   ============================================================ */
/* ============================================================
   v1.2.0 · Icono bolsa (carrito) · hover precio→bolsa · centrado
   ============================================================ */

/* Nombre y precio centrados en las tarjetas de producto */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{ text-align:center; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ text-align:center; }
.woocommerce ul.products li.product .price{ text-align:center; display:block; }
.woocommerce ul.products li.product .star-rating{ margin-left:auto; margin-right:auto; }

/* Botón "Añadir al carrito" del listado → botón circular con icono bolsa */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_variable,
.woocommerce ul.products li.product .button.product_type_grouped{
  font-size:0 !important;
  line-height:0 !important;
  width:46px; height:46px; min-height:46px;
  padding:0 !important;
  border-radius:50% !important;
  display:inline-flex; align-items:center; justify-content:center;
  margin:12px 5px 0 !important;
  vertical-align:top;
}
.woocommerce ul.products li.product .button.add_to_cart_button::before,
.woocommerce ul.products li.product .button.product_type_variable::before,
.woocommerce ul.products li.product .button.product_type_grouped::before{
  content:"";
  width:22px; height:22px;
  background-color:#ffffff;
  -webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNiAyIDMgNnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJWNmwtMy00eiIvPjxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNMTYgMTBhNCA0IDAgMCAxLTggMCIvPjwvc3ZnPgo=") center / contain no-repeat;
  mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNiAyIDMgNnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJWNmwtMy00eiIvPjxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNMTYgMTBhNCA0IDAgMCAxLTggMCIvPjwvc3ZnPgo=") center / contain no-repeat;
}

/* Swap precio → bolsa en equipos con hover real (escritorio) */
@media (hover:hover){
  .woocommerce ul.products li.product .button.add_to_cart_button,
  .woocommerce ul.products li.product .button.product_type_variable,
  .woocommerce ul.products li.product .button.product_type_grouped{ display:none; }
  .woocommerce ul.products li.product:hover .price{ display:none; }
  .woocommerce ul.products li.product:hover .button.add_to_cart_button,
  .woocommerce ul.products li.product:hover .button.product_type_variable,
  .woocommerce ul.products li.product:hover .button.product_type_grouped{ display:inline-flex; }
}
/* En móvil/táctil (sin hover) la bolsa se ve siempre, junto al precio */
@media (hover:none){
  .woocommerce ul.products li.product .button.add_to_cart_button,
  .woocommerce ul.products li.product .button.product_type_variable,
  .woocommerce ul.products li.product .button.product_type_grouped{ display:inline-flex; }
}

.woocommerce ul.products li.product .added_to_cart.wc-forward,
.woocommerce-page ul.products li.product .added_to_cart.wc-forward{
  font-size:0 !important;
  line-height:0 !important;
  width:46px;
  height:46px;
  min-height:46px;
  padding:0 !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  margin:12px 5px 0 !important;
  vertical-align:top;
  background-color:var(--on-olive) !important;
  box-shadow:none;
}
.woocommerce ul.products li.product .added_to_cart.wc-forward::before,
.woocommerce-page ul.products li.product .added_to_cart.wc-forward::before{
  content:"";
  width:20px;
  height:20px;
  background-color:#ffffff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m9.2 16.6-4.25-4.25 1.4-1.4 2.85 2.85 8.45-8.45 1.4 1.4L9.2 16.6Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m9.2 16.6-4.25-4.25 1.4-1.4 2.85 2.85 8.45-8.45 1.4 1.4L9.2 16.6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce ul.products li.product .added_to_cart.wc-forward:hover,
.woocommerce-page ul.products li.product .added_to_cart.wc-forward:hover{
  background-color:var(--on-olive-dark) !important;
  box-shadow:0 6px 18px rgba(86,90,65,.22);
}

/* Icono de carrito del menú/cabecera y barra móvil → bolsa moderna */
.site-header-cart .cart-contents::before{
  content:"" !important;
  display:inline-block;
  width:21px; height:21px;
  margin:0;
  vertical-align:middle;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 7V6a5 5 0 0 1 10 0v1h2.2c.45 0 .82.34.87.78l1.06 12.24A2.75 2.75 0 0 1 18.39 23H5.61a2.75 2.75 0 0 1-2.74-2.98L3.93 7.78A.88.88 0 0 1 4.8 7H7Zm2 0h6V6a3 3 0 0 0-6 0v1Zm-3.4 2-.95 11.19a.75.75 0 0 0 .75.81h13.2a.75.75 0 0 0 .75-.81L18.4 9H17v2a1 1 0 1 1-2 0V9H9v2a1 1 0 1 1-2 0V9H5.6Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 7V6a5 5 0 0 1 10 0v1h2.2c.45 0 .82.34.87.78l1.06 12.24A2.75 2.75 0 0 1 18.39 23H5.61a2.75 2.75 0 0 1-2.74-2.98L3.93 7.78A.88.88 0 0 1 4.8 7H7Zm2 0h6V6a3 3 0 0 0-6 0v1Zm-3.4 2-.95 11.19a.75.75 0 0 0 .75.81h13.2a.75.75 0 0 0 .75-.81L18.4 9H17v2a1 1 0 1 1-2 0V9H9v2a1 1 0 1 1-2 0V9H5.6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* la bolsa/CTA se ancla abajo → posición consistente */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_variable,
.woocommerce ul.products li.product .button.product_type_grouped{ margin:auto auto 0 !important; }

/* ============================================================
   v1.4.0 · Bolsa lateral, toast y espaciados de compra
   ============================================================ */
body.ornata-cart-open{
  overflow:hidden;
}
.ornata-cart-overlay{
  position:fixed;
  inset:0;
  z-index:9998;
  background:rgba(43,42,38,.32);
  opacity:0;
  transition:opacity .18s ease;
}
.ornata-cart-overlay[hidden]{
  display:none;
}
body.ornata-cart-open .ornata-cart-overlay{
  opacity:1;
}
.ornata-cart-drawer{
  position:fixed;
  top:0;
  right:0;
  z-index:9999;
  width:min(420px, 92vw);
  height:100vh;
  background:var(--on-surface);
  color:var(--on-ink);
  box-shadow:-18px 0 42px rgba(43,42,38,.16);
  transform:translateX(102%);
  transition:transform .22s ease;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.ornata-cart-open .ornata-cart-drawer{
  transform:translateX(0);
}
.ornata-cart-drawer__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px;
  border-bottom:1px solid var(--on-line);
}
.ornata-cart-drawer__header h2{
  margin:0;
  font-size:1.45rem;
}
.ornata-cart-drawer__close{
  position:relative;
  width:40px;
  height:40px;
  min-height:40px;
  padding:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  color:var(--on-ink) !important;
  box-shadow:none !important;
}
.ornata-cart-drawer__close::before,
.ornata-cart-drawer__close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:2px;
  background:currentColor;
  transform:translate(-50%, -50%) rotate(45deg);
}
.ornata-cart-drawer__close::after{
  transform:translate(-50%, -50%) rotate(-45deg);
}
.ornata-cart-drawer .widget_shopping_cart_content{
  flex:1;
  overflow:auto;
  padding:20px 24px 24px;
}
.ornata-cart-drawer .woocommerce-mini-cart{
  margin:0;
}
.ornata-cart-drawer .woocommerce-mini-cart-item{
  position:relative;
  display:block;
  min-height:96px;
  padding:14px 0 14px 30px;
  border-bottom:1px solid var(--on-line);
}
.ornata-cart-drawer .woocommerce-mini-cart-item .remove{
  position:absolute;
  left:0;
  top:22px;
  width:22px;
  height:22px;
  line-height:20px;
  text-align:center;
  border-radius:50%;
  color:var(--on-muted) !important;
  background:transparent;
}
.ornata-cart-drawer .woocommerce-mini-cart-item > a:not(.remove){
  display:grid;
  grid-template-columns:68px minmax(0, 1fr);
  gap:14px;
  align-items:start;
  color:var(--on-ink);
  font-weight:500;
  text-decoration:none;
}
.ornata-cart-drawer .woocommerce-mini-cart-item img{
  width:68px;
  height:68px;
  object-fit:cover;
  border-radius:10px;
  margin:0;
}
.ornata-cart-drawer .woocommerce-mini-cart-item .quantity{
  display:block;
  margin:6px 0 0 82px;
  color:var(--on-muted);
  font-size:.95rem;
}
.ornata-cart-drawer .woocommerce-mini-cart__total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:20px 0 14px;
  padding-top:16px;
  border-top:1px solid var(--on-line);
}
.ornata-cart-drawer .woocommerce-mini-cart__buttons{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:0;
}
.ornata-cart-drawer .woocommerce-mini-cart__buttons .button{
  width:100%;
  text-align:center;
}
.ornata-cart-drawer .woocommerce-mini-cart__empty-message{
  margin:18px 0 0;
  color:var(--on-muted);
}
.ornata-cart-toast{
  position:fixed;
  left:50%;
  bottom:24px;
  z-index:10000;
  max-width:calc(100vw - 32px);
  padding:12px 18px;
  border-radius:999px;
  background:var(--on-ink);
  color:#ffffff;
  font-weight:600;
  box-shadow:0 10px 30px rgba(43,42,38,.22);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%, 14px);
  transition:opacity .16s ease, transform .16s ease;
}
.ornata-cart-toast.is-visible{
  opacity:1;
  transform:translate(-50%, 0);
}

.woocommerce-cart table.cart td.actions .coupon{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.woocommerce-cart table.cart td.actions .coupon .input-text{
  min-height:48px;
  min-width:220px;
  margin:0;
}
.woocommerce-cart table.cart td.actions .button,
.woocommerce-cart .wc-proceed-to-checkout .button{
  margin-top:0;
}
@media (max-width:768px){
  .ornata-cart-drawer{
    width:min(360px, 94vw);
  }
  .ornata-cart-drawer__header,
  .ornata-cart-drawer .widget_shopping_cart_content{
    padding-left:18px;
    padding-right:18px;
  }
  .woocommerce-cart table.cart td.actions .coupon{
    display:grid;
    grid-template-columns:1fr;
  }
  .woocommerce-cart table.cart td.actions .coupon .input-text,
  .woocommerce-cart table.cart td.actions .coupon .button{
    width:100%;
  }
}

/* ---- Bolsa lateral: corregir recorte por la barra de admin de WP ---- */
.admin-bar .ornata-cart-drawer{ top:32px; height:calc(100vh - 32px); }
@media screen and (max-width:782px){
  .admin-bar .ornata-cart-drawer{ top:46px; height:calc(100vh - 46px); }
}



/* En /carrito/ el aviso "producto añadido · Ver carrito" sobra (ya estás en el carrito) */
.woocommerce-cart .woocommerce-message:has(a.wc-forward),
.woocommerce-cart .woocommerce-message:has(.button.wc-forward),
.woocommerce-checkout .woocommerce-message:has(a.wc-forward),
.woocommerce-checkout .woocommerce-message:has(.button.wc-forward){ display:none !important; }
/* Botón secundario "Ver carrito" del popup */
.ornata-add-popup__cart{
  display:inline-block; width:100%; text-align:center;
  padding:11px 18px; border-radius:10px; font-weight:600; text-decoration:none;
  background:transparent !important; color:var(--on-olive-dark) !important;
  border:1px solid var(--on-olive) !important;
}
.ornata-add-popup__cart:hover{ background:var(--on-cream) !important; color:var(--on-olive-dark) !important; }

/* ============================================================
   v1.2.0 · Iconos [cuenta][bolsa] inyectados en el header de
   Blocksy + modal de acceso portado + anchos Elementor
   ============================================================ */
/* ============================================================
   v1.10.0 · Icono de cuenta + modal de acceso/registro
   ============================================================ */
.ornata-account{ display:flex; align-items:center; }
.ornata-account__btn{
  display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; min-width:32px; padding:0;
  color:var(--on-ink); background:none; border:0; cursor:pointer; line-height:0;
}
.ornata-account__btn:hover{ color:var(--on-terra); }
.ornata-account__btn svg{ display:block; }

.ornata-auth-overlay{
  position:fixed; inset:0; background:rgba(43,42,38,.45);
  z-index:99998; opacity:0; transition:opacity .18s ease;
}
body.ornata-auth-open .ornata-auth-overlay{ opacity:1; }
.ornata-auth-modal{
  position:fixed; top:50%; left:50%; transform:translate(-50%,-46%);
  width:min(420px,92vw); max-height:88vh; overflow:auto;
  background:var(--on-surface); color:var(--on-ink);
  border:1px solid var(--on-line); border-radius:16px;
  padding:30px 26px 26px; z-index:99999;
  box-shadow:0 24px 60px rgba(43,42,38,.28);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
}
body.ornata-auth-open .ornata-auth-modal{
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translate(-50%,-50%);
}
.ornata-auth-modal__title{ font-family:"Fraunces",Georgia,serif; font-size:1.35rem; margin:0 0 14px; }
/* El CSS base pinta TODO <button> en terracota con min-height:48px; hay que
   neutralizarlo aquí con !important para que la X sea limpia (2 líneas). */
.ornata-auth-modal__close{
  position:absolute !important; top:12px; right:12px;
  width:36px !important; height:36px !important; min-height:0 !important;
  background:none !important; border:0 !important; box-shadow:none !important;
  border-radius:0 !important; padding:0 !important; margin:0 !important;
  cursor:pointer; color:var(--on-ink) !important;
}
.ornata-auth-modal__close:hover{
  background:none !important; color:var(--on-terra) !important;
  box-shadow:none !important; transform:none !important;
}
.ornata-auth-modal__close::before,
.ornata-auth-modal__close::after{
  content:"" !important; display:block !important; position:absolute !important;
  left:50% !important; top:50% !important; right:auto !important; bottom:auto !important;
  width:18px !important; height:2px !important; background:currentColor !important; border-radius:2px;
}
.ornata-auth-modal__close::before{ transform:translate(-50%,-50%) rotate(45deg) !important; }
.ornata-auth-modal__close::after{ transform:translate(-50%,-50%) rotate(-45deg) !important; }

/* Campo de contraseña: el ojo (ver/ocultar) debe quedar DENTRO del campo,
   sin fondo de botón y centrado verticalmente. */
.ornata-auth-modal .password-input,
.ornata-auth-modal .woocommerce-password-hint + .password-input{
  display:block !important; position:relative !important; width:100%;
}
.ornata-auth-modal .password-input input{
  width:100% !important; padding-right:46px !important;
}
.ornata-auth-modal .show-password-input{
  position:absolute !important; right:10px !important; top:50% !important;
  transform:translateY(-50%) !important; margin:0 !important;
  width:26px !important; height:26px !important; min-height:0 !important;
  padding:0 !important; background:none !important; box-shadow:none !important;
  border:0 !important; border-radius:0 !important; color:var(--on-muted) !important;
}
.ornata-auth-modal .show-password-input::after{ color:var(--on-muted) !important; }
.ornata-auth-modal .show-password-input.display-password::after{ color:var(--on-terra) !important; }
/* El shortcode [woocommerce_my_account] muestra login + registro en 2 columnas:
   dentro del modal las apilamos a ancho completo. */
.ornata-auth-modal .u-columns{ display:block; }
.ornata-auth-modal .u-columns > .col-1,
.ornata-auth-modal .u-columns > .col-2,
.ornata-auth-modal .col2-set .col-1,
.ornata-auth-modal .col2-set .col-2{
  width:100% !important; float:none !important; max-width:none !important; margin:0 0 22px;
}
.ornata-auth-modal h2{ font-family:"Fraunces",Georgia,serif; font-size:1.15rem; }
.ornata-auth-modal form.woocommerce-form{ margin:0; }
.ornata-auth-modal .woocommerce-form-login__submit,
.ornata-auth-modal .woocommerce-form-register__submit{ width:100%; }
.ornata-auth-modal input[type="text"],
.ornata-auth-modal input[type="email"],
.ornata-auth-modal input[type="password"]{ width:100%; }


/* Cluster de iconos inyectado por header-icons.js */
.ornata-hdr-cluster{
  display:inline-flex; align-items:center; gap:6px; margin-left:12px;
}
.ornata-bag-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; color:var(--on-ink);
}
.ornata-bag-btn:hover, .ornata-account__btn:hover{ color:var(--on-terra); }
.ornata-bag-btn::before{
  content:""; display:inline-block; width:21px; height:21px;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 7V6a5 5 0 0 1 10 0v1h2.2c.45 0 .82.34.87.78l1.06 12.24A2.75 2.75 0 0 1 18.39 23H5.61a2.75 2.75 0 0 1-2.74-2.98L3.93 7.78A.88.88 0 0 1 4.8 7H7Zm2 0h6V6a3 3 0 0 0-6 0v1Zm-3.4 2-.95 11.19a.75.75 0 0 0 .75.81h13.2a.75.75 0 0 0 .75-.81L18.4 9H17v2a1 1 0 1 1-2 0V9H9v2a1 1 0 1 1-2 0V9H5.6Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 7V6a5 5 0 0 1 10 0v1h2.2c.45 0 .82.34.87.78l1.06 12.24A2.75 2.75 0 0 1 18.39 23H5.61a2.75 2.75 0 0 1-2.74-2.98L3.93 7.78A.88.88 0 0 1 4.8 7H7Zm2 0h6V6a3 3 0 0 0-6 0v1Zm-3.4 2-.95 11.19a.75.75 0 0 0 .75.81h13.2a.75.75 0 0 0 .75-.81L18.4 9H17v2a1 1 0 1 1-2 0V9H9v2a1 1 0 1 1-2 0V9H5.6Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ---- Elementor manda en sus páginas: Blocksy suelta el contenedor ----
   (quita el ancho máximo y el padding del área de contenido SOLO en
   páginas construidas con Elementor; cada sección de Elementor vuelve
   a controlar su propio ancho/fondo) */
.elementor-page .site-main > .ct-container,
.elementor-page .site-main > .ct-container-narrow{
  max-width:100%;
  padding-top:0;
  padding-bottom:0;
}
.elementor-page article > .entry-content{ margin-top:0; }
.elementor-page .entry-header{ display:none; }

/* ============================================================
   v1.2.1 · Fixes de header y rollover sobre Blocksy
   ============================================================ */

/* El icono de bolsa del rollover, como FONDO del botón (los ::before
   de Blocksy pisaban el nuestro; misma técnica que la hamburguesa v1.9.3) */
ul.products li.product .button.add_to_cart_button,
ul.products li.product .button.product_type_variable,
ul.products li.product .button.product_type_grouped{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:22px 22px !important;
}
ul.products li.product .button.add_to_cart_button::before,
ul.products li.product .button.product_type_variable::before,
ul.products li.product .button.product_type_grouped::before{
  content:none !important;
}
/* Estado "añadido" (check) con la misma técnica */
ul.products li.product .added_to_cart.wc-forward{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='m9.2 16.6-4.25-4.25 1.4-1.4 2.85 2.85 8.45-8.45 1.4 1.4L9.2 16.6Z'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:20px 20px !important;
}
ul.products li.product .added_to_cart.wc-forward::before{ content:none !important; }

/* Carrito nativo de Blocksy: solo icono (+badge), sin precio */
.ct-cart-item .ct-label{ display:none !important; }

/* ============================================================
   v1.2.2 · Popup post-add con Woo moderno + icono quitar mayor
   ============================================================ */

/* Aviso nativo moderno (banner de bloques) oculto en carrito/checkout,
   como ya haciamos con .woocommerce-message */
.woocommerce-cart .wc-block-components-notice-banner--success:has(a.wc-forward),
.woocommerce-checkout .wc-block-components-notice-banner--success:has(a.wc-forward){
  display:none !important;
}

/* Bolsa lateral: icono de quitar producto mas grande y tactil */
.ornata-cart-drawer .woocommerce-mini-cart-item{ padding-left:44px; }
.ornata-cart-drawer .woocommerce-mini-cart-item .remove{
  width:34px !important;
  height:34px !important;
  top:18px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  font-size:24px !important;
  line-height:1 !important;
  border:1px solid var(--on-line);
  border-radius:50%;
  background:#fff !important;
  color:var(--on-muted) !important;
}
.ornata-cart-drawer .woocommerce-mini-cart-item .remove:hover{
  color:var(--on-terra) !important;
  border-color:var(--on-terra);
}
.ornata-cart-drawer .woocommerce-mini-cart-item .remove svg,
.ornata-cart-drawer .woocommerce-mini-cart-item .remove img{
  width:16px !important; height:16px !important;
}
.ornata-cart-drawer .woocommerce-mini-cart-item .quantity{ margin-left:96px; }
.ornata-cart-drawer .woocommerce-mini-cart-item > a:not(.remove){ margin-left:0; }

/* ============================================================
   v1.2.4 · CSS del popup post-add (faltaba el bloque completo:
   por eso el popup salia como "pie" estatico en todas las paginas)
   ============================================================ */
.ornata-add-overlay{
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(43,42,38,.38);
  opacity:0;
  transition:opacity .18s ease;
}
.ornata-add-overlay[hidden]{
  display:none;
}
body.ornata-add-open .ornata-add-overlay{
  opacity:1;
}
.ornata-add-popup{
  position:fixed;
  left:50%;
  top:50%;
  z-index:10001;
  width:min(440px, calc(100vw - 32px));
  background:var(--on-surface);
  color:var(--on-ink);
  border:1px solid var(--on-line);
  border-radius:18px;
  box-shadow:0 28px 70px rgba(43,42,38,.28);
  padding:30px 28px 26px;
  text-align:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%, -46%) scale(.98);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
}
.ornata-add-popup.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%, -50%) scale(1);
}
.ornata-add-popup__close{
  position:absolute !important;
  top:10px;
  right:10px;
  width:34px !important;
  height:34px !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  color:var(--on-muted) !important;
  border:0 !important;
  border-radius:50% !important;
  box-shadow:none !important;
}
.ornata-add-popup__close::before,
.ornata-add-popup__close::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:16px !important;
  height:2px !important;
  background:currentColor !important;
  border-radius:2px;
}
.ornata-add-popup__close::before{ transform:translate(-50%,-50%) rotate(45deg) !important; }
.ornata-add-popup__close::after{ transform:translate(-50%,-50%) rotate(-45deg) !important; }
.ornata-add-popup__icon{
  width:54px;
  height:54px;
  margin:2px auto 16px;
  border-radius:50%;
  background:var(--on-olive);
  position:relative;
  box-shadow:0 10px 28px rgba(86,90,65,.2);
}
.ornata-add-popup__icon::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:26px;
  height:26px;
  transform:translate(-50%, -50%);
  background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m9.2 16.6-4.25-4.25 1.4-1.4 2.85 2.85 8.45-8.45 1.4 1.4L9.2 16.6Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m9.2 16.6-4.25-4.25 1.4-1.4 2.85 2.85 8.45-8.45 1.4 1.4L9.2 16.6Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ornata-add-popup__eyebrow{
  margin:0 34px 8px;
  font-family:"Fraunces", Georgia, serif;
  font-size:1.45rem;
  line-height:1.2;
  font-weight:600;
}
.ornata-add-popup__text{
  margin:0 auto 20px;
  max-width:31ch;
  color:var(--on-muted);
  line-height:1.45;
}
.ornata-add-popup__actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  align-items:center;
}
.ornata-add-popup__checkout{
  width:100%;
  text-align:center;
}
.ornata-add-popup__continue{
  min-height:48px !important;
  padding:10px 14px !important;
  background:transparent !important;
  color:var(--on-olive-dark) !important;
  border:1px solid var(--on-olive) !important;
  box-shadow:none !important;
}
.ornata-add-popup__continue:hover{
  background:var(--on-cream) !important;
  color:var(--on-ink) !important;
  transform:none !important;
}

@media (max-width:768px){
  .ornata-add-popup{ width:calc(100vw - 32px); padding:28px 20px 22px; }
  .ornata-add-popup__actions{ grid-template-columns:1fr; }
}

/* ============================================================
   v1.2.6 · Rollover: el icono ocupa EXACTAMENTE el hueco del
   precio (mismo slot, altura reservada) sin mover la categoría
   ============================================================ */
.woocommerce ul.products li.product{
  display:flex; flex-direction:column; align-items:center;
}
.woocommerce ul.products li.product > *{ width:100%; }

/* Slot compartido precio/botón: altura constante de 46px */
.woocommerce ul.products li.product .price{
  order:5;
  min-height:46px;
  display:flex !important; align-items:center; justify-content:center;
  margin:0 !important;
}
@media (hover:hover){
  .woocommerce ul.products li.product:hover .price{ display:none !important; }
}
.woocommerce ul.products li.product .ct-woo-card-actions{
  order:5; margin:0 !important; min-height:0;
  display:flex; align-items:center; justify-content:center;
}
.woocommerce ul.products li.product > .button.add_to_cart_button,
.woocommerce ul.products li.product > .button.product_type_variable,
.woocommerce ul.products li.product > .button.product_type_grouped,
.woocommerce ul.products li.product > .added_to_cart.wc-forward{ order:5; }

/* La categoría (meta) SIEMPRE después del slot, sin desplazarse */
.woocommerce ul.products li.product .entry-meta,
.woocommerce ul.products li.product [class*="ct-woo-card-extra"]{
  order:6; width:auto;
}

/* El botón, centrado y sin márgenes que empujen */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_variable,
.woocommerce ul.products li.product .button.product_type_grouped,
.woocommerce ul.products li.product .added_to_cart.wc-forward{
  margin:0 auto !important;
}

/* En táctil (sin hover) el slot muestra precio y bolsa juntos */
@media (hover:none){
  .woocommerce ul.products li.product .price{ gap:10px; }
}

/* ============================================================
   v1.3.0 · Icono sin círculo + cinturón anti-desborde móvil
   ============================================================ */

/* Botón de bolsa del rollover: SOLO icono (tinta), sin círculo */
ul.products li.product .button.add_to_cart_button,
ul.products li.product .button.product_type_variable,
ul.products li.product .button.product_type_grouped{
  background-color:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B2A26' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") !important;
  background-size:24px 24px !important;
}
ul.products li.product .button.add_to_cart_button:hover,
ul.products li.product .button.product_type_variable:hover,
ul.products li.product .button.product_type_grouped:hover{
  background-color:transparent !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B84826' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") !important;
}
/* Estado "añadido": check oliva, sin círculo */
ul.products li.product .added_to_cart.wc-forward,
ul.products li.product .added_to_cart.wc-forward:hover{
  background-color:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%236E7357' d='m9.2 16.6-4.25-4.25 1.4-1.4 2.85 2.85 8.45-8.45 1.4 1.4L9.2 16.6Z'/%3E%3C/svg%3E") !important;
}

/* Cinturón anti-desborde en móvil (p. ej. secciones Elementor a ancho fijo) */
@media (max-width:768px){
  body{ overflow-x:clip; }
}

/* ============================================================
   v1.5.0 · Imágenes 1:1 en todo el sitio + pulido de ficha
   ============================================================ */

/* --- 1:1 · tarjetas de rejilla (tienda, categorías, bloques).
   El ratio 4:5 del Customizer queda anulado aquí. --- */
ul.products .product .ct-media-container,
[data-products] .product .ct-media-container{
  aspect-ratio:1/1 !important;
}
ul.products .product .ct-media-container img,
[data-products] .product .ct-media-container img{
  width:100%; height:100%; object-fit:cover;
}
/* Fallback si la tarjeta no envuelve la imagen en ct-media-container */
ul.products .product img.attachment-woocommerce_thumbnail{
  aspect-ratio:1/1; object-fit:cover;
}

/* --- 1:1 · galería de la ficha: imagen principal CUADRADA y COMPLETA (contain,
   sin recortar). Alta especificidad + !important para ganar al gallery de Blocksy.
   El contenedor se fuerza a 1:1 y la imagen se ajusta dentro con fondo neutro. --- */
body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery .flexy-item,
body.single-product .woocommerce-product-gallery figure,
body.single-product .flexy-items > div,
body.single-product .flexy-view .ct-media-container{
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  background:var(--on-surface, #fff);
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
body.single-product .woocommerce-product-gallery__image img,
body.single-product .woocommerce-product-gallery img.wp-post-image,
body.single-product .flexy-items img,
body.single-product .flexy-view .ct-media-container img{
  aspect-ratio:1 / 1 !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:contain !important;
}
.single-product .flex-control-thumbs{
  display:grid; grid-template-columns:repeat(5, 1fr); gap:10px; margin:12px 0 0;
}
.single-product .flex-control-thumbs li{ margin:0; float:none; width:auto; }
.single-product .flex-control-thumbs li img{
  aspect-ratio:1/1; width:100%; object-fit:cover;
  border-radius:10px; opacity:.55; cursor:pointer;
  transition:opacity var(--on-dur) var(--on-ease);
}
.single-product .flex-control-thumbs li img.flex-active,
.single-product .flex-control-thumbs li img:hover{ opacity:1; }

/* --- Ficha: jerarquía y aire --- */
.single-product .entry-summary .price{ margin:6px 0 14px; }
.single-product .entry-summary .woocommerce-product-details__short-description{
  color:var(--on-muted); line-height:1.6; margin-bottom:18px;
}

/* Variaciones: etiquetas claras y selects táctiles */
.single-product table.variations th.label{
  padding:8px 12px 8px 0; font-size:.8rem; font-weight:600;
  text-transform:uppercase; letter-spacing:var(--on-track); color:var(--on-muted);
}
.single-product table.variations td.value select{
  width:100%; min-height:46px; border-radius:10px;
  border:1px solid var(--on-line); background-color:#fff;
}
.single-product .reset_variations{ font-size:.8rem; color:var(--on-muted); }

/* Cantidad cómoda */
.single-product form.cart .quantity .qty{ min-height:48px; border-radius:10px; }

/* Meta discreta con separador */
.single-product .product_meta{
  margin-top:18px; padding-top:14px; border-top:1px solid var(--on-line);
}
.single-product .product_meta > span{ display:block; margin:2px 0; }

/* Relacionados: aire y título editorial centrado */
.single-product .related.products{ margin-top:clamp(40px, 6vw, 72px); }
.single-product .related.products > h2{ text-align:center; margin-bottom:26px; }

/* Nota de confianza bajo el CTA (markup en functions.php) */
.ornata-pdp-reassurance{
  margin:14px 0 0; font-size:.85rem; color:var(--on-muted); line-height:1.5;
}
.ornata-pdp-reassurance strong{ color:var(--on-ink); font-weight:600; }

/* ============================================================
   v2.0.0 · consolidación visual, accesibilidad y rendimiento
   ============================================================ */
html{ scroll-behavior:smooth; }
body{
  color:var(--on-ink);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
a{
  color:var(--on-ink);
  text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);
  text-underline-offset:.18em;
}
a:hover{ color:var(--on-terra-dark); }
body.ornata-modal-open{ overflow:hidden; }
::selection{ background:var(--on-cream); color:var(--on-ink); }

:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid color-mix(in srgb, var(--on-terra) 72%, white);
  outline-offset:3px;
}
:where(button,.button,.wp-element-button,input,select,textarea){
  transition:border-color var(--on-dur) var(--on-ease),
             background-color var(--on-dur) var(--on-ease),
             color var(--on-dur) var(--on-ease),
             box-shadow var(--on-dur) var(--on-ease),
             transform var(--on-dur) var(--on-ease);
}
:where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  min-height:48px;
  border:1px solid var(--on-line);
  border-radius:var(--on-radius-sm);
  background:var(--on-surface);
  color:var(--on-ink);
}
:where(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{
  border-color:var(--on-terra);
  box-shadow:0 0 0 3px rgba(184,72,38,.12);
}

h1,h2,.entry-title,.product_title{ text-wrap:balance; }
p{ text-wrap:pretty; }
.entry-content{ line-height:1.7; }

/* Cabecera táctil y estable incluso cuando Blocksy clona la versión sticky. */
.ornata-account__btn,.ornata-bag-btn{
  width:44px; height:44px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; color:var(--on-ink);
}
.ornata-account__btn:hover,.ornata-bag-btn:hover{
  background:var(--on-cream); color:var(--on-terra-dark);
}
.ornata-hdr-cluster{ gap:2px; margin-left:6px; }

/* Tarjetas: movimiento mínimo, fotografía protagonista y altura consistente. */
.woocommerce ul.products li.product{
  min-width:0;
  transition:transform var(--on-dur) var(--on-ease);
}
.woocommerce ul.products li.product .ct-media-container{
  overflow:hidden;
  background:var(--on-surface);
  box-shadow:0 1px 0 rgba(43,42,38,.06);
}
.woocommerce ul.products li.product .ct-media-container img{
  transition:transform .5s var(--on-ease);
}
@media (hover:hover) and (pointer:fine){
  .woocommerce ul.products li.product:hover{ transform:translateY(-3px); }
  .woocommerce ul.products li.product:hover .ct-media-container img{ transform:scale(1.025); }
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  margin-top:14px; line-height:1.4;
}

/* Capas propias: profundidad discreta, viewport dinámico y scroll contenido. */
.ornata-cart-overlay,.ornata-add-overlay,.ornata-auth-overlay{
  background:rgba(43,42,38,.46);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
}
.ornata-cart-drawer{
  width:min(430px, 100vw);
  height:100vh; height:100dvh;
  padding-bottom:env(safe-area-inset-bottom);
  overscroll-behavior:contain;
}
.ornata-cart-drawer .widget_shopping_cart_content{
  overflow-y:auto;
  overscroll-behavior:contain;
}
.ornata-cart-drawer__header{
  padding-top:max(20px, env(safe-area-inset-top));
}
.ornata-add-popup,.ornata-auth-modal{
  max-height:calc(100dvh - 32px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
.ornata-auth-modal{ width:min(520px, calc(100vw - 32px)); }
.ornata-add-popup__checkout,.ornata-auth-modal .button{
  display:inline-flex; align-items:center; justify-content:center;
}

/* Carrito y checkout: lectura más limpia y controles cómodos. */
.woocommerce-cart table.shop_table,
.woocommerce-checkout-review-order,
.wc-block-cart-items,
.wc-block-components-order-summary{
  border-color:var(--on-line);
  border-radius:14px;
}
.woocommerce-checkout .form-row label,
.wc-block-components-text-input label{
  color:var(--on-muted); font-size:.88rem; font-weight:600;
}
.woocommerce-checkout #place_order,
.wc-block-components-checkout-place-order-button{
  min-height:54px; font-size:1rem;
}

/* El CTA móvil respeta la zona segura y no salta al abrir el teclado. */
@media (max-width:768px){
  .single-product .product .entry-summary form.cart{
    bottom:max(8px, env(safe-area-inset-bottom));
    padding:10px;
  }
  .single-product .product .entry-summary form.cart .single_add_to_cart_button{
    min-height:52px;
  }
  .woocommerce ul.products{
    column-gap:14px; row-gap:34px;
  }
  .ornata-cart-drawer{ width:100vw; }
  .ornata-cart-drawer .woocommerce-mini-cart-item{ padding-left:40px; }
  .home .entry-content > .wp-block-group,
  .page .entry-content > .wp-block-group{
    padding-top:clamp(44px, 12vw, 72px);
    padding-bottom:clamp(44px, 12vw, 72px);
  }
}

@media (prefers-reduced-transparency:reduce){
  .ornata-cart-overlay,.ornata-add-overlay,.ornata-auth-overlay{ backdrop-filter:none; }
  .single-product .product .entry-summary form.cart{ backdrop-filter:none; background:var(--on-paper); }
}
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }
}
