/* ─── Tailwind compilado ─── */
*,:after,:before {--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
::backdrop {--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
.invisible,
.elementor-widget .invisible,
.elementor-element .invisible {visibility:hidden}
.fixed,
.elementor-widget .fixed,
.elementor-element .fixed {position:fixed}
.absolute,
.elementor-widget .absolute,
.elementor-element .absolute {position:absolute}
.relative,
.elementor-widget .relative,
.elementor-element .relative {position:relative}
.sticky,
.elementor-widget .sticky,
.elementor-element .sticky {position:sticky}
.block,
.elementor-widget .block,
.elementor-element .block {display:block}
.flex,
.elementor-widget .flex,
.elementor-element .flex {display:flex}
.grid,
.elementor-widget .grid,
.elementor-element .grid {display:grid}
.hidden,
.elementor-widget .hidden,
.elementor-element .hidden {display:none}
.transform,
.elementor-widget .transform,
.elementor-element .transform {transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.resize,
.elementor-widget .resize,
.elementor-element .resize {resize:both}
.flex-wrap,
.elementor-widget .flex-wrap,
.elementor-element .flex-wrap {flex-wrap:wrap}
.border,
.elementor-widget .border,
.elementor-element .border {border-width:1px}
.uppercase,
.elementor-widget .uppercase,
.elementor-element .uppercase {text-transform:uppercase}
.italic,
.elementor-widget .italic,
.elementor-element .italic {font-style:italic}
.underline,
.elementor-widget .underline,
.elementor-element .underline {text-decoration-line:underline}
.antialiased,
.elementor-widget .antialiased,
.elementor-element .antialiased {-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.outline,
.elementor-widget .outline,
.elementor-element .outline {outline-style:solid}
.blur,
.elementor-widget .blur,
.elementor-element .blur {--tw-blur:blur(8px)}
.blur,
.drop-shadow,
.elementor-widget .blur,
.elementor-element .blur,
.elementor-widget .drop-shadow,
.elementor-element .drop-shadow {filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}
.drop-shadow,
.elementor-widget .drop-shadow,
.elementor-element .drop-shadow {--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}
.filter,
.elementor-widget .filter,
.elementor-element .filter {filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}
.backdrop-filter,
.elementor-widget .backdrop-filter,
.elementor-element .backdrop-filter {-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}
.transition,
.elementor-widget .transition,
.elementor-element .transition {transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
/* ─── CSS custom (deduplicado entre páginas) ─── */

/* from contacto/style.css */
/* ============================================================
   Calzados El Paso — Prototipo home
   Estilo: Editorial cálido (crema + tinta + terracota)
   ============================================================ */

:root {
  /* Paleta */
  --ink: #1a1714;
  --ink-soft: #4a443d;
  --paper: #fffdfa;
  --cream: #f7f3ec;
  --cream-2: #efe8dd;
  --line: #e4ddd0;
  --terracotta: #c9763d;
  --terracotta-dark: #a85e2c;
  --green: #2f5d4f;
  --whatsapp: #25d366;

  /* Tipografía */
  --font-display: "Fraunces", Georgia, serif;
  --font-sans: "Inter", system-ui, -apple-system, sans-serif;

  /* Medidas */
  --maxw: 1240px;
  --radius: 14px;
  --radius-lg: 22px;
  --shadow: 0 18px 40px -24px rgba(26, 23, 20, 0.45);
  --shadow-sm: 0 6px 18px -12px rgba(26, 23, 20, 0.4);
  --header-h: 74px;
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 20px); }
body {
  font-family: var(--font-sans);
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
.eyebrow,
.elementor-widget .eyebrow,
.elementor-element .eyebrow {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--terracotta);
  margin-bottom: 0.6rem;
}
.eyebrow--light,
.elementor-widget .eyebrow--light,
.elementor-element .eyebrow--light { color: #f0d9c6; }
/* ---------- Botones ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.85rem 1.6rem;
  border-radius: 100px;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
  transition: transform 0.25s var(--ease), background 0.25s, color 0.25s, box-shadow 0.25s;
  white-space: nowrap;
}
.btn:hover,
.elementor-widget .btn:hover,
.elementor-element .btn:hover { transform: translateY(-2px); }
.btn--primary,
.elementor-widget .btn--primary,
.elementor-element .btn--primary { background: var(--ink); color: var(--paper); }
.btn--primary:hover,
.elementor-widget .btn--primary:hover,
.elementor-element .btn--primary:hover { background: var(--terracotta); }
.btn--ghost,
.elementor-widget .btn--ghost,
.elementor-element .btn--ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }
.btn--ghost:hover,
.elementor-widget .btn--ghost:hover,
.elementor-element .btn--ghost:hover { background: var(--ink); color: var(--paper); }
.btn--light,
.elementor-widget .btn--light,
.elementor-element .btn--light { background: var(--paper); color: var(--ink); }
.btn--light:hover,
.elementor-widget .btn--light:hover,
.elementor-element .btn--light:hover { background: var(--terracotta); color: var(--paper); }
/* ============================================================
   Barra superior
   ============================================================ */
.topbar {
  background: var(--ink);
  color: var(--cream);
  font-size: 0.8rem;
}
.topbar__inner,
.elementor-widget .topbar__inner,
.elementor-element .topbar__inner {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0.55rem 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.topbar__item,
.elementor-widget .topbar__item,
.elementor-element .topbar__item { display: inline-flex; align-items: center; gap: 0.4rem; letter-spacing: 0.02em; }
.topbar__item strong,
.elementor-widget .topbar__item strong,
.elementor-element .topbar__item strong { color: #fff; font-weight: 600; }
.topbar__item--loc,
.elementor-widget .topbar__item--loc,
.elementor-element .topbar__item--loc { color: #f0d9c6; }
.topbar__item svg,
.elementor-widget .topbar__item svg,
.elementor-element .topbar__item svg { width: 14px; height: 14px; fill: currentColor; }
.topbar__sep,
.elementor-widget .topbar__sep,
.elementor-element .topbar__sep { width: 1px; height: 14px; background: rgba(255, 255, 255, 0.25); }
/* ============================================================
   Cabecera
   ============================================================ */
.header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 253, 250, 0.88);
  backdrop-filter: saturate(160%) blur(12px);
  border-bottom: 1px solid var(--line);
  transition: box-shadow 0.3s;
}
.header.is-scrolled,
.elementor-widget .header.is-scrolled,
.elementor-element .header.is-scrolled { box-shadow: var(--shadow-sm); }
.header__inner,
.elementor-widget .header__inner,
.elementor-element .header__inner {
  max-width: var(--maxw);
  margin: 0 auto;
  height: var(--header-h);
  padding: 0 1.4rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.header__logo img,
.elementor-widget .header__logo img,
.elementor-element .header__logo img { height: 42px; width: auto; }
.nav,
.elementor-widget .nav,
.elementor-element .nav {
  display: flex;
  align-items: center;
  gap: 1.7rem;
  margin: 0 auto;
}
.nav__link,
.elementor-widget .nav__link,
.elementor-element .nav__link {
  font-weight: 600;
  font-size: 0.98rem;
  letter-spacing: 0.01em;
  position: relative;
  padding: 0.4rem 0;
  color: var(--ink);
}
.nav__link::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 0; height: 2px;
  background: var(--terracotta);
  transition: width 0.28s var(--ease);
}
.nav__link:hover::after { width: 100%; }
.nav__link--muted,
.elementor-widget .nav__link--muted,
.elementor-element .nav__link--muted { color: var(--ink-soft); font-weight: 500; font-size: 0.9rem; }
.header__actions,
.elementor-widget .header__actions,
.elementor-element .header__actions { display: flex; align-items: center; gap: 0.4rem; margin-left: auto; }
.iconbtn,
.elementor-widget .iconbtn,
.elementor-element .iconbtn {
  width: 42px; height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  position: relative;
  transition: background 0.2s;
}
.iconbtn:hover,
.elementor-widget .iconbtn:hover,
.elementor-element .iconbtn:hover { background: var(--cream-2); }
.iconbtn svg,
.elementor-widget .iconbtn svg,
.elementor-element .iconbtn svg { width: 21px; height: 21px; fill: var(--ink); }
.iconbtn--count::after {
  content: attr(data-count);
  position: absolute;
  top: 4px; right: 2px;
  background: var(--terracotta);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 700;
  min-width: 16px; height: 16px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  padding: 0 4px;
}
.cart,
.elementor-widget .cart,
.elementor-element .cart {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.5rem 1rem 0.5rem 0.7rem;
  margin-left: 0.4rem;
  background: var(--ink);
  color: var(--paper);
  border-radius: 100px;
  font-weight: 600;
  font-size: 0.9rem;
  transition: background 0.25s, transform 0.25s var(--ease);
}
.cart:hover,
.elementor-widget .cart:hover,
.elementor-element .cart:hover { background: var(--terracotta); transform: translateY(-1px); }
.cart__icobox,
.elementor-widget .cart__icobox,
.elementor-element .cart__icobox { position: relative; display: grid; place-items: center; }
.cart svg,
.elementor-widget .cart svg,
.elementor-element .cart svg { width: 20px; height: 20px; fill: var(--paper); }
.cart__badge,
.elementor-widget .cart__badge,
.elementor-element .cart__badge {
  position: absolute;
  top: -8px; right: -10px;
  background: var(--terracotta);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 700;
  min-width: 16px; height: 16px;
  border-radius: 9px;
  display: grid;
  place-items: center;
}
.cart:hover .cart__badge,
.elementor-widget .cart:hover .cart__badge,
.elementor-element .cart:hover .cart__badge { background: var(--ink); }
.burger,
.elementor-widget .burger,
.elementor-element .burger { display: none; width: 42px; height: 42px; flex-direction: column; gap: 5px; align-items: center; justify-content: center; }
.burger span,
.elementor-widget .burger span,
.elementor-element .burger span { width: 22px; height: 2px; background: var(--ink); border-radius: 2px; transition: 0.3s; }
/* ============================================================
   Hero
   ============================================================ */
.hero {
  max-width: var(--maxw);
  margin: 1.6rem auto 0;
  padding: 0 1.4rem;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  align-items: stretch;
  gap: 1.2rem;
}
.hero__media,
.elementor-widget .hero__media,
.elementor-element .hero__media {
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--cream);
  min-height: 460px;
}
.hero__media img,
.elementor-widget .hero__media img,
.elementor-element .hero__media img { width: 100%; height: 100%; object-fit: cover; }
.hero__panel,
.elementor-widget .hero__panel,
.elementor-element .hero__panel {
  background: var(--cream);
  border-radius: var(--radius-lg);
  padding: clamp(2rem, 4vw, 3.2rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hero__title,
.elementor-widget .hero__title,
.elementor-element .hero__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2.2rem, 4vw, 3.3rem);
  line-height: 1.04;
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
}
.hero__title em,
.elementor-widget .hero__title em,
.elementor-element .hero__title em { font-style: italic; color: var(--terracotta); }
.hero__text,
.elementor-widget .hero__text,
.elementor-element .hero__text { color: var(--ink-soft); font-size: 1.05rem; margin-bottom: 1.8rem; max-width: 36ch; }
.hero__cta,
.elementor-widget .hero__cta,
.elementor-element .hero__cta { display: flex; gap: 0.8rem; flex-wrap: wrap; }
/* ============================================================
   Secciones genéricas
   ============================================================ */
.section {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(3.4rem, 6vw, 5.5rem) 1.4rem;
}
.section--tight,
.elementor-widget .section--tight,
.elementor-element .section--tight { padding-top: clamp(1.5rem, 3vw, 2.5rem); }
.section__head,
.elementor-widget .section__head,
.elementor-element .section__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 2.2rem;
}
.section__head--center,
.elementor-widget .section__head--center,
.elementor-element .section__head--center { flex-direction: column; align-items: center; text-align: center; gap: 0.4rem; }
.section__head--simple,
.elementor-widget .section__head--simple,
.elementor-element .section__head--simple { align-items: center; }
.section__title,
.elementor-widget .section__title,
.elementor-element .section__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.section__sub,
.elementor-widget .section__sub,
.elementor-element .section__sub { color: var(--ink-soft); }
.link-all,
.elementor-widget .link-all,
.elementor-element .link-all { font-weight: 600; color: var(--terracotta); white-space: nowrap; }
.link-all:hover,
.elementor-widget .link-all:hover,
.elementor-element .link-all:hover { text-decoration: underline; }
/* Pestañas */
.tabs { display: inline-flex; gap: 0.3rem; background: var(--cream); padding: 0.35rem; border-radius: 100px; }
.tab,
.elementor-widget .tab,
.elementor-element .tab {
  padding: 0.55rem 1.2rem;
  border-radius: 100px;
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--ink-soft);
  transition: 0.25s var(--ease);
}
.tab:hover,
.elementor-widget .tab:hover,
.elementor-element .tab:hover { color: var(--ink); }
.tab.is-active,
.elementor-widget .tab.is-active,
.elementor-element .tab.is-active { background: var(--ink); color: var(--paper); box-shadow: var(--shadow-sm); }
/* ============================================================
   Carrusel + tarjetas de producto
   ============================================================ */
.carousel { position: relative; }
.carousel__track,
.elementor-widget .carousel__track,
.elementor-element .carousel__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 3 * 1.2rem) / 4);
  gap: 1.2rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 0.5rem;
  scrollbar-width: none;
}
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__nav,
.elementor-widget .carousel__nav,
.elementor-element .carousel__nav {
  position: absolute;
  top: 38%;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--paper);
  box-shadow: var(--shadow);
  font-size: 1.5rem;
  color: var(--ink);
  display: grid;
  place-items: center;
  z-index: 5;
  transition: transform 0.2s, background 0.2s, color 0.2s;
}
.carousel__nav:hover,
.elementor-widget .carousel__nav:hover,
.elementor-element .carousel__nav:hover { background: var(--ink); color: var(--paper); transform: scale(1.06); }
.carousel__nav--prev,
.elementor-widget .carousel__nav--prev,
.elementor-element .carousel__nav--prev { left: -14px; }
.carousel__nav--next,
.elementor-widget .carousel__nav--next,
.elementor-element .carousel__nav--next { right: -14px; }
.card,
.elementor-widget .card,
.elementor-element .card { scroll-snap-align: start; }
.card__media,
.elementor-widget .card__media,
.elementor-element .card__media {
  position: relative;
  background: var(--cream);
  border-radius: var(--radius);
  overflow: hidden;
  aspect-ratio: 4 / 5;
}
.card__media img,
.elementor-widget .card__media img,
.elementor-element .card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease); }
.card:hover .card__media img,
.elementor-widget .card:hover .card__media img,
.elementor-element .card:hover .card__media img { transform: scale(1.05); }
.card__tag,
.elementor-widget .card__tag,
.elementor-element .card__tag {
  position: absolute;
  top: 0.7rem; left: 0.7rem;
  background: var(--ink);
  color: var(--paper);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.3rem 0.6rem;
  border-radius: 100px;
}
.card__tag--sale,
.elementor-widget .card__tag--sale,
.elementor-element .card__tag--sale { background: var(--terracotta); }
.card__fav,
.elementor-widget .card__fav,
.elementor-element .card__fav {
  position: absolute;
  top: 0.6rem; right: 0.6rem;
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(255, 253, 250, 0.92);
  display: grid;
  place-items: center;
  opacity: 0;
  transform: translateY(-4px);
  transition: 0.25s var(--ease);
}
.card:hover .card__fav,
.elementor-widget .card:hover .card__fav,
.elementor-element .card:hover .card__fav { opacity: 1; transform: translateY(0); }
.card__fav svg,
.elementor-widget .card__fav svg,
.elementor-element .card__fav svg { width: 17px; height: 17px; fill: none; stroke: var(--ink); stroke-width: 2; }
.card__fav:hover svg,
.elementor-widget .card__fav:hover svg,
.elementor-element .card__fav:hover svg { fill: var(--terracotta); stroke: var(--terracotta); }
.card__add,
.elementor-widget .card__add,
.elementor-element .card__add {
  position: absolute;
  left: 0.7rem; right: 0.7rem; bottom: 0.7rem;
  background: var(--ink);
  color: var(--paper);
  padding: 0.7rem;
  border-radius: 100px;
  font-weight: 600;
  font-size: 0.88rem;
  text-align: center;
  opacity: 0;
  transform: translateY(8px);
  transition: 0.3s var(--ease);
}
.card:hover .card__add,
.elementor-widget .card:hover .card__add,
.elementor-element .card:hover .card__add { opacity: 1; transform: translateY(0); }
.card__add:hover,
.elementor-widget .card__add:hover,
.elementor-element .card__add:hover { background: var(--terracotta); }
.card__body,
.elementor-widget .card__body,
.elementor-element .card__body { padding: 0.85rem 0.2rem 0; }
.card__brand,
.elementor-widget .card__brand,
.elementor-element .card__brand { font-size: 0.74rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-soft); font-weight: 600; }
.card__name,
.elementor-widget .card__name,
.elementor-element .card__name { font-weight: 600; font-size: 0.98rem; margin: 0.15rem 0 0.35rem; line-height: 1.25; }
.card__price,
.elementor-widget .card__price,
.elementor-element .card__price { display: flex; align-items: baseline; gap: 0.5rem; }
.card__price strong,
.elementor-widget .card__price strong,
.elementor-element .card__price strong { font-size: 1.05rem; font-weight: 700; }
.card__price del,
.elementor-widget .card__price del,
.elementor-element .card__price del { color: var(--ink-soft); font-size: 0.88rem; }
/* ============================================================
   Banner categoría destacada
   ============================================================ */
