/* =========================================================================
   Casa Reig — hoja de estilos del tema (WooCommerce + Elementor)
   Tokens del manual de marca 2026. Montserrat 800/900 italic uppercase para
   títulos y precios grandes; Hanken Grotesk para todo lo demás.
   ========================================================================= */

:root {
  --navy: #123E82;
  --navy-deep: #0B3FA0;
  --navy-ink: #0B1730;
  --celeste: #2F8FFF;
  --celeste-dark: #1470D6;
  --magenta: #D6127E;
  --magenta-tint: #FCEAF4;
  --bg-light: #F2F4F7;
  --bg-card-tint: #EAF1FC;
  --text-body: #40414D;
  --text-soft: #5b5d6b;
  --text-muted: #9a9ca8;
  --line: #e5e7ee;
  --line-soft: #f0f1f4;
  --white: #fff;

  --gradient-primary: linear-gradient(135deg, #0B3FA0 0%, #2F8FFF 100%);
  --gradient-urgency: linear-gradient(135deg, #FF2FB0 0%, #B026FF 100%);
  --gradient-text-price: linear-gradient(135deg, #2F8FFF 0%, #D6127E 100%);
  --gradient-tricolor: linear-gradient(125deg, #0B3FA0 0%, #1470D6 42%, #2F8FFF 66%, #8B2FCB 86%, #D6127E 100%);
  --gradient-hero: linear-gradient(150deg, #0B3FA0 0%, #7B2FF7 100%);
  --gradient-cyan: linear-gradient(135deg, #2F8FFF 0%, #00E0FF 100%);
  --gradient-card-img: linear-gradient(160deg, #F7F9FC 0%, #EAF1FC 100%);
  --gradient-summary: linear-gradient(150deg, #0B3FA0 0%, #123E82 100%);

  --font-display: 'Montserrat', system-ui, sans-serif;
  --font-body: 'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --radius-card: 16px;
  --radius-hero: 20px;
  --radius-pill: 40px;
  --radius-sm: 10px;
  --shadow-card: 0 8px 24px -14px rgba(18, 62, 130, .18);
  --shadow-card-hover: 0 18px 40px -18px rgba(18, 62, 130, .35);
  --shadow-hero: 0 24px 54px -22px rgba(18, 62, 130, .4);

  --container: 1220px;
  --gutter: 24px;
  --header-h: 72px;
}

/* -------------------------------------------------------------------------
   Base
   ------------------------------------------------------------------------- */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body.casareig {
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--text-body);
  background: var(--bg-light);
  -webkit-font-smoothing: antialiased;
}
:where(body.casareig) a { color: var(--celeste-dark); text-decoration: none; transition: color .15s; }
:where(body.casareig) a:hover { color: var(--navy); }
body.casareig ::selection { background: var(--celeste); color: var(--white); }
body.casareig img { max-width: 100%; height: auto; }
:where(body.casareig) h1, :where(body.casareig) h2, :where(body.casareig) h3, :where(body.casareig) h4,
.cr-title {
  font-family: var(--font-display);
  font-weight: 800;
  font-style: italic;
  text-transform: uppercase;
  letter-spacing: -.01em;
  color: var(--navy);
  line-height: 1.08;
  margin: 0 0 .5em;
}
:where(body.casareig) h1 { font-size: clamp(30px, 4vw, 44px); font-weight: 900; }
:where(body.casareig) h2 { font-size: clamp(24px, 3vw, 32px); }
:where(body.casareig) h3 { font-size: 20px; }
:where(body.casareig) h5, :where(body.casareig) h6 { font-family: var(--font-body); font-weight: 800; color: var(--navy); }
body.casareig button, body.casareig input, body.casareig select, body.casareig textarea { font-family: inherit; font-size: inherit; }
.cr-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
.cr-page { padding-top: 22px; padding-bottom: 60px; }
.site-main, .cr-content { max-width: var(--container); margin: 0 auto; padding: 32px var(--gutter) 60px; }
body.casareig.elementor-page .site-main, body.casareig.elementor-page .cr-content { max-width: none; padding: 0; }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); height: 1px; width: 1px; overflow: hidden; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 9999; clip: auto; width: auto; height: auto; padding: 10px 16px; background: var(--white); color: var(--navy); border-radius: 8px; }
.cr-grad-text {
  background: var(--gradient-text-price);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  font-style: inherit;
}

/* -------------------------------------------------------------------------
   Botones y badges
   ------------------------------------------------------------------------- */
.cr-btn, body.casareig .button, body.casareig button.button, body.casareig .woocommerce .button,
body.casareig input[type="submit"], body.casareig #submit, body.casareig .elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--font-body); font-weight: 800; font-size: 15px; line-height: 1.15;
  padding: 14px 26px; border-radius: var(--radius-pill); border: 2px solid transparent;
  background: var(--gradient-primary); color: var(--white) !important;
  cursor: pointer; text-decoration: none; white-space: nowrap;
  transition: transform .15s, box-shadow .15s, filter .15s;
}
.cr-btn:hover, body.casareig .button:hover, body.casareig input[type="submit"]:hover { filter: brightness(1.06); transform: translateY(-1px); box-shadow: 0 10px 22px -12px rgba(18, 62, 130, .6); color: var(--white); }
.cr-btn--primary { background: var(--gradient-primary); }
.cr-btn--urgency, body.casareig .cr-btn--urgency { background: var(--gradient-urgency); }
.cr-btn--ghost, body.casareig .cr-btn--ghost { background: var(--white); border-color: var(--navy); color: var(--navy) !important; }
.cr-btn--ghost:hover { background: var(--bg-card-tint); }
.cr-btn--white, body.casareig .cr-btn--white { background: var(--white); color: var(--navy) !important; }
.cr-btn--whatsapp, body.casareig .cr-btn--whatsapp { background: #25D366; color: var(--white) !important; }
.cr-btn--sm { padding: 10px 18px; font-size: 14px; }
body.casareig .button:disabled, body.casareig .button.disabled { opacity: .5; cursor: not-allowed; transform: none; }

.cr-badge {
  display: inline-flex; align-items: center; gap: 6px;
  border-radius: 20px; padding: 6px 12px;
  font-family: var(--font-body); font-weight: 700; font-size: 12px; line-height: 1; letter-spacing: .01em;
  background: var(--bg-card-tint); color: var(--celeste-dark); white-space: nowrap;
}
.cr-badge--discount, .cr-badge--pct { background: var(--gradient-urgency); color: var(--white); font-weight: 800; }
.cr-badge--installments { background: var(--navy); color: var(--white); }
.cr-badge--shipping { background: var(--bg-card-tint); color: var(--celeste-dark); }
.cr-badge--stock { background: var(--white); border: 1.5px solid var(--line-soft); color: var(--text-body); }
.cr-badge--urgency { background: var(--magenta-tint); color: var(--magenta); font-weight: 800; }
.cr-badge--new { background: var(--gradient-cyan); color: var(--white); font-weight: 800; }
.cr-badges { position: absolute; top: 12px; left: 12px; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.cr-tag { display: inline-block; background: #111827; padding: 6px 12px; border-radius: 10px; font-weight: 800; font-size: 14px; letter-spacing: .04em; line-height: 1; }
.cr-tag > span { background: var(--gradient-urgency); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }

/* -------------------------------------------------------------------------
   Header
   ------------------------------------------------------------------------- */
.cr-header { position: relative; z-index: 100; font-family: var(--font-body); }
.cr-announce { background: var(--gradient-primary); color: var(--white); font-size: 13px; font-weight: 600; }
.cr-announce__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 34px; }
.cr-announce__links { display: flex; gap: 18px; margin: 0; padding: 0; list-style: none; }
.cr-header .cr-announce__links a { color: rgba(255, 255, 255, .9); }
.cr-header .cr-announce__links a:hover { color: var(--white); text-decoration: underline; }

.cr-bar { background: var(--navy); }
.cr-bar__inner { display: flex; align-items: center; gap: 24px; min-height: var(--header-h); }
.cr-logo { display: flex; align-items: center; flex: 0 0 auto; }
.cr-logo img { width: 104px; height: auto; display: block; }
.cr-burger { display: none; background: none; border: 0; color: var(--white); padding: 6px; cursor: pointer; }

.cr-search { flex: 1; display: flex; align-items: center; gap: 10px; background: var(--white); border-radius: 30px; padding: 0 6px 0 18px; min-height: 44px; color: var(--text-muted); }
body.casareig .cr-search__input { flex: 1; border: 0 !important; outline: 0; background: transparent !important; box-shadow: none !important; border-radius: 0; font-size: 14px; color: var(--text-body); min-width: 0; padding: 10px 0 !important; margin: 0; }
.cr-search__input::placeholder { color: #a0a2ad; }
body.casareig .cr-search__btn { border: 0; background: var(--celeste); color: var(--navy); font-weight: 800; font-size: 13px; line-height: 1.2; padding: 9px 18px; border-radius: 24px; cursor: pointer; }
body.casareig .cr-search__btn:hover { background: #4d9fff; }

.cr-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.cr-header .cr-action { display: inline-flex; align-items: center; gap: 8px; color: var(--white); font-size: 13px; font-weight: 600; padding: 9px 12px; border-radius: 24px; position: relative; }
.cr-header .cr-action:hover { color: var(--white); background: rgba(255, 255, 255, .1); }
.cr-header .cr-cart { background: var(--celeste); color: var(--navy); padding: 9px 16px; }
.cr-header .cr-cart:hover { background: #4d9fff; color: var(--navy); }
.cr-cart__count { display: none; position: absolute; top: -4px; right: -2px; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--magenta); color: var(--white); font-size: 11px; font-weight: 800; line-height: 20px; text-align: center; }
.cr-cart__count.is-visible { display: inline-block; }

.cr-nav { background: var(--celeste-dark); }
.cr-nav__list { display: flex; align-items: stretch; gap: 2px; margin: 0; padding: 0; list-style: none; }
.cr-nav__item { position: relative; }
.cr-nav .cr-nav__link { display: flex; align-items: center; gap: 5px; padding: 12px 11px; color: var(--white); font-size: 13.5px; font-weight: 600; white-space: nowrap; }
.cr-nav .cr-nav__link:hover, .cr-nav .cr-nav__item.is-current > .cr-nav__link { color: var(--white); background: rgba(255, 255, 255, .12); }
.cr-nav__item--parent > .cr-nav__link::after { content: ''; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .8; }
.cr-nav .cr-nav__link--ofertas { background: #111827; margin: 6px 4px; padding: 6px 12px; border-radius: 8px; font-weight: 800; }
.cr-nav__link--ofertas span { background: var(--gradient-urgency); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.cr-nav__sub { display: none; position: absolute; top: 100%; left: 0; z-index: 50; min-width: 240px; margin: 0; padding: 10px 0; list-style: none; background: var(--white); border-radius: 0 0 14px 14px; box-shadow: 0 22px 44px -20px rgba(18, 62, 130, .45); }
.cr-nav__item:hover > .cr-nav__sub, .cr-nav__item:focus-within > .cr-nav__sub { display: block; }
.cr-nav__sub .cr-nav__item { position: relative; }
.cr-nav .cr-nav__sub .cr-nav__link { color: var(--text-body); font-weight: 600; padding: 9px 18px; }
.cr-nav .cr-nav__sub .cr-nav__link:hover { background: var(--bg-card-tint); color: var(--navy); }
.cr-nav__sub .cr-nav__item--parent > .cr-nav__link::after { transform: rotate(-45deg); margin-left: auto; }
.cr-nav__sub--1 { top: 0; left: 100%; border-radius: 0 14px 14px 0; }
.cr-nav__sub .cr-nav__item:hover > .cr-nav__sub--1 { display: block; }
.cr-nav__list::-webkit-scrollbar { display: none; }

/* Mobile drawer */
.cr-mobile { position: fixed; inset: 0; z-index: 1000; visibility: hidden; }
.cr-mobile.is-open { visibility: visible; }
.cr-mobile__backdrop { position: absolute; inset: 0; background: rgba(11, 23, 48, .55); opacity: 0; transition: opacity .2s; }
.cr-mobile.is-open .cr-mobile__backdrop { opacity: 1; }
.cr-mobile__panel { position: absolute; top: 0; left: 0; bottom: 0; width: min(88vw, 360px); background: var(--white); transform: translateX(-100%); transition: transform .25s ease; display: flex; flex-direction: column; overflow-y: auto; }
.cr-mobile.is-open .cr-mobile__panel { transform: none; }
.cr-mobile__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; background: var(--navy); }
.cr-mobile__head img { width: 80px; }
.cr-mobile__close { background: none; border: 0; color: var(--white); cursor: pointer; }
.cr-mobile__list { list-style: none; margin: 0; padding: 8px 0; }
.cr-mobile__list > li > a { display: block; padding: 13px 22px; font-weight: 700; font-size: 16px; color: var(--navy); border-bottom: 1px solid var(--line-soft); }
.cr-mobile__list .sub-menu { list-style: none; margin: 0; padding: 0 0 6px 22px; }
.cr-mobile__list .sub-menu a { display: block; padding: 9px 12px; font-size: 14px; color: var(--text-soft); }
.cr-mobile__list--secondary > li > a { font-weight: 600; font-size: 14px; color: var(--text-soft); border: 0; padding: 9px 22px; }
.cr-mobile__wa { margin: auto 20px 24px; }
body.cr-menu-open { overflow: hidden; }

.cr-wa-float { position: fixed; right: 18px; bottom: 18px; z-index: 900; width: 54px; height: 54px; border-radius: 50%; background: #25D366; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .35); }
.cr-wa-float:hover { transform: scale(1.06); }

/* -------------------------------------------------------------------------
   Home: hero, beneficios, categorías, riel, club, marcas, banner
   ------------------------------------------------------------------------- */
.cr-home { padding-bottom: 60px; }
.cr-home__content > .cr-section, .cr-home__content > .cr-club, .cr-home__content > .cr-brands, .cr-home__content > .cr-banner { max-width: var(--container); margin-left: auto; margin-right: auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.cr-home__content > .cr-club { width: calc(100% - 2 * var(--gutter)); padding: 32px 40px; }
.cr-section { margin: 40px 0 0; }
.cr-section__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.cr-section__heading { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.cr-section__title { margin: 0; font-size: clamp(22px, 2.6vw, 28px); }
.cr-section__more { font-size: 14px; font-weight: 700; color: var(--celeste-dark); white-space: nowrap; }

.cr-hero { display: grid; grid-template-columns: 1.05fr 1fr; min-height: clamp(520px, 44vw, 700px); background: var(--gradient-hero); color: var(--white); overflow: hidden; }
.cr-hero__copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 56px max(24px, calc((100vw - var(--container)) / 2 + 24px)) 56px; position: relative; }
.cr-hero__copy::after { content: ''; position: absolute; right: -120px; top: -80px; width: 320px; height: 320px; border-radius: 50%; background: rgba(255, 255, 255, .06); pointer-events: none; }
.cr-hero .cr-hero__title { color: var(--white); font-size: clamp(34px, 5vw, 56px); font-weight: 900; margin: 18px 0 0; max-width: 12ch; }
.cr-hero__sub { display: inline-block; background: var(--white); color: var(--navy); font-weight: 800; font-size: 18px; padding: 8px 16px; border-radius: 10px; margin-top: 18px; }
.cr-hero__cta { margin-top: 26px; }
.cr-hero__media { position: relative; min-height: 300px; }
.cr-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.cr-hero__media--empty { background: var(--gradient-tricolor); }

.cr-benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.cr-benefit { display: flex; align-items: center; gap: 12px; padding: 18px 20px; background: var(--white); }
.cr-benefit:first-child { padding-left: max(20px, calc((100vw - var(--container)) / 2 + 24px)); }
.cr-benefit:last-child { padding-right: max(20px, calc((100vw - var(--container)) / 2 + 24px)); }
.cr-benefit__icon { width: 40px; height: 40px; border-radius: 12px; background: var(--bg-card-tint); color: var(--celeste-dark); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.cr-benefit__title { font-size: 14px; font-weight: 700; color: var(--navy); line-height: 1.2; }
.cr-benefit__sub { font-size: 12px; color: var(--text-muted); margin-top: 2px; }

.cr-cats__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.cr-cat { display: block; text-align: center; color: var(--navy); }
.cr-cat__tile { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: 18px; background: var(--gradient-cyan); overflow: hidden; transition: transform .2s, box-shadow .2s; }
.cr-cat--b .cr-cat__tile { background: var(--gradient-urgency); }
.cr-cat.has-image .cr-cat__tile { background: var(--gradient-card-img); }
.cr-cat.has-image .cr-cat__tile img { width: 100%; height: 100%; object-fit: cover; }
.cr-cat:hover .cr-cat__tile { transform: translateY(-3px); box-shadow: var(--shadow-card-hover); }
.cr-cat__name { display: block; margin-top: 10px; font-size: 14px; font-weight: 700; }

.cr-club { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 40px 0 0; padding: 32px 40px; border-radius: var(--radius-hero); background: linear-gradient(135deg, #0B3FA0 0%, #1470D6 100%); color: var(--white); box-shadow: var(--shadow-hero); }
.cr-club .cr-club__title { color: var(--white); font-size: clamp(24px, 3vw, 32px); margin: 0; }
.cr-club__sub { color: rgba(255, 255, 255, .85); margin: 6px 0 0; font-size: 15px; }

.cr-brands { margin: 44px 0 0; text-align: center; }
.cr-brands__title { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted); font-weight: 800; margin-bottom: 14px; }
.cr-brands__list { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px 38px; font-weight: 700; font-size: 18px; color: #c2c6d0; }

.cr-banner { position: relative; display: flex; align-items: center; min-height: 220px; border-radius: var(--radius-hero); overflow: hidden; background: var(--gradient-primary); color: var(--white); margin: 24px 0 0; }
.cr-banner--magenta { background: var(--gradient-urgency); }
.cr-banner__copy { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 32px 36px; max-width: 55%; }
.cr-banner__title { font-family: var(--font-display); font-weight: 900; font-style: italic; text-transform: uppercase; font-size: 30px; line-height: 1.05; }
.cr-banner__sub { font-size: 15px; opacity: .9; }
.cr-banner > img { position: absolute; right: 0; top: 0; height: 100%; width: 50%; object-fit: cover; }

/* -------------------------------------------------------------------------
   Grilla de productos (tienda, categorías, relacionados, rieles)
   ------------------------------------------------------------------------- */
body.casareig ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0 0 24px !important; padding: 0; list-style: none; }
body.casareig ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.casareig ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.casareig ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
body.casareig ul.products::before, body.casareig ul.products::after { display: none; }
body.casareig ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 0; }

.cr-card { position: relative; display: flex; flex-direction: column; background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); overflow: hidden; transition: transform .2s, box-shadow .2s; }
.cr-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-card-hover); }
.cr-card__media { position: relative; display: block; aspect-ratio: 1; background: var(--gradient-card-img); overflow: hidden; }
.cr-card__media img { width: 100% !important; height: 100% !important; object-fit: contain; padding: 14px; mix-blend-mode: multiply; margin: 0 !important; }
.cr-card--soldout .cr-card__media img { filter: grayscale(.6); opacity: .7; }
.cr-card__body { display: flex; flex-direction: column; flex: 1; padding: 14px 16px 16px; gap: 4px; }
.cr-card__brand { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); }
.cr-card .cr-card__title { font-family: var(--font-body); font-style: normal; text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 600; line-height: 1.35; margin: 0; color: var(--navy); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.7em; }
.cr-card__title a { color: inherit; }
.cr-card__rating { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--text-muted); }
.cr-card__price { margin-top: auto; padding-top: 6px; }
.cr-card__price .price { display: flex; flex-direction: column; font-family: var(--font-display) !important; font-weight: 900 !important; font-style: italic !important; font-size: 22px !important; color: var(--navy) !important; line-height: 1.1; margin: 0; }
.cr-card__price .price del { order: -1; font-family: var(--font-body); font-style: normal; font-weight: 500; font-size: 12px; color: var(--text-muted); opacity: 1; text-decoration: line-through; }
.cr-card__price .price ins { text-decoration: none; font-weight: 900 !important; }
.cr-card__price .price .woocommerce-Price-currencySymbol { font-size: .8em; margin-right: 1px; }
.cr-card__soldout { display: inline-block; font-size: 13px; font-weight: 700; color: var(--text-muted); }
.cr-installments { display: block; font-size: 12.5px; font-weight: 600; color: var(--celeste-dark); margin-top: 3px; line-height: 1.3; }
.cr-installments b { font-weight: 800; background: var(--gradient-text-price); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.cr-card__meta { margin-top: 6px; }
.cr-card__actions { margin-top: 12px; display: flex; gap: 8px; }
.cr-card__actions .button { flex: 1; padding: 11px 16px; font-size: 14px; }
.cr-card__actions .added_to_cart { display: none; }
.cr-card .cr-badges { top: 12px; left: 12px; }

/* -------------------------------------------------------------------------
   Tienda / categoría: layout, breadcrumb, toolbar, filtros, paginación
   ------------------------------------------------------------------------- */
.cr-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; color: var(--text-muted); margin-bottom: 18px; }
.cr-crumb a { color: var(--text-muted); }
.cr-crumb a:hover { color: var(--navy); }
.cr-crumb__sep { opacity: .6; }
.cr-shop { display: block; }
.cr-shop--filters { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; align-items: start; }
.cr-shop__main { min-width: 0; }
body.casareig .woocommerce-products-header { margin-bottom: 8px; }
body.casareig .woocommerce-products-header__title { margin: 0 0 6px; font-family: var(--font-display); font-weight: 900; font-style: italic; text-transform: uppercase; color: var(--navy); }
body.casareig .term-description { color: var(--text-soft); font-size: 15px; max-width: 800px; }
.cr-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 0 18px; padding: 10px 14px; background: var(--white); border-radius: 12px; box-shadow: var(--shadow-card); }
.cr-toolbar__filters { display: none; align-items: center; gap: 8px; background: var(--bg-card-tint); color: var(--navy); border: 0; border-radius: 20px; padding: 8px 14px; font-weight: 700; font-size: 14px; cursor: pointer; }
body.casareig .woocommerce-result-count { margin: 0 auto 0 0 !important; font-size: 13px; color: var(--text-muted); float: none !important; }
body.casareig .woocommerce-ordering { margin: 0 !important; float: none !important; }
body.casareig .woocommerce-ordering select { border: 1.5px solid var(--line); border-radius: 20px; padding: 7px 34px 7px 14px; font-size: 13px; font-weight: 600; color: var(--navy); background: var(--white); }

.cr-shop__filters { background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 18px 20px; position: sticky; top: 16px; }
.cr-shop__filters-head { display: flex; align-items: center; justify-content: space-between; font-weight: 800; color: var(--navy); font-size: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--line-soft); margin-bottom: 8px; }
.cr-filters-close { display: none; background: none; border: 0; cursor: pointer; color: var(--navy); }
.cr-filter { padding: 12px 0; border-bottom: 1px solid var(--line-soft); }
.cr-filter:last-child { border-bottom: 0; }
.cr-filter .cr-filter__title { font-family: var(--font-body); font-style: normal; text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 800; color: var(--navy); margin: 0 0 8px; }
.cr-filter ul { list-style: none; margin: 0; padding: 0; max-height: 300px; overflow-y: auto; scrollbar-width: thin; }
.cr-filter li { padding: 4px 0; font-size: 14px; }
.cr-filter li a { color: var(--text-body); display: inline-flex; align-items: center; gap: 8px; }
.cr-filter li a::before { content: ''; width: 16px; height: 16px; border: 1.5px solid #c9cdd6; border-radius: 4px; flex: 0 0 auto; }
.cr-filter li.chosen a::before { background: var(--celeste-dark); border-color: var(--celeste-dark); box-shadow: inset 0 0 0 3px var(--white); }
.cr-filter li .count { color: var(--text-muted); font-size: 12px; }
.cr-filter .price_slider_wrapper .ui-slider { background: var(--line); }
.cr-filter .price_slider_wrapper .ui-slider .ui-slider-range { background: var(--celeste) !important; }
.cr-filter .price_slider_wrapper .ui-slider .ui-slider-handle { background: var(--navy) !important; }
.cr-filter .price_slider_amount .button { padding: 8px 14px; font-size: 12px; }
body.casareig .woocommerce-pagination { text-align: center; margin: 20px 0 0; }
body.casareig .woocommerce-pagination ul.page-numbers { display: inline-flex; gap: 6px; border: 0 !important; margin: 0; }
body.casareig .woocommerce-pagination ul.page-numbers li { border: 0 !important; }
body.casareig .woocommerce-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px !important; border-radius: 20px; background: var(--white) !important; color: var(--navy) !important; font-weight: 700; box-shadow: var(--shadow-card); }
body.casareig .woocommerce-pagination .page-numbers.current, body.casareig .woocommerce-pagination .page-numbers:hover { background: var(--navy) !important; color: var(--white) !important; }
body.casareig .woocommerce-info, body.casareig .woocommerce-message, body.casareig .woocommerce-error { border-top-color: var(--celeste) !important; background: var(--white) !important; border-radius: 12px; box-shadow: var(--shadow-card); color: var(--text-body); }
body.casareig .woocommerce-message { border-top-color: #1cbf74 !important; }
body.casareig .woocommerce-error { border-top-color: var(--magenta) !important; }
body.casareig .woocommerce-message::before { color: #1cbf74; }
body.casareig .woocommerce-info::before { color: var(--celeste); }
body.casareig .woocommerce-message .button, body.casareig .woocommerce-info .button { padding: 8px 16px; font-size: 13px; }

/* -------------------------------------------------------------------------
   Ficha de producto
   ------------------------------------------------------------------------- */
body.casareig.single-product { background: var(--white); }
body.casareig div.product { display: grid; grid-template-columns: 1.05fr 1fr; gap: 36px; padding-top: 8px; }
body.casareig div.product > * { grid-column: 1 / -1; }
body.casareig div.product .woocommerce-product-gallery { grid-column: 1; grid-row: 1; float: none !important; width: 100% !important; margin: 0 !important; }
body.casareig div.product .summary { grid-column: 2; grid-row: 1; float: none !important; width: 100% !important; margin: 0 !important; }
body.casareig div.product .onsale { display: none; }
body.casareig div.product .woocommerce-product-gallery .cr-badges, body.casareig div.product > .cr-badges { position: absolute; top: 14px; left: 14px; z-index: 3; }
body.casareig div.product > .cr-badges { grid-column: 1; grid-row: 1; align-self: start; justify-self: start; margin: 14px; }

/* Galería: miniaturas verticales a la izquierda */
body.casareig .woocommerce-product-gallery { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; align-items: start; }
body.casareig .woocommerce-product-gallery .woocommerce-product-gallery__wrapper, body.casareig .woocommerce-product-gallery .flex-viewport { grid-column: 2; grid-row: 1; }
body.casareig .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper { grid-column: auto; }
body.casareig .woocommerce-product-gallery__wrapper { margin: 0; background: var(--gradient-card-img); border: 1px solid var(--line-soft); border-radius: 18px; overflow: hidden; }
body.casareig .woocommerce-product-gallery__image img { mix-blend-mode: multiply; }
body.casareig .woocommerce-product-gallery__image a { display: block; }
body.casareig .woocommerce-product-gallery__trigger { top: 14px !important; right: 14px !important; left: auto !important; z-index: 4; width: 40px !important; height: 40px !important; border-radius: 50%; background: var(--white) !important; box-shadow: var(--shadow-card); }
body.casareig .woocommerce-product-gallery__trigger::before { border-color: var(--navy) !important; }
body.casareig .woocommerce-product-gallery__trigger::after { background: var(--navy) !important; }
body.casareig .woocommerce-product-gallery .flex-control-thumbs { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 10px; margin: 0 !important; padding: 0; list-style: none; }
body.casareig .woocommerce-product-gallery .flex-control-thumbs li { float: none !important; width: 100% !important; margin: 0 !important; }
body.casareig .woocommerce-product-gallery .flex-control-thumbs img { width: 100%; aspect-ratio: 1; object-fit: contain; padding: 4px; background: var(--white); border: 1.5px solid var(--line); border-radius: 12px; opacity: 1 !important; cursor: pointer; transition: border-color .15s; }
body.casareig .woocommerce-product-gallery .flex-control-thumbs img.flex-active, body.casareig .woocommerce-product-gallery .flex-control-thumbs img:hover { border: 2px solid var(--celeste-dark); }
body.casareig .woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(n) { clear: none !important; }

/* Resumen */
body.casareig div.product .summary { display: flex; flex-direction: column; }
.cr-pdp__kicker { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--celeste-dark); margin-bottom: 8px; }
.cr-pdp__kicker a { color: inherit; }
.cr-pdp__brand { color: var(--text-muted); }
body.casareig div.product .product_title { font-family: var(--font-body); font-style: normal; text-transform: none; letter-spacing: 0; font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; color: var(--navy); line-height: 1.15; margin: 0 0 10px; order: 0; }
body.casareig div.product .woocommerce-product-rating { margin: 0 0 12px !important; display: flex; align-items: center; gap: 8px; }
body.casareig .star-rating { color: var(--magenta); font-size: 14px; }
body.casareig .star-rating span::before { color: var(--magenta); }
body.casareig .woocommerce-review-link { font-size: 13px; color: var(--text-muted); }
.cr-pdp__pricebox { background: var(--bg-light); border-radius: 18px; padding: 22px 24px; margin: 4px 0 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
.cr-pdp__price { flex-basis: 100%; }
.cr-pdp__price .price { display: flex; flex-direction: column; font-family: var(--font-display) !important; font-weight: 900 !important; font-style: italic !important; font-size: clamp(30px, 3.4vw, 40px) !important; color: var(--navy) !important; line-height: 1.05; margin: 0; }
.cr-pdp__price .price del { order: -1; font-family: var(--font-body); font-style: normal; font-weight: 500; font-size: 14px; color: var(--text-muted); opacity: 1; margin-bottom: 4px; }
.cr-pdp__price .price ins { text-decoration: none; font-weight: 900 !important; }
.cr-pdp__pricebox .cr-badge--pct { font-size: 13px; padding: 7px 12px; }
.cr-pdp__pricebox .cr-installments { flex-basis: 100%; display: inline-flex; align-items: center; gap: 8px; width: fit-content; background: var(--bg-card-tint); color: var(--celeste-dark); font-size: 13.5px; font-weight: 700; padding: 8px 14px; border-radius: 20px; margin: 4px 0 0; }
.cr-pdp__pricebox .cr-installments::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--celeste-dark); }
.cr-pdp__soldout { flex-basis: 100%; font-size: 14px; color: var(--magenta); font-weight: 600; }
body.casareig div.product .woocommerce-product-details__short-description { font-size: 15px; color: var(--text-soft); margin-bottom: 18px; }
body.casareig div.product .woocommerce-product-details__short-description ul { padding-left: 18px; }

body.casareig div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 12px !important; }
body.casareig div.product form.cart.variations_form { flex-direction: column; align-items: stretch; }
body.casareig div.product form.cart .variations { margin: 0; }
body.casareig div.product form.cart .variations th, body.casareig div.product form.cart .variations td { padding: 6px 0; font-size: 13px; }
body.casareig div.product form.cart .variations label { font-weight: 700; color: var(--navy); }
body.casareig div.product form.cart .variations select { border: 1.5px solid var(--line); border-radius: 12px; padding: 9px 36px 9px 14px; min-width: 200px; }
body.casareig div.product form.cart .reset_variations { font-size: 12px; margin-left: 8px; }
body.casareig div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
body.casareig div.product form.cart .woocommerce-variation-price .price { font-family: var(--font-display); font-weight: 900; font-style: italic; font-size: 26px; color: var(--navy); }
body.casareig div.product form.cart .quantity { display: inline-flex; align-items: center; border: 1.5px solid var(--line); border-radius: 28px; overflow: hidden; background: var(--white); float: none !important; margin: 0 !important; }
body.casareig div.product form.cart .quantity .qty { width: 64px; border: 0; text-align: center; font-weight: 700; padding: 12px 4px; }
body.casareig div.product form.cart .single_add_to_cart_button { flex: 1 1 200px; background: var(--white); border-color: var(--navy); color: var(--navy) !important; float: none !important; padding: 14px 24px; }
body.casareig div.product form.cart .single_add_to_cart_button:hover { background: var(--bg-card-tint); }
body.casareig div.product form.cart .cr-buy-now { flex: 1 1 200px; order: -1; }
body.casareig div.product form.cart .cr-buy-now + .single_add_to_cart_button { order: 0; }
body.casareig div.product .summary .cr-btn--whatsapp { align-self: flex-start; padding: 11px 20px; font-size: 14px; margin-bottom: 20px; }
.cr-pdp__benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; list-style: none; margin: 0 0 18px; padding: 0; }
.cr-pdp__benefits li { display: flex; align-items: center; gap: 9px; background: var(--bg-card-tint); color: var(--celeste-dark); font-size: 13px; font-weight: 600; padding: 10px 14px; border-radius: 14px; }
.cr-pdp__benefits li:last-child { background: var(--bg-light); color: var(--navy); }
.cr-paywith { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.cr-paywith__label { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); }
.cr-paywith__chip { background: var(--white); border: 1px solid var(--line); color: var(--text-soft); font-size: 11px; font-weight: 700; padding: 5px 10px; border-radius: 8px; }
body.casareig div.product .product_meta { font-size: 13px; color: var(--text-muted); padding-top: 14px; border-top: 1px solid var(--line-soft); }
body.casareig div.product .product_meta > span { display: block; margin-bottom: 4px; }
body.casareig div.product .product_meta a { color: var(--celeste-dark); }

/* Tabs */
body.casareig div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 40px; background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 4px 28px 28px; }
body.casareig div.product .woocommerce-tabs ul.tabs { display: flex; gap: 28px; margin: 0 0 20px !important; padding: 0 !important; border-bottom: 1px solid var(--line-soft); overflow-x: auto; }
body.casareig div.product .woocommerce-tabs ul.tabs::before, body.casareig div.product .woocommerce-tabs ul.tabs::after { display: none; }
body.casareig div.product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; }
body.casareig div.product .woocommerce-tabs ul.tabs li::before, body.casareig div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.casareig div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 14px 0 !important; font-size: 14px; font-weight: 700; color: var(--text-muted) !important; border-bottom: 3px solid transparent; white-space: nowrap; }
body.casareig div.product .woocommerce-tabs ul.tabs li.active a { color: var(--navy) !important; border-bottom-color: var(--celeste); }
body.casareig div.product .woocommerce-tabs .panel { font-size: 15px; line-height: 1.8; color: var(--text-soft); }
body.casareig div.product .woocommerce-tabs .panel h2 { font-family: var(--font-body); font-style: normal; text-transform: none; letter-spacing: 0; font-size: 18px; font-weight: 800; margin-bottom: 12px; }
body.casareig table.woocommerce-product-attributes { border: 0; font-size: 14px; }
body.casareig table.woocommerce-product-attributes th, body.casareig table.woocommerce-product-attributes td { border: 0; border-bottom: 1px solid var(--line-soft); padding: 9px 0; font-style: normal; }
body.casareig table.woocommerce-product-attributes th { color: var(--text-muted); font-weight: 500; width: 40%; }
body.casareig table.woocommerce-product-attributes td { color: var(--navy); font-weight: 600; }
body.casareig table.woocommerce-product-attributes td p { margin: 0; }

