.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* 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; }

.elementor .spn-cp-pie { display: block; border-top: 1px solid var(--linea); background: var(--blanco); }
.elementor .spn-cp .spn-cp-pie-rejilla { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; padding-top: 56px; padding-bottom: 48px; }
.elementor .spn-cp .spn-cp-pie-logo, .elementor .spn-cp .spn-cp-pie-marca .e-image-link-base { display: block; width: 150px; }
.elementor .spn-cp .spn-cp-pie-logo img, .elementor .spn-cp img.spn-cp-pie-logo { width: 150px; }
.elementor .spn-cp .spn-cp-pie-frase { max-width: 21em; margin-top: 18px; font: 500 23px/1.25 var(--serif); color: var(--tinta); }
.elementor .spn-cp .spn-cp-enlace { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: var(--enlace); font: 600 15px/1.3 var(--sans); width: auto; }
.elementor .spn-cp .spn-cp-enlace span span { display: inline-block; margin-left: 8px; transition: transform .5s var(--frenada); }
.elementor .spn-cp .spn-cp-enlace:hover span span { transform: translateX(4px); }
.elementor .spn-cp .spn-cp-pie-casa { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--linea-suave); }
.elementor .spn-cp .spn-cp-pie-lista { display: grid; gap: 10px; }
.elementor .spn-cp .spn-cp-fila { display: flex; gap: 10px; align-items: flex-start; font: 400 15px/1.45 var(--sans); color: var(--tinta); }
.elementor .spn-cp .spn-cp-fila .e-svg-base { width: 18px; height: 18px; margin-top: 1px; color: var(--grafito); }
.elementor .spn-cp a.spn-cp-fila:hover .spn-cp-fila-texto { text-decoration: underline; }
.elementor .spn-cp .spn-cp-fila--horario { font-size: 13.5px; color: var(--gris); }
.elementor .spn-cp .spn-cp-pie-h { margin: 0 0 16px; font: 500 12px/1.3 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--grafito); }
.elementor .spn-cp .spn-cp-pie-legales { gap: 8px; }
.elementor .spn-cp .spn-cp-pie-legal-enlace { display: block; font: 400 15px/1.45 var(--sans); color: var(--tinta); }
.elementor .spn-cp .spn-cp-pie-legal-enlace:hover { text-decoration: underline; }
.elementor .spn-cp .spn-cp-pagos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 33px; }
.elementor .spn-cp .spn-cp-pagos img { width: auto; height: 18px; filter: grayscale(1) contrast(1.15); mix-blend-mode: multiply; opacity: .75; }
.elementor .spn-cp .spn-cp-pagos img[alt="Mastercard"] { height: 20px; }
.elementor .spn-cp .spn-cp-pie-base { border-top: 1px solid var(--linea-suave); }
.elementor .spn-cp .spn-cp-pie-copy { padding-top: 16px; padding-bottom: 20px; font: 400 12.5px/1.4 var(--sans); color: var(--gris); }
@media (max-width: 1100px) {
  .elementor .spn-cp .spn-cp-pie-rejilla { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .elementor .spn-cp .spn-cp-pie-marca { grid-column: 1 / -1; }
  .elementor .spn-cp .spn-cp-pagos { margin-top: 22px; }
}
@media (max-width: 767px) {
  .elementor .spn-cp .spn-cp-pie-rejilla { grid-template-columns: 1fr; gap: 0; padding-top: 40px; padding-bottom: 24px; }
  .elementor .spn-cp .spn-cp-pie-rejilla > .e-div-block-base { padding: 24px 0; border-top: 1px solid var(--linea-suave); }
  .elementor .spn-cp .spn-cp-pie-rejilla > .spn-cp-pie-marca { padding-top: 0; border-top: 0; }
  .elementor .spn-cp .spn-cp-pie-frase { font-size: 21px; }
  .elementor .spn-cp .spn-cp-pie-casa { margin-top: 20px; padding-top: 18px; }
}/* End custom CSS */