/* ==========================================================================
   Escayola Saz · Diseño 2026
   Paleta y tipografía del catálogo 2026: crema, oro viejo y tinta.
   Prefijo de clases: saz-  ·  Fuentes: Cormorant Garamond (títulos) + Jost (texto)
   ========================================================================== */

:root{
	--saz-cream:   #F7F4EF;   /* fondo general */
	--saz-paper:   #FFFFFF;   /* tarjetas */
	--saz-sand:    #EFE9E1;   /* rellenos suaves */
	--saz-line:    #E3DACE;   /* bordes */
	--saz-gold:    #B8916C;   /* oro (decoración, botones) */
	--saz-gold-2:  #8A6744;   /* oro oscuro (texto pequeño con contraste) */
	--saz-ink:     #2B2622;   /* texto */
	--saz-muted:   #6F655C;   /* texto secundario */
	--saz-dark:    #221E1B;   /* pie */
	--saz-ok:      #4F7A5A;
	--saz-error:   #A5483B;
	--saz-serif:   'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--saz-sans:    'Jost', 'Helvetica Neue', Arial, sans-serif;
	--saz-radius:  4px;
	--saz-shadow:  0 1px 2px rgba(43,38,34,.04), 0 8px 28px rgba(43,38,34,.07);
	--saz-wrap:    1240px;
	--saz-gutter:  24px;
	--saz-head-h:  76px;
}
@media (max-width: 767px){
	:root{ --saz-gutter: 16px; --saz-head-h: 60px; }
}