/* Relacionados / upsells */
body.casareig div.product section.related, body.casareig div.product section.up-sells { grid-column: 1 / -1; margin-top: 40px; }
body.casareig div.product section.related > h2, body.casareig div.product section.up-sells > h2 { font-size: clamp(22px, 2.6vw, 28px); margin-bottom: 18px; }

/* Reviews */
body.casareig #reviews .commentlist { list-style: none; padding: 0; }
body.casareig #reviews .comment_container { display: flex; gap: 14px; }
body.casareig #reviews .comment-text { border: 0 !important; background: var(--bg-light); border-radius: 12px; padding: 14px 16px !important; margin: 0 !important; }
body.casareig #reviews .comment-form .stars a { color: var(--magenta); }
body.casareig #reviews input, body.casareig #reviews textarea { border: 1.5px solid var(--line); border-radius: 12px; padding: 10px 14px; width: 100%; }

/* -------------------------------------------------------------------------
   Carrito
   ------------------------------------------------------------------------- */
body.casareig.woocommerce-cart .woocommerce { display: grid; grid-template-columns: 1.6fr 1fr; gap: 28px; align-items: start; }
body.casareig.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper, body.casareig.woocommerce-cart .woocommerce > .cart-empty, body.casareig.woocommerce-cart .woocommerce > .return-to-shop, body.casareig.woocommerce-cart .woocommerce .cross-sells { grid-column: 1 / -1; }
body.casareig .woocommerce-cart-form { background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 24px 28px; }
body.casareig table.shop_table { border: 0 !important; margin: 0; font-size: 14px; }
body.casareig table.shop_table th, body.casareig table.shop_table td { border: 0 !important; border-bottom: 1px solid var(--line-soft) !important; padding: 16px 8px !important; vertical-align: middle; }
body.casareig table.shop_table thead th { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); }
body.casareig table.shop_table .product-thumbnail img { width: 84px; height: 84px; object-fit: contain; border-radius: 12px; background: var(--gradient-card-img); padding: 6px; }
body.casareig table.shop_table .product-name a { font-weight: 700; color: var(--navy); font-size: 15px; text-decoration: none; }
body.casareig table.shop_table .variation { font-size: 12px; color: var(--text-muted); }
body.casareig table.shop_table td.product-price, body.casareig table.shop_table td.product-subtotal { font-family: var(--font-display); font-weight: 900; font-style: italic; font-size: 18px; color: var(--navy); }
body.casareig table.shop_table .product-price .cr-installments { font-family: var(--font-body); font-style: normal; font-weight: 600; font-size: 12px; }
body.casareig table.shop_table .product-remove a { color: var(--text-muted) !important; font-size: 18px; }
body.casareig table.shop_table .product-remove a:hover { color: var(--magenta) !important; background: transparent !important; }
body.casareig table.shop_table .quantity { display: inline-flex; border: 1.5px solid var(--line); border-radius: 24px; overflow: hidden; }
body.casareig table.shop_table .quantity .qty { width: 56px; border: 0; text-align: center; font-weight: 700; padding: 8px 2px; }
body.casareig table.shop_table td.actions { padding-top: 20px !important; border: 0 !important; }
body.casareig .coupon { display: flex; gap: 8px; align-items: center; float: none !important; }
body.casareig .coupon .input-text { border: 1.5px solid var(--line) !important; border-radius: 24px !important; padding: 10px 16px !important; width: 180px !important; }
body.casareig .coupon .button, body.casareig td.actions > .button { background: var(--white); border-color: var(--navy); color: var(--navy) !important; padding: 10px 18px; font-size: 13px; }
body.casareig .cart-collaterals { width: 100% !important; }
body.casareig .cart_totals { width: 100% !important; float: none !important; background: var(--gradient-summary); color: var(--white); border-radius: var(--radius-card); padding: 28px; box-shadow: var(--shadow-hero); }
body.casareig .cart_totals h2 { color: var(--white); font-size: 22px; margin-bottom: 14px; }
body.casareig .cart_totals table.shop_table th, body.casareig .cart_totals table.shop_table td { border-bottom: 1px solid rgba(255, 255, 255, .15) !important; padding: 12px 0 !important; color: rgba(255, 255, 255, .85); font-size: 14px; }
body.casareig .cart_totals table.shop_table th { width: 40%; font-weight: 600; }
body.casareig .cart_totals .woocommerce-Price-amount { color: var(--white); }
body.casareig .cart_totals .order-total th, body.casareig .cart_totals .order-total td { border: 0 !important; padding-top: 16px !important; font-family: var(--font-display); font-weight: 900; font-style: italic; font-size: 24px; color: var(--white); }
body.casareig .cart_totals .shipping-calculator-button, body.casareig .cart_totals .woocommerce-shipping-destination { color: rgba(255, 255, 255, .8); font-size: 13px; }
body.casareig .cart_totals ul#shipping_method li { color: rgba(255, 255, 255, .9); }
body.casareig .wc-proceed-to-checkout { padding: 0 !important; margin-top: 18px; }
body.casareig .wc-proceed-to-checkout .checkout-button { display: flex !important; width: 100%; background: var(--white) !important; color: var(--navy) !important; font-size: 16px !important; padding: 16px !important; margin: 0 !important; }
body.casareig .cart-empty { text-align: center; font-size: 18px; color: var(--text-soft); padding: 40px 0 10px; }
body.casareig .return-to-shop { text-align: center; margin-bottom: 40px; }
body.casareig .cross-sells > h2 { font-size: 24px; margin: 20px 0 16px; }