.feature {
  position: relative;
  max-width: var(--maxw);
  margin: 0 auto;
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 420px;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
.feature,
.elementor-widget .feature,
.elementor-element .feature { margin: 0 auto; }
}
.feature__bg,
.elementor-widget .feature__bg,
.elementor-element .feature__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 30%;
}
.feature::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(26, 23, 20, 0.78) 0%, rgba(26, 23, 20, 0.35) 55%, transparent 100%);
}
.feature__content,
.elementor-widget .feature__content,
.elementor-element .feature__content {
  position: relative;
  z-index: 2;
  color: var(--paper);
  padding: clamp(2rem, 6vw, 4.5rem);
  max-width: 540px;
}
.feature__title,
.elementor-widget .feature__title,
.elementor-element .feature__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin-bottom: 0.9rem;
}
.feature__text,
.elementor-widget .feature__text,
.elementor-element .feature__text { font-size: 1.08rem; margin-bottom: 1.7rem; color: rgba(255, 253, 250, 0.9); max-width: 38ch; }
/* the feature lives inside section margins via wrapper padding */
.feature { width: calc(100% - 2.8rem); margin: 0 1.4rem; }
@media (min-width: 1268px) {
.feature,
.elementor-widget .feature,
.elementor-element .feature { margin: 0 auto; width: 100%; }
}
/* ============================================================
   Categorías (3 tarjetas)
   ============================================================ */
