.elementor-4204 .elementor-element.elementor-element-d599574 .elementor-search-form{text-align:center;}.elementor-4204 .elementor-element.elementor-element-d599574 .elementor-search-form__toggle{--e-search-form-toggle-size:33px;}.elementor-4204 .elementor-element.elementor-element-d599574:not(.elementor-search-form--skin-full_screen) .elementor-search-form__container{border-radius:3px;}.elementor-4204 .elementor-element.elementor-element-d599574.elementor-search-form--skin-full_screen input[type="search"].elementor-search-form__input{border-radius:3px;}.elementor-4204 .elementor-element.elementor-element-3f7d8db .elementor-menu-cart__close-button, .elementor-4204 .elementor-element.elementor-element-3f7d8db .elementor-menu-cart__close-button-custom{margin-left:auto;}.elementor-4204 .elementor-element.elementor-element-3f7d8db.elementor-element{--align-self:center;}.elementor-4204 .elementor-element.elementor-element-3f7d8db{--main-alignment:center;--side-cart-alignment-transform:translateX(100%);--side-cart-alignment-left:auto;--side-cart-alignment-right:0;--divider-style:solid;--subtotal-divider-style:solid;--elementor-remove-from-cart-button:none;--remove-from-cart-button:block;--toggle-button-icon-color:#000000;--toggle-button-icon-hover-color:var( --e-global-color-primary );--toggle-button-hover-background-color:#02010100;--toggle-button-hover-border-color:#02010100;--toggle-button-border-width:0px;--toggle-button-border-radius:0px;--toggle-icon-size:24px;--toggle-icon-padding:0px 0px 0px 0px;--items-indicator-text-color:#FFFFFF;--cart-border-style:none;--cart-border-radius:0px 0px 0px 0px;--cart-close-icon-size:1.5rem;--cart-close-button-color:var( --e-global-color-e519703 );--remove-item-button-color:var( --e-global-color-e519703 );--menu-cart-subtotal-text-align:right;--product-price-color:#20460E;--cart-footer-layout:1fr;--products-max-height-sidecart:calc(100vh - 300px);--products-max-height-minicart:calc(100vh - 450px);--space-between-buttons:0.5em;--view-cart-button-text-color:var( --e-global-color-secondary );--view-cart-button-background-color:var( --e-global-color-accent );--view-cart-button-hover-text-color:var( --e-global-color-5606bf9 );--view-cart-button-hover-background-color:#2AA68300;--checkout-button-text-color:#FFFFFF;--checkout-button-background-color:var( --e-global-color-e519703 );--checkout-button-hover-text-color:#FFFFFF;--checkout-button-hover-background-color:#C9040CCC;--empty-message-alignment:center;}.elementor-4204 .elementor-element.elementor-element-3f7d8db .widget_shopping_cart_content{--subtotal-divider-left-width:0;--subtotal-divider-right-width:0;}.elementor-4204 .elementor-element.elementor-element-3f7d8db .elementor-menu-cart__product-price{font-size:16px;font-weight:400;}.elementor-4204 .elementor-element.elementor-element-3f7d8db .elementor-button--view-cart{border-style:solid;border-width:1px 1px 1px 1px;}.elementor-4204 .elementor-element.elementor-element-3f7d8db .elementor-menu-cart__footer-buttons a.elementor-button--view-cart{border-radius:5px 5px 5px 5px;}.elementor-4204 .elementor-element.elementor-element-3f7d8db .elementor-button--checkout{border-style:none;}.elementor-4204 .elementor-element.elementor-element-3f7d8db .elementor-menu-cart__footer-buttons a.elementor-button--checkout{border-radius:5px 5px 5px 5px;}.elementor-4204 .elementor-element.elementor-element-5c0ca0a .e-off-canvas__overlay{background-color:rgba(0,0,0,.8);}.elementor-4204 .elementor-element.elementor-element-5c0ca0a{--e-off-canvas-justify-content:left;--e-off-canvas-width:100vw;--e-off-canvas-height:100vh;--e-off-canvas-content-overflow:auto;--e-off-canvas-animation-duration:1.5s;--e-off-canvas-overlay-opacity:1;}.elementor-4204 .elementor-element.elementor-element-d02a376{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for woocommerce-menu-cart, class: .elementor-element-3f7d8db */.elementor-menu-cart__main{
    width: 35em;
}