/* -------------------------------------------------------------------------
   Checkout
   ------------------------------------------------------------------------- */
body.casareig form.checkout { display: grid; grid-template-columns: 1.4fr 1fr; gap: 28px; align-items: start; }
body.casareig form.checkout > * { grid-column: 1 / -1; }
body.casareig form.checkout #customer_details { grid-column: 1; float: none !important; width: 100% !important; display: flex; flex-direction: column; gap: 20px; }
body.casareig form.checkout #customer_details .col-1, body.casareig form.checkout #customer_details .col-2 { float: none !important; width: 100% !important; background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 24px 28px; }
body.casareig form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; padding: 24px 28px 0; font-family: var(--font-body); font-style: normal; text-transform: none; letter-spacing: 0; font-size: 18px; font-weight: 800; color: var(--navy); position: relative; z-index: 1; margin-bottom: -50px; }
body.casareig form.checkout #order_review { grid-column: 2; grid-row: 1 / span 2; align-self: start; background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 60px 28px 24px; position: sticky; top: 16px; }
body.casareig form.checkout h3, body.casareig .woocommerce-billing-fields h3, body.casareig .woocommerce-shipping-fields h3 { font-family: var(--font-body); font-style: normal; text-transform: none; letter-spacing: 0; font-size: 18px; font-weight: 800; color: var(--navy); margin-bottom: 14px; }
body.casareig .form-row label { font-size: 13px; font-weight: 700; color: var(--navy); margin-bottom: 4px; }
body.casareig .form-row .required { color: var(--magenta); text-decoration: none; }
body.casareig .form-row input.input-text, body.casareig .form-row textarea, body.casareig .form-row select, body.casareig .select2-container--default .select2-selection--single { border: 1.5px solid var(--line) !important; border-radius: 12px !important; padding: 11px 14px !important; height: auto !important; font-size: 15px; background: var(--white); }
body.casareig .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 1.4 !important; padding: 0 !important; }
body.casareig .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50% !important; transform: translateY(-50%); right: 10px !important; }
body.casareig .form-row input.input-text:focus, body.casareig .form-row textarea:focus, body.casareig .form-row select:focus { border-color: var(--celeste) !important; outline: 0; box-shadow: 0 0 0 3px rgba(47, 143, 255, .18); }
body.casareig .woocommerce-checkout-review-order-table th, body.casareig .woocommerce-checkout-review-order-table td { padding: 12px 0 !important; }
body.casareig .woocommerce-checkout-review-order-table .product-name { font-weight: 600; color: var(--navy); }
body.casareig .woocommerce-checkout-review-order-table .product-quantity { color: var(--text-muted); font-weight: 500; }
body.casareig .woocommerce-checkout-review-order-table tfoot th { color: var(--text-muted); font-weight: 600; }
body.casareig .woocommerce-checkout-review-order-table .order-total th, body.casareig .woocommerce-checkout-review-order-table .order-total td { font-family: var(--font-display); font-weight: 900; font-style: italic; font-size: 22px; color: var(--navy); border: 0 !important; padding-top: 14px !important; }
body.casareig #payment { background: var(--bg-light) !important; border-radius: 14px !important; margin-top: 16px; }
body.casareig #payment ul.payment_methods { border-bottom: 1px solid var(--line) !important; padding: 16px !important; }
body.casareig #payment ul.payment_methods li { font-size: 14px; font-weight: 600; color: var(--navy); }
body.casareig #payment div.payment_box { background: var(--white) !important; border-radius: 10px; font-size: 13px; color: var(--text-soft); }
body.casareig #payment div.payment_box::before { border-bottom-color: var(--white) !important; }
body.casareig #payment .place-order { padding: 16px !important; }
body.casareig #place_order { width: 100%; background: var(--gradient-urgency); font-size: 16px; padding: 16px; float: none !important; }
body.casareig .woocommerce-privacy-policy-text { font-size: 12px; color: var(--text-muted); }
body.casareig .woocommerce-form-coupon-toggle .woocommerce-info, body.casareig .woocommerce-form-login-toggle .woocommerce-info { margin-bottom: 16px; }
body.casareig form.checkout_coupon, body.casareig form.woocommerce-form-login.login { border: 0 !important; background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 20px 24px !important; margin-bottom: 20px; }