.cats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
}
.cat,
.elementor-widget .cat,
.elementor-element .cat {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 3 / 4;
}
.cat__img,
.elementor-widget .cat__img,
.elementor-element .cat__img { position: absolute; inset: 0; }
.cat__img img,
.elementor-widget .cat__img img,
.elementor-element .cat__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s var(--ease); }
.cat:hover .cat__img img,
.elementor-widget .cat:hover .cat__img img,
.elementor-element .cat:hover .cat__img img { transform: scale(1.06); }
.cat::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(26, 23, 20, 0.7) 100%);
}
.cat__label,
.elementor-widget .cat__label,
.elementor-element .cat__label {
  position: absolute;
  left: 1.4rem; right: 1.4rem; bottom: 1.4rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--paper);
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-weight: 600;
}
.cat__arrow,
.elementor-widget .cat__arrow,
.elementor-element .cat__arrow {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: var(--paper);
  color: var(--ink);
  display: grid;
  place-items: center;
  font-family: var(--font-sans);
  font-size: 1.2rem;
  transition: 0.3s var(--ease);
}
.cat:hover .cat__arrow,
.elementor-widget .cat:hover .cat__arrow,
.elementor-element .cat:hover .cat__arrow { background: var(--terracotta); color: var(--paper); transform: translateX(4px); }
/* ============================================================
   Banda de paquetería
   ============================================================ */
