:root {
  --ink: #121316;
  --muted: #6e7078;
  --soft: #f3f3f5;
  --line: #e2e2e7;
  --white: #ffffff;
  --blue: #1768e5;
  --blue-dark: #0c4cad;
  --blue-soft: #edf4ff;
  --navy: #08111f;
  --green: #14865a;
  --green-soft: #eaf8f1;
  --amber: #a76008;
  --amber-soft: #fff5df;
  --red: #c53838;
  --red-soft: #fff0f0;
  --shadow: 0 24px 80px rgba(15, 20, 31, 0.10);
  --shadow-sm: 0 10px 35px rgba(15, 20, 31, 0.07);
  --radius: 24px;
  --radius-sm: 16px;
  --max: 1200px;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, Segoe UI, Helvetica, Arial, sans-serif;
  color: var(--ink);
  background: #f7f7f8;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

/* Configuración de interior: decisiones explícitas con el mismo lenguaje del selector de vehículo. */
.apple-booking-config .service-choice-label {
  display: block;
  margin: 26px 0 9px;
  color: #1d1d1f;
  font-size: 15px;
  font-weight: 750;
}

.apple-booking-config .service-choice-primary,
.apple-booking-config .service-choice-disclosure > summary {
  width: 100%;
  min-height: 82px;
  padding: 16px 18px;
  border: 1px solid #8e8e93;
  border-radius: 18px;
  background: #fff;
  color: #1d1d1f;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 13px;
  text-align: left;
  font: inherit;
}

.apple-booking-config .service-choice-primary {
  cursor: pointer;
}

.apple-booking-config .service-choice-primary:hover,
.apple-booking-config .service-choice-disclosure > summary:hover {
  border-color: var(--blue);
}

.apple-booking-config .service-choice-primary.selected,
.apple-booking-config .service-choice-disclosure:has(.service-choice-option.selected) > summary {
  border: 2px solid var(--blue);
  padding: 15px 17px;
  background: #fff;
  color: #1d1d1f;
  box-shadow: none;
}

.apple-booking-config .service-choice-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  color: var(--blue);
}

.apple-booking-config .service-choice-icon .comparison-feature-icon {
  width: 26px;
  height: 26px;
}

.apple-booking-config .service-choice-primary strong,
.apple-booking-config .service-choice-disclosure summary strong {
  font-size: 17px;
  line-height: 1.2;
}

.apple-booking-config .service-choice-primary > .icon,
.apple-booking-config .service-choice-disclosure summary > .icon {
  width: 19px;
  height: 19px;
  justify-self: end;
}

.apple-booking-config .detailing-service-choices {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.apple-booking-config .service-choice-disclosure {
  border: 0;
}

.apple-booking-config .service-choice-disclosure > summary {
  cursor: pointer;
  list-style: none;
}

.apple-booking-config .service-choice-disclosure > summary::-webkit-details-marker {
  display: none;
}

.apple-booking-config .service-choice-disclosure > summary > span {
  grid-column: 1 / 3;
}

.apple-booking-config .service-choice-disclosure summary small {
  display: block;
  margin-top: 4px;
  color: #6e6e73;
  font-size: 13px;
  font-weight: 450;
}

.apple-booking-config .service-choice-disclosure[open] > summary > .icon {
  transform: rotate(90deg);
}

.apple-booking-config .service-choice-options {
  display: grid;
  gap: 9px;
  padding: 12px 4px 4px;
}

.apple-booking-config .service-choice-option {
  width: 100%;
  min-height: 70px;
  padding: 13px 15px;
  border: 1px solid #d2d2d7;
  border-radius: 15px;
  background: #fff;
  color: #1d1d1f;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.apple-booking-config .service-choice-option:hover,
.apple-booking-config .service-choice-option.selected {
  border: 2px solid var(--blue);
  padding: 12px 14px;
  background: #fff;
  color: #1d1d1f;
  box-shadow: none;
}

.apple-booking-config .service-choice-option strong,
.apple-booking-config .service-choice-option small,
.apple-booking-config .service-choice-option b {
  display: block;
}

.apple-booking-config .service-choice-option strong {
  font-size: 15px;
}

.apple-booking-config .service-choice-option small {
  margin-top: 4px;
  color: #6e6e73;
  font-size: 12px;
  line-height: 1.35;
}

.apple-booking-config .service-choice-option b {
  color: var(--blue);
  font-size: 13px;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .apple-booking-config .service-choice-primary,
  .apple-booking-config .service-choice-disclosure > summary {
    min-height: 72px;
    padding: 13px 14px;
    border-radius: 16px;
  }

  .apple-booking-config .service-choice-primary.selected,
  .apple-booking-config .service-choice-disclosure:has(.service-choice-option.selected) > summary {
    padding: 12px 13px;
  }

  .apple-booking-config .service-choice-primary strong,
  .apple-booking-config .service-choice-disclosure summary strong {
    font-size: 16px;
  }
}

/* Guías orgánicas prerenderizadas. Esta capa no modifica la experiencia principal. */
.seo-guide-body {
  margin: 0;
  background: #fff;
  color: #1d1d1f;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.seo-guide-body *, .seo-guide-body *::before, .seo-guide-body *::after { box-sizing: border-box; }
.seo-guide-body a { color: inherit; }
.seo-guide-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 72px;
  padding: 12px max(24px, calc((100vw - 1120px) / 2));
  border-bottom: 1px solid rgba(29, 29, 31, .1);
  background: rgba(255, 255, 255, .88);
  backdrop-filter: saturate(180%) blur(18px);
}
.seo-guide-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.seo-guide-brand img { width: 38px; height: 38px; border-radius: 50%; }
.seo-guide-brand strong { font-size: 16px; letter-spacing: -.02em; }
.seo-guide-header nav { display: flex; align-items: center; gap: 18px; }
.seo-guide-header nav a { font-size: 14px; text-decoration: none; }
.seo-guide-header .seo-guide-header-cta {
  padding: 10px 19px;
  border-radius: 999px;
  background: #0071e3;
  color: #fff;
  font-weight: 600;
}
.seo-guide-main { width: min(100% - 48px, 980px); margin: 0 auto; }
.seo-guide-breadcrumb { display: flex; gap: 9px; padding-top: 28px; color: #6e6e73; font-size: 13px; }
.seo-guide-breadcrumb a { color: #06c; text-decoration: none; }
.seo-guide-hero { padding: 86px 0 92px; }
.seo-guide-hero > p, .seo-guide-faq > p, .seo-guide-related > p {
  margin: 0 0 18px;
  color: #6e6e73;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .15em;
}
.seo-guide-hero h1 {
  max-width: 920px;
  margin: 0;
  font-size: clamp(50px, 7.2vw, 84px);
  line-height: .98;
  letter-spacing: -.055em;
}
.seo-guide-hero > div {
  max-width: 760px;
  margin-top: 34px;
  color: #6e6e73;
  font-size: clamp(21px, 2.5vw, 28px);
  line-height: 1.3;
  letter-spacing: -.018em;
}
.seo-guide-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }
.seo-guide-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 24px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}
.seo-guide-primary { background: #0071e3; color: #fff !important; }
.seo-guide-secondary { border: 1px solid #0071e3; color: #0071e3 !important; }
.seo-guide-content { display: grid; gap: 2px; border-radius: 32px; overflow: hidden; background: #e8e8ed; }
.seo-guide-content section { padding: clamp(42px, 6vw, 72px); background: #f5f5f7; }
.seo-guide-content h2, .seo-guide-faq h2, .seo-guide-related h2, .seo-guide-final-cta h2 {
  margin: 0 0 24px;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.05;
  letter-spacing: -.04em;
}
.seo-guide-content p {
  max-width: 720px;
  margin: 0 0 18px;
  color: #3f3f43;
  font-size: 18px;
  line-height: 1.55;
}
.seo-guide-content p:last-child { margin-bottom: 0; }
.seo-guide-faq, .seo-guide-related { padding: 92px 0 0; }
.seo-guide-faq details { border-top: 1px solid #d2d2d7; }
.seo-guide-faq details:last-child { border-bottom: 1px solid #d2d2d7; }
.seo-guide-faq summary { padding: 24px 0; font-size: 19px; font-weight: 600; cursor: pointer; }
.seo-guide-faq details p { max-width: 720px; margin: -8px 0 26px; color: #6e6e73; font-size: 17px; line-height: 1.5; }
.seo-guide-related > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.seo-guide-related a {
  display: flex;
  min-height: 170px;
  padding: 28px;
  border-radius: 24px;
  justify-content: space-between;
  gap: 24px;
  background: #f5f5f7;
  font-size: 22px;
  font-weight: 650;
  line-height: 1.15;
  letter-spacing: -.025em;
  text-decoration: none;
}
.seo-guide-related a span { color: #0071e3; }
.seo-guide-final-cta { margin: 92px 0; padding: clamp(42px, 7vw, 76px); border-radius: 32px; background: #101012; color: #f5f5f7; }
.seo-guide-final-cta p { max-width: 650px; color: #a1a1a6; font-size: 19px; line-height: 1.45; }
.seo-guide-footer { padding: 28px max(24px, calc((100vw - 980px) / 2)); border-top: 1px solid #d2d2d7; color: #6e6e73; font-size: 13px; }
.seo-guide-footer { display: flex; justify-content: space-between; gap: 20px; }
.seo-guide-footer p { margin: 0; }
.seo-guide-footer a { color: #06c; }
.seo-guide-body a:focus-visible { outline: 3px solid #0071e3; outline-offset: 4px; }

@media (max-width: 680px) {
  .seo-guide-header { min-height: 60px; padding: 9px 18px; }
  .seo-guide-brand strong { display: none; }
  .seo-guide-header nav { gap: 12px; }
  .seo-guide-header .seo-guide-header-cta { padding: 9px 16px; }
  .seo-guide-main { width: min(100% - 36px, 980px); }
  .seo-guide-breadcrumb { padding-top: 18px; font-size: 12px; }
  .seo-guide-hero { padding: 52px 0 58px; }
  .seo-guide-hero h1 { font-size: clamp(40px, 12vw, 56px); }
  .seo-guide-hero > div { margin-top: 24px; font-size: 20px; }
  .seo-guide-actions { display: grid; margin-top: 30px; }
  .seo-guide-actions a { width: 100%; }
  .seo-guide-content { border-radius: 24px; }
  .seo-guide-content section { padding: 34px 26px; }
  .seo-guide-content h2, .seo-guide-faq h2, .seo-guide-related h2, .seo-guide-final-cta h2 { font-size: 32px; }
  .seo-guide-content p { font-size: 16px; }
  .seo-guide-faq, .seo-guide-related { padding-top: 64px; }
  .seo-guide-faq summary { font-size: 17px; }
  .seo-guide-related > div { grid-template-columns: 1fr; }
  .seo-guide-related a { min-height: 130px; font-size: 20px; }
  .seo-guide-final-cta { margin: 64px 0; padding: 38px 26px; border-radius: 24px; }
  .seo-guide-footer { flex-direction: column; padding: 22px 18px; }
}

/* Final service configurator refinement */
.service-part-selector button,
.service-option-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  text-align: left;
}

.service-part-selector button .service-part-icon,
.service-option-card .service-option-card-icon {
  grid-column: 1;
  grid-row: 1 / span 3;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: #727780;
}

.service-part-selector button strong,
.service-option-card strong,
.service-option-card > span:not(.service-option-card-icon),
.service-option-card .service-option-price {
  grid-column: 2;
}

.service-option-card .service-option-price {
  display: block;
  margin-top: 9px;
  color: #42454a;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
}

.service-option-card.selected .service-option-card-icon,
.service-part-selector button.selected .service-part-icon {
  color: #0969e8;
}

.service-option-none .service-option-card-icon svg {
  width: 18px;
  height: 18px;
}

.paint-preparation-options {
  margin-top: 24px;
}

.paint-preparation-options h4 {
  margin: 0 0 14px;
  font-size: 16px;
}

.paint-preparation-options h4 span {
  margin-left: 8px;
  color: #777b83;
  font-size: 12px;
  font-weight: 500;
}

.ceramic-preparation-notice {
  background: #050505 !important;
  border-color: #050505 !important;
  color: #fff !important;
}

.municipality-privilege-note {
  display: block;
  margin-top: 8px;
  color: #6e7178;
  font-size: 12px;
  line-height: 1.45;
}

.allies-promo-section {
  background: #f4f4f6;
  padding: 42px 0;
}

.allies-promo-body {
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(300px, 1.2fr);
  min-height: 390px;
  overflow: hidden;
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(15, 20, 30, .06);
}

.allies-promo-copy {
  position: relative;
  z-index: 2;
  align-self: center;
  padding: 56px;
}

.allies-eyebrow {
  display: block;
  margin-bottom: 8px;
  font-weight: 700;
}

.allies-promo-copy h3 {
  max-width: 420px;
  margin: 0;
  font-size: clamp(34px, 4vw, 54px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.04em;
}

.allies-promo-copy p {
  max-width: 410px;
  color: #6e7178;
}

.allies-promo-art {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  background: radial-gradient(circle at 50% 40%, #fff 0 18%, #eaf1fa 19% 37%, #dce4ee 38% 100%);
}

.allies-promo-art > span {
  display: grid;
  place-items: center;
  width: 104px;
  height: 104px;
  border-radius: 28px;
  background: linear-gradient(145deg, #20252c, #030405);
  color: #fff;
  box-shadow: 0 22px 45px rgba(0, 0, 0, .22);
  transform: translateY(-18px);
}

.allies-promo-art > span:nth-child(2) { transform: translateY(30px); }
.allies-promo-art > span:nth-child(3) { transform: translateY(-4px); }
.allies-promo-art svg { width: 42px; height: 42px; }

.allies-details {
  grid-column: 1 / -1;
  position: relative;
  z-index: 3;
  padding: 0 56px 48px;
}

.allies-details summary {
  width: max-content;
  list-style: none;
  cursor: pointer;
  border-radius: 999px;
  background: #0878ed;
  color: #fff;
  padding: 11px 22px;
  font-weight: 700;
}

.allies-details summary::-webkit-details-marker { display: none; }
.allies-details-panel { padding-top: 28px; }
.allies-advanced-note { margin: 0; color: #6e7178; }

.privilege-mini-benefits,
.privilege-reward-grid {
  grid-template-columns: minmax(0, 760px) !important;
  justify-content: center;
}

@media (max-width: 760px) {
  .allies-promo-section { padding: 24px 0; }
  .allies-promo-body { grid-template-columns: 1fr; min-height: 0; border-radius: 24px; }
  .allies-promo-copy { padding: 34px 26px 20px; }
  .allies-promo-copy h3 { font-size: 36px !important; }
  .allies-promo-art { min-height: 220px; }
  .allies-promo-art > span { width: 76px; height: 76px; border-radius: 22px; }
  .allies-promo-art svg { width: 30px; height: 30px; }
  .allies-details { padding: 24px 26px 34px; }
  .seats-option-grid,
  .ceramic-option-grid,
  .paint-preparation-options .service-option-grid { grid-template-columns: 1fr !important; }
}

/* MateosPrivilege · pasaporte visual del vehículo */
.privilege-vehicle-passport {
  width: 100%;
  margin-top: 24px;
  border-radius: 36px;
  border: 1px solid rgba(17, 24, 39, .08);
  background:
    radial-gradient(circle at 50% 10%, rgba(255,255,255,.96), rgba(246,247,249,.78) 48%, rgba(238,240,244,.92)),
    linear-gradient(180deg, #fff, #f5f5f7);
  box-shadow: 0 26px 80px rgba(14, 18, 25, .08);
  padding: clamp(18px, 3vw, 34px);
  overflow: hidden;
}

.privilege-passport-stats {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-bottom: 8px;
  color: #737883;
  font-size: 12px;
  line-height: 1;
  letter-spacing: -.01em;
}

.privilege-passport-stats span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.74);
  box-shadow: inset 0 0 0 1px rgba(16,24,40,.06);
}

.privilege-passport-stats b {
  color: #1d1d1f;
  font-weight: 800;
}

.privilege-exploded-stage {
  position: relative;
  width: 100%;
  border-radius: 30px;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.92), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,.58), rgba(232,236,242,.34));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78);
}

.privilege-exploded-car {
  display: block;
  width: 100%;
  height: auto;
  min-height: 310px;
  touch-action: manipulation;
}

.privilege-vehicle-core {
  fill: url(#privilege-shell);
  stroke: rgba(30, 36, 45, .24);
  stroke-width: 1.5;
  opacity: .72;
}

.privilege-zone-piece {
  --zone-fill: rgba(222, 78, 91, .34);
  --zone-stroke: rgba(156, 42, 55, .34);
  --zone-glow: rgba(222, 78, 91, .2);
  cursor: pointer;
  outline: none;
  opacity: .78;
  transform-box: fill-box;
  transform-origin: center;
  transition: transform .32s cubic-bezier(.2,.8,.2,1), opacity .32s ease, filter .32s ease;
}

.privilege-zone-piece.is-treated {
  --zone-fill: rgba(39, 199, 133, .58);
  --zone-stroke: rgba(10, 128, 82, .34);
  --zone-glow: rgba(39, 199, 133, .24);
}

.privilege-zone-piece.is-pending {
  --zone-fill: rgba(226, 82, 96, .32);
  --zone-stroke: rgba(157, 48, 60, .32);
}

.privilege-zone-piece .privilege-zone-surface {
  fill: var(--zone-fill);
  stroke: var(--zone-stroke);
  stroke-width: 1.4;
  stroke-linejoin: round;
  filter: url(#privilege-piece-shadow);
}

.privilege-zone-piece .privilege-glass-surface {
  fill: color-mix(in srgb, var(--zone-fill) 58%, rgba(183, 210, 225, .62));
}

.privilege-zone-piece .privilege-interior-surface {
  fill: color-mix(in srgb, var(--zone-fill) 72%, rgba(255,255,255,.3));
}

.privilege-zone-piece .privilege-far-side {
  opacity: .74;
}

.privilege-wheel-core {
  fill: rgba(255,255,255,.34);
  stroke: rgba(20,25,32,.28);
  stroke-width: 1.2;
}

.privilege-exploded-car.has-active .privilege-zone-piece:not(.is-active) {
  opacity: .46;
}

.privilege-zone-piece:hover,
.privilege-zone-piece:focus-visible,
.privilege-zone-piece.is-active {
  opacity: 1 !important;
  transform: translateY(-5px) scale(1.018);
  filter: drop-shadow(0 20px 24px var(--zone-glow));
}

.privilege-zone-piece.is-active .privilege-zone-surface {
  stroke-width: 2.3;
}

.privilege-zone-piece.is-treated.is-active .privilege-zone-surface {
  animation: privilege-zone-care .85s cubic-bezier(.2,.8,.2,1);
}

/* MateosPrivilege · vehículo hiperrealista */
.privilege-exploded-stage {
  padding: clamp(10px, 2vw, 18px);
  background:
    radial-gradient(circle at 52% 22%, rgba(255,255,255,.96), rgba(245,246,248,.8) 54%, rgba(232,235,240,.72) 100%);
}

.privilege-exploded-stage .privilege-exploded-car {
  display: none;
}

.privilege-realistic-car {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 28px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(17, 24, 39, .055);
  isolation: isolate;
}

.privilege-realistic-car::after {
  content: '';
  position: absolute;
  inset: auto 9% 3% 9%;
  height: 13%;
  border-radius: 999px;
  background: radial-gradient(ellipse at center, rgba(15, 23, 42, .14), rgba(15, 23, 42, 0) 72%);
  filter: blur(14px);
  pointer-events: none;
  z-index: 1;
}

.privilege-realistic-car img {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
  filter: saturate(.98) contrast(1.03);
  transform: translateZ(0);
}

.privilege-real-zone-layer {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.privilege-real-zone {
  position: absolute;
  min-width: 28px;
  min-height: 28px;
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: rgba(226, 82, 96, .16);
  box-shadow:
    inset 0 0 0 1px rgba(150, 36, 49, .20),
    inset 0 14px 28px rgba(255,255,255,.08);
  opacity: .72;
  clip-path: var(--poly, inset(0 round 18px));
  cursor: pointer;
  transition:
    transform .34s cubic-bezier(.2,.8,.2,1),
    opacity .34s cubic-bezier(.2,.8,.2,1),
    background-color .34s cubic-bezier(.2,.8,.2,1),
    box-shadow .34s cubic-bezier(.2,.8,.2,1),
    filter .34s cubic-bezier(.2,.8,.2,1);
  -webkit-tap-highlight-color: transparent;
}

.privilege-real-zone.is-treated {
  background: rgba(39, 199, 133, .22);
  box-shadow:
    inset 0 0 0 1px rgba(10, 128, 82, .24),
    inset 0 14px 28px rgba(255,255,255,.16),
    0 0 22px rgba(39,199,133,.06);
}

.privilege-real-zone.is-pending {
  background: rgba(226, 82, 96, .16);
}

.privilege-real-zone span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.privilege-realistic-car:has(.privilege-real-zone.is-active) .privilege-real-zone:not(.is-active) {
  opacity: .2;
  filter: saturate(.75);
}

.privilege-real-zone:hover,
.privilege-real-zone:focus-visible,
.privilege-real-zone.is-active {
  z-index: 4;
  opacity: .98;
  transform: translateY(-5px) scale(1.018);
  outline: none;
  box-shadow:
    inset 0 0 0 1.5px rgba(255,255,255,.55),
    0 18px 32px rgba(15, 23, 42, .14),
    0 0 0 1px rgba(15,23,42,.08);
}

.privilege-real-zone.is-treated:hover,
.privilege-real-zone.is-treated:focus-visible,
.privilege-real-zone.is-treated.is-active {
  background: rgba(39, 199, 133, .36);
  box-shadow:
    inset 0 0 0 1.5px rgba(255,255,255,.58),
    0 18px 32px rgba(39, 199, 133, .18),
    0 0 0 1px rgba(10, 128, 82, .16);
}

.privilege-real-zone.is-pending:hover,
.privilege-real-zone.is-pending:focus-visible,
.privilege-real-zone.is-pending.is-active {
  background: rgba(226, 82, 96, .30);
  box-shadow:
    inset 0 0 0 1.5px rgba(255,255,255,.52),
    0 18px 32px rgba(226, 82, 96, .14),
    0 0 0 1px rgba(150, 36, 49, .14);
}

.privilege-real-zone.is-active::after {
  content: '';
  position: absolute;
  inset: -38%;
  background: linear-gradient(115deg, transparent 18%, rgba(255,255,255,.46) 48%, transparent 78%);
  transform: translateX(-55%);
  animation: privilege-real-sheen .85s cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
}

@keyframes privilege-real-sheen {
  from { transform: translateX(-60%); opacity: 0; }
  28% { opacity: 1; }
  to { transform: translateX(62%); opacity: 0; }
}

@keyframes privilege-zone-care {
  0% { filter: brightness(1) drop-shadow(0 0 0 rgba(39,199,133,0)); }
  45% { filter: brightness(1.2) drop-shadow(0 0 18px rgba(39,199,133,.34)); }
  100% { filter: brightness(1) drop-shadow(0 0 0 rgba(39,199,133,0)); }
}

.privilege-passport-rail {
  display: flex;
  gap: 8px;
  margin: 16px 0 0;
  padding: 4px 2px 6px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.privilege-passport-rail::-webkit-scrollbar {
  display: none;
}

.privilege-passport-rail button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #69707c;
  font: 800 11px/1 var(--font-display, inherit);
  letter-spacing: -.01em;
  box-shadow: inset 0 0 0 1px rgba(16,24,40,.07);
  cursor: pointer;
}

.privilege-passport-rail button span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e25260;
  box-shadow: 0 0 0 4px rgba(226,82,96,.1);
}

.privilege-passport-rail button.is-treated span {
  background: #27c785;
  box-shadow: 0 0 0 4px rgba(39,199,133,.12);
}

.privilege-passport-rail button.is-active {
  background: #1d1d1f;
  color: #fff;
}

.privilege-zone-info-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  margin-top: 18px;
  padding: 18px;
  border-radius: 24px;
  background: rgba(255,255,255,.84);
  box-shadow: inset 0 0 0 1px rgba(16,24,40,.07), 0 18px 45px rgba(15,23,42,.06);
}

.privilege-zone-info-card small,
.privilege-zone-info-card dt {
  display: block;
  color: #8b929f;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.privilege-zone-info-card h3 {
  margin: 4px 0 0;
  color: #1d1d1f;
  font-size: clamp(26px, 4vw, 42px);
  line-height: .94;
  letter-spacing: -.045em;
}

.privilege-zone-info-card > strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(226,82,96,.1);
  color: #b73745;
  font-size: 12px;
  font-weight: 900;
}

.privilege-zone-info-card.is-treated > strong {
  background: rgba(39,199,133,.12);
  color: #08794d;
}

.privilege-zone-info-card dl {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}

.privilege-zone-info-card div {
  min-width: 0;
}

.privilege-zone-info-card dd {
  margin: 5px 0 0;
  color: #2c3037;
  font-size: 13px;
  line-height: 1.35;
}

.privilege-zone-info-card p {
  grid-column: 1 / -1;
  margin: 0;
  color: #747b87;
  font-size: 14px;
  line-height: 1.45;
}

@media (max-width: 720px) {
  .privilege-vehicle-passport {
    margin-top: 18px;
    padding: 12px;
    border-radius: 30px;
  }

  .privilege-passport-stats {
    justify-content: flex-start;
    margin: 4px 2px 10px;
    font-size: 11px;
  }

  .privilege-exploded-stage {
    border-radius: 24px;
    margin: 0;
  }

  .privilege-exploded-car {
    min-height: 278px;
  }

  .privilege-zone-piece:hover,
  .privilege-zone-piece:focus-visible,
  .privilege-zone-piece.is-active {
    transform: translateY(-3px) scale(1.012);
  }

  .privilege-passport-rail {
    margin-top: 12px;
  }

  .privilege-passport-rail button {
    min-height: 32px;
    padding: 0 10px;
    font-size: 10px;
  }

  .privilege-zone-info-card {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 14px;
    padding: 15px;
    border-radius: 22px;
  }

  .privilege-zone-info-card > strong {
    justify-self: start;
  }

  .privilege-zone-info-card dl {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .privilege-zone-info-card h3 {
    font-size: 30px;
  }
}

.client-menu-brandline {
  display: flex;
  align-items: center;
  gap: 12px;
}

.client-menu-admin {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid rgba(29, 29, 31, .1);
  border-radius: 999px;
  background: #f5f5f7;
  color: #1d1d1f;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.client-menu-admin .icon {
  width: 17px;
  height: 17px;
}

.line-editorial-wrapper {
  padding: clamp(48px, 8vw, 96px) 0 clamp(34px, 6vw, 76px);
  background: #f5f5f7;
  display: grid;
  gap: clamp(18px, 3vw, 32px);
}

.line-editorial {
  width: min(1120px, calc(100% - 44px));
  margin: 0 auto;
  min-height: 520px;
  padding: clamp(24px, 4vw, 54px);
  border-radius: clamp(28px, 5vw, 48px);
  display: grid;
  grid-template-columns: minmax(260px, .95fr) minmax(280px, 1.05fr);
  align-items: center;
  gap: clamp(24px, 5vw, 64px);
  color: #1d1d1f;
  background: #fff;
  overflow: hidden;
}

.line-editorial-advanced {
  background: radial-gradient(circle at 76% 15%, rgba(182, 151, 88, .18), transparent 34%), #050506;
  color: #f5f5f7;
}

.line-editorial-media {
  aspect-ratio: 1 / 1;
  border-radius: 34px;
  overflow: hidden;
  background: #e8e8ed;
}

.line-editorial-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.line-editorial-copy span {
  color: #7a8999;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.line-editorial-advanced .line-editorial-copy span {
  color: #c9a86a;
}

.line-editorial-copy h2 {
  max-width: 680px;
  margin: 12px 0 0;
  font-size: clamp(42px, 6vw, 82px);
  font-weight: 850;
  line-height: .92;
  letter-spacing: -.055em;
}

.line-editorial-copy p {
  max-width: 560px;
  margin: 28px 0 0;
  color: #6e6e73;
  font-size: clamp(18px, 2.1vw, 26px);
  line-height: 1.18;
  letter-spacing: -.025em;
}

.line-editorial-advanced .line-editorial-copy p {
  color: rgba(245, 245, 247, .76);
}

.line-editorial-copy .apple-btn {
  margin-top: 30px;
}

.professional-recommendation {
  margin: -6px 0 26px;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid rgba(0, 113, 227, .18);
  background: linear-gradient(135deg, rgba(0, 113, 227, .09), rgba(255, 255, 255, .94));
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 16px;
}

.professional-recommendation > span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--blue);
}

.professional-recommendation .icon {
  width: 20px;
  height: 20px;
}

.professional-recommendation strong {
  display: block;
  color: #1d1d1f;
  font-size: 18px;
  letter-spacing: -.02em;
}

.professional-recommendation p {
  max-width: 620px;
  margin: 4px 0 0;
  color: #6e6e73;
  font-size: 13px;
  line-height: 1.45;
}

.professional-recommendation-actions {
  display: flex;
  gap: 8px;
}

.professional-recommendation-actions button {
  min-height: 36px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: #0071e3;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.professional-recommendation-actions button + button {
  background: #e8e8ed;
  color: #1d1d1f;
}

.professional-recommendation-ok {
  grid-template-columns: 34px 1fr;
  background: #f5f5f7;
  border-color: rgba(29, 29, 31, .08);
}

.professional-recommendation-ok > span {
  width: 34px;
  height: 34px;
}

.line-tariff-overview {
  margin-bottom: 22px;
}

.line-tariff-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.line-tariff-grid article {
  border: 1px solid rgba(29, 29, 31, .08);
  border-radius: 18px;
  padding: 16px;
  background: #fbfbfd;
}

.line-tariff-grid h3 {
  margin: 0 0 14px;
}

.line-tariff-row {
  padding: 12px 0;
  border-top: 1px solid rgba(29, 29, 31, .08);
}

.line-tariff-row b {
  display: block;
  margin-bottom: 9px;
}

.line-tariff-row > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.line-tariff-row span {
  padding: 9px;
  border-radius: 12px;
  background: #fff;
}

.line-tariff-row small {
  display: block;
  color: #86868b;
  font-size: 10px;
  font-weight: 800;
}

.line-tariff-row strong {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.25;
}

.content-editor-form {
  display: grid;
  gap: 18px;
}

.content-editor-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.content-editor-line {
  margin: 0;
  padding: 16px;
  border: 1px solid rgba(29, 29, 31, .08);
  border-radius: 18px;
  background: #fbfbfd;
}

.content-editor-line legend {
  padding: 0 6px;
  font-weight: 850;
}

.content-editor-line textarea {
  resize: vertical;
}

.content-editor-safe-note {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.content-editor-safe-note > div {
  padding: 16px;
  border: 1px solid rgba(0, 113, 227, .12);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(0, 113, 227, .08), rgba(245, 245, 247, .92));
}

.content-editor-safe-note strong,
.content-editor-safe-note span {
  display: block;
}

.content-editor-safe-note strong {
  font-size: 13px;
  letter-spacing: -.2px;
}

.content-editor-safe-note span {
  margin-top: 6px;
  color: #6e6e73;
  font-size: 11px;
  line-height: 1.45;
}

.content-editor-section {
  margin: 0;
  padding: 18px;
  border: 1px solid rgba(29, 29, 31, .08);
  border-radius: 22px;
  background: #fff;
}

.content-editor-section > legend {
  padding: 0 7px;
  color: #0071e3;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .7px;
  text-transform: uppercase;
}

.content-editor-preview {
  min-height: 94px;
  margin-bottom: 14px;
  padding: 16px;
  border-radius: 18px;
  background: linear-gradient(135deg, #f5f5f7, #ffffff);
  border: 1px solid rgba(29, 29, 31, .06);
}

.content-editor-preview span,
.content-editor-preview small {
  display: block;
  color: #7f8998;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}

.content-editor-preview strong {
  display: block;
  margin: 6px 0 4px;
  color: #1d1d1f;
  font-size: 22px;
  line-height: .95;
  letter-spacing: -1.1px;
}

.content-export-json {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  line-height: 1.5;
  white-space: pre;
}

@media (max-width: 760px) {
  .client-menu-brandline {
    gap: 9px;
  }

  .client-menu-admin {
    min-height: 32px;
    padding: 0 9px;
    font-size: 11px;
  }

  .booking-store-page .booking-store-hero {
    padding-top: 18px;
    padding-bottom: 12px;
  }

  .booking-store-page .booking-store-tagline {
    margin-top: 8px;
    margin-bottom: 8px;
  }

  .booking-store-page .booking-store-tagline h1 {
    font-size: clamp(15px, 4.45vw, 20px);
    line-height: 1.12;
    letter-spacing: -.028em;
    text-align: center;
  }

  .line-editorial-wrapper {
    padding: 38px 0 34px;
  }

  .line-editorial {
    width: calc(100% - 28px);
    min-height: 0;
    padding: 16px;
    border-radius: 30px;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .line-editorial-media {
    border-radius: 24px;
    aspect-ratio: 1.08 / 1;
  }

  .line-editorial-copy h2 {
    font-size: clamp(34px, 12vw, 52px);
  }

  .line-editorial-copy p {
    margin-top: 18px;
    font-size: 17px;
    line-height: 1.22;
  }

  .professional-recommendation {
    grid-template-columns: 34px 1fr;
    gap: 12px;
  }

  .professional-recommendation > span {
    width: 34px;
    height: 34px;
  }

  .professional-recommendation-actions {
    grid-column: 1 / -1;
    justify-content: stretch;
  }

  .professional-recommendation-actions button {
    flex: 1;
  }

  .line-tariff-grid,
  .content-editor-grid {
    grid-template-columns: 1fr;
  }

  .content-editor-safe-note {
    grid-template-columns: 1fr;
  }

  .content-editor-section,
  .content-editor-line {
    padding: 14px;
    border-radius: 18px;
  }
}

/* Ajustes finales de elección de línea y páginas Descubrir */
.apple-storefront-lines .line-card-advanced header .booking-card-label {
  color: #7a8999;
}

.apple-storefront-lines .line-card-advanced header .booking-card-subtitle {
  color: #1d1d1f;
}

.line-discovery-backdrop {
  align-items: stretch;
  padding: 0;
  background: rgba(0, 0, 0, .42);
}

.line-discovery-modal {
  width: min(1180px, calc(100vw - 34px));
  max-height: calc(100vh - 34px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border-radius: 34px;
  background: #f5f5f7;
  color: #1d1d1f;
  box-shadow: 0 34px 120px rgba(0, 0, 0, .24);
}

.line-discovery-modal.line-discovery-pro {
  background: #050507;
  color: #f5f5f7;
}

.line-discovery-modal.line-discovery-flow {
  background: linear-gradient(180deg, #f4fbff 0%, #f5f5f7 58%, #fff 100%);
}

.line-discovery-top {
  min-height: 62px;
  padding: 18px 22px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.line-discovery-top .store-back {
  width: auto;
  margin: 0;
  color: inherit;
  opacity: .72;
}

.line-discovery-top .icon-btn {
  background: rgba(255, 255, 255, .78);
  color: #1d1d1f;
  border: 1px solid rgba(0, 0, 0, .08);
}

.line-discovery-pro .line-discovery-top .icon-btn {
  background: rgba(255, 255, 255, .11);
  color: #fff;
  border-color: rgba(255, 255, 255, .16);
}

.line-discovery-hero {
  min-height: min(690px, calc(100vh - 156px));
  padding: 18px clamp(24px, 5vw, 70px) 54px;
  display: grid;
  grid-template-columns: minmax(280px, .88fr) minmax(360px, 1.12fr);
  align-items: center;
  gap: clamp(26px, 5vw, 68px);
}

.line-discovery-copy > span {
  display: block;
  color: #7a8999;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.line-discovery-pro .line-discovery-copy > span {
  color: #c9a86a;
}

.line-discovery-copy h2 {
  margin: 10px 0 0;
  font-size: clamp(54px, 8vw, 112px);
  font-weight: 850;
  line-height: .88;
  letter-spacing: -.065em;
}

.line-discovery-copy small {
  display: block;
  margin-top: 16px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.line-discovery-copy p {
  max-width: 520px;
  margin: 34px 0 0;
  color: #6e6e73;
  font-size: clamp(18px, 2.1vw, 28px);
  line-height: 1.16;
  letter-spacing: -.02em;
}

.line-discovery-pro .line-discovery-copy p {
  color: rgba(245, 245, 247, .74);
}

.line-discovery-copy strong {
  display: block;
  margin-top: 34px;
  font-size: 20px;
  line-height: 1.25;
}

.line-discovery-copy strong em {
  display: block;
  margin-top: 4px;
  color: #6e6e73;
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
}

.line-discovery-pro .line-discovery-copy strong em {
  color: rgba(245, 245, 247, .62);
}

.line-discovery-actions {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.line-discovery-actions .btn {
  min-height: 44px;
  border-radius: 999px;
  padding: 0 22px;
}

.line-discovery-media {
  width: 100%;
  aspect-ratio: 1 / 1;
  max-height: 680px;
  border-radius: 38px;
  overflow: hidden;
  background: #e8e8ed;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04), 0 24px 70px rgba(0, 0, 0, .13);
}

.line-discovery-pro .line-discovery-media {
  background: #000;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 34px 90px rgba(0, 0, 0, .45);
}

.line-discovery-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.line-discovery-strip {
  margin: 0 clamp(18px, 4vw, 54px) 34px;
  padding: 18px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  border-radius: 24px;
  background: rgba(255, 255, 255, .72);
  backdrop-filter: blur(16px);
}

.line-discovery-pro .line-discovery-strip {
  background: rgba(255, 255, 255, .08);
}

.line-discovery-strip article {
  min-height: 82px;
  padding: 14px 12px;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 9px;
  color: inherit;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  background: rgba(255, 255, 255, .62);
}

.line-discovery-pro .line-discovery-strip article {
  background: rgba(255, 255, 255, .08);
}

.line-discovery-strip .icon {
  width: 20px;
  height: 20px;
  color: var(--blue);
}

.language-switcher {
  min-height: 32px;
  padding: 0 8px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #6e6e73;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  background: rgba(255, 255, 255, .54);
}

.language-switcher button {
  border: 0;
  padding: 0;
  color: inherit;
  font: inherit;
  background: transparent;
  cursor: pointer;
}

.language-switcher button.active {
  color: #1d1d1f;
}

.language-switcher button:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 3px;
  border-radius: 5px;
}

@media (max-width: 760px) {
  .client-nav-actions .language-switcher {
    min-height: 28px;
    padding: 0 4px;
    gap: 3px;
    font-size: 9px;
    letter-spacing: .04em;
    background: transparent;
  }

  .booking-store-page .booking-store-tagline h1 {
    font-size: clamp(18px, 5.05vw, 24px);
    line-height: 1.08;
    letter-spacing: -.032em;
    text-align: center;
  }

  .line-discovery-backdrop {
    padding: 0;
  }

  .line-discovery-modal {
    width: 100vw;
    min-height: 100vh;
    max-height: none;
    margin: 0;
    border-radius: 0;
  }

  .line-discovery-top {
    min-height: 56px;
    padding: calc(12px + env(safe-area-inset-top)) 18px 8px;
  }

  .line-discovery-hero {
    min-height: 0;
    padding: 18px 22px 34px;
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .line-discovery-media {
    order: -1;
    aspect-ratio: 1.08 / 1;
    border-radius: 28px;
  }

  .line-discovery-copy h2 {
    font-size: clamp(48px, 15vw, 70px);
  }

  .line-discovery-copy p {
    margin-top: 24px;
    font-size: 20px;
    line-height: 1.2;
  }

  .line-discovery-strip {
    margin: 0 18px calc(24px + env(safe-area-inset-bottom));
    grid-template-columns: 1fr;
  }
}

/* FINAL REAL: estructura compacta y consistente para líneas y mejoras */
.booking-store-page .booking-store-line-note {
  width: min(100%, 1120px) !important;
  margin: 0 auto clamp(18px, 2.4vw, 28px) !important;
  padding: 0 24px !important;
  color: #1d1d1f !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}

.booking-store-page .booking-store-line-note::before {
  content: none !important;
}

.continuous-purchase-shell .finish-upgrade-section {
  margin: clamp(30px, 4vw, 50px) 0 !important;
  padding: clamp(40px, 4.2vw, 54px) clamp(36px, 5.4vw, 64px) clamp(44px, 4.4vw, 56px) !important;
  border-top: 2px solid rgba(29, 29, 31, .12) !important;
  border-bottom: 2px solid rgba(29, 29, 31, .12) !important;
  background: #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.continuous-purchase-shell .finish-upgrade-section h3 {
  margin: 0 !important;
  color: #1d1d1f !important;
  font-size: clamp(34px, 3.55vw, 50px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -.047em !important;
}

.continuous-purchase-shell .finish-upgrade-section h3 strong {
  font-weight: 850 !important;
}

.continuous-purchase-shell .finish-upgrade-section > p {
  max-width: 860px !important;
  margin: clamp(15px, 1.7vw, 22px) 0 clamp(36px, 3.5vw, 46px) !important;
  color: #6e6e73 !important;
  font-size: clamp(22px, 1.95vw, 29px) !important;
  font-weight: 400 !important;
  line-height: 1.22 !important;
  letter-spacing: -.032em !important;
}

.continuous-purchase-shell .finish-upgrade-buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px, 2vw, 26px) !important;
  margin: 0 0 clamp(38px, 3.5vw, 48px) !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button {
  min-height: clamp(92px, 7.5vw, 118px) !important;
  padding: 0 clamp(22px, 2.7vw, 36px) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #e8e9ed !important;
  color: #2b2d33 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .18em !important;
  text-align: center !important;
  font-size: clamp(22px, 1.95vw, 30px) !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: -.032em !important;
  box-shadow: none !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button.selected {
  background: var(--blue) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(0, 113, 227, .16) !important;
}

.continuous-purchase-shell .finish-plus-accent {
  color: var(--blue) !important;
  font-weight: 900 !important;
}

.continuous-purchase-shell .finish-pro-accent {
  color: #050505 !important;
  font-weight: 900 !important;
  -webkit-text-fill-color: #050505 !important;
  text-shadow: none !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-plus-accent,
.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-pro-accent {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
}

.continuous-purchase-shell .finish-upgrade-note {
  min-height: clamp(76px, 6.4vw, 98px) !important;
  margin: 0 !important;
  padding: 0 clamp(26px, 2.8vw, 38px) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f2f2f4 !important;
  color: #777982 !important;
  display: flex !important;
  align-items: center !important;
  font-size: clamp(20px, 1.75vw, 27px) !important;
  font-weight: 400 !important;
  line-height: 1.22 !important;
  letter-spacing: -.032em !important;
}

@media (max-width: 760px) {
  .booking-store-page .booking-store-line-note {
    margin: 0 auto 16px !important;
    padding: 0 6.25vw !important;
    font-size: clamp(22px, 6.6vw, 28px) !important;
    line-height: 1.05 !important;
  }

  .continuous-purchase-shell .finish-upgrade-section {
    margin: 22px 0 !important;
    padding: 28px 18px 30px !important;
    border-top-width: 1px !important;
    border-bottom-width: 1px !important;
  }

  .continuous-purchase-shell .finish-upgrade-section h3 {
    font-size: clamp(24px, 7vw, 31px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
  }

  .continuous-purchase-shell .finish-upgrade-section > p {
    margin: 12px 0 24px !important;
    font-size: clamp(15px, 4.4vw, 19px) !important;
    line-height: 1.25 !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons {
    gap: 12px !important;
    margin-bottom: 24px !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons button {
    min-height: 54px !important;
    padding: 0 10px !important;
    font-size: clamp(13px, 3.7vw, 17px) !important;
    letter-spacing: -.02em !important;
  }

  .continuous-purchase-shell .finish-upgrade-note {
    min-height: 56px !important;
    padding: 0 16px !important;
    font-size: clamp(13px, 3.8vw, 17px) !important;
    line-height: 1.2 !important;
  }
}

/* Cierre real de cascada: Clásica/Detailing/Avanzada mantienen tipografía ordenada */
.booking-store-page .booking-store-line-note {
  width: min(100%, 1120px) !important;
  margin: 0 auto clamp(18px, 2.4vw, 28px) !important;
  padding: 0 24px !important;
  color: #1d1d1f !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}

.booking-store-page .booking-store-line-note::before {
  content: none !important;
}

.continuous-purchase-shell .finish-upgrade-section {
  margin: clamp(30px, 4vw, 50px) 0 !important;
  padding: clamp(40px, 4.2vw, 54px) clamp(36px, 5.4vw, 64px) clamp(44px, 4.4vw, 56px) !important;
  border-top: 2px solid rgba(29, 29, 31, .12) !important;
  border-bottom: 2px solid rgba(29, 29, 31, .12) !important;
  background: #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.continuous-purchase-shell .finish-upgrade-section h3 {
  margin: 0 !important;
  color: #1d1d1f !important;
  font-size: clamp(34px, 3.55vw, 50px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -.047em !important;
}

.continuous-purchase-shell .finish-upgrade-section h3 strong {
  font-weight: 850 !important;
}

.continuous-purchase-shell .finish-upgrade-section > p {
  max-width: 860px !important;
  margin: clamp(15px, 1.7vw, 22px) 0 clamp(36px, 3.5vw, 46px) !important;
  color: #6e6e73 !important;
  font-size: clamp(22px, 1.95vw, 29px) !important;
  font-weight: 400 !important;
  line-height: 1.22 !important;
  letter-spacing: -.032em !important;
}

.continuous-purchase-shell .finish-upgrade-buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px, 2vw, 26px) !important;
  margin: 0 0 clamp(38px, 3.5vw, 48px) !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button {
  min-height: clamp(92px, 7.5vw, 118px) !important;
  padding: 0 clamp(22px, 2.7vw, 36px) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #e8e9ed !important;
  color: #2b2d33 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .18em !important;
  text-align: center !important;
  font-size: clamp(22px, 1.95vw, 30px) !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: -.032em !important;
  box-shadow: none !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button.selected {
  background: var(--blue) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(0, 113, 227, .16) !important;
}

.continuous-purchase-shell .finish-plus-accent {
  color: var(--blue) !important;
  font-weight: 900 !important;
}

.continuous-purchase-shell .finish-pro-accent {
  color: #050505 !important;
  font-weight: 900 !important;
  -webkit-text-fill-color: #050505 !important;
  text-shadow: none !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-plus-accent,
.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-pro-accent {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
}

.continuous-purchase-shell .finish-upgrade-note {
  min-height: clamp(76px, 6.4vw, 98px) !important;
  margin: 0 !important;
  padding: 0 clamp(26px, 2.8vw, 38px) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f2f2f4 !important;
  color: #777982 !important;
  display: flex !important;
  align-items: center !important;
  font-size: clamp(20px, 1.75vw, 27px) !important;
  font-weight: 400 !important;
  line-height: 1.22 !important;
  letter-spacing: -.032em !important;
}

@media (max-width: 760px) {
  .booking-store-page .booking-store-line-note {
    margin: 0 auto 16px !important;
    padding: 0 6.25vw !important;
    font-size: clamp(22px, 6.6vw, 28px) !important;
    line-height: 1.05 !important;
  }

  .continuous-purchase-shell .finish-upgrade-section {
    margin: 22px 0 !important;
    padding: 28px 18px 30px !important;
    border-top-width: 1px !important;
    border-bottom-width: 1px !important;
  }

  .continuous-purchase-shell .finish-upgrade-section h3 {
    font-size: clamp(24px, 7vw, 31px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
  }

  .continuous-purchase-shell .finish-upgrade-section > p {
    margin: 12px 0 24px !important;
    font-size: clamp(15px, 4.4vw, 19px) !important;
    line-height: 1.25 !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons {
    gap: 12px !important;
    margin-bottom: 24px !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons button {
    min-height: 54px !important;
    padding: 0 10px !important;
    font-size: clamp(13px, 3.7vw, 17px) !important;
    letter-spacing: -.02em !important;
  }

  .continuous-purchase-shell .finish-upgrade-note {
    min-height: 56px !important;
    padding: 0 16px !important;
    font-size: clamp(13px, 3.8vw, 17px) !important;
    line-height: 1.2 !important;
  }
}

/* Final override: estructura y proporciones de "Mejora. Tu acabado." según referencia */
.continuous-purchase-shell .finish-upgrade-section {
  margin: clamp(34px, 4.5vw, 56px) 0 !important;
  padding: clamp(46px, 4.6vw, 58px) clamp(38px, 5.8vw, 66px) clamp(48px, 4.8vw, 60px) !important;
  border-top: 2px solid rgba(29, 29, 31, .12) !important;
  border-bottom: 2px solid rgba(29, 29, 31, .12) !important;
  background: #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.continuous-purchase-shell .finish-upgrade-section h3 {
  margin: 0 !important;
  color: #1d1d1f !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  font-weight: 400 !important;
  line-height: 1.02 !important;
  letter-spacing: -.05em !important;
}

.continuous-purchase-shell .finish-upgrade-section h3 strong {
  font-weight: 850 !important;
}

.continuous-purchase-shell .finish-upgrade-section > p {
  max-width: 940px !important;
  margin: clamp(18px, 1.9vw, 24px) 0 clamp(42px, 4vw, 52px) !important;
  color: #6e6e73 !important;
  font-size: clamp(25px, 2.25vw, 33px) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: -.035em !important;
}

.continuous-purchase-shell .finish-upgrade-buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(22px, 2.2vw, 28px) !important;
  margin: 0 0 clamp(44px, 4vw, 54px) !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button {
  min-height: clamp(104px, 8.8vw, 132px) !important;
  padding: 0 clamp(24px, 3vw, 38px) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #e8e9ed !important;
  color: #2b2d33 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .18em !important;
  text-align: center !important;
  font-size: clamp(25px, 2.25vw, 34px) !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
  box-shadow: none !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button.selected {
  background: var(--blue) !important;
  color: #fff !important;
  box-shadow: 0 18px 42px rgba(0, 113, 227, .18) !important;
}

.continuous-purchase-shell .finish-plus-accent {
  color: var(--blue) !important;
  font-weight: 900 !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-plus-accent,
.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-pro-accent {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
}

.continuous-purchase-shell .finish-pro-accent {
  color: #050505 !important;
  font-weight: 900 !important;
  text-shadow: none !important;
  -webkit-text-fill-color: #050505 !important;
}

.continuous-purchase-shell .finish-upgrade-note {
  min-height: clamp(88px, 7.4vw, 112px) !important;
  margin: 0 !important;
  padding: 0 clamp(30px, 3.1vw, 42px) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f2f2f4 !important;
  color: #777982 !important;
  display: flex !important;
  align-items: center !important;
  font-size: clamp(24px, 2.05vw, 31px) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: -.035em !important;
}

.booking-store-page .booking-store-line-note {
  width: min(100%, 1120px) !important;
  margin: 0 auto clamp(18px, 2.4vw, 28px) !important;
  padding: 0 24px !important;
  color: #1d1d1f !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}

.booking-store-page .booking-store-line-note::before {
  content: "Escoge una línea. ";
}

@media (max-width: 760px) {
  .continuous-purchase-shell .finish-upgrade-section {
    margin: 24px 0 !important;
    padding: 30px 18px 32px !important;
    border-top-width: 1px !important;
    border-bottom-width: 1px !important;
  }

  .continuous-purchase-shell .finish-upgrade-section h3 {
    font-size: clamp(28px, 8.2vw, 36px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.048em !important;
  }

  .continuous-purchase-shell .finish-upgrade-section > p {
    margin: 14px 0 28px !important;
    font-size: clamp(18px, 5.2vw, 23px) !important;
    line-height: 1.23 !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons {
    gap: 12px !important;
    margin-bottom: 26px !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons button {
    min-height: 58px !important;
    padding: 0 12px !important;
    font-size: clamp(15px, 4vw, 19px) !important;
    letter-spacing: -.025em !important;
  }

  .continuous-purchase-shell .finish-upgrade-note {
    min-height: 62px !important;
    padding: 0 18px !important;
    font-size: clamp(16px, 4.2vw, 20px) !important;
    line-height: 1.2 !important;
  }

  .booking-store-page .booking-store-line-note {
    margin-bottom: 16px !important;
    padding: 0 6.25vw !important;
    font-size: clamp(24px, 7.2vw, 31px) !important;
    line-height: 1.04 !important;
  }
}

/* Ajuste final: sección "Mejora. Tu acabado." con estructura de referencia */
.continuous-purchase-shell .finish-upgrade-section {
  margin: clamp(38px, 5vw, 68px) 0 !important;
  padding: clamp(54px, 5.2vw, 66px) clamp(42px, 6.2vw, 72px) clamp(58px, 5.4vw, 70px) !important;
  border-top: 2px solid rgba(29, 29, 31, .12) !important;
  border-bottom: 2px solid rgba(29, 29, 31, .12) !important;
  background: #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.continuous-purchase-shell .finish-upgrade-section h3 {
  margin: 0 !important;
  color: #1d1d1f !important;
  font-size: clamp(48px, 4.65vw, 64px) !important;
  font-weight: 400 !important;
  line-height: .98 !important;
  letter-spacing: -.058em !important;
}

.continuous-purchase-shell .finish-upgrade-section h3 strong {
  font-weight: 850 !important;
}

.continuous-purchase-shell .finish-upgrade-section > p {
  max-width: 980px !important;
  margin: clamp(22px, 2.1vw, 28px) 0 clamp(48px, 4.4vw, 58px) !important;
  color: #6e6e73 !important;
  font-size: clamp(30px, 2.65vw, 38px) !important;
  font-weight: 400 !important;
  line-height: 1.16 !important;
  letter-spacing: -.035em !important;
}

.continuous-purchase-shell .finish-upgrade-buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(24px, 2.3vw, 30px) !important;
  margin: 0 0 clamp(52px, 4.4vw, 60px) !important;
}

.continuous-purchase-shell .finish-upgrade-button {
  min-height: clamp(128px, 10.4vw, 146px) !important;
  padding: 0 clamp(26px, 3.2vw, 40px) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #e8e9ed !important;
  color: #2b2d33 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: clamp(30px, 2.65vw, 38px) !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
  box-shadow: none !important;
}

.continuous-purchase-shell .finish-upgrade-button.selected {
  background: var(--blue) !important;
  color: #fff !important;
  box-shadow: 0 18px 42px rgba(0, 113, 227, .18) !important;
}

.continuous-purchase-shell .finish-upgrade-button .plus-word {
  color: var(--blue) !important;
}

.continuous-purchase-shell .finish-upgrade-button.selected .plus-word {
  color: #fff !important;
}

.continuous-purchase-shell .finish-upgrade-button .pro-word {
  color: #050505 !important;
  font-weight: 900 !important;
}

.continuous-purchase-shell .finish-upgrade-button.selected .pro-word {
  color: #fff !important;
}

.continuous-purchase-shell .finish-upgrade-note {
  min-height: clamp(104px, 8.6vw, 120px) !important;
  padding: 0 clamp(34px, 3.4vw, 44px) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f2f2f4 !important;
  color: #777982 !important;
  display: flex !important;
  align-items: center !important;
  font-size: clamp(28px, 2.35vw, 34px) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  letter-spacing: -.035em !important;
}

@media (max-width: 760px) {
  .continuous-purchase-shell .finish-upgrade-section {
    margin: 26px 0 !important;
    padding: 34px 18px 36px !important;
    border-top-width: 1px !important;
    border-bottom-width: 1px !important;
  }

  .continuous-purchase-shell .finish-upgrade-section h3 {
    font-size: clamp(32px, 9.5vw, 42px) !important;
    line-height: 1 !important;
  }

  .continuous-purchase-shell .finish-upgrade-section > p {
    margin: 16px 0 30px !important;
    font-size: clamp(20px, 6vw, 25px) !important;
    line-height: 1.22 !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons {
    gap: 12px !important;
    margin-bottom: 28px !important;
  }

  .continuous-purchase-shell .finish-upgrade-button {
    min-height: 58px !important;
    padding: 0 12px !important;
    font-size: clamp(16px, 4.35vw, 20px) !important;
    letter-spacing: -.025em !important;
  }

  .continuous-purchase-shell .finish-upgrade-note {
    min-height: 64px !important;
    padding: 0 18px !important;
    font-size: clamp(17px, 4.6vw, 21px) !important;
    line-height: 1.2 !important;
  }
}

/* Override final para clavar la sección "Mejora" con la proporción de referencia. */
.continuous-purchase-shell .finish-upgrade-section {
  border-top: 1px solid rgba(29, 29, 31, .13) !important;
  border-bottom: 1px solid rgba(29, 29, 31, .13) !important;
  padding: 54px 42px 58px !important;
}

.continuous-purchase-shell .finish-upgrade-section > h3 {
  margin: 0 !important;
  color: #1d1d1f;
  font-size: clamp(48px, 4.55vw, 61px) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
  font-weight: 400 !important;
}

.continuous-purchase-shell .finish-upgrade-section > h3 strong {
  font-weight: 900 !important;
}

.continuous-purchase-shell .finish-upgrade-section > p {
  display: block !important;
  max-width: 930px !important;
  margin: 24px 0 52px !important;
  color: #6e6e73 !important;
  font-size: clamp(30px, 2.65vw, 37px) !important;
  line-height: 1.26 !important;
  letter-spacing: -.018em !important;
}

.continuous-purchase-shell .finish-upgrade-buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 26px !important;
  margin: 0 0 54px !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button {
  min-height: 136px !important;
  padding: 0 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  justify-content: center !important;
  background: #e8e9ed !important;
  color: #24262c !important;
  font-size: clamp(28px, 2.5vw, 36px) !important;
  font-weight: 900 !important;
  letter-spacing: -.04em !important;
  box-shadow: none !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button.selected {
  background: #0071e3 !important;
  color: #fff !important;
  box-shadow: 0 18px 38px rgba(0, 113, 227, .16) !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-plus-accent,
.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-pro-accent {
  color: #fff !important;
}

.continuous-purchase-shell .finish-upgrade-note {
  min-height: 112px !important;
  margin: 0 !important;
  padding: 0 36px !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  background: #f5f5f7 !important;
  color: #6e6e73 !important;
  font-size: clamp(27px, 2.25vw, 32px) !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
}

@media (max-width: 760px) {
  .continuous-purchase-shell .finish-upgrade-section {
    padding: 31px 0 34px !important;
  }

  .continuous-purchase-shell .finish-upgrade-section > h3 {
    font-size: clamp(34px, 10.8vw, 43px) !important;
    line-height: 1 !important;
  }

  .continuous-purchase-shell .finish-upgrade-section > p {
    margin: 14px 0 30px !important;
    font-size: clamp(20px, 6.2vw, 25px) !important;
    line-height: 1.32 !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons {
    gap: 12px !important;
    margin-bottom: 28px !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons button {
    min-height: 62px !important;
    padding: 0 12px !important;
    font-size: clamp(15px, 4.35vw, 18px) !important;
    letter-spacing: -.03em !important;
  }

  .continuous-purchase-shell .finish-upgrade-note {
    min-height: 68px !important;
    padding: 0 18px !important;
    font-size: clamp(16px, 4.6vw, 19px) !important;
  }
}

/* Capa final: asegura que la sección Mejora y las páginas Descubrir ganen a reglas antiguas. */
.continuous-purchase-shell .finish-upgrade-section {
  border-top: 1px solid rgba(29, 29, 31, .12);
  border-bottom: 1px solid rgba(29, 29, 31, .12);
  padding: clamp(30px, 4vw, 56px) clamp(22px, 4vw, 48px);
}

.continuous-purchase-shell .finish-upgrade-section > h3 {
  margin: 0;
  font-size: clamp(34px, 5.2vw, 64px);
  line-height: 1.02;
  letter-spacing: -.045em;
  font-weight: 400;
}

.continuous-purchase-shell .finish-upgrade-section > h3 strong {
  font-weight: 850;
}

.continuous-purchase-shell .finish-upgrade-section > p {
  display: block;
  max-width: 880px;
  margin: 18px 0 44px;
  color: #6e6e73;
  font-size: clamp(21px, 2.75vw, 38px);
  line-height: 1.23;
  letter-spacing: -.02em;
}

.continuous-purchase-shell .finish-upgrade-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2.8vw, 30px);
  margin: 0 0 clamp(22px, 3.2vw, 40px);
}

.continuous-purchase-shell .finish-upgrade-buttons button {
  min-height: clamp(72px, 9vw, 112px);
  border: 0;
  border-radius: 999px;
  background: #e8e9ed;
  color: #1d1d1f;
  font-size: clamp(18px, 2.6vw, 34px);
  font-weight: 850;
  letter-spacing: -.035em;
  box-shadow: none;
}

.continuous-purchase-shell .finish-upgrade-buttons button.selected {
  background: #0071e3;
  color: #fff;
  box-shadow: 0 16px 38px rgba(0, 113, 227, .18);
}

.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-plus-accent,
.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-pro-accent {
  color: #fff;
}

.continuous-purchase-shell .finish-upgrade-note {
  min-height: clamp(66px, 7.8vw, 106px);
  margin: 0 0 clamp(22px, 3.2vw, 40px);
  padding: clamp(18px, 2.6vw, 34px);
  border-radius: 999px;
  display: flex;
  align-items: center;
  color: #6e6e73;
  background: #f5f5f7;
  font-size: clamp(17px, 2.1vw, 30px);
  line-height: 1.25;
  letter-spacing: -.02em;
}

@media (max-width: 760px) {
  .continuous-purchase-shell .finish-upgrade-section {
    padding: 30px 0;
  }

  .continuous-purchase-shell .finish-upgrade-section > h3 {
    font-size: 34px;
  }

  .continuous-purchase-shell .finish-upgrade-section > p {
    margin: 12px 0 28px;
    font-size: 20px;
    line-height: 1.28;
  }

  .continuous-purchase-shell .finish-upgrade-buttons {
    gap: 12px;
    margin-bottom: 22px;
  }

  .continuous-purchase-shell .finish-upgrade-buttons button {
    min-height: 64px;
    font-size: 17px;
  }

  .continuous-purchase-shell .finish-upgrade-note {
    min-height: 56px;
    margin-bottom: 24px;
    padding: 16px 18px;
    font-size: 14px;
  }
}

/* Ajuste final del bloque Mejora para conservar la estructura premium tipo Apple. */
.continuous-purchase-shell .finish-upgrade-section {
  border-top: 1px solid rgba(29, 29, 31, .12);
  border-bottom: 1px solid rgba(29, 29, 31, .12);
  padding: clamp(30px, 4vw, 56px) clamp(22px, 4vw, 48px);
}

.continuous-purchase-shell .finish-upgrade-section > h3 {
  margin: 0;
  font-size: clamp(34px, 5.2vw, 64px);
  line-height: 1.02;
  letter-spacing: -.045em;
  font-weight: 400;
}

.continuous-purchase-shell .finish-upgrade-section > h3 strong {
  font-weight: 850;
}

.continuous-purchase-shell .finish-upgrade-section > p {
  max-width: 880px;
  margin: 18px 0 44px;
  color: #6e6e73;
  font-size: clamp(21px, 2.75vw, 38px);
  line-height: 1.23;
  letter-spacing: -.02em;
}

.continuous-purchase-shell .finish-upgrade-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2.8vw, 30px);
  margin: 0 0 clamp(22px, 3.2vw, 40px);
}

.continuous-purchase-shell .finish-upgrade-buttons button {
  min-height: clamp(72px, 9vw, 112px);
  border: 0;
  border-radius: 999px;
  background: #e8e9ed;
  color: #1d1d1f;
  font-size: clamp(18px, 2.6vw, 34px);
  font-weight: 850;
  letter-spacing: -.035em;
  box-shadow: none;
}

.continuous-purchase-shell .finish-upgrade-buttons button.selected {
  background: #0071e3;
  color: #fff;
  box-shadow: 0 16px 38px rgba(0, 113, 227, .18);
}

.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-plus-accent,
.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-pro-accent {
  color: #fff;
}

.continuous-purchase-shell .finish-upgrade-note {
  min-height: clamp(66px, 7.8vw, 106px);
  margin: 0 0 clamp(22px, 3.2vw, 40px);
  padding: clamp(18px, 2.6vw, 34px);
  border-radius: 999px;
  display: flex;
  align-items: center;
  color: #6e6e73;
  background: #f5f5f7;
  font-size: clamp(17px, 2.1vw, 30px);
  line-height: 1.25;
  letter-spacing: -.02em;
}

.line-page {
  min-height: 100vh;
  background: #f5f5f7;
  color: #1d1d1f;
}

.line-page-dark {
  background: #000;
  color: #f5f5f7;
}

.line-page-product-nav {
  position: sticky;
  top: 0;
  z-index: 35;
  width: min(920px, calc(100% - 28px));
  min-height: 64px;
  margin: 14px auto 0;
  padding: 10px 14px 10px 18px;
  border: 1px solid rgba(29, 29, 31, .12);
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: rgba(255, 255, 255, .82);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.line-page-dark .line-page-product-nav {
  border-color: rgba(255, 255, 255, .16);
  background: rgba(22, 22, 24, .84);
}

.line-page-product-nav strong {
  font-size: 20px;
  line-height: 1;
  letter-spacing: -.02em;
}

.line-page-product-nav div {
  display: flex;
  gap: 10px;
}

.line-page-product-nav button {
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid rgba(29, 29, 31, .18);
  border-radius: 999px;
  background: #fff;
  color: #1d1d1f;
  font-weight: 700;
}

.line-page-product-nav button:last-child {
  border-color: #0071e3;
  background: #0071e3;
  color: #fff;
}

.line-page-dark .line-page-product-nav button:first-child {
  border-color: rgba(255, 255, 255, .24);
  background: rgba(255, 255, 255, .08);
  color: #f5f5f7;
}

.line-page-hero {
  width: min(980px, calc(100% - 36px));
  min-height: calc(100vh - 120px);
  margin: 0 auto;
  padding: clamp(46px, 8vw, 92px) 0 46px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.line-page-hero .store-back {
  align-self: flex-start;
  margin-bottom: clamp(34px, 6vw, 62px);
}

.line-page-hero > span,
.line-page-story > span {
  color: #7e8a99;
  font-size: 14px;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.line-page-dark .line-page-hero > span,
.line-page-dark .line-page-story > span {
  color: #c49a45;
}

.line-page-hero h1 {
  margin: 10px 0 8px;
  font-size: clamp(44px, 8.5vw, 92px);
  line-height: .94;
  letter-spacing: -.06em;
}

.line-page-hero p {
  max-width: 520px;
  margin: 0 auto 34px;
  color: #6e6e73;
  font-size: clamp(20px, 3vw, 30px);
  line-height: 1.18;
  letter-spacing: -.025em;
}

.line-page-dark .line-page-hero p {
  color: rgba(245, 245, 247, .72);
}

.line-page-hero-media {
  width: min(280px, 60vw);
  aspect-ratio: 9 / 16;
  margin: 0 auto 44px;
  border-radius: 34px;
  overflow: hidden;
  background: #e8e8ed;
  box-shadow: 0 30px 70px rgba(0, 0, 0, .16);
}

.line-page-hero-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.line-page-buy-panel {
  width: min(520px, 100%);
  min-height: 76px;
  padding: 14px 18px;
  border-radius: 24px 24px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .08);
}

.line-page-dark .line-page-buy-panel {
  background: rgba(245, 245, 247, .12);
}

.line-page-buy-panel button,
.line-page-worth button {
  min-height: 44px;
  padding: 0 26px;
  border: 0;
  border-radius: 999px;
  background: #0071e3;
  color: #fff;
  font-weight: 800;
}

.line-page-buy-panel strong {
  font-size: 17px;
  line-height: 1.25;
}

.line-page-main-points,
.line-page-story,
.line-page-worth {
  width: min(1050px, calc(100% - 36px));
  margin: 0 auto;
  padding: clamp(70px, 10vw, 120px) 0;
}

.line-page-main-points header,
.line-page-worth {
  text-align: left;
}

.line-page-main-points h2,
.line-page-worth h2 {
  margin: 0 0 12px;
  font-size: clamp(36px, 6vw, 66px);
  line-height: 1.02;
  letter-spacing: -.055em;
  font-weight: 500;
}

.line-page-main-points header button {
  border: 0;
  background: transparent;
  color: #06c;
  font-size: 20px;
  font-weight: 500;
}

.line-page-feature-rail {
  margin-top: 42px;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(310px, 460px);
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 18px;
}

.line-page-feature-card {
  min-height: 520px;
  padding: 34px;
  border-radius: 36px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  scroll-snap-align: start;
  background: #fff;
}

.line-page-dark .line-page-feature-card {
  background: #101013;
}

.line-page-feature-card h3 {
  margin: 0;
  font-size: clamp(22px, 3.6vw, 42px);
  line-height: 1.06;
  letter-spacing: -.045em;
}

.line-page-feature-card video,
.line-page-feature-card img {
  width: 100%;
  min-height: 280px;
  max-height: 360px;
  object-fit: cover;
  border-radius: 28px;
}

.line-page-feature-card p {
  margin: 24px 0 0;
  color: #6e6e73;
  font-size: 21px;
  line-height: 1.25;
  letter-spacing: -.02em;
}

.line-page-story {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(32px, 7vw, 90px);
}

.line-page-story h2 {
  margin: 12px 0 0;
  font-size: clamp(42px, 7vw, 82px);
  line-height: 1.02;
  letter-spacing: -.06em;
}

.line-page-story img {
  width: 100%;
  border-radius: 38px;
  background: #fff;
  object-fit: cover;
}

.line-page-story p {
  grid-column: 1 / -1;
  max-width: 740px;
  margin: 0 auto;
  color: #6e6e73;
  font-size: clamp(24px, 4vw, 44px);
  line-height: 1.16;
  letter-spacing: -.04em;
}

.line-page-dark .line-page-story p,
.line-page-dark .line-page-feature-card p {
  color: rgba(245, 245, 247, .72);
}

.line-page-stats {
  width: min(920px, calc(100% - 36px));
  margin: 0 auto;
  padding: 40px 0 90px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

.line-page-stats article {
  min-height: 150px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: #6e6e73;
}

.line-page-stats strong {
  color: inherit;
  font-size: 23px;
  line-height: 1.08;
  letter-spacing: -.03em;
}

.line-page-dark .line-page-stats strong {
  color: #f5f5f7;
}

.line-page-worth {
  text-align: center;
}

.line-page-worth p {
  max-width: 560px;
  margin: 0 auto 30px;
  color: #6e6e73;
  font-size: 21px;
  line-height: 1.28;
}

.line-page-compare-mini {
  margin: 0 auto 30px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.line-page-compare-mini article {
  min-height: 160px;
  padding: 28px;
  border-radius: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  background: #fff;
}

.line-page-dark .line-page-compare-mini article {
  background: rgba(255, 255, 255, .08);
}

.line-page-compare-mini strong {
  font-size: 24px;
  letter-spacing: -.03em;
}

.line-page-compare-mini span {
  color: #6e6e73;
  font-size: 17px;
  line-height: 1.25;
}

.line-page-classic-first {
  width: min(920px, calc(100% - 36px));
  margin: 0 auto;
  padding: clamp(78px, 11vw, 132px) 0 clamp(86px, 12vw, 150px);
  text-align: center;
}

.line-page-classic-first > span {
  display: block;
  margin: 0 auto 34px;
  color: #1d1d1f;
  font-size: clamp(30px, 5.4vw, 58px);
  line-height: 1.04;
  letter-spacing: -.055em;
  font-weight: 850;
  text-transform: uppercase;
}

.line-page-classic-first > p {
  max-width: 440px;
  margin: 0 auto clamp(56px, 8vw, 86px);
  color: #6e6e73;
  font-size: clamp(21px, 3vw, 34px);
  line-height: 1.12;
  letter-spacing: -.04em;
  text-align: left;
}

.line-page-classic-first h2 {
  margin: 0 0 42px;
  color: #1d1d1f;
  font-size: clamp(24px, 4.5vw, 38px);
  line-height: 1.05;
  letter-spacing: -.045em;
  text-transform: uppercase;
}

.line-page-classic-benefits {
  width: min(560px, 100%);
  margin: 0 auto 44px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.line-page-classic-benefits article {
  min-height: 150px;
  padding: 26px 18px;
  border-radius: 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #fff;
  color: #1d1d1f;
  box-shadow: 0 16px 38px rgba(0, 0, 0, .045);
}

.line-page-classic-benefits strong {
  font-size: clamp(18px, 3.2vw, 28px);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.line-page-classic-benefits small {
  color: #6e6e73;
  font-size: 14px;
  line-height: 1.25;
}

.line-page-classic-first > button {
  min-height: 44px;
  padding: 0 34px;
  border: 0;
  border-radius: 999px;
  background: #0071e3;
  color: #fff;
  font-weight: 800;
}

.line-page-classic-first > small {
  display: block;
  max-width: 360px;
  margin: 18px auto 0;
  color: #6e6e73;
  font-size: 12px;
  line-height: 1.35;
}

@media (max-width: 760px) {
  .continuous-purchase-shell .finish-upgrade-section {
    padding: 30px 0;
  }

  .continuous-purchase-shell .finish-upgrade-section > h3 {
    font-size: 34px;
  }

  .continuous-purchase-shell .finish-upgrade-section > p {
    margin: 12px 0 28px;
    font-size: 20px;
    line-height: 1.28;
  }

  .continuous-purchase-shell .finish-upgrade-buttons {
    gap: 12px;
    margin-bottom: 22px;
  }

  .continuous-purchase-shell .finish-upgrade-buttons button {
    min-height: 64px;
    font-size: 17px;
  }

  .continuous-purchase-shell .finish-upgrade-note {
    min-height: 56px;
    margin-bottom: 24px;
    padding: 16px 18px;
    font-size: 14px;
  }

  .line-page-product-nav {
    top: calc(52px + env(safe-area-inset-top));
    width: calc(100% - 24px);
    min-height: 52px;
    border-radius: 16px;
  }

  .line-page-product-nav strong {
    font-size: 18px;
  }

  .line-page-product-nav button {
    min-height: 34px;
    padding: 0 13px;
    font-size: 13px;
  }

  .line-page-hero {
    width: calc(100% - 36px);
    min-height: auto;
    padding: 32px 0 30px;
  }

  .line-page-hero .store-back {
    margin-bottom: 34px;
  }

  .line-page-hero h1 {
    font-size: clamp(44px, 13vw, 58px);
  }

  .line-page-hero p {
    font-size: 23px;
  }

  .line-page-hero-media {
    width: min(210px, 55vw);
    margin-bottom: 34px;
    border-radius: 28px;
  }

  .line-page-buy-panel {
    min-height: 86px;
    flex-direction: column;
    gap: 9px;
    border-radius: 24px 24px 0 0;
  }

  .line-page-buy-panel strong {
    font-size: 16px;
  }

  .line-page-main-points,
  .line-page-story,
  .line-page-worth {
    width: calc(100% - 48px);
    padding: 72px 0;
  }

  .line-page-main-points h2,
  .line-page-worth h2 {
    font-size: 41px;
  }

  .line-page-feature-rail {
    grid-auto-columns: 86vw;
    gap: 18px;
  }

  .line-page-feature-card {
    min-height: 460px;
    padding: 26px;
    border-radius: 30px;
  }

  .line-page-feature-card p {
    font-size: 20px;
  }

  .line-page-story {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .line-page-story h2 {
    font-size: 48px;
  }

  .line-page-story p {
    font-size: 26px;
  }

  .line-page-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 24px;
    padding-bottom: 70px;
  }

  .line-page-compare-mini {
    grid-template-columns: 1fr;
  }

  .line-page-classic-first {
    width: calc(100% - 48px);
    padding: 72px 0 86px;
  }

  .line-page-classic-first > span {
    margin-bottom: 28px;
  }

  .line-page-classic-first > p {
    max-width: 300px;
    margin-bottom: 58px;
    font-size: 26px;
  }

  .line-page-classic-benefits {
    gap: 14px;
  }

  .line-page-classic-benefits article {
    min-height: 128px;
    border-radius: 22px;
    padding: 20px 12px;
  }
}

/* Ajuste final 19/08: elección de línea más compacta y sin bloques editoriales largos */
.booking-store-page .booking-store-hero {
  padding-top: 22px;
  padding-bottom: 24px;
}

.booking-store-page .store-back {
  margin-bottom: 12px;
}

.booking-store-page .booking-store-tagline h1 {
  font-size: clamp(25px, 3.1vw, 38px);
  line-height: 1.02;
}

.booking-store-page .booking-store-hero > .booking-store-help {
  margin-top: 12px;
}

.booking-store-page .booking-store-catalog {
  padding-top: 0;
}

.booking-store-page .booking-store-catalog-head {
  margin-bottom: 10px;
}

.booking-store-page .booking-store-line-note {
  margin-top: 0;
  margin-bottom: 14px;
}

@media (max-width: 760px) {
  .booking-store-page .booking-store-hero {
    padding-top: 14px;
    padding-bottom: 22px;
  }

  .booking-store-page .store-back {
    margin-bottom: 10px;
  }

  .booking-store-page .booking-store-tagline {
    margin: 0;
  }

  .booking-store-page .booking-store-tagline h1 {
    font-size: clamp(20px, 5.35vw, 25px);
    line-height: 1.06;
    letter-spacing: -.035em;
  }

  .booking-store-page .booking-store-hero > .booking-store-help {
    margin-top: 12px;
    gap: 4px 14px;
  }

  .booking-store-page .booking-store-catalog {
    padding-top: 0;
  }

  .booking-store-page .booking-store-catalog-head {
    margin-bottom: 8px;
  }

  .booking-store-page .booking-store-line-note {
    margin: 0 0 12px;
  }
}

/* Ajustes finales MateosDetail: navegación limpia y elección de línea compacta */
.client-drawer-menu > header {
  align-items: center;
}

.client-menu-brandline {
  display: flex;
  align-items: center;
  gap: 12px;
}

.client-menu-admin {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid rgba(29, 29, 31, .1);
  border-radius: 999px;
  background: #f5f5f7;
  color: #1d1d1f;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.booking-store-page .booking-store-tagline h1 {
  font-size: clamp(19px, 3.4vw, 34px);
  line-height: 1.08;
  letter-spacing: -.032em;
}

@media (max-width: 760px) {
  .booking-store-page .booking-store-hero {
    padding-top: 18px;
    padding-bottom: 12px;
  }

  .booking-store-page .booking-store-tagline {
    margin: 8px 0;
  }

  .booking-store-page .booking-store-tagline h1 {
    font-size: clamp(15px, 4.45vw, 20px);
    line-height: 1.12;
    letter-spacing: -.028em;
    text-align: center;
  }
}

/* Ajuste definitivo 19/08: elección de línea, vehículo y exterior avanzado */
.booking-store-page .booking-store-hero {
  padding-top: 12px;
  padding-bottom: 18px;
}

.booking-store-page .booking-store-tagline h1 {
  width: 100%;
  max-width: none;
  margin: 0;
  color: #1d1d1f;
  font-size: clamp(20px, 3.15vw, 36px);
  font-weight: 650;
  line-height: 1.06;
  letter-spacing: -.032em;
  text-align: center;
  white-space: normal;
}

.booking-store-page .booking-store-hero > .booking-store-help {
  margin-top: 14px;
}

.booking-store-line-note {
  width: min(calc(100% - 48px), 1120px);
  margin: -6px auto 20px;
  color: #1d1d1f;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 760;
  letter-spacing: -.035em;
}

.apple-storefront-lines .booking-line-card header.booking-line-title-block {
  min-height: 78px;
  padding-top: 26px;
}

.apple-storefront-lines .booking-line-card header .booking-card-label,
.apple-storefront-lines .line-card-advanced header .booking-card-label {
  color: #7f8da0 !important;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.apple-storefront-lines .booking-line-card header .booking-card-subtitle,
.apple-storefront-lines .line-card-advanced header .booking-card-subtitle {
  color: #1d1d1f !important;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.vehicle-booking-step {
  display: grid;
  gap: 22px;
  padding-block: 14px 18px;
}

.vehicle-booking-step .vehicle-step-heading {
  margin-bottom: 4px;
}

.vehicle-dropdown-picker {
  gap: 20px;
  padding-block: 4px 8px;
}

.vehicle-dropdown-picker .field.full > label {
  display: inline-block;
  margin-bottom: 10px;
}

.service-part-selector-classic,
.service-part-selector-advanced {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.service-part-selector-classic button,
.service-part-selector-advanced button {
  grid-column: 1 / 2;
  min-width: 0;
  width: 100%;
}

.service-part-selector button.selected > svg,
.service-part-selector button.selected::after {
  display: none !important;
}

.finish-upgrade-section > h3,
.exterior-protection-section > h3 {
  margin: 0 0 13px;
  font-size: clamp(22px, 2.65vw, 30px);
  line-height: 1.04;
  letter-spacing: -.05em;
}

.finish-upgrade-buttons {
  margin-bottom: 24px;
}

.exterior-protection-section {
  display: grid;
  gap: 16px;
}

.exterior-protection-grid,
.exterior-polish-block {
  display: grid;
  gap: 10px;
}

.exterior-polish-kicker {
  color: #7c828d;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.exterior-protection-card {
  width: 100%;
  min-height: 126px;
  padding: 20px;
  border: 1px solid #dfe2e8;
  border-radius: 22px;
  background: #fff;
  color: #1d1d1f;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 17px;
  align-items: start;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 18px 44px rgba(20, 24, 34, .055);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.exterior-protection-card:hover {
  border-color: #c7cad2;
  transform: translateY(-1px);
}

.exterior-protection-card.selected {
  border-color: var(--blue);
  background: #f4f8ff;
  box-shadow: 0 18px 48px rgba(23, 104, 229, .12);
}

.exterior-protection-card > span {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #f0f2f5;
  color: #1d1d1f;
  display: grid;
  place-items: center;
}

.exterior-protection-card.selected > span {
  background: var(--blue);
  color: #fff;
}

.exterior-protection-card .comparison-feature-icon {
  width: 24px;
  height: 24px;
}

.exterior-protection-card strong {
  display: block;
  font-size: 16px;
  line-height: 1.15;
  letter-spacing: -.02em;
}

.exterior-protection-card p {
  margin: 8px 0 12px;
  color: #686c75;
  font-size: 12px;
  line-height: 1.45;
}

.exterior-protection-card small {
  color: var(--blue);
  font-size: 12px;
  font-weight: 850;
}

.service-comparison-column > header h4 {
  flex-direction: column;
  gap: 2px;
}

.service-comparison-column > header .comparison-tier-label,
.service-comparison-column > header .comparison-tier-subtitle,
.service-comparison-advanced > header .comparison-tier-label,
.service-comparison-advanced > header .comparison-tier-subtitle {
  color: #7f8da0 !important;
  font-weight: 900;
}

.service-comparison-advanced > header h4 {
  color: #1d1d1f !important;
}

@media (max-width: 760px) {
  .booking-store-page .booking-store-hero {
    padding: 10px 18px 20px;
  }

  .booking-store-page .booking-store-tagline h1 {
    font-size: clamp(16px, 4.6vw, 22px);
    line-height: 1.08;
    letter-spacing: -.03em;
  }

  .booking-store-page .booking-store-hero > .booking-store-help {
    margin-top: 12px;
  }

  .booking-store-line-note {
    width: 87.5%;
    margin: -8px auto 18px;
    font-size: 18px;
  }

  .apple-storefront-lines .booking-line-card header.booking-line-title-block {
    min-height: 82px;
    padding-top: 24px;
  }

  .apple-storefront-lines .booking-line-card header h3 {
    font-size: 25px;
    line-height: 1;
  }

  .vehicle-booking-step {
    gap: 17px;
    padding-block: 10px 14px;
  }

  .vehicle-dropdown-picker {
    gap: 16px;
    padding-block: 4px 10px;
  }

  .service-part-selector-classic,
  .service-part-selector-advanced {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .service-part-selector-classic button,
  .service-part-selector-advanced button {
    grid-column: 1 / 2;
    min-width: 0;
    width: 100%;
  }

  .finish-upgrade-section > h3,
  .exterior-protection-section > h3 {
    font-size: 22px;
  }

  .finish-upgrade-buttons {
    margin-bottom: 20px;
  }

  .exterior-protection-card {
    min-height: 112px;
    padding: 16px;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 13px;
    border-radius: 19px;
  }

  .exterior-protection-card > span {
    width: 38px;
    height: 38px;
  }

  .exterior-protection-card strong {
    font-size: 14px;
  }

  .exterior-protection-card p {
    font-size: 10px;
  }

  .service-comparison-grid.comparison-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-comparison-grid.comparison-count-2 .service-comparison-column > header {
    min-height: 138px;
  }
}

/* Cierre visual 19/08: elección de línea y exterior avanzado */
.booking-store-page .booking-store-hero {
  padding-top: 18px;
  padding-bottom: 22px;
}

.booking-store-page .booking-store-tagline h1 {
  font-size: clamp(24px, 3.5vw, 42px);
  line-height: 1.04;
  letter-spacing: -.032em;
  text-align: center;
}

.booking-store-line-note {
  width: min(calc(100% - 48px), 1120px);
  margin: 0 auto 22px;
  color: #1d1d1f;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 750;
  letter-spacing: -.035em;
}

.apple-storefront-lines .booking-line-card header.booking-line-title-block {
  min-height: 78px;
  padding-top: 22px;
}

.apple-storefront-lines .booking-line-card header .booking-card-label,
.apple-storefront-lines .line-card-advanced header .booking-card-label {
  color: #7f8da0;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.apple-storefront-lines .booking-line-card header .booking-card-subtitle,
.apple-storefront-lines .line-card-advanced header .booking-card-subtitle {
  color: #1d1d1f;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.vehicle-booking-step {
  display: grid;
  gap: 20px;
  padding-block: 8px 12px;
}

.vehicle-booking-step .vehicle-step-heading {
  margin-bottom: 0;
}

.vehicle-dropdown-picker {
  gap: 18px;
}

.vehicle-dropdown-picker .field.full > label {
  margin-bottom: 9px;
}

.finish-upgrade-section > h3,
.exterior-protection-section > h3 {
  margin: 0 0 14px;
  font-size: clamp(23px, 3vw, 31px);
  line-height: 1.04;
  letter-spacing: -.05em;
}

.finish-upgrade-buttons {
  margin-bottom: 22px;
}

.exterior-protection-section {
  display: grid;
  gap: 16px;
}

.exterior-protection-grid,
.exterior-polish-block {
  display: grid;
  gap: 10px;
}

.exterior-polish-kicker {
  color: #7c828d;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.exterior-protection-card {
  width: 100%;
  min-height: 126px;
  padding: 20px;
  border: 1px solid #dfe2e8;
  border-radius: 22px;
  background: #fff;
  color: #1d1d1f;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 17px;
  align-items: start;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 18px 44px rgba(20, 24, 34, .055);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.exterior-protection-card:hover {
  border-color: #c7cad2;
  transform: translateY(-1px);
}

.exterior-protection-card.selected {
  border-color: var(--blue);
  background: #f4f8ff;
  box-shadow: 0 18px 48px rgba(23,104,229,.12);
}

.exterior-protection-card > span {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #f0f2f5;
  color: #1d1d1f;
  display: grid;
  place-items: center;
}

.exterior-protection-card.selected > span {
  background: var(--blue);
  color: #fff;
}

.exterior-protection-card .comparison-feature-icon {
  width: 24px;
  height: 24px;
}

.exterior-protection-card strong {
  display: block;
  font-size: 16px;
  line-height: 1.15;
  letter-spacing: -.02em;
}

.exterior-protection-card p {
  margin: 8px 0 12px;
  color: #686c75;
  font-size: 12px;
  line-height: 1.45;
}

.exterior-protection-card small {
  color: var(--blue);
  font-size: 12px;
  font-weight: 850;
}

.service-comparison-column > header h4 {
  flex-direction: column;
  gap: 2px;
}

.service-comparison-column > header .comparison-tier-label,
.service-comparison-column > header .comparison-tier-subtitle,
.service-comparison-advanced > header .comparison-tier-label,
.service-comparison-advanced > header .comparison-tier-subtitle {
  color: #7f8da0;
  font-weight: 900;
}

.service-comparison-advanced > header h4 {
  color: #1d1d1f;
}

@media (max-width: 760px) {
  .booking-store-page .booking-store-hero {
    padding-top: 12px;
    padding-bottom: 22px;
  }

  .booking-store-page .booking-store-tagline h1 {
    font-size: clamp(18px, 5.05vw, 24px);
    line-height: 1.08;
    letter-spacing: -.032em;
    white-space: normal;
  }

  .booking-store-line-note {
    width: 87.5%;
    margin: -4px auto 18px;
    font-size: 18px;
  }

  .apple-storefront-lines .booking-line-card header.booking-line-title-block {
    min-height: 82px;
    padding-top: 22px;
  }

  .apple-storefront-lines .booking-line-card header h3 {
    font-size: 25px;
    line-height: 1;
  }

  .vehicle-booking-step {
    gap: 16px;
    padding-block: 4px 10px;
  }

  .vehicle-dropdown-picker {
    gap: 14px;
  }

  .service-part-selector-classic,
  .service-part-selector-advanced {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-part-selector-classic button,
  .service-part-selector-advanced button {
    grid-column: 1 / 2;
    min-width: 0;
    width: 100%;
  }

  .service-part-selector button.selected > svg,
  .service-part-selector button.selected::after {
    display: none;
  }

  .finish-upgrade-section > h3,
  .exterior-protection-section > h3 {
    font-size: 22px;
  }

  .finish-upgrade-buttons {
    margin-bottom: 18px;
  }

  .exterior-protection-card {
    min-height: 112px;
    padding: 16px;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 13px;
    border-radius: 19px;
  }

  .exterior-protection-card > span {
    width: 38px;
    height: 38px;
  }

  .exterior-protection-card strong {
    font-size: 14px;
  }

  .exterior-protection-card p {
    font-size: 10px;
  }

  .service-comparison-grid.comparison-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-comparison-grid.comparison-count-2 .service-comparison-column > header {
    min-height: 138px;
  }
}

/* Ajustes solicitados el 19/08: embudo, líneas y exterior avanzado. */
.booking-store-page .booking-store-hero {
  padding-top: 22px;
  padding-bottom: 26px;
}

.booking-store-page .booking-store-tagline h1 {
  font-size: clamp(22px, 3.7vw, 42px);
  line-height: 1.05;
  letter-spacing: -.032em;
  text-align: center;
}

.booking-store-line-note {
  width: min(calc(100% - 48px), 1120px);
  margin: -10px auto 22px;
  color: #1d1d1f;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 750;
  letter-spacing: -.035em;
}

.apple-storefront-lines .booking-line-card header.booking-line-title-block {
  min-height: 70px;
  padding-top: 22px;
}

.apple-storefront-lines .booking-line-card header .booking-card-label,
.apple-storefront-lines .line-card-advanced header .booking-card-label {
  color: #7f8da0;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.apple-storefront-lines .booking-line-card header .booking-card-subtitle,
.apple-storefront-lines .line-card-advanced header .booking-card-subtitle {
  color: #1d1d1f;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.vehicle-booking-step {
  display: grid;
  gap: 22px;
}

.vehicle-booking-step .vehicle-step-heading {
  margin-bottom: 2px;
}

.vehicle-dropdown-picker {
  gap: 18px;
}

.vehicle-dropdown-picker .field.full > label {
  margin-bottom: 9px;
}

.service-part-selector-classic,
.service-part-selector-advanced {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-part-selector-classic button,
.service-part-selector-advanced button {
  width: 100%;
}

.service-part-selector button.selected > svg,
.service-part-selector button.selected::after {
  display: none;
}

.finish-upgrade-section > h3,
.exterior-protection-section > h3 {
  margin: 0 0 14px;
  font-size: clamp(23px, 3vw, 31px);
  line-height: 1.04;
  letter-spacing: -.05em;
}

.finish-upgrade-buttons {
  margin-bottom: 22px;
}

.exterior-protection-section {
  display: grid;
  gap: 16px;
}

.exterior-protection-grid,
.exterior-polish-block {
  display: grid;
  gap: 10px;
}

.exterior-polish-kicker {
  color: #7c828d;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.exterior-protection-card {
  width: 100%;
  min-height: 126px;
  padding: 20px;
  border: 1px solid #dfe2e8;
  border-radius: 22px;
  background: #fff;
  color: #1d1d1f;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 17px;
  align-items: start;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 18px 44px rgba(20, 24, 34, .055);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.exterior-protection-card:hover {
  border-color: #c7cad2;
  transform: translateY(-1px);
}

.exterior-protection-card.selected {
  border-color: var(--blue);
  background: #f4f8ff;
  box-shadow: 0 18px 48px rgba(23,104,229,.12);
}

.exterior-protection-card > span {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #f0f2f5;
  color: #1d1d1f;
  display: grid;
  place-items: center;
}

.exterior-protection-card.selected > span {
  background: var(--blue);
  color: #fff;
}

.exterior-protection-card .comparison-feature-icon {
  width: 24px;
  height: 24px;
}

.exterior-protection-card strong {
  display: block;
  font-size: 16px;
  line-height: 1.15;
  letter-spacing: -.02em;
}

.exterior-protection-card p {
  margin: 8px 0 12px;
  color: #686c75;
  font-size: 12px;
  line-height: 1.45;
}

.exterior-protection-card small {
  color: var(--blue);
  font-size: 12px;
  font-weight: 850;
}

.service-comparison-column > header h4 {
  flex-direction: column;
  gap: 2px;
}

.service-comparison-column > header .comparison-tier-label,
.service-comparison-column > header .comparison-tier-subtitle,
.service-comparison-advanced > header .comparison-tier-label,
.service-comparison-advanced > header .comparison-tier-subtitle {
  color: #7f8da0;
  font-weight: 900;
}

.service-comparison-advanced > header h4 {
  color: #1d1d1f;
}

@media (max-width: 760px) {
  .booking-store-page .booking-store-hero {
    padding-top: 14px;
    padding-bottom: 24px;
  }

  .booking-store-page .booking-store-tagline h1 {
    font-size: clamp(18px, 5vw, 24px);
    white-space: normal;
  }

  .booking-store-line-note {
    width: 87.5%;
    margin: -8px auto 18px;
    font-size: 18px;
  }

  .apple-storefront-lines .booking-line-card header.booking-line-title-block {
    min-height: 74px;
    padding-top: 20px;
  }

  .apple-storefront-lines .booking-line-card header h3 {
    font-size: 26px;
    line-height: 1;
  }

  .vehicle-booking-step {
    gap: 18px;
  }

  .vehicle-dropdown-picker {
    gap: 16px;
  }

  .service-part-selector-classic,
  .service-part-selector-advanced {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-part-selector-classic button,
  .service-part-selector-advanced button {
    grid-column: 1 / 2;
    min-width: 0;
  }

  .finish-upgrade-section > h3,
  .exterior-protection-section > h3 {
    font-size: 22px;
  }

  .finish-upgrade-buttons {
    margin-bottom: 18px;
  }

  .exterior-protection-card {
    min-height: 112px;
    padding: 16px;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 13px;
    border-radius: 19px;
  }

  .exterior-protection-card > span {
    width: 38px;
    height: 38px;
  }

  .exterior-protection-card strong {
    font-size: 14px;
  }

  .exterior-protection-card p {
    font-size: 10px;
  }

  .service-comparison-grid.comparison-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-comparison-grid.comparison-count-2 .service-comparison-column > header {
    min-height: 138px;
  }
}

.service-comparison-grid.comparison-count-2 {
  max-width: 920px;
  margin-inline: auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.line-discovery-deep {
  margin: 0 clamp(18px, 4vw, 54px) 34px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.line-discovery-deep article {
  min-height: 260px;
  padding: 26px;
  border-radius: 28px;
  background: rgba(255, 255, 255, .76);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04);
}

.line-discovery-pro .line-discovery-deep article {
  background: rgba(255, 255, 255, .08);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
}

.line-discovery-deep article > span {
  color: #7a8999;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
}

.line-discovery-pro .line-discovery-deep article > span {
  color: #c9a86a;
}

.line-discovery-deep h3 {
  margin: 70px 0 12px;
  font-size: clamp(25px, 2.8vw, 42px);
  font-weight: 850;
  line-height: .95;
  letter-spacing: -.055em;
}

.line-discovery-deep p {
  margin: 0;
  color: #6e6e73;
  font-size: 15px;
  line-height: 1.48;
}

.line-discovery-pro .line-discovery-deep p {
  color: rgba(245, 245, 247, .66);
}

.line-discovery-footer {
  margin: 0 clamp(18px, 4vw, 54px) 42px;
  padding: 18px 20px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: rgba(255, 255, 255, .82);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .05);
}

.line-discovery-pro .line-discovery-footer {
  background: rgba(255, 255, 255, .08);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
}

.line-discovery-footer span {
  display: block;
  color: #7a8999;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.line-discovery-footer strong {
  display: block;
  margin-top: 2px;
  font-size: 16px;
}

.line-discovery-modal {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.line-discovery-modal > .mateos-footer,
.checkout-page-configuration + .mateos-footer,
.checkout-page-complements + .mateos-footer,
.checkout-page-summary + .mateos-footer {
  flex: 0 0 auto;
  width: 100%;
}

.line-discovery-modal > .mateos-footer {
  margin-top: 0;
}

@media (max-width: 760px) {
  .service-comparison-grid.comparison-count-2 {
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .line-discovery-deep {
    margin: 0 18px 18px;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .line-discovery-deep article {
    min-height: 190px;
    padding: 22px;
  }

  .line-discovery-deep h3 {
    margin-top: 42px;
  }

  .line-discovery-footer {
    margin: 0 18px calc(24px + env(safe-area-inset-bottom));
    border-radius: 22px;
    flex-direction: column;
    align-items: stretch;
  }
}

.line-discovery-copy h3 {
  max-width: 620px;
  margin: 22px 0 0;
  font-size: clamp(28px, 4vw, 54px);
  font-weight: 800;
  line-height: .95;
  letter-spacing: -.045em;
}

@media (max-width: 760px) {
  .line-discovery-copy h3 {
    margin-top: 18px;
    font-size: clamp(28px, 9vw, 42px);
    line-height: 1;
  }
}

/* Configurador 2026-08-11 · líneas, selección directa y checkout lateral */
.booking-line-card { min-height: 610px; padding-top: 0; }
.booking-line-card .booking-line-art { height: 350px; margin: 0 -28px 18px; background: linear-gradient(145deg,#252b33,#090b0e); }
.booking-line-card .booking-line-art > img { object-fit: contain; object-position: center bottom; transform: scale(1.01); filter: saturate(.78) contrast(1.02); }
.booking-line-card:hover .booking-line-art > img { transform: scale(1.045); }
.booking-line-art::after { background: linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.02) 55%,rgba(0,0,0,.56)); }
.booking-line-art-copy { position: absolute; z-index: 2; inset: auto 22px 21px; color: #fff; text-align: left; text-shadow: 0 2px 12px rgba(0,0,0,.45); }
.booking-line-art-copy span,.booking-line-art-copy strong,.booking-line-art-copy small { display: block; }
.booking-line-art-copy span { font-size: 10px; letter-spacing: .8px; }
.booking-line-art-copy strong { margin-top: 2px; font-size: 28px; line-height: 1; letter-spacing: -1.5px; }
.booking-line-art-copy small { margin-top: 5px; font-size: 9px; font-weight: 850; letter-spacing: .6px; }
.booking-line-card .booking-card-actions { padding-top: 19px; }
.booking-line-card .booking-card-choose { display: inline-flex; align-items: center; gap: 2px; }
.booking-line-card .booking-card-choose .icon { width: 15px; height: 15px; }

.continuous-purchase-grid { grid-template-columns: minmax(330px,.78fr) minmax(0,1.22fr); }
.unified-order-column { max-height: calc(100vh - 105px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: #c9cbd1 transparent; border-radius: 28px; }
.unified-order-card { min-height: 100%; }
.unified-order-price { margin-top: 6px; }
.unified-order-price > span { margin-bottom: 2px; }
.unified-order-price > strong { font-size: 20px; font-weight: 650; }

.vehicle-dropdown-picker { display: grid; gap: 14px; }
.vehicle-dropdown-picker select { width: 100%; min-height: 55px; padding: 0 16px; border: 1px solid #d9dbe1; border-radius: 15px; background: #fff; color: var(--ink); font-size: 13px; outline: 0; }
.vehicle-dropdown-picker select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23,104,229,.09); }
.vehicle-brand-model-panel { padding: 16px; border-radius: 19px; background: #f5f5f7; display: grid; grid-template-columns: 175px minmax(0,1fr); align-items: center; gap: 18px; }
.vehicle-selected-logo { min-height: 116px; padding: 14px; border-radius: 15px; background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; text-align: center; }
.vehicle-selected-logo img { width: 126px; height: 58px; object-fit: contain; }
.vehicle-selected-logo small,.vehicle-selected-logo strong { display: block; }
.vehicle-selected-logo small { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .55px; }
.vehicle-selected-logo strong { font-size: 13px; }

.selected-line-banner { min-height: 210px; margin-bottom: 34px; overflow: hidden; position: relative; border-radius: 22px; background: linear-gradient(135deg,#313840,#0a0c0f); color: #fff; }
.selected-line-banner::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.1) 67%,rgba(0,0,0,.35)); }
.selected-line-banner img { position: absolute; inset: 0 0 0 auto; width: 64%; height: 100%; object-fit: contain; object-position: center bottom; }
.selected-line-banner > div { position: absolute; z-index: 1; left: 28px; bottom: 29px; right: 25%; }
.selected-line-banner span,.selected-line-banner strong,.selected-line-banner small { display: block; }
.selected-line-banner span { font-size: 9px; letter-spacing: .8px; }
.selected-line-banner strong { margin-top: 4px; font-size: 31px; line-height: 1; letter-spacing: -1.7px; }
.selected-line-banner small { margin-top: 6px; font-size: 9px; font-weight: 850; letter-spacing: .7px; }
.selected-line-section h3,.finish-upgrade-section h3,.customer-booking-step h3 { font-weight: 400; }
.selected-line-section h3 strong,.finish-upgrade-section h3 strong,.customer-booking-step h3 strong { font-weight: 850; }
.selected-line-section .continuous-config-body > p,.finish-upgrade-section > p,.customer-booking-step > p { margin: -14px 0 22px; color: var(--muted); font-size: 11px; line-height: 1.5; }

.service-part-selector { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.service-part-selector button { min-height: 104px; padding: 17px; border: 1px solid #d8dae0; border-radius: 18px; background: #f1f2f4; color: var(--ink); display: grid; grid-template-columns: 32px minmax(0,1fr) 20px; align-items: center; gap: 12px; text-align: left; cursor: pointer; transition: .18s ease; }
.service-part-selector button:hover { border-color: #b9bdc6; transform: translateY(-1px); }
.service-part-selector button.selected { border-color: var(--blue); background: var(--blue); color: #fff; box-shadow: 0 7px 18px rgba(23,104,229,.18); }
.service-part-selector button > span:first-child { width: 32px; height: 32px; border-radius: 50%; background: #fff; color: var(--blue); display: grid; place-items: center; }
.service-part-selector .icon { width: 16px; height: 16px; }
.service-part-selector button > span:nth-child(2) strong,.service-part-selector button > span:nth-child(2) small { display: block; }
.service-part-selector button > span:nth-child(2) strong { font-size: 13px; }
.service-part-selector button > span:nth-child(2) small { margin-top: 4px; color: #73767d; font-size: 9px; }
.service-part-selector button.selected > span:nth-child(2) small { color: rgba(255,255,255,.72); }
.service-combination-note { margin: 13px 2px 0 !important; color: #676a72 !important; font-size: 9px !important; }

.finish-upgrade-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.finish-upgrade-buttons button { min-height: 43px; padding: 0 19px; border: 0; border-radius: 999px; background: #e8e9ed; color: #33363c; font-size: 12px; font-weight: 760; cursor: pointer; }
.finish-upgrade-buttons button b { margin-left: 4px; }
.finish-upgrade-buttons button.selected { background: var(--blue); color: #fff; box-shadow: 0 7px 17px rgba(23,104,229,.19); }
.finish-included-list { margin-top: 18px; padding: 16px; border-radius: 17px; background: #f5f5f7; display: grid; gap: 8px; }
.finish-included-list > span { display: flex; align-items: center; gap: 9px; color: #34373d; font-size: 10px; }
.finish-included-list > span .icon { width: 15px; height: 15px; color: var(--blue); }
.finish-included-list p { margin: 0; color: var(--muted); font-size: 10px; }
.compact-condition-panel { width: 100%; margin: 0; }

.summary-booking-flow { margin-top: 18px; overflow: hidden; border: 1px solid #d8dae0; border-radius: 18px; background: #fff; }
.summary-availability-toggle { width: 100%; min-height: 66px; padding: 12px 14px; border: 0; background: transparent; color: var(--ink); display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; cursor: pointer; }
.summary-availability-toggle > span { min-width: 0; display: flex; align-items: center; gap: 10px; }
.summary-availability-toggle .icon { width: 18px; height: 18px; color: var(--blue); }
.summary-availability-toggle small,.summary-availability-toggle strong { display: block; }
.summary-availability-toggle small { color: #85878e; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .55px; }
.summary-availability-toggle strong { margin-top: 3px; max-width: 215px; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.summary-availability-toggle > b { width: 28px; height: 28px; border-radius: 50%; background: #eceef2; display: grid; place-items: center; font-size: 18px; font-weight: 450; }
.summary-booking-flow.open .summary-availability-toggle > b { background: var(--blue); color: #fff; }
.summary-schedule-body { padding: 0 13px 14px; border-top: 1px solid #ececef; animation: payment-open .22s ease both; }
.summary-date-strip { padding: 13px 0 9px; display: grid; grid-template-columns: repeat(5,45px); gap: 6px; overflow-x: auto; scrollbar-width: none; }
.summary-date-chip { min-height: 53px; padding: 6px 3px; border: 1px solid #dedfe3; border-radius: 11px; background: #fff; color: var(--ink); cursor: pointer; }
.summary-date-chip span,.summary-date-chip strong { display: block; text-transform: capitalize; }
.summary-date-chip span { color: #85878e; font-size: 7px; font-weight: 800; }
.summary-date-chip strong { margin-top: 4px; font-size: 15px; }
.summary-date-chip.active { border-color: var(--blue); background: var(--blue); color: #fff; }
.summary-date-chip.active span { color: rgba(255,255,255,.74); }
.summary-date-chip:disabled { opacity: .32; }
.summary-slots { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.summary-slots button { min-height: 36px; border: 1px solid #dfe0e4; border-radius: 10px; background: #fff; font-size: 9px; font-weight: 750; cursor: pointer; }
.summary-slots button.selected { border-color: var(--blue); background: var(--blue); color: #fff; }
.summary-slots button:disabled { background: #efeff1; color: #b2b4ba; text-decoration: line-through; }
.summary-slots p,.summary-time-hint { margin: 9px 2px 0; color: var(--muted); font-size: 8px; line-height: 1.4; }
.summary-payment { margin-top: 13px; padding-top: 13px; border-top: 1px solid #e4e5e8; }
.summary-payment-heading strong,.summary-payment-heading small { display: block; }
.summary-payment-heading strong { font-size: 12px; }
.summary-payment-heading small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.summary-payment-methods { margin-top: 10px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.summary-payment-methods button { min-height: 66px; padding: 8px; border: 1px solid #dcdee3; border-radius: 12px; background: #fff; color: var(--ink); text-align: left; cursor: pointer; }
.summary-payment-methods button.selected { border-color: var(--blue); background: #f3f7ff; box-shadow: 0 0 0 2px rgba(23,104,229,.08); }
.summary-payment-methods button > .icon,.summary-payment-methods button > b { width: 18px; height: 18px; margin-bottom: 5px; display: grid; place-items: center; }
.summary-payment-methods button span strong,.summary-payment-methods button span small { display: block; }
.summary-payment-methods button span strong { font-size: 8px; }
.summary-payment-methods button span small { margin-top: 2px; color: var(--muted); font-size: 6.5px; }
.summary-payment-fields { margin-top: 10px; padding: 10px; border-radius: 12px; background: #f4f4f6; display: grid; gap: 7px; }
.summary-payment-fields > div { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.summary-payment-fields label { color: #6d7077; font-size: 7px; font-weight: 750; }
.summary-payment-fields input { width: 100%; min-height: 35px; margin-top: 4px; padding: 0 9px; border: 1px solid #d8dae0; border-radius: 9px; background: #fff; color: var(--ink); font-size: 9px; }
.summary-paypal-plan { margin: 0; color: #60636a; font-size: 8px; }
.summary-total { margin-top: 11px; padding: 10px 1px; border-top: 1px solid #e2e3e6; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.summary-total span,.summary-total small { display: block; }
.summary-total span { font-size: 9px; font-weight: 750; }
.summary-total small { margin-top: 2px; color: var(--muted); font-size: 7px; font-weight: 500; }
.summary-total > strong { font-size: 15px; }
.summary-confirm-button { width: 100%; min-height: 43px; border: 0; border-radius: 999px; background: var(--blue); color: #fff; display: flex; align-items: center; justify-content: center; gap: 7px; font-size: 10px; font-weight: 800; cursor: pointer; }
.summary-confirm-button .icon { width: 14px; height: 14px; }

@media (max-width:760px) {
  .booking-line-card { min-height: 590px; }
  .booking-line-card .booking-line-art { height: 325px; }
  .continuous-purchase-grid { grid-template-columns: 1fr; }
  .continuous-configurator { order: 1; }
  .unified-order-column { order: 2; max-height: none; overflow: visible; }
  .unified-order-card { display: block; }
  .unified-order-card > h3,.unified-order-art,.unified-order-recap,.unified-order-estimate,.unified-order-price { display: block; }
  .unified-order-art { height: 210px; margin: 16px 0; }
  .unified-order-recap { display: grid; }
  .unified-order-estimate { display: flex; }
  .vehicle-brand-model-panel { grid-template-columns: 1fr; }
  .vehicle-selected-logo { min-height: 100px; }
  .selected-line-banner { min-height: 190px; }
  .selected-line-banner > div { left: 20px; bottom: 22px; right: 20px; }
  .selected-line-banner strong { font-size: 26px; }
  .service-part-selector { grid-template-columns: 1fr; }
  .service-condition-extra-panel { grid-template-columns: auto minmax(0,1fr); }
  .service-condition-choice { grid-column: 2; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: #f7f7f8; color: var(--ink); }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
a { color: inherit; }
img { max-width: 100%; }
.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.app-shell { min-height: 100vh; }
.topbar {
  position: sticky; top: 0; z-index: 40;
  border-bottom: 1px solid rgba(0,0,0,.06);
  background: rgba(250,250,251,.82);
  backdrop-filter: saturate(180%) blur(22px);
}
.topbar-inner { max-width: var(--max); height: 70px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; cursor: pointer; min-width: 150px; }
.brand-mark { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; background: var(--ink); color: white; box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); }
.brand-copy { line-height: 1; }
.brand-copy strong { display: block; font-size: 16px; letter-spacing: -.35px; }
.brand-copy span { display: block; margin-top: 5px; font-size: 9px; font-weight: 700; color: var(--muted); letter-spacing: 1.35px; text-transform: uppercase; }
.mode-switch { position: absolute; left: 50%; transform: translateX(-50%); background: #e9e9ec; border: 0; border-radius: 12px; padding: 3px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.mode-switch button { min-width: 110px; padding: 8px 13px; border: 0; border-radius: 9px; background: transparent; font-size: 13px; font-weight: 650; color: #676970; cursor: pointer; transition: .2s ease; }
.mode-switch button.active { background: white; color: var(--ink); box-shadow: 0 1px 6px rgba(0,0,0,.10); }
.topbar-actions { display: flex; align-items: center; gap: 10px; min-width: 150px; justify-content: flex-end; }
.availability-pill { display: flex; align-items: center; gap: 7px; color: #555861; font-size: 12px; white-space: nowrap; }
.availability-pill i { width: 7px; height: 7px; border-radius: 100%; background: #29a36a; box-shadow: 0 0 0 4px #dff5e9; }

.btn { border: 0; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; line-height: 1; cursor: pointer; text-decoration: none; transition: transform .18s ease, background .18s ease, box-shadow .18s ease, opacity .18s ease; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.btn-primary { padding: 14px 22px; background: var(--blue); color: white; box-shadow: 0 8px 18px rgba(23,104,229,.22); }
.btn-primary:hover { background: var(--blue-dark); }
.btn-dark { padding: 14px 22px; background: var(--ink); color: white; }
.btn-light { padding: 13px 20px; background: white; color: var(--ink); box-shadow: 0 1px 0 rgba(0,0,0,.06); }
.btn-outline { padding: 12px 18px; background: transparent; border: 1px solid var(--line); color: var(--ink); }
.btn-ghost { padding: 11px 13px; background: transparent; color: #50525a; }
.btn-danger { padding: 11px 15px; background: var(--red-soft); color: var(--red); }
.btn-small { font-size: 13px; padding: 10px 14px; }
.icon-btn { width: 40px; height: 40px; padding: 0; border-radius: 50%; border: 1px solid var(--line); background: white; display: grid; place-items: center; cursor: pointer; transition: .18s; }
.icon-btn:hover { background: var(--soft); }
.icon { width: 18px; height: 18px; display: inline-block; flex: 0 0 auto; }

.hero-wrap { padding: 14px 16px 0; background: #f7f7f8; }
.hero { max-width: 1440px; min-height: 680px; margin: 0 auto; border-radius: 28px; overflow: hidden; position: relative; color: white; isolation: isolate; background: #111 url("./assets/detailing-hero.png") center/cover no-repeat; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5,8,12,.78) 0%, rgba(5,8,12,.48) 32%, rgba(5,8,12,.08) 62%, rgba(5,8,12,.04) 100%), linear-gradient(0deg, rgba(3,7,12,.38), transparent 45%); }
.hero-content { max-width: var(--max); min-height: 680px; margin: auto; padding: 90px 24px 42px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.eyebrow { font-size: 12px; font-weight: 800; letter-spacing: 1.55px; text-transform: uppercase; }
.hero .eyebrow { color: #b7d5ff; }
.hero h1 { max-width: 660px; margin: 19px 0 20px; font-size: clamp(50px, 6vw, 82px); line-height: .96; letter-spacing: -4.2px; font-weight: 720; }
.hero-lead { max-width: 520px; margin: 0; color: rgba(255,255,255,.82); font-size: 19px; line-height: 1.55; letter-spacing: -.2px; }
.hero-cta { display: flex; align-items: center; gap: 12px; margin-top: 34px; }
.hero .btn-light { padding: 15px 23px; }
.play-link { display: inline-flex; align-items: center; gap: 8px; padding: 12px 4px; color: white; text-decoration: none; font-size: 14px; font-weight: 650; }
.hero-trust { align-self: stretch; margin-top: auto; padding-top: 70px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: rgba(255,255,255,.78); }
.hero-trust-group { display: flex; align-items: center; gap: 22px; }
.trust-item { display: flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 600; }
.rating { font-size: 13px; }
.rating .stars { color: #ffd66b; letter-spacing: 2px; }

.section { max-width: var(--max); margin: 0 auto; padding: 108px 24px; }
.section-tight { padding-top: 70px; padding-bottom: 70px; }
.section-heading { max-width: 690px; margin-bottom: 44px; }
.section-heading.center { margin-left: auto; margin-right: auto; text-align: center; }
.section-heading .eyebrow { color: var(--blue); }
.section-heading h2 { margin: 13px 0 12px; font-size: clamp(36px, 4.5vw, 58px); letter-spacing: -2.7px; line-height: 1.02; }
.section-heading p { margin: 0; font-size: 18px; line-height: 1.55; color: var(--muted); }
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.value-card { min-height: 330px; border-radius: var(--radius); padding: 32px; background: white; overflow: hidden; position: relative; box-shadow: 0 1px 0 rgba(0,0,0,.04); }
.value-card.accent { background: var(--navy); color: white; }
.value-card.soft-blue { background: #e7f1ff; }
.value-icon { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; background: var(--soft); color: var(--blue); }
.value-card.accent .value-icon { background: rgba(255,255,255,.11); color: white; }
.value-card h3 { margin: 38px 0 10px; max-width: 260px; font-size: 25px; line-height: 1.08; letter-spacing: -1px; }
.value-card p { max-width: 290px; margin: 0; color: var(--muted); line-height: 1.55; font-size: 14px; }
.value-card.accent p { color: rgba(255,255,255,.64); }
.value-number { position: absolute; bottom: -26px; right: -2px; color: rgba(23,104,229,.09); font-size: 156px; line-height: 1; letter-spacing: -12px; font-weight: 800; }
.value-card.accent .value-number { color: rgba(255,255,255,.055); }

.booking-zone { background: #ececef; padding: 100px 16px; }
.booking-container { max-width: var(--max); margin: 0 auto; }
.booking-intro { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 34px; }
.booking-intro h2 { max-width: 720px; margin: 10px 0 0; font-size: clamp(38px, 5vw, 62px); line-height: 1; letter-spacing: -3px; }
.booking-intro .eyebrow { color: var(--blue); }
.booking-shell { min-height: 680px; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "steps" "main"; background: white; border-radius: 30px; overflow: hidden; box-shadow: var(--shadow); }
.step-sidebar { grid-area: steps; padding: 25px 30px 21px; background: #fafafa; border-bottom: 1px solid var(--line); }
.step-sidebar-title { display: grid; grid-template-columns: minmax(0,1fr) minmax(210px,280px) auto; align-items: center; gap: 28px; margin-bottom: 20px; }
.reservation-heading span { display: block; margin-bottom: 5px; color: #8b8d94; font-size: 9px; font-weight: 800; letter-spacing: 1.1px; text-transform: uppercase; }
.reservation-heading strong { display: block; color: var(--ink); font-size: 21px; line-height: 1.05; letter-spacing: -.6px; }
.reservation-heading small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; }
.reservation-progress-copy { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; color: #7e8087; font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .65px; }
.reservation-progress-copy strong { color: var(--blue); font-size: 11px; }
.reservation-progress-track { height: 5px; overflow: hidden; border-radius: 999px; background: #e2e4e8; }
.reservation-progress-track i { display: block; height: 100%; border-radius: inherit; background: var(--blue); transition: width .3s ease; }
.progress-ring { font-variant-numeric: tabular-nums; color: var(--blue); }
.steps { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; }
.step-button { min-width: 0; border: 1px solid transparent; background: transparent; padding: 10px 12px; border-radius: 14px; text-align: left; display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 9px; align-items: center; cursor: pointer; color: #989aa1; transition: .18s ease; }
.step-button:hover { background: #f1f2f4; color: #5e6067; }
.step-button .step-index { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; border: 1px solid #d8d8dc; font-size: 11px; font-weight: 750; }
.step-button .step-index .icon { width: 14px; height: 14px; }
.step-copy { min-width: 0; }
.step-button .step-label { display: block; overflow: hidden; color: currentColor; font-size: 12px; font-weight: 720; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.step-copy small { display: block; margin-top: 3px; color: #a0a2a8; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .45px; }
.step-button.active { border-color: #e3e4e8; background: white; color: var(--ink); box-shadow: 0 5px 18px rgba(0,0,0,.055); }
.step-button.active .step-index { background: var(--blue); border-color: var(--blue); color: white; }
.step-button.active .step-copy small { color: var(--blue); }
.step-button.complete { color: #54575e; }
.step-button.complete .step-index { background: var(--green-soft); border-color: transparent; color: var(--green); }
.step-help { min-width: 155px; padding: 11px 14px; border-radius: 13px; background: #f0f1f3; color: #73757c; font-size: 9px; line-height: 1.35; }
.step-help span { display: block; }
.step-help a { display: block; margin-top: 3px; color: var(--ink); font-size: 11px; font-weight: 750; text-decoration: none; }

.booking-main { grid-area: main; width: 100%; max-width: 1120px; margin: 0 auto; padding: 38px 40px 28px; min-width: 0; display: flex; flex-direction: column; }
.booking-step { animation: fade-in .28s ease both; }
@keyframes fade-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.booking-step > .eyebrow { color: var(--blue); }
.booking-step h3 { margin: 8px 0 8px; font-size: 32px; line-height: 1.05; letter-spacing: -1.3px; }
.booking-step > p { margin: 0 0 27px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.service-option { position: relative; min-height: 170px; padding: 21px; border-radius: 18px; border: 1px solid var(--line); background: white; text-align: left; cursor: pointer; transition: .2s ease; }
.service-option:hover { transform: translateY(-2px); border-color: #bdc6d4; box-shadow: var(--shadow-sm); }
.service-option.selected { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23,104,229,.10); background: #fbfdff; }
.service-option .popular-tag { position: absolute; right: 14px; top: 14px; padding: 5px 8px; background: var(--blue-soft); color: var(--blue); border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .6px; }
.service-option .eyebrow { color: #898b92; font-size: 9px; }
.service-option h4 { margin: 15px 0 6px; font-size: 21px; letter-spacing: -.6px; }
.service-option p { margin: 0 0 19px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.service-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.service-price { font-size: 19px; font-weight: 800; }
.service-time { display: flex; align-items: center; gap: 5px; color: #74767e; font-size: 11px; }

.date-strip { display: grid; grid-template-columns: repeat(7, 1fr); gap: 7px; margin-bottom: 24px; }
.date-chip { border: 1px solid var(--line); background: white; border-radius: 14px; padding: 11px 4px 10px; text-align: center; cursor: pointer; transition: .18s; }
.date-chip:hover:not(:disabled) { border-color: #b9c1cd; }
.date-chip.active { background: var(--blue); color: white; border-color: var(--blue); box-shadow: 0 7px 18px rgba(23,104,229,.2); }
.date-chip:disabled { opacity: .35; cursor: not-allowed; }
.date-chip .dow { display: block; font-size: 9px; text-transform: uppercase; letter-spacing: .7px; font-weight: 800; color: #888a91; }
.date-chip.active .dow { color: rgba(255,255,255,.6); }
.date-chip .day { display: block; margin-top: 5px; font-size: 19px; font-weight: 760; }
.date-chip .month { display: block; font-size: 9px; margin-top: 1px; }
.slot-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.slot-heading strong { font-size: 13px; }
.slot-heading span { font-size: 11px; color: var(--muted); }
.slots-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.slot { min-height: 46px; border: 1px solid var(--line); border-radius: 12px; background: white; font-size: 13px; font-weight: 700; cursor: pointer; transition: .18s; }
.slot:hover:not(:disabled) { border-color: var(--blue); color: var(--blue); }
.slot.selected { background: var(--blue); border-color: var(--blue); color: white; }
.slot:disabled { background: #f4f4f5; color: #b2b3b8; cursor: not-allowed; text-decoration: line-through; }
.availability-legend { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 17px; color: var(--muted); font-size: 10px; }
.availability-legend span { display: flex; align-items: center; gap: 5px; }
.availability-legend i { width: 7px; height: 7px; border-radius: 50%; background: #fff; border: 1px solid #afb0b5; }
.availability-legend span:nth-child(2) i { background: var(--blue); border-color: var(--blue); }
.availability-legend span:nth-child(3) i { background: #e2e2e4; border-color: #e2e2e4; }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.form-grid .full { grid-column: 1 / -1; }
.field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.field label { font-size: 11px; font-weight: 750; color: #62646c; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 13px 14px; outline: none; color: var(--ink); transition: .18s; }
.field textarea { min-height: 83px; resize: vertical; line-height: 1.45; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23,104,229,.10); }
.field small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.input-prefix { position: relative; }
.input-prefix span { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); font-size: 12px; color: var(--muted); pointer-events: none; }
.input-prefix input { padding-left: 47px; }
.choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.choice-card { min-height: 95px; border: 1px solid var(--line); border-radius: 14px; background: white; padding: 14px 11px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 8px; cursor: pointer; transition: .18s; }
.choice-card .icon { color: #696b73; }
.choice-card span { font-size: 11px; font-weight: 700; line-height: 1.2; }
.choice-card.selected { border-color: var(--blue); color: var(--blue); background: var(--blue-soft); box-shadow: 0 0 0 2px rgba(23,104,229,.08); }
.choice-card.selected .icon { color: var(--blue); }
.search-select-wrap { position: relative; }
.catalog-meta { display: flex; align-items: center; gap: 6px; margin-top: 8px; color: var(--muted); font-size: 10px; }

.location-form { max-width: 820px; }
.location-step-title { max-width: 660px; font-weight: 400; }
.location-step-title strong { font-weight: 820; }
.location-step-title span { font-weight: 400; }
.booking-step > .location-legal-notice { max-width: 820px; margin: 14px 0 25px; padding: 12px 16px; border-radius: 12px; background: var(--blue); color: #fff; font-size: 11px; font-weight: 700; line-height: 1.45; text-align: center; }
.booking-place-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.booking-place-card { min-height: 92px; padding: 15px; border: 1px solid var(--line); border-radius: 16px; background: #fff; color: var(--ink); display: flex; align-items: flex-start; gap: 11px; text-align: left; cursor: pointer; transition: .2s ease; }
.booking-place-card:hover { transform: translateY(-2px); border-color: #bfc6d1; box-shadow: var(--shadow-sm); }
.booking-place-card > .icon { flex: 0 0 auto; width: 20px; height: 20px; color: #70737b; }
.booking-place-card span { min-width: 0; }
.booking-place-card strong, .booking-place-card small { display: block; }
.booking-place-card strong { font-size: 12px; line-height: 1.25; }
.booking-place-card small { margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.booking-place-card.selected { border-color: var(--blue); background: var(--blue-soft); box-shadow: 0 0 0 3px rgba(23,104,229,.08); }
.booking-place-card.selected > .icon, .booking-place-card.selected strong { color: var(--blue); }
.optional-label { color: #a0a2a8; font-weight: 500; }
.service-conditions-link { width: fit-content; padding: 0; border: 0; background: transparent; color: var(--blue); font-size: 10px; font-weight: 750; text-align: left; cursor: pointer; }
.service-conditions-link:hover, .service-conditions-link:focus-visible { text-decoration: underline; }

.inline-vehicle-picker { max-width: 880px; }
.vehicle-brand-search { position: relative; min-height: 52px; margin-bottom: 14px; padding: 0 15px; border: 1px solid var(--line); border-radius: 15px; background: #f8f8fa; display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 9px; }
.vehicle-brand-search:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23,104,229,.09); background: #fff; }
.vehicle-brand-search > .icon { width: 17px; height: 17px; color: #7b7d84; }
.vehicle-brand-search input { min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 13px; }
.vehicle-brand-search span { color: var(--muted); font-size: 9px; font-weight: 700; }
.vehicle-current-selection { margin-bottom: 14px; padding: 12px 15px; border-radius: 15px; background: var(--navy); color: #fff; display: flex; align-items: center; gap: 14px; }
.vehicle-current-selection img { width: 88px; height: 42px; padding: 5px 8px; border-radius: 10px; background: #fff; object-fit: contain; }
.vehicle-current-selection span, .vehicle-current-selection strong, .vehicle-current-selection small { display: block; }
.vehicle-current-selection span { color: rgba(255,255,255,.48); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .75px; }
.vehicle-current-selection strong { margin-top: 3px; font-size: 15px; }
.vehicle-current-selection small { margin-top: 2px; color: rgba(255,255,255,.65); font-size: 10px; }
.inline-brand-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.inline-brand-tile { min-width: 0; }
.inline-brand-tile.expanded { grid-column: span 2; }
.inline-brand-card { width: 100%; height: 94px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: #fff; display: grid; place-items: center; cursor: pointer; transition: .2s ease; }
.inline-brand-card:hover { transform: translateY(-2px); border-color: #bfc5cf; box-shadow: var(--shadow-sm); }
.inline-brand-card.selected { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23,104,229,.08); }
.inline-brand-card img { display: block; max-width: 112px; width: 100%; height: 52px; object-fit: contain; }
.inline-model-panel { margin-top: 8px; padding: 15px; border-radius: 15px; background: #f2f3f5; animation: fade-in .22s ease both; }
.inline-model-panel label, .inline-model-panel small { display: block; }
.inline-model-panel label { font-size: 11px; font-weight: 800; }
.inline-model-panel small { margin: 3px 0 9px; color: var(--muted); font-size: 9px; }
.inline-model-panel select { width: 100%; padding: 11px 12px; border: 1px solid #d7d9df; border-radius: 11px; background: #fff; color: var(--ink); outline: 0; }
.inline-model-panel select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23,104,229,.09); }

.service-schedule-step { max-width: 900px; }
.booking-howto { margin: 4px 0 28px; padding: 19px 21px; border-radius: 18px; background: var(--navy); color: #fff; }
.booking-howto > span { display: block; color: rgba(255,255,255,.5); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .9px; }
.booking-howto ol { margin: 15px 0 0; padding-left: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.booking-howto li { padding-left: 4px; color: rgba(255,255,255,.65); font-size: 10px; line-height: 1.5; }
.booking-howto li::marker { color: #66a9ff; font-weight: 800; }
.booking-howto strong { display: block; margin-bottom: 3px; color: #fff; font-size: 12px; }
.booking-subsection-heading { margin: 30px 0 13px; display: flex; align-items: center; gap: 12px; }
.booking-subsection-heading > span { width: 32px; height: 32px; flex: 0 0 auto; border-radius: 50%; background: #f0f1f3; color: #777a82; display: grid; place-items: center; font-size: 9px; font-weight: 800; }
.booking-subsection-heading strong, .booking-subsection-heading small { display: block; }
.booking-subsection-heading strong { font-size: 14px; }
.booking-subsection-heading small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.vehicle-length-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.vehicle-length-card { min-height: 62px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; cursor: pointer; transition: .18s ease; }
.vehicle-length-card:hover { border-color: #bfc5cf; }
.vehicle-length-card span { font-size: 11px; font-weight: 720; line-height: 1.3; }
.vehicle-length-card i { width: 22px; height: 22px; flex: 0 0 auto; border: 1px solid #d6d8dd; border-radius: 50%; display: grid; place-items: center; color: #fff; }
.vehicle-length-card i .icon { width: 12px; height: 12px; }
.vehicle-length-card.selected { border-color: var(--blue); background: var(--blue-soft); box-shadow: 0 0 0 3px rgba(23,104,229,.07); }
.vehicle-length-card.selected i { border-color: var(--blue); background: var(--blue); }
.inline-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 11px; }
.inline-service-card { min-height: 225px; padding: 19px; border: 1px solid var(--line); border-radius: 18px; background: #fff; color: var(--ink); display: flex; flex-direction: column; align-items: stretch; text-align: left; cursor: pointer; transition: .2s ease; }
.inline-service-card:hover { transform: translateY(-2px); border-color: #bfc5cf; box-shadow: var(--shadow-sm); }
.inline-service-card.selected { border-color: var(--blue); background: #fbfdff; box-shadow: 0 0 0 3px rgba(23,104,229,.08); }
.service-line-name { color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .8px; text-transform: uppercase; }
.inline-service-card h4 { margin: 9px 0 6px; font-size: 20px; letter-spacing: -.55px; }
.inline-service-card p { margin: 0 0 18px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.inline-service-price { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); }
.inline-service-price span, .inline-service-price small { display: block; }
.inline-service-price span { color: #6e7077; font-size: 10px; }
.inline-service-price strong { color: var(--ink); font-size: 19px; }
.inline-service-price small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.inline-service-select { margin-top: 13px; min-height: 32px; padding: 7px 11px; border-radius: 999px; background: #f0f1f3; color: #555860; display: flex; align-items: center; justify-content: center; gap: 5px; font-size: 10px; font-weight: 800; }
.inline-service-select .icon { width: 12px; height: 12px; }
.inline-service-card.selected .inline-service-select { background: var(--blue); color: #fff; }
.booking-howto.reference-howto { margin: 6px 0 0; padding: 0 0 24px; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); }
.reference-howto h4 { margin: 0 0 20px; font-size: 22px; font-weight: 900; letter-spacing: -.75px; text-transform: uppercase; }
.reference-howto p { margin: 0 0 12px; color: #3f4249; font-size: 10px; line-height: 1.55; }
.reference-howto p:last-child { margin-bottom: 0; }
.reference-howto p > strong { color: var(--ink); }
.reference-howto button { padding: 0; border: 0; background: transparent; color: var(--blue); font: inherit; cursor: pointer; }
.reference-howto button:hover { text-decoration: underline; }
.service-line-navigation { margin: 25px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); align-items: center; gap: 10px; }
.service-line-navigation button { padding: 9px 7px; border: 0; background: transparent; color: #5d82ae; font-size: 10px; cursor: pointer; }
.service-line-navigation button:first-child { text-align: left; }
.service-line-navigation button:last-child { text-align: right; }
.service-line-navigation button.active { color: var(--blue); font-weight: 850; }
.service-tier-navigation { width: min(100%, 860px); margin: 28px auto 0; padding: 6px; border-radius: 20px; background: #f1f1f3; gap: 8px; }
.service-tier-navigation button { min-width: 0; padding: 13px 12px; border-radius: 15px; display: flex; flex-direction: column; align-items: center; gap: 4px; line-height: 1.15; text-align: center !important; }
.service-tier-navigation button.active { background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,.08); }
.service-tier-navigation button span { display: flex; align-items: center; justify-content: center; gap: 5px; }
.service-tier-navigation button small { color: #6e6e73; font-size: 9px; font-weight: 600; }
.service-choice-title { margin: 38px 0 34px; font-size: 25px; font-weight: 400; letter-spacing: -.8px; text-align: center; }
.service-choice-title strong { font-weight: 850; }
.checkout-choice-heading { font-weight: 400 !important; }
.checkout-choice-heading strong { font-weight: 850; }
.reference-service-list { display: flex; flex-direction: column; align-items: center; gap: 34px; }
.reference-service-card { position: relative; width: min(100%, 720px); min-height: 300px; padding: 32px 38px 24px; border: 1px solid transparent; border-radius: 19px; background: #f7f7f8; box-shadow: 0 5px 18px rgba(15,22,34,.04); text-align: center; transition: border-color .18s ease, box-shadow .18s ease; }
.reference-service-card.selected { border-color: transparent; box-shadow: 0 5px 18px rgba(15,22,34,.04); }
.reference-service-selected { display: none; }
.reference-service-selected .icon { width: 12px; height: 12px; }
.reference-service-card > h4 { margin: 0; font-size: 33px; font-weight: 900; line-height: 1; letter-spacing: -2px; }
.pro-badge { display: inline-flex; min-height: 25px; padding: 2px 5px 1px; border-radius: 5px; background: #111216; color: #fff; align-items: center; justify-content: center; font-size: .44em; font-weight: 900; letter-spacing: -.2px; line-height: 1; vertical-align: 17%; }
.service-tier-navigation .pro-badge { min-height: 16px; padding: 1px 4px; font-size: 7px; vertical-align: 0; }
.service-plus { display: inline-grid; width: 32px; height: 32px; margin-left: 4px; border-radius: 50%; background: var(--ink); color: #fff; place-items: center; font-size: 29px; font-weight: 400; line-height: 30px; vertical-align: 3px; }
.reference-service-kicker { display: block; margin-top: 14px; font-size: 10px; letter-spacing: .8px; text-transform: uppercase; }
.reference-service-card > p { max-width: 570px; margin: 20px auto 0; color: #4f5259; font-size: 10px; line-height: 1.55; }
.reference-service-card > p strong { color: var(--ink); }
.reference-availability-link { display: none; }
.reference-availability-link:hover { text-decoration: underline; }
.reference-service-price { margin-top: 12px; }
.reference-service-price span, .reference-service-price small { display: block; }
.reference-service-price span { color: #5c5e65; font-size: 9px; }
.reference-service-price strong { color: var(--ink); font-size: 15px; }
.reference-service-price small { margin-top: 3px; color: #696c73; font-size: 7px; }
.package-select-button { min-width: 230px; min-height: 43px; margin: 19px auto 0; padding: 10px 22px; border: 0; border-radius: 999px; background: #e7e8eb; color: #202126; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 12px; font-weight: 850; cursor: pointer; transition: transform .18s ease, background .18s ease, color .18s ease; }
.package-select-button:hover { transform: translateY(-1px); background: #dfe1e5; }
.package-select-button.chosen { background: var(--blue); color: #fff; }
.package-select-button .icon { width: 15px; height: 15px; }
.reference-service-actions { margin-top: 17px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.reference-service-actions button { min-height: 42px; padding: 10px 14px; border: 0; border-radius: 8px; color: #fff; font-size: 13px; font-weight: 800; cursor: pointer; transition: transform .18s ease, filter .18s ease; }
.reference-service-actions button:hover { transform: translateY(-1px); filter: brightness(1.04); }
.reference-pay-full { background: #0a84ff; }
.reference-pay-deposit { background: #24242b; }
.package-more-info { max-width: 590px; margin: 18px auto 0; padding: 16px 18px; border-top: 1px solid #dddfe3; color: #3f4249; text-align: left; animation: payment-open .22s ease both; }
.package-more-info > strong { display: block; color: var(--ink); font-size: 11px; }
.package-more-info ul { margin: 10px 0 8px; padding-left: 18px; font-size: 10px; line-height: 1.65; }
.package-more-info small { color: var(--blue); font-size: 9px; font-weight: 750; }
.booking-schedule-section { margin-top: 52px; padding-top: 5px; border-top: 1px solid var(--line); scroll-margin-top: 90px; }
.privacy-check { padding: 13px 14px; border-radius: 12px; background: #f7f7f8; display: flex; flex-direction: row; align-items: center; gap: 9px; font-size: 10px !important; font-weight: 600 !important; line-height: 1.4; }
.privacy-check input { width: 16px; height: 16px; flex: 0 0 auto; accent-color: var(--blue); }
.payment-demo-note { margin: 13px 2px 0 !important; color: var(--muted); font-size: 10px !important; }

.payment-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.payment-card { border: 1px solid var(--line); border-radius: 16px; padding: 19px; background: white; cursor: pointer; text-align: left; position: relative; }
.payment-card.selected { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23,104,229,.09); }
.payment-card .radio { position: absolute; right: 16px; top: 17px; width: 18px; height: 18px; border: 1px solid #c6c7cc; border-radius: 50%; }
.payment-card.selected .radio { border: 5px solid var(--blue); }
.payment-card strong { display: block; font-size: 14px; }
.payment-card .amount { display: block; margin: 10px 0 4px; font-size: 25px; letter-spacing: -1px; font-weight: 800; }
.payment-card small { color: var(--muted); font-size: 10px; line-height: 1.35; }
.fake-card { margin-top: 15px; padding: 15px; border: 1px solid var(--line); border-radius: 16px; background: #fafafa; }
.fake-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 13px; }
.fake-card-header strong { font-size: 11px; }
.secure-note { display: flex; align-items: center; gap: 5px; color: var(--green); font-size: 9px; font-weight: 700; }
.fake-card .form-grid { gap: 10px; }
.fake-card .field input { padding: 10px 11px; background: white; font-size: 12px; }

.standalone-schedule { margin-top: 22px; border-top: 0; }
.customer-data-section, .checkout-section { margin-top: 58px; padding-top: 34px; border-top: 1px solid var(--line); }
.addons-section { margin-top: 62px; padding-top: 34px; border-top: 1px solid var(--line); scroll-margin-top: 80px; }
.addons-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 11px; }
.addon-card { min-height: 158px; padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: #fff; color: var(--ink); display: flex; flex-direction: column; align-items: flex-start; text-align: left; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.addon-card:hover { transform: translateY(-1px); border-color: #b2bac6; }
.addon-card.selected { border-color: var(--blue); background: #fbfdff; box-shadow: 0 0 0 3px rgba(23,104,229,.08); }
.addon-check { width: 29px; height: 29px; border-radius: 50%; background: #f0f1f3; color: #656870; display: grid; place-items: center; }
.addon-check .icon { width: 15px; height: 15px; }
.addon-card.selected .addon-check { background: var(--blue); color: #fff; }
.addon-card strong { margin-top: 15px; font-size: 12px; line-height: 1.25; }
.addon-card p { min-height: 36px; margin: 6px 0 12px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.addon-card small { margin-top: auto; color: var(--blue); font-size: 11px; font-weight: 850; }
.addons-premium-section { background: #f5f5f7; border-radius: 30px; padding: 76px 0 56px; overflow: hidden; }
.addons-premium-section .continuous-config-body { width: 100%; }
.addons-premium-heading { max-width: 760px; margin: 0 auto 44px; padding: 0 32px; text-align: center; }
.addons-premium-heading h3 { margin: 0; font-size: clamp(30px, 4vw, 54px); line-height: 1.08; letter-spacing: -.045em; font-weight: 400; }
.addons-premium-heading h3 strong { color: var(--ink); font-weight: 850; }
.addons-premium-heading h3 span { color: #86868b; }
.addons-carousel-shell { position: relative; }
.addons-carousel { display: flex; gap: 20px; overflow-x: auto; padding: 0 32px 18px; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.addons-carousel::-webkit-scrollbar { display: none; }
.addon-carousel-card { flex: 0 0 min(520px, calc(76vw - 20px)); min-height: 540px; display: flex; flex-direction: column; scroll-snap-align: start; border-radius: 28px; background: #fff; overflow: hidden; color: var(--ink); transition: transform .2s ease, box-shadow .2s ease; }
.addon-carousel-card.selected { box-shadow: 0 0 0 3px rgba(23,104,229,.15); }
.addon-card-visual { min-height: 260px; display: grid; place-items: center; background: #f2f2f7; color: #b5b5bb; font-size: 50px; font-weight: 800; letter-spacing: -.05em; }
.addon-card-visual img { width: 100%; height: 100%; object-fit: cover; }
.addon-card-visual video { width: 100%; height: 100%; object-fit: cover; }

/* Complementos: tarjetas editoriales compactas preparadas para vídeo. */
.addons-premium-section {
  padding: 42px 0 48px;
  border-radius: 0;
  background: #f5f5f7;
}

.addons-premium-heading {
  max-width: 820px;
  margin-bottom: 26px;
  text-align: left;
}

.addons-premium-heading h3 {
  max-width: 560px;
  font-size: clamp(28px, 3.4vw, 44px);
}

.addons-carousel {
  width: min(100% - 48px, 820px);
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  overflow: visible;
}

.addon-showcase-card {
  position: relative;
  min-height: clamp(310px, 42vw, 430px);
  border-radius: 20px;
  background: #e9e9ee;
  overflow: hidden;
  isolation: isolate;
}

.addon-showcase-card .addon-card-visual {
  position: absolute;
  inset: 0;
  min-height: 0;
  background: linear-gradient(145deg, #e3e3e8, #f7f7f9);
  color: #b7b7bf;
  font-size: clamp(42px, 7vw, 68px);
}

.addon-showcase-card .addon-card-visual::after {
  content: '';
  position: absolute;
  inset: 35% 0 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, .62));
  opacity: 0;
  transition: opacity .2s ease;
}

.addon-showcase-card.has-media .addon-card-visual::after { opacity: 1; }

.addon-showcase-card .addon-card-content {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  min-height: 0;
  padding: 18px;
  color: #1d1d1f;
}

.addon-showcase-card.has-media .addon-card-content { color: #fff; }
.addon-card-index { display: block; margin-bottom: 5px; font-size: 10px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; opacity: .78; }
.addon-showcase-card .addon-card-content h4 { margin: 0; max-width: 94%; font-size: clamp(17px, 2.4vw, 22px); line-height: 1.08; letter-spacing: -.035em; }
.addon-showcase-card .addon-card-short { margin: 7px 0 0; max-width: 96%; color: inherit; font-size: 13px; line-height: 1.32; opacity: .8; }
.addon-showcase-card .addon-variant-label { color: inherit; opacity: .78; }
.addon-showcase-card .addon-variant-select { min-height: 38px; margin-top: 5px; border-color: rgba(29,29,31,.2); font-size: 12px; }
.addon-showcase-card.has-media .addon-variant-select { border-color: rgba(255,255,255,.52); background: rgba(255,255,255,.94); }
.addon-showcase-card .addon-card-footer { margin-top: 14px; padding-top: 0; }
.addon-showcase-card .addon-card-footer strong { font-size: 18px; }
.addon-showcase-card .addon-card-cta { min-height: 38px; padding: 0 15px; font-size: 13px; }
.addon-showcase-card.selected { box-shadow: 0 0 0 3px rgba(23,104,229,.25); }
.addon-showcase-card.selected .addon-card-cta { background: #fff; color: var(--blue); }

@media (max-width: 680px) {
  .addons-premium-section { padding: 32px 0 36px; }
  .addons-premium-heading { margin-bottom: 20px; padding-inline: 20px; }
  .addons-premium-heading h3 { font-size: 29px; }
  .addons-carousel { width: calc(100% - 32px); gap: 10px; }
  .addon-showcase-card { min-height: 300px; border-radius: 16px; }
  .addon-showcase-card .addon-card-content { padding: 14px; }
  .addon-showcase-card .addon-card-content h4 { font-size: 17px; }
  .addon-showcase-card .addon-card-short { font-size: 12px; }
  .addon-showcase-card .addon-card-footer strong { font-size: 17px; }
  .addon-showcase-card .addon-card-cta { min-height: 36px; padding-inline: 12px; font-size: 12px; }
}
.addon-card-content { display: flex; flex: 1; flex-direction: column; padding: 28px 30px 30px; }
.addon-card-content h4 { margin: 0; font-size: 25px; line-height: 1.12; letter-spacing: -.025em; }
.addon-card-short { margin: 12px 0 0; color: #444; font-size: 16px; line-height: 1.4; }
.addon-card-long { margin: 10px 0 0; color: #6e6e73; font-size: 14px; line-height: 1.45; }
.addon-variant-label { margin-top: 20px; color: #6e6e73; font-size: 12px; font-weight: 700; }
.addon-variant-select { width: 100%; min-height: 46px; margin-top: 7px; padding: 0 14px; border: 1px solid #b7b7bd; border-radius: 12px; background: #fff; color: var(--ink); font-size: 14px; }
.addon-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 25px; }
.addon-card-footer strong { font-size: 23px; }
.addon-card-cta { min-height: 44px; padding: 0 21px; border: 0; border-radius: 999px; background: var(--blue); color: #fff; font-size: 15px; font-weight: 750; cursor: pointer; }
.addon-card-cta:hover { filter: brightness(.95); }
.addons-carousel-dots { display: flex; justify-content: center; gap: 8px; margin-top: 17px; }
.addons-carousel-dots span { width: 7px; height: 7px; border-radius: 50%; background: #c7c7cc; transition: transform .2s ease, background .2s ease; }
.addons-carousel-dots span.active { background: var(--blue); transform: scale(1.25); }
.addons-premium-section .checkout-page-actions { justify-content: center; margin-top: 46px; }
@media (max-width: 680px) {
  .addons-premium-section { border-radius: 24px; padding: 52px 0 38px; }
  .addons-premium-heading { margin-bottom: 30px; padding: 0 24px; text-align: left; }
  .addons-premium-heading h3 { font-size: 34px; }
  .addons-carousel { gap: 14px; padding-inline: 20px; }
  .addon-carousel-card { flex-basis: calc(86vw - 14px); min-height: 490px; border-radius: 22px; }
  .addon-card-visual { min-height: 205px; }
  .addon-card-content { padding: 23px 22px 24px; }
  .addon-card-content h4 { font-size: 22px; }
  .addon-card-short { font-size: 15px; }
  .addon-card-footer strong { font-size: 21px; }
  .addons-premium-section .checkout-page-actions { margin-top: 34px; padding-inline: 20px; }
}
.addons-cart { margin-top: 14px; padding: 17px 18px; border-radius: 17px; background: #f2f3f5; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 20px; }
.addons-cart span, .addons-cart small { display: block; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .55px; }
.addons-cart strong { display: block; margin-top: 4px; overflow: hidden; font-size: 10px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.addons-cart b { display: block; margin-top: 4px; font-size: 18px; }
.addons-cart button { min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--blue); color: #fff; display: inline-flex; align-items: center; gap: 8px; font-size: 10px; font-weight: 800; cursor: pointer; }
.addons-cart button .icon { width: 14px; height: 14px; }
.customer-form-grid { grid-template-columns: 1fr 1fr; }
.checkout-method-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.checkout-proof { width: 100%; margin: 4px 0 24px; padding: 23px 20px 21px; border-radius: 18px; background: #f7f7f8; }
.checkout-proof > p { font-size: clamp(13px, 1.4vw, 17px); }
.checkout-proof .mateos-partners { margin-top: 18px; }
.checkout-selection-required { min-height: 128px; padding: 22px; border: 1px solid #dfe1e5; border-radius: 18px; background: #f7f7f8; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 15px; }
.checkout-selection-required > .icon { width: 28px; height: 28px; color: var(--blue); }
.checkout-selection-required strong { display: block; font-size: 14px; }
.checkout-selection-required p { margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.checkout-selection-required button { min-height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--blue); color: #fff; font-size: 10px; font-weight: 800; cursor: pointer; }
.checkout-method { min-height: 126px; padding: 17px 14px; border: 1px solid var(--line); border-radius: 17px; background: #fff; color: var(--ink); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; text-align: left; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.checkout-method:hover { transform: translateY(-1px); border-color: #aeb7c4; }
.checkout-method.selected { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23,104,229,.08); }
.checkout-method-icon { width: 36px; height: 32px; display: grid; place-items: center; color: #30333a; }
.checkout-method-icon .icon { width: 29px; height: 29px; }
.checkout-method strong { margin-top: 3px; font-size: 13px; }
.checkout-method small { color: var(--muted); font-size: 9px; }
.bizum-mark, .paypal-mark { display: inline-grid; place-items: center; font-weight: 900; font-style: italic; }
.bizum-mark { border-radius: 9px; background: #05a6a6; color: #fff; }
.paypal-mark { color: #0671c9; font-family: Arial, sans-serif; font-size: 27px; }
.payment-method-detail { margin-top: 15px; animation: payment-open .22s ease both; }
@keyframes payment-open { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.payment-message { min-height: 84px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: #fafafa; display: flex; align-items: center; gap: 15px; }
.payment-message > span { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; }
.payment-message > span .icon { width: 25px; height: 25px; }
.payment-message strong { display: block; font-size: 12px; }
.payment-message p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.payment-method-form { padding: 17px 18px; border: 1px solid var(--line); border-radius: 16px; background: #fafafa; display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.7fr); align-items: center; gap: 24px; }
.payment-method-form-copy { display: flex; align-items: center; gap: 14px; }
.payment-method-form-copy > span { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 11px; }
.payment-method-form-copy strong { display: block; font-size: 12px; }
.payment-method-form-copy p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.payment-method-menu-body { min-width: 0; display: grid; gap: 12px; }
.payment-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px; }
.payment-plan-grid span, .deposit-payment-summary span { padding: 10px; border: 1px solid #e0e2e6; border-radius: 11px; background: #fff; }
.payment-plan-grid small, .payment-plan-grid strong, .deposit-payment-summary small, .deposit-payment-summary strong { display: block; }
.payment-plan-grid small, .deposit-payment-summary small { color: var(--muted); font-size: 8px; }
.payment-plan-grid strong, .deposit-payment-summary strong { margin-top: 3px; font-size: 11px; }
.deposit-menu-icon { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 11px; background: #eef1f6; color: var(--blue); display: grid; place-items: center; }
.deposit-menu-icon .icon { width: 21px; height: 21px; }
.deposit-payment-summary { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.checkout-breakdown { margin: 17px 0 12px; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: #fff; }
.checkout-breakdown > div { min-height: 43px; padding: 11px 17px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.checkout-breakdown > div:last-child { border-bottom: 0; }
.checkout-breakdown span { color: #696c73; font-size: 10px; }
.checkout-breakdown strong { font-size: 11px; }
.checkout-breakdown .travel-line.free span, .checkout-breakdown .travel-line.free strong { color: #188358; }
.checkout-breakdown .checkout-grand-total { min-height: 72px; background: #f2f3f5; }
.checkout-grand-total > span, .checkout-grand-total > strong { color: var(--ink); font-size: 12px; }
.checkout-grand-total > strong { font-size: 24px; letter-spacing: -.8px; text-align: right; }
.checkout-grand-total small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; font-weight: 500; letter-spacing: 0; }
.checkout-total { margin: 16px 0 12px; padding: 17px 19px; border-radius: 16px; background: #f2f3f5; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 2px 20px; }
.checkout-total span { color: var(--muted); font-size: 10px; }
.checkout-total strong { grid-column: 2; grid-row: 1 / span 2; font-size: 27px; letter-spacing: -1px; }
.checkout-total small { color: #777a81; font-size: 9px; }

.booking-actions { margin-top: auto; padding-top: 28px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.booking-actions .step-count { color: var(--muted); font-size: 11px; }
.booking-actions-right { display: flex; gap: 8px; }
.booking-summary { grid-area: summary; padding: 34px 25px 28px; background: var(--navy); color: white; display: flex; flex-direction: column; }
.summary-top { display: flex; align-items: center; justify-content: space-between; }
.summary-top span { font-size: 10px; text-transform: uppercase; letter-spacing: 1px; font-weight: 800; color: rgba(255,255,255,.5); }
.summary-status { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.48); font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .55px; }
.summary-live { width: 7px; height: 7px; background: #41d991; border-radius: 50%; box-shadow: 0 0 0 5px rgba(65,217,145,.1); }
.summary-car { height: 112px; display: grid; place-items: center; margin: 17px -8px 10px; color: rgba(255,255,255,.78); }
.summary-car svg { width: 145px; height: auto; }
.summary-service { padding-bottom: 19px; border-bottom: 1px solid rgba(255,255,255,.1); }
.summary-service .mini-label { color: rgba(255,255,255,.48); font-size: 9px; text-transform: uppercase; letter-spacing: .8px; }
.summary-service h4 { margin: 7px 0 6px; font-size: 22px; letter-spacing: -.6px; }
.summary-service p { margin: 0; color: rgba(255,255,255,.56); font-size: 11px; line-height: 1.4; }
.summary-lines { display: flex; flex-direction: column; gap: 12px; padding: 20px 0; }
.summary-line { display: grid; grid-template-columns: 23px 1fr; align-items: start; gap: 9px; color: rgba(255,255,255,.8); }
.summary-line .icon { width: 15px; height: 15px; color: rgba(255,255,255,.46); }
.summary-line span { font-size: 11px; line-height: 1.35; }
.summary-line span small { display: block; margin-bottom: 2px; color: rgba(255,255,255,.38); font-size: 8px; font-weight: 750; text-transform: uppercase; letter-spacing: .55px; }
.summary-total { margin-top: auto; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); display: flex; align-items: flex-end; justify-content: space-between; }
.summary-total span { color: rgba(255,255,255,.5); font-size: 10px; }
.summary-total strong { display: block; margin-top: 5px; font-size: 30px; letter-spacing: -1.5px; }
.summary-total small { color: rgba(255,255,255,.42); font-size: 9px; }

.confirmation { padding: 34px 15px; text-align: center; }
.confirmation-icon { width: 78px; height: 78px; margin: 0 auto 22px; border-radius: 50%; display: grid; place-items: center; background: var(--green-soft); color: var(--green); }
.confirmation-icon .icon { width: 34px; height: 34px; }
.confirmation h3 { margin: 0 0 8px; font-size: 35px; letter-spacing: -1.4px; }
.confirmation > p { max-width: 440px; margin: 0 auto; color: var(--muted); line-height: 1.5; font-size: 14px; }
.confirmation-code { margin: 24px auto; width: fit-content; padding: 13px 21px; background: #f3f4f6; border: 1px dashed #c7c9d0; border-radius: 12px; }
.confirmation-code span { display: block; font-size: 9px; color: var(--muted); text-transform: uppercase; letter-spacing: .9px; }
.confirmation-code strong { display: block; margin-top: 5px; font-size: 19px; letter-spacing: 1.4px; }
.confirmation-details { max-width: 470px; margin: 0 auto 25px; display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; text-align: left; }
.confirmation-detail { padding: 13px; background: #fafafa; border-radius: 11px; }
.confirmation-detail span { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .5px; }
.confirmation-detail strong { display: block; margin-top: 5px; font-size: 12px; }

.coverage { background: var(--navy); color: white; }
.coverage .section { padding-top: 95px; padding-bottom: 95px; }
.coverage-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 70px; align-items: center; }
.coverage h2 { margin: 12px 0 17px; font-size: clamp(40px, 4.8vw, 62px); line-height: 1; letter-spacing: -3px; }
.coverage p { color: rgba(255,255,255,.58); line-height: 1.6; }
.coverage-map { min-height: 430px; border-radius: 28px; position: relative; overflow: hidden; background: radial-gradient(circle at 65% 30%, rgba(42,120,224,.38), transparent 28%), linear-gradient(145deg, #142945, #0c1727 60%); border: 1px solid rgba(255,255,255,.08); }
.map-grid { position: absolute; inset: 0; opacity: .15; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 38px 38px; transform: perspective(500px) rotateX(55deg) scale(1.7); transform-origin: 50% 100%; }
.map-area { position: absolute; width: 230px; height: 270px; left: 50%; top: 50%; transform: translate(-50%,-50%) rotate(7deg); border: 2px solid rgba(85,159,255,.45); background: rgba(20,104,219,.14); border-radius: 42% 58% 52% 48% / 33% 44% 56% 67%; box-shadow: 0 0 65px rgba(37,121,231,.2); }
.map-pin { position: absolute; display: flex; align-items: center; gap: 6px; font-size: 9px; font-weight: 750; color: rgba(255,255,255,.74); }
.map-pin::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #66a9ff; box-shadow: 0 0 0 5px rgba(102,169,255,.13); }
.municipality-cloud { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 26px; }
.municipality-cloud span { padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.075); color: rgba(255,255,255,.7); font-size: 10px; }

.footer { padding: 38px 24px; background: #f7f7f8; }
.footer-inner { max-width: var(--max); margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 25px; color: var(--muted); font-size: 11px; }
.footer-links { display: flex; gap: 18px; }

/* Admin */
.admin-page { min-height: calc(100vh - 70px); background: #f4f4f6; }
.admin-hero { background: var(--navy); color: white; }
.admin-hero-inner { max-width: var(--max); margin: auto; padding: 46px 24px 102px; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.admin-hero h1 { margin: 9px 0 8px; font-size: 42px; letter-spacing: -2px; }
.admin-hero p { margin: 0; color: rgba(255,255,255,.55); font-size: 14px; }
.admin-date { color: rgba(255,255,255,.58); text-align: right; font-size: 12px; line-height: 1.5; }
.admin-layout { max-width: var(--max); margin: -64px auto 0; padding: 0 24px 70px; position: relative; }
.stat-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.stat-card { min-height: 142px; padding: 22px; background: white; border-radius: 18px; box-shadow: var(--shadow-sm); }
.stat-head { display: flex; align-items: center; justify-content: space-between; color: var(--muted); }
.stat-head span { font-size: 10px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }
.stat-head .icon { width: 16px; height: 16px; }
.stat-value { display: block; margin: 21px 0 4px; font-size: 30px; line-height: 1; letter-spacing: -1.4px; }
.stat-detail { color: var(--muted); font-size: 10px; }
.stat-detail.positive { color: var(--green); }
.admin-tabs { margin-top: 27px; display: flex; gap: 6px; border-bottom: 1px solid #dedee2; }
.admin-tab { padding: 13px 15px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #787a82; font-size: 13px; font-weight: 700; cursor: pointer; }
.admin-tab.active { color: var(--ink); border-bottom-color: var(--ink); }
.admin-panel { padding-top: 22px; }
.panel-card { background: white; border-radius: 20px; box-shadow: 0 1px 0 rgba(0,0,0,.04); overflow: hidden; }
.panel-header { min-height: 76px; padding: 18px 22px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.panel-title h2 { margin: 0; font-size: 18px; letter-spacing: -.5px; }
.panel-title p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.panel-tools { display: flex; align-items: center; gap: 8px; }
.search-box { min-width: 245px; position: relative; }
.search-box .icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #8d8f96; width: 15px; height: 15px; }
.search-box input { width: 100%; padding: 10px 12px 10px 37px; border-radius: 10px; border: 1px solid var(--line); outline: none; font-size: 12px; }
.search-box input:focus { border-color: var(--blue); }
.filter-select { padding: 10px 28px 10px 11px; border: 1px solid var(--line); border-radius: 10px; background: white; font-size: 11px; }
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 880px; }
.data-table th { padding: 12px 18px; background: #fafafa; color: #8a8c93; text-align: left; font-size: 9px; text-transform: uppercase; letter-spacing: .7px; border-bottom: 1px solid var(--line); }
.data-table td { padding: 16px 18px; border-bottom: 1px solid #ededf0; font-size: 11px; vertical-align: middle; }
.data-table tbody tr { transition: .15s; }
.data-table tbody tr:hover { background: #fcfcfd; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.customer-cell { display: flex; align-items: center; gap: 10px; }
.avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--blue-soft); color: var(--blue); display: grid; place-items: center; font-size: 10px; font-weight: 800; }
.customer-cell strong, .vehicle-cell strong { display: block; font-size: 11px; }
.customer-cell span, .vehicle-cell span { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.status-badge { display: inline-flex; align-items: center; gap: 5px; padding: 6px 8px; border-radius: 999px; font-size: 9px; font-weight: 750; }
.status-badge::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.status-confirmed { background: var(--green-soft); color: var(--green); }
.status-pending { background: var(--amber-soft); color: var(--amber); }
.status-completed { background: var(--blue-soft); color: var(--blue); }
.status-cancelled { background: var(--red-soft); color: var(--red); }
.row-actions { display: flex; justify-content: flex-end; gap: 4px; }
.row-actions .icon-btn { width: 31px; height: 31px; border: 0; background: transparent; }
.row-actions .icon-btn:hover { background: var(--soft); }
.empty-state { padding: 70px 20px; text-align: center; color: var(--muted); }
.empty-state .icon { width: 34px; height: 34px; margin-bottom: 12px; color: #b3b5bc; }
.empty-state strong { display: block; color: var(--ink); }
.empty-state p { margin: 6px 0 0; font-size: 11px; }

.schedule-grid { display: grid; grid-template-columns: 1.45fr .8fr; gap: 18px; }
.schedule-calendar { padding: 22px; }
.calendar-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.calendar-toolbar h3 { margin: 0; font-size: 16px; }
.calendar-nav { display: flex; gap: 5px; }
.calendar-nav .icon-btn { width: 32px; height: 32px; }
.week-grid { display: grid; grid-template-columns: 60px repeat(7,1fr); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.week-corner, .week-day { min-height: 48px; background: #fafafa; border-bottom: 1px solid var(--line); }
.week-corner { border-right: 1px solid var(--line); }
.week-day { padding: 8px 4px; text-align: center; border-right: 1px solid var(--line); }
.week-day:last-child { border-right: 0; }
.week-day span { display: block; color: var(--muted); font-size: 8px; text-transform: uppercase; }
.week-day strong { display: block; margin-top: 4px; font-size: 13px; }
.week-day.today strong { width: 24px; height: 24px; line-height: 24px; margin: 2px auto 0; border-radius: 50%; background: var(--blue); color: white; }
.week-time { min-height: 62px; display: flex; justify-content: center; padding-top: 9px; color: var(--muted); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 8px; }
.week-cell { min-height: 62px; padding: 3px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; }
.week-cell:nth-child(8n) { border-right: 0; }
.week-event { height: 100%; min-height: 54px; padding: 6px; border-radius: 7px; background: var(--blue-soft); border-left: 3px solid var(--blue); color: #1859b9; overflow: hidden; font-size: 8px; line-height: 1.25; }
.week-event strong { display: block; font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.week-event.blocked { background: repeating-linear-gradient(135deg,#f1f1f3,#f1f1f3 5px,#e7e7ea 5px,#e7e7ea 10px); border-left-color: #9698a0; color: #6e7078; }
.block-panel { padding: 22px; }
.block-panel h3 { margin: 0 0 5px; font-size: 17px; }
.block-panel > p { margin: 0 0 20px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.block-form { display: grid; gap: 11px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.block-form .field input { padding: 11px; font-size: 11px; }
.block-list { margin-top: 17px; display: flex; flex-direction: column; gap: 8px; max-height: 400px; overflow-y: auto; }
.block-item { padding: 11px; border-radius: 11px; background: #f7f7f8; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.block-item strong { display: block; font-size: 10px; }
.block-item span { display: block; margin-top: 4px; color: var(--muted); font-size: 8px; }
.block-item .icon-btn { width: 28px; height: 28px; background: transparent; border: 0; }

.service-admin-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 15px; }
.service-admin-card { background: white; border-radius: 18px; padding: 22px; box-shadow: 0 1px 0 rgba(0,0,0,.04); }
.service-admin-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.service-admin-head h3 { margin: 5px 0 0; font-size: 20px; letter-spacing: -.6px; }
.service-admin-card > p { color: var(--muted); font-size: 11px; line-height: 1.45; min-height: 34px; }
.service-admin-fields { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 17px; }
.service-admin-fields input { min-width: 0; }
.switch { position: relative; display: inline-flex; width: 39px; height: 23px; }
.switch input { opacity: 0; width: 0; height: 0; }
.switch-track { position: absolute; inset: 0; background: #cfcfd4; border-radius: 999px; cursor: pointer; transition: .2s; }
.switch-track::after { content: ""; position: absolute; width: 19px; height: 19px; left: 2px; top: 2px; border-radius: 50%; background: white; box-shadow: 0 1px 5px rgba(0,0,0,.2); transition: .2s; }
.switch input:checked + .switch-track { background: var(--green); }
.switch input:checked + .switch-track::after { transform: translateX(16px); }
.settings-layout { display: grid; grid-template-columns: 1fr 310px; gap: 18px; }
.settings-form { padding: 25px; }
.settings-form h3, .settings-side h3 { margin: 0 0 5px; font-size: 17px; }
.settings-form > p, .settings-side > p { margin: 0 0 22px; color: var(--muted); font-size: 10px; }
.settings-side { padding: 24px; align-self: start; }
.preview-card { padding: 20px; border-radius: 15px; background: var(--navy); color: white; }
.preview-card .brand-mark { background: white; color: var(--ink); }
.preview-card h4 { margin: 22px 0 8px; font-size: 20px; letter-spacing: -.6px; }
.preview-card p { margin: 0; color: rgba(255,255,255,.55); font-size: 10px; line-height: 1.45; }
.demo-tools { margin-top: 13px; padding-top: 16px; border-top: 1px solid var(--line); }
.demo-tools .btn { width: 100%; }
.demo-tools small { display: block; margin-top: 10px; color: var(--muted); text-align: center; line-height: 1.4; }

/* Modal & toast */
.modal-backdrop { position: fixed; inset: 0; z-index: 100; padding: 20px; display: grid; place-items: center; background: rgba(4,8,15,.55); backdrop-filter: blur(8px); animation: fade-in .2s ease; }
.modal { width: min(720px, 100%); max-height: calc(100vh - 40px); overflow: hidden; border-radius: 22px; background: white; box-shadow: 0 30px 100px rgba(0,0,0,.28); display: flex; flex-direction: column; }
.modal-sm { width: min(440px, 100%); }
.modal-header { padding: 20px 23px; border-bottom: 1px solid var(--line); display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.modal-header h2 { margin: 0; font-size: 20px; letter-spacing: -.6px; }
.modal-header p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.modal-body { overflow-y: auto; padding: 23px; }
.modal-footer { padding: 15px 23px; border-top: 1px solid var(--line); display: flex; justify-content: flex-end; gap: 8px; }
.legal-policy-modal { width: min(960px, 100%); }
.legal-policy-header { padding: 24px 30px 20px; }
.legal-policy-header h2 { font-size: clamp(24px, 2.4vw, 32px); letter-spacing: -.035em; }
.legal-policy-body { padding: 28px 30px 34px; }
.privacy-policy-document { width: min(100%, 660px); color: #1d1d1f; font-size: 14px; line-height: 1.42; }
.privacy-policy-document section + section { margin-top: 22px; }
.privacy-policy-document h3 { margin: 0 0 3px; font-size: 14px; line-height: 1.32; }
.privacy-policy-document p { margin: 0; }
.privacy-policy-document p + p { margin-top: 13px; }
.privacy-policy-document ul { margin: 2px 0 0; padding-left: 20px; }
.privacy-policy-document li { margin: 0; }
.privacy-policy-document a { color: #0071e3; text-decoration: none; }
.privacy-policy-document a:hover { text-decoration: underline; }
.legal-document-opening { font-size: 16px; line-height: 1.45; }
.legal-document .legal-document-followup { margin: 10px 0 22px; }
.legal-document-external-link { display: inline-flex; align-items: center; min-height: 42px; font-weight: 600; }
.legal-contact-details { display: grid; gap: 4px; }
.privacy-policy-controller { margin: 28px 0 0; }
.privacy-policy-controller div { display: flex; align-items: baseline; gap: 4px; }
.privacy-policy-controller dt { font-weight: 400; }
.privacy-policy-controller dd { margin: 0; }
.legal-policy-footer { position: relative; background: rgba(255,255,255,.96); }
.detail-list { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.detail-box { padding: 13px; border-radius: 12px; background: #f7f7f8; }
.detail-box.full { grid-column: 1 / -1; }
.detail-box span { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .5px; }
.detail-box strong { display: block; margin-top: 5px; font-size: 11px; line-height: 1.45; }
.confirm-dialog { text-align: center; padding: 10px 4px 2px; }
.confirm-dialog .warning-icon { width: 56px; height: 56px; margin: auto; border-radius: 50%; display: grid; place-items: center; background: var(--red-soft); color: var(--red); }
.confirm-dialog h3 { margin: 18px 0 8px; }
.confirm-dialog p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
#toast-root { position: fixed; z-index: 200; right: 20px; bottom: 20px; display: flex; flex-direction: column; gap: 9px; pointer-events: none; }
.toast { min-width: 280px; max-width: 390px; padding: 14px 16px; border-radius: 13px; background: #15161a; color: white; box-shadow: 0 18px 50px rgba(0,0,0,.25); display: flex; align-items: flex-start; gap: 10px; animation: toast-in .3s ease both; }
.toast.success .icon { color: #5ee0a0; }
.toast.error .icon { color: #ff8f8f; }
.toast strong { display: block; font-size: 11px; }
.toast span { display: block; margin-top: 3px; color: rgba(255,255,255,.62); font-size: 9px; line-height: 1.4; }
@keyframes toast-in { from { opacity: 0; transform: translateY(12px); } }

@media (max-width: 1020px) {
  .booking-shell { grid-template-columns: 1fr; grid-template-areas: "steps" "main"; }
  .step-sidebar-title { grid-template-columns: minmax(0,1fr) minmax(210px,300px); }
  .step-help { display: none; }
  .steps { grid-template-columns: repeat(4, 190px); overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
  .steps::-webkit-scrollbar { display: none; }
  .booking-summary { min-height: 240px; display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 24px; align-items: center; }
  .summary-top { grid-column: 1 / -1; }
  .summary-car { display: none; }
  .summary-service { border: 0; padding: 0; }
  .summary-lines { border-left: 1px solid rgba(255,255,255,.1); border-right: 1px solid rgba(255,255,255,.1); padding: 0 24px; }
  .summary-total { margin: 0; border: 0; padding: 0; }
  .schedule-grid, .settings-layout { grid-template-columns: 1fr; }
  .stat-grid { grid-template-columns: repeat(2,1fr); }
  .coverage-layout { gap: 38px; }
}

@media (max-width: 760px) {
  .topbar-inner { height: 62px; padding: 0 15px; }
  .brand-copy span, .availability-pill { display: none; }
  .brand { min-width: auto; }
  .topbar-actions { min-width: auto; }
  .mode-switch { position: static; transform: none; margin-left: auto; }
  .mode-switch button { min-width: 82px; padding: 8px 9px; font-size: 11px; }
  .hero-wrap { padding: 8px 8px 0; }
  .hero { min-height: 690px; border-radius: 22px; background-position: 62% center; }
  .hero::after { background: linear-gradient(0deg, rgba(4,7,11,.88) 0%, rgba(4,7,11,.45) 64%, rgba(4,7,11,.16) 100%); }
  .hero-content { min-height: 690px; padding: 210px 24px 30px; justify-content: flex-end; }
  .hero h1 { font-size: 50px; letter-spacing: -3px; }
  .hero-lead { font-size: 16px; }
  .hero-trust { padding-top: 47px; align-items: flex-end; }
  .hero-trust-group { flex-direction: column; align-items: flex-start; gap: 10px; }
  .rating { display: none; }
  .section { padding: 78px 18px; }
  .value-grid { grid-template-columns: 1fr; }
  .value-card { min-height: 280px; }
  .booking-zone { padding: 76px 8px; }
  .booking-intro { padding: 0 10px; }
  .booking-intro h2 { letter-spacing: -2px; }
  .booking-intro .availability-pill { display: none; }
  .booking-shell { display: block; border-radius: 24px; min-height: 0; }
  .step-sidebar { padding: 18px 16px 15px; border-right: 0; border-bottom: 1px solid var(--line); }
  .step-sidebar-title { grid-template-columns: 1fr; gap: 14px; margin-bottom: 15px; }
  .reservation-heading strong { font-size: 19px; }
  .reservation-progress { max-width: none; }
  .steps { display: flex; overflow-x: auto; padding-bottom: 3px; scrollbar-width: none; }
  .steps::-webkit-scrollbar { display: none; }
  .step-button { flex: 0 0 148px; width: 148px; min-height: 54px; padding: 8px 10px; }
  .step-button .step-label { display: block; font-size: 10px; }
  .step-copy small { font-size: 7px; }
  .step-help { display: none; }
  .booking-main { padding: 27px 18px 21px; min-height: 580px; }
  .booking-step h3 { font-size: 29px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-option { min-height: 145px; }
  .date-strip { grid-template-columns: repeat(7, 55px); overflow-x: auto; margin-right: -18px; padding-right: 18px; scrollbar-width: none; }
  .slots-grid { grid-template-columns: repeat(3,1fr); }
  .choice-grid { grid-template-columns: 1fr; }
  .choice-card { min-height: 64px; flex-direction: row; justify-content: flex-start; padding: 13px 15px; }
  .booking-place-grid { grid-template-columns: 1fr; }
  .booking-place-card { min-height: 68px; }
  .vehicle-current-selection img { width: 76px; }
  .inline-brand-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
  .inline-brand-tile.expanded { grid-column: span 2; }
  .inline-brand-card { height: 82px; padding: 13px; }
  .inline-brand-card img { height: 45px; }
  .booking-howto ol { grid-template-columns: 1fr; gap: 12px; }
  .booking-howto.reference-howto { padding-bottom: 20px; }
  .reference-howto h4 { font-size: 19px; }
  .service-line-navigation { grid-template-columns: 1fr; gap: 3px; }
  .service-line-navigation button, .service-line-navigation button:first-child, .service-line-navigation button:last-child { text-align: left; }
  .service-choice-title { margin: 30px 0 24px; font-size: 23px; }
  .reference-service-card { min-height: 0; padding: 30px 20px 20px; }
  .reference-service-card > h4 { font-size: 28px; }
  .reference-service-actions { grid-template-columns: 1fr; }
  .reference-service-actions button { min-height: 44px; }
  .vehicle-length-grid, .inline-service-grid { grid-template-columns: 1fr; }
  .inline-service-card { min-height: 205px; }
  .form-grid, .payment-options { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .fake-card .form-grid { grid-template-columns: 1fr 1fr; }
  .fake-card .form-grid .full { grid-column: 1 / -1; }
  .customer-form-grid, .checkout-method-grid { grid-template-columns: 1fr 1fr; }
  .addons-grid { grid-template-columns: 1fr 1fr; }
  .addons-cart { grid-template-columns: 1fr auto; }
  .addons-cart button { grid-column: 1 / -1; justify-content: center; }
  .payment-method-form { grid-template-columns: 1fr; gap: 14px; }
  .payment-plan-grid { grid-template-columns: 1fr; }
  .booking-actions { position: sticky; bottom: -21px; margin: 25px -18px -21px; padding: 13px 18px; background: rgba(255,255,255,.92); border-top: 1px solid var(--line); backdrop-filter: blur(12px); }
  .booking-actions .step-count { display: none; }
  .booking-actions-right { margin-left: auto; }
  .booking-summary { min-height: 0; display: block; padding: 27px 23px; }
  .summary-service { padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.1); }
  .summary-lines { border: 0; padding: 18px 0; }
  .summary-total { padding-top: 16px; border-top: 1px solid rgba(255,255,255,.1); }
  .confirmation { padding: 20px 2px; }
  .confirmation-details { grid-template-columns: 1fr; }
  .coverage-layout { grid-template-columns: 1fr; }
  .coverage-map { min-height: 330px; }
  .footer-inner { flex-direction: column; align-items: flex-start; }
  .admin-hero-inner { padding: 38px 18px 94px; }
  .admin-hero h1 { font-size: 34px; }
  .admin-date { display: none; }
  .admin-layout { padding: 0 10px 55px; }
  .stat-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .stat-card { min-height: 120px; padding: 16px; }
  .stat-value { margin-top: 18px; font-size: 25px; }
  .admin-tabs { overflow-x: auto; padding-left: 5px; scrollbar-width: none; }
  .admin-tab { flex: 0 0 auto; }
  .panel-header { align-items: flex-start; flex-direction: column; }
  .panel-tools { width: 100%; flex-wrap: wrap; }
  .search-box { min-width: 0; flex: 1 1 100%; }
  .filter-select { flex: 1; }
  .schedule-calendar { padding: 14px; overflow: auto; }
  .week-grid { min-width: 720px; }
  .service-admin-grid { grid-template-columns: 1fr; }
  .service-admin-fields { grid-template-columns: repeat(3,1fr); }
  .settings-form { padding: 18px; }
  .modal-backdrop { padding: 8px; align-items: end; }
  .modal { max-height: calc(100vh - 16px); border-radius: 22px 22px 12px 12px; }
  .modal-body { padding: 18px; }
  .detail-list { grid-template-columns: 1fr; }
  .detail-box.full { grid-column: auto; }
  #toast-root { right: 10px; left: 10px; bottom: 10px; }
  .toast { min-width: 0; max-width: none; width: 100%; }
}

/* La contraseña temporal Privilege se muestra una sola vez al administrador. */
.privilege-credentials-modal { max-width: 520px; }
.privilege-credentials-box {
  display: grid;
  grid-template-columns: minmax(110px,.7fr) minmax(0,1.3fr);
  gap: 1px;
  overflow: hidden;
  border: 1px solid #d8d9de;
  border-radius: 18px;
  background: #d8d9de;
}
.privilege-credentials-box > * { padding: 14px 16px; background: #fff; }
.privilege-credentials-box span { color: #777b84; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.privilege-credentials-box strong { overflow-wrap: anywhere; color: #111318; font-size: 15px; }
@media (max-width: 560px) {
  .privilege-credentials-box { grid-template-columns: 1fr; gap: 0; }
  .privilege-credentials-box span { padding-bottom: 5px; }
  .privilege-credentials-box strong { padding-top: 0; padding-bottom: 18px; }
}

@media (max-width: 390px) {
  .customer-form-grid, .checkout-method-grid { grid-template-columns: 1fr; }
  .addons-grid { grid-template-columns: 1fr; }
  .brand-copy { display: none; }
  .hero h1 { font-size: 44px; }
  .hero-cta { align-items: stretch; flex-direction: column; }
  .hero-cta .btn { width: 100%; }
  .play-link { justify-content: center; }
  .stat-grid { grid-template-columns: 1fr; }
  .service-admin-fields { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Apple-inspired service showcase */
.client-topbar {
  position: sticky;
  top: 0;
  z-index: 60;
  height: 48px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  background: rgba(250,250,252,.88);
  backdrop-filter: saturate(180%) blur(22px);
}
.client-nav {
  width: min(100%, 1050px);
  height: 100%;
  margin: 0 auto;
  padding: 0 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}
.client-logo {
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.client-logo-mark {
  width: 25px;
  height: 25px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: #171719;
  color: #fff;
}
.client-logo-mark .icon { width: 14px; height: 14px; }
.client-wordmark { font-size: 13px; font-weight: 750; letter-spacing: -.25px; }
.client-service-links { flex: 1; display: flex; align-items: center; justify-content: center; gap: clamp(16px, 3vw, 36px); }
.client-service-links button { padding: 7px 0; border: 0; background: transparent; color: #37373a; font-size: 11px; cursor: pointer; }
.client-service-links button:hover { color: var(--blue); }
.client-nav-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 13px; }
.client-nav-icon { width: 28px; height: 32px; padding: 0; border: 0; background: transparent; display: grid; place-items: center; cursor: pointer; }
.client-nav-icon .icon { width: 18px; height: 18px; }
.client-promo {
  min-height: 39px;
  padding: 9px 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  background: #fff;
  color: #1d1d1f;
  text-align: center;
  font-size: 14px;
  line-height: 1.45;
}
.client-promo button { padding: 0; border: 0; background: transparent; color: #06c; display: inline-flex; align-items: center; gap: 1px; cursor: pointer; }
.client-promo .icon { width: 13px; height: 13px; }
.client-rating { min-height: 39px; padding: 8px 18px 10px; border-top: 1px solid #ededf0; background: #fff; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 5px; color: #1d1d1f; text-align: center; font-size: 13px; line-height: 1.4; }
.client-rating-star { color: #000; font-size: 14px; line-height: 1; }
.client-rating a { color: #06c; text-decoration: none; }
.client-rating a:hover { text-decoration: underline; }
.service-showcase { background: #fff; display: flex; flex-direction: column; gap: 12px; }
.service-panel {
  --panel-top: 245,245,247;
  min-height: 720px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #f5f5f7;
  background-image: var(--panel-image);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  color: #1d1d1f;
}
.service-panel::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(to bottom, rgba(var(--panel-top),.98) 0%, rgba(var(--panel-top),.92) 28%, rgba(var(--panel-top),.65) 39%, rgba(var(--panel-top),0) 55%); }
.service-panel-warm { --panel-top: 247,244,241; background-color: #f7f4f1; }
.service-panel-ice { --panel-top: 237,247,255; background-color: #edf7ff; }
.service-panel-sky { --panel-top: 223,246,255; background-color: #dff6ff; }
.service-panel-silver { --panel-top: 230,235,240; background-color: #e6ebf0; }
.service-panel-night { --panel-top: 0,0,0; background-color: #000; color: #f5f5f7; }
.service-panel-copy {
  width: min(100%, 820px);
  margin: 0 auto;
  padding: 62px 20px 0;
  position: relative;
  z-index: 2;
  text-align: center;
}
.service-panel-copy h1 { margin: 0; font-size: clamp(46px, 5vw, 66px); line-height: 1.02; letter-spacing: -3.4px; font-weight: 720; }
.service-panel-copy p { margin: 11px 0 0; font-size: clamp(22px, 2.4vw, 31px); line-height: 1.15; letter-spacing: -1.25px; }
.service-panel-price { display: block; margin-top: 12px; color: #6e6e73; font-size: 13px; font-weight: 600; }
.service-panel-night .service-panel-price { color: #a1a1a6; }
.service-panel-actions { margin-top: 22px; display: flex; align-items: center; justify-content: center; gap: 12px; }
.apple-btn { min-height: 44px; padding: 0 21px; border-radius: 999px; font-size: 15px; line-height: 1; cursor: pointer; transition: background .18s ease, color .18s ease, transform .18s ease; }
.apple-btn:hover { transform: translateY(-1px); }
.apple-btn-primary { border: 1px solid #0077ed; background: #0077ed; color: #fff; }
.apple-btn-primary:hover { background: #0071e3; }
.apple-btn-secondary { border: 1px solid #0077ed; background: transparent; color: #0077ed; }
.apple-btn-secondary:hover { background: #0077ed; color: #fff; }
/* The shared announcement strip supplies the complete white band above booking. */
.apple-booking-zone { border-top: 0; }
.back-to-showcase { margin: 0 0 28px; padding: 8px 0; border: 0; background: transparent; color: #54565d; display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 650; cursor: pointer; }
.back-to-showcase:hover { color: var(--blue); }
.back-to-showcase .icon { width: 15px; height: 15px; }
.apple-booking-zone { padding-top: 64px; background: #f5f5f7; }
.apple-purchase-intro { align-items: flex-end; margin-bottom: 38px; }
.apple-purchase-intro h2 { max-width: 760px; font-size: 40px; line-height: 1.1; letter-spacing: -.035em; }
.apple-purchase-intro p { margin: 15px 0 0; color: var(--muted); font-size: 16px; line-height: 1.45; }
.purchase-intro-support { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.purchase-intro-support > a { color: var(--blue); font-size: 12px; font-weight: 700; text-decoration: none; }
.purchase-intro-support > a:hover { text-decoration: underline; }
.unified-purchase-shell { overflow: hidden; border-radius: 32px; background: #fff; box-shadow: 0 18px 50px rgba(15,23,42,.08); }
.unified-purchase-status { min-height: 92px; padding: 22px 30px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.94); display: grid; grid-template-columns: minmax(170px,.75fr) minmax(260px,1fr) auto; align-items: center; gap: 32px; }
.unified-purchase-status > div:first-child span, .unified-purchase-status > div:first-child strong { display: block; }
.unified-purchase-status > div:first-child span { color: #8a8c93; font-size: 9px; font-weight: 850; letter-spacing: 1px; text-transform: uppercase; }
.unified-purchase-status > div:first-child strong { margin-top: 5px; font-size: 20px; letter-spacing: -.5px; }
.unified-completed-count { color: #75777e; font-size: 10px; font-weight: 700; white-space: nowrap; }
.unified-purchase-grid { padding: 38px; display: grid; grid-template-columns: minmax(330px,.86fr) minmax(0,1.14fr); align-items: start; gap: 42px; }
.unified-order-column { position: sticky; top: 86px; }
.unified-order-card { padding: 30px; border-radius: 28px; background: #f5f5f7; }
.unified-order-card > h3 { margin: 8px 0 0; font-size: 34px; line-height: 1; letter-spacing: -1.7px; }
.unified-order-art { height: 300px; margin: 22px 0 18px; overflow: hidden; border-radius: 23px; background: radial-gradient(circle at 50% 38%, #fff 0%, #eef0f4 68%, #e6e8ed 100%); display: grid; place-items: center; }
.unified-order-art img { width: 92%; height: 92%; object-fit: contain; filter: drop-shadow(0 18px 22px rgba(27,34,47,.14)); }
.unified-order-art-white { background: #fff; }
.unified-order-art img[src*='exterior-summary-v2'] { width: 100%; height: 100%; object-fit: contain; filter: none; }
.unified-order-price { padding: 13px 2px 0; border: 0; }
.unified-order-price span, .unified-order-price strong, .unified-order-price small { display: block; }
.unified-order-price span { color: var(--muted); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; }
.unified-order-price strong { margin-top: 0; font-size: 19px; font-weight: 650; letter-spacing: -.5px; }
.unified-order-price small { margin-top: 3px; color: #71737a; font-size: 8.5px; line-height: 1.4; }
.unified-order-recap { padding: 16px 0 8px; display: grid; gap: 11px; }
.unified-order-recap > div { display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 9px; color: #9a9ca3; }
.unified-order-recap > div.ready { color: var(--ink); }
.unified-order-recap > div > span { width: 28px; height: 28px; border-radius: 50%; background: #e7e8ec; display: grid; place-items: center; }
.unified-order-recap > div.ready > span { background: #e4f6ed; color: var(--green); }
.unified-order-recap .icon { width: 14px; height: 14px; }
.unified-order-recap p { min-width: 0; margin: 0; }
.unified-order-recap small, .unified-order-recap strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.unified-order-recap small { color: #898b92; font-size: 8px; font-weight: 750; text-transform: uppercase; letter-spacing: .55px; }
.unified-order-recap strong { margin-top: 2px; font-size: 10px; }
.unified-order-benefits { margin-top: 11px; padding-top: 15px; border-top: 1px solid #dddfe4; display: flex; flex-wrap: wrap; gap: 8px 13px; color: #64666d; font-size: 8px; font-weight: 700; }
.unified-order-benefits span { display: inline-flex; align-items: center; gap: 5px; }
.unified-order-benefits .icon { width: 12px; height: 12px; }
.unified-order-estimate { margin-top: 15px; padding: 13px 15px; border-radius: 15px; background: #e9eef7; display: flex; align-items: center; gap: 10px; }
.unified-order-estimate > span { width: 30px; height: 30px; flex: 0 0 auto; border-radius: 50%; background: #fff; color: var(--blue); display: grid; place-items: center; }
.unified-order-estimate .icon { width: 15px; height: 15px; }
.unified-order-estimate p { margin: 0; display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 12px; }
.unified-order-estimate small { color: #60646c; font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .55px; }
.unified-order-estimate strong { font-size: 15px; letter-spacing: -.25px; white-space: nowrap; }
.unified-configurator { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.unified-config-section { scroll-margin-top: 78px; overflow: hidden; border: 1px solid #dedfe3; border-radius: 24px; background: #fff; transition: border-color .2s ease, box-shadow .2s ease, opacity .2s ease; }
.unified-config-section.active { border-color: #b8bec8; box-shadow: 0 12px 32px rgba(24,33,48,.08); }
.unified-config-section.complete:not(.active) { border-color: #d4e8de; }
.unified-config-section.locked { opacity: .52; }
.unified-config-heading { width: 100%; min-height: 112px; padding: 23px 25px; border: 0; background: transparent; color: var(--ink); display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 16px; text-align: left; cursor: pointer; }
.unified-config-heading:disabled { cursor: default; }
.unified-config-number { width: 42px; height: 42px; border: 1px solid #d2d4d9; border-radius: 50%; background: #f7f7f8; color: #797b82; display: grid; place-items: center; font-size: 13px; font-weight: 800; }
.unified-config-section.active .unified-config-number { border-color: var(--blue); background: var(--blue); color: #fff; }
.unified-config-section.complete:not(.active) .unified-config-number { border-color: transparent; background: var(--green-soft); color: var(--green); }
.unified-config-number .icon { width: 17px; height: 17px; }
.unified-config-copy { min-width: 0; }
.unified-config-copy small, .unified-config-copy strong, .unified-config-copy em { display: block; }
.unified-config-copy small { color: #8c8e95; font-size: 8px; font-weight: 850; letter-spacing: .75px; text-transform: uppercase; }
.unified-config-copy strong { margin-top: 4px; font-size: 20px; letter-spacing: -.55px; }
.unified-config-copy em { margin-top: 5px; overflow: hidden; color: #74767d; font-size: 10px; font-style: normal; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.unified-config-state { color: var(--blue); display: inline-flex; align-items: center; gap: 5px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .45px; }
.unified-config-state .icon { width: 14px; height: 14px; }
.unified-config-body { padding: 8px 26px 28px; border-top: 1px solid #ececef; animation: payment-open .25s ease both; }
.unified-config-body .booking-step { padding-top: 27px; }
.unified-config-body .booking-step > .eyebrow { display: none; }
.unified-config-body .booking-step h3 { margin-top: 0; font-size: 29px; }
.unified-config-body .location-form, .unified-config-body .inline-vehicle-picker, .unified-config-body .service-schedule-step { max-width: none; }
.unified-config-body .standalone-schedule { margin-top: 16px; }
.unified-step-action { margin-top: 26px; padding-top: 20px; border-top: 1px solid #e5e6e9; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.unified-step-action .btn { min-height: 48px; padding-right: 24px; padding-left: 24px; }
.unified-step-action small { color: var(--muted); font-size: 9px; line-height: 1.4; text-align: right; }
.unified-confirmation-shell { min-height: 620px; padding: 45px; border-radius: 30px; background: #fff; box-shadow: var(--shadow); }
@media (max-width: 1020px) {
  .unified-purchase-grid { grid-template-columns: minmax(270px,.72fr) minmax(0,1.28fr); gap: 24px; padding: 28px; }
  .unified-order-card { padding: 22px; }
  .unified-order-art { height: 235px; }
  .unified-order-card > h3 { font-size: 28px; }
}
@media (max-width: 760px) {
  .apple-booking-zone { padding: 32px 0 56px; }
  .apple-booking-zone .back-to-showcase { margin-left: 24px; }
  .apple-purchase-intro { align-items: flex-start; padding: 0 24px; }
  .apple-purchase-intro h2 { font-size: 32px; letter-spacing: -.035em; }
  .apple-purchase-intro p { font-size: 14px; }
  .purchase-intro-support { display: none; }
  .unified-purchase-shell { border-radius: 24px; }
  .unified-purchase-status { min-height: 82px; padding: 18px; grid-template-columns: minmax(0,1fr) minmax(145px,.9fr); gap: 18px; }
  .unified-purchase-status > div:first-child strong { font-size: 16px; }
  .unified-completed-count { display: none; }
  .unified-purchase-grid { padding: 14px; grid-template-columns: 1fr; gap: 14px; }
  .unified-order-column { position: static; }
  .unified-order-card { padding: 18px; display: grid; grid-template-columns: 118px minmax(0,1fr); grid-template-areas: "art title" "art estimate" "price price"; align-items: center; gap: 6px 16px; }
  .unified-order-card > h3 { grid-area: title; align-self: end; font-size: 24px; }
  .unified-order-art { grid-area: art; height: 132px; margin: 0; border-radius: 18px; }
  .unified-order-price { grid-area: price; align-self: start; padding: 9px 2px 0; border: 0; }
  .unified-order-price strong { font-size: 18px; }
  .unified-order-price small { font-size: 8px; }
  .unified-order-recap, .unified-order-benefits { display: none; }
  .unified-order-estimate { grid-area: estimate; margin-top: 7px; padding: 9px 10px; }
  .unified-configurator { gap: 10px; }
  .unified-config-section { border-radius: 19px; scroll-margin-top: 60px; }
  .unified-config-heading { min-height: 92px; padding: 17px 15px; grid-template-columns: 36px minmax(0,1fr) auto; gap: 11px; }
  .unified-config-number { width: 36px; height: 36px; }
  .unified-config-copy strong { font-size: 16px; }
  .unified-config-copy em { max-width: 190px; font-size: 8px; }
  .unified-config-state { font-size: 0; }
  .unified-config-state .icon { width: 17px; height: 17px; }
  .unified-config-body { padding: 5px 16px 20px; }
  .unified-config-body .booking-step { padding-top: 21px; }
  .unified-config-body .booking-step h3 { font-size: 27px; }
  .unified-step-action { align-items: stretch; flex-direction: column; }
  .unified-step-action .btn { width: 100%; }
  .unified-step-action small { text-align: center; }
  .unified-confirmation-shell { min-height: 0; padding: 22px 18px; border-radius: 24px; }
}

/* Reserva continua: una sola página, sin cabecera de progreso ni pasos plegables. */
.continuous-purchase-shell { overflow: visible; }
.continuous-purchase-grid { padding-top: 50px; }
.continuous-configurator { gap: 0; }
.continuous-config-section { padding: 0 0 72px; margin: 0 0 72px; border-bottom: 1px solid #e2e3e6; scroll-margin-top: 72px; }
.continuous-config-section:last-of-type { margin-bottom: 34px; padding-bottom: 42px; }
.continuous-config-body .booking-step { padding-top: 0; }
.continuous-config-body .booking-step > .eyebrow { display: none; }
.continuous-config-body .booking-step h3 { margin-top: 0; font-size: 34px; letter-spacing: -1.25px; }
.continuous-config-body .location-form,
.continuous-config-body .inline-vehicle-picker,
.continuous-config-body .service-schedule-step { max-width: none; }
.continuous-config-body .booking-subsection-heading > span { display: none; }
.continuous-config-body .booking-subsection-heading { gap: 0; }
.continuous-config-body .standalone-schedule { margin-top: 18px; }
.continuous-packages-section { padding-top: 0; }
.schedule-step-heading { font-weight: 400; }
.schedule-step-heading strong { font-weight: 800; }
.continuous-final-action { padding: 4px 0 74px; display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.continuous-final-action .btn { width: min(100%, 460px); min-height: 54px; font-size: 14px; }
.continuous-final-action small { color: var(--muted); font-size: 9px; line-height: 1.45; }

.unified-order-art img[src*='interior-cabin'] { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; filter: none; }
.unified-order-price > strong { margin-top: 0; }

.embedded-customer-section { margin-top: 8px; padding-top: 28px; border-top: 1px solid #e5e6e9; }
.embedded-customer-heading { margin-bottom: 15px; }
.embedded-customer-heading strong,
.embedded-customer-heading small { display: block; }
.embedded-customer-heading strong { font-size: 18px; letter-spacing: -.45px; }
.embedded-customer-heading small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.embedded-customer-section .service-conditions-link { margin-top: 14px; }

.reference-select-tier { background: #eceef1; color: #1d1d1f !important; }
.reference-select-tier:hover { background: #e1e4e8; }
.reference-select-tier.chosen { background: var(--blue); color: #fff !important; }

.service-condition-extra { width: min(100%, 720px); margin: 34px auto 0; }
.service-condition-extra-panel { width: 100%; min-height: 112px; padding: 19px 22px; border: 1px solid #d9dce2; border-radius: 19px; background: #fff; color: var(--ink); display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 17px; text-align: left; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.service-condition-extra-panel.selected { border-color: var(--blue); background: #f5f9ff; box-shadow: 0 0 0 3px rgba(23,104,229,.08); }
.service-condition-extra-icon { width: 38px; height: 38px; border-radius: 50%; background: #eef0f3; color: #4f535b; display: grid; place-items: center; }
.service-condition-extra-icon .icon { width: 18px; height: 18px; }
.service-condition-extra-panel.selected .service-condition-extra-icon { background: var(--blue); color: #fff; }
.service-condition-extra-copy { min-width: 0; }
.service-condition-extra-copy strong, .service-condition-extra-copy > span { display: block; }
.service-condition-extra-copy strong { font-size: 16px; letter-spacing: -.25px; }
.service-condition-extra-copy > span { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.service-condition-extra > p { margin: 16px 12px 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.service-condition-extra > p button { padding: 0; border: 0; background: transparent; color: #777b84; font: inherit; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.service-condition-extra > p button:hover { color: var(--blue); }
.service-condition-choice { padding: 3px; border-radius: 999px; background: #eceef2; display: grid; grid-template-columns: repeat(2, 48px); gap: 2px; }
.service-condition-choice button { min-height: 34px; padding: 0; border: 0; border-radius: 999px; background: transparent; color: #565960; font-size: 11px; font-weight: 800; cursor: pointer; }
.service-condition-choice button.selected { background: var(--blue); color: #fff; box-shadow: 0 2px 8px rgba(23,104,229,.23); }
.service-extra-conditions-modal .modal-body { display: grid; gap: 14px; }
.service-extra-conditions-modal .modal-body p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.service-extra-conditions-modal .modal-body ul { margin: -4px 0 0; padding-left: 20px; color: var(--muted); font-size: 13px; line-height: 1.55; }

.allies-disclosure { width: min(100%, 900px); margin: 72px auto 0; overflow: hidden; border-radius: 28px; background: #f5f5f7; scroll-margin-top: 72px; }
.allies-disclosure-toggle { width: 100%; min-height: 230px; padding: 42px 48px; border: 0; background: transparent; color: var(--ink); display: flex; align-items: center; justify-content: space-between; gap: 32px; text-align: left; cursor: pointer; }
.allies-disclosure-toggle span { max-width: 590px; }
.allies-disclosure-toggle small,
.allies-disclosure-toggle strong { display: block; }
.allies-disclosure-toggle small { font-size: 15px; font-weight: 750; }
.allies-disclosure-toggle strong { margin-top: 8px; font-size: clamp(34px, 4.2vw, 52px); line-height: .98; letter-spacing: -2.6px; }
.allies-disclosure-toggle > b { width: 46px; height: 46px; flex: 0 0 auto; border-radius: 50%; background: #e2e3e7; display: grid; place-items: center; font-size: 29px; font-weight: 400; line-height: 1; transition: background .18s ease, color .18s ease; }
.allies-disclosure-toggle:hover > b,
.allies-disclosure.open .allies-disclosure-toggle > b { background: var(--blue); color: #fff; }
.allies-disclosure-content { padding: 0 30px 30px; animation: payment-open .22s ease both; }
.allies-disclosure-content > p { margin: -12px 18px 24px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.allies-disclosure .addons-cart { grid-template-columns: minmax(0,1fr) auto; }
.complement-group-heading { margin: 0 0 13px; }
.complement-group-heading small, .complement-group-heading strong { display: block; }
.complement-group-heading small { color: var(--blue); font-size: 9px; font-weight: 850; letter-spacing: .7px; text-transform: uppercase; }
.complement-group-heading strong { margin-top: 4px; font-size: 15px; }
.included-complements-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.included-complement-card { min-height: 94px; padding: 15px; border: 1px solid #d9e8df; border-radius: 16px; background: #fbfefc; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; }
.included-complement-card > span { width: 29px; height: 29px; border-radius: 50%; background: #e2f5e9; color: #168255; display: grid; place-items: center; }
.included-complement-card > span .icon { width: 14px; height: 14px; }
.included-complement-card strong { display: block; font-size: 11px; line-height: 1.3; }
.included-complement-card p { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.4; }
.included-complement-card b { color: #168255; font-size: 9px; }
.paid-complements-block { margin-top: 24px; }

.service-comparison-section { margin: 0 -4px; padding: 80px 0 18px; border-top: 1px solid #e2e3e6; text-align: center; }
.continuous-purchase-shell > .service-comparison-section { margin: 0; padding-right: 38px; padding-left: 38px; }
.service-comparison-section > h3 { margin: 0; font-size: clamp(36px, 4.6vw, 56px); line-height: 1.02; letter-spacing: -2.9px; }
.service-comparison-section > p { max-width: 580px; margin: 13px auto 44px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.service-comparison-scroll { overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.service-comparison-grid { min-width: 720px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
.service-comparison-column { min-width: 0; border-right: 1px solid #e2e3e6; }
.service-comparison-column:last-child { border-right: 0; }
.service-comparison-column > header { min-height: 172px; padding: 8px 24px 28px; }
.service-comparison-column > header h4 { min-height: 40px; margin: 0; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 22px; line-height: 1.05; letter-spacing: -.75px; }
.service-comparison-column > header p { min-height: 38px; margin: 10px 0 12px; color: #55575e; font-size: 10px; line-height: 1.45; }
.service-comparison-column > header strong { color: var(--blue); font-size: 12px; }
.comparison-feature { min-height: 132px; padding: 22px 18px; border-top: 1px solid #e8e9ec; display: grid; grid-template-columns: repeat(2, 44px); align-content: center; justify-content: center; gap: 9px 8px; }
.comparison-feature-icon { width: 44px; height: 44px; color: #15171b; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.comparison-feature .comparison-feature-icon:only-of-type { grid-column: 1 / -1; justify-self: center; }
.comparison-feature > span { grid-column: 1 / -1; max-width: 190px; justify-self: center; font-size: 9px; font-weight: 750; line-height: 1.4; letter-spacing: .5px; text-transform: uppercase; }
.comparison-feature > b { grid-column: 1 / -1; color: #9b9da3; font-size: 28px; font-weight: 450; }
.comparison-feature.not-included > span { color: #9b9da3; }

@media (max-width: 760px) {
  .continuous-purchase-grid { padding-top: 14px; }
  .continuous-configurator { padding: 14px 4px 8px; }
  .continuous-config-section { padding-bottom: 50px; margin-bottom: 50px; scroll-margin-top: 54px; }
  .continuous-config-body .booking-step h3 { font-size: 30px; }
  .continuous-final-action { padding-bottom: 56px; }
  .embedded-customer-section .customer-form-grid { grid-template-columns: 1fr; }
  .reference-service-actions { grid-template-columns: 1fr; }
  .service-condition-extra-panel { grid-template-columns: auto minmax(0,1fr); padding: 17px; }
  .service-condition-choice { grid-column: 2; justify-self: start; margin-top: 2px; }
  .allies-disclosure { margin-top: 50px; border-radius: 22px; }
  .allies-disclosure-toggle { min-height: 170px; padding: 28px 24px; gap: 18px; }
  .allies-disclosure-toggle small { font-size: 12px; }
  .allies-disclosure-toggle strong { font-size: 31px; letter-spacing: -1.8px; }
  .allies-disclosure-toggle > b { width: 40px; height: 40px; font-size: 25px; }
  .allies-disclosure-content { padding: 0 16px 18px; }
  .allies-disclosure-content > p { margin: -5px 8px 18px; }
  .allies-disclosure .addons-grid { grid-template-columns: 1fr; }
  .included-complements-grid { grid-template-columns: 1fr; }
  .included-complement-card { grid-template-columns: auto minmax(0,1fr); }
  .included-complement-card b { grid-column: 2; }
  .allies-disclosure .addons-cart { grid-template-columns: 1fr auto; gap: 12px; }
  .service-comparison-section { padding-top: 58px; }
  .continuous-purchase-shell > .service-comparison-section { padding-right: 0; padding-left: 0; }
  .service-comparison-section > h3 { padding: 0 18px; font-size: 38px; letter-spacing: -2.2px; }
  .service-comparison-section > p { padding: 0 26px; margin-bottom: 30px; }
}
.service-info-description { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.vehicle-step-heading { display: flex; flex-direction: column; gap: 7px; font-weight: 400; }
.vehicle-step-heading > span { display: block; }
.vehicle-step-heading strong { font-weight: 800; }
.vehicle-step-uppercase { letter-spacing: .04em; }
.invoice-row-button { color: #0672ce; background: #edf6ff; }
.settings-section-label { margin-top: 10px; padding-top: 18px; border-top: 1px solid var(--line); }
.settings-section-label strong, .settings-section-label small { display: block; }
.settings-section-label small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.invoice-modal-backdrop { padding: 24px; }
.invoice-editor-modal { width: min(96vw, 1320px); max-width: none; height: min(92vh, 900px); display: flex; flex-direction: column; }
.invoice-editor-modal > form { min-height: 0; display: flex; flex: 1; flex-direction: column; }
.invoice-editor-body { min-height: 0; padding: 0; overflow: hidden; display: grid; grid-template-columns: minmax(420px,.88fr) minmax(500px,1.12fr); }
.invoice-editor-fields { padding: 24px; overflow-y: auto; border-right: 1px solid var(--line); }
.invoice-editor-fields textarea { min-height: 86px; }
.invoice-editor-preview { padding: 22px; overflow: auto; background: #e9eaed; }
.invoice-preview-label { margin: 0 auto 14px; width: min(100%, 500px); display: flex; align-items: center; justify-content: space-between; }
.invoice-preview-label strong { font-size: 12px; }
.invoice-preview-label span { color: var(--muted); font-size: 9px; }
.invoice-preview-pages { width: min(100%, 500px); margin: 0 auto; display: grid; gap: 18px; }
.invoice-preview-page { aspect-ratio: 210 / 297; padding: 34px 32px 24px; position: relative; background: #fff; color: #050505; box-shadow: 0 10px 30px rgba(15,20,30,.12); display: flex; flex-direction: column; font-family: Arial, sans-serif; }
.invoice-preview-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; }
.invoice-preview-header small, .invoice-preview-header b { display: block; font-size: 7px; }
.invoice-preview-header h3 { margin: 2px 0 5px; font-size: 26px; line-height: .95; letter-spacing: -1.5px; }
.invoice-preview-brand { display: flex; align-items: flex-start; gap: 9px; text-align: right; }
.invoice-preview-brand > span { width: 39px; height: 39px; border-radius: 50%; background: #050505; color: #fff; display: grid; place-items: center; font-size: 19px; font-weight: 900; }
.invoice-preview-brand small { max-width: 150px; font-size: 6px; line-height: 1.5; }
.invoice-party-grid { margin-top: 20px; border: 1px solid #111; border-radius: 12px; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; }
.invoice-party-grid > div { min-height: 74px; padding: 10px; }
.invoice-party-grid > div + div { border-left: 1px solid #111; text-align: right; }
.invoice-party-grid small, .invoice-party-grid strong, .invoice-party-grid span { display: block; }
.invoice-party-grid small { font-size: 6px; font-weight: 800; }
.invoice-party-grid strong { margin-top: 8px; font-size: 7px; }
.invoice-party-grid span { margin-top: 4px; font-size: 6px; line-height: 1.35; }
.invoice-table-head { margin-top: 20px; min-height: 23px; padding: 0 10px; border-radius: 11px; background: #050505; color: #fff; display: grid; grid-template-columns: 45px minmax(0,1fr) 75px 58px 77px; align-items: center; gap: 6px; font-size: 6px; font-weight: 800; }
.invoice-concept-row { padding: 14px 10px; display: grid; grid-template-columns: 45px minmax(0,1fr) 75px 58px 77px; align-items: start; gap: 6px; font-size: 6.5px; }
.invoice-concept-row > div strong, .invoice-concept-row > div span { display: block; }
.invoice-concept-row > div strong { margin-bottom: 8px; font-size: 7px; }
.invoice-concept-row > div span { margin-top: 3px; color: #3e3e3e; }
.invoice-preview-page footer { margin-top: auto; padding-top: 10px; border-top: 1px solid #d0d0d0; color: #555; font-size: 5.5px; text-align: center; }
.invoice-preview-page-two .invoice-table-head { margin-top: 0; }
.invoice-note { margin: auto 15px; color: #555; font-size: 6px; line-height: 1.5; text-align: center; text-transform: uppercase; letter-spacing: .5px; }
.invoice-signature { margin: 0 0 26px 18px; min-height: 80px; display: flex; align-items: flex-end; font-size: 12px; line-height: .9; }
.invoice-preview-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: end; }
.invoice-preview-bottom > div:first-child span { display: block; margin-top: 4px; font-size: 6px; }
.invoice-totals { border-top: 1px solid #aaa; }
.invoice-totals > span, .invoice-totals > strong { min-height: 24px; padding: 0 7px; display: flex; align-items: center; justify-content: space-between; font-size: 7px; }
.invoice-totals > strong { min-height: 32px; background: #050505; color: #fff; font-size: 14px; }
.invoice-totals small { font-size: 6px; font-weight: 500; }
.invoice-editor-footer { flex-wrap: wrap; }
.invoice-editor-footer > span { margin-right: auto; color: var(--muted); display: inline-flex; align-items: center; gap: 6px; font-size: 9px; }
.invoice-editor-footer > span .icon { width: 14px; height: 14px; }
@media (max-width: 900px) {
  .invoice-modal-backdrop { padding: 0; }
  .invoice-editor-modal { width: 100%; height: 100%; max-height: none; border-radius: 0; }
  .invoice-editor-body { grid-template-columns: 1fr; overflow-y: auto; }
  .invoice-editor-fields { overflow: visible; border-right: 0; border-bottom: 1px solid var(--line); }
  .invoice-editor-preview { overflow: visible; }
  .invoice-editor-footer > span { width: 100%; }
}
.service-info-list { margin-top: 20px; display: flex; flex-direction: column; gap: 9px; }
.service-info-list > div { padding: 12px 13px; border-radius: 11px; background: #f6f6f8; display: flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 650; }
.service-info-list .icon { color: var(--green); }
.service-info-deposit { margin-top: 17px; padding: 12px; border-radius: 11px; background: var(--blue-soft); color: var(--blue); text-align: center; font-size: 11px; font-weight: 700; }

@media (max-width: 800px) {
  .client-topbar { height: 56px; }
  .client-nav { padding: 0 16px; }
  .client-wordmark, .client-service-links { display: none; }
  .client-logo-mark { width: 31px; height: 31px; border-radius: 9px; }
  .client-logo-mark .icon { width: 17px; height: 17px; }
  .client-nav-actions { gap: 17px; }
  .client-nav-icon { width: 27px; }
  .client-nav-icon .icon { width: 22px; height: 22px; }
  .client-promo { min-height: 51px; padding: 9px 28px; display: flex; font-size: 13px; }
  .client-rating { min-height: 51px; padding: 8px 24px 10px; display: block; font-size: 12px; }
  .client-rating a { display: block; margin-top: 2px; }
  .client-promo button { margin: 4px auto 0; }
  .service-showcase { gap: 10px; }
  .service-panel { min-height: 710px; background-size: auto 100%; }
  .service-panel-copy { padding: 52px 16px 0; }
  .service-panel-copy h1 { font-size: 43px; letter-spacing: -2.5px; }
  .service-panel-copy p { max-width: 360px; margin: 8px auto 0; font-size: 24px; line-height: 1.15; letter-spacing: -1px; }
  .service-panel-price { margin-top: 10px; font-size: 12px; }
  .service-panel-actions { margin-top: 20px; gap: 10px; }
  .apple-btn { min-height: 43px; padding: 0 19px; font-size: 15px; }
  .service-panel-night .service-panel-copy h1 { font-size: 39px; }
  .back-to-showcase { margin: 0 10px 22px; }
}

@media (max-width: 380px) {
  .client-promo { padding-left: 25px; padding-right: 25px; }
  .service-panel-copy h1 { font-size: 39px; }
  .service-panel-copy p { font-size: 21px; }
  .apple-btn { min-height: 41px; padding: 0 16px; font-size: 14px; }
}

/* MateosDetail · réplica local de la portada original */
.mateos-brand-mark { overflow: hidden; border-radius: 50%; background: transparent; }
.mateos-brand-mark .mateos-logo-image { width: 100%; height: 100%; object-fit: contain; }

.client-topbar {
  height: 68px;
  background: rgba(248,248,249,.94);
  border-bottom: 0;
  box-shadow: 0 1px 0 rgba(0,0,0,.025);
}
.client-nav { width: 100%; max-width: none; padding: 0 28px; }
.mateos-logo-button { width: 38px; height: 38px; display: grid; place-items: center; }
.mateos-logo-disc {
  width: 32px;
  height: 32px;
  overflow: hidden;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: transparent;
}
.mateos-logo-disc .mateos-logo-image { width: 100%; height: 100%; object-fit: contain; }
.mateos-logo-image-inverted,
.mateos-logo-image-privilege { display: none; }
.mateos-menu-button {
  width: 42px;
  height: 42px;
  padding: 9px;
  border: 0;
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
}
.mateos-menu-button span { height: 2px; border-radius: 5px; background: #304254; }
.mateos-menu-button:hover span { background: #0078e7; }

.mateos-home { background: #f7f7f8; }
.mateos-trust-bar {
  min-height: 70px;
  padding: 13px 24px 12px;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #202124;
  text-align: center;
  font-size: 12px;
  line-height: 1.35;
}
.mateos-trust-bar a { color: #0076df; text-decoration: none; }
.mateos-trust-bar a:hover { text-decoration: underline; }
.mateos-star { color: #050505; font-size: 12px; }

/* Shared announcement strip: stable height across messages and customer pages. */
.mateos-announcement-bar { width: 100%; background: #fff; color: #6e6e73; }
.mateos-announcement-inner {
  width: min(100%, 1000px);
  min-height: 48px;
  margin-inline: auto;
  padding: 2px 18px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
}
.mateos-announcement-messages { display: grid; min-width: 0; text-align: center; font-size: 10px; line-height: 1.28; }
.mateos-announcement-slide {
  grid-area: 1 / 1;
  align-self: center;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}
.mateos-announcement-slide.is-active { visibility: visible; opacity: 1; pointer-events: auto; }
.mateos-announcement-slide a,
.mateos-announcement-slide button { padding: 0; border: 0; background: none; color: #06c; font: inherit; text-decoration: none; cursor: pointer; }
.mateos-announcement-slide a:hover,
.mateos-announcement-slide button:hover { text-decoration: underline; }
.mateos-announcement-bar .mateos-star { font-size: inherit; }
.mateos-announcement-arrow {
  width: 44px;
  height: 44px;
  padding: 12px;
  border: 0;
  border-radius: 4px;
  background: none;
  color: #6e6e73;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.mateos-announcement-arrow .icon { width: 17px; height: 17px; }
.mateos-announcement-arrow:hover { color: #1d1d1f; }
.mateos-announcement-bar :is(button, a):focus-visible { outline: 2px solid #0071e3; outline-offset: 2px; }
@media (max-width: 760px) {
  .mateos-announcement-inner { padding-inline: 6px; gap: 2px; }
  .mateos-announcement-messages { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .mateos-announcement-slide { transition: none; }
}

.mateos-hero { min-height: 440px; padding: 0 22px; background: #f7f7f8; overflow: hidden; }
.mateos-hero-main {
  width: min(100%, 1200px);
  min-height: 420px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr);
  align-items: center;
}
.mateos-hero-copy {
  padding: 36px 0 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.mateos-hero-copy h1 {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  text-align: center;
  color: #0b0b0c;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(42px, 4.8vw, 62px);
  font-weight: 800;
  line-height: .94;
  letter-spacing: -.7px;
  text-transform: uppercase;
}
.mateos-hero-copy p {
  width: 100%;
  max-width: 650px;
  margin: 18px auto 0;
  text-align: center;
  color: #111215;
  font-size: clamp(18px, 2vw, 27px);
  font-weight: 760;
  line-height: 1.05;
  letter-spacing: 7px;
  text-transform: uppercase;
}
.mateos-actions { margin-top: 46px; display: flex; align-items: center; justify-content: center; gap: 22px; }
.mateos-button {
  min-width: 190px;
  min-height: 52px;
  padding: 0 28px;
  border-radius: 27px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  font-weight: 760;
  cursor: pointer;
  transition: transform .18s ease, color .18s ease, background .18s ease;
}
.mateos-button:hover { transform: translateY(-1px); }
.mateos-button-primary { border: 1.5px solid #087bec; background: #087bec; color: #fff; box-shadow: 0 8px 20px rgba(8,123,236,.16); }
.mateos-button-primary:hover { background: #006ed6; }
.mateos-button-outline { border: 1.5px solid #087bec; background: transparent; color: #0070d9; }
.mateos-button-outline:hover { background: #087bec; color: #fff; }
.mateos-hero-person {
  position: relative;
  height: 420px;
  align-self: end;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.mateos-hero-person::after {
  content: '';
  position: absolute;
  z-index: 2;
  right: -8%;
  bottom: -2px;
  left: -8%;
  height: 142px;
  background: linear-gradient(to bottom, rgba(247,247,248,0) 0%, rgba(247,247,248,.06) 22%, rgba(247,247,248,.3) 52%, rgba(247,247,248,.76) 78%, #f7f7f8 100%);
  pointer-events: none;
}
.mateos-hero-camera {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.mateos-hero-person img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 61%, rgba(0,0,0,.98) 68%, rgba(0,0,0,.84) 76%, rgba(0,0,0,.58) 85%, rgba(0,0,0,.25) 93%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 61%, rgba(0,0,0,.98) 68%, rgba(0,0,0,.84) 76%, rgba(0,0,0,.58) 85%, rgba(0,0,0,.25) 93%, transparent 100%);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.mateos-hero-pose { filter: none; }

.mateos-proof { width: min(100%, 930px); margin: -4px auto 0; text-align: center; }
.mateos-proof > p { margin: 0; color: #1c1d20; font-size: clamp(14px, 1.55vw, 19px); letter-spacing: .15px; }
.mateos-proof > p strong { color: #142866; }
.mateos-partners { margin: 17px auto 0; display: flex; align-items: center; justify-content: center; gap: clamp(20px, 3.8vw, 54px); }
.mateos-partners img { width: 108px; max-width: 15vw; height: 38px; object-fit: contain; opacity: .9; }
.mateos-partners img:nth-child(2) { transform: scale(1.55); }
.mateos-partners img:nth-child(4) { transform: scale(1.22); }

.mateos-footer {
  padding: 20px 24px 24px;
  border-top: 1px solid #ececef;
  background: #fff;
  color: #33353a;
  text-align: center;
  font-size: 10px;
  line-height: 1.55;
}
.mateos-footer p { margin: 1px 0; }
.mateos-footer a, .mateos-footer button { color: #0075df; }
.mateos-footer nav { max-width: 850px; margin: 9px auto 8px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px; }
.mateos-footer nav button { padding: 0 2px; border: 0; background: transparent; font-size: inherit; cursor: pointer; }
.mateos-footer nav button:hover { text-decoration: underline; }
.mateos-footer > strong { color: #212226; font-size: 10px; }

.mateos-modal-services { margin-top: 20px; display: grid; gap: 7px; }
.mateos-modal-services > div { padding: 11px 13px; border-radius: 11px; background: #f5f5f7; display: flex; align-items: center; justify-content: space-between; gap: 15px; font-size: 12px; }
.mateos-modal-services strong { color: var(--blue); }
.mateos-modal-area { margin: 16px 0 0; color: var(--muted); font-size: 12px; text-align: center; }

@media (max-width: 760px) {
  .client-topbar { height: 50px; position: relative; }
  .client-nav { padding: 0 10px 0 12px; }
  .mateos-logo-button { width: 32px; height: 32px; }
  .mateos-logo-disc { width: 25px; height: 25px; }
  .mateos-logo-disc img { width: 17px; height: 22px; }
  .mateos-menu-button { width: 40px; height: 40px; padding: 10px; gap: 4px; }
  .mateos-trust-bar { min-height: 59px; padding: 9px 20px 8px; font-size: 9px; line-height: 1.27; }
  .mateos-hero { min-height: 0; padding: 0 14px 17px; }
  .mateos-hero-main { min-height: 0; grid-template-columns: 1fr; }
  .mateos-hero-copy { padding: 20px 0 0; }
  .mateos-hero-copy h1 { font-size: clamp(23px, 6.3vw, 27px); line-height: 1; letter-spacing: -.15px; white-space: nowrap; }
  .mateos-hero-copy p { margin-top: 5px; font-size: 13px; letter-spacing: 3.2px; }
  .mateos-actions { margin-top: 36px; gap: 10px; }
  .mateos-button { min-width: 0; width: min(42vw, 154px); min-height: 44px; padding: 0 10px; font-size: 13px; }
  .mateos-hero-person { height: 320px; margin-top: 12px; }
  .mateos-hero-person::after { right: -16%; left: -16%; height: 112px; }
  .mateos-hero-camera { width: min(100%, 265px); }
  .mateos-hero-person img { width: 100%; }
  .mateos-proof { margin-top: 13px; }
  .mateos-proof > p { font-size: 11px; }
  .mateos-partners { margin-top: 13px; gap: 17px; }
  .mateos-partners img { width: 49px; max-width: none; height: 22px; }
  .mateos-partners img:nth-child(2) { transform: scale(1.5); }
  .mateos-partners img:nth-child(4) { transform: scale(1.18); }
  .checkout-proof { margin-bottom: 18px; padding: 18px 11px; }
  .checkout-proof > p { font-size: 10px; line-height: 1.35; }
  .checkout-proof .mateos-partners { gap: 12px; }
  .checkout-selection-required { grid-template-columns: auto 1fr; padding: 18px; }
  .checkout-selection-required button { grid-column: 1 / -1; width: 100%; }
  .mateos-footer { padding: 18px 18px 14px; font-size: 9px; line-height: 1.45; }
  .mateos-footer nav { margin-top: 8px; gap: 3px; }
  .mateos-footer > strong { font-size: 9px; }
}

@media (max-width: 370px) {
  .mateos-hero-copy h1 { font-size: 22px; }
  .mateos-hero-copy p { font-size: 11px; letter-spacing: 2.8px; }
  .mateos-actions { margin-top: 29px; }
  .mateos-button { font-size: 12px; }
  .mateos-hero-person { height: 290px; }
}

/* Conserva el mosaico de complementos por encima de los estilos heredados. */
.addons-premium-section .addons-carousel {
  display: grid;
  width: min(100% - 48px, 820px);
  margin: 0 auto;
  padding: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  overflow: visible;
}

@media (max-width: 680px) {
  .addons-premium-section .addons-carousel {
    width: calc(100% - 32px);
    padding: 0;
    gap: 10px;
  }
}

/* Complementos · vídeo limpio arriba e información fuera del encuadre. */
.checkout-page-complements .addon-showcase-card {
  display: grid !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  grid-template-rows: auto 1fr;
  background: #fff !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-visual {
  position: relative !important;
  inset: auto !important;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #f5f5f7 !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-visual::after,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-visual::after {
  display: none !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-content,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-content,
.checkout-page-complements .addon-showcase-card.awaiting-media .addon-card-content {
  position: relative !important;
  inset: auto !important;
  z-index: 2;
  min-height: 132px !important;
  padding: 14px !important;
  justify-content: flex-start !important;
  background: #fff !important;
  color: #1d1d1f !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-index,
.checkout-page-complements .addon-showcase-card .addon-card-content h4,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-content h4 {
  color: #1d1d1f !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-index {
  font-size: 9px !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-content h4 {
  font-size: clamp(17px, 2vw, 22px) !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-footer {
  margin-top: auto !important;
  padding-top: 10px !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-cta,
.checkout-page-complements .addon-showcase-card.selected .addon-card-cta,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-cta,
.checkout-page-complements .addon-showcase-card.selected.has-media .addon-card-cta {
  color: var(--blue) !important;
}

.checkout-page-complements .addon-showcase-card .addon-variant-label {
  color: #6e6e73 !important;
}

.checkout-page-complements .addon-showcase-card .addon-variant-select {
  border-color: #b7b7bd !important;
  background: #fff !important;
  color: #1d1d1f !important;
}

.checkout-page-complements .addon-showcase-card[data-addon-card='fabric-mats'] .addon-card-visual video {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

.checkout-page-complements .addon-showcase-card[data-addon-card='ag-hygienizer'] .addon-card-visual {
  background: #000 !important;
}

.checkout-page-complements .addon-showcase-card[data-addon-card='ag-hygienizer'] .addon-card-visual video {
  width: 100% !important;
  height: 125% !important;
  object-fit: cover !important;
  object-position: center top !important;
  transform: none !important;
}

/* Complementos · prioridad definitiva para la composición superpuesta. */
.checkout-page-complements .addon-showcase-card {
  position: relative !important;
  display: flex !important;
  min-height: 0 !important;
  aspect-ratio: .72 !important;
  overflow: hidden !important;
  background: #111 !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-visual {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  background: #111 !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-visual::after,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-visual::after {
  content: '' !important;
  position: absolute !important;
  display: block !important;
  inset: 0 !important;
  background: linear-gradient(180deg, transparent 42%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.92) 100%) !important;
  opacity: 1 !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-content,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-content {
  position: absolute !important;
  inset: auto 0 0 !important;
  z-index: 2 !important;
  min-height: 0 !important;
  padding: 14px !important;
  justify-content: flex-end !important;
  background: transparent !important;
  color: #fff !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-index,
.checkout-page-complements .addon-showcase-card .addon-card-content h4,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-content h4,
.checkout-page-complements .addon-showcase-card .addon-card-cta,
.checkout-page-complements .addon-showcase-card.selected .addon-card-cta,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-cta,
.checkout-page-complements .addon-showcase-card.selected.has-media .addon-card-cta {
  color: #fff !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-footer {
  margin-top: 9px !important;
  padding-top: 0 !important;
}

.checkout-page-complements .addon-showcase-card[data-addon-card='fabric-mats'] .addon-card-visual video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
}

.checkout-page-complements .addon-showcase-card[data-addon-card='ag-hygienizer'] .addon-card-visual video {
  width: 100% !important;
  height: 138% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

@media (max-width: 760px) {
  .checkout-page-complements .addon-showcase-card {
    aspect-ratio: .69 !important;
  }

  .checkout-page-complements .addon-showcase-card .addon-card-content,
  .checkout-page-complements .addon-showcase-card.has-media .addon-card-content {
    padding: 12px !important;
  }
}

/* Complementos · tarjeta audiovisual completa como en la composición anterior. */
.checkout-page-complements .addons-premium-heading > span {
  display: none !important;
}

.checkout-page-complements .addon-showcase-card {
  position: relative !important;
  display: flex !important;
  min-height: 0 !important;
  aspect-ratio: .72 !important;
  overflow: hidden !important;
  background: #111 !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-visual {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  background: #111 !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-visual::after,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-visual::after {
  content: '' !important;
  position: absolute !important;
  display: block !important;
  inset: 0 !important;
  background: linear-gradient(180deg, transparent 42%, rgba(0,0,0,.2) 58%, rgba(0,0,0,.9) 100%) !important;
  opacity: 1 !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-content,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-content {
  position: absolute !important;
  inset: auto 0 0 !important;
  z-index: 2 !important;
  min-height: 0 !important;
  padding: 14px !important;
  justify-content: flex-end !important;
  background: transparent !important;
  color: #fff !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-index,
.checkout-page-complements .addon-showcase-card .addon-card-content h4,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-content h4,
.checkout-page-complements .addon-showcase-card .addon-card-cta,
.checkout-page-complements .addon-showcase-card.selected .addon-card-cta,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-cta,
.checkout-page-complements .addon-showcase-card.selected.has-media .addon-card-cta {
  color: #fff !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-footer {
  margin-top: 9px !important;
  padding-top: 0 !important;
}

.checkout-page-complements .addon-showcase-card[data-addon-card='fabric-mats'] .addon-card-visual video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
}

.checkout-page-complements .addon-showcase-card[data-addon-card='ag-hygienizer'] .addon-card-visual video {
  width: 100% !important;
  height: 138% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

@media (max-width: 760px) {
  .checkout-page-complements .addon-showcase-card {
    aspect-ratio: .69 !important;
  }

  .checkout-page-complements .addon-showcase-card .addon-card-content,
  .checkout-page-complements .addon-showcase-card.has-media .addon-card-content {
    padding: 12px !important;
  }
}

@media (max-width: 760px) {
  .checkout-page-complements .addon-showcase-card {
    aspect-ratio: auto !important;
  }

  .checkout-page-complements .addon-showcase-card .addon-card-content,
  .checkout-page-complements .addon-showcase-card.has-media .addon-card-content {
    min-height: 124px !important;
    padding: 11px !important;
  }

  .checkout-page-complements .addon-showcase-card .addon-card-content h4 {
    font-size: clamp(15px, 4.2vw, 18px) !important;
  }
}

/* Complementos · mosaico audiovisual sobre fondo negro. */
.checkout-page-complements {
  background: #000;
}

.checkout-page-complements .checkout-complements-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: #000;
}

.checkout-page-complements .addons-premium-section {
  width: 100%;
  margin: 0;
  padding: 38px 0 64px;
  border: 0;
  border-radius: 0;
  background: #000;
  color: #fff;
}

.checkout-page-complements .addons-premium-heading {
  width: min(calc(100% - 56px), 980px);
  max-width: none;
  margin: 0 auto 20px;
  padding: 0;
  border: 0;
  text-align: left;
}

.checkout-page-complements .addons-premium-heading > span {
  display: block;
  margin: 0 0 12px;
  color: #d0ad78;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .17em;
}

.checkout-page-complements .addons-premium-heading h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.045em;
}

.checkout-page-complements .addons-premium-heading p {
  margin: 10px 0 0;
  color: #909094;
  font-size: 16px;
  line-height: 1.35;
}

.checkout-page-complements .addons-carousel {
  display: grid;
  width: min(calc(100% - 56px), 980px);
  margin: 0 auto;
  padding: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  overflow: visible;
}

.checkout-page-complements .addon-showcase-card {
  position: relative;
  min-width: 0;
  min-height: 0;
  aspect-ratio: .78;
  border: 1px solid #303033;
  border-radius: 15px;
  background: #171719;
  box-shadow: none;
  overflow: hidden;
  isolation: isolate;
}

.checkout-page-complements .addon-showcase-card .addon-card-visual {
  position: absolute;
  inset: 0;
  min-height: 0;
  background:
    radial-gradient(circle at 72% 18%, rgba(0,113,227,.48), transparent 38%),
    linear-gradient(145deg, #202126, #080809 72%);
  color: transparent;
  font-size: 0;
}

.checkout-page-complements .addon-showcase-card .addon-card-visual img,
.checkout-page-complements .addon-showcase-card .addon-card-visual video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.checkout-page-complements .addon-showcase-card .addon-card-visual::after,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.02) 32%, rgba(0,0,0,.24) 58%, rgba(0,0,0,.93) 100%);
  opacity: 1;
}

.checkout-page-complements .addon-showcase-card .addon-card-content,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  min-height: 0;
  padding: 16px;
  flex-direction: column;
  justify-content: flex-end;
  color: #fff;
  background: transparent;
}

.checkout-page-complements .addon-showcase-card .addon-card-index {
  margin: 0 0 5px;
  color: #fff;
  font-size: 10px;
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: .08em;
  opacity: .82;
}

.checkout-page-complements .addon-showcase-card .addon-card-content h4 {
  max-width: 100%;
  margin: 0;
  color: #fff;
  font-size: clamp(18px, 2.25vw, 25px);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.035em;
}

.checkout-page-complements .addon-showcase-card .addon-card-short {
  display: none;
}

.checkout-page-complements .addon-showcase-card .addon-variant-label {
  margin-top: 8px;
  color: #fff;
  font-size: 10px;
  opacity: .82;
}

.checkout-page-complements .addon-showcase-card .addon-variant-select {
  min-height: 34px;
  margin-top: 4px;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 9px;
  background: rgba(12,12,14,.74);
  color: #fff;
  font-size: 11px;
}

.checkout-page-complements .addon-showcase-card .addon-card-footer {
  margin-top: 9px;
  padding: 0;
}

.checkout-page-complements .addon-showcase-card .addon-card-cta,
.checkout-page-complements .addon-showcase-card.selected .addon-card-cta,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-cta,
.checkout-page-complements .addon-showcase-card.selected.has-media .addon-card-cta {
  display: inline-flex;
  min-height: 0;
  padding: 0;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
  box-shadow: none;
}

.checkout-page-complements .addon-showcase-card .addon-card-cta svg {
  width: 15px;
  height: 15px;
}

.checkout-page-complements .addon-showcase-card.selected {
  border-color: #2997ff;
  box-shadow: 0 0 0 2px #2997ff;
}

.checkout-page-complements .checkout-page-actions {
  width: min(calc(100% - 56px), 980px);
  margin: 42px auto 0;
}

@media (max-width: 760px) {
  .checkout-page-complements .addons-premium-section {
    padding: 30px 0 46px;
  }

  .checkout-page-complements .addons-premium-heading,
  .checkout-page-complements .addons-carousel,
  .checkout-page-complements .checkout-page-actions {
    width: calc(100% - 56px);
  }

  .checkout-page-complements .addons-premium-heading {
    margin-bottom: 20px;
  }

  .checkout-page-complements .addons-premium-heading h3 {
    font-size: 29px;
  }

  .checkout-page-complements .addons-premium-heading p {
    font-size: 15px;
  }

  .checkout-page-complements .addons-carousel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
  }

  .checkout-page-complements .addon-showcase-card {
    border-radius: 13px;
  }

  .checkout-page-complements .addon-showcase-card .addon-card-content,
  .checkout-page-complements .addon-showcase-card.has-media .addon-card-content {
    padding: 13px;
  }

  .checkout-page-complements .addon-showcase-card .addon-card-content h4 {
    font-size: clamp(17px, 5vw, 22px);
  }

  .checkout-page-complements .addon-showcase-card .addon-card-cta {
    font-size: 12px;
  }
}

@media (max-width: 370px) {
  .checkout-page-complements .addons-premium-heading,
  .checkout-page-complements .addons-carousel,
  .checkout-page-complements .checkout-page-actions {
    width: calc(100% - 36px);
  }
}

/* Complementos · composición editorial blanca inspirada en el mosaico de referencia. */
.checkout-complements-content,
.checkout-complements-content .addons-premium-section {
  background: #fff;
}

.checkout-complements-content .addons-premium-section {
  border: 0;
  padding-top: 34px;
}

.checkout-complements-content .addons-premium-heading {
  width: min(100% - 48px, 820px);
  margin: 0 auto 20px;
  padding: 22px 0 0;
  border-top: 1px solid #d2d2d7;
}

.checkout-complements-content .addons-premium-heading > span {
  display: block;
  margin-bottom: 9px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
}

.checkout-complements-content .addons-premium-heading h3 {
  margin: 0;
  color: #1d1d1f;
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  letter-spacing: -.045em;
}

.checkout-complements-content .addons-premium-heading p {
  margin: 8px 0 0;
  color: #6e6e73;
  font-size: 16px;
  line-height: 1.35;
}

.checkout-complements-content .addon-showcase-card {
  min-height: 430px;
  border: 1px solid #d2d2d7;
  border-radius: 18px;
}

.checkout-complements-content .addon-showcase-card .addon-card-content h4 {
  font-weight: 800;
}

.checkout-complements-content .addon-showcase-card .addon-card-cta {
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--blue);
}

.checkout-complements-content .addon-showcase-card.has-media .addon-card-cta {
  color: #fff;
}

.checkout-complements-content .addon-showcase-card.selected .addon-card-cta {
  background: transparent;
  color: var(--blue);
}

.checkout-complements-content .addon-showcase-card.selected.has-media .addon-card-cta {
  color: #fff;
}

@media (max-width: 680px) {
  .checkout-complements-content .addons-premium-section { padding-top: 22px; }
  .checkout-complements-content .addons-premium-heading { width: calc(100% - 32px); padding-top: 18px; }
  .checkout-complements-content .addons-premium-heading > span { font-size: 10px; }
  .checkout-complements-content .addons-premium-heading h3 { font-size: 28px; }
  .checkout-complements-content .addons-premium-heading p { font-size: 14px; }
  .checkout-complements-content .addon-showcase-card { min-height: 330px; }
}

/* Más información · composición fiel a la referencia, en azul MateosDetail. */
.more-info-remodeling-page {
  min-height: calc(100vh - var(--header-h, 0px));
  display: grid;
  place-items: start center;
  padding: 0;
  background: #fff;
}

.more-info-remodeling {
  width: min(100%, 620px);
  margin: 0 auto;
}

.more-info-remodeling img {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 760px) {
  .more-info-remodeling { width: min(100%, 720px); }
}

/* Complementos · réplica de la retícula vertical de Escapes sobre fondo blanco. */
.checkout-complements-content .addons-premium-section {
  padding: 0 0 44px;
}

.checkout-complements-content .addons-premium-heading {
  width: min(calc(100% - 56px), 820px);
  margin: 0 auto 18px;
  padding: 34px 0 0;
  border-top: 1px solid #d2d2d7;
}

.checkout-complements-content .addons-premium-heading > span {
  margin-bottom: 10px;
  color: var(--blue);
  font-size: 11px;
  line-height: 1;
  letter-spacing: .16em;
}

.checkout-complements-content .addons-premium-heading h3 {
  font-size: 31px;
  line-height: 1.04;
}

.checkout-complements-content .addons-premium-heading p {
  margin-top: 10px;
  font-size: 15px;
}

.checkout-complements-content .addons-carousel {
  width: min(calc(100% - 56px), 820px);
  gap: 12px;
}

.checkout-complements-content .addon-showcase-card {
  min-height: 0;
  aspect-ratio: .79;
  border: 1px solid #c7c7cc;
  border-radius: 14px;
  background: #edf3f9;
  box-shadow: none;
}

.checkout-complements-content .addon-showcase-card .addon-card-content {
  justify-content: flex-end;
  padding: 14px;
  color: #1d1d1f;
  background: linear-gradient(180deg, transparent 33%, rgba(255,255,255,.16) 48%, rgba(255,255,255,.96) 100%);
}

.checkout-complements-content .addon-showcase-card.has-media .addon-card-content {
  color: #fff;
  background: linear-gradient(180deg, transparent 43%, rgba(0,0,0,.08) 55%, rgba(0,0,0,.8) 100%);
}

.checkout-complements-content .addon-showcase-card .addon-card-index {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.15;
}

.checkout-complements-content .addon-showcase-card .addon-card-content h4 {
  max-width: 100%;
  margin-top: 3px;
  font-size: clamp(18px, 2.6vw, 25px);
  line-height: 1.04;
  font-weight: 800;
  letter-spacing: -.035em;
}

.checkout-complements-content .addon-showcase-card .addon-card-footer {
  margin-top: 8px;
}

.checkout-complements-content .addon-showcase-card .addon-card-cta,
.checkout-complements-content .addon-showcase-card.selected .addon-card-cta,
.checkout-complements-content .addon-showcase-card.has-media .addon-card-cta,
.checkout-complements-content .addon-showcase-card.selected.has-media .addon-card-cta {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: none;
}

.checkout-complements-content .addon-showcase-card .addon-card-cta svg {
  width: 15px;
  height: 15px;
}

.checkout-complements-content .addon-showcase-card .addon-variant-label {
  margin-top: 7px;
  font-size: 10px;
}

.checkout-complements-content .addon-showcase-card .addon-variant-select {
  min-height: 34px;
  margin-top: 3px;
  border-radius: 9px;
  background: rgba(255,255,255,.94);
  font-size: 11px;
}

.checkout-complements-content .addon-showcase-card.selected {
  box-shadow: 0 0 0 3px rgba(23,104,229,.25);
}

@media (max-width: 680px) {
  .checkout-complements-content .addons-premium-section { padding-top: 0; }
  .checkout-complements-content .addons-premium-heading,
  .checkout-complements-content .addons-carousel { width: calc(100% - 56px); }
  .checkout-complements-content .addons-premium-heading { padding-top: 30px; }
  .checkout-complements-content .addons-premium-heading h3 { font-size: 29px; }
  .checkout-complements-content .addon-showcase-card { min-height: 0; border-radius: 13px; }
  .checkout-complements-content .addon-showcase-card .addon-card-content { padding: 12px; }
  .checkout-complements-content .addon-showcase-card .addon-card-content h4 { font-size: clamp(17px, 4.8vw, 22px); }
  .checkout-complements-content .addon-showcase-card .addon-card-cta { font-size: 12px; }
}

/* Página editorial de servicios · inspirada en la estructura de producto de Apple */
.info-page { overflow: hidden; background: #fff; color: #1d1d1f; }
.info-offer {
  min-height: 52px;
  padding: 12px 22px;
  background: #f5f5f7;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
  text-align: center;
  font-size: 13px;
  line-height: 1.4;
}
.info-offer button, .info-section-heading button, .info-link {
  padding: 0;
  border: 0;
  background: transparent;
  color: #06c;
  cursor: pointer;
}
.info-offer button:hover, .info-section-heading button:hover, .info-link:hover { text-decoration: underline; }

.info-family { padding: 65px 0 56px; background: #fff; }
.info-page-heading { width: min(100%, 1120px); margin: 0 auto; padding: 0 24px; position: relative; }
.info-page-heading h1 { margin: 0; font-size: clamp(58px, 7vw, 86px); line-height: 1; letter-spacing: -5px; font-weight: 720; }
.info-back { margin-bottom: 24px; padding: 4px 0; border: 0; background: transparent; color: #56575c; display: inline-flex; align-items: center; gap: 3px; font-size: 12px; cursor: pointer; }
.info-back:hover { color: #06c; }
.info-back .icon { width: 14px; height: 14px; }
.info-family-scroll {
  width: min(100%, 1120px);
  margin: 58px auto 0;
  padding: 0 24px 8px;
  display: flex;
  align-items: flex-start;
  gap: clamp(22px, 4.2vw, 54px);
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}
.info-family-scroll::-webkit-scrollbar, .info-closeup-scroll::-webkit-scrollbar { display: none; }
.info-family-item { width: 125px; flex: 0 0 125px; padding: 0; border: 0; background: transparent; text-align: center; cursor: pointer; scroll-snap-align: start; }
.info-family-visual { width: 94px; height: 96px; margin: 0 auto 13px; border-radius: 22px; overflow: hidden; display: grid; place-items: center; background: #f5f5f7; transition: transform .2s ease; }
.info-family-item:hover .info-family-visual { transform: translateY(-3px); }
.info-family-visual img { width: 100%; height: 100%; object-fit: cover; }
.info-family-item strong { display: block; font-size: 13px; line-height: 1.2; }
.info-family-item small { display: block; margin-top: 5px; color: #707176; font-size: 10px; }
.info-family-compare .info-family-visual { border-radius: 50%; background: #e9f2ff; color: #06c; }
.info-family-compare .icon { width: 34px; height: 34px; }

.info-lineup { padding: 108px max(24px, calc((100vw - 1120px) / 2)); background: #f5f5f7; }
.info-section-heading { width: 100%; max-width: 1120px; margin: 0 auto 48px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.info-section-heading h2 { max-width: 820px; margin: 0; font-size: clamp(44px, 5.2vw, 66px); line-height: 1.03; letter-spacing: -3.6px; font-weight: 690; }
.info-section-heading button { flex: 0 0 auto; margin-bottom: 7px; font-size: 14px; }

.advanced-card {
  width: 100%;
  max-width: 1120px;
  min-height: 650px;
  margin: 0 auto;
  border-radius: 34px;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(390px, .95fr) minmax(0, 1.25fr);
  background: #000;
  color: #f5f5f7;
  box-shadow: 0 26px 80px rgba(0,0,0,.12);
}
.advanced-copy { padding: 68px 22px 58px 58px; position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; }
.advanced-kicker { color: #62a9ff; font-size: 12px; font-weight: 750; letter-spacing: .9px; text-transform: uppercase; }
.advanced-copy h2 { margin: 16px 0 24px; font-size: clamp(55px, 6vw, 78px); line-height: .95; letter-spacing: -4px; }
.advanced-copy > p { max-width: 490px; margin: 0; color: #b7b7bd; font-size: 22px; line-height: 1.38; letter-spacing: -.45px; }
.advanced-copy > p strong { color: #fff; font-weight: 720; }
.advanced-meta { margin-top: auto; padding-top: 40px; display: flex; flex-direction: column; gap: 8px; }
.advanced-meta > strong { color: #fff; font-size: 22px; }
.advanced-meta > span { color: #86868b; font-size: 12px; }
.advanced-actions { margin-top: 24px; display: flex; align-items: center; gap: 17px; }
.info-primary { min-height: 44px; padding: 0 20px; border: 0; border-radius: 23px; background: #0077ed; color: #fff; font-weight: 700; cursor: pointer; }
.info-primary:hover { background: #0071e3; }
.info-link { font-size: 14px; }
.advanced-visual { min-width: 0; position: relative; overflow: hidden; }
.advanced-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #000 0%, rgba(0,0,0,.58) 13%, transparent 40%); pointer-events: none; }
.advanced-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; transform: scale(1.05); }

.info-closeup { padding: 112px 0; background: #fff; }
.info-closeup .info-section-heading { padding: 0 24px; }
.info-closeup-scroll { width: min(100%, 1220px); margin: 0 auto; padding: 0 24px 12px; display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.closeup-card { width: 380px; height: 520px; flex: 0 0 380px; border-radius: 30px; overflow: hidden; position: relative; isolation: isolate; background: #111 var(--closeup-image) center/cover no-repeat; color: #fff; scroll-snap-align: start; }
.closeup-card::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.24) 34%, rgba(0,0,0,.06) 58%, rgba(0,0,0,.66) 100%); }
.closeup-card > div { height: 100%; padding: 34px; display: flex; flex-direction: column; justify-content: space-between; }
.closeup-card h3 { max-width: 290px; margin: 0; font-size: 30px; line-height: 1.05; letter-spacing: -1.3px; }
.closeup-card p { max-width: 300px; margin: 0; color: rgba(255,255,255,.86); font-size: 14px; line-height: 1.45; }

.info-benefits { padding: 110px max(24px, calc((100vw - 1120px) / 2)); background: #f5f5f7; }
.info-benefit-grid { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 15px; }
.info-benefit-grid article { min-height: 285px; padding: 30px; border-radius: 28px; background: #fff; display: flex; flex-direction: column; }
.info-benefit-grid article > span { width: 43px; height: 43px; border-radius: 50%; display: grid; place-items: center; background: #eaf2ff; color: #06c; }
.info-benefit-grid h3 { margin: auto 0 10px; font-size: 23px; line-height: 1.05; letter-spacing: -.8px; }
.info-benefit-grid p { margin: 0; color: #6e6e73; font-size: 13px; line-height: 1.45; }

.info-final-cta { padding: 120px 24px; background: #fff; text-align: center; }
.info-final-cta > span { color: #06c; font-size: 12px; font-weight: 750; letter-spacing: 1px; text-transform: uppercase; }
.info-final-cta h2 { max-width: 850px; margin: 15px auto 34px; font-size: clamp(42px, 6vw, 72px); line-height: 1; letter-spacing: -3.8px; }

@media (max-width: 900px) {
  .advanced-card { min-height: 0; grid-template-columns: 1fr; }
  .advanced-copy { min-height: 590px; padding: 56px 48px 45px; }
  .advanced-visual { height: 420px; }
  .advanced-visual::after { background: linear-gradient(180deg, #000 0%, rgba(0,0,0,.5) 13%, transparent 38%); }
  .info-benefit-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 650px) {
  .info-offer { min-height: 58px; padding: 9px 25px; font-size: 11px; }
  .info-family { padding: 35px 0 36px; }
  .info-page-heading { padding: 0 22px; }
  .info-page-heading h1 { font-size: 48px; letter-spacing: -3px; }
  .info-back { margin-bottom: 17px; }
  .info-family-scroll { margin-top: 38px; padding: 0 22px 8px; gap: 18px; }
  .info-family-item { width: 91px; flex-basis: 91px; }
  .info-family-visual { width: 76px; height: 78px; border-radius: 18px; }
  .info-family-item strong { font-size: 11px; }
  .info-family-item small { font-size: 9px; }
  .info-lineup { padding: 78px 16px; }
  .info-section-heading { margin-bottom: 32px; align-items: flex-start; flex-direction: column; gap: 12px; }
  .info-section-heading h2 { font-size: 42px; letter-spacing: -2.5px; }
  .info-section-heading button { margin: 0; }
  .advanced-card { border-radius: 26px; }
  .advanced-copy { min-height: 570px; padding: 44px 27px 36px; }
  .advanced-copy h2 { margin-top: 13px; font-size: 57px; letter-spacing: -3px; }
  .advanced-copy > p { font-size: 20px; line-height: 1.37; }
  .advanced-meta { padding-top: 34px; }
  .advanced-visual { height: 310px; }
  .advanced-visual img { object-position: 58% center; transform: scale(1.22); }
  .info-closeup { padding: 78px 0; }
  .info-closeup .info-section-heading { padding: 0 22px; }
  .info-closeup-scroll { padding: 0 22px 10px; gap: 13px; }
  .closeup-card { width: 315px; height: 460px; flex-basis: 315px; border-radius: 25px; }
  .closeup-card > div { padding: 27px; }
  .closeup-card h3 { font-size: 27px; }
  .info-benefits { padding: 78px 16px; }
  .info-benefit-grid { grid-template-columns: 1fr; gap: 12px; }
  .info-benefit-grid article { min-height: 220px; padding: 27px; }
  .info-final-cta { padding: 88px 22px; }
  .info-final-cta h2 { font-size: 46px; letter-spacing: -2.7px; }
}

/* Selector de reserva · estantería horizontal con profundidad 3D */
.booking-store-page { overflow: hidden; background: #f5f5f7; color: #1d1d1f; }
.booking-store-offer { min-height: 53px; padding: 11px 24px; background: #fff; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 5px; text-align: center; font-size: 12px; }
.booking-store-offer span { color: #6e6e73; }
.booking-store-hero { width: min(100%, 1120px); margin: 0 auto; padding: 78px 24px 54px; }
.store-back { margin-bottom: 32px; padding: 4px 0; border: 0; background: transparent; color: #65666b; display: inline-flex; align-items: center; gap: 3px; font-size: 12px; cursor: pointer; }
.store-back:hover { color: #06c; }
.store-back .icon { width: 14px; height: 14px; }
.booking-store-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; }
.booking-store-heading h1 { margin: 0; font-size: clamp(58px, 6.4vw, 82px); line-height: .98; letter-spacing: -4.8px; font-weight: 690; }
.booking-store-help { padding-bottom: 9px; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.booking-store-help button, .booking-store-help a { padding: 0; border: 0; background: transparent; color: #06c; text-decoration: none; font-size: 13px; cursor: pointer; }
.booking-store-help button:hover, .booking-store-help a:hover { text-decoration: underline; }
.booking-store-nav { margin-top: 72px; padding-bottom: 8px; display: flex; align-items: center; gap: clamp(25px, 4vw, 55px); overflow-x: auto; scrollbar-width: none; }
.booking-store-nav::-webkit-scrollbar { display: none; }
.booking-store-nav button { flex: 0 0 auto; padding: 8px 0; border: 0; background: transparent; color: #202124; font-size: 14px; cursor: pointer; }
.booking-store-nav button:hover { color: #06c; }

.booking-store-catalog { padding: 4px 0 90px; }
.booking-store-catalog-head { width: min(100%, 1120px); margin: 0 auto 27px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.booking-store-catalog-head h2 { margin: 0; font-size: clamp(27px, 3vw, 38px); line-height: 1.08; letter-spacing: -1.5px; }
.booking-store-catalog-head h2 span { color: #6e6e73; font-weight: 580; }
.booking-shelf-controls { display: flex; gap: 10px; }
.booking-shelf-controls button { width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: #e3e3e7; display: grid; place-items: center; cursor: pointer; transition: background .18s ease, transform .18s ease; }
.booking-shelf-controls button:hover { background: #d8d8dd; transform: scale(1.04); }

.booking-service-shelf {
  width: 100%;
  padding: 20px max(24px, calc((100vw - 1120px) / 2)) 45px;
  display: flex;
  gap: 22px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: max(24px, calc((100vw - 1120px) / 2));
  scrollbar-width: none;
  perspective: 1300px;
}
.booking-service-shelf::-webkit-scrollbar { display: none; }
.booking-service-card {
  --rx: 0deg;
  --ry: var(--rest-ry, 0deg);
  --shine-x: 50%;
  --shine-y: 20%;
  width: 354px;
  min-height: 665px;
  flex: 0 0 354px;
  padding: 31px 28px 27px;
  border: 1px solid rgba(0,0,0,.045);
  border-radius: 30px;
  overflow: hidden;
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  background: #fff;
  box-shadow: 0 14px 38px rgba(0,0,0,.075);
  transform-style: preserve-3d;
  transform: perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));
  transition: transform .12s ease-out, box-shadow .22s ease, border-color .22s ease;
  scroll-snap-align: start;
  will-change: transform;
}
.booking-service-card:hover { box-shadow: 0 26px 65px rgba(0,0,0,.15); }
.booking-service-card.selected { border-color: color-mix(in srgb, var(--service-accent) 72%, white); box-shadow: 0 18px 55px color-mix(in srgb, var(--service-accent) 18%, transparent); }
.booking-card-shine { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(circle at var(--shine-x) var(--shine-y), rgba(255,255,255,.82) 0%, rgba(255,255,255,0) 32%), linear-gradient(145deg, color-mix(in srgb, var(--service-accent) 10%, white), transparent 42%); opacity: .8; }
.booking-service-card header { min-height: 78px; margin-top: 16px; transform: translateZ(30px); }
.booking-card-label { color: var(--service-accent); font-size: 10px; font-weight: 780; letter-spacing: .9px; text-transform: uppercase; }
.booking-service-card h3 { margin: 8px 0 0; font-size: 28px; line-height: 1.02; letter-spacing: -1.2px; }
.booking-service-art { height: 285px; margin: -31px -28px 17px; overflow: hidden; position: relative; background: #e8e8ea; transform: translateZ(42px); }
.booking-service-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.06), transparent 70%, rgba(255,255,255,.8)); pointer-events: none; }
.booking-service-art > img, .booking-service-art > video { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .4s cubic-bezier(.2,.7,.2,1); transform: scale(1.035); }
.booking-service-card:hover .booking-service-art > img, .booking-service-card:hover .booking-service-art > video { transform: scale(1.08) translateY(-2px); }
.booking-card-colors { display: flex; justify-content: center; gap: 7px; transform: translateZ(22px); }
.booking-card-colors i { width: 11px; height: 11px; border-radius: 50%; background: var(--service-accent); box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.booking-card-colors i:nth-child(2) { filter: brightness(.72) saturate(.72); }
.booking-card-colors i:nth-child(3) { filter: brightness(1.2) saturate(.45); }
.booking-service-card > p { min-height: 58px; margin: 18px 0 13px; color: #68696e; font-size: 13px; line-height: 1.45; transform: translateZ(18px); }
.booking-card-price { display: flex; flex-direction: column; gap: 5px; transform: translateZ(24px); }
.booking-card-price strong { font-size: 17px; }
.booking-card-price span { color: #7b7c81; font-size: 10px; }
.booking-card-actions { margin-top: auto; padding-top: 24px; display: flex; align-items: center; gap: 13px; transform: translateZ(34px); }
.booking-card-info, .booking-card-choose { min-height: 44px; padding: 0 18px; border-radius: 23px; font-size: 13px; font-weight: 720; cursor: pointer; transition: background .18s ease, transform .18s ease; }
.booking-card-info { border: 0; background: #0077ed; color: #fff; }
.booking-card-choose { width: auto; margin: 0; border: 0; background: transparent; color: #0066cc; }
.booking-card-info:hover { background: #006edb; }
.booking-card-choose:hover { background: transparent; text-decoration: underline; }
.booking-card-choose:active { transform: translateZ(20px) scale(.98); }

.booking-store-assurances { width: min(calc(100% - 48px), 1120px); margin: 0 auto 90px; padding: 28px 0; border-top: 1px solid #dedee2; border-bottom: 1px solid #dedee2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.booking-store-assurances article { display: flex; align-items: flex-start; gap: 13px; }
.booking-store-assurances > article > .icon { width: 23px; height: 23px; color: #06c; }
.booking-store-assurances article div { display: flex; flex-direction: column; gap: 5px; }
.booking-store-assurances strong { font-size: 13px; }
.booking-store-assurances span { color: #707176; font-size: 11px; line-height: 1.35; }

@media (max-width: 700px) {
  .booking-store-offer { min-height: 59px; padding: 9px 23px; font-size: 10px; }
  .booking-store-hero { padding: 39px 20px 34px; }
  .store-back { margin-bottom: 22px; }
  .booking-store-heading { align-items: flex-start; flex-direction: column; gap: 24px; }
  .booking-store-heading h1 { font-size: 52px; letter-spacing: -3.3px; }
  .booking-store-help { gap: 7px; padding: 0; }
  .booking-store-help button, .booking-store-help a { font-size: 11px; }
  .booking-store-nav { margin-top: 40px; gap: 29px; }
  .booking-store-nav button { font-size: 12px; }
  .booking-store-catalog-head { padding: 0 20px; align-items: flex-end; }
  .booking-store-catalog-head h2 { font-size: 29px; }
  .booking-shelf-controls { display: none; }
  .booking-service-shelf { padding: 15px 20px 42px; gap: 14px; scroll-padding-inline: 20px; }
  .booking-service-card { width: calc(100vw - 54px); min-height: 630px; flex-basis: calc(100vw - 54px); padding: 27px 24px 24px; border-radius: 26px; --rest-ry: 0deg !important; }
  .booking-service-card h3 { font-size: 27px; }
  .booking-service-art { height: 270px; margin: -27px -24px 17px; }
  .booking-card-actions { gap: 7px; }
  .booking-card-info, .booking-card-choose { padding: 0 14px; font-size: 12px; }
  .service-tier-navigation { display: flex; align-items: stretch; overflow-x: auto; }
  .service-tier-navigation button { min-width: 150px; }
  .booking-store-assurances { width: calc(100% - 40px); margin-bottom: 65px; grid-template-columns: 1fr; gap: 23px; }
}

@media (hover: none) {
  .booking-service-card:active { transform: perspective(1100px) rotateX(1deg) rotateY(-2deg) scale(.985); }
}

@media (prefers-reduced-motion: reduce) {
  .booking-service-card, .booking-service-card:hover, .booking-service-card:active { transform: none !important; }
  .booking-service-art > img, .booking-service-card:hover .booking-service-art > img, .booking-service-art > video, .booking-service-card:hover .booking-service-art > video { transform: scale(1.04); }
}

/* Selección de municipio · réplica local de la página original de MateosDetail */
.municipality-page { min-height: 100vh; background: #f5f5f7; color: #111; }
.municipality-offer { min-height: 54px; padding: 9px 22px; background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; font-size: 11px; line-height: 1.2; }
.municipality-offer button { padding: 0; border: 0; background: transparent; color: #0780e9; font-size: inherit; cursor: pointer; }
.municipality-offer button:hover { text-decoration: underline; }
.municipality-content { width: min(100%, 1180px); margin: 0 auto; padding: 0 20px 100px; }
.municipality-back { margin-top: 9px; padding: 5px 0; border: 0; background: transparent; color: #087fd9; display: inline-flex; align-items: center; gap: 2px; font-size: 11px; cursor: pointer; }
.municipality-back:hover { text-decoration: underline; }
.municipality-back .icon { width: 12px; height: 12px; }
.municipality-heading { text-align: center; }
.municipality-heading h1 { margin: 73px auto 0; font-size: clamp(34px, 3vw, 43px); line-height: 1.06; letter-spacing: -1.7px; font-weight: 430; }
.municipality-heading h1 strong { font-weight: 750; }
.municipality-map-art { display: block; width: 152px; height: auto; margin: 47px auto 0; }
.municipality-grid { margin-top: 50px; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px 38px; }
.municipality-choice { min-height: 70px; padding: 10px 22px; border: 1px solid rgba(0,0,0,.025); border-radius: 38px; background: #fff; color: #087ed8; font-size: 16px; font-weight: 700; cursor: pointer; box-shadow: 0 1px 0 rgba(0,0,0,.025); transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease; }
.municipality-choice:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,.075); }
.municipality-choice.selected { background: #087ed8; color: #fff; box-shadow: 0 12px 30px rgba(8,126,216,.2); }

@media (max-width: 700px) {
  .municipality-offer { min-height: 59px; padding: 7px 24px; font-size: 9px; line-height: 1.15; }
  .municipality-content { padding: 0 20px 76px; }
  .municipality-back { margin-top: 8px; font-size: 9px; }
  .municipality-heading h1 { max-width: 320px; margin-top: 70px; font-size: 28px; line-height: 1.08; letter-spacing: -1px; }
  .municipality-desktop-break { display: none; }
  .municipality-map-art { width: 122px; height: auto; margin: 64px auto 0; }
  .municipality-grid { margin-top: 58px; padding: 0 17px; grid-template-columns: 1fr; gap: 15px; }
  .municipality-choice { width: 100%; min-height: 58px; padding: 9px 18px; border-radius: 31px; font-size: 14px; }
}

/* Tipo de espacio · réplica local de la página original de MateosDetail */
.place-flow-header { height: 50px; }
.place-flow-header .client-nav { padding: 0 8px 0 12px; }
.place-flow-header .mateos-logo-button { width: 32px; height: 32px; }
.place-flow-header .mateos-logo-disc { width: 25px; height: 25px; }
.place-flow-header .mateos-logo-disc img { width: 17px; height: 22px; }
.place-flow-header .mateos-menu-button { width: 40px; height: 40px; padding: 10px; gap: 4px; }
.place-page { min-height: calc(100vh - 50px); background: #f5f5f5; color: #080808; }
.place-legal-notice { min-height: 56px; padding: 10px 24px; background: #0789f5; color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 12px; font-weight: 750; line-height: 1.08; }
.place-backbar { height: 38px; padding: 0 14px; background: #fff; display: flex; align-items: center; }
.place-backbar button { padding: 4px 0; border: 0; background: transparent; color: #167dba; font-size: 11px; cursor: pointer; }
.place-backbar button:hover { text-decoration: underline; }
.place-content { width: min(calc(100% - 40px), 1016px); margin: 0 auto; padding: 72px 0 170px; }
.place-content h1 { max-width: 590px; margin: 0 auto; text-align: center; font-size: clamp(31px, 2.6vw, 39px); font-weight: 430; line-height: 1.06; letter-spacing: -1.45px; }
.place-content h1 strong { font-weight: 760; }
.place-options { width: 448px; margin-top: 24px; display: grid; gap: 23px; }
.place-option { width: 100%; min-height: 144px; padding: 20px 35px 20px 41px; border: 1px solid rgba(0,0,0,.02); border-radius: 15px; background: #fff; display: grid; grid-template-columns: 86px 1fr; align-items: center; gap: 32px; color: #090909; text-align: left; cursor: pointer; box-shadow: 0 1px 1px rgba(0,0,0,.01); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.place-option:hover { transform: translateY(-2px); border-color: rgba(0,120,231,.18); box-shadow: 0 14px 28px rgba(0,0,0,.06); }
.place-option:focus-visible { outline: 3px solid rgba(0,126,235,.35); outline-offset: 3px; }
.place-option-icon { width: 72px; height: 72px; display: grid; place-items: center; }
.place-option-icon img { display: block; max-width: 64px; max-height: 66px; object-fit: contain; }
.place-option:nth-child(2) .place-option-icon img { width: 61px; height: 61px; }
.place-option:nth-child(3) .place-option-icon img { width: 64px; height: 63px; }
.place-option-copy { display: block; font-size: 14px; font-weight: 700; line-height: 1.08; text-transform: uppercase; }
.place-option-copy strong, .place-option-copy span { display: block; font: inherit; }
.selected-place-row { min-height: 52px; padding: 10px 13px 10px 16px; border: 1px solid var(--line); border-radius: 13px; display: flex; align-items: center; justify-content: space-between; gap: 14px; background: #fff; }
.selected-place-row button { padding: 7px 12px; border: 0; border-radius: 999px; background: #eaf4ff; color: #087bd6; font-weight: 700; cursor: pointer; }

@media (max-width: 700px) {
  .place-flow-header { display: none; }
  .place-page { min-height: 100vh; }
  .place-legal-notice { min-height: 54px; padding: 8px 23px; font-size: 9px; line-height: 1.08; }
  .place-backbar { height: 35px; padding: 0 18px; }
  .place-backbar button { font-size: 9px; }
  .place-content { width: 100%; padding: 81px 15px 190px; }
  .place-content h1 { max-width: 350px; font-size: 27px; line-height: 1.08; letter-spacing: -1px; }
  .place-desktop-break { display: none; }
  .place-options { width: 100%; margin-top: 20px; gap: 15px; }
  .place-option { min-height: 123px; padding: 18px 24px; border-radius: 15px; display: flex; justify-content: center; text-align: center; }
  .place-option-icon { display: none; }
  .place-option-copy { font-size: 12px; line-height: 1.08; }
}

/* Selección de marca · réplica local de la página original de MateosDetail */
.brand-flow-header { height: 50px; }
.brand-flow-header .client-nav { padding: 0 8px 0 12px; }
.brand-flow-header .mateos-logo-button { width: 32px; height: 32px; }
.brand-flow-header .mateos-logo-disc { width: 25px; height: 25px; }
.brand-flow-header .mateos-logo-disc img { width: 17px; height: 22px; }
.brand-flow-header .mateos-menu-button { width: 40px; height: 40px; padding: 10px; gap: 4px; }
.brand-page { min-height: calc(100vh - 50px); background: #f5f5f5; color: #090909; }
.brand-intro { min-height: 179px; padding: 27px 58px 14px; background: #fbfbfd; }
.brand-intro h1 { margin: 0; font-size: 26px; line-height: 1.08; letter-spacing: -.75px; }
.brand-intro p { margin: 23px 0 0; font-size: 10px; line-height: 1.12; }
.brand-intro p button { padding: 0; border: 0; background: transparent; color: #087fc6; font: inherit; cursor: pointer; }
.brand-intro p button:hover { text-decoration: underline; }
.brand-financing { min-height: 43px; margin-top: 20px; padding: 0 17px; border: 0; border-radius: 24px; background: #fff; color: #282828; font-size: 10px; cursor: pointer; }
.brand-financing span { color: #087fc6; }
.brand-backbar { height: 36px; padding: 0 14px; background: #fff; display: flex; align-items: center; }
.brand-backbar button { padding: 4px 0; border: 0; background: transparent; color: #167dba; font-size: 11px; cursor: pointer; }
.brand-backbar button:hover { text-decoration: underline; }
.brand-catalog { min-height: 650px; padding: 74px 0 130px; background: #f5f5f5; }
.brand-grid { width: 475px; margin-left: auto; margin-right: max(40px, 8.6vw); display: grid; grid-template-columns: repeat(2, 225px); gap: 21px 24px; }
.vehicle-brand-tile { width: 225px; align-self: start; border-radius: 11px; }
.vehicle-brand-tile.expanded { overflow: hidden; background: #fff; border: 1px solid rgba(0,126,235,.22); box-shadow: 0 16px 34px rgba(0,0,0,.08); }
.vehicle-brand-card { width: 225px; height: 176px; padding: 22px; border: 1px solid rgba(0,0,0,.018); border-radius: 11px; background: #fff; display: grid; place-items: center; color: #080808; cursor: pointer; box-shadow: 0 1px 1px rgba(0,0,0,.01); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.vehicle-brand-card:hover { transform: translateY(-2px); border-color: rgba(0,120,231,.18); box-shadow: 0 14px 28px rgba(0,0,0,.06); }
.vehicle-brand-card:focus-visible { outline: 3px solid rgba(0,126,235,.35); outline-offset: 3px; }
.vehicle-brand-card.selected { border-color: rgba(0,126,235,.42); box-shadow: 0 0 0 1px rgba(0,126,235,.13); }
.vehicle-brand-card img { display: block; max-width: 170px; max-height: 115px; object-fit: contain; }
.vehicle-brand-wordmark { max-width: 170px; color: #090909; font-size: 18px; font-weight: 850; line-height: 1; letter-spacing: -.45px; text-align: center; text-transform: uppercase; overflow-wrap: anywhere; }
.vehicle-brand-tile.expanded .vehicle-brand-card { border: 0; border-bottom: 1px solid #ededf0; border-radius: 0; box-shadow: none; transform: none; }
.vehicle-model-panel { padding: 17px 18px 19px; background: #fff; }
.vehicle-model-panel label { display: block; font-size: 15px; font-weight: 800; letter-spacing: -.2px; }
.vehicle-model-panel small { display: block; margin-top: 4px; color: #73757a; font-size: 9px; line-height: 1.25; }
.vehicle-model-panel select { width: 100%; height: 42px; margin-top: 13px; padding: 0 34px 0 11px; border: 1px solid #d9dce2; border-radius: 10px; background: #fff; color: #111; font-size: 11px; }
.vehicle-model-continue { width: 100%; min-height: 40px; margin-top: 10px; border: 0; border-radius: 21px; background: #087fec; color: #fff; font-size: 11px; font-weight: 750; cursor: pointer; }
.vehicle-model-continue:hover { background: #006fd6; }
.vehicle-model-continue:disabled { background: #d7d9de; color: #888b91; cursor: not-allowed; }
.vehicle-confirm-card { margin-top: 24px; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: #fff; display: grid; grid-template-columns: 100px 1fr auto; align-items: center; gap: 20px; }
.vehicle-confirm-card img { width: 90px; height: 70px; object-fit: contain; }
.vehicle-confirm-card span { display: block; color: var(--muted); font-size: 11px; }
.vehicle-confirm-card strong { display: block; margin-top: 4px; font-size: 23px; }
.vehicle-confirm-card p { margin: 3px 0 0; font-weight: 650; }
.vehicle-confirm-card button { min-height: 40px; padding: 0 19px; border: 1px solid #087fec; border-radius: 22px; background: #fff; color: #087fec; font-weight: 750; cursor: pointer; }
.vehicle-confirm-card button:hover { background: #087fec; color: #fff; }

@media (max-width: 700px) {
  .brand-flow-header { height: 52px; }
  .brand-page { min-height: calc(100vh - 52px); }
  .brand-intro { min-height: 150px; padding: 20px 23px 12px; }
  .brand-intro h1 { font-size: 22px; letter-spacing: -.55px; }
  .brand-intro p { margin-top: 17px; font-size: 9px; line-height: 1.18; }
  .brand-desktop-break { display: none; }
  .brand-financing { min-height: 36px; margin-top: 15px; padding: 0 12px; font-size: 9px; }
  .brand-backbar { height: 32px; padding: 0 18px; }
  .brand-backbar button { font-size: 9px; }
  .brand-catalog { min-height: 610px; padding: 60px 0 120px; }
  .brand-grid { width: 192px; margin: 0 auto; grid-template-columns: 192px; gap: 16px; }
  .vehicle-brand-tile { width: 192px; }
  .vehicle-brand-card { width: 192px; height: 150px; padding: 20px; border-radius: 11px; }
  .vehicle-brand-card img { max-width: 146px; max-height: 98px; }
  .vehicle-brand-wordmark { max-width: 154px; font-size: 16px; }
  .vehicle-model-panel { padding: 16px 15px 17px; }
  .vehicle-model-panel label { font-size: 14px; }
  .vehicle-model-panel select { font-size: 10px; }
  .vehicle-confirm-card { grid-template-columns: 1fr; text-align: center; }
  .vehicle-confirm-card img { margin: auto; }
  .vehicle-confirm-card button { width: 100%; }
}

/* Storytelling comercial · estructura editorial inspirada en páginas de producto */
.story-page { overflow: hidden; background: #f5f5f7; color: #1d1d1f; }
.story-paypal-strip {
  min-height: 52px;
  padding: 9px 22px;
  background: #fff;
  display: grid;
  place-items: center;
  text-align: center;
  font-size: 11px;
  line-height: 1.35;
}
.story-paypal-strip button { padding: 0; border: 0; background: transparent; color: #0674d8; font: inherit; cursor: pointer; }
.story-local-nav {
  min-height: 54px;
  padding: 0 max(22px, calc((100vw - 1200px) / 2));
  border-top: 1px solid #ececef;
  border-bottom: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.88);
  backdrop-filter: saturate(180%) blur(18px);
  position: sticky;
  top: 50px;
  z-index: 30;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
}
.story-back { justify-self: start; padding: 0; border: 0; background: transparent; color: #5e6168; display: inline-flex; align-items: center; gap: 4px; font-size: 11px; cursor: pointer; }
.story-back .icon { width: 14px; height: 14px; }
.story-local-nav > strong { font-size: 16px; letter-spacing: -.3px; }
.story-local-nav > strong span { color: #087bec; }
.story-local-nav > div { justify-self: end; display: flex; align-items: center; gap: 22px; }
.story-local-nav a { color: #37383c; font-size: 11px; text-decoration: none; }
.story-local-nav > div button,
.story-actions button,
.story-future-copy button,
.story-final button {
  min-height: 34px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: #087bec;
  color: #fff;
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}
.story-hero {
  width: min(calc(100% - 44px), 1240px);
  min-height: 650px;
  margin: 22px auto 0;
  border-radius: 30px;
  background: #fff;
  overflow: hidden;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  align-items: stretch;
}
.story-hero-copy { padding: clamp(58px, 8vw, 112px) clamp(38px, 6vw, 82px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.story-kicker { color: #087bec; font-size: 13px; font-weight: 800; letter-spacing: .9px; }
.story-hero h1 { margin: 20px 0 0; font-size: clamp(64px, 8vw, 112px); line-height: .86; letter-spacing: -6px; }
.story-hero-copy > p { max-width: 500px; margin: 34px 0 0; color: #55575e; font-size: clamp(17px, 1.8vw, 23px); line-height: 1.35; }
.story-actions { margin-top: 36px; display: flex; align-items: center; gap: 20px; }
.story-actions button { min-height: 44px; padding: 0 25px; font-size: 13px; }
.story-actions a { color: #0874dc; font-size: 13px; text-decoration: none; }
.story-hero-media { min-height: 650px; background: #0c0d0f; overflow: hidden; }
.story-hero-media video { width: 100%; height: 100%; object-fit: cover; display: block; }

.story-principal,
.story-benefits-proof,
.story-services,
.story-difference { width: min(calc(100% - 44px), 1200px); margin: 0 auto; padding: 132px 0 0; }
.story-section-heading { max-width: 760px; }
.story-section-heading > span { color: #087bec; font-size: 13px; font-weight: 780; }
.story-section-heading h2 { margin: 12px 0 0; font-size: clamp(48px, 6.8vw, 82px); line-height: .95; letter-spacing: -4.8px; }
.story-section-heading > p { max-width: 660px; margin: 24px 0 0; color: #60636a; font-size: 17px; line-height: 1.5; }
.story-principal-grid { margin-top: 55px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.story-principal-grid article { min-height: 260px; padding: 30px; border-radius: 25px; background: #fff; display: flex; flex-direction: column; align-items: flex-start; }
.story-principal-grid article > span { width: 47px; height: 47px; border-radius: 50%; background: #eaf3ff; color: #087bec; display: grid; place-items: center; }
.story-principal-grid .icon { width: 23px; height: 23px; }
.story-principal-grid strong { margin-top: auto; font-size: 22px; line-height: 1.05; letter-spacing: -.7px; }
.story-principal-grid p { margin: 12px 0 0; color: #6c6f76; font-size: 12px; line-height: 1.5; }

.story-future {
  width: min(calc(100% - 44px), 1240px);
  min-height: 650px;
  margin: 132px auto 0;
  border-radius: 30px;
  background: #08090b;
  color: #fff;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.12fr .88fr;
}
.story-future-media { min-height: 650px; }
.story-future-media video { width: 100%; height: 100%; object-fit: cover; display: block; }
.story-future-copy { padding: clamp(45px, 6vw, 82px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.story-future-copy > span { color: #7bbcff; font-size: 13px; font-weight: 760; }
.story-future-copy h2 { margin: 16px 0 0; font-size: clamp(43px, 5.3vw, 68px); line-height: .96; letter-spacing: -3.5px; }
.story-future-copy p { margin: 26px 0 0; color: #b8bbc2; font-size: 16px; line-height: 1.55; }
.story-future-copy button { min-height: 42px; margin-top: 30px; padding: 0 23px; font-size: 12px; }

.story-benefits-proof .story-section-heading { margin: 0 auto; text-align: center; }
.story-benefits-image { width: min(100%, 760px); margin: 50px auto 0; padding: 30px; border-radius: 30px; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.06); }
.story-benefits-image img { width: 100%; height: auto; display: block; }

.story-shelf-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.story-shelf-heading h2 { margin: 0; font-size: clamp(36px, 4.8vw, 58px); line-height: 1; letter-spacing: -3px; }
.story-shelf-heading h2:not(strong) { color: #73767d; }
.story-shelf-heading h2 strong { color: #1d1d1f; }
.story-shelf-heading > button { padding: 0; border: 0; background: transparent; color: #0874dc; font-size: 13px; cursor: pointer; }
.story-service-shelf { margin: 46px -8px 0; padding: 8px 8px 24px; overflow-x: auto; display: flex; gap: 18px; scroll-snap-type: x mandatory; }
.story-service-card { width: min(340px, 78vw); min-width: min(340px, 78vw); min-height: 500px; border-radius: 25px; background: #fff; overflow: hidden; scroll-snap-align: start; display: flex; flex-direction: column; box-shadow: 0 10px 28px rgba(0,0,0,.035); }
.story-service-card header { padding: 28px 28px 12px; }
.story-service-card header > span { color: #d16028; font-size: 9px; font-weight: 800; letter-spacing: .45px; }
.story-service-card h3 { margin: 10px 0 0; font-size: 30px; line-height: 1; letter-spacing: -1.3px; }
.story-service-card header p { min-height: 48px; margin: 11px 0 0; color: #4e5056; font-size: 12px; line-height: 1.4; }
.story-service-card header > strong { display: block; margin-top: 14px; font-size: 16px; }
.story-service-card header > small { display: block; margin-top: 4px; color: #6e7178; font-size: 9px; }
.story-service-visual { min-height: 235px; margin-top: auto; overflow: hidden; display: grid; place-items: center; }
.story-service-visual img { width: 100%; height: 250px; object-fit: cover; object-position: center; }
.story-service-actions { padding: 18px 24px 24px; display: flex; align-items: center; gap: 17px; }
.story-service-actions button { padding: 0; border: 0; background: transparent; color: #0874dc; font-size: 12px; cursor: pointer; }
.story-service-actions button:first-child { min-height: 36px; padding: 0 16px; border-radius: 999px; background: #087bec; color: #fff; }

.story-difference { padding-bottom: 132px; }
.story-difference .story-section-heading { max-width: 850px; }
.story-difference-grid { margin-top: 54px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.story-difference-grid > article { padding: 32px; border-radius: 25px; background: #fff; }
.story-difference-icon { width: 58px; height: 58px; border-radius: 17px; background: #f0f5fb; color: #111; display: grid; place-items: center; }
.story-difference-icon .comparison-feature-icon { width: 32px; height: 32px; }
.story-difference-grid h3 { margin: 28px 0 0; font-size: 27px; letter-spacing: -1px; }
.story-difference-grid article > p { min-height: 70px; margin: 11px 0 0; color: #666970; font-size: 12px; line-height: 1.5; }
.story-tier-status { margin-top: 24px; border-top: 1px solid #e8e9ec; }
.story-tier-status > span { min-height: 48px; border-bottom: 1px solid #e8e9ec; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.story-tier-status b { font-size: 10px; }
.story-tier-status b small { padding: 2px 4px; border-radius: 4px; background: #16171a; color: #fff; font-size: 7px; }
.story-tier-status em { color: #188153; font-size: 9px; font-style: normal; font-weight: 750; }
.story-tier-status > span:first-child em { color: #9a9ca2; }
.story-advanced-note { margin-top: 15px; padding: 25px 27px; border-radius: 22px; background: #111216; color: #fff; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 22px; }
.story-advanced-note > span { width: 48px; height: 48px; border-radius: 50%; background: #24262b; display: grid; place-items: center; }
.story-advanced-note .comparison-feature-icon { width: 28px; height: 28px; }
.story-advanced-note strong { font-size: 16px; }
.story-advanced-note p { margin: 5px 0 0; color: #b8bbc2; font-size: 11px; line-height: 1.45; }
.story-advanced-note button { min-height: 38px; padding: 0 18px; border: 1px solid #2d8bea; border-radius: 999px; background: #087bec; color: #fff; font-size: 11px; cursor: pointer; }

.story-final { padding: 140px 24px 150px; background: #fff; text-align: center; }
.story-final > span { color: #087bec; font-size: 13px; font-weight: 780; }
.story-final h2 { margin: 16px auto 0; font-size: clamp(48px, 7vw, 88px); line-height: .94; letter-spacing: -5px; }
.story-final p { max-width: 650px; margin: 28px auto 0; color: #666970; font-size: 16px; line-height: 1.5; }
.story-final button { min-height: 46px; margin-top: 31px; padding: 0 27px; font-size: 13px; }

@media (max-width: 900px) {
  .story-local-nav { grid-template-columns: auto 1fr auto; }
  .story-local-nav > strong { justify-self: center; }
  .story-local-nav a { display: none; }
  .story-hero { grid-template-columns: 1fr; }
  .story-hero-copy { min-height: 460px; }
  .story-hero-media { min-height: 520px; }
  .story-principal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .story-future { grid-template-columns: 1fr; }
  .story-future-media { min-height: 520px; }
  .story-difference-grid { grid-template-columns: 1fr; }
  .story-difference-grid article > p { min-height: 0; }
}

@media (max-width: 600px) {
  .story-paypal-strip { min-height: 44px; padding: 7px 18px; font-size: 9px; }
  .story-local-nav { min-height: 48px; top: 50px; padding: 0 14px; gap: 7px; }
  .story-local-nav > strong { font-size: 13px; white-space: nowrap; }
  .story-local-nav > div { gap: 0; }
  .story-local-nav > div button { min-height: 30px; padding: 0 13px; font-size: 9px; }
  .story-back { font-size: 0; }
  .story-back .icon { width: 18px; height: 18px; }
  .story-hero { width: calc(100% - 24px); min-height: 0; margin-top: 12px; border-radius: 23px; }
  .story-hero-copy { min-height: 390px; padding: 44px 27px; }
  .story-kicker { font-size: 10px; }
  .story-hero h1 { font-size: 64px; letter-spacing: -4px; }
  .story-hero-copy > p { margin-top: 25px; font-size: 16px; }
  .story-actions { margin-top: 27px; }
  .story-hero-media { min-height: 410px; }
  .story-principal,
  .story-benefits-proof,
  .story-services,
  .story-difference { width: calc(100% - 28px); padding-top: 86px; }
  .story-section-heading h2 { font-size: 48px; letter-spacing: -3px; }
  .story-section-heading > p { font-size: 14px; }
  .story-principal-grid { margin-top: 34px; grid-template-columns: 1fr; }
  .story-principal-grid article { min-height: 215px; }
  .story-future { width: calc(100% - 24px); min-height: 0; margin-top: 86px; border-radius: 23px; grid-template-columns: 1fr; }
  .story-future-media { min-height: 390px; }
  .story-future-copy { padding: 42px 28px 48px; }
  .story-future-copy h2 { font-size: 45px; }
  .story-benefits-image { margin-top: 34px; padding: 10px; border-radius: 20px; }
  .story-shelf-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .story-shelf-heading h2 { font-size: 40px; letter-spacing: -2.5px; }
  .story-service-shelf { margin-top: 28px; }
  .story-service-card { width: 82vw; min-width: 82vw; min-height: 470px; }
  .story-difference { padding-bottom: 86px; }
  .story-difference-grid { margin-top: 34px; }
  .story-difference-grid > article { padding: 26px; }
  .story-advanced-note { grid-template-columns: auto minmax(0,1fr); }
  .story-advanced-note button { grid-column: 1 / -1; width: 100%; }
  .story-final { padding: 92px 22px 100px; }
  .story-final h2 { font-size: 50px; letter-spacing: -3.2px; }
  .story-final p { font-size: 14px; }
}

/* Ajustes finales de cascada para el configurador lateral. */
.booking-service-card.booking-line-card { min-height: 610px; padding-top: 0; }
.unified-purchase-grid.continuous-purchase-grid { grid-template-columns: minmax(330px,.78fr) minmax(0,1.22fr); }
.unified-order-price > strong { font-size: 20px; font-weight: 650; }
@media (max-width:760px) {
  .booking-service-card.booking-line-card { min-height: 590px; }
  .unified-purchase-grid.continuous-purchase-grid { grid-template-columns: 1fr; }
  .unified-configurator.continuous-configurator { order: 1; }
  .unified-order-column { order: 2; max-height: none; overflow: visible; }
  .unified-order-card { display: block; }
  .unified-order-card > h3,.unified-order-art,.unified-order-recap,.unified-order-estimate,.unified-order-price { display: block; }
  .unified-order-art { height: 210px; margin: 16px 0; }
  .unified-order-recap { display: grid; }
  .unified-order-estimate { display: flex; }
}

/* Refinamiento visual de líneas y configurador · 2026-08-11 */
.booking-service-shelf { gap: 16px; }
.booking-service-card.booking-line-card {
  width: 278px;
  min-height: 490px;
  flex-basis: 278px;
  padding: 0 20px 21px;
  border-radius: 25px;
  box-shadow: 0 12px 32px rgba(0,0,0,.065);
}
.booking-line-card .booking-line-art {
  height: 238px;
  margin: 0 -20px 14px;
  background: transparent;
  transform: none;
}
.booking-line-card .booking-line-art > video {
  object-fit: cover;
  object-position: center;
  filter: none;
  transform: scale(1.01);
}
.booking-line-card:hover .booking-line-art > video { transform: scale(1.045); }
.booking-line-card .booking-line-art-copy { inset: auto 18px 17px; }
.booking-line-card .booking-line-art-copy strong { font-size: 22px; letter-spacing: -1.1px; }
.booking-line-card header { min-height: 58px; margin-top: 10px; }
.booking-line-card h3 { margin-top: 6px; font-size: 22px; letter-spacing: -.85px; }
.booking-line-card > p { min-height: 49px; margin: 11px 0 10px; font-size: 10.5px; }
.booking-line-card .booking-card-price strong { font-size: 14px; }
.booking-line-card .booking-card-price span { font-size: 8px; }
.booking-line-card .booking-card-actions { padding-top: 14px; gap: 5px; }
.booking-line-card .booking-card-info,
.booking-line-card .booking-card-choose { min-height: 36px; padding: 0 12px; font-size: 10px; }
.booking-line-card.line-card-advanced { background: #050505; color: #fff; }
.booking-line-card.line-card-advanced .booking-card-shine { opacity: .18; }
.booking-line-card.line-card-advanced .booking-line-art::after { background: linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.58)); }
.booking-line-card.line-card-advanced .booking-card-label,
.booking-line-card.line-card-advanced .booking-card-price span,
.booking-line-card.line-card-advanced > p { color: #a9a9ae; }
.booking-line-card.line-card-advanced .booking-card-choose { color: #2997ff; }
.booking-line-card.line-card-detailing { background: #e9f4f9; }
.booking-line-card.line-card-classic { background: #ededf0; }
.booking-line-card.line-card-detailing .booking-card-shine,
.booking-line-card.line-card-classic .booking-card-shine { opacity: .36; }

.selected-line-banner.selected-line-classic {
  background: linear-gradient(135deg,#e0e1e4,#bfc2c7);
  color: #111216;
}
.selected-line-banner.selected-line-classic::after { background: linear-gradient(90deg,rgba(239,240,242,.96),rgba(239,240,242,.28) 66%,rgba(109,113,120,.16)); }
.selected-line-banner.selected-line-classic > div { text-shadow: none; }
.selected-line-banner.selected-line-detailing { background: linear-gradient(135deg,#d7edf7,#80a8bd); color: #111216; }
.selected-line-banner.selected-line-detailing::after { background: linear-gradient(90deg,rgba(225,243,250,.92),rgba(225,243,250,.12) 67%,rgba(25,48,62,.16)); }
.selected-line-banner.selected-line-advanced { background: #050505; }

.continuous-config-section .continuous-config-body > h3,
.continuous-config-section .continuous-config-body .booking-step > h3 {
  margin: 0;
  font-size: 34px;
  line-height: 1.05;
  letter-spacing: -1.25px;
  font-weight: 400;
}
.continuous-config-section .continuous-config-body > h3 strong,
.continuous-config-section .continuous-config-body .booking-step > h3 strong { font-weight: 850; }
.selected-line-section .continuous-config-body > p,
.finish-upgrade-section > p,
.customer-booking-step > p {
  margin: 9px 0 22px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.service-part-selector { display: flex; flex-wrap: wrap; gap: 8px; }
.service-part-selector button {
  width: auto;
  min-width: 132px;
  min-height: 54px;
  padding: 8px 12px;
  border-radius: 14px;
  grid-template-columns: 28px auto 15px;
  gap: 8px;
}
.service-part-selector button > .service-part-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
  color: #15171b;
  display: grid;
  place-items: center;
}
.service-part-selector .service-part-icon .comparison-feature-icon { width: 19px; height: 19px; }
.service-part-selector button > strong { font-size: 11px; }
.service-part-selector button > .icon { width: 13px; height: 13px; }
.service-part-selector button.selected > .service-part-icon { color: var(--blue); }

.finish-upgrade-buttons button { min-height: 38px; padding: 0 15px; font-size: 11px; }
.finish-upgrade-buttons .finish-plus.selected { background: var(--blue); color: #fff; }
.finish-upgrade-buttons .finish-pro strong { margin-left: 1px; font-weight: 900; }
.finish-upgrade-buttons .finish-pro.selected { background: #111216; color: #fff; box-shadow: 0 7px 17px rgba(0,0,0,.18); }
.finish-included-list.has-cards { padding: 0; background: transparent; }
.finish-included-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.finish-included-card {
  min-height: 126px;
  padding: 15px;
  border: 1px solid #dde0e5;
  border-radius: 17px;
  background: #fff;
  display: grid;
  grid-template-columns: 35px minmax(0,1fr);
  gap: 11px;
  box-shadow: 0 7px 22px rgba(12,17,27,.035);
}
.finish-included-card > span { width: 35px; height: 35px; border-radius: 50%; background: #f0f2f5; display: grid; place-items: center; }
.finish-included-card .comparison-feature-icon { width: 21px; height: 21px; }
.finish-included-card strong { display: block; font-size: 11px; line-height: 1.25; }
.finish-included-card p { margin: 5px 0 9px; color: var(--muted); font-size: 8.5px; line-height: 1.4; }
.finish-included-card small { color: #168255; display: inline-flex; align-items: center; gap: 4px; font-size: 8px; font-weight: 800; }
.finish-included-card small .icon { width: 11px; height: 11px; }

@media (max-width:760px) {
  .booking-service-card.booking-line-card { width: 76vw; min-height: 466px; flex-basis: 76vw; padding: 0 18px 19px; }
  .booking-line-card .booking-line-art { height: 224px; margin: 0 -18px 13px; }
  .continuous-config-section .continuous-config-body > h3,
  .continuous-config-section .continuous-config-body .booking-step > h3 { font-size: 30px; letter-spacing: -1.05px; }
  .service-part-selector { display: flex; }
  .service-part-selector button { min-width: 124px; }
  .finish-included-grid { grid-template-columns: 1fr; }
}

/* Resumen fijo compacto y jerarquía tipográfica reducida */
.unified-purchase-grid.continuous-purchase-grid {
  grid-template-columns: minmax(280px,.62fr) minmax(0,1.38fr);
  gap: 28px;
}
.unified-order-column {
  position: sticky;
  top: 78px;
  align-self: start;
  max-height: none;
  overflow: visible;
  border-radius: 22px;
}
.unified-order-card { min-height: 0; padding: 17px; border-radius: 22px; }
.unified-order-card > h3 { margin: 1px 0 0; font-size: 22px; letter-spacing: -.9px; }
.unified-order-art { height: 168px; margin: 12px 0 9px; border-radius: 17px; }
.unified-order-recap { padding: 5px 0 2px; gap: 5px; }
.unified-order-recap > div { grid-template-columns: 23px minmax(0,1fr); gap: 7px; }
.unified-order-recap > div > span { width: 23px; height: 23px; }
.unified-order-recap > div.ready > span { background: var(--blue); color: #fff; }
.unified-order-recap .icon { width: 11px; height: 11px; }
.unified-order-recap small { font-size: 6.7px; letter-spacing: .42px; }
.unified-order-recap strong { margin-top: 1px; font-size: 8.5px; }
.unified-order-estimate { min-height: 38px; margin-top: 7px; padding: 6px 9px; border-radius: 12px; }
.unified-order-estimate > span { width: 25px; height: 25px; }
.unified-order-estimate .icon { width: 12px; height: 12px; }
.unified-order-estimate small { font-size: 7px; }
.unified-order-estimate strong { font-size: 12px; }
.unified-order-price { margin-top: 3px; padding: 6px 1px 0; }
.unified-order-price span { font-size: 7px; }
.unified-order-price > strong { font-size: 16px; }
.unified-order-price small { margin-top: 1px; font-size: 7px; }
.summary-booking-flow { margin-top: 8px; border-radius: 13px; }
.summary-availability-toggle { min-height: 48px; padding: 7px 9px; }
.summary-availability-toggle .icon { width: 14px; height: 14px; }
.summary-availability-toggle small { font-size: 6px; }
.summary-availability-toggle strong { font-size: 8px; }
.summary-availability-toggle > b { width: 23px; height: 23px; font-size: 15px; }

.continuous-config-section .continuous-config-body > h3,
.continuous-config-section .continuous-config-body .booking-step > h3 {
  font-size: 17px;
  line-height: 1.12;
  letter-spacing: -.45px;
}
.selected-line-banner::after { z-index: 1; }
.selected-line-banner img { z-index: 2; opacity: 1; filter: none; }
.selected-line-banner > div { z-index: 3; }
.selected-line-banner small { margin-left: 0; padding-left: 0; text-align: left; }
.selected-line-banner.selected-line-classic::after {
  background: linear-gradient(90deg,rgba(239,240,242,.98),rgba(239,240,242,.2) 54%,transparent 72%);
}
.selected-line-section .service-part-selector { margin-top: 12px; }

@media (max-width:760px) {
  .unified-purchase-grid.continuous-purchase-grid { grid-template-columns: 1fr; gap: 20px; }
  .unified-order-column { position: static; order: 2; }
  .unified-order-card { padding: 15px; }
  .continuous-config-section .continuous-config-body > h3,
  .continuous-config-section .continuous-config-body .booking-step > h3 { font-size: 17px; }
}

/* Flujo compacto, resumen fotográfico y disponibilidad sin desplazamientos */
.continuous-purchase-grid { padding-top: 26px; }
.continuous-config-section {
  padding-bottom: 28px;
  margin-bottom: 28px;
}
.continuous-config-section:last-of-type { margin-bottom: 14px; padding-bottom: 22px; }
.selected-line-banner { margin-bottom: 14px; }
.finish-upgrade-section > p,
.customer-booking-step > p { margin: 6px 0 15px; }
.service-condition-extra { margin-top: 16px; }
.service-condition-extra-panel { min-height: 92px; }

.selected-line-banner .selected-line-copy {
  top: 50%;
  bottom: auto;
  right: 43%;
  transform: translateY(-50%);
}
.selected-line-banner .selected-line-copy p {
  margin: 0;
  color: currentColor;
  font-size: 11px;
  line-height: 1.45;
  text-shadow: none;
}
.selected-line-banner .selected-line-copy h4 {
  margin: 0 0 5px;
  color: currentColor;
  font-size: 25px;
  line-height: 1;
  letter-spacing: -1px;
}
.selected-line-banner .selected-line-copy > span {
  margin-bottom: 9px;
  color: currentColor;
  font-size: 7.5px;
  letter-spacing: .7px;
  text-transform: uppercase;
}
.selected-line-banner .selected-line-copy > span strong { display: inline; font-size: inherit; letter-spacing: inherit; }
.selected-line-banner .selected-line-copy p + p { margin-top: 9px; }
.selected-line-banner.selected-line-advanced .selected-line-copy p { color: #fff; }

.unified-order-art { position: relative; background: #fff; }
.unified-order-art img,
.unified-order-art img[src*='interior-cabin'],
.unified-order-art img[src*='exterior-summary-v2'] {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter: none;
}
.unified-order-art-split { isolation: isolate; }
.unified-order-art-split img { position: absolute; inset: 0; background: #fff; }
.unified-order-art-split .split-interior { z-index: 1; clip-path: polygon(0 0,63% 0,39% 100%,0 100%); }
.unified-order-art-split .split-exterior { z-index: 2; clip-path: polygon(63% 0,100% 0,100% 100%,39% 100%); }
.unified-order-art-split::after {
  content: '';
  position: absolute;
  z-index: 3;
  top: -8%;
  bottom: -8%;
  left: 50.5%;
  width: 1px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 0 9px rgba(0,0,0,.12);
  transform: rotate(14deg);
  transform-origin: center;
}
.unified-order-art-single { height: 132px; }
.unified-order-art-single img,
.unified-order-art-single img[src*='interior-cabin'],
.unified-order-art-single img[src*='exterior-summary-v2'] {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto !important;
  height: 88% !important;
  max-width: 90%;
  max-height: 88%;
  margin: 0;
  object-fit: contain;
  transform: translate(-50%,-50%);
}

.finish-included-card {
  width: 100%;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.finish-included-card.selected {
  border-color: var(--blue);
  background: #f2f7ff;
  box-shadow: 0 0 0 1px var(--blue), 0 9px 24px rgba(0,113,227,.09);
}
.finish-included-card.selected > span { background: var(--blue); color: #fff; }
.finish-included-card.selected small { color: var(--blue); }

.mateos-trust-bar { width: 100%; box-sizing: border-box; }
.unified-order-column:has(.summary-booking-flow.open) { z-index: 200; }

.summary-booking-flow { position: relative; overflow: visible; }
.summary-schedule-body {
  position: fixed;
  z-index: 80;
  top: 84px;
  left: max(360px, calc((100vw - 1200px) / 2 + 300px));
  width: 340px;
  max-height: calc(100vh - 104px);
  padding: 13px;
  overflow-y: auto;
  border: 1px solid #dedfe4;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(15,20,31,.18);
}
.summary-date-strip { padding-top: 0; }
.summary-payment { margin-top: 11px; padding-top: 11px; }
.summary-card-only {
  margin-top: 9px;
  padding: 10px 12px;
  border: 1px solid #d9dce2;
  border-radius: 12px;
  background: #f5f8fe;
  display: flex;
  align-items: center;
  gap: 9px;
}
.summary-card-only > .icon { width: 20px; height: 20px; color: var(--blue); }
.summary-card-only strong,
.summary-card-only small { display: block; }
.summary-card-only strong { font-size: 9px; }
.summary-card-only small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.summary-payment .summary-confirm-button { margin-top: 9px; }

@media (max-width:760px) {
  .continuous-purchase-grid { padding-top: 12px; }
  .continuous-config-section { padding-bottom: 22px; margin-bottom: 22px; }
  .selected-line-banner .selected-line-copy { left: 18px; right: 38%; }
  .selected-line-banner .selected-line-copy p { font-size: 9px; }
  .selected-line-banner .selected-line-copy h4 { font-size: 20px; }
  .unified-order-art-single { height: 148px; }
  .summary-schedule-body {
    position: fixed;
    top: auto;
    right: 12px;
    bottom: 12px;
    left: 12px;
    width: auto;
    max-height: 78vh;
    z-index: 110;
  }
}

/* Más información · mapa interactivo de acondicionamiento del vehículo. */
.vehicle-care-page {
  min-height: 100vh;
  padding: clamp(24px, 4vw, 52px) max(22px, 5vw) clamp(64px, 9vw, 118px);
  background: #fff;
  color: #1d1d1f;
}

.vehicle-care-back {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #6e6e73;
  font: inherit;
  font-size: 15px;
  cursor: pointer;
}

.vehicle-care-back .icon { width: 17px; height: 17px; }

.vehicle-care-hero {
  width: min(100%, 1160px);
  margin: clamp(38px, 6vw, 78px) auto 0;
  text-align: center;
}

.vehicle-care-hero > span {
  color: #0071e3;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .12em;
}

.vehicle-care-hero h1 {
  max-width: 820px;
  margin: 14px auto 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: clamp(42px, 5.8vw, 76px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.055em;
}

.vehicle-care-hero > p {
  max-width: 650px;
  margin: clamp(20px, 2.8vw, 34px) auto 0;
  color: #6e6e73;
  font-size: clamp(17px, 1.7vw, 22px);
  line-height: 1.45;
}

.vehicle-care-car {
  width: min(100%, 1050px);
  margin: clamp(34px, 5vw, 66px) auto 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: clamp(24px, 4vw, 46px);
  background: #fff;
}

.vehicle-care-car img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.vehicle-care-section {
  width: min(100%, 1080px);
  margin: clamp(74px, 10vw, 132px) auto 0;
}

.vehicle-care-section > header {
  max-width: 720px;
  margin-bottom: clamp(28px, 4vw, 48px);
}

.vehicle-care-section > header > span {
  display: block;
  margin-bottom: 10px;
  color: #0071e3;
  font-size: 12px;
  font-weight: 750;
}

.vehicle-care-section > header h2 {
  margin: 0;
  font-size: clamp(38px, 4.8vw, 64px);
  line-height: 1;
  letter-spacing: -.055em;
}

.vehicle-care-section > header p {
  margin: 16px 0 0;
  color: #6e6e73;
  font-size: clamp(16px, 1.6vw, 21px);
  line-height: 1.45;
}

.vehicle-care-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.7vw, 22px);
}

.vehicle-care-card {
  position: relative;
  min-width: 0;
  aspect-ratio: 4 / 5;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d2d2d7;
  border-radius: clamp(20px, 2.5vw, 30px);
  background: #f5f5f7;
  color: #fff;
  text-align: left;
  cursor: pointer;
  isolation: isolate;
}

.vehicle-care-card-visual,
.vehicle-care-card-shade,
.vehicle-care-card-copy { position: absolute; inset: 0; }

.vehicle-care-card-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.04);
  transition: transform .45s cubic-bezier(.2,.75,.2,1);
}

.vehicle-care-card-shade {
  z-index: 1;
  background: linear-gradient(180deg, transparent 36%, rgba(0,0,0,.12) 52%, rgba(0,0,0,.9) 100%);
}

.vehicle-care-card-copy {
  z-index: 2;
  top: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(17px, 2.1vw, 25px);
}

.vehicle-care-card-copy small {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .78;
}

.vehicle-care-card-copy strong {
  margin-top: 6px;
  font-size: clamp(20px, 2.2vw, 29px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.vehicle-care-card-copy em {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.35;
}

.vehicle-care-card-copy .icon { width: 15px; height: 15px; flex: 0 0 auto; }
.vehicle-care-card:hover .vehicle-care-card-visual img { transform: scale(1.09); }
.vehicle-care-card:focus-visible { outline: 4px solid #0071e3; outline-offset: 4px; }
.vehicle-care-cockpit .vehicle-care-card-visual img { object-position: 43% 45%; }
.vehicle-care-controls .vehicle-care-card-visual img { object-position: 48% 52%; }
.vehicle-care-doors .vehicle-care-card-visual img { object-position: 75% 48%; }
.vehicle-care-floor .vehicle-care-card-visual img { object-position: 53% 73%; }
.vehicle-care-seats .vehicle-care-card-visual img { object-position: 62% 48%; }
.vehicle-care-glass .vehicle-care-card-visual img { object-position: 45% 32%; }
.vehicle-care-boot .vehicle-care-card-visual img { object-position: 88% 18%; }
.vehicle-care-body .vehicle-care-card-visual img { object-position: 38% 55%; }
.vehicle-care-trim .vehicle-care-card-visual img { object-position: 22% 65%; }
.vehicle-care-wheels .vehicle-care-card-visual img { object-position: 53% 76%; }
.vehicle-care-exterior-glass .vehicle-care-card-visual img { object-position: 70% 40%; }
.vehicle-care-lights .vehicle-care-card-visual img { object-position: 18% 68%; }

.vehicle-care-exclusions {
  width: min(100%, 1080px);
  margin: clamp(54px, 7vw, 86px) auto 0;
  padding: clamp(22px, 3vw, 34px);
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 16px;
  border-radius: 24px;
  background: #f5f5f7;
}

.vehicle-care-exclusions > span { color: #0071e3; }
.vehicle-care-exclusions .icon { width: 25px; height: 25px; }
.vehicle-care-exclusions strong { font-size: 17px; }
.vehicle-care-exclusions p { margin: 7px 0 0; color: #6e6e73; font-size: 14px; line-height: 1.55; }

.vehicle-care-modal { width: min(720px, 100%); }
.vehicle-care-modal-header { padding: 26px 28px 22px; }
.vehicle-care-modal-header > div > span { display: block; margin-bottom: 8px; color: #0071e3; font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.vehicle-care-modal-header h2 { font-size: clamp(25px, 3.2vw, 36px); line-height: 1.05; letter-spacing: -.045em; }
.vehicle-care-modal-header p { margin-top: 9px; font-size: 13px; }
.vehicle-care-modal-body { padding: 28px; }
.vehicle-care-modal-process > span { color: #6e6e73; font-size: 10px; font-weight: 750; letter-spacing: .1em; }
.vehicle-care-modal-process > p { margin: 10px 0 0; font-size: 16px; line-height: 1.55; }
.vehicle-care-modal-parts { margin-top: 28px; padding-top: 25px; border-top: 1px solid #d2d2d7; }
.vehicle-care-modal-parts > strong { font-size: 14px; }
.vehicle-care-modal-parts ul { margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px 18px; list-style: none; }
.vehicle-care-modal-parts li { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 8px; align-items: start; }
.vehicle-care-modal-parts li > span { color: #0071e3; font-size: 11px; font-weight: 750; line-height: 1.55; }
.vehicle-care-modal-parts li p { margin: 0; color: #424245; font-size: 13px; line-height: 1.45; }
.vehicle-care-modal-note { margin: 25px 0 0; padding: 16px; display: flex; gap: 10px; border-radius: 14px; background: #f5f5f7; color: #6e6e73; font-size: 13px; line-height: 1.45; }
.vehicle-care-modal-note .icon { width: 19px; height: 19px; flex: 0 0 auto; color: #0071e3; }

@media (max-width: 760px) {
  .vehicle-care-page { padding: 22px 18px 64px; }
  .vehicle-care-hero { margin-top: 36px; }
  .vehicle-care-hero > span { font-size: 10px; }
  .vehicle-care-hero h1 { max-width: 350px; margin-top: 11px; font-size: clamp(36px, 10.5vw, 48px); }
  .vehicle-care-hero > p { max-width: 340px; margin-top: 18px; font-size: 16px; }
  .vehicle-care-car { width: calc(100% + 18px); margin: 28px -9px 0; border-radius: 25px; }
  .vehicle-care-section { margin-top: 72px; }
  .vehicle-care-section > header { margin-bottom: 25px; }
  .vehicle-care-section > header h2 { font-size: 39px; }
  .vehicle-care-section > header p { margin-top: 12px; font-size: 15px; }
  .vehicle-care-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .vehicle-care-card { border-radius: 18px; }
  .vehicle-care-card-copy { padding: 14px; }
  .vehicle-care-card-copy small { font-size: 9px; }
  .vehicle-care-card-copy strong { font-size: clamp(16px, 4.6vw, 21px); }
  .vehicle-care-card-copy em { margin-top: 7px; font-size: 10px; }
  .vehicle-care-exclusions { margin-top: 46px; padding: 20px; grid-template-columns: 26px minmax(0, 1fr); gap: 12px; }
  .vehicle-care-exclusions .icon { width: 21px; height: 21px; }
  .vehicle-care-modal-body { padding: 22px 20px 28px; }
  .vehicle-care-modal-parts ul { grid-template-columns: minmax(0,1fr); }
}
.summary-confirm-button.is-loading {
  cursor: wait;
  opacity: .78;
}

.payment-spinner {
  width: 16px;
  height: 16px;
  display: inline-block;
  flex: 0 0 auto;
  border: 2px solid rgba(255, 255, 255, .42);
  border-top-color: #fff;
  border-radius: 50%;
  animation: payment-spin .72s linear infinite;
}

@keyframes payment-spin {
  to { transform: rotate(360deg); }
}

/* Responsive final · escritorio sólido y experiencia móvil prioritaria */
html, body, .app-shell { max-width: 100%; overflow-x: clip; }
button, [role='button'], select, input, textarea { touch-action: manipulation; }

@media (min-width: 1180px) {
  .booking-store-hero,
  .booking-store-catalog,
  .continuous-purchase-shell { margin-right: auto; margin-left: auto; }
  .continuous-purchase-shell { width: min(100%, 1180px); }
  .unified-purchase-grid.continuous-purchase-grid { gap: 34px; padding-right: 34px; padding-left: 34px; }
  .unified-order-column { top: 72px; }
  .admin-layout { padding-right: 28px; padding-left: 28px; }
}

@media (min-width: 761px) and (max-width: 1050px) {
  .unified-purchase-grid.continuous-purchase-grid {
    grid-template-columns: minmax(240px, .58fr) minmax(0, 1.42fr);
    gap: 20px;
    padding-right: 22px;
    padding-left: 22px;
  }
  .unified-order-card { padding: 15px; }
  .unified-order-art { height: 150px; }
  .booking-store-heading h1 { font-size: clamp(48px, 6.2vw, 62px); }
}

@media (max-width: 760px) {
  :root { --radius: 20px; --radius-sm: 14px; }
  body { min-width: 0; background: #f5f5f7; }
  .client-topbar { height: calc(52px + env(safe-area-inset-top)); padding-top: env(safe-area-inset-top); }
  .client-nav { min-height: 52px; padding-right: 12px; padding-left: 14px; }
  .mateos-menu-button { width: 44px; height: 44px; padding: 11px; }
  .mateos-logo-button { min-width: 44px; min-height: 44px; }

  .mateos-trust-bar {
    min-height: 66px;
    padding: 10px 17px;
    font-size: 10px;
    line-height: 1.35;
  }
  .mateos-hero { padding-right: 16px; padding-left: 16px; }
  .mateos-hero-copy { text-align: center; }
  .mateos-actions { width: 100%; gap: 10px; }
  .mateos-button { width: calc(50% - 5px); min-height: 48px; font-size: 13px; }
  .mateos-hero-person { height: min(43vh, 340px); }

  .booking-store-offer { min-height: 58px; padding: 10px 18px; font-size: 10px; line-height: 1.35; }
  .booking-store-hero { padding: 34px 18px 28px; }
  .booking-store-heading h1 { font-size: clamp(43px, 13vw, 52px); line-height: .98; }
  .booking-store-help { width: 100%; }
  .booking-store-help button,
  .booking-store-help a { min-height: 44px; display: inline-flex; align-items: center; }
  .booking-store-nav { margin-top: 28px; padding-bottom: 5px; scroll-snap-type: x proximity; }
  .booking-store-nav button { min-height: 44px; flex: 0 0 auto; }
  .booking-store-catalog-head { padding-right: 18px; padding-left: 18px; }
  .booking-store-catalog-head h2 { font-size: 28px; line-height: 1.04; }
  .booking-service-shelf { padding: 14px 18px 38px; gap: 12px; scroll-padding-inline: 18px; }
  .booking-service-card.booking-line-card {
    width: min(78vw, 320px);
    flex-basis: min(78vw, 320px);
    min-height: 500px;
    padding: 0 20px 20px;
    border-radius: 24px;
    scroll-snap-align: start;
  }
  .booking-line-card .booking-line-art { height: 235px; margin: 0 -20px 15px; }
  .booking-line-card > p { min-height: 44px; font-size: 12px; line-height: 1.42; }
  .booking-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .booking-card-info,
  .booking-card-choose { width: 100%; min-height: 44px; padding: 0 12px; justify-content: center; font-size: 12px; }
  .booking-service-card.booking-line-card .booking-card-info,
  .booking-service-card.booking-line-card .booking-card-choose { min-height: 44px; }
  .booking-store-assurances article { min-height: 48px; }

  .continuous-purchase-grid { padding: 10px 10px 24px; }
  .unified-purchase-grid.continuous-purchase-grid { gap: 14px; }
  .continuous-configurator { width: 100%; }
  .continuous-config-section { margin-bottom: 16px; padding-bottom: 20px; }
  .continuous-config-section .continuous-config-body { padding-right: 14px; padding-left: 14px; }
  .continuous-config-section .continuous-config-body > h3,
  .continuous-config-section .continuous-config-body .booking-step > h3 { font-size: 20px; line-height: 1.12; }
  .vehicle-dropdown-picker select,
  .field input,
  .field select,
  .field textarea { min-height: 52px; font-size: 16px; }
  .vehicle-brand-model-panel { padding: 12px; gap: 12px; }

  .selected-line-banner { min-height: 320px; border-radius: 20px; }
  .selected-line-banner img {
    inset: auto 0 0 auto;
    width: 68%;
    height: 57%;
    object-fit: contain;
    object-position: right bottom;
  }
  .selected-line-banner .selected-line-copy {
    top: 18px;
    right: 18px;
    bottom: auto;
    left: 18px;
    transform: none;
  }
  .selected-line-banner .selected-line-copy h4 { font-size: 24px; }
  .selected-line-banner .selected-line-copy > span { margin-bottom: 8px; font-size: 8px; }
  .selected-line-banner .selected-line-copy p { max-width: 100%; font-size: 11px; line-height: 1.43; }
  .selected-line-banner.selected-line-classic::after,
  .selected-line-banner.selected-line-detailing::after {
    background: linear-gradient(180deg, rgba(239,240,242,.98) 0%, rgba(239,240,242,.92) 45%, rgba(239,240,242,.08) 76%);
  }
  .selected-line-banner.selected-line-detailing::after {
    background: linear-gradient(180deg, rgba(225,243,250,.98) 0%, rgba(225,243,250,.9) 45%, rgba(225,243,250,.08) 76%);
  }
  .selected-line-banner.selected-line-advanced::after {
    background: linear-gradient(180deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.82) 47%, rgba(0,0,0,.08) 78%);
  }
  .service-part-selector { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
  .service-part-selector button { min-width: 0; min-height: 72px; padding: 11px; grid-template-columns: 31px minmax(0,1fr) 16px; gap: 8px; border-radius: 16px; }
  .finish-upgrade-buttons { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
  .finish-upgrade-buttons button { width: 100%; min-height: 46px; padding: 0 12px; }
  .finish-included-list { padding: 12px; }
  .finish-included-card { min-height: 88px; padding: 14px; }
  .service-condition-extra-panel { padding: 16px 14px; }
  .service-condition-choice button { min-width: 48px; min-height: 44px; }
  .booking-step > .location-legal-notice { padding: 13px 14px; font-size: 10.5px; }
  .booking-place-card { min-height: 72px; padding: 13px 14px; }
  .customer-form-grid { grid-template-columns: 1fr !important; gap: 12px; }

  .unified-order-column { width: 100%; }
  .unified-order-card { padding: 16px; }
  .unified-order-art-single { height: 148px; }
  .unified-order-recap > div { min-height: 34px; }
  .summary-availability-toggle { min-height: 52px; }
  .summary-date-chip { min-width: 48px; min-height: 58px; }
  .summary-slots button { min-height: 44px; font-size: 11px; }
  .summary-schedule-body {
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    left: 10px;
    max-height: min(82dvh, 690px);
    padding: 15px;
    border-radius: 22px;
    box-shadow: 0 24px 80px rgba(13,18,28,.28);
  }
  .summary-card-only { min-height: 54px; }
  .summary-confirm-button { min-height: 50px; font-size: 12px; }

  .topbar-inner { min-height: 62px; height: auto; padding-top: env(safe-area-inset-top); }
  .admin-page { min-height: calc(100dvh - 62px); }
  .admin-hero-inner { padding: 34px 18px 92px; }
  .admin-hero h1 { font-size: 33px; line-height: 1; }
  .admin-layout { padding-right: 10px; padding-left: 10px; }
  .stat-card { min-height: 116px; padding: 15px; }
  .admin-tabs { margin-right: -10px; margin-left: -10px; padding: 0 10px; scroll-snap-type: x proximity; }
  .admin-tab { min-height: 48px; padding: 12px 14px; scroll-snap-align: start; white-space: nowrap; }
  .panel-card { border-radius: 18px; overflow: visible; }
  .panel-header { padding: 17px 15px; }
  .panel-tools { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
  .search-box { grid-column: 1 / -1; }
  .search-box input,
  .filter-select { min-height: 46px; font-size: 12px; }
  .panel-tools .btn { min-height: 46px; }
  .table-wrap { padding: 10px; overflow: visible; background: #f5f5f7; }
  .data-table,
  .data-table tbody { width: 100%; min-width: 0; display: block; }
  .data-table thead { display: none; }
  .data-table tbody { display: grid; gap: 10px; }
  .data-table tbody tr {
    padding: 15px;
    border: 1px solid #e1e3e7;
    border-radius: 16px;
    background: #fff;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 13px 16px;
    box-shadow: 0 5px 18px rgba(15,20,31,.035);
  }
  .data-table td { padding: 0; border: 0; font-size: 11px; }
  .data-table td::before {
    content: attr(data-label);
    margin-bottom: 4px;
    color: #8a8c93;
    display: block;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .55px;
    text-transform: uppercase;
  }
  .data-table td:first-child,
  .data-table td:last-child { grid-column: 1 / -1; }
  .data-table td:first-child::before { display: none; }
  .data-table td:last-child { padding-top: 10px; border-top: 1px solid #eceef1; }
  .data-table td:last-child::before { margin-bottom: -31px; }
  .customer-cell { min-height: 42px; }
  .avatar { width: 38px; height: 38px; }
  .row-actions { gap: 7px; }
  .row-actions .icon-btn { width: 44px; height: 44px; border-radius: 12px; background: #f2f3f5; }
  .service-admin-fields { grid-template-columns: 1fr; }
  .schedule-calendar { -webkit-overflow-scrolling: touch; }
  .modal-backdrop { padding: 0; }
  .modal { width: 100%; max-height: 92dvh; border-radius: 24px 24px 0 0; }
  .modal-header { padding: 18px; }
  .modal-footer { padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); }
  .modal-footer .btn { min-height: 46px; }
  .legal-policy-modal { max-height: 96dvh; border-radius: 24px 24px 0 0; }
  .legal-policy-header { padding: 20px 20px 16px; }
  .legal-policy-body { padding: 22px 20px 30px; }
  .privacy-policy-document { font-size: 13px; line-height: 1.46; }
  .privacy-policy-document h3 { font-size: 13px; }
  .privacy-policy-controller { margin-top: 24px; }
  .privacy-policy-controller div { display: block; }
  .privacy-policy-controller dt { display: inline; }
  .privacy-policy-controller dd { display: inline; margin-left: 4px; }
}

@media (max-width: 420px) {
  .booking-store-heading h1 { font-size: 44px; }
  .booking-service-card.booking-line-card { width: 78vw; flex-basis: 78vw; }
  .mateos-hero-copy h1 { font-size: clamp(21px, 6vw, 25px); }
  .mateos-hero-copy p { font-size: 11px; letter-spacing: 2.6px; }
  .service-condition-extra-panel { grid-template-columns: 34px minmax(0,1fr); }
  .service-condition-choice { grid-column: 2; }
}

/* Configurador Apple-inspired · MateosDetail */
.apple-booking-config {
  --apple-config-ink: #1d1d1f;
  --apple-config-muted: #6e6e73;
  --apple-config-surface: #f5f5f7;
  --apple-config-blue: #0071e3;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--apple-config-ink);
  box-shadow: none !important;
}

.apple-booking-localnav {
  position: sticky;
  top: 70px;
  z-index: 70;
  min-height: 74px;
  padding: 13px max(24px, calc((100vw - 1180px) / 2));
  border-bottom: 1px solid rgba(0, 0, 0, .12);
  background: rgba(255, 255, 255, .9);
  backdrop-filter: saturate(180%) blur(20px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.apple-booking-localnav div,
.apple-booking-localnav strong,
.apple-booking-localnav small {
  min-width: 0;
  display: block;
}

.apple-booking-localnav strong {
  font-size: 21px;
  line-height: 1.1;
  letter-spacing: -.035em;
}

.apple-booking-localnav small {
  margin-top: 4px;
  color: var(--apple-config-muted);
  font-size: 12px;
  line-height: 1.25;
}

.apple-booking-localnav > a {
  min-height: 34px;
  padding: 0 17px;
  border-radius: 999px;
  background: var(--apple-config-blue);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

.apple-booking-benefits {
  min-height: 54px;
  padding: 0 max(24px, calc((100vw - 1180px) / 2));
  border-bottom: 1px solid #dedede;
  background: #fff;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 230px));
  align-items: center;
}

.apple-booking-benefits > span {
  min-height: 28px;
  padding: 0 28px;
  border-left: 1px solid #d2d2d7;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
}

.apple-booking-benefits > span:first-child {
  padding-left: 0;
  border-left: 0;
}

.apple-booking-benefits .icon {
  width: 21px;
  height: 21px;
}

.apple-booking-hero {
  width: min(calc(100% - 48px), 1180px);
  margin: 0 auto;
  padding: 56px 0 64px;
}

.apple-booking-hero > span {
  display: block;
  color: #86868b;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .12em;
}

.apple-booking-hero h2 {
  margin: 12px 0 20px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.035em;
}

.apple-booking-hero h2 em {
  color: #86868b;
  font-style: normal;
}

.apple-booking-hero > p {
  max-width: 620px;
  margin: 0;
  font-size: 17px;
  line-height: 1.47;
  letter-spacing: -.015em;
}

.apple-booking-hero > div {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.apple-booking-hero > div span {
  padding: 13px 18px;
  border-radius: 999px;
  background: var(--apple-config-surface);
  color: #424245;
  font-size: 12px;
}

@media (max-width: 760px) {
  .apple-booking-localnav {
    top: calc(52px + env(safe-area-inset-top));
    min-height: 72px;
    padding: 11px 24px;
  }

  .apple-booking-localnav strong { font-size: 18px; }
  .apple-booking-localnav small { max-width: 245px; font-size: 10px; }
  .apple-booking-localnav > a { min-height: 32px; padding: 0 14px; font-size: 12px; }

  .apple-booking-benefits {
    min-height: 58px;
    padding: 0 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .apple-booking-benefits > span {
    padding: 0 12px;
    font-size: 10px;
    line-height: 1.2;
  }

  .apple-booking-benefits > span:first-child { padding-left: 0; }
  .apple-booking-benefits .icon { width: 19px; height: 19px; }

  .apple-booking-hero {
    width: auto;
    margin: 0;
    padding: 40px 24px 48px;
  }

  .apple-booking-hero > span { font-size: 10px; }
  .apple-booking-hero h2 { margin: 12px 0 20px; font-size: 32px; }
  .apple-booking-hero > p { max-width: 420px; font-size: 17px; }
  .apple-booking-hero > div { margin-top: 24px; gap: 9px; }
  .apple-booking-hero > div span { padding: 11px 14px; font-size: 10px; }
}

@media (max-width: 350px) {
  .mateos-actions { grid-template-columns: 1fr; display: grid; }
  .mateos-button { width: 100%; }
  .service-part-selector { grid-template-columns: 1fr; }
  .data-table tbody tr { grid-template-columns: 1fr; }
  .data-table td,
  .data-table td:first-child,
  .data-table td:last-child { grid-column: 1; }
}

/* Líneas, resumen y comparativa · revisión 2026-08-11-13 */
.booking-store-paypal-offer {
  min-height: 45px;
  padding: 7px 18px;
  color: #1d1d1f;
  font-size: 10px;
  line-height: 1.28;
}
.booking-store-paypal-offer button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #06c;
  font: inherit;
  cursor: pointer;
}
.booking-store-hero { padding-top: 48px; padding-bottom: 30px; }
.booking-store-heading { align-items: center; }
.booking-store-heading h1 {
  max-width: 680px;
  font-size: clamp(52px, 6vw, 76px);
  line-height: .92;
  letter-spacing: -4.2px;
}
.booking-store-catalog { padding-top: 0; }
.booking-store-catalog-head { margin-bottom: 16px; }
.booking-service-shelf { padding-top: 8px; }

.booking-line-card .booking-line-art-copy { display: none; }
.booking-line-card header { min-height: 82px; }
.booking-line-card header .booking-card-label {
  color: color-mix(in srgb, var(--service-accent) 88%, #0066cc);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .65px;
}
.booking-line-card header .booking-card-subtitle {
  margin-top: 4px;
  display: block;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .65px;
}
.booking-line-card.line-card-advanced header .booking-card-label,
.booking-line-card.line-card-advanced header .booking-card-subtitle { color: #d0d0d5; }

.comparison-tier-label,
.comparison-tier-subtitle {
  display: block;
  color: #9296a0;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .7px;
  line-height: 1.1;
}
.comparison-tier-label { margin-bottom: 7px; }
.comparison-tier-subtitle { margin-top: 5px; color: #202124; }
.service-comparison-column > header h4 { min-height: 0; }
.service-comparison-column > header p { margin-top: 12px; }

.finish-upgrade-buttons button {
  gap: 4px;
  font-weight: 450;
  letter-spacing: -.15px;
}
.finish-upgrade-buttons button > strong { font-weight: 800; }
.finish-plus-accent { color: var(--blue); font-weight: 900; }
.finish-upgrade-buttons .finish-pro { gap: 4px; }
.finish-pro-accent {
  position: relative;
  display: inline-block;
  color: #050506;
  font-weight: 950;
  letter-spacing: -.18px;
  background: linear-gradient(110deg, #050506 0%, #050506 37%, #6d4e18 45%, #e8ca7c 49%, #8b6726 53%, #050506 61%, #050506 100%);
  background-size: 240% 100%;
  background-position: 120% 0;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 .35px .15px rgba(255,255,255,.58));
  animation: mateos-pro-glint 4.2s ease-in-out infinite;
}
@keyframes mateos-pro-glint {
  0%, 62%, 100% { background-position: 120% 0; }
  78% { background-position: -45% 0; }
}
.finish-upgrade-buttons .finish-plus.selected .finish-plus-accent { color: #fff; }
.finish-upgrade-buttons .finish-pro.selected {
  border: 1px solid rgba(151,113,42,.52);
  background: linear-gradient(135deg, #fff 0%, #f1f1f3 100%);
  color: #111216;
  box-shadow: 0 7px 18px rgba(89,65,18,.13), inset 0 1px 0 rgba(255,255,255,.86);
}
.finish-included-card small {
  color: #111216;
  font-size: 10px;
  font-weight: 900;
}
.finish-included-card.selected small { color: var(--blue); }

@media (prefers-reduced-motion: reduce) {
  .finish-pro-accent { animation: none; background-position: 65% 0; }
}

.unified-order-art-single { height: 168px; }
.unified-order-art-single img,
.unified-order-art-single img[src*='interior-cabin'],
.unified-order-art-single img[src*='exterior-summary-v2'] {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.selected-line-banner { overflow: hidden; }
.selected-line-banner img {
  right: -5%;
  width: 55%;
  object-position: right bottom;
}
.selected-line-banner .selected-line-copy {
  left: 58px;
  right: 45%;
}
.selected-line-arrow {
  position: absolute;
  z-index: 5;
  top: 50%;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(245,245,247,.92);
  color: #1d1d1f;
  display: grid;
  place-items: center;
  box-shadow: 0 5px 18px rgba(0,0,0,.1);
  transform: translateY(-50%);
  cursor: pointer;
  transition: transform .18s ease, background .18s ease;
}
.selected-line-arrow:hover { background: #fff; transform: translateY(-50%) scale(1.05); }
.selected-line-arrow .icon { width: 19px; height: 19px; }
.selected-line-arrow-prev { left: 10px; }
.selected-line-arrow-next { right: 10px; }
.selected-line-advanced .selected-line-arrow { background: rgba(62,62,67,.94); color: #fff; }

.continuous-purchase-shell > .service-comparison-section {
  width: min(calc(100% - 68px), 1112px);
  margin: 28px auto 0;
  padding: 74px 0 36px;
  border-top: 1px solid #e2e3e6;
}

/* Catálogo de líneas previo al configurador · carrusel de producto. */
.apple-storefront-lines { background: #f5f5f7; }
.booking-store-compare {
  min-height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #06c;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 14px;
  cursor: pointer;
}
.booking-store-compare .icon { width: 14px; height: 14px; }
.apple-storefront-lines .booking-service-shelf {
  gap: 20px;
  perspective: none;
}
.apple-storefront-lines .booking-line-card {
  width: calc((100% - 40px) / 3);
  min-width: 286px;
  min-height: 570px;
  flex: 0 0 calc((100% - 40px) / 3);
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  color: #1d1d1f;
  box-shadow: none;
  transform: none;
  transform-style: flat;
}
.apple-storefront-lines .booking-line-card:hover,
.apple-storefront-lines .booking-line-card.selected { border: 0; box-shadow: none; transform: none; }
.apple-storefront-lines .booking-line-card.line-card-advanced,
.apple-storefront-lines .booking-line-card.line-card-detailing,
.apple-storefront-lines .booking-line-card.line-card-classic { background: transparent; color: #1d1d1f; }
.apple-storefront-lines .booking-line-card.line-card-advanced > p,
.apple-storefront-lines .booking-line-card.line-card-advanced .booking-card-price span { color: #1d1d1f; }
.apple-storefront-lines .booking-line-art {
  width: 100%;
  height: auto;
  aspect-ratio: 130 / 139;
  margin: 0;
  border-radius: 28px;
  overflow: hidden;
  background: #e8edf1;
}
.apple-storefront-lines .line-card-advanced .booking-line-art { background: #000; }
.apple-storefront-lines .booking-line-art::after { display: none; }
.apple-storefront-lines .booking-line-art > video,
.apple-storefront-lines .booking-line-card:hover .booking-line-art > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: none;
  transform: none;
}
.booking-card-swatches {
  min-height: 52px;
  padding: 18px 0 14px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.booking-card-swatches i {
  width: 12px;
  height: 12px;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 50%;
  background: var(--swatch);
}
.apple-storefront-lines .booking-line-card header {
  min-height: 29px;
  margin: 0;
  transform: none;
}
.apple-storefront-lines .booking-line-card h3 {
  margin: 0;
  font-size: 24px;
  line-height: 1.12;
  letter-spacing: -.6px;
}
.apple-storefront-lines .booking-line-card > p {
  min-height: 42px;
  margin: 14px 28px 0 0;
  color: #2d2d2f;
  font-size: 14px;
  line-height: 20px;
  transform: none;
}
.apple-storefront-lines .booking-card-price {
  margin-top: 14px;
  gap: 0;
  transform: none;
}
.apple-storefront-lines .booking-card-price strong,
.apple-storefront-lines .booking-card-price span {
  color: #1d1d1f;
  font-size: 14px;
  line-height: 20px;
}
.apple-storefront-lines .booking-card-actions {
  margin-top: 40px;
  padding: 0 28px 0 0;
  gap: 27px;
  transform: none;
}
.apple-storefront-lines .booking-card-info,
.apple-storefront-lines .booking-card-choose {
  min-height: 36px;
  padding: 0 15px;
  border-radius: 980px;
  font-size: 14px;
  font-weight: 400;
  white-space: nowrap;
}
.apple-storefront-lines .booking-card-choose { padding: 0; }
.booking-shelf-controls-footer {
  width: min(calc(100% - 48px), 1120px);
  margin: 24px auto 0;
  justify-content: flex-end;
  gap: 18px;
}
.booking-shelf-controls-footer button { width: 36px; height: 36px; }

/* Declaración de valor de la pantalla de líneas. */
.booking-store-page .booking-store-hero {
  width: 100%;
  max-width: none;
  padding: 48px 0 30px;
}
.booking-store-page .store-back {
  width: min(87.5%, 1120px);
  margin: 0 auto 32px;
  display: flex;
}
.booking-store-tagline {
  width: 82.3vw;
  min-height: 224px;
  margin-left: 6.55vw;
  padding: 32px clamp(52px, 11.7vw, 150px);
  border-radius: 72px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.booking-store-tagline h1 {
  margin: 0;
  color: #1d1d1f;
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.035em;
  text-align: center;
  white-space: nowrap;
}
.booking-store-page .booking-store-hero > .booking-store-help {
  width: min(87.5%, 1120px);
  margin: 20px auto 0;
  padding: 0;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px 24px;
}

@media (max-width: 760px) {
  .booking-store-paypal-offer { min-height: 48px; padding: 8px 14px; font-size: 9px; }
  .booking-store-hero { padding-top: 27px; padding-bottom: 20px; }
  .booking-store-heading { gap: 10px; }
  .booking-store-heading h1 { font-size: clamp(40px, 12.5vw, 50px); letter-spacing: -3px; }
  .booking-store-help {
    width: 100%;
    padding: 0;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3px 16px;
  }
  .booking-store-help button,
  .booking-store-help a { min-height: 34px; font-size: 10px; }
  .booking-store-page .booking-store-hero {
    padding: 27px 0 20px;
  }
  .booking-store-page .store-back {
    width: 87.5%;
    margin-bottom: 20px;
  }
  .booking-store-tagline {
    width: 82.3vw;
    min-height: 128px;
    margin-left: 6.55vw;
    padding: 24px 7vw;
    border-radius: 34px;
  }
  .booking-store-tagline h1 {
    font-size: clamp(16px, 4.25vw, 24px);
    line-height: 1.1;
    letter-spacing: -.03em;
  }
  .booking-store-page .booking-store-hero > .booking-store-help {
    width: 87.5%;
    margin-top: 14px;
    gap: 3px 16px;
  }
  .booking-store-catalog-head { margin-bottom: 8px; }
  .booking-service-shelf { padding-top: 6px; }
  .booking-line-card header { min-height: 74px; }

  .unified-order-art-single { height: 180px; }
  .selected-line-banner { min-height: 350px; }
  .selected-line-banner img {
    right: -8%;
    width: 74%;
    height: 58%;
  }
  .selected-line-banner .selected-line-copy {
    top: 20px;
    right: 20px;
    left: 20px;
  }
  .selected-line-arrow { top: 72%; width: 40px; height: 40px; }
  .selected-line-arrow-prev { left: 11px; }
  .selected-line-arrow-next { right: 11px; }
  .continuous-purchase-shell > .service-comparison-section {
    width: 100%;
    margin-top: 10px;
    padding: 38px 8px 22px;
  }
  /* Comparativa de prestaciones: conserva las tres columnas e iconos originales. */
  .service-comparison-section > h3 {
    padding: 0 12px;
    font-size: clamp(27px, 8.2vw, 34px);
    line-height: .98;
    letter-spacing: -1.8px;
  }
  .service-comparison-section > p {
    max-width: 330px;
    margin: 10px auto 22px;
    padding: 0 12px;
    font-size: 10px;
    line-height: 1.4;
  }
  .service-comparison-scroll {
    width: 100%;
    overflow-x: hidden;
    scrollbar-width: none;
  }
  .service-comparison-grid {
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .service-comparison-column > header {
    min-height: 150px;
    padding: 5px 5px 16px;
  }
  .comparison-tier-label,
  .comparison-tier-subtitle {
    font-size: 6px;
    letter-spacing: .45px;
  }
  .comparison-tier-label { margin-bottom: 5px; }
  .comparison-tier-subtitle { margin-top: 4px; }
  .service-comparison-column > header h4 {
    font-size: clamp(13px, 3.8vw, 16px);
    line-height: 1.02;
    letter-spacing: -.55px;
  }
  .service-comparison-column > header p {
    min-height: 34px;
    margin: 8px 0 9px;
    font-size: 7px;
    line-height: 1.3;
  }
  .service-comparison-column > header strong {
    font-size: 10px;
    white-space: nowrap;
  }
  .comparison-feature {
    min-height: 88px;
    padding: 12px 4px;
    grid-template-columns: repeat(2, 26px);
    gap: 6px 3px;
  }
  .comparison-feature-icon { width: 26px; height: 26px; }
  .comparison-feature > span {
    max-width: 105px;
    padding: 0 2px;
    font-size: 6px;
    line-height: 1.28;
    letter-spacing: .28px;
    overflow-wrap: anywhere;
  }
  .comparison-feature > b { font-size: 20px; }

  /* Carrusel Apple: solo en la pantalla anterior al configurador. */
  .apple-storefront-lines {
    padding: 56px 0;
    background: #f5f5f7;
  }
  .apple-storefront-lines .booking-store-catalog-head {
    width: 87.5%;
    margin: 0 auto 32px;
    padding: 0;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
  .apple-storefront-lines .booking-store-catalog-head h2 {
    font-size: 28px;
    line-height: 32px;
    letter-spacing: -.8px;
  }
  .apple-storefront-lines .booking-store-compare {
    min-height: 20px;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: -.016em;
  }
  .apple-storefront-lines .booking-service-shelf {
    padding: 0 6.25vw 12px;
    scroll-padding-inline: 6.25vw;
    gap: 20px;
    -webkit-overflow-scrolling: touch;
  }
  .apple-storefront-lines .booking-service-card.booking-line-card {
    width: 260px;
    min-width: 260px;
    flex-basis: 260px;
    min-height: 540px;
    padding: 0;
    border-radius: 0;
    background: transparent;
  }
  .apple-storefront-lines .booking-line-card .booking-line-art {
    width: 260px;
    height: 278px;
    aspect-ratio: 130 / 139;
    margin: 0;
    border-radius: 28px;
  }
  .apple-storefront-lines .booking-line-card header {
    min-height: 25px;
    margin: 0;
  }
  .apple-storefront-lines .booking-line-card h3 {
    font-size: 21px;
    line-height: 25px;
    letter-spacing: .011em;
  }
  .apple-storefront-lines .booking-line-card > p {
    min-height: 40px;
    margin: 12px 28px 0 0;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: -.016em;
  }
  .apple-storefront-lines .booking-card-price { margin-top: 12px; gap: 0; }
  .apple-storefront-lines .booking-card-price strong,
  .apple-storefront-lines .booking-card-price span {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: -.016em;
  }
  .apple-storefront-lines .booking-card-actions {
    margin-top: 40px;
    padding: 0 28px 0 0;
    gap: 27px;
  }
  .apple-storefront-lines .booking-card-info,
  .apple-storefront-lines .booking-card-choose {
    min-height: 36px;
    padding: 0 15px;
    font-size: 14px;
    line-height: 18px;
    white-space: nowrap;
  }
  .apple-storefront-lines .booking-card-choose { padding: 0; }
  .apple-storefront-lines .booking-shelf-controls-footer {
    display: flex;
    width: 87.5%;
    margin: 24px auto 0;
    gap: 18px;
  }
  .apple-storefront-lines .booking-shelf-controls-footer button { width: 36px; height: 36px; }
}
/* Supabase connection and private business access */
.backend-state {
  min-height: 100svh;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 14px;
  padding: 32px;
  text-align: center;
  background: #f7f7f8;
  color: #111318;
}

.backend-state h1 { margin: 0; font-size: clamp(28px, 5vw, 48px); letter-spacing: -.045em; }
.backend-state p { max-width: 560px; margin: 0; color: #6e727b; }
.backend-state > .icon { width: 34px; height: 34px; color: #e5484d; }
.backend-state-error { background: #fff; }
.admin-login-error { min-height: 20px; margin: 14px 0 0; color: #c83434; font-size: 13px; }
/* MateosDetail Privilege */
.privilege-admin-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, .7fr); gap: 20px; align-items: start; }
.privilege-admin-members { min-width: 0; }
.privilege-admin-list { display: grid; gap: 1px; border-top: 1px solid var(--line); }
.privilege-admin-list article { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto auto; gap: 14px; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--line); }
.privilege-admin-list article > div { display: grid; gap: 3px; }
.privilege-admin-list small { color: var(--muted); font-size: 11px; }
.privilege-admin-form { display: grid; gap: 16px; position: sticky; top: 90px; }
.privilege-admin-form > h3 { margin: 0; font-size: 24px; }
.privilege-admin-form > p { margin: -7px 0 2px; color: var(--muted); line-height: 1.5; }
.privilege-admin-form .field small { display: block; margin-top: 6px; color: var(--muted); }
.privilege-entry-page,
.privilege-member-page { background: #f5f5f7; color: #101114; min-height: 100vh; }
.privilege-intro { min-height: 650px; padding: 64px max(5vw, 28px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr); align-items: center; gap: 6vw; position: relative; overflow: hidden; background: radial-gradient(circle at 78% 52%, #25272c 0 5%, #101114 24%, #000 54%), #000; color: #fff; }
.privilege-back { position: absolute; top: 32px; left: max(5vw, 28px); border: 0; background: transparent; color: #b6b6bb; display: inline-flex; align-items: center; gap: 4px; font: inherit; cursor: pointer; }
.privilege-back .icon { width: 18px; }
.privilege-intro-copy { max-width: 680px; position: relative; z-index: 2; }
.privilege-wordmark,
.privilege-member-welcome > span { display: inline-flex; gap: 8px; align-items: center; font-size: 17px; letter-spacing: -.02em; }
.privilege-wordmark b,
.privilege-member-welcome > span b { background: linear-gradient(110deg, #ae792c, #f4da8b 42%, #8c5b1d 78%); color: transparent; background-clip: text; -webkit-background-clip: text; }
.privilege-intro h1 { font-size: clamp(55px, 7.8vw, 112px); line-height: .91; letter-spacing: -.075em; margin: 40px 0 28px; max-width: 850px; }
.privilege-intro-copy > p { font-size: clamp(19px, 2vw, 28px); line-height: 1.35; color: #b9b9bf; max-width: 710px; }
.privilege-price { margin-top: 42px; display: flex; gap: 16px; align-items: baseline; color: #d8d8dc; }
.privilege-price strong { font-size: 29px; color: #fff; }
.privilege-price span { font-size: 14px; }
.privilege-price.privilege-price-discreet {
  margin-top: 22px;
  gap: 8px;
  align-items: center;
  color: #aeb0b8;
}
.privilege-price.privilege-price-discreet strong {
  font-size: clamp(15px, 1.5vw, 19px);
  letter-spacing: -.02em;
}
.privilege-price.privilege-price-discreet span {
  font-size: clamp(11px, 1.1vw, 13px);
}
.privilege-orbit { display: none; width: min(38vw, 470px); aspect-ratio: 1; position: relative; margin: auto; border: 1px solid #414349; border-radius: 50%; place-items: center; box-shadow: 0 0 120px rgba(216, 172, 76, .12); }
.privilege-orbit::before,
.privilege-orbit::after { content: ''; position: absolute; inset: 12%; border: 1px solid #27292f; border-radius: 50%; }
.privilege-orbit::after { inset: 29%; border-color: #4e5158; }
.privilege-orbit > span { position: absolute; width: 12px; height: 12px; border-radius: 50%; top: 9%; right: 25%; background: #d7af58; box-shadow: 0 0 35px #d7af58; }
.privilege-orbit > i { width: 52%; height: 1px; background: linear-gradient(90deg, transparent, #d7af58, transparent); transform: rotate(-35deg); }
.privilege-orbit > b { position: absolute; font-size: 56px; letter-spacing: -.08em; }
.privilege-benefits-section,
.privilege-access-section,
.privilege-experiences-section { padding: 110px max(5vw, 28px); max-width: 1500px; margin: auto; }
.privilege-section-heading { max-width: 760px; margin-bottom: 54px; }
.privilege-section-heading > span,
.privilege-access-copy > span { color: #a17328; font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.privilege-section-heading h2,
.privilege-access-copy h2 { font-size: clamp(41px, 5vw, 74px); line-height: .98; letter-spacing: -.06em; margin: 16px 0; }
.privilege-section-heading p,
.privilege-access-copy p { color: #6e7078; font-size: 18px; line-height: 1.55; }
.privilege-benefit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.privilege-benefit-card { background: #fff; min-height: 320px; border-radius: 30px; padding: 34px; display: flex; flex-direction: column; box-shadow: 0 18px 50px rgba(0,0,0,.035); }
.privilege-benefit-icon { width: 52px; height: 52px; display: grid; place-items: center; background: #f1f1f3; border-radius: 50%; color: #16171a; }
.privilege-benefit-icon .icon { width: 26px; height: 26px; }
.privilege-benefit-card h3 { font-size: 25px; letter-spacing: -.04em; margin: auto 0 12px; }
.privilege-benefit-card p { color: #72747b; line-height: 1.55; margin: 0; }
.privilege-access-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 500px); gap: 8vw; align-items: center; border-top: 1px solid #dedee2; }
.privilege-access-copy small { display: block; color: #8b8d93; line-height: 1.45; margin-top: 30px; max-width: 550px; }
.privilege-login-card { background: #fff; padding: 38px; border-radius: 30px; box-shadow: 0 24px 80px rgba(0,0,0,.08); }
.privilege-login-card label { display: block; font-size: 13px; font-weight: 700; margin: 17px 0 8px; }
.privilege-login-card input { width: 100%; height: 58px; border: 1px solid #d5d5da; border-radius: 14px; padding: 0 17px; font: inherit; background: #fff; }
.privilege-login-card input:focus { outline: 3px solid rgba(0,113,227,.16); border-color: #0071e3; }
.privilege-login-error { color: #b42318; min-height: 20px; font-size: 13px; margin: 13px 0 4px; }
.privilege-login-card > button { width: 100%; height: 56px; border: 0; border-radius: 28px; color: #fff; background: #0071e3; font: inherit; font-weight: 700; display: flex; justify-content: center; align-items: center; gap: 7px; cursor: pointer; }
.privilege-login-card > button .icon { width: 18px; }
.privilege-login-card > a { display: block; text-align: center; margin-top: 20px; color: #0071e3; text-decoration: none; font-size: 14px; }
.privilege-terms-note { padding: 0 max(5vw, 28px) 90px; max-width: 1500px; margin: auto; }
.privilege-terms-note p { border-radius: 22px; background: #e9e9ed; color: #64666d; padding: 24px 28px; line-height: 1.5; font-size: 14px; }
.privilege-terms-note strong { color: #27282b; }
.privilege-member-hero { min-height: 560px; background: #050506; color: #fff; padding: 28px max(5vw, 28px) 70px; position: relative; overflow: hidden; }
.privilege-member-hero::after { content: ''; position: absolute; width: 620px; height: 620px; border: 1px solid #383a40; border-radius: 50%; right: -90px; bottom: -300px; box-shadow: 0 0 100px rgba(211,169,74,.12); }
.privilege-member-nav { display: flex; justify-content: space-between; position: relative; z-index: 2; }
.privilege-member-nav button { background: transparent; border: 0; color: #aaaab1; display: inline-flex; gap: 4px; align-items: center; cursor: pointer; }
.privilege-member-nav .icon { width: 18px; }
.privilege-member-welcome { margin-top: 95px; position: relative; z-index: 2; }
.privilege-member-welcome h1 { font-size: clamp(56px, 8vw, 112px); letter-spacing: -.075em; line-height: .94; margin: 24px 0 10px; }
.privilege-member-welcome p { color: #aaaab1; font-size: 22px; }
.privilege-metal-card { position: absolute; right: max(6vw, 40px); top: 155px; width: min(38vw, 480px); aspect-ratio: 1.58; border-radius: 28px; padding: 32px; background: linear-gradient(135deg, #202126, #08080a 48%, #4f3d21 130%); border: 1px solid #3c3d42; display: flex; flex-direction: column; justify-content: space-between; box-shadow: 0 40px 110px rgba(0,0,0,.5); z-index: 2; }
.privilege-metal-card small { color: #c5a35c; letter-spacing: .15em; }
.privilege-metal-card strong { display: block; font-size: 20px; margin-top: 7px; }
.privilege-metal-card > span { color: #8c8e94; font-size: 13px; letter-spacing: .12em; }
.privilege-metal-card > b { position: absolute; right: 28px; bottom: 24px; font-size: 30px; }
.privilege-account-grid { max-width: 1500px; margin: -48px auto 0; padding: 0 max(5vw, 28px); display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; position: relative; z-index: 3; }
.privilege-account-card { min-height: 260px; background: #fff; padding: 30px; border-radius: 28px; display: flex; flex-direction: column; box-shadow: 0 16px 60px rgba(0,0,0,.06); }
.privilege-account-card > small { color: #8b6a2c; font-weight: 800; letter-spacing: .12em; }
.privilege-account-card > strong { margin: auto 0 10px; font-size: 30px; letter-spacing: -.04em; }
.privilege-account-card > span,
.privilege-account-card p { color: #74767d; font-size: 14px; }
.privilege-dots { display: flex; gap: 7px; margin-bottom: 12px; }
.privilege-dots i { width: 30px; height: 6px; border-radius: 4px; background: #dedee2; }
.privilege-dots i.active { background: #0071e3; }
.invite-card button { border: 0; background: transparent; color: #0071e3; padding: 0; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; cursor: pointer; }
.invite-card button .icon { width: 18px; }
.privilege-experience-list { display: grid; gap: 14px; }
.privilege-experience-card { min-height: 230px; display: grid; grid-template-columns: 70px 1fr auto; gap: 28px; align-items: center; border-radius: 28px; padding: 34px; background: #fff; }
.privilege-experience-card.locked { color: #777981; background: #ebebee; }
.privilege-experience-number { font-size: 28px; color: #b18a43; align-self: start; }
.privilege-experience-card small { font-weight: 800; letter-spacing: .13em; color: #9a752e; }
.privilege-experience-card h3 { font-size: clamp(27px, 3vw, 43px); letter-spacing: -.05em; margin: 8px 0; }
.privilege-experience-card p { max-width: 780px; color: #6e7077; line-height: 1.5; }
.privilege-experience-card span { display: block; font-weight: 700; margin-top: 18px; }
.privilege-experience-card em { display: block; font-size: 12px; font-style: normal; color: #95979d; margin-top: 8px; }
.privilege-experience-card > b { color: #197f54; font-size: 12px; letter-spacing: .12em; }
.privilege-experience-card > b .icon { width: 26px; }

@media (max-width: 900px) {
  .privilege-admin-layout { grid-template-columns: 1fr; }
  .privilege-admin-form { position: static; }
  .privilege-intro { grid-template-columns: 1fr; min-height: auto; padding-top: 110px; }
  .privilege-orbit { width: min(80vw, 390px); }
  .privilege-benefit-grid { grid-template-columns: repeat(2, 1fr); }
  .privilege-access-section { grid-template-columns: 1fr; }
  .privilege-metal-card { position: relative; top: auto; right: auto; width: min(100%, 480px); margin: 45px 0 0; }
  .privilege-member-hero { padding-bottom: 100px; }
  .privilege-account-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .privilege-admin-list article { grid-template-columns: 38px minmax(0, 1fr) auto; }
  .privilege-admin-list article > .status-badge { grid-column: 2 / -1; justify-self: start; }
  .privilege-intro { padding: 100px 20px 58px; }
  .privilege-back { left: 20px; }
  .privilege-intro h1 { font-size: 53px; margin-top: 32px; }
  .privilege-intro-copy > p { font-size: 18px; }
  .privilege-price { align-items: flex-start; flex-direction: column; gap: 5px; }
  .privilege-benefits-section,
  .privilege-access-section,
  .privilege-experiences-section { padding: 72px 18px; }
  .privilege-benefit-grid { grid-template-columns: 1fr; }
  .privilege-benefit-card { min-height: 235px; }
  .privilege-login-card { padding: 24px; border-radius: 24px; }
  .privilege-member-hero { padding: 24px 18px 82px; }
  .privilege-member-welcome { margin-top: 74px; }
  .privilege-member-welcome h1 { font-size: 55px; }
  .privilege-metal-card { padding: 24px; border-radius: 23px; }
  .privilege-account-grid { padding: 0 18px; }
  .privilege-experience-card { grid-template-columns: 1fr; gap: 12px; padding: 26px; }
  .privilege-experience-card > b { justify-self: start; }
}

/* Global client navigation, bag and future-ready menu drawers */
:root { --client-header-height: 68px; }

body.client-drawer-open {
  overflow: hidden;
  overscroll-behavior: none;
}

.client-topbar {
  position: sticky;
  top: 0;
  z-index: 300;
  height: var(--client-header-height);
}

.client-nav {
  min-height: var(--client-header-height);
}

.client-nav-actions {
  min-width: 0;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}

.client-nav-icon,
.mateos-menu-button {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  position: relative;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #1d1d1f;
  display: grid;
  place-items: center;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  cursor: pointer;
  transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

.client-nav-icon:hover,
.mateos-menu-button:hover { background: rgba(0, 0, 0, .045); }

.client-nav-icon:active,
.mateos-menu-button:active { transform: scale(.94); }

.client-nav-icon:focus-visible,
.mateos-menu-button:focus-visible,
.client-drawer button:focus-visible,
.client-drawer a:focus-visible {
  outline: 3px solid rgba(0, 113, 227, .32);
  outline-offset: 2px;
}

.client-nav-icon .icon {
  width: 22px;
  height: 22px;
  stroke-width: 1.6;
}

.mateos-menu-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0;
}

.mateos-menu-button span {
  width: 23px;
  height: 1.75px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: transform .22s ease, opacity .18s ease;
}

/* The new menu intentionally uses two strokes. Hide an old third stroke safely. */
.mateos-menu-button span:nth-child(n + 3) { display: none; }
.mateos-menu-button.is-open span:first-child { transform: translateY(3.875px) rotate(45deg); }
.mateos-menu-button.is-open span:nth-child(2) { transform: translateY(-3.875px) rotate(-45deg); }

.client-bag-badge {
  position: absolute;
  top: 5px;
  right: 3px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border: 2px solid rgba(248, 248, 249, .98);
  border-radius: 999px;
  background: #0071e3;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.client-drawer-backdrop {
  position: fixed;
  z-index: 290;
  inset: var(--client-header-height) 0 0;
  overflow: hidden;
  background: rgba(0, 0, 0, .24);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  animation: client-drawer-fade .2s ease both;
}

.client-drawer {
  width: min(100%, 480px);
  height: 100%;
  margin-left: auto;
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 30px 30px calc(30px + env(safe-area-inset-bottom));
  background: rgba(250, 250, 252, .985);
  color: #1d1d1f;
  box-shadow: -24px 0 70px rgba(0, 0, 0, .13);
  animation: client-drawer-enter .28s cubic-bezier(.2, .75, .2, 1) both;
}

.client-drawer-menu { width: min(100%, 560px); }

.client-drawer-header,
.client-drawer > header {
  min-height: 44px;
  margin-bottom: 27px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.client-drawer-header > div,
.client-drawer > header > div { min-width: 0; }
.client-drawer-header small,
.client-drawer > header small {
  display: block;
  margin-bottom: 4px;
  color: #86868b;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.client-drawer-header h2,
.client-drawer > header h2 {
  margin: 0;
  font-size: clamp(26px, 4vw, 36px);
  line-height: 1;
  letter-spacing: -.045em;
}

.client-drawer-close {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #e8e8ed;
  color: #1d1d1f;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.client-drawer-close .icon { width: 18px; height: 18px; }

.client-menu-list,
.client-menu-future {
  margin: 0;
  padding: 0;
  display: grid;
  list-style: none;
}

.client-menu-list button,
.client-menu-list a {
  width: 100%;
  min-height: 58px;
  padding: 7px 1px;
  border: 0;
  border-bottom: 1px solid #e4e4e7;
  background: transparent;
  color: #1d1d1f;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  text-align: left;
  text-decoration: none;
  font: inherit;
  font-size: 26px;
  font-weight: 680;
  line-height: 1.05;
  letter-spacing: -.035em;
  cursor: pointer;
}

.client-menu-list .icon { width: 20px; height: 20px; color: #86868b; }
.client-menu-list button:hover,
.client-menu-list a:hover { color: #0071e3; }

.client-menu-future {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid #d8d8dc;
  gap: 13px;
}
.client-menu-future > small {
  color: #86868b;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.client-menu-future span { color: #6e6e73; font-size: 14px; }

.client-drawer-menu > header > span {
  color: #1d1d1f;
  font-size: 14px;
  font-weight: 750;
  letter-spacing: -.02em;
}

.client-bag-empty {
  min-height: min(54vh, 430px);
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 13px;
  text-align: center;
}
.client-bag-empty > .icon { width: 38px; height: 38px; color: #86868b; }
.client-bag-empty h3 { margin: 4px 0 0; font-size: 25px; letter-spacing: -.04em; }
.client-bag-empty p { max-width: 300px; margin: 0; color: #6e6e73; font-size: 13px; line-height: 1.45; }
.client-bag-empty > button {
  min-height: 42px;
  margin-top: 7px;
  padding: 0 19px;
  border: 0;
  border-radius: 999px;
  background: #0071e3;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.client-bag-item {
  padding: 20px 0 23px;
  border-top: 1px solid #dedee2;
  border-bottom: 1px solid #dedee2;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  align-items: center;
  gap: 15px;
}
.client-bag-art {
  width: 74px;
  height: 74px;
  overflow: hidden;
  border-radius: 17px;
  background: #eeeef0;
}
.client-bag-art img { width: 100%; height: 100%; display: block; object-fit: cover; }
.client-bag-copy { min-width: 0; }
.client-bag-copy small,
.client-bag-copy strong,
.client-bag-copy span { display: block; }
.client-bag-copy small { color: #86868b; font-size: 9px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.client-bag-copy strong { margin-top: 5px; font-size: 15px; line-height: 1.25; }
.client-bag-copy span { margin-top: 4px; overflow: hidden; color: #6e6e73; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.client-bag-price { align-self: start; font-size: 15px; font-weight: 750; white-space: nowrap; }

.client-bag-summary {
  margin-top: 22px;
  display: grid;
  gap: 11px;
}
.client-bag-line {
  color: #86868b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.client-bag-summary > h3 {
  margin: 1px 0 13px;
  font-size: 28px;
  line-height: 1.02;
  letter-spacing: -.045em;
}
.client-bag-summary dl {
  margin: 0;
  padding: 17px 0;
  border-top: 1px solid #dedee2;
  border-bottom: 1px solid #dedee2;
  display: grid;
  gap: 12px;
}
.client-bag-summary dl > div {
  min-width: 0;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  font-size: 12px;
}
.client-bag-summary dt { color: #6e6e73; }
.client-bag-summary dd {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: #1d1d1f;
  font-weight: 650;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.client-bag-summary > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #6e6e73;
  font-size: 12px;
}
.client-bag-summary > div:last-child,
.client-bag-total {
  margin-top: 7px;
  padding-top: 18px;
  border-top: 1px solid #dedee2;
  color: #1d1d1f;
  font-size: 16px;
  font-weight: 750;
}

.client-drawer-primary {
  width: 100%;
  min-height: 48px;
  margin-top: 24px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: #0071e3;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.client-drawer-primary:hover { background: #0077ed; }
.client-drawer-primary .icon { width: 16px; height: 16px; }

.client-bag-resume {
  width: 100%;
  min-height: 48px;
  margin-top: 8px;
  padding: 0 21px;
  border: 0;
  border-radius: 999px;
  background: #0071e3;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}
.client-bag-resume .icon { width: 16px; height: 16px; }
.client-bag-clear {
  justify-self: center;
  padding: 7px 10px;
  border: 0;
  background: transparent;
  color: #6e6e73;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.client-bag-clear:hover { color: #d12e2e; }

@keyframes client-drawer-fade { from { opacity: 0; } }
@keyframes client-drawer-enter { from { opacity: .72; transform: translateX(34px); } }

@media (max-width: 760px) {
  :root { --client-header-height: calc(52px + env(safe-area-inset-top)); }

  .client-topbar {
    position: sticky;
    height: var(--client-header-height);
    padding-top: env(safe-area-inset-top);
  }

  .client-nav {
    min-height: 52px;
    height: 52px;
    padding: 0 max(8px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));
  }

  .client-nav-actions { gap: 0; }
  .client-nav-icon,
  .mateos-menu-button { width: 42px; min-width: 42px; height: 44px; min-height: 44px; }
  .client-nav-icon .icon { width: 21px; height: 21px; }
  .client-bag-badge { top: 4px; right: 1px; }

  .client-drawer-backdrop {
    inset: var(--client-header-height) 0 0;
    background: #fafafc;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .client-drawer,
  .client-drawer-menu {
    width: 100%;
    height: 100%;
    padding: 23px max(22px, env(safe-area-inset-right)) calc(25px + env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));
    box-shadow: none;
  }

  .client-drawer-menu .client-drawer-header,
  .client-drawer-menu > header { margin-bottom: 12px; }
  .client-menu-list button,
  .client-menu-list a { min-height: 61px; font-size: clamp(27px, 8vw, 36px); }
  .client-bag-item { grid-template-columns: 68px minmax(0, 1fr) auto; gap: 12px; }
  .client-bag-art { width: 68px; height: 68px; border-radius: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .client-drawer-backdrop,
  .client-drawer { animation: none; }
  .client-nav-icon,
  .mateos-menu-button,
  .mateos-menu-button span { transition: none; }
}

/* Cabecera compacta de la pantalla de elección de línea. */
.booking-store-page .booking-store-hero {
  width: min(100%, 1120px);
  max-width: 1120px;
  margin: 0 auto;
  padding: 12px 24px 8px;
}
.booking-store-page .store-back {
  width: 100%;
  margin: 0 0 6px;
}
.booking-store-page .booking-store-tagline {
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.booking-store-page .booking-store-tagline h1 {
  width: 100%;
  max-width: none;
  margin: 0;
  font-size: clamp(18px, 2.4vw, 30px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -.035em;
  text-align: center;
  white-space: nowrap;
}
.booking-store-page .booking-store-hero > .booking-store-help {
  width: 100%;
  margin: 6px 0 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  gap: 4px 20px;
}
.booking-store-page .apple-storefront-lines .booking-shelf-controls-footer {
  display: none;
}

@media (max-width: 760px) {
  .booking-store-page .booking-store-hero {
    padding: 8px 18px 6px;
  }
  .booking-store-page .store-back {
    width: 100%;
    margin-bottom: 5px;
  }
  .booking-store-page .booking-store-tagline {
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    border-radius: 0;
  }
  .booking-store-page .booking-store-tagline h1 {
    font-size: clamp(14px, 3.8vw, 18px);
    line-height: 1.1;
    letter-spacing: -.03em;
  }
  .booking-store-page .booking-store-hero > .booking-store-help {
    width: 100%;
    margin-top: 5px;
    justify-content: center;
    gap: 2px 14px;
  }
}

/* Publish polish · portada cómoda con fondo limpio y composición móvil compacta */
.mateos-home .mateos-hero {
  background: #f7f7f8 !important;
}

.mateos-home .mateos-hero-copy h1,
.mateos-home .mateos-hero-copy p {
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .mateos-home .mateos-hero {
    min-height: 540px !important;
    padding: 0 16px !important;
    background: #f7f7f8 !important;
    overflow: hidden !important;
  }

  .mateos-home .mateos-hero-main {
    min-height: 540px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .mateos-home .mateos-hero-copy {
    width: 100% !important;
    padding-top: 42px !important;
    text-align: center !important;
    align-items: center !important;
    z-index: 3 !important;
  }

  .mateos-home .mateos-hero-copy h1 {
    margin: 0 auto !important;
    max-width: none !important;
    font-size: clamp(23px, 6.5vw, 30px) !important;
    line-height: .95 !important;
    letter-spacing: .09em !important;
    word-spacing: .22em !important;
    white-space: nowrap !important;
  }

  .mateos-home .mateos-hero-copy p {
    margin: 9px auto 0 !important;
    max-width: none !important;
    font-size: clamp(6.4px, 1.75vw, 8.2px) !important;
    line-height: 1 !important;
    letter-spacing: .34em !important;
    font-weight: 850 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .mateos-home .mateos-actions {
    width: 100% !important;
    margin-top: 22px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
  }

  .mateos-home .mateos-button {
    width: min(41vw, 166px) !important;
    min-height: 38px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .mateos-home .mateos-hero-person {
    position: relative !important;
    inset: auto !important;
    left: 50% !important;
    bottom: auto !important;
    width: min(128vw, 500px) !important;
    height: 340px !important;
    margin-top: 8px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: visible !important;
    transform: translateX(-50%) !important;
    z-index: 1 !important;
  }

  .mateos-home .mateos-hero-camera {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
  }

  .mateos-home .mateos-hero-person img {
    position: relative !important;
    width: min(128vw, 500px) !important;
    max-width: none !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    transform: none !important;
  }

  .mateos-home .mateos-hero-person::after {
    content: "" !important;
    position: absolute !important;
    left: -22vw !important;
    right: -22vw !important;
    bottom: -1px !important;
    height: 110px !important;
    background: linear-gradient(180deg, rgba(247, 247, 248, 0), #f7f7f8 82%) !important;
    pointer-events: none !important;
    z-index: 2 !important;
  }
}

@media (max-width: 420px) {
  .mateos-home .mateos-hero {
    min-height: 520px !important;
    padding: 0 14px !important;
  }

  .mateos-home .mateos-hero-main {
    min-height: 520px !important;
  }

  .mateos-home .mateos-hero-copy {
    padding-top: 34px !important;
  }

  .mateos-home .mateos-hero-copy h1 {
    font-size: clamp(21px, 6.15vw, 26px) !important;
    letter-spacing: .085em !important;
    word-spacing: .2em !important;
  }

  .mateos-home .mateos-hero-copy p {
    font-size: clamp(6px, 1.65vw, 7.6px) !important;
    letter-spacing: .31em !important;
  }

  .mateos-home .mateos-actions {
    margin-top: 20px !important;
    gap: 9px !important;
  }

  .mateos-home .mateos-button {
    width: min(42vw, 160px) !important;
    min-height: 36px !important;
    font-size: 11.5px !important;
  }

  .mateos-home .mateos-hero-person {
    width: min(132vw, 490px) !important;
    height: 320px !important;
    margin-top: 6px !important;
  }

  .mateos-home .mateos-hero-person img {
    width: min(132vw, 490px) !important;
  }
}

/* Privilege: acceso compacto bajo la presentacion de la membresia */
.privilege-compact-access {
  width: min(100%, 1180px);
  margin: 0 auto;
  padding: 28px max(5vw, 28px) 34px;
  color: #17181b;
}

.privilege-compact-heading {
  max-width: 680px;
  margin: 0 auto 18px;
  text-align: center;
}

.privilege-compact-heading > span {
  display: block;
  margin-bottom: 6px;
  color: #9a712d;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.privilege-compact-heading h2,
.privilege-compact-heading h3 {
  margin: 0;
  font-size: clamp(19px, 2.2vw, 27px);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.privilege-compact-heading > strong {
  display: block;
  margin-top: 7px;
  color: #38393d;
  font-size: 12px;
  line-height: 1.35;
}

.privilege-compact-heading p {
  margin: 8px auto 0;
  color: #777980;
  font-size: 12px;
  line-height: 1.45;
}

.privilege-compact-login {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 10px;
  width: min(100%, 680px);
  margin: 0 auto;
  padding: 16px;
  border: 1px solid #dedee2;
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .035);
}

.privilege-compact-login label {
  margin: 0;
  color: #55575d;
  font-size: 10px;
  font-weight: 700;
}

.privilege-compact-login label > span {
  display: block;
  margin-bottom: 5px;
}

.privilege-compact-login label:nth-of-type(1) { grid-column: 1; grid-row: 1; }
.privilege-compact-login label:nth-of-type(2) { grid-column: 2; grid-row: 1; }

.privilege-compact-login input {
  width: 100%;
  height: 42px;
  min-width: 0;
  border: 1px solid #d3d3d8;
  border-radius: 11px;
  padding: 0 12px;
  background: #fff;
  color: #17181b;
  font: inherit;
  font-size: 13px;
}

.privilege-compact-login input:nth-of-type(1) { grid-column: 1; grid-row: 2; }
.privilege-compact-login input:nth-of-type(2) { grid-column: 2; grid-row: 2; }
.privilege-compact-login input:focus { outline: 3px solid rgba(0, 113, 227, .13); border-color: #0071e3; }

.privilege-compact-login .privilege-login-error {
  grid-column: 1 / -1;
  min-height: 0;
  margin: 0;
  color: #b42318;
  font-size: 10px;
  line-height: 1.35;
}

.privilege-compact-login > button {
  grid-column: 1 / -1;
  width: 100%;
  height: 42px;
  border: 0;
  border-radius: 22px;
  background: #0071e3;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
}

.privilege-compact-login > button .icon { width: 15px; height: 15px; }
.privilege-compact-login > button:disabled { opacity: .6; cursor: progress; }

.privilege-compact-login > a {
  grid-column: 1 / -1;
  justify-self: center;
  color: #0071e3;
  font-size: 11px;
  line-height: 1.3;
  text-decoration: none;
}

.privilege-mini-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 680px);
  margin: 22px auto 0;
  border-top: 1px solid #dedee2;
}

.privilege-mini-benefit {
  min-width: 0;
  padding: 16px 8px 4px;
  text-align: center;
}

.privilege-mini-benefit + .privilege-mini-benefit { border-left: 1px solid #dedee2; }

.privilege-mini-benefit > span {
  width: 34px;
  height: 34px;
  margin: 0 auto 9px;
  border-radius: 50%;
  background: #e9e9ed;
  color: #191a1d;
  display: grid;
  place-items: center;
}

.privilege-mini-benefit .icon { width: 17px; height: 17px; }

.privilege-mini-benefit h3,
.privilege-mini-benefit strong {
  display: block;
  margin: 0;
  color: #202125;
  font-size: 11px;
  line-height: 1.18;
  letter-spacing: -.015em;
}

.privilege-mini-benefit p {
  margin: 5px auto 0;
  color: #82848a;
  font-size: 9px;
  line-height: 1.35;
}

.privilege-mini-benefit > small {
  display: block;
  margin: 5px auto 0;
  color: #82848a;
  font-size: 9px;
  line-height: 1.35;
}

.privilege-continuity-note {
  width: min(100%, 680px);
  margin: 14px auto 0;
  color: #8a8c92;
  font-size: 10px;
  line-height: 1.45;
  text-align: center;
}

.privilege-continuity-note strong { color: #55575d; }

@media (max-width: 560px) {
  .privilege-compact-access { padding: 22px 18px 28px; }
  .privilege-compact-heading { margin-bottom: 14px; }
  .privilege-compact-heading h2,
  .privilege-compact-heading h3 { font-size: 19px; }
  .privilege-compact-heading p { font-size: 11px; }
  .privilege-compact-login { padding: 13px; border-radius: 16px; gap: 5px 8px; }
  .privilege-compact-login input,
  .privilege-compact-login > button { height: 40px; }
  .privilege-mini-benefits { margin-top: 18px; }
  .privilege-mini-benefit { padding: 14px 5px 2px; }
  .privilege-mini-benefit > span { width: 30px; height: 30px; margin-bottom: 7px; }
  .privilege-mini-benefit .icon { width: 15px; height: 15px; }
  .privilege-mini-benefit h3,
  .privilege-mini-benefit strong { font-size: 10px; }
  .privilege-mini-benefit p { font-size: 8px; }
  .privilege-mini-benefit > small { font-size: 8px; }
}

/* Última salvaguarda de la barra pública: evita que reglas históricas oculten
   los tres controles (administración, bolsa y menú) en pantallas estrechas. */
.client-topbar .client-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.client-topbar .client-nav-actions {
  display: flex;
  visibility: visible;
  opacity: 1;
}
.client-topbar .client-nav-actions > button {
  display: grid;
  visibility: visible;
  opacity: 1;
}
.client-topbar .client-nav-actions > .mateos-menu-button { display: flex; }

/* Ajustes finales solicitados: líneas Apple, mejora agrupada y Privilege oscuro */
.apple-storefront-lines .booking-card-swatches { display: none !important; }
.apple-storefront-lines .booking-line-card header.booking-line-title-block {
  min-height: 96px;
  margin-top: 26px;
  padding-right: 28px;
  display: block;
}
.apple-storefront-lines .booking-line-card header .booking-card-label,
.apple-storefront-lines .booking-line-card header .booking-card-subtitle {
  display: block;
  text-transform: uppercase;
}
.apple-storefront-lines .booking-line-card header .booking-card-label {
  margin-bottom: 5px;
  color: #7a8999;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}
.apple-storefront-lines .booking-line-card h3 {
  margin: 0;
  font-weight: 850;
}
.apple-storefront-lines .booking-line-card header .booking-card-subtitle {
  margin-top: 3px;
  color: #1d1d1f;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}
.apple-storefront-lines .line-card-advanced header .booking-card-label,
.apple-storefront-lines .line-card-advanced header .booking-card-subtitle { color: rgba(255,255,255,.72); }

.finish-upgrade-section > h3 { margin-bottom: 18px; }
.finish-upgrade-buttons { margin-bottom: 17px; }
.finish-bundle-card { grid-column: 1 / -1; }
.finish-bundle-card p { max-width: 620px; }

.privilege-entry-page {
  background: #000;
  color: #f5f5f7;
}
.privilege-entry-page .mateos-footer {
  background: #000;
  color: rgba(245,245,247,.72);
  border-color: rgba(255,255,255,.1);
}
.privilege-compact-access {
  color: #f5f5f7;
  background: #000;
}
.privilege-compact-heading > strong,
.privilege-compact-heading p,
.privilege-continuity-note { color: rgba(245,245,247,.68); }
.privilege-compact-heading h2,
.privilege-compact-heading h3,
.privilege-mini-benefit strong { color: #f5f5f7; }
.privilege-compact-login {
  border-color: rgba(255,255,255,.15);
  background: rgba(255,255,255,.055);
  box-shadow: 0 18px 55px rgba(0,0,0,.35);
}
.privilege-compact-login label { color: rgba(245,245,247,.74); }
.privilege-compact-login input {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: #fff;
}
.privilege-compact-login input::placeholder { color: rgba(255,255,255,.38); }
.privilege-mini-benefits {
  border-top-color: rgba(255,255,255,.12);
}
.privilege-mini-benefit + .privilege-mini-benefit { border-left-color: rgba(255,255,255,.12); }
.privilege-mini-benefit > span {
  background: rgba(255,255,255,.1);
  color: #f5f5f7;
}
.privilege-mini-benefit > small { color: rgba(245,245,247,.55); }
.privilege-terms-note { display: none !important; }

.privilege-entry-page-simple {
  padding-top: clamp(34px, 6vw, 76px);
}

.privilege-entry-page-simple .privilege-back-simple {
  position: relative;
  top: auto;
  left: auto;
  margin-left: max(5vw, 28px);
  margin-bottom: clamp(34px, 6vw, 70px);
}

.privilege-entry-page-simple .privilege-compact-access {
  padding-top: 0;
}

.checkout-privilege-embed {
  position: relative;
  left: 50%;
  width: 100vw;
  min-height: 0;
  margin-left: -50vw;
  padding-top: 0;
  background: #000;
}

.checkout-privilege-embed .privilege-compact-access {
  padding-top: clamp(54px, 7vw, 84px);
}

.privilege-entry-page-simple .privilege-compact-heading {
  max-width: 760px;
}

.privilege-entry-page-simple .privilege-space-kicker {
  color: var(--blue);
}

.privilege-entry-page-simple .privilege-space-kicker {
  display: block;
  margin: 0 0 clamp(10px, 1.8vw, 18px);
  font-size: clamp(13px, 1.5vw, 17px);
  font-weight: 800;
  letter-spacing: -.02em;
}

.privilege-entry-page-simple .privilege-compact-heading h2 {
  font-size: clamp(14px, 4.2vw, 36px);
  line-height: 1.05;
  letter-spacing: -.05em;
  white-space: nowrap;
}

.privilege-entry-page-simple .privilege-compact-heading > strong {
  margin-top: clamp(16px, 2.2vw, 25px);
  color: #f5f5f7;
  font-size: clamp(22px, 3.6vw, 44px);
  line-height: 1.02;
  letter-spacing: -.055em;
}

.privilege-entry-page-simple .privilege-compact-heading p {
  max-width: 720px;
  margin-top: clamp(14px, 2vw, 22px);
  color: rgba(245,245,247,.72);
  font-size: clamp(15px, 2vw, 22px);
  line-height: 1.45;
}

.privilege-entry-page-simple .privilege-compact-login {
  margin-top: clamp(22px, 3vw, 36px);
}

.privilege-entry-page-simple .privilege-access-subtext {
  width: min(100%, 620px);
  margin: 15px auto 0;
  color: rgba(245,245,247,.58);
  font-size: clamp(10px, 1.25vw, 13px);
  line-height: 1.45;
  text-align: center;
}

.privilege-entry-page-simple .privilege-mini-benefits {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 560px);
  justify-content: center;
  margin-top: clamp(28px, 4vw, 44px);
}

.privilege-entry-page-simple .privilege-mini-benefit:nth-child(3) {
  display: none;
}

/* Escapes by Mateos: destination discovery inside the dark Privilege entry. */
.privilege-escapes-preview {
  width: min(100%, 680px);
  margin: clamp(28px, 4vw, 46px) auto 0;
  padding-top: clamp(24px, 3vw, 34px);
  border-top: 1px solid rgba(255,255,255,.12);
}

.privilege-escapes-preview > header { text-align: left; }
.privilege-escapes-preview h3 {
  margin: 0;
  color: #f5f5f7;
  font-size: clamp(22px, 3.2vw, 32px);
  letter-spacing: -.045em;
}
.privilege-escapes-preview > header p {
  margin: 6px 0 0;
  color: rgba(245,245,247,.64);
  font-size: 12px;
}
.privilege-escapes-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 17px;
}
.privilege-escape-tile {
  position: relative;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  background: #181818;
  color: #fff;
  text-align: left;
  cursor: pointer;
  isolation: isolate;
}
.privilege-escape-tile img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s cubic-bezier(.2,.75,.2,1);
}
.privilege-escape-tile-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0,0,0,.02) 33%, rgba(0,0,0,.8) 100%);
}
.privilege-escape-tile-copy {
  position: absolute;
  right: 13px;
  bottom: 13px;
  left: 13px;
  z-index: 2;
  display: grid;
  gap: 3px;
}
.privilege-escape-tile-copy small {
  color: rgba(255,255,255,.86);
  font-size: 10px;
  font-weight: 650;
}
.privilege-escape-tile-copy strong {
  color: #fff;
  font-size: clamp(17px, 3.5vw, 24px);
  line-height: 1.03;
  letter-spacing: -.045em;
}
.privilege-escape-tile-copy em {
  display: flex;
  align-items: center;
  gap: 3px;
  margin-top: 4px;
  color: #fff;
  font-size: 10px;
  font-style: normal;
  font-weight: 650;
}
.privilege-escape-tile-copy .icon { width: 13px; height: 13px; }
.privilege-escape-tile:hover img,
.privilege-escape-tile:focus-visible img { transform: scale(1.04); }
.privilege-escape-tile:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.privilege-escapes-preview-note {
  margin: 12px 0 0;
  color: rgba(245,245,247,.51);
  font-size: 10px;
  line-height: 1.45;
  text-align: left;
}

@media (max-width: 560px) {
  .privilege-entry-page-simple {
    padding-top: 26px;
  }

  .privilege-entry-page-simple .privilege-back-simple {
    margin-left: 20px;
    margin-bottom: 34px;
  }

  .privilege-entry-page-simple .privilege-compact-access {
    padding-inline: 20px;
  }

  .privilege-entry-page-simple .privilege-space-kicker {
    font-size: 13px;
  }

  .privilege-entry-page-simple .privilege-compact-heading > strong {
    font-size: 25px;
  }

  .privilege-entry-page-simple .privilege-compact-heading p {
    font-size: 15px;
  }

  .privilege-entry-page-simple .privilege-mini-benefits {
    width: 100%;
    gap: 0;
  }

  .privilege-escapes-preview { margin-top: 30px; padding-top: 24px; }
  .privilege-escapes-preview-grid { gap: 8px; margin-top: 14px; }
  .privilege-escape-tile { border-radius: 12px; }
  .privilege-escape-tile-copy { right: 11px; bottom: 11px; left: 11px; }
  .privilege-escape-tile-copy strong { font-size: 18px; }
}

/* Privilege: navegación y pie integrados en la experiencia oscura. */
body.privilege-entry-active {
  background: #000;
  color-scheme: dark;
}

body.privilege-entry-active .client-topbar {
  border-bottom-color: rgba(255,255,255,.08);
  background: rgba(0,0,0,.92);
  box-shadow: none;
}

body.privilege-entry-active .mateos-logo-disc {
  background: #000;
}

body.privilege-entry-active .mateos-logo-image-primary,
body.privilege-entry-active .mateos-logo-image-inverted { display: none; }

body.privilege-entry-active .mateos-logo-image-privilege {
  display: block;
  border-radius: 50%;
}

body.privilege-entry-active .mateos-announcement-bar {
  background: #1d1d1f;
  color: #f5f5f7;
}

body.privilege-entry-active .mateos-announcement-slide a,
body.privilege-entry-active .mateos-announcement-slide button { color: #2997ff; }

body.privilege-entry-active .mateos-announcement-arrow { color: #d2d2d7; }
body.privilege-entry-active .mateos-announcement-arrow:hover { color: #fff; }
body.privilege-entry-active .mateos-announcement-bar .mateos-star { color: #f5f5f7; }
body.privilege-entry-active .mateos-menu-button span { background: #f5f5f7; }

body.privilege-entry-active .language-switcher {
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.62);
}

body.privilege-entry-active .language-switcher button.active,
body.privilege-entry-active .client-nav-icon,
body.privilege-entry-active .mateos-menu-button { color: #fff; }

body.privilege-entry-active .client-nav-icon:hover,
body.privilege-entry-active .mateos-menu-button:hover { background: rgba(255,255,255,.1); }

body.privilege-entry-active .client-bag-badge { border-color: #000; }

body.privilege-entry-active .mateos-footer {
  border-top-color: rgba(255,255,255,.1);
  background: #000;
  color: rgba(245,245,247,.72);
}

body.privilege-entry-active .mateos-footer > strong { color: #f5f5f7; }

.privilege-membership-section {
  width: min(1120px, calc(100% - 48px));
  margin: 22px auto 0;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
  color: #f5f5f7;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 18px;
}
.privilege-membership-copy span {
  display: block;
  margin-bottom: 7px;
  color: #d9af57;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
}
.privilege-membership-copy h2 {
  margin: 0;
  font-size: clamp(22px, 3vw, 38px);
  line-height: 1;
  letter-spacing: -.04em;
}
.privilege-membership-copy p {
  margin: 8px 0 0;
  color: rgba(245,245,247,.68);
  font-size: 13px;
  line-height: 1.5;
}
.privilege-membership-toggle,
.privilege-secure-payment {
  border: 0;
  border-radius: 999px;
  background: #0071e3;
  color: #fff;
  min-height: 44px;
  padding: 0 18px;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
}
.privilege-membership-toggle .icon { width: 14px; height: 14px; }
.privilege-membership-panel {
  grid-column: 1 / -1;
  margin-top: 4px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.12);
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}
.secure-card-preview {
  min-height: 80px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background: rgba(255,255,255,.07);
  display: flex;
  align-items: center;
  gap: 12px;
}
.secure-card-preview > span {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.11);
  display: grid;
  place-items: center;
}
.secure-card-preview .icon { width: 17px; height: 17px; }
.secure-card-preview small,
.secure-card-preview strong { display: block; }
.secure-card-preview small {
  color: rgba(245,245,247,.52);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.secure-card-preview strong {
  margin-top: 4px;
  color: #fff;
  font-size: 12px;
  line-height: 1.25;
}
.privilege-membership-panel > p {
  grid-column: 1 / -1;
  margin: 0;
  color: rgba(245,245,247,.58);
  font-size: 11px;
  line-height: 1.45;
}

.privilege-subscription-status-card {
  grid-column: 1 / -1;
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 24px;
  background: rgba(255,255,255,.07);
}
.privilege-subscription-status-card > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}
.privilege-subscription-status-card small,
.privilege-subscription-status-card dt {
  color: rgba(245,245,247,.56);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 800;
}
.privilege-subscription-status-card strong {
  color: #fff;
  font-size: 22px;
  letter-spacing: -.04em;
}
.privilege-subscription-status-card dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  margin: 0;
}
.privilege-subscription-status-card dd {
  margin: 4px 0 0;
  color: #fff;
  font-weight: 800;
}
.privilege-subscription-error {
  grid-column: 1 / -1;
  margin: 0;
  color: #ffb4ab;
  font-size: 12px;
  line-height: 1.45;
}
.privilege-sumup-card {
  grid-column: 1 / -1;
  min-height: 0;
  border-radius: 18px;
}
.privilege-cancel-payment { background: #2a2a2f; }

.privilege-admin-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
  margin: 14px 0 18px;
}
.privilege-admin-stats span,
.privilege-admin-subscriptions article {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  background: #fff;
  padding: 13px;
}
.privilege-admin-stats strong,
.privilege-admin-stats small { display: block; }
.privilege-admin-stats strong { font-size: 24px; letter-spacing: -.04em; }
.privilege-admin-stats small {
  color: #8b9099;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}
.privilege-admin-subscriptions {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}
.privilege-admin-subscriptions h3 { margin: 0; font-size: 18px; }
.privilege-admin-subscriptions article {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 14px;
  align-items: center;
}
.privilege-admin-subscriptions small,
.admin-muted {
  display: block;
  color: #8b9099;
  font-size: 12px;
}

@media (max-width: 760px) {
  .apple-storefront-lines .booking-line-card header.booking-line-title-block {
    min-height: 88px;
    margin-top: 22px;
  }
  .apple-storefront-lines .booking-line-card header .booking-card-label,
  .apple-storefront-lines .booking-line-card header .booking-card-subtitle {
    font-size: 8px;
  }
  .finish-included-grid { gap: 12px; }
  .finish-bundle-card { min-height: 132px; }
  .service-comparison-section .comparison-feature > span { word-break: normal; overflow-wrap: normal; hyphens: none; }
  .privilege-membership-section {
    width: calc(100% - 32px);
    padding: 18px;
    border-radius: 22px;
    grid-template-columns: 1fr;
  }
  .privilege-membership-toggle { width: 100%; }
  .privilege-membership-panel { grid-template-columns: 1fr; }
  .secure-card-preview { min-height: 66px; }
  .privilege-subscription-status-card dl,
  .privilege-admin-stats,
  .privilege-admin-subscriptions article { grid-template-columns: 1fr; }
}

/* Privilege · garaje digital, accesos del mes 06 y reserva privada. */
.privilege-vehicle-section,
.privilege-reserve-section {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 72px 0;
}
.privilege-vehicle-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 28px;
}
.privilege-vehicle-heading > div:first-child > span,
.privilege-reserve-copy > span {
  color: #9a742e;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
}
.privilege-vehicle-heading h2,
.privilege-reserve-copy h2 {
  margin: 7px 0 5px;
  color: #101114;
  font-size: clamp(34px, 5vw, 66px);
  line-height: .98;
  letter-spacing: -.055em;
}
.privilege-vehicle-heading p,
.privilege-reserve-copy p { margin: 0; color: #6c7078; font-size: 15px; }
.privilege-treatment-legend { display: flex; flex-wrap: wrap; gap: 12px 18px; color: #666b73; font-size: 12px; }
.privilege-treatment-legend span { display: inline-flex; align-items: center; gap: 7px; }
.privilege-treatment-legend i { width: 9px; height: 9px; border-radius: 50%; }
.privilege-treatment-legend i.is-treated { background: #22ba79; box-shadow: 0 0 0 5px rgba(34,186,121,.12); }
.privilege-treatment-legend i.is-pending { background: #e25b64; box-shadow: 0 0 0 5px rgba(226,91,100,.1); }
.privilege-vehicle-diagrams { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.privilege-vehicle-view {
  overflow: hidden;
  padding: 22px;
  border: 1px solid rgba(15,17,22,.08);
  border-radius: 30px;
  background: linear-gradient(145deg,#fff,#f3f4f6);
  box-shadow: 0 24px 70px rgba(17,19,24,.08);
}
.privilege-vehicle-view-heading { display: flex; align-items: center; gap: 11px; }
.privilege-vehicle-view-heading > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #111318; color: #fff; font-size: 10px; }
.privilege-vehicle-view-heading div { display: grid; gap: 1px; }
.privilege-vehicle-view-heading strong { font-size: 15px; }
.privilege-vehicle-view-heading small { color: #8a8e96; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.privilege-car-svg { display: block; width: 100%; height: auto; margin: 10px 0 2px; }
.privilege-car-zone { fill: url(#privilege-metal); color: #454b55; transition: fill .35s ease, filter .35s ease; }
.privilege-car-zone.is-treated { fill: rgba(35,190,122,.46); filter: drop-shadow(0 0 8px rgba(35,190,122,.18)); }
.privilege-car-zone.is-pending { fill: rgba(224,79,91,.29); }
.privilege-zone-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.privilege-zone-chips span { padding: 7px 10px; border-radius: 999px; font-size: 10px; font-weight: 750; }
.privilege-zone-chips .is-treated { color: #077a4d; background: rgba(35,190,122,.12); }
.privilege-zone-chips .is-pending { color: #a62d3a; background: rgba(224,79,91,.1); }
.privilege-vehicle-empty { display: grid; min-height: 260px; place-items: center; align-content: center; gap: 9px; border: 1px dashed #c9ccd2; border-radius: 30px; color: #767b84; background: #f6f7f8; text-align: center; }
.privilege-vehicle-empty > span { display: grid; width: 62px; height: 62px; place-items: center; border-radius: 50%; background: #fff; color: #111318; }
.privilege-vehicle-empty .icon { width: 30px; height: 30px; }
.privilege-vehicle-empty p { margin: 0; font-size: 12px; }
.privilege-tenure-meter { position: relative; overflow: hidden; height: 4px; margin: 25px 0 35px; border-radius: 999px; background: rgba(255,255,255,.12); }
.privilege-tenure-meter > span { position: absolute; inset: 0 auto 0 0; border-radius: inherit; background: linear-gradient(90deg,#9d7228,#f2cf7c); }
.privilege-tenure-meter > small { position: absolute; right: 0; top: 11px; color: #9ca1aa; }
.privilege-reward-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.privilege-reward-card { position: relative; overflow: hidden; min-height: 450px; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; color: #fff; background: #0d0e12; }
.privilege-reward-card.is-locked::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.28)); backdrop-filter: saturate(.55); }
.privilege-reward-art { position: relative; display: grid; height: 245px; place-items: center; background: radial-gradient(circle at 60% 20%,rgba(228,183,91,.42),transparent 28%),linear-gradient(150deg,#2a1a12,#07080a 65%); }
.privilege-reward-gaming .privilege-reward-art { background: radial-gradient(circle at 35% 20%,rgba(197,60,161,.45),transparent 25%),radial-gradient(circle at 72% 76%,rgba(26,142,227,.48),transparent 31%),#090a11; }
.privilege-reward-art.has-image { overflow: hidden; background: #08090d; }
.privilege-reward-art.has-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72));
}
.privilege-reward-art.has-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  filter: saturate(.94) contrast(1.03);
}
.privilege-reward-gaming .privilege-reward-art.has-image img {
  object-fit: contain;
  padding: 24px;
  background: radial-gradient(circle at 50% 45%,rgba(255,255,255,.16),transparent 38%),#fff;
}
.privilege-reward-art span { position: absolute; top: 22px; left: 24px; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.privilege-reward-art i { width: 150px; height: 150px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 26px rgba(255,255,255,.035),0 0 0 55px rgba(255,255,255,.02); }
.privilege-reward-art b { position: absolute; font-size: 40px; letter-spacing: -.05em; }
.privilege-reward-art.has-image span,
.privilege-reward-art.has-image b { z-index: 2; text-shadow: 0 12px 30px rgba(0,0,0,.45); }
.privilege-reward-art.has-image b { bottom: 23px; left: 24px; }
.privilege-reward-gaming .privilege-reward-art.has-image b,
.privilege-reward-gaming .privilege-reward-art.has-image span { color: #fff; }
.privilege-reward-copy { position: relative; z-index: 2; padding: 26px; }
.privilege-reward-copy small { color: #d8b769; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.privilege-reward-copy h3 { margin: 8px 0; font-size: 28px; letter-spacing: -.04em; }
.privilege-reward-copy p { min-height: 44px; margin: 0 0 20px; color: #aeb2bb; font-size: 13px; line-height: 1.45; }
.privilege-reward-copy > strong { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; }
.privilege-reward-copy .icon { width: 15px; height: 15px; }
.privilege-reserve-section { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 30px; align-items: end; }
.privilege-reserve-benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; grid-column: 1/-1; }
.privilege-reserve-benefits > span { display: grid; justify-items: center; gap: 5px; padding: 20px 12px; border-radius: 20px; background: #f3f4f6; text-align: center; }
.privilege-reserve-benefits .icon { width: 22px; height: 22px; color: #1673df; }
.privilege-reserve-benefits strong { font-size: 12px; }
.privilege-reserve-benefits small { color: #7a7f88; font-size: 10px; }
.privilege-reserve-button { justify-self: end; min-width: 280px; height: 52px; border: 0; border-radius: 999px; color: #fff; background: #087cf0; font-size: 15px; font-weight: 750; }
.privilege-reserve-button:disabled { color: #92969e; background: #e7e8eb; cursor: not-allowed; }
.privilege-reserve-disabled { grid-column: 2; justify-self: end; color: #888d95; }

@media (max-width: 720px) {
  .privilege-vehicle-section,.privilege-reserve-section { width: calc(100% - 30px); padding: 48px 0; }
  .privilege-vehicle-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .privilege-vehicle-heading h2,.privilege-reserve-copy h2 { font-size: 36px; }
  .privilege-vehicle-diagrams,.privilege-reward-grid { grid-template-columns: 1fr; }
  .privilege-vehicle-view { padding: 16px; border-radius: 24px; }
  .privilege-reward-card { min-height: 410px; border-radius: 24px; }
  .privilege-reward-art { height: 220px; }
  .privilege-reserve-section { grid-template-columns: 1fr; }
  .privilege-reserve-benefits { grid-column: auto; gap: 5px; }
  .privilege-reserve-benefits > span { padding: 15px 5px; border-radius: 16px; }
  .privilege-reserve-button { width: 100%; min-width: 0; justify-self: stretch; }
  .privilege-reserve-disabled { grid-column: auto; justify-self: start; }
}

.whatsapp-consent-field {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: -4px;
  color: #6e6e73;
  font-size: 12px;
  line-height: 1.35;
}

.whatsapp-consent-field input {
  width: 16px;
  height: 16px;
  margin-top: 1px;
  accent-color: var(--blue);
}

/* Ajuste final: texto y espaciado restaurados en la pantalla de elección de línea. */
.booking-store-page .booking-store-hero {
  width: min(100%, 1120px);
  max-width: 1120px;
  margin: 0 auto;
  padding: 34px 24px 42px;
}

.booking-store-page .store-back {
  width: 100%;
  margin: 0 0 20px;
}

.booking-store-page .booking-store-tagline {
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.booking-store-page .booking-store-tagline h1 {
  width: 100%;
  max-width: none;
  margin: 0;
  color: #1d1d1f;
  font-size: clamp(34px, 5.1vw, 58px);
  font-weight: 650;
  line-height: 1;
  letter-spacing: -.035em;
  text-align: center;
  white-space: nowrap;
}

.booking-store-page .booking-store-hero > .booking-store-help {
  width: 100%;
  margin: 22px 0 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  gap: 6px 24px;
}

@media (max-width: 760px) {
  .booking-store-page .booking-store-hero {
    padding: 22px 18px 34px;
  }

  .booking-store-page .store-back {
    width: 100%;
    margin-bottom: 18px;
  }

  .booking-store-page .booking-store-tagline h1 {
    font-size: clamp(25px, 6.4vw, 34px);
    line-height: 1.04;
    letter-spacing: -.03em;
  }

  .booking-store-page .booking-store-hero > .booking-store-help {
    width: 100%;
    margin-top: 18px;
    justify-content: center;
    gap: 4px 18px;
  }
}

/* Ajustes finales del configurador MateosDetail */
.selected-line-banner .selected-line-copy .selected-line-kicker,
.selected-line-banner .selected-line-copy small {
  display: block;
  color: currentColor;
  text-transform: uppercase;
}

.selected-line-banner .selected-line-copy .selected-line-kicker {
  margin-bottom: 5px;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .12em;
  opacity: .82;
}

.selected-line-banner .selected-line-copy small {
  margin: 0 0 13px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .11em;
}

.service-part-selector-classic,
.service-part-selector-advanced {
  grid-template-columns: minmax(0, 1fr);
}

.service-part-selector button {
  grid-template-columns: 28px minmax(0, 1fr);
}

.service-part-selector button.selected {
  background: var(--blue);
  color: #fff;
}

.service-part-selector button.selected > .service-part-icon {
  background: #fff;
  color: var(--blue);
}

.finish-upgrade-section > h3 {
  margin-bottom: 14px;
}

.finish-included-list:not(.has-cards) {
  display: none;
}

.finish-included-list.has-cards {
  margin-top: 14px;
  background: transparent;
}

.inline-conditions-link {
  color: var(--blue) !important;
  font-weight: 760;
  text-decoration: none !important;
}

.inline-conditions-link:hover,
.inline-conditions-link:focus-visible {
  text-decoration: underline !important;
}

.payment-method-detail {
  position: relative;
}

.payment-detail-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 25px;
  height: 25px;
  border: 0;
  border-radius: 50%;
  background: rgba(232, 233, 237, .92);
  color: #4f535b;
  display: grid;
  place-items: center;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}

.payment-detail-close:hover {
  background: #dedfe4;
  color: #111216;
}

.comparison-feature > span {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}

@media (max-width: 760px) {
  .selected-line-banner .selected-line-copy .selected-line-kicker {
    margin-bottom: 5px;
    font-size: 7px;
  }

  .selected-line-banner .selected-line-copy small {
    margin-bottom: 10px;
    font-size: 7px;
  }

  .service-part-selector {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-part-selector-classic,
  .service-part-selector-advanced {
    grid-template-columns: 1fr;
  }

  .service-part-selector button {
    min-height: 68px;
    grid-template-columns: 31px minmax(0, 1fr);
  }

  .finish-included-grid {
    gap: 8px;
  }

  .finish-included-card {
    min-height: 82px;
  }

  .comparison-feature > span {
    max-width: 92px;
    font-size: 5.6px;
    letter-spacing: .18px;
    overflow-wrap: normal;
    word-break: keep-all;
  }
}

/* Ajustes finales de elección de línea y páginas Descubrir */
.apple-storefront-lines .line-card-advanced header .booking-card-label {
  color: #7a8999;
}

.apple-storefront-lines .line-card-advanced header .booking-card-subtitle {
  color: #1d1d1f;
}

.line-discovery-backdrop {
  align-items: stretch;
  padding: 0;
  background: rgba(0, 0, 0, .42);
}

.line-discovery-modal {
  width: min(1180px, calc(100vw - 34px));
  max-height: calc(100vh - 34px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border-radius: 34px;
  background: #f5f5f7;
  color: #1d1d1f;
  box-shadow: 0 34px 120px rgba(0, 0, 0, .24);
}

.line-discovery-modal.line-discovery-pro {
  background: #050507;
  color: #f5f5f7;
}

.line-discovery-modal.line-discovery-flow {
  background: linear-gradient(180deg, #f4fbff 0%, #f5f5f7 58%, #fff 100%);
}

.line-discovery-top {
  min-height: 62px;
  padding: 18px 22px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.line-discovery-top .store-back {
  width: auto;
  margin: 0;
  color: inherit;
  opacity: .72;
}

.line-discovery-top .icon-btn {
  background: rgba(255, 255, 255, .78);
  color: #1d1d1f;
  border: 1px solid rgba(0, 0, 0, .08);
}

.line-discovery-pro .line-discovery-top .icon-btn {
  background: rgba(255, 255, 255, .11);
  color: #fff;
  border-color: rgba(255, 255, 255, .16);
}

.line-discovery-hero {
  min-height: min(690px, calc(100vh - 156px));
  padding: 18px clamp(24px, 5vw, 70px) 54px;
  display: grid;
  grid-template-columns: minmax(280px, .88fr) minmax(360px, 1.12fr);
  align-items: center;
  gap: clamp(26px, 5vw, 68px);
}

.line-discovery-copy > span {
  display: block;
  color: #7a8999;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.line-discovery-pro .line-discovery-copy > span {
  color: #c9a86a;
}

.line-discovery-copy h2 {
  margin: 10px 0 0;
  font-size: clamp(54px, 8vw, 112px);
  font-weight: 850;
  line-height: .88;
  letter-spacing: -.065em;
}

.line-discovery-copy small {
  display: block;
  margin-top: 16px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.line-discovery-copy p {
  max-width: 520px;
  margin: 34px 0 0;
  color: #6e6e73;
  font-size: clamp(18px, 2.1vw, 28px);
  line-height: 1.16;
  letter-spacing: -.02em;
}

.line-discovery-pro .line-discovery-copy p {
  color: rgba(245, 245, 247, .74);
}

.line-discovery-copy strong {
  display: block;
  margin-top: 34px;
  font-size: 20px;
  line-height: 1.25;
}

.line-discovery-copy strong em {
  display: block;
  margin-top: 4px;
  color: #6e6e73;
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
}

.line-discovery-pro .line-discovery-copy strong em {
  color: rgba(245, 245, 247, .62);
}

.line-discovery-actions {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.line-discovery-actions .btn {
  min-height: 44px;
  border-radius: 999px;
  padding: 0 22px;
}

.line-discovery-media {
  width: 100%;
  aspect-ratio: 1 / 1;
  max-height: 680px;
  border-radius: 38px;
  overflow: hidden;
  background: #e8e8ed;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04), 0 24px 70px rgba(0, 0, 0, .13);
}

.line-discovery-pro .line-discovery-media {
  background: #000;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 34px 90px rgba(0, 0, 0, .45);
}

.line-discovery-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.line-discovery-strip {
  margin: 0 clamp(18px, 4vw, 54px) 34px;
  padding: 18px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  border-radius: 24px;
  background: rgba(255, 255, 255, .72);
  backdrop-filter: blur(16px);
}

.line-discovery-pro .line-discovery-strip {
  background: rgba(255, 255, 255, .08);
}

.line-discovery-strip article {
  min-height: 82px;
  padding: 14px 12px;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 9px;
  color: inherit;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  background: rgba(255, 255, 255, .62);
}

.line-discovery-pro .line-discovery-strip article {
  background: rgba(255, 255, 255, .08);
}

.line-discovery-strip .icon {
  width: 20px;
  height: 20px;
  color: var(--blue);
}

@media (max-width: 760px) {
  .booking-store-page .booking-store-tagline h1 {
    font-size: clamp(18px, 5.05vw, 24px);
    line-height: 1.08;
    letter-spacing: -.032em;
    text-align: center;
  }

  .line-discovery-backdrop {
    padding: 0;
  }

  .line-discovery-modal {
    width: 100vw;
    min-height: 100vh;
    max-height: none;
    margin: 0;
    border-radius: 0;
  }

  .line-discovery-top {
    min-height: 56px;
    padding: calc(12px + env(safe-area-inset-top)) 18px 8px;
  }

  .line-discovery-hero {
    min-height: 0;
    padding: 18px 22px 34px;
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .line-discovery-media {
    order: -1;
    aspect-ratio: 1.08 / 1;
    border-radius: 28px;
  }

  .line-discovery-copy h2 {
    font-size: clamp(48px, 15vw, 70px);
  }

  .line-discovery-copy p {
    margin-top: 24px;
    font-size: 20px;
    line-height: 1.2;
  }

  .line-discovery-strip {
    margin: 0 18px calc(24px + env(safe-area-inset-bottom));
    grid-template-columns: 1fr;
  }
}

/* FINAL ABSOLUTO: referencia visual de mejoras y líneas */
.booking-store-page .booking-store-line-note {
  width: min(100%, 1120px) !important;
  margin: 0 auto clamp(18px, 2.4vw, 28px) !important;
  padding: 0 24px !important;
  color: #1d1d1f !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}
.booking-store-page .booking-store-line-note::before { content: none !important; }
.continuous-purchase-shell .finish-upgrade-section {
  margin: clamp(30px, 4vw, 50px) 0 !important;
  padding: clamp(40px, 4.2vw, 54px) clamp(36px, 5.4vw, 64px) clamp(44px, 4.4vw, 56px) !important;
  border-top: 2px solid rgba(29,29,31,.12) !important;
  border-bottom: 2px solid rgba(29,29,31,.12) !important;
  background: #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.continuous-purchase-shell .finish-upgrade-section h3 {
  margin: 0 !important;
  color: #1d1d1f !important;
  font-size: clamp(34px, 3.55vw, 50px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -.047em !important;
}
.continuous-purchase-shell .finish-upgrade-section h3 strong { font-weight: 850 !important; }
.continuous-purchase-shell .finish-upgrade-section > p {
  max-width: 860px !important;
  margin: clamp(15px,1.7vw,22px) 0 clamp(36px,3.5vw,46px) !important;
  color: #6e6e73 !important;
  font-size: clamp(22px, 1.95vw, 29px) !important;
  font-weight: 400 !important;
  line-height: 1.22 !important;
  letter-spacing: -.032em !important;
}
.continuous-purchase-shell .finish-upgrade-buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px,2vw,26px) !important;
  margin: 0 0 clamp(38px,3.5vw,48px) !important;
}
.continuous-purchase-shell .finish-upgrade-buttons button {
  min-height: clamp(92px, 7.5vw, 118px) !important;
  padding: 0 clamp(22px,2.7vw,36px) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #e8e9ed !important;
  color: #2b2d33 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .18em !important;
  text-align: center !important;
  font-size: clamp(22px, 1.95vw, 30px) !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: -.032em !important;
  box-shadow: none !important;
}
.continuous-purchase-shell .finish-upgrade-buttons button.selected {
  background: var(--blue) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(0,113,227,.16) !important;
}
.continuous-purchase-shell .finish-plus-accent { color: var(--blue) !important; font-weight: 900 !important; }
.continuous-purchase-shell .finish-pro-accent { color: #050505 !important; font-weight: 900 !important; -webkit-text-fill-color: #050505 !important; text-shadow: none !important; }
.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-plus-accent,
.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-pro-accent { color: #fff !important; -webkit-text-fill-color: #fff !important; text-shadow: none !important; }
.continuous-purchase-shell .finish-upgrade-note {
  min-height: clamp(76px, 6.4vw, 98px) !important;
  margin: 0 !important;
  padding: 0 clamp(26px,2.8vw,38px) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f2f2f4 !important;
  color: #777982 !important;
  display: flex !important;
  align-items: center !important;
  font-size: clamp(20px, 1.75vw, 27px) !important;
  font-weight: 400 !important;
  line-height: 1.22 !important;
  letter-spacing: -.032em !important;
}
@media (max-width: 760px) {
  .booking-store-page .booking-store-line-note { margin: 0 auto 16px !important; padding: 0 6.25vw !important; font-size: clamp(22px, 6.6vw, 28px) !important; line-height: 1.05 !important; }
  .continuous-purchase-shell .finish-upgrade-section { margin: 22px 0 !important; padding: 28px 18px 30px !important; border-top-width: 1px !important; border-bottom-width: 1px !important; }
  .continuous-purchase-shell .finish-upgrade-section h3 { font-size: clamp(24px, 7vw, 31px) !important; line-height: 1.05 !important; letter-spacing: -.045em !important; }
  .continuous-purchase-shell .finish-upgrade-section > p { margin: 12px 0 24px !important; font-size: clamp(15px, 4.4vw, 19px) !important; line-height: 1.25 !important; }
  .continuous-purchase-shell .finish-upgrade-buttons { gap: 12px !important; margin-bottom: 24px !important; }
  .continuous-purchase-shell .finish-upgrade-buttons button { min-height: 54px !important; padding: 0 10px !important; font-size: clamp(13px, 3.7vw, 17px) !important; letter-spacing: -.02em !important; }
  .continuous-purchase-shell .finish-upgrade-note { min-height: 56px !important; padding: 0 16px !important; font-size: clamp(13px, 3.8vw, 17px) !important; line-height: 1.2 !important; }
}

/* FINAL 2026-08-20: compás visual de línea y mejora en el configurador */
.booking-store-page .booking-store-line-note {
  display: none !important;
}

.continuous-purchase-shell .selected-line-intro {
  margin: 0 0 18px !important;
  padding-top: 26px !important;
  border-top: 1px solid rgba(29, 29, 31, .12) !important;
}

.continuous-purchase-shell .selected-line-intro h3 {
  margin: 0 !important;
  color: #1d1d1f !important;
  font-size: clamp(27px, 3vw, 40px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -.047em !important;
}

.continuous-purchase-shell .selected-line-intro h3 strong {
  font-weight: 850 !important;
}

.continuous-purchase-shell .selected-line-intro p {
  margin: 7px 0 0 !important;
  color: #6e6e73 !important;
  font-size: clamp(14px, 1.45vw, 18px) !important;
  line-height: 1.35 !important;
  letter-spacing: -.015em !important;
}

.continuous-purchase-shell .finish-upgrade-section {
  margin: 24px 0 !important;
  padding: 30px 0 32px !important;
  border-top: 1px solid rgba(29, 29, 31, .12) !important;
  border-bottom: 1px solid rgba(29, 29, 31, .12) !important;
}

.continuous-purchase-shell .finish-upgrade-section h3 {
  margin: 0 !important;
  font-size: clamp(27px, 3vw, 40px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.047em !important;
}

.continuous-purchase-shell .finish-upgrade-section > p {
  margin: 8px 0 20px !important;
  max-width: 720px !important;
  font-size: clamp(14px, 1.45vw, 18px) !important;
  line-height: 1.35 !important;
  letter-spacing: -.015em !important;
}

.continuous-purchase-shell .finish-upgrade-buttons {
  gap: 16px !important;
  margin: 0 0 18px !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button {
  min-height: 52px !important;
  padding: 0 22px !important;
  font-size: clamp(14px, 1.35vw, 18px) !important;
  line-height: 1 !important;
}

.continuous-purchase-shell .finish-upgrade-note {
  min-height: 50px !important;
  padding: 0 22px !important;
  font-size: clamp(13px, 1.25vw, 16px) !important;
  line-height: 1.25 !important;
}

@media (max-width: 760px) {
  .continuous-purchase-shell .selected-line-intro {
    margin: 0 0 16px !important;
    padding-top: 20px !important;
  }

  .continuous-purchase-shell .selected-line-intro h3,
  .continuous-purchase-shell .finish-upgrade-section h3 {
    font-size: clamp(24px, 6.4vw, 28px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
  }

  .continuous-purchase-shell .selected-line-intro p,
  .continuous-purchase-shell .finish-upgrade-section > p {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  .continuous-purchase-shell .finish-upgrade-section {
    margin: 20px 0 !important;
    padding: 23px 0 24px !important;
  }

  .continuous-purchase-shell .finish-upgrade-section > p {
    margin: 7px 0 18px !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons {
    gap: 10px !important;
    margin-bottom: 16px !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons button {
    min-height: 46px !important;
    padding: 0 10px !important;
    font-size: 13px !important;
  }

  .continuous-purchase-shell .finish-upgrade-note {
    min-height: 48px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
  }
}

/* FINAL 2026-08-20B: igualar Escoge/Mejora al patrón Estado del vehículo */
.continuous-purchase-shell .selected-line-intro,
.continuous-purchase-shell .finish-upgrade-section {
  border-top: 1px solid rgba(29, 29, 31, .12) !important;
  border-bottom: 1px solid rgba(29, 29, 31, .12) !important;
}

.continuous-purchase-shell .selected-line-intro {
  margin: 0 0 16px !important;
  padding-top: 22px !important;
  border-bottom: 0 !important;
}

.continuous-purchase-shell .selected-line-intro h3,
.continuous-purchase-shell .finish-upgrade-section h3 {
  margin: 0 !important;
  color: #1d1d1f !important;
  font-size: clamp(22px, 2.35vw, 30px) !important;
  font-weight: 400 !important;
  line-height: 1.06 !important;
  letter-spacing: -.052em !important;
}

.continuous-purchase-shell .selected-line-intro h3 strong,
.continuous-purchase-shell .finish-upgrade-section h3 strong {
  font-weight: 850 !important;
}

.continuous-purchase-shell .selected-line-intro p,
.continuous-purchase-shell .finish-upgrade-section > p {
  margin: 6px 0 16px !important;
  max-width: 620px !important;
  color: #6e6e73 !important;
  font-size: clamp(12px, 1.15vw, 15px) !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
  letter-spacing: -.012em !important;
}

.continuous-purchase-shell .finish-upgrade-section {
  margin: 22px 0 !important;
  padding: 24px 0 26px !important;
  background: #fff !important;
}

.continuous-purchase-shell .finish-upgrade-buttons {
  gap: 14px !important;
  margin: 0 0 16px !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button {
  min-height: 48px !important;
  padding: 0 18px !important;
  font-size: clamp(13px, 1.15vw, 15px) !important;
  letter-spacing: -.018em !important;
}

.continuous-purchase-shell .finish-upgrade-note {
  min-height: 48px !important;
  padding: 0 18px !important;
  font-size: clamp(12px, 1.05vw, 14px) !important;
  line-height: 1.35 !important;
  letter-spacing: -.01em !important;
}

@media (max-width: 760px) {
  .continuous-purchase-shell .selected-line-intro {
    margin: 0 0 14px !important;
    padding-top: 18px !important;
  }

  .continuous-purchase-shell .selected-line-intro h3,
  .continuous-purchase-shell .finish-upgrade-section h3,
  .continuous-config-section .continuous-config-body > h3 {
    font-size: 22px !important;
    line-height: 1.08 !important;
    letter-spacing: -.055em !important;
  }

  .continuous-purchase-shell .selected-line-intro p,
  .continuous-purchase-shell .finish-upgrade-section > p {
    margin: 6px 0 15px !important;
    font-size: 12px !important;
    line-height: 1.42 !important;
  }

  .continuous-purchase-shell .finish-upgrade-section {
    margin: 18px 0 !important;
    padding: 21px 0 22px !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons {
    gap: 10px !important;
    margin-bottom: 14px !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons button {
    min-height: 44px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
  }

  .continuous-purchase-shell .finish-upgrade-note {
    min-height: 44px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
  }
}

/* FINAL 2026-08-20C: columna única y ritmo común del configurador móvil */
@media (max-width: 760px) {
  .continuous-purchase-shell {
    --booking-flow-inset: 20px;
    --booking-flow-gap: 22px;
  }

  .continuous-purchase-shell .continuous-configurator {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .continuous-purchase-shell .continuous-config-section {
    margin-bottom: var(--booking-flow-gap) !important;
    padding-bottom: var(--booking-flow-gap) !important;
  }

  .continuous-purchase-shell .continuous-config-section .continuous-config-body {
    padding-left: var(--booking-flow-inset) !important;
    padding-right: var(--booking-flow-inset) !important;
  }

  .continuous-purchase-shell .vehicle-booking-step,
  .continuous-purchase-shell .selected-line-intro,
  .continuous-purchase-shell .finish-upgrade-section,
  .continuous-purchase-shell .location-booking-step,
  .continuous-purchase-shell .customer-booking-step {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .continuous-purchase-shell .inline-vehicle-picker,
  .continuous-purchase-shell .vehicle-dropdown-picker,
  .continuous-purchase-shell .selected-line-banner,
  .continuous-purchase-shell .service-part-selector,
  .continuous-purchase-shell .finish-upgrade-buttons,
  .continuous-purchase-shell .finish-upgrade-note,
  .continuous-purchase-shell .service-condition-extra,
  .continuous-purchase-shell .form-grid {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .continuous-purchase-shell .selected-line-intro,
  .continuous-purchase-shell .finish-upgrade-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .continuous-purchase-shell .selected-line-intro {
    padding-top: 20px !important;
    margin-bottom: 16px !important;
  }

  .continuous-purchase-shell .selected-line-banner {
    margin-top: 0 !important;
  }

  .continuous-purchase-shell .service-part-selector {
    margin-top: 12px !important;
  }

  .continuous-purchase-shell .finish-upgrade-section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons {
    margin-top: 16px !important;
  }

  .continuous-purchase-shell #booking-section-condition .continuous-config-body > h3 {
    margin-left: 0 !important;
    margin-bottom: 14px !important;
  }

  .continuous-purchase-shell .service-condition-extra > p {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Final booking polish — 2026-08-22 */
.summary-schedule-body {
  position: relative;
}

.summary-schedule-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 4;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 999px;
  background: #eef0f4;
  color: #1d1d1f;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .05);
}

.summary-schedule-close .icon {
  width: 14px;
  height: 14px;
}

.summary-schedule-body .summary-date-strip {
  padding-right: 42px;
}

.continuous-purchase-shell .finish-upgrade-buttons button {
  border: 1px solid rgba(134, 139, 148, .22) !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button.selected {
  background: #eef5ff !important;
  border-color: var(--blue) !important;
  color: var(--blue) !important;
  box-shadow: 0 12px 26px rgba(0, 113, 227, .12) !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-plus-accent {
  color: var(--blue) !important;
  -webkit-text-fill-color: var(--blue) !important;
  text-shadow: none !important;
}

.continuous-purchase-shell .finish-upgrade-buttons .finish-pro .finish-pro-accent,
.continuous-purchase-shell .finish-upgrade-buttons button.selected .finish-pro-accent {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background: linear-gradient(115deg, #111 0%, #382606 20%, #b88725 42%, #fff1ad 52%, #8a6018 65%, #111 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  font-weight: 950 !important;
  text-shadow: 0 0 12px rgba(184, 138, 44, .24) !important;
}

.continuous-purchase-shell .finish-upgrade-buttons .finish-pro.selected {
  background: linear-gradient(180deg, #f8f4e8 0%, #eef5ff 100%) !important;
}

.finish-included-card.selected {
  background: #eef5ff !important;
  border-color: var(--blue) !important;
  color: var(--blue) !important;
  box-shadow: 0 12px 26px rgba(0, 113, 227, .12) !important;
}

.finish-included-card.selected > span {
  background: #e4f0ff !important;
  color: var(--blue) !important;
}

.finish-included-card.selected small {
  color: #516070 !important;
}

.service-comparison-section .comparison-feature.not-included {
  min-height: 0 !important;
  padding: 0 !important;
  border-top: 0 !important;
}

.service-comparison-section .comparison-feature.not-included > b {
  display: none !important;
}

/* FINAL 2026-08-22B: coherencia tipográfica, PRO dorado y comparativa clásica */
.continuous-purchase-shell .continuous-config-section .continuous-config-body > h3,
.continuous-purchase-shell .selected-line-intro h3,
.continuous-purchase-shell .finish-upgrade-section h3 {
  margin: 0 0 10px !important;
  color: #1d1d1f !important;
  font-size: clamp(22px, 2.15vw, 28px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}

.continuous-purchase-shell .continuous-config-section .continuous-config-body > h3 strong,
.continuous-purchase-shell .selected-line-intro h3 strong,
.continuous-purchase-shell .finish-upgrade-section h3 strong {
  font-weight: 850 !important;
}

.continuous-purchase-shell .continuous-config-section .continuous-config-body > p,
.continuous-purchase-shell .selected-line-intro p,
.continuous-purchase-shell .finish-upgrade-section > p {
  margin: 4px 0 18px !important;
  max-width: 640px !important;
  color: #6e6e73 !important;
  font-size: clamp(12px, 1vw, 14px) !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
  letter-spacing: -.012em !important;
}

.continuous-purchase-shell .form-field label,
.continuous-purchase-shell .vehicle-dropdown-picker label,
.continuous-purchase-shell .location-booking-step label {
  color: #6e6e73 !important;
  font-size: 13px !important;
  font-weight: 780 !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
}

.continuous-purchase-shell .finish-upgrade-buttons .finish-pro {
  position: relative;
  overflow: hidden;
}

.continuous-purchase-shell .finish-upgrade-buttons .finish-pro .finish-pro-accent,
.continuous-purchase-shell .finish-upgrade-buttons .finish-pro.selected .finish-pro-accent {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background: linear-gradient(110deg, #050506 0%, #050506 37%, #6d4e18 45%, #e8ca7c 49%, #8b6726 53%, #050506 61%, #050506 100%) !important;
  background-size: 240% 100% !important;
  background-position: 120% 0 !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  font-weight: 950 !important;
  filter: drop-shadow(0 .35px .15px rgba(255,255,255,.58)) !important;
  text-shadow: none !important;
  animation: mateos-pro-glint 4.2s ease-in-out infinite !important;
}

.continuous-purchase-shell .finish-upgrade-buttons .finish-pro.selected {
  background: linear-gradient(135deg, #fffdf6 0%, #f0e3bd 52%, #fff9e8 100%) !important;
  border-color: rgba(151, 113, 42, .58) !important;
  color: #111216 !important;
  box-shadow: 0 9px 22px rgba(122, 89, 23, .18), inset 0 1px 0 rgba(255,255,255,.92) !important;
}

.continuous-purchase-shell .finish-upgrade-buttons .finish-pro.selected::after {
  content: "";
  position: absolute;
  inset: -80% auto -80% -55%;
  width: 42%;
  transform: rotate(19deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.9), transparent);
  animation: mateos-pro-button-glint 4.2s ease-in-out infinite;
  pointer-events: none;
}

@keyframes mateos-pro-button-glint {
  0%, 58%, 100% { left: -55%; opacity: 0; }
  68% { opacity: .75; }
  82% { left: 120%; opacity: 0; }
}

.service-comparison-section .comparison-feature.not-included {
  min-height: 132px !important;
  padding: 22px 18px !important;
  border-top: 1px solid #e8e9ec !important;
  display: grid !important;
}

.service-comparison-section .comparison-feature.not-included > b {
  display: block !important;
}

.service-comparison-grid.comparison-count-2 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 760px) {
  .continuous-purchase-shell .continuous-config-section .continuous-config-body > h3,
  .continuous-purchase-shell .selected-line-intro h3,
  .continuous-purchase-shell .finish-upgrade-section h3 {
    font-size: 22px !important;
    line-height: 1.08 !important;
    letter-spacing: -.052em !important;
  }

  .continuous-purchase-shell .continuous-config-section .continuous-config-body > p,
  .continuous-purchase-shell .selected-line-intro p,
  .continuous-purchase-shell .finish-upgrade-section > p {
    font-size: 12px !important;
    line-height: 1.42 !important;
  }

  .service-comparison-section .comparison-feature.not-included {
    min-height: clamp(100px, 17vw, 132px) !important;
    padding: 12px 3px !important;
  }
}

/* La prueba de producto sigue inmediatamente al formulario de ubicación. */
.apple-booking-config .continuous-config-section.apple-config-location {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.apple-booking-config .booking-product-proof {
  margin-top: 0 !important;
  padding-top: 24px;
}

/* FINAL 2026-08-22C: escala única de configuración y comparativa contextual */
.continuous-purchase-shell .continuous-config-section .continuous-config-body > h3,
.continuous-purchase-shell .continuous-config-section .continuous-config-body .booking-step > h3,
.continuous-purchase-shell .vehicle-step-heading,
.continuous-purchase-shell .location-step-title,
.continuous-purchase-shell .customer-booking-step h3,
.continuous-purchase-shell .selected-line-intro h3,
.continuous-purchase-shell .finish-upgrade-section h3,
.continuous-purchase-shell .exterior-protection-section h3 {
  margin: 0 0 10px !important;
  color: #1d1d1f !important;
  font-size: clamp(20px, 2vw, 24px) !important;
  font-weight: 400 !important;
  line-height: 1.12 !important;
  letter-spacing: -.04em !important;
}

.continuous-purchase-shell .continuous-config-section .continuous-config-body > h3 strong,
.continuous-purchase-shell .continuous-config-section .continuous-config-body .booking-step > h3 strong,
.continuous-purchase-shell .vehicle-step-heading strong,
.continuous-purchase-shell .location-step-title strong,
.continuous-purchase-shell .customer-booking-step h3 strong,
.continuous-purchase-shell .selected-line-intro h3 strong,
.continuous-purchase-shell .finish-upgrade-section h3 strong,
.continuous-purchase-shell .exterior-protection-section h3 strong {
  font-weight: 850 !important;
}

.continuous-purchase-shell .continuous-config-section .continuous-config-body > p,
.continuous-purchase-shell .continuous-config-section .continuous-config-body .booking-step > p:not(.location-legal-notice),
.continuous-purchase-shell .customer-booking-step > p,
.continuous-purchase-shell .selected-line-intro p,
.continuous-purchase-shell .finish-upgrade-section > p {
  margin: 4px 0 18px !important;
  color: #6e6e73 !important;
  font-size: clamp(12px, 1vw, 14px) !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
  letter-spacing: -.012em !important;
}

.continuous-purchase-shell .vehicle-dropdown-picker label,
.continuous-purchase-shell .field label,
.continuous-purchase-shell .location-booking-step label {
  color: #6e6e73 !important;
  font-size: 13px !important;
  font-weight: 780 !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
}

.continuous-purchase-shell .selected-line-intro {
  margin: 0 0 18px !important;
}

.continuous-purchase-shell .selected-line-intro h3 {
  margin-bottom: 4px !important;
}

.continuous-purchase-shell .finish-upgrade-section {
  padding-top: 26px !important;
  padding-bottom: 26px !important;
}

.continuous-purchase-shell .finish-upgrade-buttons {
  gap: 14px !important;
  margin: 18px 0 18px !important;
}

.continuous-purchase-shell .finish-upgrade-buttons button {
  min-height: 48px !important;
  border-radius: 999px !important;
  font-size: clamp(13px, 1.1vw, 15px) !important;
  line-height: 1 !important;
  letter-spacing: -.02em !important;
}

.continuous-purchase-shell .finish-upgrade-note {
  min-height: 44px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  font-size: clamp(12px, 1vw, 14px) !important;
  line-height: 1.35 !important;
  display: flex !important;
  align-items: center !important;
}

.continuous-purchase-shell .finish-upgrade-buttons .finish-pro .finish-pro-accent,
.continuous-purchase-shell .finish-upgrade-buttons .finish-pro.selected .finish-pro-accent {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background: linear-gradient(110deg, #050506 0%, #050506 37%, #6d4e18 45%, #e8ca7c 49%, #8b6726 53%, #050506 61%, #050506 100%) !important;
  background-size: 240% 100% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  animation: mateos-pro-glint 4.2s ease-in-out infinite !important;
}

.continuous-purchase-shell .finish-upgrade-buttons .finish-pro.selected {
  background: linear-gradient(135deg, #fffdf6 0%, #f0e3bd 52%, #fff9e8 100%) !important;
  border-color: rgba(151, 113, 42, .58) !important;
  color: #111216 !important;
  box-shadow: 0 9px 22px rgba(122, 89, 23, .18), inset 0 1px 0 rgba(255,255,255,.92) !important;
}

.service-comparison-grid.comparison-count-2 {
  width: min(100%, 760px) !important;
  min-width: 0 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-inline: auto !important;
}

.service-comparison-grid.comparison-count-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.service-comparison-column > header {
  min-height: 172px !important;
  padding: 18px clamp(12px, 2.1vw, 24px) 28px !important;
  text-align: left !important;
  align-items: flex-start !important;
}

.service-comparison-column > header .comparison-tier-label,
.service-comparison-column > header .comparison-tier-subtitle,
.service-comparison-advanced > header .comparison-tier-label,
.service-comparison-advanced > header .comparison-tier-subtitle {
  display: block !important;
  color: #8995a4 !important;
  font-size: clamp(9px, .9vw, 12px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.service-comparison-column > header .comparison-tier-label {
  margin: 0 0 8px !important;
}

.service-comparison-column > header h4 {
  min-height: 0 !important;
  margin: 0 !important;
  display: block !important;
  color: #1d1d1f !important;
  font-size: clamp(24px, 2.45vw, 32px) !important;
  font-weight: 850 !important;
  line-height: .95 !important;
  letter-spacing: -.055em !important;
  text-align: left !important;
}

.service-comparison-column > header .comparison-tier-subtitle {
  margin: 7px 0 0 !important;
  color: #1d1d1f !important;
}

.service-comparison-column > header p {
  min-height: 42px !important;
  margin: 18px 0 14px !important;
  color: #6e6e73 !important;
  font-size: clamp(10px, .9vw, 13px) !important;
  line-height: 1.38 !important;
  text-align: left !important;
}

.service-comparison-column > header strong {
  color: #06c !important;
  font-size: clamp(12px, 1vw, 14px) !important;
  text-align: left !important;
}

@media (max-width: 760px) {
  .continuous-purchase-shell .continuous-config-section .continuous-config-body > h3,
  .continuous-purchase-shell .continuous-config-section .continuous-config-body .booking-step > h3,
  .continuous-purchase-shell .vehicle-step-heading,
  .continuous-purchase-shell .location-step-title,
  .continuous-purchase-shell .customer-booking-step h3,
  .continuous-purchase-shell .selected-line-intro h3,
  .continuous-purchase-shell .finish-upgrade-section h3,
  .continuous-purchase-shell .exterior-protection-section h3 {
    font-size: 22px !important;
    line-height: 1.12 !important;
    letter-spacing: -.045em !important;
  }

  .continuous-purchase-shell .continuous-config-section .continuous-config-body > p,
  .continuous-purchase-shell .continuous-config-section .continuous-config-body .booking-step > p:not(.location-legal-notice),
  .continuous-purchase-shell .customer-booking-step > p,
  .continuous-purchase-shell .selected-line-intro p,
  .continuous-purchase-shell .finish-upgrade-section > p {
    font-size: 12px !important;
    line-height: 1.42 !important;
  }

  .continuous-purchase-shell .finish-upgrade-section {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .continuous-purchase-shell .finish-upgrade-buttons button {
    min-height: 48px !important;
    font-size: 13px !important;
  }

  .service-comparison-scroll {
    overflow-x: hidden !important;
  }

  .service-comparison-grid.comparison-count-2 {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .service-comparison-grid.comparison-count-3 {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .service-comparison-column > header {
    min-height: 146px !important;
    padding: 9px 8px 18px !important;
  }

  .service-comparison-column > header .comparison-tier-label,
  .service-comparison-column > header .comparison-tier-subtitle,
  .service-comparison-advanced > header .comparison-tier-label,
  .service-comparison-advanced > header .comparison-tier-subtitle {
    font-size: clamp(6px, 1.7vw, 8px) !important;
    letter-spacing: .1em !important;
  }

  .service-comparison-column > header h4 {
    font-size: clamp(15px, 4.25vw, 21px) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
  }

  .service-comparison-column > header p {
    min-height: 44px !important;
    margin: 10px 0 8px !important;
    font-size: clamp(7px, 2vw, 10px) !important;
    line-height: 1.32 !important;
  }

  .service-comparison-column > header strong {
    font-size: clamp(8px, 2.25vw, 11px) !important;
  }
}

/* Preview home hero refinement: transparent comfort image, larger visual, smaller CTAs */
.mateos-hero-main {
  grid-template-columns: minmax(0, 1fr) minmax(420px, .98fr);
}

.mateos-hero-person {
  height: clamp(450px, 41vw, 570px);
}

.mateos-hero-camera {
  width: min(114%, 585px);
  margin-inline: auto;
}

.mateos-hero-person img {
  object-fit: contain;
  object-position: center bottom;
}

.mateos-actions {
  margin-top: 34px;
  gap: 16px;
}

.mateos-button {
  min-width: 164px;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 24px;
  font-size: 14px;
}

@media (max-width: 760px) {
  .mateos-hero {
    padding-bottom: 8px;
  }

  .mateos-hero-copy {
    padding-top: 18px;
  }

  .mateos-hero-copy h1 {
    font-size: clamp(22px, 6vw, 26px);
    line-height: 1;
  }

  .mateos-hero-copy p {
    font-size: clamp(9px, 2.6vw, 12px);
    letter-spacing: 2.5px;
  }

  .mateos-actions {
    margin-top: 24px;
    gap: 8px;
  }

  .mateos-button {
    width: min(39vw, 142px);
    min-height: 40px;
    padding: 0 9px;
    border-radius: 22px;
    font-size: 12px;
  }

  .mateos-hero-person {
    height: min(49vh, 385px);
    margin-top: 2px;
  }

  .mateos-hero-camera {
    width: min(118%, 350px);
  }
}

@media (max-width: 380px) {
  .mateos-button {
    width: min(42vw, 138px);
  }
}

/* Mobile home hero correction: restore the requested copy and keep the comfort visual clear. */
@media (max-width: 760px) {
  .mateos-home .mateos-hero {
    position: relative !important;
    min-height: 560px !important;
    padding: 24px 20px 0 !important;
    overflow: hidden !important;
  }

  .mateos-home .mateos-hero-main {
    position: relative !important;
    min-height: 540px !important;
    display: block !important;
  }

  .mateos-home .mateos-hero-copy {
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    padding: 150px 0 0 !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .mateos-home .mateos-hero-copy h1 {
    max-width: 345px !important;
    margin: 0 !important;
    font-size: clamp(27px, 7.7vw, 34px) !important;
    line-height: .9 !important;
    letter-spacing: -1.1px !important;
    white-space: nowrap !important;
  }

  .mateos-home .mateos-hero-copy p {
    max-width: 310px !important;
    margin: 7px 0 0 !important;
    font-size: clamp(11px, 3vw, 13px) !important;
    line-height: 1.05 !important;
    letter-spacing: 3.2px !important;
    font-weight: 800 !important;
  }

  .mateos-home .mateos-actions {
    position: relative !important;
    z-index: 5 !important;
    margin-top: 30px !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
  }

  .mateos-home .mateos-button {
    width: min(41vw, 148px) !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 0 12px !important;
    border-radius: 24px !important;
    font-size: 13px !important;
  }

  .mateos-home .mateos-hero-person {
    position: absolute !important;
    z-index: 2 !important;
    right: -96px !important;
    bottom: -4px !important;
    width: min(112vw, 455px) !important;
    height: 355px !important;
    margin: 0 !important;
    pointer-events: none !important;
  }

  .mateos-home .mateos-hero-camera {
    width: 100% !important;
    height: 100% !important;
  }

  .mateos-home .mateos-hero-person img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: right bottom !important;
  }

  .mateos-home .mateos-hero-person::after {
    right: -18% !important;
    left: -22% !important;
    bottom: -8px !important;
    height: 130px !important;
  }
}

@media (max-width: 420px) {
  .mateos-home .mateos-hero {
    min-height: 545px !important;
    padding-inline: 20px !important;
  }

  .mateos-home .mateos-hero-copy {
    padding-top: 146px !important;
  }

  .mateos-home .mateos-hero-copy h1 {
    font-size: clamp(24px, 7vw, 29px) !important;
    letter-spacing: -.8px !important;
  }

  .mateos-home .mateos-hero-copy p {
    max-width: 275px !important;
    font-size: 11px !important;
    letter-spacing: 2.8px !important;
  }

  .mateos-home .mateos-hero-person {
    right: -94px !important;
    bottom: 2px !important;
    width: 112vw !important;
    height: 340px !important;
  }
}

/* Final mobile hero alignment: centered copy, single-line CTAs and centered comfort visual. */
@media (max-width: 760px) {
  .mateos-home .mateos-hero {
    min-height: 585px !important;
    padding: 10px 20px 0 !important;
  }

  .mateos-home .mateos-hero-main {
    min-height: 565px !important;
  }

  .mateos-home .mateos-hero-copy {
    padding-top: 82px !important;
    text-align: center !important;
    align-items: center !important;
  }

  .mateos-home .mateos-hero-copy h1 {
    max-width: none !important;
    margin-inline: auto !important;
    font-size: clamp(28px, 7.9vw, 36px) !important;
    line-height: .92 !important;
    letter-spacing: -.25px !important;
    word-spacing: .16em !important;
    white-space: nowrap !important;
  }

  .mateos-home .mateos-hero-copy p {
    max-width: none !important;
    margin: 8px auto 0 !important;
    font-size: clamp(9px, 2.7vw, 12px) !important;
    line-height: 1 !important;
    letter-spacing: clamp(1.7px, .55vw, 2.7px) !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  .mateos-home .mateos-actions {
    margin-top: 22px !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .mateos-home .mateos-button {
    width: min(43vw, 166px) !important;
    min-height: 42px !important;
    padding: 0 10px !important;
    font-size: clamp(11px, 3.2vw, 13px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .mateos-home .mateos-hero-person {
    left: 50% !important;
    right: auto !important;
    bottom: 16px !important;
    width: min(104vw, 440px) !important;
    height: 370px !important;
    transform: translateX(-50%) !important;
  }

  .mateos-home .mateos-hero-person img {
    object-position: center bottom !important;
  }

  .mateos-home .mateos-hero-person::after {
    left: -12% !important;
    right: -12% !important;
    height: 138px !important;
  }
}

@media (max-width: 420px) {
  .mateos-home .mateos-hero {
    min-height: 575px !important;
    padding-inline: 18px !important;
  }

  .mateos-home .mateos-hero-copy {
    padding-top: 78px !important;
  }

  .mateos-home .mateos-hero-copy h1 {
    font-size: clamp(26px, 7.5vw, 31px) !important;
    letter-spacing: -.15px !important;
    word-spacing: .15em !important;
  }

  .mateos-home .mateos-hero-copy p {
    font-size: clamp(8.5px, 2.55vw, 10.5px) !important;
    letter-spacing: clamp(1.4px, .45vw, 2.1px) !important;
  }

  .mateos-home .mateos-button {
    width: min(43vw, 160px) !important;
    padding-inline: 8px !important;
    font-size: clamp(10.5px, 3vw, 12px) !important;
  }

  .mateos-home .mateos-hero-person {
    width: min(108vw, 420px) !important;
    height: 360px !important;
    bottom: 12px !important;
  }
}

/* Final published home hero: clean transparent comfort visual, compact premium spacing. */
.mateos-home .mateos-hero,
.mateos-home .mateos-hero-main,
.mateos-home .mateos-hero-person,
.mateos-home .mateos-hero-camera {
  background: #f7f7f8 !important;
  box-shadow: none !important;
}

.mateos-home .mateos-hero-person,
.mateos-home .mateos-hero-camera {
  border: 0 !important;
  background: transparent !important;
}

.mateos-home .mateos-hero-person img {
  display: block !important;
  background: transparent !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

@media (max-width: 760px) {
  .mateos-home .mateos-hero {
    min-height: 552px !important;
    padding: 0 18px !important;
    overflow: hidden !important;
  }

  .mateos-home .mateos-hero-main {
    min-height: 532px !important;
    display: block !important;
  }

  .mateos-home .mateos-hero-copy {
    width: 100% !important;
    padding-top: 60px !important;
    text-align: center !important;
    align-items: center !important;
    z-index: 4 !important;
  }

  .mateos-home .mateos-hero-copy h1 {
    max-width: none !important;
    margin-inline: auto !important;
    font-size: clamp(27px, 7.35vw, 34px) !important;
    line-height: .95 !important;
    letter-spacing: .01em !important;
    word-spacing: .22em !important;
    white-space: nowrap !important;
  }

  .mateos-home .mateos-hero-copy p {
    max-width: none !important;
    margin: 8px auto 0 !important;
    font-size: clamp(9px, 2.65vw, 11.5px) !important;
    line-height: 1 !important;
    letter-spacing: clamp(1.35px, .46vw, 2.1px) !important;
    font-weight: 850 !important;
    text-transform: none !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  .mateos-home .mateos-actions {
    margin-top: 22px !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
  }

  .mateos-home .mateos-button {
    width: min(42vw, 162px) !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: clamp(10.5px, 3vw, 12.5px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .mateos-home .mateos-hero-person {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(116vw, 470px) !important;
    height: 345px !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
    z-index: 2 !important;
  }

  .mateos-home .mateos-hero-camera {
    width: 100% !important;
    height: 100% !important;
  }

  .mateos-home .mateos-hero-person img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
  }

  .mateos-home .mateos-hero-person::after {
    left: -14% !important;
    right: -14% !important;
    bottom: -12px !important;
    height: 128px !important;
    background: linear-gradient(to top, #f7f7f8 0%, rgba(247, 247, 248, .94) 34%, rgba(247, 247, 248, 0) 100%) !important;
  }
}

@media (max-width: 420px) {
  .mateos-home .mateos-hero {
    min-height: 540px !important;
  }

  .mateos-home .mateos-hero-copy {
    padding-top: 54px !important;
  }

  .mateos-home .mateos-hero-copy h1 {
    font-size: clamp(25px, 7.1vw, 30px) !important;
    word-spacing: .2em !important;
  }

  .mateos-home .mateos-hero-copy p {
    font-size: clamp(8.5px, 2.45vw, 10px) !important;
    letter-spacing: clamp(1px, .36vw, 1.65px) !important;
  }

  .mateos-home .mateos-button {
    width: min(42.5vw, 154px) !important;
    min-height: 39px !important;
    font-size: clamp(10px, 2.9vw, 11.5px) !important;
  }

  .mateos-home .mateos-hero-person {
    width: min(118vw, 430px) !important;
    height: 335px !important;
  }
}
:root { --service-option-radius: 18px; }
.continuous-config-body .service-option-description { margin: 10px 0 18px; color: #6e6e73; font-size: 14px; line-height: 1.5; }
.service-option-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.ceramic-option-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.service-option-card { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; min-width: 0; padding: 19px; text-align: left; color: #1d1d1f; background: #fff; border: 1px solid #d8d8df; border-radius: var(--service-option-radius); font: inherit; cursor: pointer; }
.service-option-card strong { font-size: 14px; line-height: 1.35; }
.service-option-card span { font-size: 12px; line-height: 1.45; color: #6e6e73; }
.service-option-card b { margin-top: auto; padding-top: 8px; font-size: 15px; }
.service-option-card.selected, .summary-payment-option.selected { background: #edf4ff; border-color: #0071e3; box-shadow: 0 0 0 2px #0071e310; }
.service-option-card.selected strong { color: #0071e3; }
.ceramic-preparation-notice { padding: 16px 20px; border-radius: 16px; background: #1769e8; color: #fff; font-size: 13px; line-height: 1.5; text-align: center; }
.paint-preparation-options { margin-top: 18px; }
.paint-preparation-options summary { cursor: pointer; font-size: 14px; padding: 12px 0; }
.summary-payment-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
.summary-payment-option { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border: 1px solid #d8d8df; border-radius: 14px; background: #fff; color: #1d1d1f; font: inherit; font-size: 12px; cursor: pointer; }
.summary-payment-option svg { width: 21px; height: 21px; flex-shrink: 0; }
.service-option-card:focus-visible, .summary-payment-option:focus-visible, .paint-preparation-options summary:focus-visible { outline: 2px solid #0071e3; outline-offset: 3px; }
@media (max-width: 600px) {
  .ceramic-option-grid { grid-template-columns: 1fr; }
  .service-option-card { padding: 16px; }
  .summary-payment-option { min-height: 48px; }
}

/* Keep the final configurator presentation authoritative. */
.continuous-config-body .service-part-selector button,
.continuous-config-body .service-option-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  text-align: left;
}
.continuous-config-body .service-option-card .service-option-card-icon { grid-column: 1; grid-row: 1 / span 3; display: grid; place-items: center; width: 38px; height: 38px; color: #727780; }
.continuous-config-body .service-option-card strong,
.continuous-config-body .service-option-card > span:not(.service-option-card-icon),
.continuous-config-body .service-option-card .service-option-price { grid-column: 2; }
.continuous-config-body .service-option-card .service-option-price { display: block; margin-top: 9px; color: #42454a; font-size: 12px; font-weight: 500; }
.continuous-config-body .service-option-card.selected .service-option-card-icon { color: #0969e8; }
.continuous-config-body .ceramic-preparation-notice { background: #050505; border-color: #050505; color: #fff; }
.continuous-config-body .paint-preparation-options h4 { margin: 0 0 14px; font-size: 16px; }
.continuous-config-body .paint-preparation-options h4 span { margin-left: 8px; color: #777b83; font-size: 12px; font-weight: 500; }
.continuous-config-body.allies-promo-body { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(300px, 1.2fr); padding: 0; }
@media (max-width: 760px) {
  .continuous-config-body.allies-promo-body { grid-template-columns: 1fr; }
  .continuous-config-body .seats-option-grid,
  .continuous-config-body .ceramic-option-grid,
  .continuous-config-body .paint-preparation-options .service-option-grid { grid-template-columns: 1fr; }
}

/* Unified option buttons and restricted payment controls */
.continuous-purchase-shell .service-part-selector button {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) 46px !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 92px !important;
  padding: 15px !important;
  text-align: center !important;
  border-radius: 16px !important;
  background: #fff !important;
}

.continuous-purchase-shell .service-part-selector button.selected {
  border-color: var(--blue) !important;
  background: var(--blue-soft) !important;
  color: var(--ink) !important;
  box-shadow: 0 0 0 3px rgba(23,104,229,.08) !important;
}

.continuous-purchase-shell .service-part-selector .service-part-icon {
  grid-column: 1 !important;
  width: 36px !important;
  height: 36px !important;
  color: #70737b !important;
}

.continuous-purchase-shell .service-part-selector .service-part-copy {
  grid-column: 2 !important;
  display: block;
  min-width: 0;
  text-align: center;
}

.continuous-purchase-shell .service-part-selector .service-part-copy strong {
  font-size: 14px !important;
  line-height: 1.25;
}

.continuous-purchase-shell .service-part-selector button.selected .service-part-icon,
.continuous-purchase-shell .service-part-selector button.selected .service-part-copy strong {
  color: var(--blue) !important;
}

.seats-option-grid,
.ceramic-option-grid,
.paint-preparation-grid {
  margin-top: 18px;
}

.seats-option-grid .booking-place-card,
.ceramic-option-grid .booking-place-card,
.paint-preparation-grid .booking-place-card {
  min-height: 116px;
}

.upholstery-option-card em,
.advanced-treatment-card em {
  display: block;
  margin-top: 10px;
  color: #42454a;
  font-size: 11px;
  font-style: normal;
  font-weight: 500;
}

.upholstery-option-card.selected em,
.advanced-treatment-card.selected em {
  color: var(--blue);
}

.allies-details-panel-visible {
  grid-column: 1 / -1;
  position: relative;
  z-index: 3;
  padding: 0 56px 48px;
}

.allies-details-panel-visible .finish-upgrade-buttons {
  margin: 0 0 12px !important;
}

.summary-payment-options.card-only {
  grid-template-columns: 1fr;
}

@media (max-width: 760px) {
  .continuous-purchase-shell .service-part-selector button {
    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
    min-height: 82px !important;
  }
  .allies-details-panel-visible { padding: 22px 26px 34px; }
  .seats-option-grid,
  .ceramic-option-grid,
  .paint-preparation-grid { grid-template-columns: 1fr !important; }
  .seats-option-grid .booking-place-card,
  .ceramic-option-grid .booking-place-card,
  .paint-preparation-grid .booking-place-card { min-height: 92px; }
}

/* Screenshot-aligned sizing and restored line selection */
.continuous-config-body.allies-promo-body {
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
}

.continuous-config-body.allies-promo-body .allies-promo-copy {
  padding: 42px 56px 20px !important;
}

.continuous-purchase-shell .service-part-selector button.selected {
  border-color: var(--blue) !important;
  background: var(--blue) !important;
  color: #fff !important;
  box-shadow: 0 7px 18px rgba(23,104,229,.18) !important;
}

.continuous-purchase-shell .service-part-selector button.selected .service-part-icon,
.continuous-purchase-shell .service-part-selector button.selected .service-part-copy strong {
  color: #fff !important;
}

.seats-option-grid .booking-place-card,
.ceramic-option-grid .booking-place-card,
.paint-preparation-grid .booking-place-card {
  min-height: 92px !important;
  padding: 15px !important;
}

.upholstery-option-card em,
.advanced-treatment-card em {
  margin-top: 5px !important;
}

.continuous-purchase-shell .ceramic-preparation-notice,
.continuous-purchase-shell .ceramic-preparation-notice * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
}

@media (max-width: 760px) {
  .continuous-config-body.allies-promo-body .allies-promo-copy { padding: 32px 26px 12px !important; }
  .continuous-purchase-shell .service-part-selector button { min-height: 72px !important; }
  .seats-option-grid .booking-place-card,
  .ceramic-option-grid .booking-place-card,
  .paint-preparation-grid .booking-place-card { min-height: 72px !important; padding: 13px 14px !important; }
}

/* Interior / Exterior: blue reference with one centered icon-and-label group. */
.continuous-purchase-shell .service-part-selector button,
.continuous-purchase-shell .service-part-selector button.selected {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  min-height: 72px !important;
  padding: 14px 22px !important;
  border-color: #0071e3 !important;
  border-radius: 16px !important;
  background: #0071e3 !important;
  color: #fff !important;
  box-shadow: 0 7px 18px rgba(0,113,227,.2) !important;
}

.continuous-purchase-shell .service-part-selector .service-part-icon {
  flex: 0 0 32px !important;
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  color: #fff !important;
}

.continuous-purchase-shell .service-part-selector .service-part-copy {
  flex: 0 0 auto !important;
  display: block !important;
  text-align: center !important;
}

.continuous-purchase-shell .service-part-selector .service-part-copy strong,
.continuous-purchase-shell .service-part-selector button.selected .service-part-copy strong {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.continuous-purchase-shell .service-part-selector .service-part-icon .comparison-feature-icon {
  width: 22px !important;
  height: 22px !important;
  color: #fff !important;
}

/* Compact line buttons, matching the supplied reference. */
.continuous-purchase-shell .service-part-selector,
.continuous-purchase-shell .service-part-selector-classic,
.continuous-purchase-shell .service-part-selector-detailing,
.continuous-purchase-shell .service-part-selector-advanced {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.continuous-purchase-shell .service-part-selector button,
.continuous-purchase-shell .service-part-selector button.selected {
  flex: 0 0 166px !important;
  width: 166px !important;
  min-width: 166px !important;
  min-height: 64px !important;
  padding: 10px 14px !important;
  gap: 9px !important;
}

.continuous-purchase-shell .service-part-selector .service-part-icon,
.continuous-purchase-shell .service-part-selector button.selected .service-part-icon {
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #0071e3 !important;
}

.continuous-purchase-shell .service-part-selector .service-part-icon .comparison-feature-icon,
.continuous-purchase-shell .service-part-selector .service-part-icon svg,
.continuous-purchase-shell .service-part-selector button.selected .service-part-icon svg {
  width: 19px !important;
  height: 19px !important;
  color: #0071e3 !important;
  stroke: currentColor !important;
}

.continuous-purchase-shell .service-part-selector button.selected::after {
  content: '✓' !important;
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin-left: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

@media (max-width: 420px) {
  .continuous-purchase-shell .service-part-selector button,
  .continuous-purchase-shell .service-part-selector button.selected {
    flex-basis: 154px !important;
    width: 154px !important;
    min-width: 154px !important;
  }
}

/* Final line-button alignment: no check and a touch more space before the label. */
.continuous-purchase-shell .service-part-selector button::after,
.continuous-purchase-shell .service-part-selector button.selected::after {
  content: none !important;
  display: none !important;
}

.continuous-purchase-shell .service-part-selector .service-part-copy {
  margin-left: 4px !important;
}

/* Interior / Exterior: exact compact pill treatment used by “Descubrir”. */
.continuous-purchase-shell .service-part-selector button,
.continuous-purchase-shell .service-part-selector button.selected {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 36px !important;
  padding: 0 15px !important;
  gap: 0 !important;
  border: 0 !important;
  border-radius: 980px !important;
  background: #0077ed !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 18px !important;
}

.continuous-purchase-shell .service-part-selector button:hover,
.continuous-purchase-shell .service-part-selector button.selected:hover {
  background: #006edb !important;
}

.continuous-purchase-shell .service-part-selector .service-part-icon {
  display: none !important;
}

.continuous-purchase-shell .service-part-selector .service-part-copy {
  margin: 0 !important;
}

.continuous-purchase-shell .service-part-selector .service-part-copy strong,
.continuous-purchase-shell .service-part-selector button.selected .service-part-copy strong {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font: inherit !important;
}

/* Compact line-catalog heading: the former hero message now introduces the cards. */
.booking-store-page .booking-store-hero.booking-store-hero-compact {
  padding-top: 24px !important;
  padding-bottom: 8px !important;
}

.booking-store-page .booking-store-hero-compact .store-back {
  margin-bottom: 0 !important;
}

.booking-store-page .booking-store-catalog-head {
  display: block !important;
  margin-bottom: 16px !important;
}

.booking-store-page .booking-store-catalog-head > div {
  display: grid;
  justify-items: start;
  gap: 10px;
}

/* Keep the complete catalogue headline on one line in ES and EN. */
.booking-store-page .booking-store-catalog-head h2 {
  font-size: clamp(15px, 4.95vw, 32px);
  line-height: 1.2;
  letter-spacing: -.035em;
  white-space: nowrap;
}

.booking-store-page .booking-store-catalog-head h2 span {
  color: #1d1d1f !important;
  font-weight: inherit !important;
}

.booking-store-catalog-help {
  display: inline-block;
  padding: 0;
  border: 0;
  background: transparent;
  color: #06c;
  font: inherit;
  font-size: 13px;
  text-decoration: none;
  cursor: pointer;
}

.booking-store-catalog-help:hover {
  text-decoration: underline;
}

/* Línea Avanzada · cinematic product experience */
.advanced-experience-page {
  --advanced-black: #050505;
  --advanced-ink: #1d1d1f;
  --advanced-muted: #86868b;
  --advanced-blue: #0071e3;
  --advanced-radius: 34px;
  --advanced-ease: cubic-bezier(.22, 1, .36, 1);
  background: #fff;
  color: var(--advanced-ink);
  overflow: clip;
}

.advanced-product-nav {
  position: sticky;
  top: 70px;
  z-index: 60;
  min-height: 52px;
  padding: 0 max(24px, calc((100vw - 1160px) / 2));
  border-bottom: 1px solid rgba(255,255,255,.12);
  background: rgba(5,5,5,.86);
  color: #fff;
  backdrop-filter: saturate(150%) blur(18px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.advanced-product-nav strong { font-size: 18px; letter-spacing: -.02em; }
.advanced-product-nav div { display: flex; align-items: center; gap: 22px; }
.advanced-product-nav button { padding: 0; border: 0; background: transparent; color: rgba(255,255,255,.78); font: inherit; font-size: 12px; cursor: pointer; }
.advanced-product-nav button:hover { color: #fff; }
.advanced-product-nav .advanced-nav-cta { min-height: 28px; padding: 0 13px; border-radius: 999px; background: var(--advanced-blue); color: #fff; }

.advanced-cinematic-hero {
  position: relative;
  min-height: min(900px, calc(100svh - 70px));
  background: var(--advanced-black);
  color: #fff;
  isolation: isolate;
  display: grid;
  align-items: center;
}

.advanced-back {
  position: absolute;
  top: 26px;
  left: max(24px, calc((100vw - 1160px) / 2));
  z-index: 4;
  padding: 5px 0;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.72);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

.advanced-back .icon { width: 14px; height: 14px; }
.advanced-hero-media { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.advanced-hero-media video { width: 100%; height: 100%; object-fit: cover; opacity: .64; transform: scale(1.035); animation: advanced-hero-scale 7s var(--advanced-ease) both; }
.advanced-hero-media > span { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.58) 43%, rgba(0,0,0,.06) 78%), linear-gradient(0deg, rgba(0,0,0,.58), transparent 42%); }
.advanced-experience-page-protection .advanced-hero-media > span { background: linear-gradient(90deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.58) 43%, rgba(0,0,0,.08) 78%), linear-gradient(0deg, #050505 0%, rgba(5,5,5,.9) 10%, rgba(0,0,0,.2) 43%, transparent 62%); }

.advanced-hero-copy {
  width: min(calc(100% - 48px), 1160px);
  margin: 0 auto;
  padding: 112px 0 130px;
}

.advanced-hero-copy > span,
.advanced-essential header > span,
.advanced-closeup header > span,
.advanced-durability > div:first-child > span,
.advanced-final-cta > span {
  display: block;
  margin-bottom: 18px;
  color: #a7b7cc;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.advanced-hero-copy h1 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(64px, 8.4vw, 132px);
  font-weight: 720;
  line-height: .86;
  letter-spacing: -.068em;
  text-wrap: balance;
  animation: advanced-copy-reveal 1.1s var(--advanced-ease) both;
}

.advanced-hero-copy > p { max-width: 580px; margin: 38px 0 0; color: rgba(255,255,255,.7); font-size: clamp(17px, 1.7vw, 22px); line-height: 1.4; }
.advanced-hero-copy > div { margin-top: 34px; display: flex; align-items: center; flex-wrap: wrap; gap: 18px 24px; }
.advanced-hero-copy button,
.advanced-final-cta button { min-height: 46px; padding: 0 23px; border: 0; border-radius: 999px; background: var(--advanced-blue); color: #fff; font: inherit; font-size: 16px; cursor: pointer; transition: transform .3s var(--advanced-ease), background .3s var(--advanced-ease); }
.advanced-hero-copy button:hover,
.advanced-final-cta button:hover { background: #0077ed; transform: scale(1.015); }
.advanced-hero-copy button:active,
.advanced-final-cta button:active { transform: scale(.985); }
.advanced-hero-copy strong { color: rgba(255,255,255,.74); font-size: 13px; font-weight: 500; }
.advanced-scroll-cue { position: absolute; left: 50%; bottom: 22px; z-index: 3; padding: 0; border: 0; background: transparent; color: rgba(255,255,255,.65); display: grid; justify-items: center; gap: 7px; font: inherit; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; transform: translateX(-50%); cursor: pointer; }
.advanced-scroll-cue span { width: 1px; height: 24px; background: rgba(255,255,255,.48); }

.advanced-coating-benefits {
  position: relative;
  overflow: hidden;
  margin-top: -1px;
  padding: clamp(54px, 6vw, 78px) max(24px, calc((100vw - 1010px) / 2)) clamp(82px, 9vw, 126px);
  background: #050505;
  color: #fff;
}

.advanced-coating-benefits::before { content: none; }

.advanced-treatment-title {
  position: relative;
  width: min(100%, 620px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px 18px;
}

.advanced-treatment-title > span {
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 300;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.advanced-treatment-title > i { height: 1px; background: rgba(255,255,255,.7); }
.advanced-treatment-title h2 {
  grid-column: 1 / -1;
  margin: 4px 0 0;
  font-size: clamp(58px, 7vw, 86px);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.025em;
  text-align: center;
  text-transform: uppercase;
}

.advanced-treatment-title > i:nth-of-type(2) { align-self: center; }
.advanced-treatment-title > strong {
  justify-self: end;
  font-size: clamp(22px, 2.6vw, 32px);
  line-height: 1;
  letter-spacing: -.025em;
  text-transform: uppercase;
}

.advanced-benefits-intro {
  margin: 0 auto 22px;
  text-align: center;
  font-size: clamp(22px, 2.7vw, 32px);
  letter-spacing: -.02em;
  text-transform: uppercase;
}

.advanced-benefits-intro strong { font-weight: 800; font-style: italic; }
.advanced-benefits-intro span { color: #b6b6ba; font-weight: 320; font-style: italic; }

.advanced-benefit-rail {
  position: relative;
  width: min(100%, 1000px);
  margin: 0 auto;
}

.advanced-benefit-grid {
  position: relative;
  display: grid;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  grid-template-columns: repeat(8, 124px);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding-block: 4px;
}

.advanced-benefit-grid::-webkit-scrollbar { display: none; }

.advanced-benefit {
  min-width: 124px;
  min-height: 88px;
  padding: 0 1px 4px;
  border: 0;
  background: transparent;
  color: #fff;
  display: grid;
  place-items: center;
  align-content: start;
  gap: 7px;
  font: inherit;
  cursor: pointer;
  scroll-snap-align: start;
}

.advanced-benefit:hover,
.advanced-benefit:focus-visible { outline: 0; }
.advanced-benefit:focus-visible .advanced-benefit-icon { outline: 2px solid #fff; outline-offset: 2px; }
.advanced-benefit-icon {
  display: block;
  width: min(62px, calc(100% - 4px));
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  background-color: #050505;
  filter: none;
  transition: filter .25s var(--advanced-ease), box-shadow .25s var(--advanced-ease), transform .25s var(--advanced-ease);
}

.advanced-benefit:hover .advanced-benefit-icon { filter: brightness(1.12); }
.advanced-benefit.is-active .advanced-benefit-icon { filter: brightness(1.2); box-shadow: 0 0 0 2px #fff, 0 0 28px rgba(255,255,255,.2); transform: none; }
.advanced-benefit > strong { min-height: 15px; display: grid; place-items: center; font-size: 10px; line-height: 1; letter-spacing: .015em; text-align: center; text-transform: uppercase; }

.advanced-benefits-next {
  position: absolute;
  z-index: 3;
  top: 14px;
  right: 10px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.44);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: #0a84ff;
  box-shadow: 0 8px 24px rgba(0,0,0,.42), 0 0 0 5px rgba(0,0,0,.34);
  cursor: pointer;
  animation: advanced-benefits-nudge 1.8s ease-in-out infinite;
}

.advanced-benefits-next .icon { width: 24px; height: 24px; }
.advanced-benefits-next:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

@keyframes advanced-benefits-nudge {
  0%, 65%, 100% { transform: translateX(0); }
  78% { transform: translateX(4px); }
}

@media (min-width: 1060px) {
  .advanced-benefits-next { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .advanced-benefits-next { animation: none; }
}

.advanced-benefit-disclosure {
  position: relative;
  width: min(100%, 724px);
  max-height: 0;
  margin: 0 auto;
  padding: 0 28px;
  border: 1px solid transparent;
  overflow: hidden;
  opacity: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 34px;
  background: rgba(0,0,0,.42);
  transition: max-height .45s var(--advanced-ease), margin .35s var(--advanced-ease), padding .35s var(--advanced-ease), opacity .3s ease, border-color .3s ease;
}

.advanced-benefit-disclosure.is-open {
  max-height: 320px;
  margin-top: 28px;
  padding: 27px 28px 30px;
  border-color: rgba(255,255,255,.28);
  opacity: 1;
}

.advanced-benefit-disclosure small { display: block; margin-bottom: 9px; color: #9b9ba1; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.advanced-benefit-disclosure h3 { margin: 0; font-size: clamp(24px, 2.8vw, 34px); line-height: 1.05; letter-spacing: -.04em; }
.advanced-benefit-disclosure > div:last-child { padding-left: 22px; border-left: 2px solid #2997ff; }
.advanced-benefit-disclosure > div:last-child small { color: #2997ff; }
.advanced-benefit-disclosure p { margin: 0; color: #d1d1d6; font-size: 16px; line-height: 1.48; }

.advanced-essential,
.advanced-closeup {
  padding: clamp(96px, 12vw, 170px) 0;
  background: #f5f5f7;
}

.advanced-essential header,
.advanced-closeup > header {
  width: min(calc(100% - 48px), 1160px);
  margin: 0 auto 52px;
}

.advanced-essential header > span,
.advanced-closeup header > span { color: #6e6e73; }
.advanced-essential h2,
.advanced-closeup h2,
.advanced-durability h2,
.advanced-final-cta h2 { margin: 0; font-size: clamp(48px, 6.4vw, 92px); line-height: .98; letter-spacing: -.06em; }

.advanced-highlight-rail {
  padding: 8px max(24px, calc((100vw - 1160px) / 2)) 34px;
  display: flex;
  gap: 22px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
}

.advanced-highlight-rail::-webkit-scrollbar { display: none; }
.advanced-highlight { position: relative; flex: 0 0 min(76vw, 720px); min-height: 620px; border-radius: var(--advanced-radius); background: #fff; overflow: hidden; scroll-snap-align: center; isolation: isolate; }
.advanced-highlight img,
.advanced-highlight video { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--advanced-ease); }
.advanced-highlight:hover img,
.advanced-highlight:hover video { transform: scale(1.025); }
.advanced-highlight > div:last-child { position: absolute; inset: auto 0 0; padding: 44px; color: #fff; background: linear-gradient(0deg, rgba(0,0,0,.78), transparent); }
.advanced-highlight small { display: block; margin-bottom: 12px; color: rgba(255,255,255,.68); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.advanced-highlight h3 { margin: 0; font-size: clamp(36px, 4.6vw, 64px); line-height: .98; letter-spacing: -.055em; }
.advanced-highlight p { max-width: 410px; margin: 18px 0 0; color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.45; }
.advanced-highlight-dark { background: #050505; }
.advanced-highlight-calm { background: #e6e9ed; }
.advanced-highlight-calm > div:last-child { top: 0; bottom: auto; color: #1d1d1f; background: transparent; }
.advanced-highlight-calm small,
.advanced-highlight-calm p { color: #6e6e73; }
.advanced-coating-orbit { position: absolute; inset: 0; display: grid; place-items: center; }
.advanced-coating-orbit i { position: absolute; width: min(55vw, 440px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.19); border-radius: 50%; }
.advanced-coating-orbit i:nth-child(2) { width: min(41vw, 320px); border-color: rgba(70,150,255,.35); }
.advanced-coating-orbit i:nth-child(3) { width: min(23vw, 170px); background: #fff; box-shadow: 0 0 80px rgba(255,255,255,.22); }

.advanced-closeup { background: #fff; }
.advanced-closeup-stage { width: min(calc(100% - 48px), 1160px); margin: 0 auto; }
.advanced-closeup-media { position: relative; min-height: min(68vw, 720px); border-radius: var(--advanced-radius); background: #eef0f3; overflow: hidden; }
.advanced-closeup-media img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: 50% 50%; transform: scale(1.02); transition: transform 1s var(--advanced-ease), object-position 1s var(--advanced-ease), filter 1s var(--advanced-ease); }
.advanced-closeup-media > span { position: absolute; inset: 0; border: 1px solid rgba(0,0,0,.06); border-radius: inherit; pointer-events: none; }
.advanced-closeup-stage[data-focus='paint'] img { object-position: 35% 43%; transform: scale(1.16); }
.advanced-closeup-stage[data-focus='protection'] img { object-position: 63% 38%; transform: scale(1.25); filter: contrast(1.05) saturate(.9); }
.advanced-closeup-stage[data-focus='finish'] img { object-position: 73% 60%; transform: scale(1.1); filter: contrast(1.08); }
.advanced-closeup-caption { min-height: 112px; padding: 27px 2px 10px; display: grid; grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr); gap: 32px; }
.advanced-closeup-caption strong { font-size: 24px; letter-spacing: -.035em; }
.advanced-closeup-caption p { max-width: 680px; margin: 0; color: #6e6e73; font-size: 18px; line-height: 1.45; }
.advanced-closeup-controls { display: flex; gap: 8px; flex-wrap: wrap; }
.advanced-closeup-controls button { min-height: 38px; padding: 0 17px; border: 1px solid #d2d2d7; border-radius: 999px; background: #fff; color: #1d1d1f; font: inherit; font-size: 13px; cursor: pointer; transition: .3s var(--advanced-ease); }
.advanced-closeup-controls button:hover { border-color: #86868b; }
.advanced-closeup-controls button.selected { border-color: #1d1d1f; background: #1d1d1f; color: #fff; }

.advanced-showcase {
  padding: clamp(96px, 11vw, 156px) 0 clamp(92px, 10vw, 142px);
  overflow: hidden;
  background: #050505;
  color: #f5f5f7;
}

.advanced-showcase > header {
  width: min(calc(100% - 48px), 1090px);
  margin: 0 auto clamp(72px, 8vw, 118px);
}

.advanced-showcase h2 {
  max-width: 930px;
  margin: 0;
  font-size: clamp(34px, 4.25vw, 58px);
  line-height: 1.06;
  letter-spacing: -.045em;
}

.advanced-showcase h2 strong { color: #f5f5f7; font-weight: 750; }
.advanced-showcase h2 span { color: #a1a1a6; font-weight: 650; }

.advanced-showcase-rail {
  display: flex;
  gap: clamp(18px, 2.5vw, 34px);
  padding: 0 max(24px, calc((100vw - 1180px) / 2)) 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.advanced-showcase-rail::-webkit-scrollbar { display: none; }

.advanced-showcase-card {
  flex: 0 0 min(68vw, 540px);
  margin: 0;
  scroll-snap-align: start;
}

.advanced-showcase-media {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 42px;
  background: #171719;
}

.advanced-showcase-media::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: inherit;
  pointer-events: none;
}

.advanced-showcase-media img,
.advanced-showcase-media video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.advanced-showcase-media > span {
  position: absolute;
  z-index: 2;
  left: 24px;
  bottom: 24px;
  padding: 10px 15px;
  border-radius: 12px;
  color: #f5f5f7;
  background: rgba(45,45,49,.82);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  font-size: 18px;
  font-weight: 650;
  line-height: 1.1;
}

.advanced-showcase-card > p {
  margin: 28px 30px 0;
  color: #a1a1a6;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 650;
  line-height: 1.28;
  letter-spacing: -.025em;
}

.advanced-process { position: relative; background: #050505; color: #fff; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); }
.advanced-process-visual { min-height: 520vh; }
.advanced-process-visual > div { position: sticky; top: 122px; height: calc(100svh - 122px); overflow: hidden; }
.advanced-process-visual video { width: 100%; height: 100%; object-fit: cover; opacity: .64; transform: scale(1.05); transition: transform 1.4s var(--advanced-ease), opacity 1.2s var(--advanced-ease), filter 1.2s var(--advanced-ease); }
.advanced-process[data-stage='2'] video { transform: scale(1.13) translate3d(-2%, 0, 0); }
.advanced-process[data-stage='3'] video { transform: scale(1.24) translate3d(4%, 1%, 0); filter: contrast(1.12); }
.advanced-process[data-stage='4'] video { transform: scale(1.17) translate3d(-1%, 0, 0); filter: saturate(.75) contrast(1.15); }
.advanced-process[data-stage='5'] video { transform: scale(1.04); opacity: .82; }
.advanced-process-light { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 65%, #050505 100%); pointer-events: none; }
.advanced-process-visual p { position: absolute; left: clamp(24px, 5vw, 76px); bottom: clamp(36px, 7vw, 92px); margin: 0; display: grid; }
.advanced-process-visual small { color: rgba(255,255,255,.52); font-size: 14px; }
.advanced-process-visual strong { font-size: clamp(34px, 4vw, 66px); line-height: 1; letter-spacing: -.055em; }
.advanced-process-steps { padding: 34vh max(24px, calc((100vw - 1160px) / 2)) 34vh clamp(36px, 5vw, 82px); display: grid; gap: 64vh; }
.advanced-process-step { max-width: 470px; min-height: 32vh; opacity: .26; transform: translateY(32px); transition: opacity .8s var(--advanced-ease), transform .8s var(--advanced-ease); }
.advanced-process-step.active { opacity: 1; transform: none; }
.advanced-process-step > span { color: #2997ff; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.advanced-process-step h3 { margin: 15px 0 20px; font-size: clamp(42px, 5vw, 76px); line-height: .95; letter-spacing: -.06em; }
.advanced-process-step p { max-width: 410px; margin: 0; color: #a1a1a6; font-size: clamp(17px, 1.8vw, 21px); line-height: 1.45; }

.advanced-durability { padding: clamp(110px, 14vw, 200px) max(24px, calc((100vw - 1160px) / 2)); background: #050505; color: #fff; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); align-items: end; gap: 80px; }
.advanced-durability > div:first-child > span { color: #2997ff; }
.advanced-durability p { max-width: 580px; margin: 32px 0 0; color: #a1a1a6; font-size: 19px; line-height: 1.5; }
.advanced-duration-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.16); }
.advanced-duration-grid article { min-height: 230px; padding: 26px 18px; background: #050505; display: grid; align-content: end; }
.advanced-duration-grid strong { font-size: clamp(54px, 6vw, 84px); line-height: .8; letter-spacing: -.06em; }
.advanced-duration-grid span { margin-top: 17px; color: #a1a1a6; font-size: 13px; }

.advanced-recommendation { width: min(calc(100% - 48px), 1080px); margin: clamp(90px, 11vw, 150px) auto; padding: clamp(34px, 5vw, 68px); border-radius: var(--advanced-radius); background: #f5f5f7; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 28px; }
.advanced-recommendation > span { width: 52px; height: 52px; border-radius: 50%; background: #0071e3; color: #fff; display: grid; place-items: center; }
.advanced-recommendation .icon { width: 25px; height: 25px; }
.advanced-recommendation small { color: #6e6e73; font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.advanced-recommendation h2 { margin: 9px 0 15px; font-size: clamp(34px, 4.2vw, 58px); letter-spacing: -.055em; }
.advanced-recommendation p { max-width: 760px; margin: 0; color: #6e6e73; font-size: 18px; line-height: 1.5; }

.advanced-final-cta { padding: clamp(110px, 15vw, 210px) 24px; background: #fff; text-align: center; }
.advanced-final-cta > span { color: #6e6e73; }
.advanced-final-cta p { max-width: 560px; margin: 30px auto; color: #6e6e73; font-size: 19px; line-height: 1.5; }
.advanced-final-cta small { display: block; margin-top: 18px; color: #6e6e73; font-size: 12px; }

@keyframes advanced-copy-reveal { from { opacity: 0; transform: translate3d(0, 38px, 0); filter: blur(8px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes advanced-hero-scale { from { transform: scale(1.09); } to { transform: scale(1.035); } }

@media (max-width: 820px) {
  .advanced-product-nav { top: 52px; padding-inline: 18px; }
  .advanced-product-nav div { gap: 14px; }
  .advanced-product-nav div > button:not(.advanced-nav-cta) { display: none; }
  .advanced-cinematic-hero { min-height: calc(100svh - 52px); }
  .advanced-back { top: 20px; left: 18px; }
  .advanced-hero-media video { object-position: 62% 50%; opacity: .5; }
  .advanced-hero-media > span { background: linear-gradient(0deg, rgba(0,0,0,.91) 0%, rgba(0,0,0,.3) 74%, rgba(0,0,0,.18)); }
  .advanced-hero-copy { width: calc(100% - 36px); padding: 104px 0 102px; align-self: end; }
  .advanced-hero-copy h1 { font-size: clamp(51px, 16.5vw, 76px); line-height: .9; }
  .advanced-hero-copy > p { margin-top: 27px; font-size: 17px; }
  .advanced-hero-copy > div { margin-top: 25px; align-items: flex-start; flex-direction: column; }
  .advanced-coating-benefits { padding: 44px 0 72px; }
  .advanced-treatment-title { gap: 10px 14px; }
  .advanced-treatment-title { width: calc(100% - 36px); }
  .advanced-treatment-title h2 { font-size: clamp(46px, 14vw, 68px); }
  .advanced-treatment-title > strong { font-size: clamp(19px, 6.5vw, 28px); }
  .advanced-benefits-intro { margin-top: 0; padding-inline: 18px; font-size: clamp(19px, 5.7vw, 26px); }
  .advanced-benefit-rail { width: 100%; }
  .advanced-benefit-grid { width: calc(100% - 36px); margin-inline: 18px; grid-template-columns: repeat(8, calc((100vw - 36px) / 3)); }
  .advanced-benefit { min-width: 0; min-height: 88px; }
  .advanced-benefit > strong { font-size: 10px; }
  .advanced-benefit-disclosure { width: calc(100% - 36px); grid-template-columns: 1fr; gap: 22px; }
  .advanced-benefit-disclosure.is-open { max-height: 520px; margin-top: 24px; padding: 24px 20px 26px; }
  .advanced-benefit-disclosure > div:last-child { padding: 20px 0 0; border-left: 0; border-top: 2px solid #2997ff; }
  .advanced-essential,
  .advanced-closeup { padding-block: 86px; }
  .advanced-essential header,
  .advanced-closeup > header { width: calc(100% - 36px); margin-bottom: 34px; }
  .advanced-essential h2,
  .advanced-closeup h2,
  .advanced-durability h2,
  .advanced-final-cta h2 { font-size: clamp(40px, 12.5vw, 58px); }
  .advanced-highlight-rail { padding-inline: 18px; gap: 14px; }
  .advanced-highlight { flex-basis: 86vw; min-height: 520px; border-radius: 26px; }
  .advanced-highlight > div:last-child { padding: 28px; }
  .advanced-highlight h3 { font-size: clamp(34px, 10vw, 48px); }
  .advanced-closeup-stage { width: calc(100% - 36px); }
  .advanced-closeup-media { min-height: 66vh; border-radius: 26px; }
  .advanced-closeup-caption { grid-template-columns: 1fr; gap: 8px; min-height: 150px; }
  .advanced-closeup-caption p { font-size: 16px; }
  .advanced-closeup-controls { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
  .advanced-closeup-controls button { flex: 0 0 auto; }
  .advanced-showcase { padding-block: 86px 92px; }
  .advanced-showcase > header { width: calc(100% - 48px); margin-bottom: 62px; }
  .advanced-showcase h2 { font-size: clamp(31px, 8.6vw, 42px); line-height: 1.08; }
  .advanced-showcase-rail { gap: 16px; padding-inline: 18px; }
  .advanced-showcase-card { flex-basis: 78vw; }
  .advanced-showcase-media { border-radius: 28px; }
  .advanced-showcase-media > span { left: 18px; bottom: 18px; padding: 9px 13px; border-radius: 11px; font-size: 16px; }
  .advanced-showcase-card > p { margin: 22px 28px 0; font-size: 18px; }
  .advanced-process { display: block; }
  .advanced-process-visual { min-height: 76vh; }
  .advanced-process-visual > div { top: 104px; height: 72vh; }
  .advanced-process-light { background: linear-gradient(0deg, #050505, transparent 55%); }
  .advanced-process-steps { padding: 80px 24px 110px; gap: 130px; }
  .advanced-process-step { min-height: 45vh; opacity: .42; }
  .advanced-process-step h3 { font-size: clamp(42px, 14vw, 60px); }
  .advanced-durability { padding-inline: 24px; grid-template-columns: 1fr; gap: 58px; }
  .advanced-duration-grid article { min-height: 170px; padding: 18px 10px; }
  .advanced-duration-grid span { font-size: 10px; }
  .advanced-recommendation { width: calc(100% - 36px); padding: 28px 22px; grid-template-columns: 42px minmax(0, 1fr); gap: 17px; border-radius: 26px; }
  .advanced-recommendation > span { width: 42px; height: 42px; }
  .advanced-recommendation p { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .advanced-experience-page *,
  .advanced-experience-page *::before,
  .advanced-experience-page *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .advanced-hero-media video,
  .advanced-process-visual video,
  .advanced-closeup-media img { transform: none !important; }
  .advanced-process-step { opacity: 1; transform: none; }
}

/* Discover experiences · shared cinematic system for every service line */
.experience-detailing { --advanced-blue: #4d7f9c; }
.experience-classic { --advanced-blue: #626c75; }

::view-transition-old(root) { animation: 180ms cubic-bezier(.4,0,1,1) both page-transition-out; }
::view-transition-new(root) { animation: 420ms cubic-bezier(.22,1,.36,1) both page-transition-in; }

@keyframes page-transition-out { to { opacity: 0; filter: blur(3px); transform: translateY(-5px); } }
@keyframes page-transition-in { from { opacity: 0; filter: blur(5px); transform: translateY(10px); } }
.experience-detailing .advanced-hero-media video { object-position: 52% 48%; filter: saturate(.78) contrast(1.04); }
.experience-classic .advanced-hero-media video { object-position: 58% 50%; filter: saturate(.68) contrast(1.02); }
.experience-detailing .advanced-hero-media > span { background: linear-gradient(90deg, rgba(3,8,12,.94), rgba(8,18,24,.58) 46%, rgba(8,18,24,.08) 78%), linear-gradient(0deg, rgba(3,8,12,.66), transparent 46%); }
.experience-classic .advanced-hero-media > span { background: linear-gradient(90deg, rgba(8,10,12,.93), rgba(20,24,28,.58) 46%, rgba(20,24,28,.08) 78%), linear-gradient(0deg, rgba(8,10,12,.66), transparent 46%); }
.experience-detailing .advanced-hero-copy > span { color: #9fc4d7; }
.experience-classic .advanced-hero-copy > span { color: #ccd1d5; }

.advanced-closeup-stage[data-focus='interior'] img { object-position: 46% 48%; transform: scale(1.13); filter: saturate(.9) contrast(1.02); }
.advanced-closeup-stage[data-focus='upholstery'] img { object-position: 63% 58%; transform: scale(1.28); filter: saturate(.82) contrast(1.06); }
.advanced-closeup-stage[data-focus='wheels'] img { object-position: 24% 70%; transform: scale(1.22); filter: contrast(1.08); }

.care-map-section {
  padding: clamp(96px, 12vw, 170px) max(24px, calc((100vw - 1160px) / 2));
  background: #fff;
}

.care-map-section > header { max-width: 780px; margin-bottom: 54px; }
.care-map-section > header > span,
.experience-before-after > header > span { display: block; margin-bottom: 18px; color: #6e6e73; font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.care-map-section h2,
.experience-before-after h2 { margin: 0; font-size: clamp(48px, 6.4vw, 92px); line-height: .98; letter-spacing: -.06em; }
.care-map-section > header p,
.experience-before-after > header p { max-width: 620px; margin: 26px 0 0; color: #6e6e73; font-size: 18px; line-height: 1.5; }

.care-map-shell { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); border-radius: var(--advanced-radius); background: #f5f5f7; overflow: hidden; }
.care-map-vehicle { position: relative; min-height: 610px; display: grid; place-items: center; overflow: hidden; }
.care-map-vehicle::before { content: ''; position: absolute; width: 68%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(131,157,174,.22), rgba(131,157,174,0) 70%); filter: blur(16px); }
.care-map-vehicle img { position: relative; z-index: 1; width: min(92%, 760px); max-height: 560px; object-fit: contain; filter: drop-shadow(0 28px 34px rgba(0,0,0,.16)); transition: transform 1s var(--advanced-ease); }
.care-map-vehicle:hover img { transform: scale(1.025) translate3d(0,-5px,0); }
.care-map-vehicle > span { position: absolute; left: 28px; bottom: 24px; z-index: 2; color: #6e6e73; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.care-zone-grid { padding: 24px; background: rgba(255,255,255,.74); display: grid; grid-template-columns: 1fr 1fr; align-content: center; gap: 10px; }
.care-zone-grid button { min-height: 92px; padding: 15px; border: 1px solid rgba(29,29,31,.08); border-radius: 18px; background: #fff; color: #1d1d1f; display: grid; grid-template-columns: 10px minmax(0, 1fr); grid-template-rows: auto auto; gap: 3px 10px; text-align: left; font: inherit; cursor: pointer; transition: transform .35s var(--advanced-ease), border-color .35s var(--advanced-ease), background .35s var(--advanced-ease); }
.care-zone-grid button:hover { transform: translateY(-2px); border-color: rgba(29,29,31,.2); }
.care-zone-grid button i { grid-row: 1 / 3; align-self: center; width: 8px; height: 8px; border-radius: 50%; background: #ff453a; box-shadow: 0 0 0 5px rgba(255,69,58,.09); transition: background .6s var(--advanced-ease), box-shadow .6s var(--advanced-ease); }
.care-zone-grid button span { align-self: end; font-size: 13px; font-weight: 700; }
.care-zone-grid button small { color: #86868b; font-size: 10px; }
.care-zone-grid button.is-complete { background: #f7fbf8; border-color: rgba(48,209,88,.22); }
.care-zone-grid button.is-complete i { background: #30d158; box-shadow: 0 0 0 5px rgba(48,209,88,.1), 0 0 20px rgba(48,209,88,.24); }

.experience-before-after { padding: clamp(96px, 12vw, 170px) max(24px, calc((100vw - 1160px) / 2)); background: #f5f5f7; }
.experience-before-after > header { max-width: 780px; margin-bottom: 52px; }
.before-after-frame { --reveal: 50%; position: relative; min-height: min(68vw, 720px); border-radius: var(--advanced-radius); background: #0b0b0c; overflow: hidden; isolation: isolate; }
.before-after-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.before-after-before { filter: saturate(.42) brightness(.72) contrast(1.05); }
.before-after-after { position: absolute; inset: 0 auto 0 0; z-index: 2; width: var(--reveal); overflow: hidden; }
.before-after-after img { width: 100vw; max-width: 1160px; filter: saturate(.92) contrast(1.04); }
.before-after-divider { position: absolute; top: 0; bottom: 0; left: var(--reveal); z-index: 4; width: 2px; background: rgba(255,255,255,.94); transform: translateX(-1px); pointer-events: none; }
.before-after-divider::after { content: '↔'; position: absolute; top: 50%; left: 50%; width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,.96); color: #1d1d1f; display: grid; place-items: center; font-size: 19px; transform: translate(-50%,-50%); box-shadow: 0 10px 32px rgba(0,0,0,.22); }
.before-after-frame input { position: absolute; inset: 0; z-index: 5; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.before-after-frame small { position: absolute; top: 22px; z-index: 6; padding: 8px 11px; border-radius: 999px; background: rgba(0,0,0,.54); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .1em; pointer-events: none; }
.before-label { left: 22px; }
.after-label { right: 22px; }

.cinematic-line-experience .advanced-durability > div:first-child > span { color: #9fc4d7; }
.cinematic-line-experience .advanced-final-cta { background: #fff; }

@media (max-width: 820px) {
  .care-map-section,
  .experience-before-after { padding: 86px 18px; }
  .care-map-section h2,
  .experience-before-after h2 { font-size: clamp(40px, 12.5vw, 58px); }
  .care-map-shell { grid-template-columns: 1fr; border-radius: 26px; }
  .care-map-vehicle { min-height: 410px; }
  .care-zone-grid { grid-template-columns: 1fr 1fr; padding: 14px; }
  .care-zone-grid button { min-height: 84px; padding: 12px; }
  .before-after-frame { min-height: 62vh; border-radius: 26px; }
  .before-after-after img { width: calc(100vw - 36px); }
}

@media (max-width: 430px) {
  .care-zone-grid { grid-template-columns: 1fr; }
  .care-zone-grid button { min-height: 72px; }
}

@media (prefers-reduced-motion: reduce) {
  .care-map-vehicle img { transform: none !important; }
}

/* Shared purchase scale: compact headings, readable options and even section spacing. */
.apple-booking-config {
  --booking-section-heading: 28px;
  --booking-section-space: 32px;
}

.apple-booking-config .continuous-purchase-grid {
  width: min(calc(100% - 48px), 1180px) !important;
  margin: 0 auto !important;
  padding: 0 0 80px !important;
  grid-template-columns: minmax(390px, .92fr) minmax(0, 1.08fr) !important;
  gap: clamp(52px, 6vw, 88px) !important;
  align-items: start !important;
}

.apple-booking-config .continuous-configurator {
  min-width: 0;
  gap: 0 !important;
}

.apple-booking-config .continuous-config-section {
  margin: 0 !important;
  padding: var(--booking-section-space) 0 !important;
  border-bottom: 0 !important;
  scroll-margin-top: 158px;
}

.apple-booking-config .continuous-config-section:first-child {
  padding-top: 0 !important;
}

.apple-booking-config .vehicle-booking-step {
  gap: 0;
  padding: 0;
}

.apple-booking-config .continuous-config-section + .continuous-config-section {
  border-top: 1px solid #d2d2d7 !important;
}

.apple-booking-config .continuous-config-body {
  padding: 0 !important;
}

.apple-config-kicker {
  display: block;
  margin-bottom: 12px;
  color: #86868b;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .12em;
}

.apple-booking-config .continuous-config-section .continuous-config-body > h3,
.apple-booking-config .continuous-config-section .continuous-config-body .booking-step > h3,
.apple-booking-config .vehicle-step-heading,
.apple-booking-config .location-step-title,
.apple-booking-config .customer-booking-step h3,
.apple-booking-config .selected-line-intro h3,
.apple-booking-config .exterior-protection-section h3 {
  margin: 0 0 12px !important;
  color: #86868b !important;
  font-size: var(--booking-section-heading) !important;
  font-weight: 400 !important;
  line-height: 1.17 !important;
  letter-spacing: -.025em !important;
}

.apple-booking-config .continuous-config-section h3 strong,
.apple-booking-config .continuous-config-section h4 strong {
  color: #1d1d1f;
  font-weight: 750 !important;
}

.apple-booking-config .continuous-config-section .apple-section-lead,
.apple-booking-config .continuous-config-section .continuous-config-body .booking-step > p:not(.location-legal-notice),
.apple-booking-config .continuous-config-section .service-option-description,
.apple-booking-config .customer-booking-step > p {
  max-width: 590px !important;
  margin: 0 0 24px !important;
  color: #6e6e73 !important;
  font-size: 14px !important;
  line-height: 1.48 !important;
  letter-spacing: -.012em !important;
}

.apple-config-subheading {
  margin-top: 32px;
}

.apple-config-subheading h4 {
  margin: 0;
  color: #86868b;
  font-size: var(--booking-section-heading);
  font-weight: 400;
  line-height: 1.17;
  letter-spacing: -.025em;
}

.apple-config-subheading p {
  margin: 8px 0 20px;
  color: #6e6e73;
  font-size: 13px;
  line-height: 1.45;
}

.apple-config-help {
  width: 100%;
  min-height: 0;
  margin-top: 20px;
  padding: 16px;
  border: 0;
  border-radius: 18px;
  background: #f5f5f7;
  color: #1d1d1f;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  text-align: left;
  text-decoration: none;
}

.apple-config-help span,
.apple-config-help strong,
.apple-config-help small {
  display: block;
}

.apple-config-help strong {
  font-size: 14px;
  line-height: 1.25;
}

.apple-config-help small {
  margin-top: 5px;
  color: #6e6e73;
  font-size: 14px;
  line-height: 1.4;
}

.apple-config-help b {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border: 1.5px solid #1d1d1f;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 17px;
  font-weight: 450;
  line-height: 1;
}

.apple-config-help-link:hover strong {
  color: #06c;
}

button.apple-config-help {
  font: inherit;
  cursor: pointer;
}

.apple-config-help-other-model strong {
  color: #06c;
}

.apple-booking-config .vehicle-dropdown-picker {
  display: grid !important;
  gap: 16px !important;
  padding: 0;
}

.apple-booking-config .vehicle-dropdown-picker .field,
.apple-booking-config .location-form .field,
.apple-booking-config .customer-form-grid .field {
  margin: 0 !important;
  gap: 8px;
}

/* Mantiene el mismo ritmo vertical que el bloque de vehículo entre selectores. */
.apple-booking-config .selected-line-section .apple-config-subheading {
  margin-bottom: 30px;
}

.apple-booking-config .selected-line-section .service-choice-select {
  margin-bottom: 28px;
}

.apple-booking-config .selected-line-section .service-choice-single select {
  appearance: none;
  -webkit-appearance: none;
  background-image: none;
  padding-right: 18px;
  cursor: pointer;
}

.apple-booking-config .selected-line-section .service-choice-static {
  width: 100%;
  min-height: 56px;
  padding: 0 18px;
  border: 1px solid #86868b;
  border-radius: 14px;
  background: #fff;
  color: #1d1d1f;
  font: inherit;
  font-size: 16px;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
}

.apple-booking-config .selected-line-section .service-choice-static:focus-visible,
.apple-booking-config .selected-line-section .service-choice-static.selected {
  border-color: #0071e3;
  box-shadow: 0 0 0 3px rgba(0, 113, 227, .12);
  outline: 0;
}

.apple-booking-config .selected-line-section .detailing-service-selects {
  display: grid;
  gap: 28px;
}

.apple-booking-config .selected-line-section .detailing-service-selects .field {
  margin: 0 !important;
  gap: 8px;
}

.apple-booking-config .vehicle-dropdown-picker label,
.apple-booking-config .field label,
.apple-booking-config .location-booking-step label {
  margin-bottom: 0 !important;
  color: #1d1d1f !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}

.apple-booking-config .vehicle-dropdown-picker select,
.apple-booking-config .field input,
.apple-booking-config .field select,
.apple-booking-config .field textarea,
.apple-booking-config .input-prefix {
  min-height: 56px !important;
  border: 1px solid #86868b !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.apple-booking-config .field :is(input, select, textarea) {
  font-size: 16px;
  line-height: 1.4;
}

.apple-booking-config .input-prefix input {
  min-height: 54px !important;
  border: 0 !important;
}

.apple-booking-config .input-prefix span { font-size: 14px; }

.apple-booking-config .vehicle-dropdown-picker select:focus,
.apple-booking-config .field input:focus,
.apple-booking-config .field select:focus,
.apple-booking-config .field textarea:focus,
.apple-booking-config .input-prefix:focus-within {
  border-color: #0071e3 !important;
  box-shadow: 0 0 0 3px rgba(0, 113, 227, .12) !important;
  outline: 0 !important;
}

.apple-booking-config .vehicle-brand-model-panel {
  padding: 16px !important;
  border: 0 !important;
  border-radius: 20px !important;
  background: #f5f5f7 !important;
  gap: 16px !important;
}

.apple-booking-config .vehicle-selected-logo {
  padding: 0 !important;
  background: transparent !important;
}

.apple-booking-config .selected-line-intro {
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
}

.apple-booking-config .selected-line-intro p {
  margin: 0 !important;
  color: #6e6e73 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.apple-booking-config .selected-line-banner {
  min-height: 350px !important;
  margin: 0 !important;
  border-radius: 28px !important;
  background: #f5f5f7 !important;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .025) !important;
}

.apple-booking-config .selected-line-banner::after {
  background: linear-gradient(180deg, rgba(245,245,247,.98) 0%, rgba(245,245,247,.82) 44%, rgba(245,245,247,0) 74%) !important;
}

.apple-booking-config .selected-line-banner img {
  inset: auto 0 0 !important;
  width: 100% !important;
  height: 58% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
}

.apple-booking-config .selected-line-banner .selected-line-copy {
  top: 28px !important;
  right: 54px !important;
  bottom: auto !important;
  left: 54px !important;
  transform: none !important;
  color: #1d1d1f !important;
  text-align: center !important;
}

.apple-booking-config .selected-line-banner .selected-line-copy h4 {
  font-size: 28px !important;
  letter-spacing: -.05em !important;
}

.apple-booking-config .selected-line-banner .selected-line-copy p {
  max-width: 460px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  color: #6e6e73 !important;
  font-size: 12px !important;
  line-height: 1.42 !important;
}

.apple-booking-config .selected-line-banner .selected-line-copy .selected-line-kicker,
.apple-booking-config .selected-line-banner .selected-line-copy small {
  color: #86868b !important;
}

.apple-booking-config .selected-line-arrow,
.apple-booking-config .selected-line-advanced .selected-line-arrow {
  top: 68% !important;
  width: 42px !important;
  height: 42px !important;
  background: rgba(232,232,237,.92) !important;
  color: #1d1d1f !important;
}

.apple-booking-config .service-part-selector,
.apple-booking-config .service-part-selector-classic,
.apple-booking-config .service-part-selector-detailing,
.apple-booking-config .service-part-selector-advanced {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 0 !important;
}

.apple-booking-config .service-part-selector button,
.apple-booking-config .service-part-selector button.selected {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 96px !important;
  padding: 16px !important;
  border: 1px solid #86868b !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #1d1d1f !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  text-align: left !important;
}

.apple-booking-config .service-part-selector button.selected {
  border: 2px solid #0071e3 !important;
  box-shadow: 0 0 0 1px #0071e3 !important;
}

.apple-booking-config .service-part-selector .service-part-icon {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: #f5f5f7 !important;
  color: #1d1d1f !important;
  display: grid !important;
  place-items: center !important;
}

.apple-booking-config .service-part-selector .service-part-icon svg {
  color: currentColor !important;
}

.apple-booking-config .service-part-selector .service-part-copy {
  margin: 0 !important;
  text-align: left !important;
}

.apple-booking-config .service-part-selector .service-part-copy strong,
.apple-booking-config .service-part-selector button.selected .service-part-copy strong {
  color: #1d1d1f !important;
  -webkit-text-fill-color: #1d1d1f !important;
  font-size: 17px !important;
  font-weight: 650 !important;
}

.apple-booking-config .service-part-selector-classic,
.apple-booking-config .service-part-selector-advanced {
  grid-template-columns: 1fr !important;
}

.apple-booking-config .booking-place-grid,
.apple-booking-config .seats-option-grid,
.apple-booking-config .ceramic-option-grid,
.apple-booking-config .paint-preparation-grid {
  gap: 14px !important;
}

.apple-booking-config .booking-place-card,
.apple-booking-config .finish-included-card {
  min-height: 96px !important;
  padding: 16px !important;
  border: 1px solid #86868b !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

.apple-booking-config .booking-place-card.selected,
.apple-booking-config .finish-included-card.selected {
  border: 2px solid #0071e3 !important;
  background: #fff !important;
  box-shadow: 0 0 0 1px #0071e3 !important;
}

.apple-booking-config .booking-place-card strong,
.apple-booking-config .finish-included-card strong {
  color: #1d1d1f !important;
  font-size: 17px !important;
  line-height: 1.25;
}

.apple-booking-config .booking-place-card small,
.apple-booking-config .finish-included-card p {
  color: #6e6e73 !important;
  font-size: 14px !important;
  line-height: 1.4;
}

.apple-booking-config :is(.upholstery-option-card, .advanced-treatment-card) em {
  font-size: 14px;
  line-height: 1.4;
}

.apple-booking-config .booking-place-card { align-items: center; }

.apple-booking-config .service-condition-extra {
  margin-top: 0 !important;
}

.apple-booking-config .service-condition-extra-panel {
  min-height: 112px !important;
  padding: 16px !important;
  border: 1px solid #86868b !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.apple-booking-config .service-condition-extra-copy strong { font-size: 13px; line-height: 1.2; letter-spacing: -.35px; white-space: nowrap !important; }
.apple-booking-config .service-condition-extra-copy > span { font-size: 14px; line-height: 1.4; }
.apple-booking-config .service-condition-choice button { min-height: 44px; font-size: 14px; }
.apple-booking-config .service-condition-extra > p { font-size: 12px; }

.apple-booking-config .service-condition-extra-panel.selected {
  border: 2px solid #0071e3 !important;
  box-shadow: 0 0 0 1px #0071e3 !important;
}

@media (max-width: 560px) {
  .apple-booking-config .service-condition-extra-copy strong { font-size: 12px; letter-spacing: -.45px; white-space: nowrap !important; }
}

.apple-booking-config .allies-promo-section {
  background: transparent !important;
}

.apple-booking-config .allies-promo-body {
  min-height: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #1d1d1f !important;
  overflow: visible !important;
}

.apple-booking-config .allies-promo-copy {
  padding: 0 0 26px !important;
}

.apple-booking-config .allies-eyebrow {
  margin-bottom: 12px !important;
  color: #86868b !important;
  font-size: 11px !important;
}

.apple-booking-config .allies-promo-copy h3 {
  max-width: 620px;
  margin: 0 !important;
  color: #86868b !important;
  font-size: var(--booking-section-heading) !important;
  font-weight: 400 !important;
  line-height: 1.17 !important;
  letter-spacing: -.025em !important;
}

.apple-booking-config .allies-promo-copy h3::first-line {
  color: #1d1d1f;
}

.apple-booking-config .allies-promo-copy p {
  max-width: 560px;
  margin: 14px 0 0 !important;
  color: #6e6e73 !important;
  font-size: 14px !important;
  line-height: 1.48 !important;
}

.apple-booking-config .allies-details-panel-visible {
  padding: 0 !important;
}

.apple-booking-config .finish-upgrade-buttons {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 0 16px !important;
}

.apple-booking-config .finish-upgrade-buttons button,
.apple-booking-config .finish-upgrade-buttons button.selected {
  min-height: 96px !important;
  padding: 16px !important;
  border: 1px solid #86868b !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #1d1d1f !important;
  box-shadow: none !important;
  font-size: 17px !important;
}

.apple-booking-config .finish-upgrade-buttons button.selected {
  border: 2px solid #0071e3 !important;
  background: #fff !important;
  box-shadow: 0 0 0 1px #0071e3 !important;
}

.apple-booking-config .finish-upgrade-note {
  min-height: 56px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  background: #f5f5f7 !important;
  color: #6e6e73 !important;
  font-size: 13px !important;
}

.apple-booking-config .finish-included-list.has-cards {
  margin-top: 16px !important;
}

.apple-booking-config .location-legal-notice {
  margin: 0 0 24px !important;
  padding: 16px !important;
  border-radius: 16px !important;
  background: var(--blue) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.apple-booking-config .location-form,
.apple-booking-config .customer-form-grid {
  gap: 24px !important;
}

.apple-booking-config .booking-place-grid {
  grid-template-columns: 1fr !important;
}

.apple-booking-config .whatsapp-consent-field {
  margin-top: 4px;
  padding: 16px;
  border-radius: 14px;
  background: #f5f5f7;
}

.apple-booking-config .unified-order-column {
  position: sticky !important;
  top: 166px !important;
  align-self: start !important;
  max-height: calc(100dvh - 184px) !important;
  overflow-y: auto !important;
  border-radius: 28px !important;
  scrollbar-width: none;
}

.apple-booking-config .unified-order-column::-webkit-scrollbar {
  display: none;
}

.apple-final-heading {
  display: none;
}

.apple-booking-config .unified-order-card {
  padding: 28px !important;
  border-radius: 28px !important;
  background: #f5f5f7 !important;
}

.apple-booking-config .unified-order-card > h3 {
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1.17 !important;
  letter-spacing: -.025em !important;
}

.apple-booking-config .unified-order-art {
  height: 290px !important;
  margin: 22px 0 16px !important;
  border-radius: 22px !important;
  background: #fff !important;
}

.apple-booking-config .unified-order-art-single {
  height: 290px !important;
}

.apple-booking-config .unified-order-recap {
  gap: 9px !important;
  padding: 10px 0 !important;
}

.apple-booking-config .unified-order-recap > div {
  grid-template-columns: 30px minmax(0, 1fr) !important;
  gap: 10px !important;
}

.apple-booking-config .unified-order-recap > div > span {
  width: 30px !important;
  height: 30px !important;
  background: #fff !important;
  color: #6e6e73 !important;
}

.apple-booking-config .unified-order-recap > div.ready > span {
  background: #0071e3 !important;
  color: #fff !important;
}

.apple-booking-config .unified-order-recap small {
  font-size: 10px !important;
}

.apple-booking-config .unified-order-recap strong {
  font-size: 14px !important;
}

.apple-booking-config .unified-order-estimate {
  min-height: 52px !important;
  margin-top: 12px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  background: #fff !important;
}

.apple-booking-config .unified-order-estimate small { font-size: 10px !important; }
.apple-booking-config .unified-order-estimate strong { font-size: 14px !important; }

.apple-booking-config .unified-order-price {
  padding: 20px 0 4px !important;
}

.apple-booking-config .unified-order-price span {
  color: #6e6e73 !important;
  font-size: 10px !important;
}

.apple-booking-config .unified-order-price > strong {
  margin-top: 4px !important;
  font-size: 24px !important;
  letter-spacing: -.04em !important;
}

.apple-booking-config .unified-order-price small {
  margin-top: 4px !important;
  font-size: 14px !important;
}

.apple-booking-config .summary-booking-flow {
  margin-top: 17px !important;
  border-radius: 16px !important;
  background: #fff !important;
}

.apple-booking-config .summary-availability-toggle {
  min-height: 62px !important;
  padding: 10px 12px !important;
}

.apple-booking-config .summary-availability-toggle small { font-size: 10px !important; }
.apple-booking-config .summary-availability-toggle strong { font-size: 14px !important; }

@media (max-width: 900px) {
  .apple-booking-config .continuous-purchase-grid {
    grid-template-columns: minmax(310px, .82fr) minmax(0, 1.18fr) !important;
    gap: 34px !important;
  }

  .apple-booking-config .selected-line-banner .selected-line-copy {
    right: 32px !important;
    left: 32px !important;
  }
}

@media (max-width: 760px) {
  .apple-booking-config { --booking-section-heading: 24px; }

  .apple-booking-config .continuous-purchase-grid {
    width: 100% !important;
    padding: 0 0 calc(72px + env(safe-area-inset-bottom)) !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .apple-booking-config .continuous-configurator {
    order: 1 !important;
    padding: 0 24px !important;
  }

  .apple-booking-config .continuous-config-section {
    margin: 0 !important;
    padding: var(--booking-section-space) 0 !important;
    scroll-margin-top: 132px;
  }

  .apple-booking-config .continuous-config-section .continuous-config-body {
    padding: 0 !important;
  }

  .apple-config-kicker {
    margin-bottom: 10px;
    font-size: 9px;
  }

  .apple-booking-config .continuous-config-section .continuous-config-body > h3,
  .apple-booking-config .continuous-config-section .continuous-config-body .booking-step > h3,
  .apple-booking-config .vehicle-step-heading,
  .apple-booking-config .location-step-title,
  .apple-booking-config .customer-booking-step h3,
  .apple-booking-config .selected-line-intro h3,
  .apple-booking-config .exterior-protection-section h3,
  .apple-booking-config .allies-promo-copy h3 {
    font-size: var(--booking-section-heading) !important;
    line-height: 1.17 !important;
  }

  .apple-booking-config .continuous-config-section .apple-section-lead,
  .apple-booking-config .continuous-config-section .service-option-description,
  .apple-booking-config .customer-booking-step > p,
  .apple-booking-config .selected-line-intro p,
  .apple-booking-config .allies-promo-copy p {
    margin-bottom: 24px !important;
    font-size: 14px !important;
  }

  .apple-config-subheading {
    margin-top: 32px;
  }

  .apple-config-subheading h4 {
    font-size: var(--booking-section-heading);
  }

  .apple-config-help {
    min-height: 0;
    padding: 16px;
    border-radius: 16px;
  }

  .apple-booking-config .selected-line-banner {
    min-height: 330px !important;
    border-radius: 24px !important;
  }

  .apple-booking-config .selected-line-banner .selected-line-copy {
    top: 25px !important;
    right: 24px !important;
    left: 24px !important;
  }

  .apple-booking-config .selected-line-banner .selected-line-copy h4 {
    font-size: 24px !important;
  }

  .apple-booking-config .selected-line-banner .selected-line-copy p {
    font-size: 12px !important;
  }

  .apple-booking-config .service-part-selector,
  .apple-booking-config .service-part-selector-detailing,
  .apple-booking-config .service-part-selector-classic,
  .apple-booking-config .service-part-selector-advanced {
    grid-template-columns: 1fr !important;
  }

  .apple-booking-config .service-part-selector button,
  .apple-booking-config .service-part-selector button.selected {
    min-height: 96px !important;
    padding: 16px !important;
  }

  .apple-booking-config .booking-place-card,
  .apple-booking-config .finish-included-card,
  .apple-booking-config .finish-upgrade-buttons button,
  .apple-booking-config .finish-upgrade-buttons button.selected {
    min-height: 96px !important;
  }

  .apple-booking-config .finish-upgrade-buttons {
    grid-template-columns: 1fr !important;
  }

  .apple-booking-config .allies-promo-copy,
  .apple-booking-config .allies-details-panel-visible {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .apple-booking-config .service-condition-extra-panel {
    min-height: 0 !important;
    padding: 16px !important;
  }

  .apple-booking-config .unified-order-column {
    position: static !important;
    order: 2 !important;
    width: 100% !important;
    max-height: none !important;
    padding: 48px 24px 0 !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: #f5f5f7;
  }

  .apple-final-heading {
    display: block;
    margin-bottom: 24px;
  }

  .apple-final-heading > span {
    color: #86868b;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .12em;
  }

  .apple-final-heading h2 {
    margin: 12px 0 0;
    font-size: 32px;
    line-height: 1.1;
    letter-spacing: -.035em;
  }

  .apple-final-heading h2 em {
    color: #86868b;
    font-style: normal;
  }

  .apple-booking-config .unified-order-card {
    padding: 0 0 26px !important;
    border-radius: 0 !important;
    background: transparent !important;
    display: flex !important;
    flex-direction: column;
  }

  .apple-booking-config .unified-order-card > h3 {
    order: 1;
    font-size: 24px !important;
  }

  .apple-booking-config .unified-order-art,
  .apple-booking-config .unified-order-art-single {
    order: 2;
    height: clamp(220px, 65vw, 320px) !important;
    margin: 20px 0 24px !important;
    border-radius: 24px !important;
  }

  .apple-booking-config .unified-order-price {
    order: 3;
    padding: 0 0 18px !important;
  }

  .apple-booking-config .unified-order-price > strong {
    font-size: 24px !important;
  }

  .apple-booking-config .unified-order-price small {
    font-size: 14px !important;
  }

  .apple-booking-config .summary-booking-flow {
    order: 4;
    margin-top: 0 !important;
  }

  .apple-booking-config .summary-availability-toggle {
    min-height: 58px !important;
  }

  .apple-booking-config .unified-order-estimate {
    order: 5;
    margin-top: 18px !important;
  }

  .apple-booking-config .unified-order-recap {
    order: 6;
    margin-top: 18px;
    padding-top: 20px !important;
    border-top: 1px solid #d2d2d7;
  }
}

@media (max-width: 430px) {
  .apple-booking-localnav small {
    max-width: 205px;
  }

  .apple-booking-benefits {
    padding: 0 24px;
  }

  .apple-booking-benefits > span {
    gap: 7px;
    font-size: 9px;
  }

  .apple-booking-hero {
    padding-right: 24px;
    padding-left: 24px;
  }

  .apple-booking-config .continuous-configurator,
  .apple-booking-config .unified-order-column {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }

  .apple-booking-config .unified-order-art,
  .apple-booking-config .unified-order-art-single {
    height: clamp(220px, 65vw, 320px) !important;
  }
}

/* Progressive configuration keeps future choices visible, but not interactive. */
.apple-booking-config .booking-gate-hint {
  display: none;
  grid-column: 1 / -1;
  margin: 0 0 16px;
  color: #6e6e73;
  font-size: 13px;
  line-height: 1.4;
}
.apple-booking-config [data-booking-locked='true'] > .booking-gate-hint { display: block; }
.apple-booking-config [data-booking-locked='true'] > :not(.booking-gate-hint) { opacity: .45; }
.apple-booking-config [data-booking-locked='true'] [data-booking-locked='true'] > .booking-gate-hint { display: none; }
.apple-booking-config [data-booking-locked='true'] [data-booking-locked='true'] > :not(.booking-gate-hint) { opacity: 1; }
.apple-booking-config [data-booking-locked='true'] :is(button, input, select, a) { cursor: not-allowed; }
.apple-booking-config .booking-step-continue {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: 100%;
  margin-top: 24px;
  line-height: 1.3;
  padding-block: 12px;
}
.apple-booking-config .booking-step-continue:disabled { transform: none; }
.apple-booking-config .booking-step-continue .icon { width: 16px; height: 16px; }

/* Four-screen purchase flow; existing service cards and price logic are shared. */
.apple-booking-config.checkout-page {
  --booking-section-heading: 25px;
  --booking-section-space: 54px;
}
.checkout-page .checkout-steps {
  display: flex;
  justify-content: center;
  gap: 28px;
  width: min(calc(100% - 56px), 980px);
  margin: 32px auto 0;
}
.checkout-steps button {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #6e6e73;
  font: inherit;
  font-size: 12px;
}
.checkout-steps button span { font-size: 11px; }
.checkout-steps button[aria-current] { color: #1d1d1f; font-weight: 650; }
.checkout-steps button:disabled { opacity: .5; cursor: not-allowed; }
.checkout-page .continuous-purchase-grid {
  width: min(calc(100% - 64px), 1020px) !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 480px) !important;
  gap: 72px !important;
}
.checkout-page .continuous-config-section + .continuous-config-section { border-top: 0 !important; }
.checkout-page .continuous-config-section :is(.booking-place-card, .finish-included-card, .service-part-selector button) {
  min-height: 86px !important;
  padding: 14px !important;
}
.checkout-page .continuous-config-section :is(.booking-place-card strong, .finish-included-card strong, .service-part-copy strong),
.checkout-page .service-part-selector button.selected .service-part-copy strong,
.checkout-page .service-condition-extra-copy strong { font-size: 16px !important; }
.checkout-page .continuous-config-section :is(.booking-place-card small, .finish-included-card p, .apple-section-lead, .service-option-description),
.checkout-page .continuous-config-section .continuous-config-body .booking-step > p,
.checkout-page .selected-line-intro p,
.checkout-page .service-condition-extra-copy > span { font-size: 13px !important; }
.checkout-page .selected-line-banner { min-height: 310px !important; border-radius: 22px !important; }
.checkout-page .selected-line-banner .selected-line-copy h4 { font-size: 24px !important; }
.checkout-page .field :is(input, select) { min-height: 52px !important; font-size: 16px; }
.checkout-page .location-form { gap: 36px !important; }
.checkout-page-heading {
  width: min(calc(100% - 56px), 900px);
  margin: 64px auto 72px;
  text-align: center;
}
.checkout-page-heading h2 { margin: 0; font-size: clamp(27px, 3vw, 36px); line-height: 1.15; letter-spacing: -.035em; }
.checkout-page #checkout-page-title:focus { outline: none; }
.checkout-page-heading p { max-width: 590px; margin: 20px auto 28px; font-size: 15px; line-height: 1.5; color: #6e6e73; }
.checkout-heading-total { display: block; margin: 0 0 24px; font-size: 28px; letter-spacing: -.03em; }
.checkout-page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 32px 0; }
.checkout-page-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  max-width: 100%;
  padding: 12px 24px;
  border: 0;
  border-radius: 12px;
  background: #0071e3;
  color: #fff;
  font: inherit;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  cursor: pointer;
}
.checkout-page-button .icon { width: 16px; height: 16px; flex: 0 0 auto; }
.checkout-page-button:hover:not(:disabled) { background: #0077ed; }
.checkout-page-button:disabled { opacity: .45; cursor: not-allowed; }
.checkout-page-secondary { padding-inline: 0; background: transparent; color: #06c; }
.checkout-page-secondary:hover:not(:disabled) { background: transparent; text-decoration: underline; }
.checkout-page button:focus-visible { outline: 3px solid #0071e3; outline-offset: 4px; }
.checkout-page .apple-booking-localnav .checkout-page-button { margin: 0; flex-shrink: 0; padding: 10px 16px; }
.checkout-localnav-link { flex-shrink: 0; padding: 8px 0; border: 0; background: transparent; color: var(--blue); font: inherit; font-size: 14px; cursor: pointer; }
.checkout-localnav-link:hover { text-decoration: underline; }
.checkout-localnav-link:disabled { color: #b6b6bb; cursor: not-allowed; text-decoration: none; }
.checkout-complements-content, .checkout-account-content { width: min(calc(100% - 64px), 920px); margin: 0 auto; padding-bottom: 80px; }
.checkout-complements-content .allies-promo-copy { max-width: 600px; margin: 0 auto 36px; text-align: center; }
.checkout-complements-content .allies-promo-copy h3 { font-size: 25px; line-height: 1.2; }
.checkout-complements-content .allies-promo-copy p { font-size: 14px; line-height: 1.5; color: #6e6e73; }
.checkout-complements-content .finish-upgrade-buttons { max-width: 580px; margin: 0 auto; }
.checkout-complements-content .finish-upgrade-note { max-width: 580px; margin-inline: auto; text-align: center; }
.checkout-complements-content .finish-included-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.checkout-complements-content .finish-included-card { flex-direction: column; align-items: flex-start; min-height: 210px !important; padding: 24px !important; }
.checkout-complements-content .finish-included-card > span { margin-bottom: 20px; }
.checkout-complements-content .checkout-page-actions { justify-content: center; margin-top: 52px; }
.checkout-page-summary .continuous-purchase-grid { display: block !important; max-width: 860px; }
.checkout-page-summary .unified-order-column { position: static !important; padding: 0 !important; width: 100%; }
.checkout-page-summary .unified-order-card { display: grid !important; grid-template-columns: 220px minmax(0, 1fr); gap: 28px 56px; padding: 0 !important; }
.checkout-page-summary .unified-order-card > * { grid-column: 2; order: initial !important; }
.checkout-page-summary .unified-order-card > h3 { font-size: 23px !important; margin: 0 !important; }
.checkout-page-summary .unified-order-art { grid-column: 1; grid-row: 1 / span 4; height: 240px !important; margin: 0 !important; }
.checkout-page-summary .unified-order-recap { margin: 0; padding: 0 !important; border: 0; }
.checkout-page-summary .unified-order-recap strong { font-size: 14px !important; }
.checkout-page-summary .unified-order-price { display: none !important; }
.checkout-price-breakdown { padding: 28px 0 0; border-top: 1px solid #d2d2d7; }
.checkout-price-breakdown > div { display: flex; justify-content: space-between; gap: 20px; margin: 0 0 14px; font-size: 14px; }
.checkout-price-breakdown strong { font-weight: 500; }
.checkout-selected-extras { list-style: none; margin: 0; padding: 24px 0 0; border-top: 1px solid #d2d2d7; }
.checkout-selected-extras li { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 16px; font-size: 13px; line-height: 1.4; }
.checkout-selected-extras strong { white-space: nowrap; font-weight: 500; }
.checkout-price-breakdown .checkout-price-total { margin-top: 24px; padding-top: 20px; border-top: 1px solid #d2d2d7; font-size: 21px; }
.checkout-page-summary .checkout-page-actions { margin: 0; }
.configuration-summary-checkout { margin-top: 48px; }
.summary-contact-card { padding: 32px 0 36px; border-top: 1px solid #d2d2d7; }
.summary-contact-heading { margin-bottom: 24px; }
.summary-contact-heading h3 { margin: 0; font-size: 24px; line-height: 1.15; letter-spacing: -.025em; }
.summary-contact-heading p { margin: 8px 0 0; color: #6e6e73; font-size: 14px; line-height: 1.5; }
.summary-contact-card .customer-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.summary-contact-card .field { gap: 8px; }
.summary-contact-card .field input { width: 100%; min-width: 0; font-size: 16px; }
.summary-contact-card input[readonly] { background: #f5f5f7; color: #515154; }
.summary-contact-card .whatsapp-consent-field { grid-column: 1 / -1; font-size: 12px; line-height: 1.5; }
.configuration-summary-checkout > .summary-payment { margin-top: 0; }
.checkout-account-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.checkout-account-grid > section + section { border-left: 1px solid #d2d2d7; padding-left: 80px; }
.checkout-account-grid h3, .checkout-known-customer h3 { margin: 0 0 20px; font-size: 24px; letter-spacing: -.025em; }
.checkout-account-grid p { margin: 0 0 32px; font-size: 15px; line-height: 1.5; }
.checkout-account-grid .field { margin-bottom: 24px; gap: 8px; }
.checkout-account-grid .checkout-page-button { width: 100%; margin: 24px 0; }
.checkout-account-grid .checkout-account-hint { font-size: 12px; color: #6e6e73; }
.checkout-account-grid .whatsapp-consent-field { font-size: 12px; line-height: 1.5; }
.checkout-access-notice { margin: 0 0 48px; padding: 20px; border: 1px solid #d2d2d7; border-radius: 14px; background: #f5f5f7; font-size: 13px; line-height: 1.5; }
.checkout-known-customer { max-width: 520px; margin: auto; }
.checkout-account-content .customer-form-grid { grid-template-columns: minmax(0, 1fr); }
.checkout-account-content .field input { width: 100%; min-width: 0; font-size: 16px; }
.checkout-account-content input[readonly] { background: #f5f5f7; color: #515154; }
.checkout-account-grid .checkout-login-error { color: #b42318; font-size: 13px; margin-bottom: 0; }
.checkout-account-grid .summary-payment { margin-top: 36px; }
.prepayment-overview { margin-bottom: 34px; border-top: 1px solid #d2d2d7; }
.prepayment-overview > div { display: flex; justify-content: space-between; gap: 24px; padding: 13px 0; font-size: 16px; }
.prepayment-overview > div strong { font-weight: 500; }
.prepayment-overview .prepayment-total { margin-top: 6px; padding: 22px 0 18px; border-top: 1px solid #d2d2d7; font-size: 23px; font-weight: 700; }
.prepayment-total > strong { text-align: right; font-size: 25px; }
.prepayment-total small { display: block; margin-top: 3px; color: #6e6e73; font-size: 12px; font-weight: 400; }
.prepayment-finance { margin-top: 16px; padding: 24px; border-radius: 18px; background: #f5f5f7; }
.prepayment-finance h3 { margin: 0; font-size: 16px; line-height: 1.35; }
.prepayment-finance > strong { display: block; margin-top: 10px; font-size: 22px; line-height: 1.25; }
.prepayment-finance p { margin: 8px 0 0; color: #444; font-size: 14px; }
.prepayment-finance-vat { display: block; margin-top: 3px; color: #6e6e73; font-size: 12px; }
.prepayment-finance button { margin-top: 22px; padding: 0; border: 0; background: transparent; color: var(--blue); font: inherit; font-size: 15px; cursor: pointer; }
.prepayment-finance button span { display: inline-grid; width: 18px; height: 18px; place-items: center; border: 1px solid currentColor; border-radius: 50%; }
@media (max-width: 900px) {
  .checkout-page .continuous-purchase-grid { width: min(calc(100% - 64px), 540px) !important; display: block !important; }
  .checkout-page .continuous-configurator { padding: 0 !important; }
  .checkout-account-grid { gap: 40px; }
  .checkout-account-grid > section + section { padding-left: 40px; }
  .checkout-page-summary .unified-order-card { grid-template-columns: 140px minmax(0, 1fr); gap: 24px; }
  .checkout-page-summary .unified-order-card > :is(.checkout-price-breakdown, .checkout-page-actions, .summary-booking-flow) { grid-column: 1 / -1; }
  .checkout-page-summary .unified-order-art { height: 180px !important; }
}
@media (max-width: 600px) {
  .apple-booking-config.checkout-page { --booking-section-heading: 22px; --booking-section-space: 48px; }
  .checkout-page .checkout-steps { width: calc(100% - 32px); gap: 14px; margin-top: 20px; }
  .checkout-steps button { flex-direction: column; gap: 3px; font-size: 10px; }
  .checkout-page .apple-booking-hero { padding: 40px 32px 56px !important; }
  .checkout-page .apple-booking-hero h2 { font-size: 28px !important; }
  .checkout-page .apple-booking-hero p { font-size: 15px !important; }
  .checkout-page-heading { width: calc(100% - 64px); margin: 48px auto 56px; }
  .checkout-complements-content, .checkout-account-content { width: calc(100% - 64px); }
  .checkout-complements-content .finish-included-grid { grid-template-columns: 1fr; }
  .checkout-complements-content .finish-included-card { min-height: 150px !important; }
  .checkout-page .selected-line-banner { min-height: 300px !important; }
  .checkout-page .selected-line-banner .selected-line-copy { left: 24px !important; right: 24px !important; top: 20px !important; }
  .checkout-page .selected-line-banner .selected-line-copy h4 { font-size: 22px !important; }
  .checkout-page-actions { flex-direction: column; align-items: stretch; }
  .checkout-page-summary .unified-order-card { display: flex !important; gap: 24px; }
  .checkout-page-summary .unified-order-art { width: 100%; height: 200px !important; }
  .checkout-page-summary .unified-order-card > * { width: 100%; margin: 0 !important; }
  .summary-contact-card .customer-form-grid { grid-template-columns: 1fr; }
  .checkout-account-grid { grid-template-columns: 1fr; gap: 52px; }
  .checkout-account-grid > section + section { border-left: 0; border-top: 1px solid #d2d2d7; padding: 52px 0 0; }
}

/* Editorial service comparison: shared rows keep each feature aligned. */
.checkout-page .service-comparison-editorial {
  width: min(calc(100% - 64px), 980px);
  margin: 0 auto;
  padding: 72px 0 56px;
  border: 0;
  background: #fff;
  text-align: left;
}
.service-comparison-editorial > h3 {
  max-width: none;
  margin: 0 auto;
  padding: 0;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.12;
  letter-spacing: -.035em;
  text-align: center;
}
.service-comparison-editorial > p { max-width: 540px; margin: 20px 0 40px; padding: 0; font-size: 15px; line-height: 1.5; color: #6e6e73; }
.service-comparison-editorial .service-comparison-scroll { overflow: visible !important; }
.service-comparison-editorial .service-comparison-grid {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  column-gap: 48px;
  row-gap: 0;
}
.service-comparison-editorial .service-comparison-column {
  display: grid;
  grid-row: span var(--comparison-rows);
  grid-template-rows: subgrid;
  min-width: 0;
  border: 0;
  border-bottom: 1px solid #d2d2d7;
}
.service-comparison-editorial .service-comparison-column > header {
  display: flex;
  flex-direction: column;
  min-height: 0 !important;
  padding: 0 0 32px !important;
  border-bottom: 1px solid #d2d2d7;
}
.service-comparison-editorial .comparison-line-image { display: block; width: 100%; height: 240px; margin: 0 0 32px; object-fit: contain; object-position: left bottom; }
.service-comparison-editorial .service-comparison-column > header .comparison-tier-label,
.service-comparison-editorial .service-comparison-column > header .comparison-tier-subtitle { font-size: 10px !important; font-weight: 500 !important; line-height: 1.4 !important; letter-spacing: .04em !important; color: #6e6e73 !important; }
.service-comparison-editorial .service-comparison-column > header h4 { font-size: 24px !important; line-height: 1.15 !important; letter-spacing: -.025em !important; font-weight: 600 !important; }
.service-comparison-editorial .comparison-tier-choice {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0071e3;
  font: inherit;
  letter-spacing: inherit;
  text-align: left;
  cursor: pointer;
}
.service-comparison-editorial .comparison-tier-choice:hover,
.service-comparison-editorial .comparison-tier-choice:focus-visible { text-decoration: underline; text-underline-offset: 4px; outline: 0; }
.service-comparison-editorial .service-comparison-column > header p { flex: 1; min-height: 0 !important; margin: 12px 0 24px !important; font-size: 17px !important; line-height: 1.45 !important; color: #1d1d1f !important; }
.service-comparison-editorial .service-comparison-column > header strong { font-size: 15px !important; font-weight: 400; color: #1d1d1f !important; }
.service-comparison-editorial .comparison-feature,
.service-comparison-editorial .comparison-feature.not-included {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-height: 172px !important;
  padding: 32px 0 !important;
  gap: 20px;
  border: 0 !important;
}
.service-comparison-editorial .comparison-feature-icon { width: 48px; height: 48px; flex-shrink: 0; }
.service-comparison-editorial .comparison-spec-icon { color: #1d1d1f; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
.service-comparison-editorial .comparison-feature > span { max-width: none; padding: 0; font-size: 15px; line-height: 1.45; letter-spacing: 0; font-weight: 400; text-transform: none; color: #1d1d1f; }
.service-comparison-editorial .comparison-feature-copy { display: grid; gap: 6px; }
.service-comparison-editorial .comparison-feature-name,
.service-comparison-editorial .comparison-feature-description { display: block; }
.service-comparison-editorial .comparison-feature.not-included::before { content: ''; height: 48px; flex-shrink: 0; }
.service-comparison-editorial .comparison-feature.not-included > b { font-size: 20px; line-height: 1; color: #1d1d1f; font-weight: 400; }
@media (max-width: 760px) {
  .checkout-page .service-comparison-editorial { width: calc(100% - 48px); padding: 48px 0; }
  .service-comparison-editorial > h3 { max-width: 310px; font-size: 28px; }
  .service-comparison-editorial > p { margin: 16px 0 32px; font-size: 14px; }
  .service-comparison-editorial .service-comparison-grid.comparison-count-2,
  .service-comparison-editorial .service-comparison-grid.comparison-count-3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 24px; }
  .service-comparison-editorial .service-comparison-column:nth-child(n + 3) > header { padding-top: 48px !important; }
  .service-comparison-editorial .comparison-line-image { height: clamp(144px, 43vw, 220px); margin-bottom: 24px; }
  .service-comparison-editorial .service-comparison-column > header h4 { font-size: 20px !important; }
  .service-comparison-editorial .service-comparison-column > header p { font-size: 15px !important; }
  .service-comparison-editorial .service-comparison-column > header strong { font-size: 14px !important; }
  .service-comparison-editorial .comparison-feature,
  .service-comparison-editorial .comparison-feature.not-included { min-height: 160px !important; padding: 28px 0 !important; }
  .service-comparison-editorial .comparison-feature-icon { width: 44px; height: 44px; }
  .service-comparison-editorial .comparison-feature > span { font-size: 14px; }
  .service-comparison-editorial .comparison-feature.not-included::before { height: 44px; }
}
@supports not (grid-template-rows: subgrid) {
  .service-comparison-editorial .service-comparison-column { grid-template-rows: auto repeat(calc(var(--comparison-rows) - 1), minmax(144px, auto)); }
}

/* The configuration starts directly with its form, without a preview column. */
.checkout-page.checkout-page-configuration .apple-booking-hero {
  width: min(calc(100% - 64px), 680px);
  margin: 0 auto;
  padding: 44px 0 48px !important;
}
.checkout-page.checkout-page-configuration .continuous-purchase-grid {
  display: block !important;
  width: min(calc(100% - 64px), 680px) !important;
  padding-top: var(--booking-section-space) !important;
}
.checkout-page.checkout-page-configuration .continuous-configurator { padding: 0 !important; }
@media (max-width: 900px) {
  .checkout-page.checkout-page-configuration .apple-booking-hero,
  .checkout-page.checkout-page-configuration .continuous-purchase-grid { width: min(calc(100% - 64px), 540px) !important; }
}
@media (max-width: 600px) {
  .checkout-page.checkout-page-configuration .apple-booking-hero { padding: 32px 0 40px !important; }
}

/* Purchase recap: only the final block of the configuration page. */
.checkout-page-configuration .configuration-bag {
  margin-top: 64px;
  padding: 72px 0;
  scroll-margin-top: 145px;
  background: #f5f5f7;
  color: #1d1d1f;
}
.checkout-page-configuration .configuration-bag-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
  gap: 80px;
  width: min(calc(100% - 64px), 980px);
  margin: 0 auto;
}
.checkout-page-configuration .configuration-bag h2 {
  margin: 0;
  font-size: 42px;
  line-height: 1.12;
  letter-spacing: -.035em;
  font-weight: 600;
}
.checkout-page-configuration .configuration-bag h2 span { color: #86868b; }
.checkout-page-configuration .configuration-bag-image {
  display: block;
  width: 100%;
  height: 380px;
  margin: 48px auto 0;
  object-fit: contain;
}
.checkout-page-configuration .configuration-bag-details { min-width: 0; font-size: 17px; line-height: 1.45; }
.checkout-page-configuration .configuration-bag-details p { margin: 0; }
.checkout-page-configuration .configuration-bag-description { font-size: 19px; line-height: 1.4; }
.checkout-page-configuration .configuration-bag-description span { display: block; margin-top: 4px; }
.checkout-page-configuration .configuration-bag-description .configuration-bag-selection-details { color: #424245; font-weight: 600; }
.checkout-page-configuration .configuration-bag-details .configuration-bag-price { margin-top: 8px; font-size: 25px; font-weight: 600; }
.checkout-page-configuration .configuration-bag-details .configuration-bag-or { margin: 20px 0; }
.checkout-page-configuration .configuration-bag-details .configuration-bag-finance-title { margin-top: 20px; font-size: 19px; font-weight: 600; }
.checkout-page-configuration .configuration-bag-details .configuration-bag-installment { margin-top: 16px; font-size: 21px; font-weight: 600; line-height: 1.3; }
.checkout-page-configuration .configuration-bag-details .configuration-bag-financed { margin-top: 6px; font-size: 15px; }
.checkout-page-configuration .configuration-bag-vat { margin-top: 8px !important; color: #6e6e73; font-size: 13px !important; }
.checkout-page-configuration .configuration-bag-save { margin-top: 22px; padding: 19px 0 21px; border-block: 1px solid #d2d2d7; }
.checkout-page-configuration .configuration-bag-save strong { display: block; font-size: 16px; font-weight: 600; }
.checkout-page-configuration .configuration-bag-save p { margin-top: 5px !important; color: #6e6e73; font-size: 14px; line-height: 1.45; }
.checkout-page-configuration .configuration-bag-save .configuration-bag-link { margin-top: 10px; }
.checkout-page-configuration .configuration-bag-link {
  display: inline;
  padding: 0;
  border: 0;
  background: transparent;
  color: #06c;
  font: inherit;
  font-size: 15px;
  line-height: 1.4;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.checkout-page-configuration button.configuration-bag-link { display: inline-block; margin-top: 24px; }
.checkout-page-configuration button.configuration-bag-finance-link { margin-top: 30px; margin-bottom: 32px; }
.checkout-page-configuration .configuration-bag-link:hover { text-decoration: underline; }
.checkout-page-configuration .configuration-bag-link:focus-visible { outline: 3px solid #0071e3; outline-offset: 4px; }
.checkout-page-configuration .configuration-bag-plus { display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; border: 1px solid currentColor; border-radius: 50%; font-size: 15px; line-height: 1; vertical-align: 0; }
.checkout-page-configuration .configuration-bag-button { display: flex; width: 100%; min-height: 44px; margin: 36px 0; border-radius: 8px; font-size: 17px; font-weight: 400; }
.checkout-page-configuration .configuration-bag-benefits { display: grid; gap: 20px; font-size: 15px; }
.checkout-page-configuration .configuration-bag-benefits > div { display: flex; align-items: flex-start; gap: 12px; }
.checkout-page-configuration .configuration-bag-benefits .icon { width: 24px; height: 24px; flex-shrink: 0; }
.checkout-page-configuration .configuration-bag-benefits strong { font-weight: 600; }
.checkout-page-configuration .configuration-bag-availability .configuration-bag-link { margin-top: 1px; color: #06c; font-size: inherit; }
.checkout-page-configuration .configuration-bag-schedule { display: block !important; width: 100%; padding: 4px 0 8px 36px; }
.checkout-page-configuration .configuration-bag-schedule .summary-schedule-body { position: relative; top: auto; right: auto; bottom: auto; left: auto; z-index: auto; width: auto; max-height: none; padding: 16px; overflow: visible; border: 1px solid #d2d2d7; border-radius: 16px; background: #fff; box-shadow: none; }
.checkout-page-configuration .configuration-bag-schedule .summary-date-strip { grid-template-columns: repeat(5, minmax(0, 1fr)); padding-top: 0; overflow: visible; }
.checkout-page-configuration .configuration-bag-schedule .summary-date-chip { min-width: 0; }
.checkout-page-configuration .configuration-bag-schedule .summary-slots { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.checkout-page-configuration .configuration-bag-schedule .summary-slots button { min-height: 42px; font-size: 12px; }
.checkout-page-configuration .configuration-bag-help { margin-top: 28px; padding: 28px 0; border-block: 1px solid #d2d2d7; font-size: 15px; }
.checkout-page-configuration .configuration-bag-help h3 { margin: 0 0 4px; font-size: 15px; font-weight: 600; line-height: 1.4; }
.checkout-page-configuration .configuration-bag-help .configuration-bag-link { display: inline-block; margin-top: 8px; }
.checkout-page-configuration .configuration-bag-details .configuration-bag-footer { margin-top: 26px; font-size: 15px; }
@media (max-width: 900px) {
  .checkout-page-configuration .configuration-bag { padding: 48px 0; }
  .checkout-page-configuration .configuration-bag-inner { grid-template-columns: minmax(0, 1fr); gap: 36px; max-width: 540px; }
  .checkout-page-configuration .configuration-bag-image { height: 320px; margin-top: 36px; }
}
@media (max-width: 600px) {
  .checkout-page-configuration .configuration-bag { margin-top: 48px; padding: 32px 0; scroll-margin-top: calc(124px + env(safe-area-inset-top)); }
  .checkout-page-configuration .configuration-bag-inner { width: calc(100% - 48px); gap: 32px; }
  .checkout-page-configuration .configuration-bag h2 { font-size: 34px; }
  .checkout-page-configuration .configuration-bag-image { height: 260px; }
  .checkout-page-configuration .configuration-bag-description { font-size: 17px; }
  .checkout-page-configuration .configuration-bag-details .configuration-bag-price { font-size: 23px; }
  .checkout-page-configuration .configuration-bag-details .configuration-bag-finance-title { font-size: 17px; }
  .checkout-page-configuration .configuration-bag-details .configuration-bag-installment { font-size: 19px; }
  .checkout-page-configuration .configuration-bag-button { margin-top: 32px; }
  .checkout-page-configuration .configuration-bag-schedule { padding-left: 0; }
  .checkout-page-configuration .configuration-bag-schedule .summary-date-strip { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* Configuración: cabecera comercial integrada y selección profesional de producto. */
.apple-booking-zone {
  padding-top: 24px;
  padding-bottom: 50px;
}

.apple-booking-zone .back-to-showcase {
  margin-bottom: 6px;
}

/* Keep the configuration back control aligned with the compact storefront. */
.apple-booking-zone .store-back {
  margin: 0 24px;
}

.apple-booking-zone .booking-config-intro {
  width: min(calc(100% - 64px), 680px);
  margin: 0 auto;
  padding: 18px 0 38px;
}

.booking-product-proof {
  width: 100%;
  padding: 34px max(24px, calc((100vw - 920px) / 2)) 14px;
  border-top: 1px solid #dedede;
  background: #f5f5f7;
  color: #1d1d1f;
  text-align: center;
}

.booking-product-proof h2 {
  margin: 0;
  font-size: clamp(17px, 1.8vw, 22px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.02em;
}

.booking-product-proof h2 span,
.booking-product-proof h2 strong {
  display: block;
}

.booking-product-proof h2 strong {
  margin-top: 2px;
  font-weight: 780;
}

.booking-product-logos {
  width: min(100%, 760px);
  margin: 22px auto 12px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: center;
  gap: clamp(12px, 2vw, 24px);
}

.booking-product-logos > span {
  min-width: 0;
  height: 48px;
  display: grid;
  place-items: center;
  overflow: visible;
}

.booking-product-logos img {
  display: block;
  width: 88px;
  max-width: 100%;
  height: 40px;
  object-fit: contain;
  filter: grayscale(1) brightness(0);
}

.booking-product-logos > span:nth-child(2) img {
  width: 88px;
  max-width: 100%;
  height: 40px;
}

.booking-product-logos > span:nth-child(5) img {
  width: 88px;
  max-width: 100%;
  height: 40px;
  object-fit: cover;
  object-position: center;
}

.booking-product-logos .product-logo-koch {
  place-items: center;
  overflow: hidden;
}

.booking-product-logos .product-logo-koch img {
  width: 107px;
  max-width: none;
  height: 38px;
  object-position: left center;
  clip-path: inset(0 18% 0 0);
  transform: translateX(9.5px);
  filter: brightness(0) !important;
}

.booking-product-proof > p {
  margin: 0;
  color: #424245;
  font-size: 12px;
  line-height: 1.45;
}

.configuration-comparison-after-proof {
  width: 100%;
  background: #fff;
  color: #1d1d1f;
}

.configuration-comparison-after-proof .service-comparison-editorial {
  margin-top: 0;
  border-top: 0;
}

@media (max-width: 900px) {
  .apple-booking-zone .booking-config-intro {
    width: min(calc(100% - 64px), 540px);
  }
}

@media (max-width: 600px) {
  .apple-booking-zone {
    padding-top: 24px;
    padding-bottom: 28px;
  }

  .apple-booking-zone .back-to-showcase {
    margin: 0 24px 2px;
    padding-block: 6px;
  }

  .apple-booking-zone .store-back {
    margin-inline: 18px;
  }

  .apple-booking-zone .booking-config-intro {
    width: auto;
    margin: 0;
    padding: 12px 24px 30px !important;
  }

  .apple-booking-zone .booking-config-intro h2 {
    margin: 10px 0 16px;
    font-size: 32px;
  }

  .apple-booking-zone .booking-config-intro > p {
    font-size: 16px;
  }

  .apple-booking-zone .booking-config-intro > div {
    margin-top: 20px;
    gap: 8px;
  }

  .apple-booking-zone .booking-config-intro > div span {
    padding: 10px 12px;
    font-size: 9px;
  }

  .booking-product-proof {
    padding: 28px 18px 11px;
  }

  .booking-product-proof h2 {
    font-size: clamp(15px, 4.2vw, 18px);
  }

  .booking-product-logos {
    margin: 18px auto 11px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
  }

  .booking-product-logos > span {
    height: 38px;
  }

  .booking-product-logos img {
    width: 54px;
    max-width: 100%;
    height: 30px;
  }

  .booking-product-logos > span:nth-child(2) img {
    width: 54px;
    max-width: 100%;
    height: 30px;
  }

  .booking-product-logos > span:nth-child(5) img {
    width: 54px;
    max-width: 100%;
    height: 30px;
    object-fit: cover;
  }

  .booking-product-logos .product-logo-koch img {
    width: 66px;
    max-width: none;
    height: 30px;
    clip-path: inset(0 18% 0 0);
    transform: translateX(6px);
  }

  .booking-product-proof > p {
    font-size: 10px;
  }
}

/* En móvil, el título de la comparativa se conserva en una única línea. */
@media (max-width: 760px) {
  .service-comparison-editorial > h3 { max-width: none; font-size: clamp(22px, 6vw, 28px); white-space: nowrap; letter-spacing: -.055em; }
}

/* Portada: jerarquía editorial con tipografía nativa del dispositivo. */
.mateos-home .mateos-hero-copy h1,
.mateos-home .mateos-hero-copy p {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif !important;
  text-transform: none !important;
}

.mateos-home .mateos-hero-copy h1 {
  align-self: center !important;
  max-width: 780px !important;
  text-align: center !important;
  color: #1d1d1f !important;
  font-size: clamp(48px, 5.4vw, 76px) !important;
  font-weight: 700 !important;
  line-height: 1.04 !important;
  letter-spacing: -.055em !important;
  word-spacing: normal !important;
  white-space: normal !important;
}

.mateos-home .mateos-hero-copy p {
  align-self: center !important;
  max-width: 760px !important;
  margin: clamp(18px, 2.4vw, 34px) auto 0 !important;
  text-align: center !important;
  color: #6e6e73 !important;
  font-size: clamp(23px, 2.6vw, 36px) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -.035em !important;
}

.mateos-home .mateos-actions {
  margin-top: clamp(32px, 4vw, 52px) !important;
}

@media (max-width: 760px) {
  .mateos-home .mateos-hero-copy h1 {
    max-width: 350px !important;
    font-size: clamp(31px, 8.4vw, 38px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.045em !important;
  }

  .mateos-home .mateos-hero-copy p {
    max-width: 330px !important;
    margin-top: 11px !important;
    font-size: clamp(16px, 4.35vw, 19px) !important;
    line-height: 1.24 !important;
    letter-spacing: -.025em !important;
  }

  .mateos-home .mateos-actions {
    margin-top: 34px !important;
  }
}

@media (max-width: 370px) {
  .mateos-home .mateos-hero-copy h1 {
    font-size: 29px !important;
  }

  .mateos-home .mateos-hero-copy p {
    max-width: 300px !important;
    font-size: 15px !important;
  }
}

/* Mantén el mosaico de Complementos a sangre completa por encima del checkout heredado. */
.checkout-page-complements .checkout-complements-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #000 !important;
}

.checkout-page-complements .addons-premium-section {
  padding: 38px 0 64px !important;
  border-radius: 0 !important;
  background: #000 !important;
}

.checkout-page-complements .addons-premium-heading {
  width: min(calc(100% - 56px), 980px) !important;
  margin: 0 auto 20px !important;
  padding: 0 !important;
  border: 0 !important;
}

.checkout-page-complements .addons-carousel {
  width: min(calc(100% - 56px), 980px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.checkout-page-complements .addon-showcase-card {
  min-height: 0 !important;
  aspect-ratio: .78;
  border-color: #303033 !important;
  background: #171719 !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-content,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-content {
  color: #fff !important;
  background: transparent !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-content h4,
.checkout-page-complements .addon-showcase-card .addon-card-cta,
.checkout-page-complements .addon-showcase-card.selected .addon-card-cta,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-cta,
.checkout-page-complements .addon-showcase-card.selected.has-media .addon-card-cta {
  color: #fff !important;
}

@media (max-width: 760px) {
  .checkout-page-complements .addons-premium-section {
    padding: 30px 0 46px !important;
  }

  .checkout-page-complements .addons-premium-heading,
  .checkout-page-complements .addons-carousel,
  .checkout-page-complements .checkout-page-actions {
    width: calc(100% - 56px) !important;
  }

  .checkout-page-complements .addons-carousel {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
  }
}

.checkout-page-complements .addons-premium-heading > span {
  color: #d0ad78 !important;
  font-size: 11px !important;
  letter-spacing: .17em !important;
}

.checkout-page-complements .addons-premium-heading h3 {
  color: #fff !important;
  font-size: clamp(30px, 4vw, 46px) !important;
}

.checkout-page-complements .addons-premium-heading p {
  color: #909094 !important;
  font-size: 16px !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-visual {
  background:
    radial-gradient(circle at 72% 18%, rgba(0,113,227,.48), transparent 38%),
    linear-gradient(145deg, #202126, #080809 72%) !important;
  color: transparent !important;
  font-size: 0 !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-visual::after,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-visual::after {
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(0,0,0,.02) 32%, rgba(0,0,0,.24) 58%, rgba(0,0,0,.93) 100%) !important;
  opacity: 1 !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-index {
  color: #fff !important;
  font-size: 10px !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-content h4 {
  font-size: clamp(18px, 2.25vw, 25px) !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-short {
  display: none !important;
}

.checkout-page-complements .addon-showcase-card .addon-variant-label {
  color: #fff !important;
}

.checkout-page-complements .addon-showcase-card .addon-variant-select {
  border-color: rgba(255,255,255,.48) !important;
  background: rgba(12,12,14,.74) !important;
  color: #fff !important;
}

@media (max-width: 760px) {
  .checkout-page-complements .addons-premium-heading h3 {
    font-size: 29px !important;
  }

  .checkout-page-complements .addons-premium-heading p {
    font-size: 15px !important;
  }

  .checkout-page-complements .addon-showcase-card .addon-card-content h4 {
    font-size: clamp(17px, 5vw, 22px) !important;
  }
}

/* Complementos · corrección final: fondo claro, tarjetas completas y vídeo reencuadrado. */
.checkout-page-complements,
.checkout-page-complements .checkout-complements-content,
.checkout-page-complements .addons-premium-section {
  background: #fff !important;
}

.checkout-page-complements .addons-premium-section {
  padding-top: 58px !important;
  color: #1d1d1f !important;
}

.checkout-page-complements .addons-premium-heading > span {
  color: var(--blue) !important;
}

.checkout-page-complements .addons-premium-heading h3 {
  color: #1d1d1f !important;
}

.checkout-page-complements .addons-premium-heading p {
  color: #6e6e73 !important;
}

.checkout-page-complements .addon-showcase-card {
  aspect-ratio: .72 !important;
  border-color: #d2d2d7 !important;
  background: #f5f5f7 !important;
}

.checkout-page-complements .addon-showcase-card.awaiting-media .addon-card-visual {
  background:
    radial-gradient(circle at 75% 18%, rgba(0,113,227,.19), transparent 40%),
    linear-gradient(145deg, #fff, #e9edf3 78%) !important;
}

.checkout-page-complements .addon-showcase-card.awaiting-media .addon-card-visual::after {
  background: linear-gradient(180deg, transparent 42%, rgba(255,255,255,.55) 62%, #fff 100%) !important;
}

.checkout-page-complements .addon-showcase-card.awaiting-media .addon-card-content,
.checkout-page-complements .addon-showcase-card.awaiting-media .addon-card-content h4,
.checkout-page-complements .addon-showcase-card.awaiting-media .addon-card-index,
.checkout-page-complements .addon-showcase-card.awaiting-media .addon-card-cta {
  color: #1d1d1f !important;
}

.checkout-page-complements .addon-showcase-card.has-media .addon-card-visual video {
  transform: scale(1.12);
  transform-origin: center;
}

.checkout-page-complements .addon-showcase-card[data-addon-card='ag-hygienizer'] .addon-card-visual video {
  transform: scale(1.2);
  object-position: center 42%;
}

.checkout-page-complements .addon-showcase-card[data-addon-card='ag-hygienizer'] .addon-card-visual::after {
  background: linear-gradient(180deg, rgba(0,0,0,.02) 30%, rgba(0,0,0,.22) 47%, rgba(0,0,0,.96) 72%, #000 100%) !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-content h4 {
  overflow-wrap: anywhere;
  hyphens: auto;
}

.checkout-page-complements .addon-showcase-card .addon-variant-select {
  max-width: 100%;
  text-overflow: ellipsis;
}

@media (max-width: 760px) {
  .checkout-page-complements .addons-premium-section {
    padding-top: 64px !important;
    padding-bottom: 58px !important;
  }

  .checkout-page-complements .addon-showcase-card {
    aspect-ratio: .69 !important;
  }

  .checkout-page-complements .addon-showcase-card .addon-card-content,
  .checkout-page-complements .addon-showcase-card.has-media .addon-card-content {
    padding: 12px !important;
  }

  .checkout-page-complements .addon-showcase-card .addon-card-content h4 {
    font-size: clamp(16px, 4.55vw, 20px) !important;
    line-height: 1.06 !important;
  }
}

@media (max-width: 370px) {
  .checkout-page-complements .addons-carousel {
    gap: 9px !important;
  }

  .checkout-page-complements .addon-showcase-card .addon-card-content h4 {
    font-size: 15px !important;
  }
}

/* Prioridad final · vídeo de fondo y texto superpuesto. */
.checkout-page-complements .addon-showcase-card {
  position: relative !important;
  display: flex !important;
  min-height: 0 !important;
  aspect-ratio: .72 !important;
  overflow: hidden !important;
  background: #111 !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-visual {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  background: #111 !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-visual::after,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-visual::after {
  content: '' !important;
  position: absolute !important;
  display: block !important;
  inset: 0 !important;
  background: linear-gradient(180deg, transparent 42%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.92) 100%) !important;
  opacity: 1 !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-content,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-content {
  position: absolute !important;
  inset: auto 0 0 !important;
  z-index: 2 !important;
  min-height: 0 !important;
  padding: 14px !important;
  justify-content: flex-end !important;
  background: transparent !important;
  color: #fff !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-index,
.checkout-page-complements .addon-showcase-card .addon-card-content h4,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-content h4,
.checkout-page-complements .addon-showcase-card .addon-card-cta,
.checkout-page-complements .addon-showcase-card.selected .addon-card-cta,
.checkout-page-complements .addon-showcase-card.has-media .addon-card-cta,
.checkout-page-complements .addon-showcase-card.selected.has-media .addon-card-cta {
  color: #fff !important;
}

.checkout-page-complements .addon-showcase-card .addon-card-footer {
  margin-top: 9px !important;
  padding-top: 0 !important;
}

.checkout-page-complements .addon-showcase-card[data-addon-card='fabric-mats'] .addon-card-visual video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
}

.checkout-page-complements .addon-showcase-card[data-addon-card='ag-hygienizer'] .addon-card-visual video {
  width: 100% !important;
  height: 138% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

@media (max-width: 760px) {
  .checkout-page-complements .addon-showcase-card {
    aspect-ratio: .69 !important;
  }

  .checkout-page-complements .addon-showcase-card .addon-card-content,
  .checkout-page-complements .addon-showcase-card.has-media .addon-card-content {
    padding: 12px !important;
  }
}

/* Prioridad final · personalización uniforme y bloque de marcas cromático. */
.apple-booking-config .selected-line-section .cloned-service-selects,
.apple-booking-config .selected-line-section .cloned-service-options {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
}

.apple-booking-config .selected-line-section .cloned-service-selects .field {
  display: grid !important;
  gap: 14px !important;
  margin: 0 !important;
}

.apple-booking-config .selected-line-section .cloned-service-choice {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 56px !important;
  padding: 0 18px !important;
  border: 1px solid #86868b !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #1d1d1f !important;
  box-shadow: none !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-align: left !important;
  transform: none !important;
}

.apple-booking-config .selected-line-section .cloned-service-choice:hover {
  border-color: #5f6368 !important;
  transform: none !important;
}

.apple-booking-config .selected-line-section .cloned-service-choice.selected,
.apple-booking-config .selected-line-section .cloned-service-choice:focus-visible {
  border: 1px solid #0071e3 !important;
  background: #fff !important;
  color: #1d1d1f !important;
  box-shadow: 0 0 0 3px rgba(0, 113, 227, .12) !important;
  outline: 0 !important;
}

.booking-product-proof {
  border-top-color: rgba(255, 255, 255, .28) !important;
  background:
    radial-gradient(circle at 10% 18%, rgba(75, 124, 255, .96) 0, rgba(75, 124, 255, 0) 43%),
    radial-gradient(circle at 47% 8%, rgba(128, 72, 210, .94) 0, rgba(128, 72, 210, 0) 46%),
    radial-gradient(circle at 96% 64%, rgba(255, 156, 74, .96) 0, rgba(255, 156, 74, 0) 48%),
    linear-gradient(118deg, #192c70 0%, #4a3185 47%, #d66b55 100%) !important;
  color: #fff !important;
}

.booking-product-proof h2,
.booking-product-proof > p {
  color: #fff !important;
  text-shadow: 0 1px 18px rgba(14, 12, 40, .3);
}

.booking-product-logos {
  padding: 11px 14px !important;
  gap: 0 !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  border-radius: 18px !important;
  background: rgba(18, 18, 34, .14) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

.booking-product-logos img {
  filter: brightness(0) invert(1) !important;
}

.booking-product-logos > span:nth-child(2) img {
  width: 104px !important;
  filter: brightness(0) saturate(100%) invert(16%) sepia(92%) saturate(4550%) hue-rotate(352deg) brightness(94%) contrast(105%) !important;
}

.booking-product-logos .product-logo-koch img {
  width: 120px !important;
  height: 40px !important;
  clip-path: inset(0 18% 0 0) !important;
  transform: translateX(10px) !important;
  filter: brightness(0) invert(1) !important;
}

@media (max-width: 600px) {
  .booking-product-proof { padding-inline: 18px !important; }
  .booking-product-logos { padding: 8px 7px !important; gap: 4px !important; border-radius: 14px !important; }
  .booking-product-logos > span:nth-child(2) img { width: 63px !important; }
  .booking-product-logos .product-logo-koch img { width: 76px !important; height: 30px !important; transform: translateX(7px) !important; }
}

.booking-product-logos .product-logo-menzerna img,
.booking-product-logos .product-logo-koch img {
  display: none !important;
}

.booking-product-logos .product-logo-menzerna {
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1;
  text-transform: lowercase;
}

.booking-product-logos .product-logo-menzerna b {
  font: inherit;
}

.booking-product-logos .product-logo-koch {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  overflow: visible;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 780;
  letter-spacing: -.07em;
  line-height: 1;
  white-space: nowrap;
}

.booking-product-logos > span {
  height: 36px !important;
  align-self: center;
}

.booking-product-logos > span > img {
  width: 70px !important;
  height: 28px !important;
  object-fit: contain !important;
}

.booking-product-logos > span:nth-child(4) > img {
  width: 30px !important;
  height: 30px !important;
}

.booking-product-logos .product-logo-koch b,
.booking-product-logos .product-logo-koch strong {
  font: inherit;
}

.booking-product-logos .product-logo-koch b { color: #fff; }
.booking-product-logos .product-logo-koch strong { color: #fff; }
.booking-product-logos .product-logo-koch sup {
  margin-left: 2px;
  color: #fff;
  font-size: 7px;
  line-height: 1;
}

@media (max-width: 600px) {
  .booking-product-logos .product-logo-menzerna { font-size: 10px; }
  .booking-product-logos .product-logo-koch { font-size: 10px; }
  .booking-product-logos .product-logo-koch sup { font-size: 5px; }
}

/* Todos los controles seleccionables comparten el mismo azul y halo. */
.apple-booking-config .booking-place-card.selected {
  border: 1px solid #0071e3 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(0, 113, 227, .12) !important;
}

.apple-booking-config .booking-place-card.selected > .icon,
.apple-booking-config .booking-place-card.selected strong {
  color: #0071e3 !important;
}

.upholstery-disclosure-trigger {
  justify-content: space-between !important;
}

.upholstery-disclosure-chevron {
  margin-left: auto;
  color: #6e6e73;
  font-size: 22px;
  line-height: 1;
  transition: transform .2s ease;
}

.upholstery-disclosure-trigger[aria-expanded='true'] .upholstery-disclosure-chevron {
  transform: rotate(180deg);
}

/* Un único componente para regresar desde Privilege, Descubrir y Configuración. */
.mateos-return {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start;
  gap: 6px !important;
  min-height: 32px;
  padding: 4px 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  color: #0071e3 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-decoration: none;
  opacity: 1 !important;
  cursor: pointer;
  white-space: nowrap;
}

.mateos-return .icon {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px;
}

.mateos-return:hover { color: #0077ed !important; }

.mateos-return:focus-visible {
  outline: 2px solid #0071e3 !important;
  outline-offset: 3px;
}

.apple-booking-config .summary-date-chip.active,
.apple-booking-config .summary-slots button.selected {
  border-color: #0071e3 !important;
  background: #0071e3 !important;
  color: #fff !important;
}

.apple-booking-config .selected-line-section .service-choice-select,
.apple-booking-config .selected-line-section .cloned-service-selects,
.apple-booking-config .selected-line-section .cloned-service-selects .field,
.apple-booking-config .selected-line-section .cloned-service-options {
  gap: 14px !important;
  margin-bottom: 0 !important;
}

.apple-booking-config .selected-line-section .service-choice-select + .cloned-service-selects {
  margin-top: 14px !important;
}

.apple-booking-config .selected-line-section .service-choice-static {
  min-height: 56px !important;
}

.checkout-page-complements .addons-premium-heading {
  max-width: 820px !important;
  margin-bottom: 34px !important;
  text-align: left !important;
}

.checkout-page-complements .addons-premium-heading > span {
  display: block !important;
  margin-bottom: 10px !important;
  color: #0071e3 !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: .16em !important;
}

.checkout-page-complements .addons-premium-heading h3 {
  max-width: 680px;
  color: #1d1d1f !important;
  font-size: clamp(30px, 4vw, 52px) !important;
  font-weight: 650 !important;
  letter-spacing: -.045em !important;
}

.checkout-page-complements .addons-premium-heading p {
  margin-top: 14px !important;
  color: #6e6e73 !important;
  font-size: 18px !important;
}

.checkout-page-complements .addons-premium-heading p strong {
  color: #424245;
  font-weight: 600;
}

.checkout-page-complements .booking-product-proof {
  margin-top: 64px;
}

.booking-product-logos {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  column-gap: 0 !important;
  justify-items: center;
  padding: 16px 22px !important;
}

.booking-product-logos > span {
  width: 100% !important;
  height: 44px !important;
}

.booking-product-logos > span > img {
  width: 86px !important;
  height: 36px !important;
}

.booking-product-logos > span:nth-child(4) > img {
  width: 42px !important;
  height: 42px !important;
}

.booking-product-logos > span:nth-child(5) > img {
  width: 86px !important;
  height: 36px !important;
  object-fit: contain !important;
}

.booking-product-logos .product-logo-menzerna,
.booking-product-logos .product-logo-koch {
  width: 86px !important;
  max-width: 100%;
  font-size: 20px !important;
  line-height: 1 !important;
}

/* Los aliados comparten un único formato visual, no solo la misma cuadrícula. */
.booking-product-logos > span > img,
.booking-product-logos > span:nth-child(4) > img,
.booking-product-logos > span:nth-child(5) > img {
  width: 86px !important;
  height: 36px !important;
  object-fit: contain !important;
}

.booking-product-logos > span:nth-child(5) > img {
  width: 104px !important;
  height: 22px !important;
  object-fit: cover !important;
  object-position: center !important;
}

.checkout-page-complements .addons-premium-heading-spacious {
  display: block;
  min-height: 0;
}

.checkout-page-complements .addons-premium-heading-spacer {
  height: clamp(48px, 6vw, 68px);
}

.checkout-page-complements .addons-premium-heading-spacious > p {
  margin-top: 0 !important;
}

.checkout-page-configuration .configuration-bag-inner {
  align-items: start;
  gap: 52px;
}

.checkout-page-configuration .configuration-bag-image {
  height: 340px;
  margin-top: 28px;
}

.checkout-page-configuration .configuration-bag-details .configuration-bag-finance-title {
  margin-top: 16px;
}

.checkout-page-configuration .configuration-bag-details .configuration-bag-price {
  margin-top: 14px;
}

.checkout-page-configuration .configuration-bag-details .configuration-bag-installment {
  margin-top: 8px;
}

.checkout-page-configuration .configuration-bag-vat {
  color: #424245 !important;
}

.line-discovery-comparison {
  padding: 72px clamp(24px, 6vw, 88px);
  background: #1d1d1f;
  color: #f5f5f7;
}

.line-discovery-comparison > span {
  color: #2997ff;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .16em;
}

.line-discovery-comparison > h3 {
  margin: 12px 0 0;
  font-size: clamp(34px, 5vw, 64px);
  line-height: 1;
  letter-spacing: -.05em;
}

.line-discovery-comparison > p {
  max-width: 560px;
  margin: 20px 0 38px;
  color: #a1a1a6;
  font-size: 17px;
  line-height: 1.45;
}

.line-discovery-comparison > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.line-discovery-comparison-card {
  min-width: 0;
  padding: 26px;
  border: 1px solid #3a3a3c;
  border-radius: 24px;
  background: #000;
}

.line-discovery-comparison-card.featured {
  border-color: #2997ff;
  box-shadow: 0 0 0 1px #2997ff;
}

.line-discovery-comparison-card small,
.line-discovery-comparison-card h4,
.line-discovery-comparison-card p,
.line-discovery-comparison-card strong {
  display: block;
}

.line-discovery-comparison-card small { color: #86868b; }
.line-discovery-comparison-card h4 { margin: 10px 0; font-size: 22px; }
.line-discovery-comparison-card p { min-height: 66px; margin: 0 0 18px; color: #a1a1a6; line-height: 1.4; }
.line-discovery-comparison-card strong { font-size: 18px; }
.line-discovery-comparison-card button {
  margin-top: 22px;
  padding: 9px 16px;
  border: 0;
  border-radius: 999px;
  background: #0071e3;
  color: #fff;
  font: inherit;
  cursor: pointer;
}

@media (max-width: 760px) {
  .checkout-page-complements .addons-premium-heading { margin-bottom: 26px !important; }
  .checkout-page-complements .addons-premium-heading h3 { font-size: 30px !important; }
  .checkout-page-complements .addons-premium-heading p { font-size: 16px !important; }
  .checkout-page-complements .booking-product-proof { margin-top: 44px; }
  .booking-product-logos { column-gap: 0 !important; padding: 10px 8px !important; }
  .booking-product-logos > span { height: 36px !important; }
  .booking-product-logos > span > img,
  .booking-product-logos > span:nth-child(4) > img,
  .booking-product-logos > span:nth-child(5) > img { width: 58px !important; height: 30px !important; }
  .booking-product-logos .product-logo-menzerna,
  .booking-product-logos .product-logo-koch { width: 58px !important; font-size: 14px !important; }
  .booking-product-logos > span:nth-child(5) > img { width: 66px !important; height: 14px !important; }
  .checkout-page-complements .addons-premium-heading-spacer { height: 48px; }
  .checkout-page-configuration .configuration-bag-inner { gap: 18px; }
  .checkout-page-configuration .configuration-bag-image { height: 245px; margin-top: 22px; }
  .line-discovery-comparison { padding: 52px 22px; }
  .line-discovery-comparison > div { grid-template-columns: 1fr; }
  .line-discovery-comparison-card p { min-height: 0; }
}

/* Complementos · una única estructura editorial y descubrimiento progresivo. */
.checkout-page-complements .addon-showcase-card .addon-card-index {
  display: none !important;
}

.checkout-page-complements .addon-showcase-card .addon-price-pill {
  width: 100%;
  min-height: 38px;
  margin-top: 12px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 999px;
  background: rgba(12, 12, 14, .74);
  color: #fff;
  font-size: 13px;
  font-weight: 650;
}

.checkout-page-complements .addon-showcase-card .addon-variant-select {
  border-radius: 999px !important;
}

.checkout-page-complements .addon-benefits {
  margin-top: 10px;
  color: #fff;
}

.checkout-page-complements .addon-benefits p {
  margin: 0 0 10px;
  color: rgba(255, 255, 255, .82);
  font-size: 12px;
  line-height: 1.35;
}

.checkout-page-complements .addon-add-button {
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 999px;
  background: rgba(0, 113, 227, .94);
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.checkout-page-complements .addon-showcase-card.selected .addon-add-button {
  background: #fff;
  color: #0071e3;
}

/* Marcas · cinco columnas idénticas con separación óptica constante. */
.booking-product-logos {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  column-gap: clamp(12px, 2.4vw, 24px) !important;
  padding-inline: clamp(14px, 2.4vw, 24px) !important;
}

.booking-product-logos > span {
  width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
}

@media (max-width: 760px) {
  .checkout-page-complements .addon-benefits p { font-size: 11px; }
  .booking-product-logos {
    column-gap: 8px !important;
    padding-inline: 10px !important;
  }
  .booking-product-logos > span > img,
  .booking-product-logos .product-logo-menzerna,
  .booking-product-logos .product-logo-koch {
    max-width: 100% !important;
  }
}