/* Página de gracias */
body.casareig .woocommerce-order { background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 28px 32px; }
body.casareig .woocommerce-thankyou-order-received { font-family: var(--font-display); font-weight: 900; font-style: italic; text-transform: uppercase; font-size: 26px; color: var(--navy); }
body.casareig ul.woocommerce-thankyou-order-details { display: flex; flex-wrap: wrap; gap: 16px 28px; list-style: none; padding: 0; margin: 20px 0; }
body.casareig ul.woocommerce-thankyou-order-details li { border: 0 !important; padding: 0 !important; margin: 0 !important; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); }
body.casareig ul.woocommerce-thankyou-order-details li strong { display: block; font-size: 16px; color: var(--navy); text-transform: none; letter-spacing: 0; margin-top: 2px; }

/* -------------------------------------------------------------------------
   Mi cuenta
   ------------------------------------------------------------------------- */
body.casareig .woocommerce-MyAccount-navigation { float: none !important; width: 100% !important; }
body.casareig.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 28px; align-items: start; }
body.casareig.woocommerce-account .woocommerce > .woocommerce-notices-wrapper, body.casareig.woocommerce-account .woocommerce > form, body.casareig.woocommerce-account .woocommerce > .u-columns { grid-column: 1 / -1; }
body.casareig .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 8px; background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
body.casareig .woocommerce-MyAccount-navigation li a { display: block; padding: 10px 14px; border-radius: 10px; font-weight: 600; color: var(--text-body); }
body.casareig .woocommerce-MyAccount-navigation li.is-active a, body.casareig .woocommerce-MyAccount-navigation li a:hover { background: var(--bg-card-tint); color: var(--navy); }
body.casareig .woocommerce-MyAccount-content { float: none !important; width: 100% !important; background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 24px 28px; }
body.casareig .u-columns .col-1, body.casareig .u-columns .col-2 { background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 24px 28px; }
body.casareig form.woocommerce-form-login, body.casareig form.woocommerce-form-register, body.casareig form.woocommerce-ResetPassword { border: 0 !important; background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 24px 28px !important; max-width: 520px; }
body.casareig .woocommerce-form-login .woocommerce-form-login__submit, body.casareig .woocommerce-form-register .woocommerce-form-register__submit { width: 100%; }
body.casareig table.woocommerce-orders-table .button { padding: 8px 14px; font-size: 12px; }