.parcel {
  background: var(--cream);
}
.parcel,
.elementor-widget .parcel,
.elementor-element .parcel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  max-width: var(--maxw);
  margin: 0 auto;
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.parcel,
.elementor-widget .parcel,
.elementor-element .parcel { width: calc(100% - 2.8rem); margin: clamp(1rem,3vw,2rem) 1.4rem; }
@media (min-width: 1268px) {
.parcel,
.elementor-widget .parcel,
.elementor-element .parcel { margin: 2rem auto; width: 100%; }
}
.parcel__media,
.elementor-widget .parcel__media,
.elementor-element .parcel__media { min-height: 380px; }
.parcel__media img,
.elementor-widget .parcel__media img,
.elementor-element .parcel__media img { width: 100%; height: 100%; object-fit: cover; }
.parcel__content,
.elementor-widget .parcel__content,
.elementor-element .parcel__content { padding: clamp(2rem, 5vw, 3.6rem); display: flex; flex-direction: column; justify-content: center; }
.parcel__title,
.elementor-widget .parcel__title,
.elementor-element .parcel__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 0.8rem;
}
.parcel__text,
.elementor-widget .parcel__text,
.elementor-element .parcel__text { color: var(--ink-soft); margin-bottom: 1.2rem; max-width: 40ch; }
.parcel__carriers,
.elementor-widget .parcel__carriers,
.elementor-element .parcel__carriers { list-style: none; display: flex; gap: 0.7rem; flex-wrap: wrap; margin-bottom: 1.8rem; }
.parcel__carriers li,
.elementor-widget .parcel__carriers li,
.elementor-element .parcel__carriers li {
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 0.55rem 1.1rem;
  border-radius: 100px;
  font-weight: 700;
  letter-spacing: 0.04em;
  box-shadow: var(--shadow-sm);
}
/* ============================================================
   Nuestra tienda
   ============================================================ */