/* ---------- Base ---------- */
html{ -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body.saz26{
	margin: 0;
	background: var(--saz-cream);
	color: var(--saz-ink);
	font-family: var(--saz-sans);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}
.saz26 *, .saz26 *::before, .saz26 *::after{ box-sizing: border-box; }
.saz26 img{ max-width: 100%; height: auto; }
.saz26 a{ color: inherit; text-decoration: none; transition: color .2s ease; }
.saz26 a:hover, .saz26 a:focus{ color: var(--saz-gold-2); text-decoration: none; }
.saz26 :focus-visible{ outline: 2px solid var(--saz-gold); outline-offset: 2px; }
.saz26 h1, .saz26 h2, .saz26 h3, .saz26 h4{
	font-family: var(--saz-serif);
	font-weight: 500;
	line-height: 1.12;
	color: var(--saz-ink);
	margin: 0 0 .5em;
	letter-spacing: 0;
	text-transform: none;
}
.saz26 p{ margin: 0 0 1em; }
.saz26 button{ font-family: inherit; }
.saz-sr{ position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.saz-wrap{ width: 100%; max-width: var(--saz-wrap); margin: 0 auto; padding: 0 var(--saz-gutter); }
.saz-main{ min-height: 50vh; }
.saz-section{ padding: 72px 0; }
.saz-section--tight{ padding: 44px 0; }
.saz-section--paper{ background: var(--saz-paper); }
.saz-section--sand{ background: var(--saz-sand); }
@media (max-width: 767px){
	.saz-section{ padding: 48px 0; }
	.saz-section--tight{ padding: 32px 0; }
}

/* ---------- Tipografía de marca ---------- */
.saz-eyebrow{
	display: block;
	font-family: var(--saz-sans);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--saz-muted);
	margin-bottom: 10px;
}
.saz-title{ font-size: clamp(32px, 4.2vw, 50px); }
.saz-title em{ font-style: italic; color: var(--saz-gold); }
.saz-lead{ font-size: 17px; color: var(--saz-muted); max-width: 60ch; }
.saz-head{ display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 36px; flex-wrap: wrap; }
.saz-head--center{ flex-direction: column; align-items: center; text-align: center; }
.saz-head .saz-title{ margin: 0; }
.saz-rule{ display: block; width: 56px; height: 1px; background: var(--saz-gold); margin: 18px 0 0; }
.saz-head--center .saz-rule{ margin: 18px auto 0; }

/* ---------- Botones ---------- */
.saz-btn{
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 46px; padding: 12px 26px;
	border: 1px solid var(--saz-gold); border-radius: 999px;
	background: transparent; color: var(--saz-gold-2) !important;
	font-family: var(--saz-sans); font-weight: 500; font-size: 12.5px; line-height: 1.2;
	letter-spacing: .22em; text-transform: uppercase; text-align: center;
	cursor: pointer; white-space: nowrap;
	transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}
.saz-btn:hover, .saz-btn:focus{ background: var(--saz-gold); color: #fff !important; }
.saz-btn svg{ width: 15px; height: 15px; flex: 0 0 auto; }
.saz-btn--solid{ background: var(--saz-gold); color: #fff !important; }
.saz-btn--solid:hover, .saz-btn--solid:focus{ background: var(--saz-gold-2); border-color: var(--saz-gold-2); }
.saz-btn--dark{ background: var(--saz-ink); border-color: var(--saz-ink); color: #fff !important; }
.saz-btn--dark:hover, .saz-btn--dark:focus{ background: var(--saz-gold-2); border-color: var(--saz-gold-2); }
.saz-btn--light{ border-color: rgba(255,255,255,.7); color: #fff !important; }
.saz-btn--light:hover, .saz-btn--light:focus{ background: #fff; color: var(--saz-ink) !important; border-color: #fff; }
.saz-btn--block{ display: flex; width: 100%; }
.saz-btn--sm{ min-height: 38px; padding: 9px 18px; font-size: 11.5px; }
.saz-btn[disabled]{ opacity: .5; cursor: not-allowed; }

.saz-link{
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 12.5px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase;
	color: var(--saz-gold-2) !important;
	border-bottom: 1px solid currentColor; padding-bottom: 3px;
}
.saz-link svg{ width: 14px; height: 14px; transition: transform .25s ease; }
.saz-link:hover svg{ transform: translateX(3px); }

/* ---------- Logo (columna + SAZ + ESCAYOLA) ---------- */
.saz-logo{ display: inline-flex; flex-direction: column; align-items: center; color: var(--saz-gold) !important; line-height: 1; }
.saz-logo__col{ width: 34px; height: auto; margin-bottom: 4px; }
.saz-logo__saz{ font-family: var(--saz-serif); font-weight: 500; font-size: 36px; letter-spacing: .05em; line-height: .9; color: var(--saz-gold); }
.saz-logo__esc{ margin-top: 5px; font-family: var(--saz-sans); font-size: 9.5px; letter-spacing: .44em; margin-right: -.44em; color: var(--saz-ink); }
.saz-logo:hover .saz-logo__saz{ color: var(--saz-gold-2); }

/* ==========================================================================
   CABECERA
   ========================================================================== */
.saz-topbar{ background: var(--saz-ink); color: #E9E2D8; font-size: 12.5px; letter-spacing: .04em; }
.saz-topbar .saz-wrap{ display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 38px; }
.saz-topbar a{ color: #E9E2D8 !important; }
.saz-topbar a:hover{ color: #fff !important; }
.saz-topbar__info{ display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.saz-topbar__info span, .saz-topbar__info a{ display: inline-flex; align-items: center; gap: 7px; }
.saz-topbar__info svg{ width: 14px; height: 14px; color: var(--saz-gold); }
.saz-topbar__side{ display: flex; align-items: center; gap: 18px; }
.saz-langs{ display: inline-flex; align-items: center; gap: 2px; }
.saz-langs a{ padding: 3px 7px; border-radius: 999px; font-weight: 500; font-size: 11.5px; letter-spacing: .14em; opacity: .7; }
.saz-langs a.is-on{ opacity: 1; background: rgba(255,255,255,.12); }
.saz-langs a:hover{ opacity: 1; }
.saz-topbar__promo{ background: var(--saz-gold); color: #fff; text-align: center; font-size: 13px; padding: 7px var(--saz-gutter); letter-spacing: .03em; }
.saz-topbar__promo a{ color: #fff !important; text-decoration: underline !important; }

.saz-header{ position: sticky; top: 0; z-index: 900; background: rgba(247,244,239,.94); -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid var(--saz-line); transition: box-shadow .3s ease; }
.saz-header.is-stuck{ box-shadow: 0 6px 24px rgba(43,38,34,.08); }
.saz-header__bar{ display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding-top: 14px; padding-bottom: 10px; transition: padding .3s ease; }
.saz-header.is-stuck .saz-header__bar{ padding-top: 8px; padding-bottom: 4px; }
.saz-header.is-stuck .saz-logo__col{ width: 26px; }
.saz-header.is-stuck .saz-logo__saz{ font-size: 30px; }
.saz-header__left{ display: flex; align-items: center; gap: 10px; }
.saz-header__right{ display: flex; align-items: center; justify-content: flex-end; gap: 6px; }

.saz-search{ position: relative; width: 100%; max-width: 300px; }
.saz-search input{
	width: 100%; height: 42px; padding: 0 44px 0 18px;
	border: 1px solid var(--saz-line); border-radius: 999px; background: var(--saz-paper);
	font-family: var(--saz-sans); font-size: 14px; color: var(--saz-ink);
	transition: border-color .2s ease, box-shadow .2s ease;
}
.saz-search input::placeholder{ color: #9C928A; }
.saz-search input:focus{ outline: none; border-color: var(--saz-gold); box-shadow: 0 0 0 3px rgba(184,145,108,.18); }
.saz-search button{ position: absolute; right: 4px; top: 4px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: transparent; color: var(--saz-ink); cursor: pointer; display: grid; place-items: center; }
.saz-search button:hover{ background: var(--saz-sand); }
.saz-search svg{ width: 17px; height: 17px; }

.saz-iconbtn{ position: relative; display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 12px; border: 0; border-radius: 999px; background: transparent; color: var(--saz-ink) !important; cursor: pointer; font-size: 13px; font-weight: 500; letter-spacing: .06em; }
.saz-iconbtn:hover{ background: var(--saz-sand); color: var(--saz-ink) !important; }
.saz-iconbtn svg{ width: 21px; height: 21px; flex: 0 0 auto; }
.saz-iconbtn__label{ white-space: nowrap; }
.saz-badge-count{ position: absolute; top: 3px; left: 25px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--saz-gold); color: #fff; font-size: 10.5px; font-weight: 600; line-height: 18px; text-align: center; letter-spacing: 0; }

/* Carrito desplegable */
.saz-cart{ position: relative; }
.saz-cart__panel{
	position: absolute; right: 0; top: calc(100% + 10px); width: 340px; z-index: 950;
	background: var(--saz-paper); border: 1px solid var(--saz-line); border-radius: var(--saz-radius); box-shadow: var(--saz-shadow);
	padding: 18px; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.saz-cart:hover .saz-cart__panel, .saz-cart:focus-within .saz-cart__panel{ opacity: 1; visibility: visible; transform: none; }
.saz-cart__panel::before{ content: ""; position: absolute; top: -11px; left: 0; right: 0; height: 11px; }
.saz-cart__title{ font-family: var(--saz-serif); font-size: 22px; margin: 0 0 12px; }
.saz-cart__list{ list-style: none; margin: 0 0 14px; padding: 0; max-height: 300px; overflow: auto; }
.saz-cart__item{ display: grid; grid-template-columns: 54px 1fr auto; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--saz-line); }
.saz-cart__item:first-child{ border-top: 0; }
.saz-cart__thumb{ width: 54px; height: 54px; border-radius: var(--saz-radius); overflow: hidden; background: #111; }
.saz-cart__thumb img{ width: 100%; height: 100%; object-fit: cover; }
.saz-cart__name{ font-size: 13.5px; line-height: 1.35; }
.saz-cart__qty{ display: block; font-size: 12px; color: var(--saz-muted); }
.saz-cart__remove{ width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: var(--saz-muted) !important; }
.saz-cart__remove:hover{ background: var(--saz-sand); color: var(--saz-error) !important; }
.saz-cart__remove svg{ width: 14px; height: 14px; }
.saz-cart__empty{ color: var(--saz-muted); font-size: 14px; margin: 0 0 14px; }

/* Navegación */
.saz-nav{ border-top: 1px solid transparent; }
.saz-nav__list{ display: flex; justify-content: center; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.saz-nav__item{ position: static; }
.saz-nav__link{
	display: inline-flex; align-items: center; gap: 6px; padding: 12px 14px 14px;
	font-size: 12.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--saz-ink) !important;
	position: relative; background: none; border: 0; cursor: pointer;
}
.saz-nav__link::after{ content: ""; position: absolute; left: 14px; right: 14px; bottom: 8px; height: 1px; background: var(--saz-gold); transform: scaleX(0); transition: transform .25s ease; }
.saz-nav__link:hover::after, .saz-nav__link.is-active::after, .saz-nav__item:hover > .saz-nav__link::after{ transform: scaleX(1); }
.saz-nav__link svg{ width: 12px; height: 12px; }

/* Mega menú de categorías */
.saz-mega{
	position: absolute; left: 0; right: 0; top: 100%; z-index: 940;
	background: var(--saz-paper); border-top: 1px solid var(--saz-line); border-bottom: 1px solid var(--saz-line); box-shadow: 0 24px 40px rgba(43,38,34,.08);
	opacity: 0; visibility: hidden; transform: translateY(4px); transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.saz-nav__item:hover > .saz-mega, .saz-nav__item:focus-within > .saz-mega, .saz-nav__item.is-open > .saz-mega{ opacity: 1; visibility: visible; transform: none; }
.saz-mega__inner{ display: grid; grid-template-columns: 1fr 300px; gap: 40px; padding: 32px var(--saz-gutter) 36px; }
.saz-mega__cols{ columns: 4 170px; column-gap: 28px; list-style: none; margin: 0; padding: 0; }
.saz-mega__cols li{ break-inside: avoid; }
.saz-mega__cols a{ display: block; padding: 6px 0; font-size: 14.5px; color: var(--saz-ink) !important; }
.saz-mega__cols a:hover{ color: var(--saz-gold-2) !important; padding-left: 4px; }
.saz-mega__feature{ display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; min-height: 220px; padding: 24px; border-radius: var(--saz-radius); background: var(--saz-sand) center/cover no-repeat; position: relative; overflow: hidden; color: var(--saz-ink) !important; }
.saz-mega__feature::before{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(247,244,239,0) 20%, rgba(247,244,239,.95) 72%); }
.saz-mega__feature > *{ position: relative; }
.saz-mega__feature strong{ font-family: var(--saz-serif); font-weight: 500; font-size: 28px; line-height: 1; }
.saz-mega__feature strong em{ color: var(--saz-gold); font-style: normal; font-weight: 600; }
.saz-mega__all{ margin-top: 18px; }

/* Botón menú móvil (oculto en escritorio) */
.saz-burger{ display: none; }

/* ---------- Cabecera en móvil y tablet ---------- */
@media (max-width: 991px){
	.saz-topbar__info .saz-hide-md{ display: none; }
	.saz-header__bar{ grid-template-columns: auto 1fr auto; gap: 8px; padding-top: 8px; padding-bottom: 8px; }
	.saz-header__left{ order: 0; }
	.saz-header__brand{ text-align: center; }
	.saz-header .saz-search--desk, .saz-header .saz-nav, .saz-iconbtn__label{ display: none; }
	.saz-burger{ display: inline-flex; }
	.saz-logo__col{ width: 24px; margin-bottom: 2px; }
	.saz-logo__saz{ font-size: 27px; }
	.saz-logo__esc{ font-size: 8px; margin-top: 3px; }
	.saz-header.is-stuck .saz-logo__col{ width: 22px; }
	.saz-header.is-stuck .saz-logo__saz{ font-size: 25px; }
	.saz-cart__panel{ display: none; }
	.saz-header__search-m{ display: block; padding: 0 var(--saz-gutter) 10px; }
	.saz-header__search-m .saz-search{ max-width: none; }
}
@media (min-width: 992px){ .saz-header__search-m{ display: none; } }
@media (max-width: 600px){
	.saz-topbar .saz-wrap{ justify-content: center; }
	.saz-topbar__info{ display: none; }
	.saz-topbar__side{ width: 100%; justify-content: space-between; }
}

/* ---------- Menú lateral (móvil) ---------- */
.saz-drawer{ position: fixed; inset: 0; z-index: 2000; visibility: hidden; }
.saz-drawer.is-open{ visibility: visible; }
.saz-drawer__shade{ position: absolute; inset: 0; background: rgba(34,30,27,.45); opacity: 0; transition: opacity .3s ease; }
.saz-drawer.is-open .saz-drawer__shade{ opacity: 1; }
.saz-drawer__panel{ position: absolute; top: 0; bottom: 0; left: 0; width: min(88vw, 380px); background: var(--saz-cream); transform: translateX(-100%); transition: transform .35s cubic-bezier(.2,.8,.2,1); display: flex; flex-direction: column; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.saz-drawer.is-open .saz-drawer__panel{ transform: none; }
.saz-drawer__head{ display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--saz-line); }
.saz-drawer__nav{ list-style: none; margin: 0; padding: 8px 0; }
.saz-drawer__nav > li > a, .saz-drawer__nav > li > button{
	display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 14px 20px;
	border: 0; background: none; text-align: left; cursor: pointer;
	font-family: var(--saz-sans); font-size: 14px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--saz-ink) !important;
}
.saz-drawer__nav > li{ border-bottom: 1px solid var(--saz-line); }
.saz-drawer__nav button svg{ width: 14px; height: 14px; transition: transform .25s ease; }
.saz-drawer__nav button[aria-expanded="true"] svg{ transform: rotate(180deg); }
.saz-drawer__sub{ list-style: none; margin: 0; padding: 0 20px 14px; display: none; }
.saz-drawer__sub.is-open{ display: block; }
.saz-drawer__sub a{ display: block; padding: 8px 0 8px 12px; border-left: 1px solid var(--saz-line); font-size: 15px; color: var(--saz-ink) !important; }
.saz-drawer__sub a:hover{ border-left-color: var(--saz-gold); }
.saz-drawer__foot{ margin-top: auto; padding: 20px; display: grid; gap: 14px; background: var(--saz-sand); font-size: 14px; }
.saz-drawer__foot .saz-langs a{ color: var(--saz-ink) !important; border: 1px solid var(--saz-line); opacity: 1; padding: 6px 12px; }
.saz-drawer__foot .saz-langs a.is-on{ background: var(--saz-ink); color: #fff !important; border-color: var(--saz-ink); }
.saz-drawer__contact{ display: grid; gap: 6px; color: var(--saz-muted); }
.saz-drawer__contact a{ color: var(--saz-ink) !important; font-weight: 500; }
html.saz-noscroll, html.saz-noscroll body{ overflow: hidden; }

/* ==========================================================================
   MIGAS, PAGINACIÓN, AVISOS, INSIGNIAS
   ========================================================================== */
.saz-crumbs{ display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 18px; padding: 0; list-style: none; font-size: 12.5px; letter-spacing: .08em; color: var(--saz-muted); }
.saz-crumbs li + li::before{ content: "/"; margin-right: 8px; color: var(--saz-line); }
.saz-crumbs a{ color: var(--saz-muted) !important; }
.saz-crumbs a:hover{ color: var(--saz-gold-2) !important; }

.saz-pages{ display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: center; margin: 36px 0 0; padding: 0; list-style: none; }
.saz-pages a, .saz-pages strong, .saz-pages span{ display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding: 0 10px; border: 1px solid var(--saz-line); border-radius: 999px; font-size: 14px; color: var(--saz-ink) !important; background: var(--saz-paper); }
.saz-pages a:hover{ border-color: var(--saz-gold); color: var(--saz-gold-2) !important; }
.saz-pages strong{ background: var(--saz-ink); border-color: var(--saz-ink); color: #fff !important; font-weight: 500; }

.saz-alert{ padding: 14px 18px; border-radius: var(--saz-radius); border: 1px solid var(--saz-line); background: var(--saz-paper); font-size: 14.5px; margin: 0 0 20px; }
.saz-alert--ok{ border-color: rgba(79,122,90,.35); background: #F1F6F1; color: #2F5238; }
.saz-alert--error{ border-color: rgba(165,72,59,.35); background: #FBF1EF; color: #7E3328; }
.saz-alert--info{ border-color: rgba(184,145,108,.45); background: #FBF6EF; color: var(--saz-ink); }

.saz-tag{ display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--saz-sand); font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--saz-ink); }
.saz-tag--gold{ background: var(--saz-gold); color: #fff; }
.saz-tag--ok{ background: #E5EFE6; color: #2F5238; }
.saz-tag--warn{ background: #F6EBD9; color: #7A5524; }

/* ==========================================================================
   FORMULARIOS
   ========================================================================== */
.saz-field{ display: grid; gap: 6px; margin-bottom: 16px; }
.saz-field > label, .saz-label{ font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--saz-muted); }
.saz-input, .saz-select, .saz-textarea,
.saz26 .saz-form input[type=text], .saz26 .saz-form input[type=email], .saz26 .saz-form input[type=password],
.saz26 .saz-form input[type=tel], .saz26 .saz-form input[type=number], .saz26 .saz-form select, .saz26 .saz-form textarea{
	width: 100%; min-height: 48px; padding: 12px 16px;
	border: 1px solid var(--saz-line); border-radius: var(--saz-radius); background: var(--saz-paper);
	font-family: var(--saz-sans); font-size: 15px; color: var(--saz-ink); line-height: 1.4;
	transition: border-color .2s ease, box-shadow .2s ease; -webkit-appearance: none; appearance: none;
}
.saz-textarea, .saz26 .saz-form textarea{ min-height: 130px; resize: vertical; }
.saz-select, .saz26 .saz-form select{ padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%236F655C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 14px; }
.saz-input:focus, .saz-select:focus, .saz-textarea:focus,
.saz26 .saz-form input:focus, .saz26 .saz-form select:focus, .saz26 .saz-form textarea:focus{ outline: none; border-color: var(--saz-gold); box-shadow: 0 0 0 3px rgba(184,145,108,.18); }
.saz-input::placeholder, .saz-textarea::placeholder{ color: #A39990; }
.saz-check{ display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--saz-ink); cursor: pointer; }
.saz-check input{ width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--saz-gold); flex: 0 0 auto; }
.saz-form-grid{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 18px; }
.saz-form-grid .is-full{ grid-column: 1 / -1; }
@media (max-width: 600px){ .saz-form-grid{ grid-template-columns: 1fr; } }
.saz-hint{ font-size: 13px; color: var(--saz-muted); }

/* ==========================================================================
   TARJETAS Y REJILLAS
   ========================================================================== */
.saz-card{ background: var(--saz-paper); border: 1px solid var(--saz-line); border-radius: var(--saz-radius); padding: 28px; }
.saz-card--flat{ border: 0; box-shadow: var(--saz-shadow); }
@media (max-width: 600px){ .saz-card{ padding: 20px; } }

.saz-grid{ display: grid; gap: 24px; }
.saz-grid--2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.saz-grid--3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.saz-grid--4{ grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 991px){ .saz-grid--4{ grid-template-columns: repeat(3, minmax(0,1fr)); } .saz-grid--3{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 767px){ .saz-grid{ gap: 14px; } .saz-grid--4, .saz-grid--3{ grid-template-columns: repeat(2, minmax(0,1fr)); } .saz-grid--2{ grid-template-columns: 1fr; } }

/* Tarjeta de categoría (imagen + nombre) */
.saz-cat{ position: relative; display: block; overflow: hidden; border-radius: var(--saz-radius); background: var(--saz-sand); aspect-ratio: 4 / 5; color: #fff !important; isolation: isolate; }
.saz-cat img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.8,.2,1); z-index: -1; }
.saz-cat::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(34,30,27,0) 45%, rgba(34,30,27,.72) 100%); z-index: -1; }
.saz-cat:hover img{ transform: scale(1.05); }
.saz-cat__body{ position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 18px 16px; display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; }
.saz-cat__name{ font-family: var(--saz-serif); font-size: 24px; font-weight: 500; line-height: 1.05; color: #fff; }
.saz-cat__go{ flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(255,255,255,.65); display: grid; place-items: center; transition: background .25s ease, border-color .25s ease; }
.saz-cat__go svg{ width: 14px; height: 14px; }
.saz-cat:hover .saz-cat__go{ background: var(--saz-gold); border-color: var(--saz-gold); }
@media (max-width: 767px){ .saz-cat__name{ font-size: 19px; } .saz-cat__body{ padding: 12px; } .saz-cat__go{ display: none; } }

/* Tarjeta de producto */
.saz-prod{ display: flex; flex-direction: column; background: var(--saz-paper); border: 1px solid var(--saz-line); border-radius: var(--saz-radius); overflow: hidden; transition: box-shadow .3s ease, transform .3s ease, border-color .3s ease; color: var(--saz-ink) !important; height: 100%; }
.saz-prod:hover{ box-shadow: var(--saz-shadow); transform: translateY(-2px); border-color: #D9CDBD; }
.saz-prod__media{ position: relative; aspect-ratio: 1 / 1; background: #0E0D0C; overflow: hidden; }
.saz-prod__media img{ width: 100%; height: 100%; object-fit: contain; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.saz-prod:hover .saz-prod__media img{ transform: scale(1.04); }
.saz-prod__flag{ position: absolute; top: 10px; left: 10px; }
.saz-prod__body{ padding: 14px 16px 16px; display: grid; gap: 4px; }
.saz-prod__ref{ font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--saz-gold-2); }
.saz-prod__name{ font-family: var(--saz-serif); font-size: 20px; line-height: 1.15; color: var(--saz-ink); }
.saz-prod__meta{ font-size: 13px; color: var(--saz-muted); }
.saz-prod__price{ margin-top: 4px; font-size: 15px; font-weight: 500; }
.saz-prod__price del{ color: #A39990; font-weight: 400; margin-right: 6px; }
@media (max-width: 767px){ .saz-prod__body{ padding: 10px 12px 12px; } .saz-prod__name{ font-size: 17px; } .saz-prod__ref{ font-size: 10px; letter-spacing: .14em; } }

/* ==========================================================================
   TABLAS (carrito, pedidos)
   ========================================================================== */
.saz-table{ width: 100%; border-collapse: collapse; background: var(--saz-paper); border: 1px solid var(--saz-line); border-radius: var(--saz-radius); overflow: hidden; font-size: 14.5px; }
.saz-table th{ text-align: left; padding: 14px 16px; font-size: 11.5px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--saz-muted); background: #FBF9F6; border-bottom: 1px solid var(--saz-line); }
.saz-table td{ padding: 14px 16px; border-bottom: 1px solid var(--saz-line); vertical-align: middle; }
.saz-table tr:last-child td{ border-bottom: 0; }
.saz-table .is-num{ text-align: right; white-space: nowrap; }
@media (max-width: 767px){
	.saz-table--stack thead{ display: none; }
	.saz-table--stack, .saz-table--stack tbody, .saz-table--stack tr, .saz-table--stack td{ display: block; width: 100%; }
	.saz-table--stack tr{ padding: 12px 14px; border-bottom: 1px solid var(--saz-line); }
	.saz-table--stack td{ padding: 4px 0; border: 0; display: flex; justify-content: space-between; gap: 12px; }
	.saz-table--stack td[data-l]::before{ content: attr(data-l); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--saz-muted); }
	.saz-table--stack .is-num{ text-align: right; }
}

/* ==========================================================================
   PIE
   ========================================================================== */
.saz-trust{ background: var(--saz-paper); border-top: 1px solid var(--saz-line); }
.saz-trust__list{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; padding-top: 34px; padding-bottom: 34px; margin: 0 auto; list-style: none; }
.saz-trust__list li{ display: flex; align-items: center; gap: 16px; font-size: 14px; color: var(--saz-ink); line-height: 1.4; }
.saz-trust__list svg{ flex: 0 0 auto; width: 42px; height: 42px; padding: 10px; border: 1px solid var(--saz-gold); border-radius: 50%; color: var(--saz-gold); }
.saz-trust__list strong{ display: block; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; font-size: 12px; }
@media (max-width: 767px){ .saz-trust__list{ grid-template-columns: 1fr; gap: 16px; padding-top: 24px; padding-bottom: 24px; } }

.saz-footer{ background: var(--saz-dark); color: #CFC6BA; font-size: 14.5px; }
.saz-footer a{ color: #CFC6BA !important; }
.saz-footer a:hover{ color: #fff !important; }
.saz-footer__top{ display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; gap: 40px; padding: 64px 0 48px; }
.saz-footer .saz-logo__esc{ color: #E9E2D8; }
.saz-footer__about{ margin-top: 18px; max-width: 34ch; color: #A99F93; }
.saz-footer h3{ font-family: var(--saz-sans); font-size: 12px; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; color: var(--saz-gold); margin: 6px 0 18px; }
.saz-footer ul{ list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.saz-footer__contact li{ display: flex; gap: 10px; align-items: flex-start; }
.saz-footer__contact svg{ flex: 0 0 auto; width: 16px; height: 16px; margin-top: 4px; color: var(--saz-gold); }
.saz-footer__social{ display: flex; gap: 10px; margin-top: 20px; }
.saz-footer__social a{ width: 38px; height: 38px; border: 1px solid rgba(207,198,186,.3); border-radius: 50%; display: grid; place-items: center; }
.saz-footer__social a:hover{ border-color: var(--saz-gold); background: var(--saz-gold); }
.saz-footer__social svg{ width: 16px; height: 16px; }
.saz-footer__cat{ display: block; padding: 22px; border: 1px solid rgba(184,145,108,.45); border-radius: var(--saz-radius); }
.saz-footer__cat strong{ display: block; font-family: var(--saz-serif); font-size: 28px; font-weight: 500; color: #fff; line-height: 1.05; margin-bottom: 14px; }
.saz-footer__cat strong em{ font-style: normal; color: var(--saz-gold); font-weight: 600; }
.saz-footer__bottom{ border-top: 1px solid rgba(207,198,186,.14); }
.saz-footer__bottom .saz-wrap{ display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 18px; padding-bottom: 18px; font-size: 12.5px; color: #8F857A; flex-wrap: wrap; }
.saz-footer__bottom img{ height: 18px; width: auto; opacity: .55; filter: brightness(2); }
.saz-footer__bottom a:hover img{ opacity: .9; }
@media (max-width: 991px){ .saz-footer__top{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px){ .saz-footer__top{ grid-template-columns: 1fr; gap: 32px; padding: 44px 0 32px; } .saz-footer__bottom .saz-wrap{ justify-content: center; text-align: center; } }

/* Botón flotante de WhatsApp */
.saz-wa{ position: fixed; right: 20px; bottom: 20px; z-index: 1500; display: inline-flex; align-items: center; gap: 10px; height: 56px; padding: 0 20px 0 16px; border-radius: 999px; background: #1F8F4E; color: #fff !important; box-shadow: 0 10px 28px rgba(31,143,78,.35); font-size: 14px; font-weight: 500; letter-spacing: .02em; transition: transform .25s ease, background .25s ease; }
.saz-wa:hover{ background: #187A41; color: #fff !important; transform: translateY(-2px); }
.saz-wa svg{ width: 26px; height: 26px; }
@media (max-width: 767px){ .saz-wa{ right: 14px; bottom: 14px; width: 54px; height: 54px; padding: 0; justify-content: center; } .saz-wa span{ display: none; } }

/* Aviso de cookies */
.saz-cookies{ position: fixed; left: 20px; bottom: 20px; z-index: 1600; max-width: 420px; padding: 20px; background: var(--saz-paper); border: 1px solid var(--saz-line); border-radius: var(--saz-radius); box-shadow: var(--saz-shadow); font-size: 14px; display: none; }
.saz-cookies.is-on{ display: block; }
.saz-cookies p{ margin: 0 0 14px; color: var(--saz-muted); }
.saz-cookies__actions{ display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 600px){ .saz-cookies{ left: 10px; right: 10px; bottom: 80px; max-width: none; } }

/* Utilidades */
.saz-center{ text-align: center; }
.saz-muted{ color: var(--saz-muted); }
.saz-gold{ color: var(--saz-gold); }
.saz-mt-0{ margin-top: 0 !important; }
.saz-mb-0{ margin-bottom: 0 !important; }
.saz-stack{ display: grid; gap: 14px; }
.saz-row{ display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.saz-hide-mobile{ }
@media (max-width: 767px){ .saz-hide-mobile{ display: none !important; } }
@media (min-width: 768px){ .saz-only-mobile{ display: none !important; } }
.saz-reveal{ opacity: 0; transform: translateY(14px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.saz-reveal.is-in{ opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce){ .saz-reveal{ opacity: 1; transform: none; transition: none; } .saz26 *{ transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* ---------- Ventana de avisos ---------- */
.saz-modal{ position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; padding: 16px; }
.saz-modal[hidden]{ display: none; }
.saz-modal__shade{ position: absolute; inset: 0; background: rgba(34,30,27,.5); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); animation: sazFade .2s ease; }
.saz-modal__box{ position: relative; width: 100%; max-width: 420px; padding: 30px 28px 26px; background: var(--saz-cream); border-radius: 6px; box-shadow: 0 30px 80px rgba(34,30,27,.3); text-align: center; animation: sazPop .25s cubic-bezier(.2,.8,.2,1); }
.saz-modal__box::before{ content: ""; display: block; width: 40px; height: 1px; margin: 0 auto 18px; background: var(--saz-gold); }
.saz-modal__msg{ font-family: var(--saz-serif); font-size: 23px; line-height: 1.25; color: var(--saz-ink); margin-bottom: 22px; }
.saz-modal__actions{ display: grid; gap: 10px; }
@keyframes sazFade{ from{ opacity: 0; } to{ opacity: 1; } }
@keyframes sazPop{ from{ opacity: 0; transform: translateY(10px) scale(.98); } to{ opacity: 1; transform: none; } }

/* ---------- Pestañas de la zona de cliente ---------- */
.saz-account-nav{ background: var(--saz-paper); border-bottom: 1px solid var(--saz-line); }
.saz-account-nav .saz-wrap{ display: flex; gap: 6px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-top: 10px; padding-bottom: 10px; }
.saz-account-nav .saz-wrap::-webkit-scrollbar{ display: none; }
.saz-account-nav a{ flex: 0 0 auto; padding: 8px 16px; border-radius: 999px; font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--saz-muted) !important; }
.saz-account-nav a:hover{ background: var(--saz-sand); color: var(--saz-ink) !important; }
.saz-account-nav a.is-on{ background: var(--saz-ink); color: #fff !important; }

/* ---------- Estados ---------- */
.saz-btn.is-loading{ position: relative; color: transparent !important; pointer-events: none; }
.saz-btn.is-loading::after{ content: ""; position: absolute; width: 18px; height: 18px; border: 2px solid currentColor; border-color: #fff #fff transparent transparent; border-radius: 50%; animation: sazSpin .7s linear infinite; }
.saz-btn:not(.saz-btn--solid):not(.saz-btn--dark).is-loading::after{ border-color: var(--saz-gold) var(--saz-gold) transparent transparent; }
@keyframes sazSpin{ to{ transform: rotate(360deg); } }

/* ---------- Página incrustada en el CMS (iframe) ---------- */
body.saz-embed{ background: var(--saz-paper); }
body.saz-embed .saz-main{ min-height: 0; }

/* Icono suelto en la navegación (Instagram) */
.saz-nav__link svg:only-child{ width: 18px; height: 18px; }
.saz-nav__link[aria-label]::after{ display: none; }

/* ==========================================================================
   PORTADA
   ========================================================================== */
.saz-hero{ position: relative; overflow: hidden; }
.saz-hero__grid{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 56px; align-items: center; padding-top: 56px; padding-bottom: 64px; }
.saz-hero__title{ font-size: clamp(40px, 5.4vw, 72px); line-height: 1.02; margin: 0 0 22px; }
.saz-hero__title em{ display: block; font-style: italic; color: var(--saz-gold); }
.saz-hero__lead{ font-size: 18px; color: var(--saz-muted); max-width: 46ch; margin: 0 0 30px; }
.saz-hero__actions{ display: flex; gap: 12px; flex-wrap: wrap; }
.saz-hero__stats{ display: flex; gap: 36px; margin: 40px 0 0; padding: 26px 0 0; border-top: 1px solid var(--saz-line); list-style: none; }
.saz-hero__stats strong{ display: block; font-family: var(--saz-serif); font-size: 38px; font-weight: 500; line-height: 1; color: var(--saz-ink); }
.saz-hero__stats span{ font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--saz-muted); }
.saz-hero__media{ position: relative; aspect-ratio: 5 / 6; border-radius: var(--saz-radius); overflow: hidden; background: var(--saz-sand); }
.saz-hero__media img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; animation: sazHero 18s infinite; }
.saz-hero__media img:nth-child(1){ animation-delay: 0s; }
.saz-hero__media img:nth-child(2){ animation-delay: 6s; }
.saz-hero__media img:nth-child(3){ animation-delay: 12s; }
@keyframes sazHero{ 0%{ opacity: 0; transform: scale(1.06); } 5%{ opacity: 1; } 33%{ opacity: 1; } 38%{ opacity: 0; transform: scale(1); } 100%{ opacity: 0; } }
@media (prefers-reduced-motion: reduce){ .saz-hero__media img{ animation: none; } .saz-hero__media img:first-child{ opacity: 1; } }
.saz-hero__frame{ position: absolute; inset: 14px; border: 1px solid rgba(255,255,255,.55); border-radius: 2px; pointer-events: none; z-index: 2; }
.saz-hero__ornament{ position: absolute; top: -60px; right: -120px; width: 520px; opacity: .06; color: var(--saz-gold); pointer-events: none; }
@media (max-width: 991px){
	.saz-hero__grid{ grid-template-columns: 1fr; gap: 32px; padding-top: 28px; padding-bottom: 44px; }
	.saz-hero__media{ aspect-ratio: 4 / 3; order: -1; }
	.saz-hero__stats{ gap: 24px; margin-top: 30px; }
	.saz-hero__stats strong{ font-size: 30px; }
}
@media (max-width: 480px){
	.saz-hero__lead{ font-size: 16px; }
	.saz-hero__actions .saz-btn{ flex: 1 1 100%; }
	.saz-hero__stats{ justify-content: space-between; }
	.saz-hero__stats span{ font-size: 10.5px; letter-spacing: .12em; }
}

/* Banner del catálogo 2026 */
.saz-cat26{--gold:#B8916C;--gold-dark:#8A6744;--ink:#2B2622;--cream:#F7F4EF;position:relative;display:grid;grid-template-columns:38% 1fr 1px auto;align-items:center;height:250px;overflow:hidden;background:var(--cream);border:1px solid var(--saz-line);border-radius:var(--saz-radius);text-decoration:none !important;color:var(--ink) !important}
.saz-cat26__relief{position:absolute;inset:0 auto 0 0;width:46%;background:url('../../banners/catalogo2026-relieve.webp') 30% center/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,#000 45%,transparent 100%);mask-image:linear-gradient(90deg,#000 45%,transparent 100%);transition:transform .8s ease}
.saz-cat26:hover .saz-cat26__relief{transform:scale(1.04)}
.saz-cat26__brand{grid-column:2;position:relative;display:flex;flex-direction:column;align-items:center;color:var(--gold)}
.saz-cat26__column{width:58px;height:auto;margin-bottom:6px}
.saz-cat26__saz{font-family:var(--saz-serif);font-weight:500;font-size:68px;line-height:.9;letter-spacing:.04em;color:var(--gold)}
.saz-cat26__escayola{margin-top:8px;padding-bottom:9px;border-bottom:1px solid var(--gold);font-family:var(--saz-sans);font-size:13px;letter-spacing:.42em;margin-right:-.42em;color:var(--ink)}
.saz-cat26__rule{grid-column:3;height:58%;background:linear-gradient(180deg,transparent,var(--gold),transparent);opacity:.6}
.saz-cat26__copy{grid-column:4;position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:0 64px 0 52px}
.saz-cat26__eyebrow{font-weight:500;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:#7A7068}
.saz-cat26__title{display:flex;align-items:baseline;gap:14px;margin:4px 0 14px;font-family:var(--saz-serif);line-height:1}
.saz-cat26__word{font-style:italic;font-weight:500;font-size:46px;color:var(--ink)}
.saz-cat26__year{font-weight:600;font-size:78px;font-variant-numeric:lining-nums;color:var(--gold)}
.saz-cat26 .saz-btn{pointer-events:none}
.saz-cat26:hover .saz-btn{background:var(--saz-gold);color:#fff !important}
@media (max-width:991px){ .saz-cat26{grid-template-columns:30% 1fr 1px auto;height:220px} .saz-cat26__saz{font-size:52px} .saz-cat26__column{width:46px} .saz-cat26__copy{padding:0 32px} .saz-cat26__word{font-size:36px} .saz-cat26__year{font-size:60px} }
@media (max-width:640px){
	.saz-cat26{display:flex;flex-direction:column;justify-content:center;gap:14px;height:auto;padding:28px 16px 26px;text-align:center}
	.saz-cat26__relief{width:100%;-webkit-mask-image:none;mask-image:none;opacity:.5}
	.saz-cat26__brand{flex-direction:row;gap:10px;align-items:flex-end}
	.saz-cat26__column{width:30px;margin:0}
	.saz-cat26__saz{font-size:34px}
	.saz-cat26__escayola{margin:0 -.34em 3px 0;padding:0;border:0;font-size:10px;letter-spacing:.34em}
	.saz-cat26__rule{display:none}
	.saz-cat26__copy{align-items:center;padding:0}
	.saz-cat26__eyebrow{font-size:10px;letter-spacing:.26em}
	.saz-cat26__title{gap:10px;margin:2px 0 12px}
	.saz-cat26__word{font-size:32px}
	.saz-cat26__year{font-size:50px}
	.saz-cat26 .saz-btn{background:rgba(255,255,255,.75)}
}

/* Tarjetas grandes de inspiración */
.saz-feature{ position: relative; display: flex; align-items: flex-end; min-height: 440px; padding: 36px; border-radius: var(--saz-radius); overflow: hidden; color: #fff !important; isolation: isolate; }
.saz-feature img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1s cubic-bezier(.2,.8,.2,1); }
.saz-feature::before{ content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(34,30,27,.05) 30%, rgba(34,30,27,.78) 100%); }
.saz-feature:hover img{ transform: scale(1.04); }
.saz-feature .saz-eyebrow{ color: rgba(255,255,255,.8); }
.saz-feature h3{ color: #fff; font-size: clamp(30px, 3.2vw, 42px); margin: 0 0 18px; }
@media (max-width: 767px){ .saz-feature{ min-height: 340px; padding: 24px; } }

/* La empresa */
.saz-about{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.saz-about__media{ position: relative; aspect-ratio: 1 / 1; border-radius: var(--saz-radius); overflow: hidden; }
.saz-about__media img{ width: 100%; height: 100%; object-fit: cover; }
.saz-about__quote{ font-family: var(--saz-serif); font-style: italic; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.3; color: var(--saz-ink); margin: 0 0 22px; }
@media (max-width: 991px){ .saz-about{ grid-template-columns: 1fr; gap: 32px; } .saz-about__media{ aspect-ratio: 4 / 3; } }

/* Ajustes de portada (revisión 1) */
.saz-cat img{ filter: grayscale(1) sepia(.14) brightness(1.03) contrast(1.03); }
.saz-cat:hover img{ filter: grayscale(.85) sepia(.1) brightness(1.05) contrast(1.03); }
.saz-cat--pdf{ background: var(--saz-ink); color: #fff !important; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: 12px; padding: 20px; }
.saz-cat--pdf::after{ display: none; }
.saz-cat--pdf .saz-logo__col{ width: 44px; color: var(--saz-gold); }
.saz-cat--pdf strong{ font-family: var(--saz-serif); font-weight: 500; font-size: 30px; line-height: 1; }
.saz-cat--pdf strong em{ font-style: normal; color: var(--saz-gold); font-weight: 600; }
.saz-cat--pdf .saz-btn{ pointer-events: none; }
.saz-cat--pdf:hover .saz-btn{ background: #fff; color: var(--saz-ink) !important; border-color: #fff; }
.saz-hero__stats strong, .saz-prod__price, .saz-table .is-num{ font-variant-numeric: lining-nums; }
.saz-hero__stats span{ display: block; margin-top: 8px; line-height: 1.35; }
@media (max-width: 767px){ .saz-cat--pdf strong{ font-size: 24px; } .saz-cat--pdf .saz-btn{ padding: 8px 14px; font-size: 10.5px; letter-spacing: .14em; } }

/* ==========================================================================
   LISTADO DE PRODUCTOS
   ========================================================================== */
.saz-pagehead{ padding: 34px 0 26px; border-bottom: 1px solid var(--saz-line); background: linear-gradient(180deg, var(--saz-sand) 0%, var(--saz-cream) 100%); }
.saz-pagehead__row{ display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.saz-pagehead .saz-title{ margin: 0; }
@media (max-width: 767px){ .saz-pagehead{ padding: 22px 0 18px; } }

.saz-shop{ display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 44px; padding-top: 36px; padding-bottom: 72px; }
@media (max-width: 991px){ .saz-shop{ grid-template-columns: 210px minmax(0, 1fr); gap: 28px; } }
@media (max-width: 767px){ .saz-shop{ grid-template-columns: 1fr; padding-top: 18px; padding-bottom: 48px; } }
.saz-shop__side{ position: sticky; top: calc(var(--saz-head-h) + 70px); align-self: start; display: grid; gap: 26px; }
.saz-sidecats{ list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--saz-line); }
.saz-sidecats a{ display: block; padding: 6px 0 6px 16px; margin-left: -1px; border-left: 1px solid transparent; font-size: 14.5px; color: var(--saz-muted) !important; }
.saz-sidecats a:hover{ color: var(--saz-ink) !important; border-left-color: var(--saz-line); }
.saz-sidecats a.is-on{ color: var(--saz-ink) !important; border-left-color: var(--saz-gold); font-weight: 500; }
.saz-sidecta{ display: grid; gap: 8px; padding: 20px; border-radius: var(--saz-radius); background: var(--saz-paper) url('../../banners/catalogo2026-relieve.webp') center/cover; position: relative; overflow: hidden; color: var(--saz-ink) !important; border: 1px solid var(--saz-line); }
.saz-sidecta::before{ content: ""; position: absolute; inset: 0; background: rgba(247,244,239,.82); }
.saz-sidecta > *{ position: relative; }
.saz-sidecta strong{ font-family: var(--saz-serif); font-size: 28px; font-weight: 500; line-height: 1; }
.saz-sidecta strong em{ font-style: normal; color: var(--saz-gold); font-weight: 600; }
.saz-sidehelp{ padding: 20px; border: 1px solid var(--saz-line); border-radius: var(--saz-radius); font-size: 14px; color: var(--saz-muted); }
.saz-sidehelp strong{ display: block; font-family: var(--saz-serif); font-size: 21px; font-weight: 500; color: var(--saz-ink); margin-bottom: 6px; }
.saz-sidehelp p{ margin-bottom: 12px; }

.saz-chips{ display: flex; gap: 8px; overflow-x: auto; padding: 14px var(--saz-gutter); scrollbar-width: none; -webkit-overflow-scrolling: touch; border-bottom: 1px solid var(--saz-line); background: var(--saz-cream); }
.saz-chips::-webkit-scrollbar{ display: none; }
.saz-chips a{ flex: 0 0 auto; padding: 8px 14px; border: 1px solid var(--saz-line); border-radius: 999px; background: var(--saz-paper); font-size: 13.5px; color: var(--saz-ink) !important; white-space: nowrap; }
.saz-chips a.is-on{ background: var(--saz-ink); border-color: var(--saz-ink); color: #fff !important; }

.saz-prod__badge{ position: absolute !important; top: 0; right: 0; width: 64px !important; height: auto !important; object-fit: contain; z-index: 2; transform: none !important; }
.saz-prod__meta{ display: inline-flex; align-items: center; gap: 6px; }
.saz-prod__meta svg{ width: 14px; height: 14px; color: var(--saz-gold); }
.saz-products{ align-items: stretch; }
@media (max-width: 767px){ .saz-products{ grid-template-columns: repeat(2, minmax(0,1fr)); } .saz-prod__badge{ width: 46px !important; } }

.saz-pages{ font-size: 0; }
.saz-pages > *{ font-size: 14px; }

.saz-empty{ text-align: center; padding: 56px 20px; border: 1px dashed var(--saz-line); border-radius: var(--saz-radius); background: var(--saz-paper); }
.saz-empty > svg{ width: 40px; height: 40px; color: var(--saz-gold); margin-bottom: 12px; }
.saz-empty h2{ font-size: 30px; }

/* Revisión 2: cifras alineadas en toda la web y fondo negro real en fotos de producto */
body.saz26{ font-variant-numeric: lining-nums; }
.saz-prod__media{ background: #000; }

/* ==========================================================================
   FICHA DE PRODUCTO
   ========================================================================== */
.saz-pdp{ display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; padding-top: 8px; padding-bottom: 72px; align-items: start; }
.saz-pdp__gallery{ position: sticky; top: calc(var(--saz-head-h) + 70px); display: grid; gap: 12px; }
.saz-pdp__main{ position: relative; display: block; aspect-ratio: 1 / 1; background: #000; border-radius: var(--saz-radius); overflow: hidden; cursor: zoom-in; }
.saz-pdp__main img{ width: 100%; height: 100%; object-fit: contain; }
.saz-pdp__flag{ position: absolute; top: 14px; left: 14px; }
.saz-pdp__zoom{ position: absolute; right: 14px; bottom: 14px; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.9); color: var(--saz-ink); display: grid; place-items: center; }
.saz-pdp__zoom svg{ width: 18px; height: 18px; }
.saz-pdp__thumbs{ display: flex; gap: 10px; }
.saz-pdp__thumbs button{ width: 84px; height: 84px; padding: 0; border: 1px solid var(--saz-line); border-radius: var(--saz-radius); background: #000; overflow: hidden; cursor: pointer; opacity: .65; transition: opacity .2s ease, border-color .2s ease; }
.saz-pdp__thumbs button.is-on, .saz-pdp__thumbs button:hover{ opacity: 1; border-color: var(--saz-gold); }
.saz-pdp__thumbs img{ width: 100%; height: 100%; object-fit: contain; }
.saz-pdp__info{ padding-top: 6px; }
.saz-pdp__info > .saz-eyebrow{ color: var(--saz-gold-2) !important; }
.saz-pdp__title{ font-size: clamp(34px, 4vw, 52px); margin: 0 0 14px; }
.saz-pdp__desc{ margin: 24px 0 0; font-size: 16px; color: var(--saz-muted); line-height: 1.7; }
.saz-specs{ margin: 28px 0; border-top: 1px solid var(--saz-line); }
.saz-specs > div{ display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--saz-line); }
.saz-specs dt{ font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--saz-muted); }
.saz-specs dd{ margin: 0; text-align: right; font-size: 15px; }
.saz-buy{ display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; margin: 0 0 12px; }
.saz-buy .saz-btn{ flex: 1 1 220px; min-height: 52px; }
.saz-qty{ display: inline-flex; align-items: center; border: 1px solid var(--saz-line); border-radius: 999px; background: var(--saz-paper); height: 52px; }
.saz-qty button{ width: 44px; height: 100%; border: 0; background: none; color: var(--saz-ink); cursor: pointer; display: grid; place-items: center; border-radius: 999px; }
.saz-qty button:hover{ color: var(--saz-gold-2); }
.saz-qty button svg{ width: 16px; height: 16px; }
.saz-qty input{ width: 48px; height: 100%; border: 0; background: none; text-align: center; font-family: var(--saz-sans); font-size: 16px; color: var(--saz-ink); -moz-appearance: textfield; }
.saz-qty input::-webkit-outer-spin-button, .saz-qty input::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
.saz-qty input:focus{ outline: none; }
.saz-pdp__help{ display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 28px; padding: 20px; border-radius: var(--saz-radius); background: var(--saz-sand); font-size: 14px; color: var(--saz-muted); }
.saz-pdp__help strong{ display: block; font-family: var(--saz-serif); font-size: 22px; font-weight: 500; color: var(--saz-ink); }
@media (max-width: 991px){ .saz-pdp{ gap: 32px; } }
@media (max-width: 767px){
	.saz-pdp{ grid-template-columns: 1fr; gap: 22px; padding-bottom: 48px; }
	.saz-pdp__gallery{ position: static; }
	.saz-pdp__thumbs button{ width: 64px; height: 64px; }
	.saz-buy .saz-qty{ flex: 0 0 auto; }
	.saz-buy .saz-btn{ flex: 1 1 0; }
}
body.saz-embed .saz-pdp{ padding-top: 20px; padding-bottom: 20px; }

/* Visor de imágenes */
.saz-lightbox{ position: fixed; inset: 0; z-index: 3100; background: rgba(20,18,16,.92); display: grid; place-items: center; padding: 24px; cursor: zoom-out; animation: sazFade .2s ease; }
.saz-lightbox img{ max-width: 100%; max-height: 100%; object-fit: contain; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
.saz-lightbox button{ position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); background: transparent; color: #fff; cursor: pointer; display: grid; place-items: center; }
.saz-lightbox button svg{ width: 20px; height: 20px; }

/* Cuenta, carrito, pasos y confirmación */
.saz-auth{ display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:36px; padding-bottom:64px; }
.saz-auth--single{ grid-template-columns:minmax(0,520px); justify-content:center; }
.saz-auth__full{ grid-column:1/-1; }
.saz-auth__card h2{ font-size:32px; }
.saz-auth__card--alt{ background:var(--saz-sand); }
.saz-auth__alt{ margin:16px 0 0; text-align:center; font-size:14px; }
.saz-auth__alt a{ color:var(--saz-gold-2)!important; display:inline-flex; gap:6px; align-items:center; }
.saz-auth__alt svg{ width:14px; height:14px; }
.saz-auth__perks{ list-style:none; margin:0 0 20px; padding:0; display:grid; gap:8px; font-size:14.5px; }
.saz-auth__perks li{ display:flex; gap:8px; align-items:center; }
.saz-auth__perks svg{ width:16px; height:16px; color:var(--saz-gold); }
@media (max-width:767px){ .saz-auth{ grid-template-columns:1fr; padding-top:20px; } }
.saz-steps{ display:flex; gap:8px; flex-wrap:wrap; list-style:none; margin:0 0 14px; padding:0; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--saz-muted); }
.saz-steps li{ display:flex; align-items:center; gap:8px; }
.saz-steps li + li::before{ content:""; width:24px; height:1px; background:var(--saz-line); }
.saz-steps span{ display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; border:1px solid var(--saz-line); font-size:11px; }
.saz-steps .is-on{ color:var(--saz-ink); }
.saz-steps .is-on span{ background:var(--saz-ink); color:#fff; border-color:var(--saz-ink); }
.saz-steps .is-done span{ background:var(--saz-gold); color:#fff; border-color:var(--saz-gold); }
.saz-cartpage{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:28px; align-items:start; }
@media (max-width:991px){ .saz-cartpage{ grid-template-columns:1fr; } }
.saz-lines{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.saz-line{ display:grid; grid-template-columns:84px minmax(0,1fr) auto auto; gap:16px; align-items:center; padding:14px; background:var(--saz-paper); border:1px solid var(--saz-line); border-radius:var(--saz-radius); }
.saz-line--ro{ grid-template-columns:84px minmax(0,1fr) auto; }
.saz-line__img{ width:84px; height:84px; background:#000; border-radius:var(--saz-radius); overflow:hidden; }
.saz-line__img img{ width:100%; height:100%; object-fit:contain; }
.saz-line__info{ display:grid; gap:2px; min-width:0; }
.saz-line__name{ font-family:var(--saz-serif); font-size:20px; line-height:1.2; }
.saz-line__unit{ font-size:13px; }
.saz-line__remove{ width:40px; height:40px; display:grid; place-items:center; border-radius:50%; color:var(--saz-muted)!important; }
.saz-line__remove:hover{ background:#FBF1EF; color:var(--saz-error)!important; }
.saz-line__remove svg{ width:18px; height:18px; }
.saz-line__count{ font-weight:500; }
@media (max-width:600px){ .saz-line{ grid-template-columns:64px minmax(0,1fr) auto; } .saz-line__img{ width:64px; height:64px; } .saz-line__qty{ grid-column:2; } .saz-line__remove{ grid-column:3; grid-row:1; } .saz-line__name{ font-size:17px; } }
.saz-summary h2{ font-size:28px; }
.saz-summary__row{ display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--saz-line); font-size:14.5px; }
.saz-summary__row strong{ font-weight:500; text-align:right; }
.saz-addr__title{ font-size:28px; }
.saz-addr__title small{ font-family:var(--saz-sans); font-size:13px; }
.saz-quote{ margin-top:24px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; background:var(--saz-sand); }
.saz-quote h2{ font-size:30px; margin-bottom:6px; }
.saz-checkout-bar{ display:flex; justify-content:flex-end; margin-top:24px; }
.saz-done{ max-width:640px; margin:0 auto; text-align:center; padding:48px 32px; }
.saz-done__icon{ display:inline-grid; place-items:center; width:64px; height:64px; border-radius:50%; background:var(--saz-gold); color:#fff; margin-bottom:18px; }
.saz-done__icon svg{ width:30px; height:30px; }

/* Menú centrado (el margin:0 anulaba el centrado del contenedor) */
.saz-nav__list{ margin: 0 auto; }

/* Slider de la portada */
.saz-slider .saz-slider__track{ position:absolute; inset:0; display:flex; transition:transform .8s cubic-bezier(.65,0,.35,1); }
.saz-slider .saz-slider__track img{ position:relative; inset:auto; flex:0 0 100%; width:100%; height:100%; object-fit:cover; opacity:1; animation:none; }
.saz-slider__arrow{ position:absolute; top:50%; z-index:3; width:44px; height:44px; margin-top:-22px; border:0; border-radius:50%; background:rgba(255,255,255,.85); color:var(--saz-ink); display:grid; place-items:center; cursor:pointer; opacity:0; transition:opacity .3s ease; }
.saz-slider__arrow svg{ width:18px; height:18px; }
.saz-slider__arrow.is-prev{ left:24px; } .saz-slider__arrow.is-next{ right:24px; }
.saz-slider:hover .saz-slider__arrow{ opacity:1; }
.saz-slider__dots{ position:absolute; left:0; right:0; bottom:26px; z-index:3; display:flex; justify-content:center; gap:8px; }
.saz-slider__dots button{ width:8px; height:8px; padding:0; border:0; border-radius:999px; background:rgba(255,255,255,.6); cursor:pointer; transition:width .3s ease, background .3s ease; }
.saz-slider__dots button.is-on{ width:26px; background:#fff; }
@media (hover:none){ .saz-slider__arrow{ display:none; } }

/* Slider: transición animada siempre visible (también con "reducir movimiento" activado) */
.saz26 .saz-slider .saz-slider__track{ transition: transform 1.2s cubic-bezier(.77,0,.18,1) !important; }
.saz26 .saz-slider .saz-slider__track img{ transform: scale(1.12); transition: transform 6s ease-out !important; }
.saz26 .saz-slider .saz-slider__track img.is-on{ transform: scale(1); }

/* Conócenos */
.saz-about-hero{ padding:56px 0 36px; background:linear-gradient(180deg,var(--saz-sand),var(--saz-cream)); }
.saz-about-page{ max-width:900px; padding-bottom:72px; text-align:center; }
.saz-about-page__img{ aspect-ratio:16/8; border-radius:var(--saz-radius); overflow:hidden; margin-bottom:40px; }
.saz-about-page__img img{ width:100%; height:100%; object-fit:cover; }
.saz-about-page__text{ max-width:68ch; margin:0 auto; font-size:17px; line-height:1.8; color:var(--saz-muted); }
.saz-about-page__text b, .saz-about-page__text strong{ color:var(--saz-ink); font-weight:500; }
.saz-about-page__stats{ justify-content:center; gap:56px; margin-top:44px; }
@media (max-width:600px){ .saz-about-page__stats{ gap:20px; justify-content:space-between; text-align:left; } .saz-about-page__text{ font-size:16px; } }

/* Contacto */
.saz-contact{ max-width:1000px; padding-bottom:72px; }
.saz-contact__cards .saz-card, .saz-contact__addr{ display:flex; flex-direction:column; align-items:center; gap:6px; color:var(--saz-ink)!important; }
.saz-contact__cards svg, .saz-contact__addr > svg{ width:30px; height:30px; color:var(--saz-gold); margin-bottom:6px; }
.saz-contact__cards strong, .saz-contact__addr strong{ font-family:var(--saz-serif); font-size:24px; font-weight:500; }
.saz-contact__addr{ margin:24px 0; }
.saz-contact__addr .saz-muted svg{ width:15px; height:15px; vertical-align:-2px; }
.saz-contact__map{ border-radius:var(--saz-radius); overflow:hidden; border:1px solid var(--saz-line); }
.saz-contact__map iframe{ display:block; width:100%; height:420px; border:0; filter:grayscale(.6) sepia(.1); }
@media (max-width:767px){ .saz-contact__cards{ grid-template-columns:1fr; } }