/* -------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */
.cr-footer { background: var(--navy-ink); color: rgba(255, 255, 255, .75); margin-top: 60px; font-size: 14px; }
.cr-footer a, .cr-footer .cr-footer__menu a { color: rgba(255, 255, 255, .75); }
.cr-footer a:hover, .cr-footer .cr-footer__menu a:hover { color: var(--white); }
.cr-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 32px; padding-top: 48px; padding-bottom: 40px; }
.cr-footer__brand img { width: 130px; height: auto; }
.cr-footer__brand p { margin: 16px 0; line-height: 1.6; max-width: 300px; font-size: 13px; color: rgba(255, 255, 255, .6); }
.cr-footer__contact { display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.cr-footer__contact a { display: inline-flex; align-items: center; gap: 6px; }
.cr-footer .cr-footer__title { font-family: var(--font-body); font-style: normal; text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 800; color: var(--white); margin: 6px 0 14px; }
.cr-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.cr-footer .cr-footer__club { display: inline-block; margin-top: 16px; font-weight: 800; color: var(--celeste); }
.cr-footer__legal { border-top: 1px solid rgba(255, 255, 255, .1); font-size: 12px; color: rgba(255, 255, 255, .5); }
.cr-footer__legal-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; padding-top: 16px; padding-bottom: 16px; }
.cr-footer__legal-links { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.cr-footer .cr-footer__legal a { color: rgba(255, 255, 255, .5); }

/* -------------------------------------------------------------------------
   Elementor: que los widgets hereden la marca
   ------------------------------------------------------------------------- */
body.casareig .elementor-widget-heading .elementor-heading-title { font-family: var(--font-display); font-weight: 800; font-style: italic; text-transform: uppercase; letter-spacing: -.01em; color: var(--navy); }
body.casareig .elementor-widget-text-editor { color: var(--text-body); }
body.casareig .elementor-widget-shortcode ul.products { margin-top: 0 !important; }
body.casareig .elementor-widget-wc-products .cr-card { height: 100%; }
body.casareig .elementor-widget-container .cr-hero { margin: 0; }
body.casareig .elementor-section.elementor-section-boxed > .elementor-container { max-width: var(--container); }

/* -------------------------------------------------------------------------
   Páginas de contenido (institucionales, blog)
   ------------------------------------------------------------------------- */
body.casareig.page:not(.elementor-page):not(.woocommerce-page) .site-main, body.casareig.single-post .site-main { background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 40px 48px; margin-top: 24px; margin-bottom: 40px; }
body.casareig .site-main .entry-content { font-size: 16px; line-height: 1.75; color: var(--text-body); }
body.casareig .entry-content h2, body.casareig .entry-content h3 { margin-top: 1.6em; }
body.casareig .entry-content a { text-decoration: underline; text-underline-offset: 3px; }

/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .cr-cats__grid { grid-template-columns: repeat(3, 1fr); }
  body.casareig ul.products, body.casareig ul.products.columns-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cr-shop--filters { grid-template-columns: 220px minmax(0, 1fr); gap: 20px; }
  .cr-footer__grid { grid-template-columns: 1fr 1fr; }
  body.casareig form.checkout { grid-template-columns: 1fr; }
  body.casareig form.checkout #customer_details, body.casareig form.checkout #order_review_heading, body.casareig form.checkout #order_review { grid-column: 1 / -1; grid-row: auto; position: static; }
  body.casareig form.checkout #order_review_heading { padding: 0; margin: 8px 0 -8px; }
  body.casareig form.checkout #order_review { padding-top: 24px; }
  body.casareig.woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
}