.elementor-menu-cart__product-image{
    width: 5em;
    margin: auto;
}/* End custom CSS */
/* Start custom CSS */:root {
  --blanco: #fff;
  --tinta: #23211f;
  --texto: #403c38;
  --grafito: #4a4744;
  --gris: #5f5a54;
  --perla: #e8e7e4;
  --perla-sombra: #d9d7d3;
  --noche: #101d29;
  --crema: #ffeead;
  
  --accion: #101d29;
  --accion-texto: #ffeead;
  --accion-hover: #1e3346;
  --acento: #94742b;
  --punto: #e0b84e;
  --enlace: #101d29;
  --exito: #2f5a46;
  --error: #9a3324;
  --eleccion: #101d29;
  --linea: color-mix(in srgb, #4a4744 24%, transparent);
  --linea-suave: color-mix(in srgb, #4a4744 13%, transparent);
  --linea-campo: color-mix(in srgb, #4a4744 42%, transparent);
  --linea-noche: color-mix(in srgb, #ffeead 26%, transparent);
  --estudio: #e3e2df url(https://spinandprint.com/wp-content/uploads/2026/11/spn-perla-estudio-1x1-1.webp) center / 100% 100% no-repeat;

  --serif: 'Cormorant Garamond', 'Cormorant respaldo', Georgia, serif;
  --sans: 'Jost', 'Jost respaldo', system-ui, sans-serif;
  --lado: clamp(16px, 5vw, 100px);
  --int: 1240px;
  --frenada: cubic-bezier(.16, 1, .3, 1);
  --barrido: cubic-bezier(.76, 0, .24, 1);
}

/* Base común de todas las piezas (spn-cp). El reinicio de los bloques atómicos va a (0,2,1): gana a la hoja base de
   Elementor (0,2,0, que se carga después) y pierde contra cualquier regla de las piezas (0,3,0). Así, cuando cabecera, pie y
   página cargan cada una su hoja, el reinicio de una no pisa el relleno ni el hueco que pone otra (visto el 10/11). */
.elementor .spn-cp { font-family: var(--sans); font-size: 16px; line-height: 1.6; color: var(--texto); font-variant-numeric: lining-nums; }
.spn-cp :is(div, a, header, footer, main, section, nav, aside).e-div-block-base, :is(div, a, header, footer, main, section, nav, aside).spn-cp.e-div-block-base { padding: 0; min-width: 0; gap: 0; width: auto; }
.spn-cp-espejo:is(div).e-div-block-base, .spn-cp-espejo div.spn-cp-hueco { padding: 0; min-width: 0; gap: 0; width: auto; }
.elementor .spn-cp-espejo > .spn-cp-int.spn-cp-nota-espejo { width: 100%; max-width: calc(var(--int) + 2 * var(--lado)); margin: 0 auto; padding: 18px var(--lado); }
.spn-cp :is(p, span, h1, h2, h3, h4).e-paragraph-base, .spn-cp :is(p, span, h1, h2, h3, h4).e-heading-base { margin: 0; }
.elementor .spn-cp .e-paragraph-base a { all: revert; color: inherit; text-decoration: none; }
.spn-cp a { color: inherit; text-decoration: none; }
.spn-cp div.e-svg-base { width: 22px; height: 22px; flex: none; line-height: 0; color: var(--grafito); }
.spn-cp div.e-svg-base svg { display: block; width: 100%; height: 100%; }
.elementor .spn-cp .spn-cp-ico--s { width: 18px; height: 18px; }
.elementor .spn-cp .spn-cp-int { width: 100%; max-width: calc(var(--int) + 2 * var(--lado)); margin-inline: auto; padding-inline: var(--lado); }
.elementor .spn-cp .spn-cp-serif { font-family: var(--serif); }
.spn-cp img { display: block; max-width: 100%; height: auto; }
.elementor .spn-cp :focus-visible { outline: 2px solid var(--tinta); outline-offset: 3px; }
.elementor .spn-cp .spn-cp-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Cabecera A 2026 (plantilla 4204): la de la maqueta (cab-a.css de componentes-2026 v1.2.1) sobre el marcado de Elementor:
   bloques atómicos con clases spn-cp-*, el Menú de Pro (menú «Principal 2026»), el Buscador de Pro a pantalla completa, el
   Carrito del menú (lateral, se abre al añadir: el mini-carrito C) y el panel del móvil en un Off-Canvas de Pro. DIA, 10/11/2026. */
.elementor .spn-cp-cab { position: sticky; top: 0; z-index: 30; display: block; background: var(--blanco); }
.elementor .spn-cp .spn-cp-franja { border-bottom: 1px solid var(--linea-suave); }
.elementor .spn-cp .spn-cp-franja-int { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 32px; font: 400 12.5px/1.3 var(--sans); color: var(--gris); letter-spacing: .02em; }
.elementor .spn-cp .spn-cp-franja-izq, .elementor .spn-cp .spn-cp-franja-dcha { display: flex; align-items: center; flex-wrap: wrap; }
.elementor .spn-cp .spn-cp-franja-sep::before { content: "·"; margin: 0 .55em; color: var(--linea); }
.elementor .spn-cp .spn-cp-franja-enlace { display: inline-flex; width: auto; color: var(--tinta); font-weight: 500; }
.elementor .spn-cp .spn-cp-franja-enlace:hover span { text-decoration: underline; }
.elementor .spn-cp .spn-cp-barra { border-bottom: 1px solid var(--linea-suave); }
.elementor .spn-cp .spn-cp-barra-int { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 72px; }
.elementor .spn-cp .spn-cp-barra-int > .spn-cp-hamb { display: none; }
.elementor .spn-cp .spn-cp-barra-int > .e-image-link-base, .elementor .spn-cp .spn-cp-cab-logo { display: block; width: 175px; }
.elementor .spn-cp .spn-cp-iconos { display: flex; justify-content: flex-end; align-items: center; gap: 22px; }
.elementor .spn-cp .spn-cp-iconos .e-svg-base, .elementor .spn-cp .spn-cp-hamb .e-svg-base { color: var(--tinta); }
.elementor .spn-cp .spn-cp-cuenta { display: inline-flex; width: auto; }

/* El menú (Nav Menu de Pro, menú «Principal 2026»): mayúsculas con tracking, raya al pasar, el punto de Navidad */
.elementor .spn-cp .spn-cp-menu .elementor-nav-menu--main .elementor-nav-menu { display: flex; gap: 34px; }
/* el «clearfix» de Elementor (::after con un espacio) es un hijo más del flex: sumaba 34 px a la derecha y descentraba el menú 17 px */
.elementor .spn-cp .spn-cp-menu .elementor-nav-menu--main .elementor-nav-menu::after { content: none; display: none; }
.elementor .spn-cp .spn-cp-menu .elementor-nav-menu--main .elementor-item { position: relative; display: inline-flex; align-items: center; gap: 9px; padding: 26px 0; color: var(--tinta); font: 500 13px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.elementor .spn-cp .spn-cp-menu .elementor-nav-menu--main .elementor-item::after { content: ""; position: absolute; left: 0; right: 0; bottom: 20px; height: 1px; background: var(--tinta); opacity: 1; transform: scaleX(0); transform-origin: 0 50%; transition: transform .5s var(--frenada); }
.elementor .spn-cp .spn-cp-menu .menu-item:hover > .elementor-item::after, .elementor .spn-cp .spn-cp-menu .elementor-item:focus-visible::after, .elementor .spn-cp .spn-cp-menu .elementor-item-active::after { transform: scaleX(1); }
.elementor .spn-cp .spn-cp-menu .menu-navidad > a.elementor-item::before { content: "" !important; display: inline-block !important; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--punto); opacity: 1 !important; position: static !important; transform: none !important; }
.elementor .spn-cp .spn-cp-menu .sub-arrow { display: none; }
.elementor .spn-cp .spn-cp-menu .elementor-nav-menu--main .sub-menu { min-width: 268px !important; padding: 12px 0; background: var(--blanco); border: 1px solid var(--linea-suave); border-top: 0; margin-left: -24px; }
.elementor .spn-cp .spn-cp-menu .elementor-nav-menu--main .sub-menu .elementor-sub-item { display: flex; padding: 9px 24px; color: var(--tinta); background: none; font: 400 15px/1.3 var(--sans); letter-spacing: 0; text-transform: none; border: 0; }
.elementor .spn-cp .spn-cp-menu .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover { background: color-mix(in srgb, var(--tinta) 5%, transparent); color: var(--tinta); }
.elementor .spn-cp .spn-cp-menu .elementor-nav-menu--main .sub-menu .todo > .elementor-sub-item { margin-top: 6px; padding-top: 13px; border-top: 1px solid var(--linea-suave); font-weight: 600; }

/* El buscador a pantalla completa (la lupa) */
.elementor .spn-cp .spn-cp-buscar { --e-search-form-toggle-size: 22px; --e-search-form-toggle-color: var(--tinta); --e-search-form-toggle-background-color: transparent; --e-search-form-toggle-icon-size: 20px; }
.elementor .spn-cp .spn-cp-buscar .elementor-search-form__toggle { display: grid; place-items: center; width: 22px; height: 22px; color: var(--tinta); background: none; }
.elementor .spn-cp .spn-cp-buscar .elementor-search-form__toggle .e-font-icon-svg-container, .elementor .spn-cp .spn-cp-buscar .elementor-search-form__toggle i { display: none; }
.elementor .spn-cp .spn-cp-buscar .elementor-search-form__toggle::after { content: ""; width: 22px; height: 22px; background: currentColor; -webkit-mask: url(https://spinandprint.com/wp-content/uploads/2026/11/spn-cp-ico-lupa.svg) center / contain no-repeat; mask: url(https://spinandprint.com/wp-content/uploads/2026/11/spn-cp-ico-lupa.svg) center / contain no-repeat; }

/* El carrito del menú: el icono de bolsa y el contador sin globo (el panel lateral, abajo, con .spn-mini) */
.elementor .spn-cp .spn-cp-carrito { --toggle-button-icon-color: var(--tinta); --toggle-button-icon-hover-color: var(--tinta); --items-indicator-text-color: var(--tinta); --toggle-icon-size: 22px; }
.elementor .spn-cp .spn-cp-carrito .elementor-menu-cart__toggle .elementor-button { padding: 0; background: none; border: 0; color: var(--tinta); }
.elementor .spn-cp .spn-cp-carrito .elementor-button-text { display: none; }
.elementor .spn-cp .spn-cp-carrito .elementor-button-icon { display: inline-flex; flex-direction: row-reverse; align-items: center; gap: 6px; }
.elementor .spn-cp .spn-cp-carrito .elementor-button-icon svg { width: 22px; height: 22px; display: none; }
.elementor .spn-cp .spn-cp-carrito .elementor-button-icon::before { content: ""; width: 22px; height: 22px; background: var(--tinta); -webkit-mask: url(https://spinandprint.com/wp-content/uploads/2026/11/spn-cp-ico-bolsa.svg) center / contain no-repeat; mask: url(https://spinandprint.com/wp-content/uploads/2026/11/spn-cp-ico-bolsa.svg) center / contain no-repeat; order: 2; }
.elementor .spn-cp .spn-cp-carrito .elementor-button-icon-qty { position: static; order: 1; min-width: 8px; inset: auto; transform: none; background: none; color: var(--tinta); font: 600 11px/1 var(--sans); }

/* El panel del móvil (Off-Canvas de Pro) */
.spn-cp-oc .e-off-canvas__main { background: var(--blanco); overflow-y: auto; }
.elementor .spn-cp .spn-cp-panel-cab { display: flex; align-items: center; justify-content: space-between; min-height: 60px; padding: 0 var(--lado); border-bottom: 1px solid var(--linea-suave); }
.elementor .spn-cp .spn-cp-panel-cab > .e-image-link-base, .elementor .spn-cp .spn-cp-panel-logo { display: block; width: 140px; }
.elementor .spn-cp .spn-cp-panel-cerrar { display: grid; place-items: center; width: 44px; height: 44px; margin-right: -10px; color: var(--tinta); }
.elementor .spn-cp .spn-cp-panel-cerrar .e-svg-base { color: var(--tinta); }
.elementor .spn-cp .spn-cp-panel-cuerpo { padding: 22px var(--lado) 28px; }
.elementor .spn-cp .spn-cp-eyebrow { margin-top: 18px; font: 500 12px/1.3 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--grafito); }
.elementor .spn-cp .spn-cp-panel-ninos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 12px 0 10px; }
.elementor .spn-cp .spn-cp-panel-nino { display: grid; gap: 7px; color: var(--tinta); font: 500 13px/1.25 var(--sans); }
.elementor .spn-cp .spn-cp-foto { aspect-ratio: 1; overflow: hidden; background: var(--estudio); }
.elementor .spn-cp .spn-cp-foto img { width: 100%; height: 100%; object-fit: contain; }
.elementor .spn-cp .spn-cp-panel-lista { margin-top: 18px; border-top: 1px solid var(--linea-suave); }
.elementor .spn-cp .spn-cp-panel-item { border-bottom: 1px solid var(--linea-suave); }
.elementor .spn-cp .spn-cp-panel-link { display: flex; align-items: center; min-height: 58px; color: var(--tinta); font: 500 28px/1 var(--serif); }
.elementor .spn-cp .spn-cp-panel-link > span { display: flex; width: 100%; justify-content: space-between; align-items: center; }
.elementor .spn-cp .spn-cp-panel-link > span > span { font-family: var(--sans); font-size: 18px; }
.elementor .spn-cp .spn-cp-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: -4px 0 16px; }
.elementor .spn-cp .spn-cp-chip { display: inline-flex; align-items: center; width: auto; min-height: 36px; padding: 0 12px; border: 1px solid var(--linea); border-radius: 2px; color: var(--tinta); font: 400 14px/1 var(--sans); }
.elementor .spn-cp .spn-cp-panel-contacto { display: grid; gap: 12px; margin-top: 26px; }
.elementor .spn-cp .spn-cp-boton-sec { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 26px; border-radius: 2px; box-shadow: inset 0 0 0 1px var(--tinta); color: var(--tinta); font: 600 15px/1 var(--sans); }
.elementor .spn-cp .spn-cp-boton-sec .e-svg-base { color: var(--tinta); }
.elementor .spn-cp .spn-cp-panel-nota { font-size: 13px; color: var(--gris); }
.elementor .spn-cp .spn-cp-panel .spn-cp-panel-nota a { color: var(--tinta); text-decoration: underline; }
.elementor .spn-cp .spn-cp-busca form { position: relative; display: flex; }
.elementor .spn-cp .spn-cp-busca input[type=search] { width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--linea-campo); border-radius: 2px; background: #fff; font: 400 16px/1 var(--sans); color: var(--tinta); }
.elementor .spn-cp .spn-cp-busca button { position: absolute; right: 0; top: 0; height: 48px; padding: 0 14px; border: 0; background: none; color: var(--tinta); font: 600 14px/1 var(--sans); }
.elementor .spn-cp .spn-cp-busca label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

@media (max-width: 1023px) {
  .elementor .spn-cp .spn-cp-barra-int > .spn-cp-hueco:has(.spn-cp-menu) { display: none; }
  .elementor .spn-cp .spn-cp-barra-int { grid-template-columns: 44px 1fr auto; min-height: 60px; }
  .elementor .spn-cp .spn-cp-barra-int > .spn-cp-hamb { display: grid; place-items: center; width: 44px; height: 44px; margin-left: -10px; }
  .elementor .spn-cp .spn-cp-barra-int > .e-image-link-base, .elementor .spn-cp .spn-cp-cab-logo { justify-self: center; width: 142px; }
  .elementor .spn-cp .spn-cp-iconos { gap: 6px; }
  .elementor .spn-cp .spn-cp-iconos > .spn-cp-hueco:has(.spn-cp-buscar), .elementor .spn-cp .spn-cp-cuenta { display: none; }
  .elementor .spn-cp .spn-cp-franja-int { justify-content: center; min-height: 30px; font-size: 12px; }
  .elementor .spn-cp .spn-cp-solo-esc { display: none; }
}
@media (min-width: 1024px) { .spn-cp-oc { display: none; } }

/* El mini-carrito C (Carrito del menú en lateral), de carrito.css de la maqueta: abierto = .elementor-menu-cart--shown del widget */
.spn-mini .elementor-menu-cart__container { position: fixed; inset: 0; z-index: 45; background: color-mix(in srgb, var(--noche) 42%, transparent); opacity: 0; visibility: hidden; transition: opacity .5s, visibility 0s .5s; transform: none !important; }
.spn-mini.elementor-menu-cart--shown .elementor-menu-cart__container { opacity: 1; visibility: visible; transition: opacity .5s; }
.spn-mini .elementor-menu-cart__main { position: absolute; top: 0; right: 0; bottom: 0; width: min(100vw, 440px); display: flex; flex-direction: column; background: var(--blanco); transform: translateX(100%); transition: transform .7s var(--barrido); overflow-y: auto; }
.spn-mini.elementor-menu-cart--shown .elementor-menu-cart__main { transform: none; }
.spn-mini__cab { display: flex; align-items: center; justify-content: space-between; min-height: 68px; padding: 0 26px; border-bottom: 1px solid var(--linea-suave); }
.spn-mini__cab p { margin: 0; font: 500 26px/1 var(--serif); color: var(--tinta); }
.spn-mini__cab p span { margin-left: 8px; font: 400 14px/1 var(--sans); color: var(--gris); }
.spn-mini__cab button { display: grid; place-items: center; width: 44px; height: 44px; margin-right: -12px; border: 0; background: none; color: var(--tinta); cursor: pointer; }
.spn-mini__anadido { display: flex; align-items: center; gap: 9px; margin: 0; padding: 12px 26px; border-bottom: 1px solid var(--linea-suave); font: 400 14px/1.4 var(--sans); color: var(--exito); }
.spn-mini .spn-envio { padding: 18px 26px 20px; border-bottom: 1px solid var(--linea-suave); }
.spn-mini .widget_shopping_cart_content { display: flex; flex-direction: column; flex: 1; }
.spn-mini .elementor-menu-cart__products { padding: 4px 26px; }
.spn-mini .elementor-menu-cart__product { position: relative; display: grid; grid-template-columns: 76px minmax(0, 1fr); grid-template-areas: "foto nombre" "foto precio"; column-gap: 16px; padding: 18px 34px 18px 0; border-bottom: 1px solid var(--linea-suave); }
.spn-mini .elementor-menu-cart__product-image { grid-area: foto; }
.spn-mini .elementor-menu-cart__product-image a { display: block; aspect-ratio: 4 / 5; background: var(--estudio); }
.spn-mini .elementor-menu-cart__product-image img { width: 100%; height: 100%; object-fit: contain; }
.spn-mini .elementor-menu-cart__product-name { grid-area: nombre; }
.spn-mini .elementor-menu-cart__product-name > a { font: 500 19px/1.15 var(--serif); color: var(--tinta); text-decoration: none; }
.spn-mini .elementor-menu-cart__product-name dl.variation { font-size: 12.5px; }
.spn-mini .elementor-menu-cart__product-price { grid-area: precio; margin-top: 8px; font: 400 14px/1 var(--sans); color: var(--gris); }
.spn-mini .elementor-menu-cart__product-price .woocommerce-Price-amount { color: var(--tinta); }
.spn-mini .elementor-menu-cart__product-remove { position: absolute; top: 12px; right: -10px; width: 44px; height: 44px; border: 0 !important; border-radius: 0; }
.spn-mini .elementor-menu-cart__product-remove::before, .spn-mini .elementor-menu-cart__product-remove::after { width: 14px; background: var(--gris); }
.spn-mini .elementor-menu-cart__product-remove > a { position: absolute; inset: 0; z-index: 2; opacity: 0; }
.spn-mini .elementor-menu-cart__subtotal { display: flex; justify-content: space-between; align-items: baseline; margin-top: auto; padding: 18px 26px 6px; border-top: 1px solid var(--linea); font: 500 15px/1 var(--sans); color: var(--tinta); }
.spn-mini .elementor-menu-cart__subtotal .woocommerce-Price-amount { font: 500 28px/1 var(--serif); }
.spn-mini__iva { margin: 0; padding: 0 26px; font: 400 12.5px/1.4 var(--sans); color: var(--gris); }
.spn-mini .elementor-menu-cart__footer-buttons { display: grid; gap: 4px; padding: 16px 26px 26px; }
.spn-mini .elementor-menu-cart__footer-buttons .elementor-button { display: flex; justify-content: center; align-items: center; min-height: 52px; border-radius: 2px; font: 600 15px/1 var(--sans); text-decoration: none; }
.spn-mini .elementor-button--checkout { order: -1; background: var(--accion); color: var(--accion-texto); }
.spn-mini .elementor-button--checkout:hover { background: var(--accion-hover); }
.spn-mini .elementor-button--view-cart { background: none; color: var(--enlace); min-height: 44px !important; }
.spn-mini .elementor-button--view-cart .elementor-button-text::after { content: " →"; }
@media (max-width: 767px) {
.spn-mini .elementor-menu-cart__main { width: 100vw; }
.spn-mini__cab, .spn-mini__anadido, .spn-mini .spn-envio, .spn-mini .elementor-menu-cart__products, .spn-mini .elementor-menu-cart__subtotal, .spn-mini__iva, .spn-mini .elementor-menu-cart__footer-buttons { padding-left: 18px; padding-right: 18px; }
.spn-mini .elementor-menu-cart__products { padding-right: 18px; }
}
.spn-mini .elementor-menu-cart__subtotal { border: 0 !important; border-top: 1px solid var(--linea) !important; border-radius: 0 !important; }
.spn-mini .elementor-menu-cart__footer-buttons { grid-template-columns: 1fr !important; }
.spn-mini .elementor-menu-cart__footer-buttons .elementor-button { width: 100%; }
.spn-mini .elementor-menu-cart__product { border-bottom: 1px solid var(--linea-suave) !important; }
.spn-mini .elementor-menu-cart__product-price .product-quantity { color: var(--gris); }
.spn-mini dl.variation { margin: 6px 0 0; font: 400 12.5px/1.45 var(--sans); color: var(--gris); }
.spn-mini dl.variation dt { float: none !important; display: inline !important; margin: 0 !important; font-weight: 400; }
.spn-mini dl.variation dd { float: none !important; display: inline !important; margin: 0 .4em 0 0 !important; padding: 0 !important; }
.spn-mini dl.variation dd p { display: inline !important; margin: 0 !important; }
.spn-mini dl.variation dd::after { content: " ·"; color: var(--linea); }
.spn-mini dl.variation dd:last-of-type::after { content: ""; }
.spn-mini dl.variation dd { margin-left: .25em !important; }
.spn-mini .elementor-menu-cart__footer-buttons .elementor-button--checkout { min-height: 56px !important; }
.spn-mini .elementor-menu-cart__product-remove { display: block !important; opacity: 1 !important; visibility: visible !important; }
.spn-mini .elementor-menu-cart__product-remove::before, .spn-mini .elementor-menu-cart__product-remove::after { content: ""; position: absolute; top: 50%; left: 15px; width: 14px; height: 1px; background: var(--gris); transform: rotate(45deg); }
.spn-mini .elementor-menu-cart__product-remove::after { transform: rotate(-45deg); }
.spn-mini .elementor-menu-cart__product-remove:hover::before, .spn-mini .elementor-menu-cart__product-remove:hover::after { background: var(--tinta); }
@media (max-width: 767px) {
.spn-mini dl.variation dt { display: block !important; float: left !important; clear: left !important; margin-right: .3em !important; }
.spn-mini dl.variation dd { display: block !important; margin: 0 !important; }
.spn-mini dl.variation dd::after { content: "" !important; }
}
.spn-mini .elementor-menu-cart__product { padding-right: 48px !important; }
.spn-mini .elementor-menu-cart__product-remove { position: absolute !important; top: 12px !important; right: -8px !important; bottom: auto !important; left: auto !important; width: 44px !important; height: 44px !important; }

/* D9 («si a todo» de Gaizka, 09/11/2026): la burbuja de WhatsApp (Joinchat) a la derecha. Va en la cabecera porque sale en
   todas las páginas con ella; en carrito y pago, la cabecera reducida la oculta. Receta elementor.md, 10/11 (Joinchat izquierda). */
.joinchat { --sep: 20px; right: var(--sep) !important; left: auto !important; }
.joinchat--left .joinchat__button { left: auto !important; right: 0 !important; }
.joinchat--left .joinchat__box { left: auto !important; right: 0 !important; }
@media (max-width: 767px) { .joinchat { --sep: 16px; } }

/* Los desplegables también sin SmartMenus (el script de Pro no los abría dentro del bloque atómico): al pasar o con el foco */
.elementor .spn-cp .spn-cp-menu .elementor-nav-menu > li.menu-item-has-children { position: relative; }
.elementor .spn-cp .spn-cp-menu .elementor-nav-menu > li.menu-item-has-children:is(:hover, :focus-within) > .sub-menu { display: block !important; top: 100% !important; left: 0 !important; margin-top: 0 !important; width: auto; z-index: 40; }

/* ── Arreglos de la revisión de DAR del montaje (10/11/2026) ── */
/* B2.2: el sello de reCAPTCHA, oculto como en la cabecera publicada (la 23 lo hacía en el CSS de su contenedor) */
.grecaptcha-badge { display: none !important; }
/* B3: con el panel del móvil o el mini-carrito abiertos, la burbuja de WhatsApp se va (vive a z 9000 y la cabecera sticky, a 30,
   atrapa al Off-Canvas y al Carrito del menú en su contexto); y la cabecera sube mientras haya algo abierto */
body:has(.spn-cp-cab .e-off-canvas[aria-hidden="false"]) .joinchat, body:has(.spn-mini.elementor-menu-cart--shown) .joinchat { visibility: hidden !important; opacity: 0 !important; }
.elementor .spn-cp.spn-cp-cab:has(.e-off-canvas[aria-hidden="false"], .elementor-menu-cart--shown) { z-index: 9990; }
/* P1: el contador, en 600 y centrado con la bolsa (Pro lo pone en 400 con una regla más fuerte) */
.elementor .spn-cp .spn-cp-carrito .elementor-menu-cart__toggle .elementor-button-icon .elementor-button-icon-qty[data-counter] { font: 600 11px/1 var(--sans); color: var(--tinta); }
/* P2: la «×» del mini-carrito, en tinta y fina */
.elementor .spn-cp .spn-cp-carrito .elementor-menu-cart__close-button::before, .elementor .spn-cp .spn-cp-carrito .elementor-menu-cart__close-button::after { background: var(--tinta) !important; height: 1.5px; }
.elementor .spn-cp .spn-cp-carrito .woocommerce-mini-cart__empty-message { margin: 0; padding: 28px 26px; font: 400 15px/1.5 var(--sans); color: var(--texto); text-align: start; }
/* I7: el buscador del panel, como la maqueta (.spn-busca): lupa de línea dentro del campo y el botón solo para el teclado */
.elementor .spn-cp .spn-cp-busca .woocommerce-product-search { position: relative; display: flex; align-items: center; margin: 0 0 22px; }
.elementor .spn-cp .spn-cp-busca .woocommerce-product-search::before { content: ""; position: absolute; left: 14px; top: 50%; width: 18px; height: 18px; margin-top: -9px; background: var(--grafito); -webkit-mask: url(https://spinandprint.com/wp-content/uploads/2026/11/spn-cp-ico-lupa.svg) center / contain no-repeat; mask: url(https://spinandprint.com/wp-content/uploads/2026/11/spn-cp-ico-lupa.svg) center / contain no-repeat; pointer-events: none; }
.elementor .spn-cp .spn-cp-busca input[type=search] { padding: 0 14px 0 42px; -webkit-appearance: none; appearance: none; }
.elementor .spn-cp .spn-cp-busca input[type=search]:focus { outline: 0; border-color: var(--tinta); }
.elementor .spn-cp .spn-cp-busca button[type=submit] { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.elementor .spn-cp .spn-cp-busca button[type=submit]:focus-visible { position: static !important; width: auto; height: 48px; margin: 0 0 0 8px; padding: 0 14px; clip: auto; overflow: visible; box-shadow: inset 0 0 0 1px var(--tinta); }
/* P7: la «×» del buscador a pantalla completa, a la vista, en blanco, arriba a la derecha */
.elementor .spn-cp .spn-cp-buscar .elementor-search-form--full-screen .dialog-lightbox-close-button { position: absolute; top: 24px; right: 28px; inset-inline-end: 28px; margin: 0; display: grid; place-items: center; width: 44px; height: 44px; color: #fff; opacity: .9; }
.elementor .spn-cp .spn-cp-buscar .elementor-search-form--full-screen .dialog-lightbox-close-button svg { width: 22px; height: 22px; fill: currentColor; }
.elementor .spn-cp .spn-cp-buscar .elementor-search-form--full-screen .dialog-lightbox-close-button:hover { opacity: 1; }/* End custom CSS */