.store { max-width: var(--maxw); margin: 0 auto; padding: clamp(3.4rem, 6vw, 5.5rem) 1.4rem; }
.store__grid,
.elementor-widget .store__grid,
.elementor-element .store__grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 1.6rem; align-items: stretch; }
.store__about,
.elementor-widget .store__about,
.elementor-element .store__about {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  background: var(--cream);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.store__photo img,
.elementor-widget .store__photo img,
.elementor-element .store__photo img { width: 100%; height: 100%; object-fit: cover; min-height: 320px; }
.store__text,
.elementor-widget .store__text,
.elementor-element .store__text { padding: clamp(1.6rem, 3vw, 2.6rem); display: flex; flex-direction: column; justify-content: center; }
.store__text h3,
.elementor-widget .store__text h3,
.elementor-element .store__text h3 { font-family: var(--font-display); font-size: 1.6rem; font-weight: 600; margin-bottom: 0.8rem; }
.store__text p,
.elementor-widget .store__text p,
.elementor-element .store__text p { color: var(--ink-soft); margin-bottom: 0.8rem; }
.store__features,
.elementor-widget .store__features,
.elementor-element .store__features { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 0.6rem; }
.store__features span,
.elementor-widget .store__features span,
.elementor-element .store__features span {
  font-size: 0.8rem;
  font-weight: 600;
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 0.35rem 0.8rem;
  border-radius: 100px;
}
.store__contact,
.elementor-widget .store__contact,
.elementor-element .store__contact {
  background: var(--ink);
  color: var(--cream);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.store__contacthead,
.elementor-widget .store__contacthead,
.elementor-element .store__contacthead { padding: clamp(1.6rem, 3vw, 2rem) clamp(1.4rem, 3vw, 2rem) 0; }
.store__contacthead h3,
.elementor-widget .store__contacthead h3,
.elementor-element .store__contacthead h3 { font-family: var(--font-display); font-size: 1.6rem; font-weight: 600; margin-bottom: 0.3rem; }
.store__contacthead p,
.elementor-widget .store__contacthead p,
.elementor-element .store__contacthead p { color: #d8cdbd; font-size: 0.95rem; }
.store__wa,
.elementor-widget .store__wa,
.elementor-element .store__wa { margin: 0 clamp(1.4rem, 3vw, 2rem) clamp(1.4rem, 3vw, 2rem); align-self: flex-start; }
.contact-list,
.elementor-widget .contact-list,
.elementor-element .contact-list { list-style: none; padding: clamp(1.2rem, 3vw, 1.6rem) clamp(1.4rem, 3vw, 2rem); display: flex; flex-direction: column; gap: 1.1rem; flex: 1; }
.contact-list li,
.elementor-widget .contact-list li,
.elementor-element .contact-list li { display: flex; gap: 0.8rem; align-items: flex-start; line-height: 1.45; }
.contact-list__ico,
.elementor-widget .contact-list__ico,
.elementor-element .contact-list__ico { font-size: 1.1rem; }
.contact-list a:hover,
.elementor-widget .contact-list a:hover,
.elementor-element .contact-list a:hover { color: #f0d9c6; }
/* ============================================================
   Páginas internas (Sobre nosotros / Contacto)
   ============================================================ */
.pagehero {
  position: relative;
  overflow: hidden;
  background: var(--cream);
}
.pagehero__inner,
.elementor-widget .pagehero__inner,
.elementor-element .pagehero__inner {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 6rem) 1.4rem clamp(2.4rem, 5vw, 4rem);
  position: relative;
  z-index: 2;
}
.pagehero__crumbs,
.elementor-widget .pagehero__crumbs,
.elementor-element .pagehero__crumbs { font-size: 0.85rem; color: var(--ink-soft); margin-bottom: 1rem; }
.pagehero__crumbs a:hover,
.elementor-widget .pagehero__crumbs a:hover,
.elementor-element .pagehero__crumbs a:hover { color: var(--terracotta); }
.pagehero__title,
.elementor-widget .pagehero__title,
.elementor-element .pagehero__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2.3rem, 5vw, 3.6rem);
  line-height: 1.03;
  letter-spacing: -0.02em;
  margin-bottom: 0.8rem;
}
.pagehero__title em,
.elementor-widget .pagehero__title em,
.elementor-element .pagehero__title em { font-style: italic; color: var(--terracotta); }
.pagehero__lead,
.elementor-widget .pagehero__lead,
.elementor-element .pagehero__lead { color: var(--ink-soft); font-size: 1.1rem; max-width: 52ch; }
/* Historia (texto + foto) */
.story {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(3rem, 6vw, 5rem) 1.4rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.6rem, 4vw, 3.2rem);
  align-items: center;
}
.story--reverse .story__media,
.elementor-widget .story--reverse .story__media,
.elementor-element .story--reverse .story__media { order: 2; }
.story__media,
.elementor-widget .story__media,
.elementor-element .story__media { border-radius: var(--radius-lg); overflow: hidden; }
.story__media img,
.elementor-widget .story__media img,
.elementor-element .story__media img { width: 100%; height: 100%; max-height: 520px; object-fit: cover; }
.story__text h2,
.elementor-widget .story__text h2,
.elementor-element .story__text h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin-bottom: 1rem;
}
.story__text p,
.elementor-widget .story__text p,
.elementor-element .story__text p { color: var(--ink-soft); margin-bottom: 1rem; }
.story__text strong,
.elementor-widget .story__text strong,
.elementor-element .story__text strong { color: var(--ink); }
/* Valores */
.values {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(2rem, 4vw, 3rem) 1.4rem clamp(3rem, 6vw, 5rem);
}
.values__grid,
.elementor-widget .values__grid,
.elementor-element .values__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
.value,
.elementor-widget .value,
.elementor-element .value {
  background: var(--cream);
  border-radius: var(--radius);
  padding: 1.8rem 1.5rem;
}
.value__ico,
.elementor-widget .value__ico,
.elementor-element .value__ico {
  width: 48px; height: 48px;
  border-radius: 12px;
  background: var(--paper);
  display: grid; place-items: center;
  font-size: 1.4rem;
  margin-bottom: 1rem;
  box-shadow: var(--shadow-sm);
}
.value h3,
.elementor-widget .value h3,
.elementor-element .value h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 0.4rem; }
.value p,
.elementor-widget .value p,
.elementor-element .value p { color: var(--ink-soft); font-size: 0.92rem; }
/* Cita / testimonio */
.quote {
  background: var(--ink);
  color: var(--cream);
}
.quote__inner,
.elementor-widget .quote__inner,
.elementor-element .quote__inner {
  max-width: 880px;
  margin: 0 auto;
  padding: clamp(3rem, 6vw, 5rem) 1.4rem;
  text-align: center;
}
.quote__text,
.elementor-widget .quote__text,
.elementor-element .quote__text {
  font-family: var(--font-display);
  font-weight: 500;
  font-style: italic;
  font-size: clamp(1.5rem, 3.2vw, 2.2rem);
  line-height: 1.3;
  letter-spacing: -0.01em;
  margin-bottom: 1.2rem;
}
.quote__author,
.elementor-widget .quote__author,
.elementor-element .quote__author { font-size: 0.9rem; letter-spacing: 0.08em; text-transform: uppercase; color: #d8cdbd; }
/* Banda CTA */
.ctaband {
  max-width: var(--maxw);
  margin: 0 auto clamp(3rem, 6vw, 5rem);
  width: calc(100% - 2.8rem);
}
.ctaband__inner,
.elementor-widget .ctaband__inner,
.elementor-element .ctaband__inner {
  background: var(--cream);
  border-radius: var(--radius-lg);
  padding: clamp(2.4rem, 5vw, 3.6rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.ctaband__text h2,
.elementor-widget .ctaband__text h2,
.elementor-element .ctaband__text h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  letter-spacing: -0.02em;
  margin-bottom: 0.4rem;
}
.ctaband__text p,
.elementor-widget .ctaband__text p,
.elementor-element .ctaband__text p { color: var(--ink-soft); }
/* Contacto: grid formulario + info */
.contactgrid {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(2.4rem, 5vw, 4rem) 1.4rem clamp(3rem, 6vw, 5rem);
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: clamp(1.6rem, 4vw, 3rem);
  align-items: start;
}
.form,
.elementor-widget .form,
.elementor-element .form { display: grid; gap: 1.1rem; }
.form__row,
.elementor-widget .form__row,
.elementor-element .form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.field,
.elementor-widget .field,
.elementor-element .field { display: flex; flex-direction: column; gap: 0.4rem; }
.field label,
.elementor-widget .field label,
.elementor-element .field label { font-size: 0.85rem; font-weight: 600; }
.field input,
.field textarea,
.field select,
.elementor-widget .field input,
.elementor-element .field input,
.elementor-widget .field textarea,
.elementor-element .field textarea,
.elementor-widget .field select,
.elementor-element .field select {
  font-family: inherit;
  font-size: 0.98rem;
  color: var(--ink);
  background: var(--paper);
  border: 1.5px solid var(--line);
  border-radius: 12px;
  padding: 0.8rem 1rem;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.field input:focus,
.field textarea:focus,
.field select:focus,
.elementor-widget .field input:focus,
.elementor-element .field input:focus,
.elementor-widget .field textarea:focus,
.elementor-element .field textarea:focus,
.elementor-widget .field select:focus,
.elementor-element .field select:focus {
  outline: none;
  border-color: var(--terracotta);
  box-shadow: 0 0 0 3px rgba(201, 118, 61, 0.15);
}
.field textarea,
.elementor-widget .field textarea,
.elementor-element .field textarea { resize: vertical; min-height: 130px; }
.form__consent,
.elementor-widget .form__consent,
.elementor-element .form__consent { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.85rem; color: var(--ink-soft); }
.form__consent input,
.elementor-widget .form__consent input,
.elementor-element .form__consent input { margin-top: 0.2rem; }
.form button[type="submit"] { justify-self: start; }
.form__success,
.elementor-widget .form__success,
.elementor-element .form__success {
  display: none;
  background: #eaf6ee;
  border: 1.5px solid #bfe3cb;
  color: #1f6b3b;
  border-radius: 12px;
  padding: 1rem 1.2rem;
  font-weight: 600;
}
.form__success.is-visible,
.elementor-widget .form__success.is-visible,
.elementor-element .form__success.is-visible { display: block; }
.infocard,
.elementor-widget .infocard,
.elementor-element .infocard {
  background: var(--ink);
  color: var(--cream);
  border-radius: var(--radius-lg);
  padding: clamp(1.6rem, 3vw, 2.2rem);
}
.infocard h3,
.elementor-widget .infocard h3,
.elementor-element .infocard h3 { font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; margin-bottom: 1.2rem; }
.infocard .contact-list,
.elementor-widget .infocard .contact-list,
.elementor-element .infocard .contact-list { padding: 0; }
.infocard .contact-list a:hover,
.elementor-widget .infocard .contact-list a:hover,
.elementor-element .infocard .contact-list a:hover { color: #f0d9c6; }
.infocard__wa,
.elementor-widget .infocard__wa,
.elementor-element .infocard__wa { margin-top: 1.4rem; }
/* ============================================================
   Banner de localización (mapa real interactivo)
   ============================================================ */
.locbanner {
  position: relative;
  min-height: 460px;
  display: flex;
  align-items: center;
  background: var(--cream-2);
  overflow: hidden;
}
.locbanner__map,
.elementor-widget .locbanner__map,
.elementor-element .locbanner__map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: var(--cream-2);
}
.locbanner__card,
.elementor-widget .locbanner__card,
.elementor-element .locbanner__card {
  position: relative;
  z-index: 2;
  margin: clamp(1.4rem, 4vw, 3rem);
  width: min(420px, calc(100% - 2.8rem));
  background: rgba(255, 253, 250, 0.96);
  backdrop-filter: blur(6px);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: clamp(1.6rem, 3vw, 2.4rem);
  box-shadow: var(--shadow);
}
.locbanner__title,
.elementor-widget .locbanner__title,
.elementor-element .locbanner__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin-bottom: 0.7rem;
}
.locbanner__addr,
.elementor-widget .locbanner__addr,
.elementor-element .locbanner__addr { font-weight: 600; margin-bottom: 1rem; }
.locbanner__meta,
.elementor-widget .locbanner__meta,
.elementor-element .locbanner__meta { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1.5rem; }
.locbanner__meta li,
.elementor-widget .locbanner__meta li,
.elementor-element .locbanner__meta li { display: flex; align-items: center; gap: 0.5rem; color: var(--ink-soft); font-size: 0.92rem; }
.locbanner__dot,
.elementor-widget .locbanner__dot,
.elementor-element .locbanner__dot {
  width: 9px; height: 9px; border-radius: 50%;
  background: #2faa5a;
  box-shadow: 0 0 0 4px rgba(47, 170, 90, 0.18);
  flex: none;
}
.locbanner__cta,
.elementor-widget .locbanner__cta,
.elementor-element .locbanner__cta { display: flex; gap: 0.7rem; flex-wrap: wrap; }
/* Leaflet: marcador personalizado + retoques */
.locpin {
  width: 38px; height: 38px;
  display: grid; place-items: center;
}
.locpin svg,
.elementor-widget .locpin svg,
.elementor-element .locpin svg { width: 38px; height: 38px; filter: drop-shadow(0 6px 8px rgba(26,23,20,0.35)); }
.leaflet-container,
.elementor-widget .leaflet-container,
.elementor-element .leaflet-container { font-family: var(--font-sans); background: var(--cream-2); }
.leaflet-popup-content-wrapper,
.elementor-widget .leaflet-popup-content-wrapper,
.elementor-element .leaflet-popup-content-wrapper { border-radius: 12px; }
.leaflet-popup-content,
.elementor-widget .leaflet-popup-content,
.elementor-element .leaflet-popup-content { font-weight: 600; color: var(--ink); margin: 0.7rem 0.9rem; }
.leaflet-control-attribution,
.elementor-widget .leaflet-control-attribution,
.elementor-element .leaflet-control-attribution { font-size: 0.65rem; }
/* ============================================================
   Footer
   ============================================================ */
.footer { background: var(--cream); border-top: 1px solid var(--line); }
.footer__inner,
.elementor-widget .footer__inner,
.elementor-element .footer__inner {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: clamp(2.6rem, 5vw, 4rem) 1.4rem 2.4rem;
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.3fr;
  gap: 2rem;
}
.footer__brand img,
.elementor-widget .footer__brand img,
.elementor-element .footer__brand img { height: 50px; margin-bottom: 1rem; }
.footer__brand p,
.elementor-widget .footer__brand p,
.elementor-element .footer__brand p { color: var(--ink-soft); max-width: 28ch; }
.footer__col h4,
.elementor-widget .footer__col h4,
.elementor-element .footer__col h4 { font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 1rem; }
.footer__col a,
.footer__col p,
.elementor-widget .footer__col a,
.elementor-element .footer__col a,
.elementor-widget .footer__col p,
.elementor-element .footer__col p { display: block; color: var(--ink-soft); margin-bottom: 0.5rem; }
.footer__col a:hover,
.elementor-widget .footer__col a:hover,
.elementor-element .footer__col a:hover { color: var(--terracotta); }
.footer__bottom,
.elementor-widget .footer__bottom,
.elementor-element .footer__bottom {
  border-top: 1px solid var(--line);
  padding: 1.3rem 1.4rem;
  max-width: var(--maxw);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  font-size: 0.85rem;
  color: var(--ink-soft);
}
.footer__legal,
.elementor-widget .footer__legal,
.elementor-element .footer__legal { display: flex; gap: 1.2rem; flex-wrap: wrap; }
.footer__legal a:hover,
.elementor-widget .footer__legal a:hover,
.elementor-element .footer__legal a:hover { color: var(--terracotta); }
/* ============================================================
   Botones flotantes
   ============================================================ */
.floats {
  position: fixed;
  right: 1.2rem; bottom: 1.2rem;
  z-index: 90;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.7rem;
}
.float,
.elementor-widget .float,
.elementor-element .float {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 100px;
  box-shadow: var(--shadow);
  font-weight: 600;
  transition: transform 0.25s var(--ease);
}
.float:hover,
.elementor-widget .float:hover,
.elementor-element .float:hover { transform: translateY(-3px); }
.float--reviews,
.elementor-widget .float--reviews,
.elementor-element .float--reviews {
  background: var(--paper);
  color: var(--ink);
  padding: 0.55rem 1rem 0.55rem 0.6rem;
  font-size: 0.85rem;
  border: 1px solid var(--line);
}
.float--reviews svg,
.elementor-widget .float--reviews svg,
.elementor-element .float--reviews svg { width: 22px; height: 22px; }
.float--reviews strong,
.elementor-widget .float--reviews strong,
.elementor-element .float--reviews strong { color: var(--terracotta); }
.float--wa,
.elementor-widget .float--wa,
.elementor-element .float--wa {
  width: 58px; height: 58px;
  background: var(--whatsapp);
  display: grid;
  place-items: center;
  align-self: flex-end;
}
.float--wa svg,
.elementor-widget .float--wa svg,
.elementor-element .float--wa svg { width: 32px; height: 32px; }
/* ============================================================
   Menú móvil
   ============================================================ */
.mobilemenu {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: var(--paper);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.mobilemenu.is-open,
.elementor-widget .mobilemenu.is-open,
.elementor-element .mobilemenu.is-open { opacity: 1; pointer-events: auto; }
.mobilemenu nav,
.elementor-widget .mobilemenu nav,
.elementor-element .mobilemenu nav { display: flex; flex-direction: column; gap: 1.4rem; text-align: center; }
.mobilemenu a,
.elementor-widget .mobilemenu a,
.elementor-element .mobilemenu a { font-family: var(--font-display); font-size: 2rem; font-weight: 600; }
.mobilemenu a:hover,
.elementor-widget .mobilemenu a:hover,
.elementor-element .mobilemenu a:hover { color: var(--terracotta); }
/* ============================================================
   Reveal al hacer scroll
   ============================================================ */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s var(--ease), transform 0.7s var(--ease); }
.reveal.is-visible,
.elementor-widget .reveal.is-visible,
.elementor-element .reveal.is-visible { opacity: 1; transform: none; }
/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1080px) {
  .carousel__track { grid-auto-columns: calc((100% - 2 * 1.2rem) / 3); }
}
@media (max-width: 900px) {
.nav,
.elementor-widget .nav,
.elementor-element .nav { display: none; }
.burger,
.elementor-widget .burger,
.elementor-element .burger { display: flex; }
.cart__label,
.elementor-widget .cart__label,
.elementor-element .cart__label { display: none; }
.hero,
.elementor-widget .hero,
.elementor-element .hero { grid-template-columns: 1fr; }
.hero__media,
.elementor-widget .hero__media,
.elementor-element .hero__media { min-height: 340px; order: -1; }
.store__grid,
.elementor-widget .store__grid,
.elementor-element .store__grid { grid-template-columns: 1fr; }
.carousel__track,
.elementor-widget .carousel__track,
.elementor-element .carousel__track { grid-auto-columns: calc((100% - 1.2rem) / 2); }
.carousel__nav,
.elementor-widget .carousel__nav,
.elementor-element .carousel__nav { display: none; }
.story,
.elementor-widget .story,
.elementor-element .story { grid-template-columns: 1fr; }
.story--reverse .story__media,
.elementor-widget .story--reverse .story__media,
.elementor-element .story--reverse .story__media { order: 0; }
.values__grid,
.elementor-widget .values__grid,
.elementor-element .values__grid { grid-template-columns: repeat(2, 1fr); }
.contactgrid,
.elementor-widget .contactgrid,
.elementor-element .contactgrid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
.cats,
.elementor-widget .cats,
.elementor-element .cats { grid-template-columns: 1fr; }
.parcel,
.elementor-widget .parcel,
.elementor-element .parcel { grid-template-columns: 1fr; }
.parcel__media,
.elementor-widget .parcel__media,
.elementor-element .parcel__media { min-height: 240px; }
.store__about,
.elementor-widget .store__about,
.elementor-element .store__about { grid-template-columns: 1fr; }
.footer__inner,
.elementor-widget .footer__inner,
.elementor-element .footer__inner { grid-template-columns: 1fr 1fr; }
.topbar__sep,
.elementor-widget .topbar__sep,
.elementor-element .topbar__sep { display: none; }
.float--reviews span,
.elementor-widget .float--reviews span,
.elementor-element .float--reviews span { display: none; }
.float--reviews,
.elementor-widget .float--reviews,
.elementor-element .float--reviews { width: 52px; height: 52px; justify-content: center; padding: 0; }
.values__grid,
.elementor-widget .values__grid,
.elementor-element .values__grid { grid-template-columns: 1fr; }
.form__row,
.elementor-widget .form__row,
.elementor-element .form__row { grid-template-columns: 1fr; }
.ctaband__inner,
.elementor-widget .ctaband__inner,
.elementor-element .ctaband__inner { flex-direction: column; align-items: flex-start; }
/* Banner localización: mapa arriba, tarjeta debajo (sin solapar) */
  .locbanner { flex-direction: column; min-height: 0; }
.locbanner__map,
.elementor-widget .locbanner__map,
.elementor-element .locbanner__map { position: relative; height: 300px; }
.locbanner__card,
.elementor-widget .locbanner__card,
.elementor-element .locbanner__card {
    margin: 0; width: 100%; border-radius: 0;
    border-left: 0; border-right: 0; box-shadow: none;
    backdrop-filter: none;
  }
}
@media (max-width: 520px) {
.carousel__track,
.elementor-widget .carousel__track,
.elementor-element .carousel__track { grid-auto-columns: 78%; }
.footer__inner,
.elementor-widget .footer__inner,
.elementor-element .footer__inner { grid-template-columns: 1fr; }
.hero__cta,
.elementor-widget .hero__cta,
.elementor-element .hero__cta { flex-direction: column; }
.hero__cta .btn,
.elementor-widget .hero__cta .btn,
.elementor-element .hero__cta .btn { width: 100%; }
}
/* ---- Tarjetas de producto clicables (integracion productos clienta) ---- */
.card { cursor: pointer; }
.card__media-link,
.elementor-widget .card__media-link,
.elementor-element .card__media-link { position: absolute; inset: 0; display: block; z-index: 1; }
.card__fav,
.card__add,
.elementor-widget .card__fav,
.elementor-element .card__fav,
.elementor-widget .card__add,
.elementor-element .card__add { z-index: 2; }
.card__add,
.elementor-widget .card__add,
.elementor-element .card__add { text-decoration: none; }
.card__body,
.elementor-widget .card__body,
.elementor-element .card__body { text-decoration: none; color: inherit; display: block; }
.card__name,
.elementor-widget .card__name,
.elementor-element .card__name { transition: color 0.15s var(--ease); }
.card:hover .card__name,
.elementor-widget .card:hover .card__name,
.elementor-element .card:hover .card__name { color: var(--terracotta); }
/* ---- Buscador de cabecera ---- */
.header__search { border-top: 1px solid var(--line, #e4ddd0); background: var(--paper, #fffdfa); padding: 0.85rem clamp(1rem, 5vw, 3rem); }
.header__search[hidden] { display: none; }
.header__search-form,
.elementor-widget .header__search-form,
.elementor-element .header__search-form { display: flex; gap: 0.6rem; max-width: 720px; margin: 0 auto; }
.header__search-form input[type="search"] { flex: 1; min-width: 0; border: 1px solid var(--line, #e4ddd0); border-radius: 100px; padding: 0.7rem 1.1rem; font: inherit; font-size: 0.95rem; background: var(--paper, #fffdfa); color: var(--ink, #1a1714); outline: none; }
.header__search-form input[type="search"]:focus { border-color: var(--terracotta, #c9763d); }
.header__search-submit,
.elementor-widget .header__search-submit,
.elementor-element .header__search-submit { background: var(--ink, #1a1714); color: var(--paper, #fffdfa); border: 0; border-radius: 100px; padding: 0.7rem 1.4rem; font-weight: 600; cursor: pointer; white-space: nowrap; }
.header__search-submit:hover,
.elementor-widget .header__search-submit:hover,
.elementor-element .header__search-submit:hover { background: var(--terracotta, #c9763d); }
/* ===========================================================
   Paleta Calzados El Paso — Azul royal + naranja + blanco
   (override; redefine variables y recolorea los primarios a azul)
   =========================================================== */
:root {
  --ink: #1b2430;          /* texto / superficies oscuras (azul carbón) */
  --ink-soft: #4b5563;
  --paper: #ffffff;        /* blanco */
  --cream: #eef4fc;        /* azul muy claro (fondos suaves) */
  --cream-2: #e1ebf8;
  --line: #d6e3f4;         /* líneas/bordes azulados */
  --terracotta: #ff6a13;   /* NARANJA (acento, ofertas, hover) */
  --terracotta-dark: #e2560a;
  --blue: #1565d8;         /* AZUL royal (primario) */
  --blue-dark: #0f4fb0;
  --shadow: 0 18px 40px -24px rgba(21, 101, 216, 0.35);
  --shadow-sm: 0 6px 18px -12px rgba(21, 101, 216, 0.35);
}
/* Primarios en AZUL, hover en NARANJA */
.btn--primary { background: var(--blue); color: #fff; }
.btn--primary:hover,
.elementor-widget .btn--primary:hover,
.elementor-element .btn--primary:hover { background: var(--terracotta); color: #fff; }
.btn--ghost,
.elementor-widget .btn--ghost,
.elementor-element .btn--ghost { box-shadow: inset 0 0 0 1.5px var(--blue); color: var(--blue); }
.btn--ghost:hover,
.elementor-widget .btn--ghost:hover,
.elementor-element .btn--ghost:hover { background: var(--blue); color: #fff; }
.btn--light:hover,
.elementor-widget .btn--light:hover,
.elementor-element .btn--light:hover { background: var(--terracotta); color: #fff; }
.topbar,
.elementor-widget .topbar,
.elementor-element .topbar { background: var(--blue); color: #fff; }
.topbar__item--loc,
.elementor-widget .topbar__item--loc,
.elementor-element .topbar__item--loc { color: #d8e6ff; }
.topbar__item strong,
.elementor-widget .topbar__item strong,
.elementor-element .topbar__item strong { color: #fff; }
.tab.is-active,
.elementor-widget .tab.is-active,
.elementor-element .tab.is-active { background: var(--blue); color: #fff; }
.card__add,
.elementor-widget .card__add,
.elementor-element .card__add { background: var(--blue); }
.card__add:hover,
.elementor-widget .card__add:hover,
.elementor-element .card__add:hover { background: var(--terracotta); }
.carousel__nav:hover,
.elementor-widget .carousel__nav:hover,
.elementor-element .carousel__nav:hover { background: var(--blue); color: #fff; }
.cart:hover,
.elementor-widget .cart:hover,
.elementor-element .cart:hover { background: var(--blue); }
.cat:hover .cat__arrow,
.elementor-widget .cat:hover .cat__arrow,
.elementor-element .cat:hover .cat__arrow { background: var(--blue); color: #fff; }
.header__search-submit,
.elementor-widget .header__search-submit,
.elementor-element .header__search-submit { background: var(--blue); }
.header__search-submit:hover,
.elementor-widget .header__search-submit:hover,
.elementor-element .header__search-submit:hover { background: var(--terracotta); }
.cart:hover .cart__badge,
.elementor-widget .cart:hover .cart__badge,
.elementor-element .cart:hover .cart__badge { background: #fff; color: var(--blue); }
.cart__badge,
.elementor-widget .cart__badge,
.elementor-element .cart__badge { background: var(--terracotta); }
/* Acentos de marca en naranja ya cubiertos por --terracotta */
.hero__title em { color: var(--terracotta); }
/* ---- Tiles de categoría (8 tipos, Deportivos destacado) ---- */
.cattiles { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 1fr; gap: 0.9rem; }
.cattile,
.elementor-widget .cattile,
.elementor-element .cattile {
  display: flex; flex-direction: column; gap: 0.25rem;
  padding: 1.1rem 1.2rem; border-radius: var(--radius);
  background: var(--paper); border: 1px solid var(--line);
  box-shadow: var(--shadow-sm); transition: 0.22s var(--ease);
  text-decoration: none; color: var(--ink); min-height: 128px;
}
.cattile:hover,
.elementor-widget .cattile:hover,
.elementor-element .cattile:hover { transform: translateY(-3px); border-color: var(--blue); box-shadow: var(--shadow); }
.cattile__ico,
.elementor-widget .cattile__ico,
.elementor-element .cattile__ico { font-size: 1.9rem; line-height: 1; }
.cattile__name,
.elementor-widget .cattile__name,
.elementor-element .cattile__name { font-family: var(--font-display); font-weight: 600; font-size: 1.15rem; }
.cattile__sub,
.elementor-widget .cattile__sub,
.elementor-element .cattile__sub { font-size: 0.82rem; color: var(--ink-soft); line-height: 1.35; }
.cattile__cta,
.elementor-widget .cattile__cta,
.elementor-element .cattile__cta { margin-top: auto; color: var(--blue); font-weight: 600; font-size: 0.9rem; }
.cattile:hover .cattile__cta,
.elementor-widget .cattile:hover .cattile__cta,
.elementor-element .cattile:hover .cattile__cta { color: var(--terracotta); }
.cattile--feat,
.elementor-widget .cattile--feat,
.elementor-element .cattile--feat {
  grid-column: span 2; grid-row: span 2;
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  color: #fff; border-color: transparent; justify-content: center; gap: 0.5rem;
}
.cattile--feat .cattile__ico,
.elementor-widget .cattile--feat .cattile__ico,
.elementor-element .cattile--feat .cattile__ico { font-size: 3rem; }
.cattile--feat .cattile__name,
.elementor-widget .cattile--feat .cattile__name,
.elementor-element .cattile--feat .cattile__name { font-size: 1.9rem; }
.cattile--feat .cattile__sub,
.elementor-widget .cattile--feat .cattile__sub,
.elementor-element .cattile--feat .cattile__sub { color: rgba(255, 255, 255, 0.9); font-size: 0.95rem; }
.cattile--feat .cattile__cta,
.elementor-widget .cattile--feat .cattile__cta,
.elementor-element .cattile--feat .cattile__cta { color: #fff; margin-top: 0.3rem; }
.cattile--feat:hover,
.elementor-widget .cattile--feat:hover,
.elementor-element .cattile--feat:hover { transform: translateY(-3px); }
.cattile--feat:hover .cattile__cta,
.elementor-widget .cattile--feat:hover .cattile__cta,
.elementor-element .cattile--feat:hover .cattile__cta { color: #fff; text-decoration: underline; }
@media (max-width: 900px) {
.cattiles,
.elementor-widget .cattiles,
.elementor-element .cattiles { grid-template-columns: repeat(2, 1fr); }
.cattile--feat,
.elementor-widget .cattile--feat,
.elementor-element .cattile--feat { grid-column: span 2; grid-row: span 1; min-height: 150px; }
}


/* === Menú activo: robusto ante interferencias del tema padre === */
header a[aria-current="page"] {
  border-bottom: 2px solid var(--color-accent, currentColor) !important;
  padding-bottom: 4px !important;
  color: var(--color-primary, inherit) !important;
}


/* === Fix: anular layout boxed que hello-elementor impone a .site-header/.site-footer === */
#siteHeader.site-header, #siteFooter.site-footer, .site-header, .site-footer {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
#siteHeader.site-header { width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }


/* === Fixes post-porter: preflight off + utilidades purgadas === */
body.home #siteHeader.site-header { background-color: transparent !important; }
body.home #siteHeader.site-header.is-solid,
body.home #siteHeader.site-header.is-scrolled { background-color: var(--black) !important; }
#siteHeader nav a:not(.nav-dropdown__link), #mobileMenu nav a:not(.btn) { color: inherit; }
#siteHeader nav a.nav-active, #mobileMenu nav a.nav-active { color: var(--lime) !important; }
footer a { color: inherit; }
footer ul { list-style: none; margin: 0; padding: 0; }
#wpp-legal-nav ul { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; justify-content: flex-start; }


/* === Bridge layer: tokens del proyecto sobre widgets nativos Elementor === */
/* Fuentes detectadas: Fraunces, Inter */
:root {
  --wpp-font-heading: 'Fraunces', sans-serif;
  --wpp-font-body: 'Inter', sans-serif;
}
/* Body + widgets text/button → fuente body del proyecto */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-widget-button .elementor-button,
.elementor-widget-icon-list .elementor-icon-list-text,
.elementor-widget-counter .elementor-counter-title {
  font-family: var(--wpp-font-body);
}
/* Headings de Elementor → fuente heading del proyecto */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-counter .elementor-counter-number {
  font-family: var(--wpp-font-heading);
}