@media (max-width: 782px) {
  :root { --header-h: 62px; --gutter: 16px; }
  .cr-announce__links { display: none; }
  .cr-announce__inner { justify-content: center; text-align: center; font-size: 12px; }
  .cr-bar__inner { flex-wrap: wrap; gap: 10px 12px; padding: 10px 0; }
  .cr-burger { display: inline-flex; order: 0; }
  .cr-logo { order: 1; margin-right: auto; }
  .cr-logo img { width: 86px; }
  .cr-actions { order: 2; gap: 2px; }
  .cr-action__label { display: none; }
  .cr-cart { padding: 9px 11px; }
  .cr-search { order: 3; flex-basis: 100%; min-height: 42px; }
  .cr-search__btn { display: none; }
  .cr-nav .cr-container { padding: 0; }
  .cr-nav__list { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 0 8px; }
  .cr-nav__item--parent > .cr-nav__link::after { display: none; }
  .cr-nav__sub { display: none !important; }
  .cr-nav__link { padding: 10px 12px; font-size: 13px; }

  .cr-hero { grid-template-columns: 1fr; min-height: 0; }
  .cr-hero__copy { padding: 36px var(--gutter) 32px; order: 1; }
  .cr-hero__media { order: 0; min-height: 0; aspect-ratio: 1; }
  .cr-hero__media--empty { display: none; }
  .cr-hero__title { font-size: clamp(30px, 9vw, 40px); }
  .cr-benefits { grid-template-columns: 1fr 1fr; }
  .cr-benefit, .cr-benefit:first-child { padding: 14px var(--gutter); }
  .cr-cats__grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .cr-cat__name { font-size: 12px; }
  .cr-section { margin-top: 30px; }
  .cr-section__head { flex-wrap: wrap; }
  .cr-club { flex-direction: column; align-items: flex-start; padding: 26px 24px; }
  .cr-banner__copy { max-width: 100%; padding: 24px; }
  .cr-banner > img { opacity: .25; width: 100%; }

  body.casareig ul.products, body.casareig ul.products.columns-3, body.casareig ul.products.columns-4, body.casareig ul.products.columns-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .cr-rail__track { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 6px; margin: 0 calc(-1 * var(--gutter)) !important; padding-left: var(--gutter); padding-right: var(--gutter); }
  .cr-rail__track::-webkit-scrollbar { display: none; }
  .cr-rail__track > li { flex: 0 0 66vw; max-width: 260px; scroll-snap-align: start; }
  .cr-card__body { padding: 10px 12px 12px; }
  .cr-card__title { font-size: 13px; }
  .cr-card__price .price { font-size: 18px !important; }
  .cr-card__actions .button { padding: 10px 12px; font-size: 13px; }

  .cr-shop--filters { grid-template-columns: 1fr; }
  .cr-shop__filters { position: fixed; inset: 0 auto 0 0; z-index: 1000; width: min(88vw, 340px); border-radius: 0; overflow-y: auto; transform: translateX(-100%); transition: transform .25s; }
  .cr-shop__filters.is-open { transform: none; box-shadow: 0 0 0 100vw rgba(11, 23, 48, .5); }
  .cr-filters-close { display: inline-flex; }
  body.admin-bar .cr-mobile__panel, body.admin-bar .cr-shop__filters { top: 46px; }
  .cr-toolbar__filters { display: inline-flex; }
  .cr-toolbar { flex-wrap: wrap; }
  body.casareig .woocommerce-result-count { flex-basis: 100%; order: 3; }

  body.casareig div.product { grid-template-columns: 1fr; gap: 22px; }
  body.casareig div.product .woocommerce-product-gallery, body.casareig div.product .summary { grid-column: 1; }
  body.casareig div.product .summary { grid-row: 2; }
  body.casareig div.product > .cr-badges { grid-row: 1; }
  body.casareig .woocommerce-product-gallery { grid-template-columns: 1fr; }
  body.casareig .woocommerce-product-gallery .woocommerce-product-gallery__wrapper, body.casareig .woocommerce-product-gallery .flex-viewport { grid-column: 1; grid-row: 1; }
  body.casareig .woocommerce-product-gallery .flex-control-thumbs { grid-column: 1; grid-row: 2; flex-direction: row; overflow-x: auto; }
  body.casareig .woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 64px; }
  .cr-pdp__benefits { grid-template-columns: 1fr; }
  body.casareig div.product .woocommerce-tabs { padding: 4px 16px 20px; }
  body.casareig div.product .woocommerce-tabs ul.tabs { gap: 20px; }

  body.casareig table.shop_table_responsive tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--line-soft); }
  body.casareig table.shop_table_responsive td { display: block; border: 0 !important; padding: 6px 0 !important; text-align: left !important; }
  body.casareig table.shop_table_responsive td::before { float: none; display: block; font-family: var(--font-body); font-style: normal; font-weight: 700; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); }
  body.casareig table.shop_table_responsive td.product-thumbnail::before, body.casareig table.shop_table_responsive td.product-name::before, body.casareig table.shop_table_responsive td.product-remove::before { display: none; }
  body.casareig .woocommerce-cart-form { padding: 16px; }
  body.casareig .cart_totals { padding: 22px; }
  body.casareig.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  body.casareig.page:not(.elementor-page):not(.woocommerce-page) .site-main, body.casareig.single-post .site-main { padding: 24px 20px; }
  .cr-footer__grid { grid-template-columns: 1fr; gap: 24px; padding-top: 36px; }
  .cr-footer__legal-inner { flex-direction: column; text-align: center; align-items: center; }
  .cr-wa-float { right: 14px; bottom: 14px; width: 50px; height: 50px; }
}

@media (max-width: 420px) {
  .cr-cats__grid { grid-template-columns: repeat(3, 1fr); }
  .cr-benefits { grid-template-columns: 1fr; }
  .cr-benefit { padding: 12px var(--gutter); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* -------------------------------------------------------------------------
   404
   ------------------------------------------------------------------------- */
.cr-404__box { background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 40px 48px; max-width: 760px; margin: 20px auto 10px; text-align: center; }
.cr-404__box h1 { margin: 14px 0 6px; }
.cr-404__box p { color: var(--text-soft); margin: 0 0 20px; }
.cr-search--inline { border: 1.5px solid var(--line); max-width: 520px; margin: 0 auto 20px; }
.cr-404__links { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }

/* -------------------------------------------------------------------------
   Checkout en 3 pasos
   ------------------------------------------------------------------------- */
body.cr-checkout-steps form.checkout { grid-template-columns: 1.3fr 1fr; }
body.cr-checkout-steps form.checkout #customer_details { grid-column: 1; grid-row: 2; }
body.cr-checkout-steps form.checkout .cr-steps, body.cr-checkout-steps form.checkout .cr-summary-toggle { grid-column: 1; }
body.cr-checkout-steps form.checkout .cr-panel, body.cr-checkout-steps form.checkout .cr-steps-nav { grid-column: 1; }
body.cr-checkout-steps form.checkout #order_review_heading, body.cr-checkout-steps form.checkout #order_review { grid-column: 2; }
body.cr-checkout-steps form.checkout #order_review { grid-row: 1 / span 6; }
.cr-steps { display: flex; gap: 8px; background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 8px; }
.cr-step { flex: 1; display: flex; align-items: center; justify-content: center; gap: 10px; border: 0; background: transparent; border-radius: 12px; padding: 12px 10px; font-family: var(--font-body); font-weight: 700; font-size: 14px; color: var(--text-muted); cursor: pointer; }
.cr-step__n { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--bg-light); color: var(--text-muted); font-size: 13px; font-weight: 800; }
.cr-step.is-active { background: var(--bg-card-tint); color: var(--navy); }
.cr-step.is-active .cr-step__n { background: var(--gradient-primary); color: var(--white); }
.cr-step.is-done { color: var(--navy); }
.cr-step.is-done .cr-step__n { background: #1cbf74; color: var(--white); }
.cr-step.is-done .cr-step__n::before { content: '✓'; }
.cr-step.is-done .cr-step__n { font-size: 0; }
.cr-step.is-done .cr-step__n::before { font-size: 13px; }
.cr-summary-toggle { display: none; align-items: center; justify-content: space-between; width: 100%; border: 1.5px solid var(--line); background: var(--white); border-radius: 12px; padding: 12px 16px; font-family: var(--font-body); font-weight: 700; color: var(--navy); cursor: pointer; }
.cr-summary-toggle__total { font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: 18px; }
.cr-summary-toggle::after { content: ''; width: 8px; height: 8px; border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy); transform: rotate(45deg); margin-left: 10px; }
.cr-summary-toggle.is-open::after { transform: rotate(-135deg); }
.cr-panel { background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); padding: 24px 28px; }
.cr-panel h3, body.cr-checkout-steps .woocommerce-billing-fields > h3 { font-family: var(--font-body); font-style: normal; text-transform: none; letter-spacing: 0; font-size: 18px; font-weight: 800; color: var(--navy); margin: 0 0 14px; }
.cr-shipping-methods ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.cr-shipping-methods li { display: flex; align-items: center; gap: 12px; border: 1.5px solid var(--line); border-radius: 12px; padding: 12px 16px; font-size: 14px; font-weight: 600; color: var(--navy); }
.cr-shipping-methods li:has(input:checked) { border-color: var(--celeste-dark); background: var(--bg-card-tint); }
.cr-shipping-methods input[type="radio"] { width: 18px; height: 18px; accent-color: var(--celeste-dark); margin: 0; }
.cr-shipping-methods label { margin: 0; flex: 1; cursor: pointer; }
.cr-shipping-methods .woocommerce-Price-amount { font-weight: 800; }
.cr-shipping-methods__hint { color: var(--text-muted); font-size: 14px; margin: 0; }
.cr-shipping-methods.is-invalid { outline: 2px solid var(--magenta); outline-offset: 6px; border-radius: 12px; }

/* Retiro en sucursal: selector ciudad → sucursal (vive dentro del li del método) */
.cr-shipping-methods li { flex-wrap: wrap; }
.cr-pickup { display: none; flex-basis: 100%; width: 100%; margin-top: 12px; padding-top: 14px; border-top: 1px dashed var(--line); font-weight: 400; }
.cr-pickup.is-active { display: block; animation: cr-pickup-in .25s ease-out; }
@keyframes cr-pickup-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.cr-pickup__label { display: block; font-weight: 700; font-size: 14px; color: var(--navy); margin: 0 0 8px; }
.cr-pickup__city { width: 100%; height: 46px; padding: 0 14px; border: 1.5px solid var(--line); border-radius: 12px; background: var(--white); font: 600 15px var(--font-body); color: var(--navy-ink); }
.cr-pickup__city:focus { outline: none; border-color: var(--celeste-dark); box-shadow: 0 0 0 3px rgba(47,143,255,.18); }
.cr-pickup__list { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.cr-pickup__item { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 12px; background: var(--white); cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.cr-pickup__item:hover { border-color: var(--celeste); }
.cr-pickup__item:has(input:checked) { border-color: var(--celeste-dark); background: var(--bg-card-tint); box-shadow: 0 0 0 3px rgba(47,143,255,.15); }
.cr-pickup__item input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--celeste-dark); flex: none; }
.cr-pickup__item-body { display: flex; flex-direction: column; gap: 2px; font-size: 14px; color: var(--text-body); }
.cr-pickup__item-body strong { color: var(--navy); font-weight: 800; }
.cr-pickup__item-body small { color: var(--text-muted); font-size: 12px; }
.cr-pickup__item.is-hidden, .cr-pickup__hint.is-hidden { display: none; }
.cr-pickup__hint { margin: 0; font-size: 13px; color: var(--text-muted); }
.cr-pickup.is-invalid .cr-pickup__city, .cr-pickup.is-invalid .cr-pickup__list { outline: 2px solid var(--magenta); outline-offset: 3px; border-radius: 12px; }
.cr-cp-hint { display: block; margin-top: 4px; font-size: 12px; color: var(--celeste-dark); font-weight: 600; animation: cr-pickup-in .25s ease-out; }
.cr-order-pickup { display: block; font-weight: 500; color: var(--text-soft); }
.cr-pickup-box { margin: 0 0 24px; padding: 18px 20px; border-radius: var(--radius-card); background: var(--bg-card-tint); border: 1px solid #d6e4fa; }
.cr-pickup-box p { margin: 0; }
.cr-steps-nav { display: flex; justify-content: space-between; gap: 12px; }
.cr-steps-nav [data-cr-next] { margin-left: auto; min-width: 200px; }
.cr-row-hidden { display: none !important; }

/* Un paso a la vez (con !important: wc-address-i18n pone display inline en los campos de dirección) */
body.cr-checkout-steps form.checkout [data-cr-row], body.cr-checkout-steps form.checkout .cr-panel { display: none !important; }
body.cr-checkout-steps form.checkout[data-cr-current="1"] [data-cr-row="1"] { display: block !important; }
body.cr-checkout-steps form.checkout[data-cr-current="2"] [data-cr-row="2"]:not(.cr-row-hidden), body.cr-checkout-steps form.checkout[data-cr-current="2"] .cr-panel--shipping { display: block !important; }
body.cr-checkout-steps form.checkout[data-cr-current="3"] .cr-panel--payment { display: block !important; }
body.cr-checkout-steps form.checkout[data-cr-current="3"] #customer_details { display: none !important; }
body.cr-checkout-steps form.checkout .form-row.form-row-first, body.cr-checkout-steps form.checkout .form-row.form-row-last { width: 48%; }
body.cr-checkout-steps form.checkout[data-cr-current="1"] .form-row-first[data-cr-row="1"], body.cr-checkout-steps form.checkout[data-cr-current="1"] .form-row-last[data-cr-row="1"], body.cr-checkout-steps form.checkout[data-cr-current="2"] .form-row-first[data-cr-row="2"]:not(.cr-row-hidden), body.cr-checkout-steps form.checkout[data-cr-current="2"] .form-row-last[data-cr-row="2"]:not(.cr-row-hidden) { display: inline-block !important; }
body.cr-checkout-steps form.checkout #billing_country_field { display: none !important; }
body.cr-checkout-steps form.checkout #customer_details .col-2:empty, body.cr-checkout-steps form.checkout #customer_details .col-2:not(:has(.form-row)) { display: none; }
body.cr-checkout-steps .cr-panel--shipping .woocommerce-additional-fields { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line-soft); }
body.cr-checkout-steps .cr-panel--shipping .woocommerce-additional-fields > h3 { font-size: 15px; margin-bottom: 8px; }
body.cr-checkout-steps .cr-panel--shipping .woocommerce-additional-fields .form-row { display: block !important; }
body.cr-checkout-steps #order_review tr.woocommerce-shipping-totals:not(:has(.cr-ship-chosen)) { display: none; }
body.cr-checkout-steps #order_review tr.woocommerce-shipping-totals .cr-ship-chosen { font-weight: 600; }
body.cr-checkout-steps #order_review tr.woocommerce-shipping-totals .cr-ship-chosen small { display: block; font-weight: 400; color: var(--text-muted); font-size: 12px; }
body.cr-checkout-steps #payment { background: transparent !important; margin: 0; }
body.cr-checkout-steps #payment ul.payment_methods { padding: 0 !important; border: 0 !important; display: flex; flex-direction: column; gap: 10px; }
body.cr-checkout-steps #payment ul.payment_methods li { border: 1.5px solid var(--line); border-radius: 12px; padding: 12px 16px; }
body.cr-checkout-steps #payment ul.payment_methods li:has(input:checked) { border-color: var(--celeste-dark); background: var(--bg-card-tint); }
body.cr-checkout-steps #payment ul.payment_methods input[type="radio"] { accent-color: var(--celeste-dark); }
body.cr-checkout-steps #payment div.payment_box { margin: 10px 0 0; }
body.cr-checkout-steps #payment .place-order { padding: 16px 0 0 !important; }
body.cr-checkout-steps form.checkout #order_review { padding-top: 24px; }
body.cr-checkout-steps form.checkout #order_review_heading { margin: 0; padding: 0; position: static; }
@media (max-width: 1024px) {
  body.cr-checkout-steps form.checkout { grid-template-columns: 1fr; }
  body.cr-checkout-steps form.checkout > * { grid-column: 1 !important; grid-row: auto !important; }
  body.cr-checkout-steps form.checkout #order_review_heading { display: none; }
  .cr-summary-toggle { display: flex; order: 1; }
  body.cr-checkout-steps form.checkout .cr-steps { order: 0; }
  body.cr-checkout-steps form.checkout #order_review { display: none; order: 2; position: static; }
  body.cr-checkout-steps form.checkout #order_review.is-open { display: block; }
  body.cr-checkout-steps form.checkout #customer_details { order: 3; }
  body.cr-checkout-steps form.checkout .cr-panel { order: 4; }
  body.cr-checkout-steps form.checkout .cr-steps-nav { order: 5; }
  .cr-step__t { font-size: 13px; }
}
@media (max-width: 480px) {
  .cr-step { flex-direction: column; gap: 4px; padding: 8px 4px; font-size: 12px; }
  body.cr-checkout-steps form.checkout .form-row.form-row-first, body.cr-checkout-steps form.checkout .form-row.form-row-last { width: 100%; }
  body.cr-checkout-steps form.checkout[data-cr-current="1"] .form-row-first[data-cr-row="1"], body.cr-checkout-steps form.checkout[data-cr-current="1"] .form-row-last[data-cr-row="1"], body.cr-checkout-steps form.checkout[data-cr-current="2"] .form-row-first[data-cr-row="2"]:not(.cr-row-hidden), body.cr-checkout-steps form.checkout[data-cr-current="2"] .form-row-last[data-cr-row="2"]:not(.cr-row-hidden) { display: block !important; }
  .cr-steps-nav { flex-direction: column-reverse; }
  .cr-steps-nav .cr-btn { width: 100%; }
}

/* -------------------------------------------------------------------------
   Side Cart WooCommerce (XootiX) — canastita abajo a la izquierda
   ------------------------------------------------------------------------- */
.xoo-wsc-basket { left: 18px !important; right: auto !important; bottom: 88px !important; top: auto !important; width: 60px; height: 60px; border-radius: 50% !important; background: var(--gradient-primary) !important; box-shadow: 0 12px 28px -10px rgba(18, 62, 130, .55) !important; color: var(--white) !important; display: flex; align-items: center; justify-content: center; }
.xoo-wsc-basket .xoo-wsc-bko { color: var(--white) !important; font-size: 24px !important; }
.xoo-wsc-basket .xoo-wsc-items-count { background: var(--magenta) !important; color: var(--white) !important; font-family: var(--font-body); font-weight: 800; top: -4px !important; right: -4px !important; left: auto !important; border: 2px solid var(--white); }
.xoo-wsc-modal .xoo-wsc-container { font-family: var(--font-body) !important; color: var(--text-body) !important; }
.xoo-wsc-modal .xoo-wsc-header { background: var(--navy) !important; color: var(--white) !important; padding: 18px 22px !important; }
.xoo-wsc-modal .xoo-wsc-header *, .xoo-wsc-modal .xoo-wsc-header .xoo-wsc-basket-close { color: var(--white) !important; }
.xoo-wsc-modal .xoo-wsc-header .xoo-wsch-text { font-family: var(--font-display) !important; font-style: italic; font-weight: 800 !important; text-transform: uppercase; letter-spacing: -.01em; font-size: 20px !important; }
.xoo-wsc-modal .xoo-wsc-body { background: var(--bg-light) !important; }
.xoo-wsc-modal .xoo-wsc-product { background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); margin: 12px 14px 0 !important; padding: 12px !important; border: 0 !important; }
.xoo-wsc-modal .xoo-wsc-img-col img { border-radius: 10px; background: var(--gradient-card-img); }
.xoo-wsc-modal .xoo-wsc-pname, .xoo-wsc-modal .xoo-wsc-pname a { color: var(--navy) !important; font-weight: 700 !important; font-size: 14px !important; }
.xoo-wsc-modal .xoo-wsc-pprice { font-size: 0 !important; }
.xoo-wsc-modal .xoo-wsc-pprice::before { content: 'Precio: '; font-family: var(--font-body); font-style: normal; font-weight: 500; font-size: 12px; color: var(--text-muted); }
.xoo-wsc-modal .xoo-wsc-pprice, .xoo-wsc-modal .xoo-wsc-pprice .amount { color: var(--navy) !important; font-family: var(--font-display); font-style: italic; font-weight: 900 !important; font-size: 16px !important; }
.xoo-wsc-modal .xoo-wsc-pprice del .amount { font-family: var(--font-body); font-style: normal; font-weight: 500 !important; color: var(--text-muted) !important; font-size: 12px !important; }
.xoo-wsc-modal .xoo-wsc-qty-box { border: 1.5px solid var(--line) !important; border-radius: 24px !important; overflow: hidden; }
.xoo-wsc-modal .xoo-wsc-qty-box input { border: 0 !important; font-weight: 700; }
.xoo-wsc-modal .xoo-wsc-qty-box .xoo-wsc-chng { color: var(--navy) !important; }
.xoo-wsc-modal .xoo-wsc-smr-del, .xoo-wsc-modal .xoo-wsc-pdel { color: var(--text-muted) !important; }
.xoo-wsc-modal .xoo-wsc-footer { background: var(--white) !important; border-top: 1px solid var(--line-soft); padding: 16px 22px 20px !important; }
.xoo-wsc-modal .xoo-wsc-ft-amt { font-size: 14px; color: var(--text-soft); }
.xoo-wsc-modal .xoo-wsc-ft-amt-total, .xoo-wsc-modal .xoo-wsc-ft-amt-total .amount { font-family: var(--font-display); font-style: italic; font-weight: 900 !important; font-size: 22px !important; color: var(--navy) !important; }
.xoo-wsc-modal .xoo-wsc-ft-buttons-cont a, .xoo-wsc-modal .xoo-wsc-ft-btn { border-radius: var(--radius-pill) !important; font-family: var(--font-body) !important; font-weight: 800 !important; font-size: 15px !important; padding: 14px 20px !important; border: 2px solid transparent !important; text-transform: none !important; }
.xoo-wsc-modal .xoo-wsc-ft-btn-checkout { background: var(--gradient-urgency) !important; color: var(--white) !important; }
.xoo-wsc-modal .xoo-wsc-ft-btn-cart { background: var(--white) !important; border-color: var(--navy) !important; color: var(--navy) !important; }
.xoo-wsc-modal .xoo-wsc-ft-btn-continue { background: transparent !important; color: var(--celeste-dark) !important; font-weight: 700 !important; }
.xoo-wsc-modal .xoo-wsc-notice, .xoo-wsc-modal .xoo-wsc-sb-cont { background: var(--bg-card-tint) !important; color: var(--navy) !important; border-radius: 12px; }
.xoo-wsc-modal .xoo-wsc-sb-bar { background: var(--line) !important; }
.xoo-wsc-modal .xoo-wsc-sb-bar-fill, .xoo-wsc-modal .xoo-wsc-sb-bar > div { background: var(--gradient-primary) !important; }
.xoo-wsc-modal .xoo-wsc-empty-cart { color: var(--text-soft); }
.cr-wsc-trust { display: flex; justify-content: space-around; gap: 8px; padding: 12px 8px; margin: 12px 14px 0; background: var(--white); border-radius: var(--radius-card); box-shadow: var(--shadow-card); font-size: 12px; font-weight: 700; color: var(--navy); text-align: center; }
.cr-wsc-trust span { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.cr-wsc-trust svg { color: var(--celeste-dark); }
.xoo-wsc-modal .xoo-wsc-basket-close, .xoo-wsc-modal .xoo-wsc-header .xoo-wsc-icon-cross { font-size: 20px !important; }
@media (max-width: 782px) {
  .xoo-wsc-basket { left: 14px !important; bottom: 80px !important; width: 54px; height: 54px; }
}

/* Canastita flotante: no en carrito/checkout (ya están comprando). */
body.woocommerce-cart .xoo-wsc-basket, body.woocommerce-checkout .xoo-wsc-basket { display: none !important; }
