/* Tipografía común de acciones, incluidos los enlaces con aspecto de botón.
   Los tamaños y las áreas de pulsación siguen definidos en cada componente. */
body :is(button, .contact-action, .hero-demo-link, .hero-demo-btn,
  .machine-modal__official, .wizard-option-title, .bottom-bar .whatsapp-label) {
  font-family: var(--font-body);
  font-style: normal;
  font-weight: 500;
}

[hidden] { display: none !important; }
.c360-hero__cta-arrow{font-size:1.45em;font-weight:300;line-height:1;transform:translateY(-.02em)}
.consent-option { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0 10px; text-align: left; font-size: 14px; line-height: 1.5; color: var(--coffee, #2b1f18); }
.consent-option input { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 1px; accent-color: var(--gold-dark, #b79254); }
.privacy-note { font-size: 13px; line-height: 1.5; }
.wizard-select { width: 100%; min-width: 0; min-height: 48px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; color: var(--coffee); background: var(--white); font: inherit; font-size: 16px; }
.wizard-number-control:has(.wizard-select) { display: block; }
.hero-demo-link { display: flex; clear:both; align-items: center; justify-content:center; width: fit-content; min-height: 44px; margin: 8px 0 0; padding: 10px 14px; color: var(--coffee); border:1px solid rgba(43,31,24,.18); border-radius:999px; background:rgba(255,255,255,.94); font-size: clamp(.875rem, 1.1vw, 1rem); font-weight: 600; text-decoration:none; }
.hero-demo-link:hover{background:#fff;border-color:rgba(43,31,24,.30)}
.hero-demo-link:focus-visible { outline: 3px solid var(--gold-text); outline-offset: 3px; }
.selection-value { max-width: 620px; margin: -4px auto 20px; padding-inline: 8px; font-size: 15px; line-height: 1.5; color: var(--coffee-soft, #6d5b4d); text-align: center; }
.testimonial__metric { margin: 0 0 14px; color: var(--gold-text, #76531f); font-weight: 800; font-size: clamp(1rem, 1.5vw, 1.3rem); line-height: 1.3; }

/* Jerarquía tipográfica de los testimonios de Eventos. */
body[data-initial-mode="eventos"] .testimonial__metric {
  text-transform: uppercase;
  letter-spacing: .08em;
  font-family: var(--font-body);
  font-size: clamp(.875rem, 1.15vw, 1rem);
  font-weight: 500;
}
body[data-initial-mode="eventos"] .testimonial__quote {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 300;
  font-style: italic;
  text-transform: none;
  letter-spacing: normal;
  line-height: 1.6;
}
body[data-initial-mode="eventos"] .testimonial__author {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 400;
  font-style: normal;
  text-transform: none;
  letter-spacing: normal;
}
@media (max-width: 1199px) {
  body[data-initial-mode="eventos"] .testimonial__quote { font-size: 14px; }
}

/* Beneficios de Eventos con la misma jerarquía ligera de los testimonios. */
body[data-initial-mode="eventos"] .included-section .benefit-content h3 {
  color: var(--gold-text, #8a6b3d);
  font-family: var(--font-body);
  font-size: clamp(.875rem, 1.15vw, 1rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body[data-initial-mode="eventos"] .included-section .benefit-content p {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 300;
  font-style: normal;
  line-height: 1.6;
  letter-spacing: normal;
  text-transform: none;
}
body[data-initial-mode="eventos"] .included-section .benefit-icon {
  color: #995943;
  background: #f2dfd9;
  border-color: #e6c4ba;
}
body[data-initial-mode="eventos"] .included-section .benefit-icon svg {
  width: 26px;
  height: 26px;
  stroke-width: 1.5;
}
@media (max-width: 1199px) {
  body[data-initial-mode="eventos"] .included-section .benefit-content p { font-size: 14px; }
}

.quote-machine { min-width: 0; }
.quote-machine > h2 { margin: 8px 0 14px; font-size: 25px; }
.quote-machine > img { max-height: 230px; width: 100%; object-fit: contain; margin: 12px auto; }
.coffee-comparison { text-align: left; margin-top: 18px; }
.coffee-option { border-top: 1px solid var(--line); padding: 15px 0; }
.coffee-option h3 { margin: 0 0 8px; font-size: 18px; }
.coffee-option p { margin: 6px 0; font-size: 14px; line-height: 1.5; }
.coffee-option .coffee-monthly { font-size: 19px; font-weight: 700; overflow-wrap: anywhere; }
.coffee-monthly small { display: block; font-size: 12px; font-weight: 400; }
.quote-assumptions { text-align: left; font-size: 13px; line-height: 1.6; margin: 20px auto; max-width: 900px; }
.quote-machine .desc { min-height: 0; }
.contact-form .form-success { margin-top: 20px; }
@media (max-width: 540px) { .selection-title { font-size: clamp(1.35rem, 5.5vw, 1.8rem); } .selection-value { font-size: 14px; margin-bottom: 14px; } }
/* Marcas: tres columnas en escritorio; fichas horizontales en móvil y tableta. */
.coffee-brands-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.coffee-brand-card{display:flex;flex-direction:column;justify-content:flex-start;height:auto;padding:24px}
.coffee-brand-card img{height:120px;object-fit:contain}
.coffee-brand-card p{font-size:14px;line-height:1.6;text-align:center;margin:20px 0 0;color:var(--coffee-soft)}
body[data-initial-mode] .coffee-brands-grid + .coffee-brands-section__intro{margin-top:24px;margin-bottom:0;font-size:15px;line-height:1.6}
@media(max-width:1199px){
  .coffee-brands-grid{grid-template-columns:1fr}
  .coffee-brand-card{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:16px;min-height:112px;padding:16px;text-align:left}
  body[data-initial-mode] .coffee-brand-card img{width:80px;max-width:80px;height:80px}
  .coffee-brand-card p{margin:0;text-align:left;line-height:1.5}
}

/* Complementos del servicio de eventos. */
.event-extras{max-width:1120px;margin-inline:auto}
.event-extras__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;text-align:left}
.event-extras__item{display:flex;align-items:flex-start;gap:18px;padding:28px;background:#fffdf9;border:1px solid #e9decd;border-radius:20px}
.event-extras__icon{flex:0 0 36px;width:36px;height:36px;color:#795823}
.event-extras__item h3{margin:0 0 10px;font-size:20px;line-height:1.3;color:var(--coffee)}
.event-extras__item p{margin:0;color:var(--coffee-soft);font-size:15px;line-height:1.6}
.event-extras__item ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:18px 0 0;padding:0}
.event-extras__item li{padding:6px 10px;border-radius:8px;background:#f3ecdf;font-size:13px;line-height:1.5;color:var(--coffee)}
.event-extras__note{max-width:720px;margin:22px auto 0;color:var(--coffee-soft);font-size:14px;line-height:1.6;text-align:center}
@media(min-width:1200px){body[data-initial-mode="eventos"] .machines-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}body[data-initial-mode="eventos"] .machine-card{height:100%}}

/* Escala común por altura de fabricante (mm), compensando el margen de cada foto.
   Brio Up toma como referencia los 760 mm del modelo base Brio Up. */
body[data-initial-mode="eventos"] .machine-media {
  --machine-reference-height: 100px;
}
body[data-initial-mode="eventos"] .machine-media img {
  --machine-image-scale: 1;
  --machine-subject-height: calc(var(--machine-reference-height) * var(--machine-height-mm, 760) / 760);
  position: relative;
  top: calc((var(--machine-reference-height) - var(--machine-subject-height)) / 2 + var(--machine-subject-height) * var(--machine-center-offset, 0));
  flex: none;
  width: auto;
  max-width: none;
  height: calc(var(--machine-subject-height) * var(--machine-canvas-factor, 1));
  mix-blend-mode: multiply;
}
body[data-initial-mode="eventos"] .machine-media img[src$="/royal-otc.png"] {
  --machine-height-mm: 398;
  --machine-canvas-factor: 1.938;
  --machine-center-offset: -.02713;
}
body[data-initial-mode="eventos"] .machine-media img[src$="/koro-prime.webp"] {
  --machine-height-mm: 550;
  --machine-canvas-factor: 1.356;
  --machine-center-offset: -.01864;
}
body[data-initial-mode="eventos"] .machine-media img[src$="/brio-up-eventos-frontal.webp"] {
  --machine-height-mm: 760;
  --machine-canvas-factor: 1.0063;
  --machine-center-offset: -.00314;
}
body[data-initial-mode="eventos"] .machine-media img[src$="/kometa.png"] {
  --machine-height-mm: 629;
  --machine-canvas-factor: 1.3966;
  --machine-center-offset: -.00279;
}
body[data-initial-mode="eventos"] .machine-card:hover .machine-media img,
body[data-initial-mode="eventos"] .machine-card:focus-visible .machine-media img {
  transform: none;
}
@media (min-width: 1200px) {
  body[data-initial-mode="eventos"] .machine-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  body[data-initial-mode="eventos"] .machine-media {
    --machine-reference-height: 180px;
    flex: none;
  }
  body[data-initial-mode="eventos"] .machine-card__action {
    align-self: center;
    margin-top: auto;
  }
}

@media(max-width:1199px){
  .event-extras__grid{grid-template-columns:1fr;gap:12px}
  .event-extras__item{padding:20px;gap:14px}
  .event-extras__icon{flex-basis:30px;width:30px;height:30px}
  .event-extras__item h3{font-size:18px}
}

.event-extras__water{margin-top:20px;padding:22px 24px;border-left:3px solid #b79254;border-radius:0 12px 12px 0;background:#f3ecdf;text-align:left}
.event-extras__water h3{margin:0 0 10px;font-size:18px;line-height:1.4;color:var(--coffee)}
.event-extras__water p{margin:8px 0 0;font-size:15px;line-height:1.6;color:var(--coffee-soft)}

/* La franja dentro de confianza usa el eje del contenedor, sin desplazamiento de ancho completo. */
body[data-initial-mode] .trust-section > .clients-strip-full{
  left:auto;
  width:100%;
  max-width:1200px;
  margin-inline:auto;
  transform:none;
}

.event-extras__item .event-extras__availability{margin-top:16px;font-size:13px;line-height:1.6}
.event-extras__item--supplies{grid-column:1 / -1}

.machine-heading{display:block;min-width:0}
.machine-heading .machine-name{display:block}
body[data-initial-mode="eventos"] .machine-card .machine-name{
  font-family:var(--font-body);
  font-size:clamp(15px,1.1vw,16px);
  font-weight:600;
  line-height:1.3;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body[data-initial-mode="eventos"] .machine-comparison-image img{
  mix-blend-mode:multiply;
}

/* Títulos de Eventos con la tipografía espaciada de «Conoce más». */
body[data-initial-mode="eventos"] .section h2.section-label-title{
  width:100%;
  max-width:900px;
  margin:0 auto 20px;
  color:var(--navy);
  font-family:var(--font-body);
  font-size:clamp(.875rem,1.15vw,1rem);
  font-weight:500;
  line-height:1.6;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
  text-wrap:balance;
}

/* Catálogo más próximo al hero y al título. */
body[data-initial-mode="eventos"] .machines-section{padding-top:24px}
body[data-initial-mode="eventos"] .machines-section > h2.section-label-title{margin-bottom:14px}
body[data-initial-mode="eventos"] .machines-section .machines-strip{margin-top:0}

/* Ritmo compacto de Eventos: mismo aire al entrar y salir de cada sección. */
body[data-initial-mode="eventos"]{--section-vertical-space:24px}
body[data-initial-mode="eventos"] .event-extras{padding-top:24px;padding-bottom:24px}
body[data-initial-mode="eventos"] .included-section__header{margin-bottom:20px}

/* Marcas de café en Eventos: composición abierta sobre blanco. */
body[data-initial-mode="eventos"] .coffee-brands-section{background:#fff}
body[data-initial-mode="eventos"] .coffee-brand-card{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:12px;
  min-height:0;
}
@media(max-width:1199px){
  body[data-initial-mode="eventos"] .coffee-brand-card{padding:8px 0}
}

/* Fondo continuo con la selección de café. */
body[data-initial-mode="eventos"] .event-extras{
  max-width:none;
  padding-inline:var(--section-inline-space);
  background:#faf6f0;
  border-block:1px solid rgba(183,146,84,.16);
}
body[data-initial-mode="eventos"] #complementos{scroll-margin-top:48px}
body[data-initial-mode="eventos"] .event-extras__grid{max-width:1120px;margin-inline:auto}

/* Información ampliada del café, disponible desde cada marca. */
.coffee-brand-info{min-width:0}
body[data-initial-mode="eventos"] .coffee-brand-card .coffee-brand-caption{font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;line-height:1.6}
.coffee-brand-more{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:6px;padding:8px 12px;border:0;background:transparent;color:#795823;font:600 14px/1.4 var(--font-body);text-decoration:none;cursor:pointer}
.coffee-brand-more:focus-visible,.coffee-details-close:focus-visible{outline:2px solid #795823;outline-offset:3px}
.coffee-details-modal{width:min(720px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:20px;background:#fff;color:var(--coffee);box-shadow:0 20px 80px #0003;overflow:hidden}
.coffee-details-modal[open]{display:flex;flex-direction:column}
.coffee-details-modal::backdrop{background:rgba(27,24,20,.55)}
.coffee-details-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid #e9decd;flex-shrink:0}
.coffee-details-header h2{margin:0;font:700 24px/1.3 var(--font-heading)}
.coffee-details-close{flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;color:var(--coffee);font:400 28px/1 var(--font-body);cursor:pointer}
.machine-modal__close,
.coffee-details-close,
.precotizar-close{
  appearance:none;
  display:grid;
  flex:0 0 44px;
  width:44px;
  height:44px;
  place-items:center;
  padding:0;
  border:0;
  border-radius:0;
  color:var(--coffee);
  background:transparent;
  box-shadow:none;
  font:400 28px/1 var(--font-body);
  cursor:pointer;
}
.machine-modal__close:hover,
.coffee-details-close:hover,
.precotizar-close:hover{
  color:#795823;
  background:transparent;
}
.machine-modal__close:focus-visible,
.coffee-details-close:focus-visible,
.precotizar-close:focus-visible{
  color:#795823;
  outline:2px solid #795823;
  outline-offset:3px;
}
.coffee-details-content{padding:24px;overflow:auto;overscroll-behavior:contain;min-height:0;font-size:16px;line-height:1.6}
.coffee-details-logo{display:block;width:160px;height:120px;object-fit:contain;margin:0 auto 24px}
.coffee-details-content p{margin:0 0 18px}
.coffee-details-options section{padding:20px 0;border-top:1px solid #e9decd}
.coffee-details-options h3{margin:0 0 6px;font-size:20px;line-height:1.3}
.coffee-details-options .coffee-details-profile{color:#795823;font-weight:600;margin-bottom:10px}
.coffee-details-options section p:last-child{margin-bottom:0}
.coffee-details-content .coffee-details-note{margin:0;padding-top:18px;border-top:1px solid #e9decd;color:var(--coffee-soft);font-size:14px}
@media(max-width:1199px){.coffee-brand-more{padding-left:0}}
@media(max-width:1199px) {
 .coffee-details-modal{width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
 .coffee-details-header{padding:12px 20px}
 .coffee-details-content{padding:20px}
 .coffee-details-header h2{font-size:22px}
}

/* Complementos de Eventos: icono a la izquierda y lectura en una sola columna. */
body[data-initial-mode="eventos"] .event-extras__item{
  grid-template-columns:40px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  column-gap:14px;
  text-align:left;
}
body[data-initial-mode="eventos"] .event-extras__icon{
  grid-column:1;
  grid-row:1;
  align-self:center;
  justify-self:start;
}
body[data-initial-mode="eventos"] .event-extras__item h3{
  grid-column:2;
  grid-row:1;
  align-self:center;
  justify-self:start;
  text-align:left;
}
body[data-initial-mode="eventos"] .event-extras__item .event-extras__flavors,
body[data-initial-mode="eventos"] .event-extras__item ul{
  grid-column:2;
  grid-row:2;
  justify-self:stretch;
  width:100%;
  max-width:none;
  margin:2px 0 0;
  text-align:left;
}
body[data-initial-mode="eventos"] .event-extras__item .event-extras__more{
  grid-column:2;
  grid-row:3;
  justify-self:start;
  margin-top:2px;
  padding-left:0;
}
body[data-initial-mode="eventos"] .event-extras__item--supplies ul{
  justify-content:flex-start;
}
body[data-initial-mode="eventos"] .event-extras__item li{
  justify-content:flex-start;
  text-align:left;
}
.coffee-details-content:focus-visible{outline:2px solid #795823;outline-offset:-2px}

.coffee-brand-logo{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;max-width:100%;padding:0;border:0;background:transparent;cursor:pointer}
.coffee-brand-logo:focus-visible{outline:2px solid #795823;outline-offset:4px;border-radius:4px}

/* Marcas en móvil: título, logo y enlace sobre un mismo eje central. */
@media(max-width:1199px){
  body[data-initial-mode="eventos"] .coffee-brands-grid{row-gap:24px}
  body[data-initial-mode="eventos"] .coffee-brand-card{
    grid-template-columns:minmax(0,1fr);
    justify-items:center;
    gap:8px;
    text-align:center;
  }
  body[data-initial-mode="eventos"] .coffee-brand-info{display:contents}
  body[data-initial-mode="eventos"] .coffee-brand-caption{grid-row:1;text-align:center}
  body[data-initial-mode="eventos"] .coffee-brand-logo{grid-row:2}
  body[data-initial-mode="eventos"] .coffee-brand-card .coffee-brand-more{
    grid-row:3;
    margin:0;
    padding-inline:12px;
  }
}

/* Carta de sabores abierta, en continuidad con la selección de café. */
body[data-initial-mode="eventos"] .event-extras__grid{column-gap:56px;row-gap:28px}
.event-extras__item{
  display:grid;grid-template-columns:28px minmax(0,1fr);align-content:start;
  column-gap:12px;row-gap:12px;padding:20px 0 0;
  border:0;border-top:1px solid #e8e1d7;border-radius:0;background:transparent;
}
.event-extras__item > div{display:contents}
.event-extras__icon{grid-column:1;grid-row:1;width:26px;height:26px;align-self:center}
.event-extras__item h3{
  grid-column:2;grid-row:1;align-self:center;margin:0;color:var(--navy);
  font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:.08em;line-height:1.5;text-transform:uppercase;
}
.event-extras__item p{grid-column:1 / -1;font-family:var(--font-body);font-size:14px;font-weight:400;line-height:1.6}
.event-extras__item .event-extras__flavors{max-width:38ch;margin:2px auto 0;font-weight:300;text-align:center}
.event-extras__item ul{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:0;margin:0}
.event-extras__item li{
  display:flex;align-items:center;gap:10px;min-width:0;padding:10px 0;
  border:0;border-radius:0;background:transparent;
  font-family:var(--font-body);font-size:15px;font-weight:400;line-height:1.5;
}
.event-extras__item li::before{content:"";width:4px;height:4px;border-radius:50%;background:#b79254;flex:0 0 4px}
.event-extras__item .event-extras__availability{margin:2px 0 0;font-size:12px;line-height:1.6;max-width:54ch}
.event-extras__item--supplies{grid-template-columns:28px minmax(0,1fr);row-gap:8px;padding-top:16px}
.event-extras__item--supplies ul{display:flex;flex-wrap:wrap;column-gap:28px;row-gap:0}
.event-extras__item--supplies li{padding:4px 0;border:0;font-size:14px}
@media(max-width:1199px){
 body[data-initial-mode="eventos"] .event-extras__grid{row-gap:24px}
 .event-extras__item{padding-top:16px}
 .event-extras__item ul{column-gap:16px}
 .event-extras__item li{font-size:14px}
 .event-extras__item--supplies ul{column-gap:18px}
}

/* Complementos: composición compacta desde tablet para evitar una lista demasiado larga. */
@media(min-width:1200px) {
  body[data-initial-mode="eventos"] .event-extras__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:48px;
    row-gap:18px;
  }
  body[data-initial-mode="eventos"] .event-extras__item--supplies{
    grid-column:1 / -1;
  }
}

/* Separadores breves y un ritmo más editorial. */
body[data-initial-mode="eventos"] .event-extras__item{
  padding-top:16px;
  border-top:0;
  background:linear-gradient(#dfd2c0,#dfd2c0) top center / 112px 1px no-repeat;
}
body[data-initial-mode="eventos"] .event-extras__item li{padding-block:7px}
body[data-initial-mode="eventos"] .event-extras__more{
  min-height:38px;
  margin-top:2px;
  padding-block:6px;
}
body[data-initial-mode="eventos"] .event-extras__item--supplies{
  padding-top:14px;
  background-size:160px 1px;
}


/* Cierre visual: iconos con presencia y listas contenidas, sin volver a usar tarjetas. */
body[data-initial-mode="eventos"] .event-extras__grid{max-width:1000px;row-gap:14px}
body[data-initial-mode="eventos"] .event-extras__item{
  grid-template-columns:minmax(0,1fr) 40px auto minmax(0,1fr);
}
body[data-initial-mode="eventos"] .event-extras__icon{
  grid-column:2;
  width:40px;
  height:40px;
  padding:7px;
  border:1px solid #e7cf8d;
  border-radius:50%;
  background:#f7e7b5;
}
body[data-initial-mode="eventos"] .event-extras__item ul{max-width:440px}
body[data-initial-mode="eventos"] .event-extras__item--supplies ul{max-width:max-content}
body[data-initial-mode="eventos"] .event-extras__more{min-height:44px;margin-top:0}
@media(max-width:1199px) {
  body[data-initial-mode="eventos"] .event-extras__grid{row-gap:12px}
  body[data-initial-mode="eventos"] .event-extras__item{padding-top:14px}
}

.event-extras__more{grid-column:1 / -1;justify-self:start;margin:0;padding-left:0}

/* Sabores y complementos centrados dentro de cada bloque. */
.event-extras__item{grid-template-columns:minmax(0,1fr) 26px auto minmax(0,1fr);text-align:center}
.event-extras__icon{grid-column:2;justify-self:center}
.event-extras__item h3{grid-column:3}
.event-extras__item ul{width:100%;justify-self:center}
.event-extras__item li{justify-content:center;text-align:center}
.event-extras__item p{justify-self:center}
.event-extras__item--supplies ul{justify-content:center}
.event-extras__more{justify-self:center;padding-left:12px}

/* Listas de sabores alineadas a la izquierda; encabezados y acciones centrados. */
.event-extras__item:not(.event-extras__item--supplies) li{justify-content:flex-start;text-align:left}

/* Fotos e iconos junto a la información de los complementos. */
.coffee-details-options .coffee-details-option--illustrated{display:grid;grid-template-columns:88px minmax(0,1fr);gap:20px;align-items:center;padding:16px 0}
.coffee-details-product{display:block;width:88px;height:112px;object-fit:contain;background:#fff;align-self:center}
.coffee-details-product--icon{height:72px;padding:8px}
.coffee-details-option-copy{min-width:0}
@media(max-width:1199px) {
 .coffee-details-options .coffee-details-option--illustrated{grid-template-columns:64px minmax(0,1fr);gap:14px}
 .coffee-details-product{width:64px;height:96px}
 .coffee-details-product--icon{height:64px;padding:4px}
 .coffee-details-option--illustrated h3{font-size:18px}
 .coffee-details-option--illustrated p{font-size:15px;line-height:1.55}
}
.coffee-details-product:not(.coffee-details-product--icon){object-fit:cover}

/* FAQ: misma base de contenido que las descripciones de beneficios. */
body[data-initial-mode="eventos"] .faq-item summary{
  font-family:var(--font-body);
  font-size:15px;
  font-weight:300;
  color:var(--coffee-soft);
  line-height:1.6;
  letter-spacing:normal;
  text-transform:none;
}
body[data-initial-mode="eventos"] .faq-item summary::after{font-weight:400;font-size:24px}
body[data-initial-mode="eventos"] .faq-answer p{
  font-family:var(--font-body);
  font-size:15px;
  font-weight:300;
  color:var(--coffee-soft);
  line-height:1.6;
}
body[data-initial-mode="eventos"] .faq-toggle{font-family:var(--font-body);font-weight:500}
@media(max-width:1199px){
  body[data-initial-mode="eventos"] .faq-item summary{font-size:14px}
  body[data-initial-mode="eventos"] .faq-answer p{font-size:14px}
}

/* Empresas adopta el sistema editorial validado en Eventos, conservando su contenido. */
body[data-initial-mode="empresas"]{
  --section-vertical-space:24px;
}
body[data-initial-mode="empresas"] .section h2.section-label-title{
  width:100%;
  max-width:900px;
  margin:0 auto 20px;
  color:var(--navy);
  font-family:var(--font-body);
  font-size:clamp(.875rem,1.15vw,1rem);
  font-weight:500;
  line-height:1.6;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
  text-wrap:balance;
}
body[data-initial-mode="empresas"] .machines-section{padding-top:24px;background:#faf7f2}
body[data-initial-mode="empresas"] .machines-section > h2.section-label-title{margin-bottom:14px}
body[data-initial-mode="empresas"] .machines-section .machines-strip{margin-top:0}
body[data-initial-mode="empresas"] .machine-card .machine-name{
  font-family:var(--font-body);
  font-size:clamp(15px,1.1vw,16px);
  font-weight:600;
  line-height:1.3;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body[data-initial-mode="empresas"] .coffee-brands-section{background:#fff}
body[data-initial-mode="empresas"] .coffee-brand-card{
  min-height:0;
  padding:12px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body[data-initial-mode="empresas"] .coffee-brand-card .coffee-brand-caption{
  font-family:var(--font-body);
  font-size:12px;
  font-weight:500;
  line-height:1.6;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body[data-initial-mode="empresas"] .value-strip--benefits{background:#faf6f0;border-block:1px solid rgba(183,146,84,.16)}
body[data-initial-mode="empresas"] .company-logo-proof{background:#fff}
body[data-initial-mode="empresas"] .demo-section{background:#f8f0df}
body[data-initial-mode="empresas"] .included-section{background:#f7f2ea}
body[data-initial-mode="empresas"] .trust-section{background:#faf7f2}
body[data-initial-mode="empresas"] .faq-section{background:#ede4d8}
body[data-initial-mode="empresas"] .contact-section{background:#faf7f2}
body[data-initial-mode="empresas"] .included-section__header{margin-bottom:20px}
body[data-initial-mode="empresas"] .included-section .benefit-content h3,
body[data-initial-mode="empresas"] .testimonial__metric{
  color:#795823;
  font-family:var(--font-body);
  font-size:clamp(.875rem,1.15vw,1rem);
  font-weight:500;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body[data-initial-mode="empresas"] .included-section .benefit-content p,
body[data-initial-mode="empresas"] .testimonial__quote{
  font-family:var(--font-body);
  font-size:15px;
  font-weight:300;
  line-height:1.6;
  letter-spacing:normal;
  text-transform:none;
}
body[data-initial-mode="empresas"] .testimonial__quote{font-style:italic}
body[data-initial-mode="empresas"] .testimonial__author{font-family:var(--font-body);font-size:13px;font-weight:400}
body[data-initial-mode="empresas"] .included-section .benefit-icon{
  color:#b79254;
  border-color:rgba(183,146,84,.38);
  background:#fff;
}
body[data-initial-mode="empresas"] .included-section .benefit-icon svg{width:26px;height:26px;stroke-width:1.5}
body[data-initial-mode="empresas"] .faq-item summary,
body[data-initial-mode="empresas"] .faq-answer p{
  font-family:var(--font-body);
  font-size:15px;
  font-weight:300;
  line-height:1.6;
  letter-spacing:normal;
  text-transform:none;
  color:var(--coffee-soft);
}
body[data-initial-mode="empresas"] .faq-item summary::after{font-size:24px;font-weight:400}
body[data-initial-mode="empresas"] .faq-toggle{font-family:var(--font-body);font-weight:500}

@media(max-width:1199px){
  body[data-initial-mode="empresas"] .coffee-brand-card{
    grid-template-columns:minmax(0,1fr);
    justify-items:center;
    gap:8px;
    padding:8px 0;
    text-align:center;
  }
  body[data-initial-mode="empresas"] .coffee-brands-grid{row-gap:24px}
  body[data-initial-mode="empresas"] .coffee-brand-info{display:contents}
  body[data-initial-mode="empresas"] .coffee-brand-caption{grid-row:1;text-align:center}
  body[data-initial-mode="empresas"] .coffee-brand-logo{grid-row:2}
  body[data-initial-mode="empresas"] .coffee-brand-card .coffee-brand-more{grid-row:3;margin:0;padding-inline:12px}
  body[data-initial-mode="empresas"] .included-section .benefit-content p,
  body[data-initial-mode="empresas"] .testimonial__quote,
  body[data-initial-mode="empresas"] .faq-item summary,
  body[data-initial-mode="empresas"] .faq-answer p{font-size:14px}
}

/* Prueba social breve entre el catálogo y la prueba. */
body[data-initial-mode="empresas"] .company-logo-proof{
  padding:20px var(--section-inline-space) 18px;
  border-block:1px solid rgba(183,146,84,.14);
}
body[data-initial-mode="empresas"] .company-logo-proof h2.section-label-title{
  width:100%;
  max-width:900px;
  margin:0 auto 8px;
  color:var(--navy);
  font-family:var(--font-body);
  font-size:clamp(.75rem,1vw,.875rem);
  font-weight:500;
  line-height:1.5;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
}
body[data-initial-mode="empresas"] .company-logo-proof .clients-strip-full{
  left:auto;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  transform:none;
}
body[data-initial-mode="empresas"] .company-logo-proof .logo-strip-section{
  padding-block:6px;
  background:#fff;
}

/* Prueba compacta: mantiene las tres condiciones y reduce el recorrido móvil. */
body[data-initial-mode="empresas"] .demo-section{padding-block:28px}
body[data-initial-mode="empresas"] .demo-highlights li{min-height:120px;padding:16px 22px}
body[data-initial-mode="empresas"] .demo-highlights li + li{border:0}
body[data-initial-mode="empresas"] .demo-details{border-block:0}
body[data-initial-mode="empresas"] .demo-support{margin-top:14px}
@media(max-width:1199px){
  body[data-initial-mode="empresas"] .demo-highlights li{grid-template-columns:32px minmax(0,1fr);gap:2px 10px;min-height:92px;padding:14px 4px}
  body[data-initial-mode="empresas"] .demo-highlights__number{width:32px;height:32px}
  body[data-initial-mode="empresas"] .demo-support{gap:12px}
}

@media(max-width:1199px) {
  body[data-initial-mode="empresas"] .coffee-service-section .coffee-brands-grid{gap:0;row-gap:0}
  body[data-initial-mode="empresas"] .coffee-service-section .coffee-brand-card{
    grid-template-columns:104px minmax(0,1fr);
    grid-template-rows:auto;
    align-items:center;
    justify-items:stretch;
    column-gap:20px;
    min-height:112px;
    padding:16px 4px;
    border-bottom:1px solid rgba(43,31,24,.1);
    text-align:left;
  }
  body[data-initial-mode="empresas"] .coffee-service-section .coffee-brand-card:last-child{border-bottom:0}
  body[data-initial-mode="empresas"] .coffee-service-section .coffee-brand-info{
    grid-column:2;
    grid-row:1;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:4px;
    align-self:stretch;
  }
  body[data-initial-mode="empresas"] .coffee-service-section .coffee-brand-caption{
    margin:0;
    text-align:left;
  }
  body[data-initial-mode="empresas"] .coffee-service-section .coffee-brand-logo{
    grid-column:1;
    grid-row:1;
    align-self:center;
  }
  body[data-initial-mode="empresas"] .coffee-service-section .coffee-brand-logo img{
    width:100px;
    max-width:100px;
    height:82px;
  }
  body[data-initial-mode="empresas"] .coffee-service-section .coffee-brand-card .coffee-brand-more{
    min-height:40px;
    margin:0;
    padding-left:0;
  }
}

body[data-initial-mode="empresas"] .demo-highlights__number{
  font-weight:500;
}

/* Control común para ampliar contenido: círculo cálido y cruz centrada. */
body[data-initial-mode]{
  --expand-control-size:30px;
  --expand-control-bg:#f7e7b5;
  --expand-control-bg-active:#f2d98e;
  --expand-control-border:#e7cf8d;
  --expand-control-color:#795823;
}

body[data-initial-mode] .machine-card__action,
body[data-initial-mode] .coffee-brand-more > span{
  position:relative;
  display:inline-block;
  flex:0 0 var(--expand-control-size);
  width:var(--expand-control-size);
  height:var(--expand-control-size);
  color:var(--expand-control-color);
  font-size:0;
  background:var(--expand-control-bg);
  border:1px solid var(--expand-control-border);
  border-radius:50%;
  vertical-align:middle;
}

body[data-initial-mode] .machine-card__action::before,
body[data-initial-mode] .machine-card__action::after,
body[data-initial-mode] .coffee-brand-more > span::before,
body[data-initial-mode] .coffee-brand-more > span::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:10px;
  height:1px;
  background:currentColor;
  border-radius:999px;
  transform:translate(-50%,-50%);
}

body[data-initial-mode] .machine-card__action::after,
body[data-initial-mode] .coffee-brand-more > span::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

body[data-initial-mode] :is(.machine-card:hover,.machine-card:focus-visible) .machine-card__action,
body[data-initial-mode] .coffee-brand-more:hover > span,
body[data-initial-mode] .coffee-brand-more:focus-visible > span{
  background:var(--expand-control-bg-active);
  border-color:#d9b967;
}

body[data-initial-mode] .demo-details summary::after,
body[data-initial-mode] .faq-item summary::after,
body[data-initial-mode] .evidence-details > summary::after{
  content:"";
  box-sizing:border-box;
  display:inline-block;
  flex:0 0 var(--expand-control-size);
  width:var(--expand-control-size);
  height:var(--expand-control-size);
  color:var(--expand-control-color);
  background-color:var(--expand-control-bg);
  background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);
  background-position:center;
  background-repeat:no-repeat;
  background-size:10px 1px,1px 10px;
  border:1px solid var(--expand-control-border);
  border-radius:50%;
  font-size:0;
}

body[data-initial-mode] .faq-item summary::after{
  right:16px;
  transform:translateY(-50%);
}

body[data-initial-mode] .demo-details[open] summary::after,
body[data-initial-mode] .faq-item[open] summary::after,
body[data-initial-mode] .evidence-details[open] > summary::after{
  content:"";
  background-image:linear-gradient(currentColor,currentColor);
  background-size:10px 1px;
  transform:none;
}

body[data-initial-mode] .faq-item[open] summary::after{
  transform:translateY(-50%);
}



/* Café y complementos se leen como una sola decisión comercial. */
body[data-initial-mode="empresas"] .coffee-service-section{padding-bottom:30px}
body[data-initial-mode="empresas"] .coffee-service-group + .coffee-service-group{
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid #e5d9c8;
}
body[data-initial-mode="empresas"] .coffee-service-group__title{
  margin:0 auto 14px;
  color:var(--navy);
  font-family:var(--font-body);
  font-size:14px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
}
body[data-initial-mode="empresas"] .company-extras__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}
body[data-initial-mode="empresas"] .company-extra{
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding-top:16px;
  background:linear-gradient(#dfd2c0,#dfd2c0) top center / 112px 1px no-repeat;
  text-align:left;
}
body[data-initial-mode="empresas"] .company-extra__icon{
  width:40px;
  height:40px;
  padding:7px;
  color:#795823;
  border:1px solid #e7cf8d;
  border-radius:50%;
  background:#f7e7b5;
}
body[data-initial-mode="empresas"] .company-extra h4{
  margin:1px 0 4px;
  color:var(--navy);
  font-size:14px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body[data-initial-mode="empresas"] .company-extra p{
  margin:0;
  color:var(--coffee-soft);
  font-family:var(--font-body);
  font-size:14px;
  font-weight:300;
  line-height:1.6;
}
body[data-initial-mode="empresas"] .company-extra .coffee-brand-more{justify-content:flex-start;margin:2px 0 0;padding-left:0}

@media(max-width:1199px){
  body[data-initial-mode="empresas"] .company-extras__grid{grid-template-columns:1fr;gap:14px}
  body[data-initial-mode="empresas"] .company-extra{max-width:560px;width:100%;margin-inline:auto}
  body[data-initial-mode="empresas"] .coffee-service-group + .coffee-service-group{margin-top:18px;padding-top:18px}
}

/* La acción principal del hero conserva una sola línea en móvil. */
@media(max-width:540px){
  body[data-initial-mode="empresas"] .c360-hero__cta{width:190px;max-width:100%;font-size:15px}
}

/* Ajustes finales de Eventos: navegación, ritmo y cierre comercial. */
body[data-initial-mode] section[id],
body[data-initial-mode] h1[id],
body[data-initial-mode] h2[id]{
  scroll-margin-top:64px;
}

body[data-initial-mode="eventos"] .contact-panel{gap:16px}
body[data-initial-mode="eventos"] .contact-copy h2{margin-bottom:8px}
body[data-initial-mode="eventos"] .contact-copy .sub{
  max-width:560px;
  color:var(--coffee-soft);
  text-align:center;
}
body[data-initial-mode="eventos"] .contact-actions{margin-top:0}
body[data-initial-mode="eventos"] .contact-grid{margin-top:0}

@media(min-width:1200px){
  body[data-initial-mode="eventos"] .event-extras__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:1120px;
    column-gap:36px;
    align-items:start;
  }
  body[data-initial-mode="eventos"] .event-extras__item--supplies{
    grid-column:auto;
    padding-top:16px;
    background-size:112px 1px;
  }
  body[data-initial-mode="eventos"] .event-extras__item--supplies ul{
    display:grid;
    grid-template-columns:1fr;
    justify-content:stretch;
    max-width:220px;
  }
}

/* Extras con la misma lógica visual que “Así funciona nuestro servicio”. */
body[data-initial-mode="eventos"] .event-extras__grid{
  row-gap:28px;
}
body[data-initial-mode="eventos"] .event-extras__item,
body[data-initial-mode="eventos"] .event-extras__item--supplies{
  grid-template-columns:44px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  align-content:start;
  column-gap:14px;
  row-gap:8px;
  padding-top:0;
  text-align:left;
  background:none;
}
body[data-initial-mode="eventos"] .event-extras__icon{
  grid-column:1;
  grid-row:1 / span 3;
  align-self:start;
  justify-self:start;
  width:40px;
  height:40px;
}
body[data-initial-mode="eventos"] .event-extras__item h3{
  grid-column:2;
  grid-row:1;
  align-self:center;
  text-align:left;
}
body[data-initial-mode="eventos"] .event-extras__item ul,
body[data-initial-mode="eventos"] .event-extras__item--supplies ul{
  grid-column:2;
  grid-row:2;
  width:100%;
  max-width:none;
  justify-self:stretch;
  justify-content:start;
}
body[data-initial-mode="eventos"] .event-extras__item li,
body[data-initial-mode="eventos"] .event-extras__item:not(.event-extras__item--supplies) li{
  justify-content:flex-start;
  text-align:left;
}
body[data-initial-mode="eventos"] .event-extras__more{
  grid-column:2;
  grid-row:3;
  justify-self:start;
  padding-left:0;
}

@media(min-width:1200px){
  body[data-initial-mode="eventos"] .event-extras__item--supplies ul{
    max-width:none;
  }
}

@media(max-width:1199px) {
  body[data-initial-mode="eventos"] .event-extras__grid{row-gap:30px}
  body[data-initial-mode="eventos"] .event-extras__item,
  body[data-initial-mode="eventos"] .event-extras__item--supplies{
    grid-template-columns:44px minmax(0,1fr);
    column-gap:14px;
  }
}

@media(max-width:1199px) {
  body[data-initial-mode="eventos"] .coffee-brands-grid{row-gap:0}
  body[data-initial-mode="eventos"] .coffee-brand-card{
    grid-template-columns:104px minmax(0,1fr);
    grid-template-rows:auto;
    column-gap:20px;
    min-height:112px;
    padding:16px 4px;
    border-bottom:1px solid rgba(43,31,24,.1);
    justify-items:stretch;
    align-items:center;
    text-align:left;
  }
  body[data-initial-mode="eventos"] .coffee-brand-card:last-child{border-bottom:0}
  body[data-initial-mode="eventos"] .coffee-brand-logo{
    grid-column:1;
    grid-row:1;
    align-self:center;
  }
  body[data-initial-mode="eventos"] .coffee-brand-card .coffee-brand-logo img{
    width:100px;
    max-width:100px;
    height:82px;
  }
  body[data-initial-mode="eventos"] .coffee-brand-info{
    grid-column:2;
    grid-row:1;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:4px;
    align-self:stretch;
  }
  body[data-initial-mode="eventos"] .coffee-brand-card .coffee-brand-caption{
    margin:0;
    text-align:left;
  }
  body[data-initial-mode="eventos"] .coffee-brand-card .coffee-brand-more{
    min-height:40px;
    margin:0;
    padding-left:0;
  }
  body[data-initial-mode="eventos"] .clients-strip-inner{
    -webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);
    mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);
  }
}

/* Selección homologada: Eventos es la referencia visual para ambas landing. */
body[data-initial-mode] .coffee-brands-section{
  padding-top:24px;
  padding-bottom:24px;
  background:#fff;
}
body[data-initial-mode] .coffee-brand-card{
  min-height:0;
  padding:12px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body[data-initial-mode] .coffee-brand-card .coffee-brand-caption{
  font-family:var(--font-body);
  font-size:12px;
  font-weight:500;
  line-height:1.6;
  letter-spacing:.06em;
  text-transform:uppercase;
}

body[data-initial-mode] .event-extras{
  width:100%;
  max-width:none;
  margin-inline:0;
  padding:24px var(--section-inline-space);
  background:#faf6f0;
  border-block:1px solid rgba(183,146,84,.16);
}
body[data-initial-mode] #complementos{scroll-margin-top:48px}
body[data-initial-mode] .event-extras__grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
  max-width:1120px;
  margin-inline:auto;
  column-gap:36px;
  row-gap:28px;
  align-items:start;
}
body[data-initial-mode] .event-extras__item,
body[data-initial-mode] .event-extras__item--supplies{
  display:grid;
  grid-column:auto;
  grid-template-columns:44px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  align-content:start;
  column-gap:14px;
  row-gap:8px;
  padding:0 28px 28px;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  text-align:left;
}
body[data-initial-mode] .event-extras__item > div{display:contents}
body[data-initial-mode] .event-extras__icon{
  grid-column:1;
  grid-row:1 / span 3;
  align-self:start;
  justify-self:start;
  width:40px;
  height:40px;
  padding:7px;
  color:#795823;
  border:1px solid #e7cf8d;
  border-radius:50%;
  background:#f7e7b5;
}
body[data-initial-mode] .event-extras__item h3{
  grid-column:2;
  grid-row:1;
  align-self:center;
  justify-self:start;
  margin:0;
  color:var(--navy);
  font-family:var(--font-body);
  font-size:14px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:.08em;
  text-align:left;
  text-transform:uppercase;
}
body[data-initial-mode] .event-extras__item .event-extras__flavors,
body[data-initial-mode] .event-extras__item ul{
  grid-column:2;
  grid-row:2;
  justify-self:stretch;
  width:100%;
  max-width:none;
  margin:2px 0 0;
  text-align:left;
}
body[data-initial-mode] .event-extras__item ul{
  display:flex;
  flex-wrap:wrap;
  column-gap:28px;
  row-gap:0;
}
body[data-initial-mode] .event-extras__item li{
  justify-content:flex-start;
  padding:4px 0;
  text-align:left;
}
body[data-initial-mode] .event-extras__more{
  grid-column:2;
  grid-row:3;
  justify-self:start;
  min-height:44px;
  margin-top:2px;
  padding:6px 0;
}

@media(max-width:1199px){
  body[data-initial-mode] .coffee-brand-card{
    grid-template-columns:minmax(0,1fr);
    justify-items:center;
    gap:8px;
    padding:8px 0;
    text-align:center;
  }
  body[data-initial-mode] .coffee-brands-grid{row-gap:24px}
  body[data-initial-mode] .coffee-brand-info{display:contents}
  body[data-initial-mode] .coffee-brand-caption{grid-row:1;text-align:center}
  body[data-initial-mode] .coffee-brand-logo{grid-row:2}
  body[data-initial-mode] .coffee-brand-card .coffee-brand-more{grid-row:3;margin:0;padding-inline:12px}

  body[data-initial-mode] .event-extras__grid{
    grid-template-columns:1fr;
    row-gap:30px;
  }
  body[data-initial-mode] .event-extras__item,
  body[data-initial-mode] .event-extras__item--supplies{
    padding:0 20px 20px;
  }
  body[data-initial-mode] .event-extras__item ul{column-gap:18px}
}

/* En pantallas angostas, las máquinas se leen como un catálogo continuo. */
@media(max-width:1199px) {
  body[data-initial-mode] .machines-row{
    gap:0;
  }
  body[data-initial-mode] .machine-card{
    min-height:148px;
    padding:22px 8px;
    background:transparent;
    border:0;
    border-bottom:1px solid rgba(183,146,84,.26);
    border-radius:0;
    box-shadow:none;
  }
  body[data-initial-mode] .machine-card:first-child{
    border-top:1px solid rgba(183,146,84,.26);
  }
  body[data-initial-mode] .machine-card:hover{
    transform:none;
    background:rgba(255,255,255,.28);
    border-color:rgba(183,146,84,.34);
    box-shadow:none;
  }
  body[data-initial-mode] .machine-drinks{
    padding:0;
    font-size:13px;
    line-height:1.45;
    background:transparent;
    border-radius:0;
  }
  body[data-initial-mode] .machine-card__action{
    justify-self:end;
    margin:5px 0 0;
    text-decoration:none;
  }
}



@media(max-width:1199px) {
  body[data-initial-mode] .coffee-brands-grid{gap:0;row-gap:0}
  body[data-initial-mode] .coffee-brand-card{
    grid-template-columns:104px minmax(0,1fr);
    grid-template-rows:auto;
    align-items:center;
    justify-items:stretch;
    column-gap:20px;
    min-height:112px;
    padding:16px 4px;
    border-bottom:0;
    text-align:left;
  }
  body[data-initial-mode] .coffee-brand-card:last-child{border-bottom:0}
  body[data-initial-mode] .coffee-brand-logo{grid-column:1;grid-row:1;align-self:center}
  body[data-initial-mode] .coffee-brand-card .coffee-brand-logo img{width:100px;max-width:100px;height:82px}
  body[data-initial-mode] .coffee-brand-info{
    grid-column:2;
    grid-row:1;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:4px;
    align-self:stretch;
  }
  body[data-initial-mode] .coffee-brand-card .coffee-brand-caption{margin:0;text-align:left}
  body[data-initial-mode] .coffee-brand-card .coffee-brand-more{min-height:40px;margin:0;padding-left:0}

  body[data-initial-mode] .event-extras{
    padding-inline:24px;
  }
  body[data-initial-mode] .event-extras__grid{row-gap:30px}
}

/* Superficies Café 360: blancos cálidos, crema y beige; sin verdes ni grises fríos. */
body[data-initial-mode]{
  --surface-neutral:#fbf7f1;
  --surface-warm:#f7efe4;
  --surface-sand:#f3e9dc;
  --surface-bisque:#eee1d2;
}
body[data-initial-mode] .machines-section{background:var(--surface-neutral)}
body[data-initial-mode] .event-extras{background:var(--surface-warm)}
body[data-initial-mode] .event-extras__icon{background:#fff}
body[data-initial-mode] .faq-section{background:var(--surface-bisque)}
body[data-initial-mode] .contact-section,
body[data-initial-mode] .brand-end{background:var(--surface-neutral)}

body[data-initial-mode="empresas"] .included-section{background:var(--surface-warm)}
body[data-initial-mode="empresas"] .trust-section{background:var(--surface-neutral)}
body[data-initial-mode="empresas"] .demo-section{background:var(--surface-sand)}
body[data-initial-mode="empresas"] .demo-highlights__number{
  border:1px solid rgba(183,146,84,.42);
  background:#fff;
}

body[data-initial-mode="eventos"] .trust-section,
body[data-initial-mode="eventos"] .trust-section > .clients-strip-full,
body[data-initial-mode="eventos"] .trust-section .logo-strip-section,
body[data-initial-mode="eventos"] .trust-section .clients-strip-inner{background:#fff}
body[data-initial-mode="eventos"] .included-section{background:var(--surface-neutral)}

/* Confían en nosotros: la franja de logos siempre pertenece visualmente a su sección. */
body[data-initial-mode="empresas"] .company-logo-proof{
  background:#fff;
  border-block-color:transparent;
}
body[data-initial-mode] .company-logo-proof .clients-strip-full,
body[data-initial-mode] .company-logo-proof .logo-strip-section,
body[data-initial-mode] .trust-section > .clients-strip-full,
body[data-initial-mode] .trust-section .logo-strip-section{background:inherit}

/* Dos retículas consistentes: lectura a 900 px y catálogos a 1120 px. */
body[data-initial-mode] .section-label-title,
body[data-initial-mode] .testimonials,
body[data-initial-mode] .demo-panel,
body[data-initial-mode] .faq-list,
body[data-initial-mode] .contact-panel{
  width:min(100%, 900px);
  max-width:900px;
  margin-right:auto;
  margin-left:auto;
}

/* Ritmo compartido de componentes en ambas landing. */
body[data-initial-mode]{
  --space-xs:8px;
  --space-sm:12px;
  --space-md:16px;
  --space-lg:24px;
  --circle-size:40px;
  --circle-glyph-size:20px;
}

body[data-initial-mode] .machines-section > h2.section-label-title{margin-bottom:20px}
body[data-initial-mode] .machines-row{gap:var(--space-sm)}
body[data-initial-mode] .benefits-grid{
  column-gap:32px;
  row-gap:var(--space-lg);
}
body[data-initial-mode] .benefit-item{
  grid-template-columns:var(--circle-size) minmax(0,1fr);
  gap:var(--space-md);
}
body[data-initial-mode] .included-section .benefit-icon{
  width:var(--circle-size);
  height:var(--circle-size);
  color:#995943;
  background:#f2dfd9;
  border-color:#e6c4ba;
}
body[data-initial-mode] .benefit-icon svg{
  width:var(--circle-glyph-size);
  height:var(--circle-glyph-size);
}
body[data-initial-mode] .event-extras__grid{
  column-gap:32px;
  row-gap:var(--space-lg);
}
body[data-initial-mode] .event-extras__item,
body[data-initial-mode] .event-extras__item--supplies{
  grid-template-columns:var(--circle-size) minmax(0,1fr);
  column-gap:var(--space-md);
  row-gap:var(--space-xs);
  padding:0 var(--space-lg) var(--space-lg);
}
body[data-initial-mode] .event-extras__icon{
  width:var(--circle-size);
  height:var(--circle-size);
  padding:calc((var(--circle-size) - var(--circle-glyph-size)) / 2);
  color:#795823;
  background:#f7e7b5;
  border-color:#e7cf8d;
}
body[data-initial-mode="empresas"] .demo-section{padding-block:var(--space-lg)}
body[data-initial-mode="empresas"] .demo-highlights li{
  grid-template-columns:var(--circle-size) minmax(0,1fr);
  column-gap:var(--space-md);
}
body[data-initial-mode="empresas"] .demo-highlights__number{
  width:var(--circle-size);
  height:var(--circle-size);
}
body[data-initial-mode] .faq-list{gap:var(--space-sm)}
body[data-initial-mode] .contact-grid{gap:var(--space-sm)}

@media(min-width:1200px){
  body[data-initial-mode] .machines-row{gap:var(--space-md)}
  body[data-initial-mode] .event-extras__grid{align-items:stretch}
  body[data-initial-mode] .event-extras__item,
  body[data-initial-mode] .event-extras__item--supplies{
    grid-template-rows:auto 1fr auto;
    height:100%;
  }
}

@media(max-width:1199px) {
  body[data-initial-mode] .event-extras__item,
  body[data-initial-mode] .event-extras__item--supplies{
    padding-right:var(--space-md);
    padding-bottom:var(--space-md);
    padding-left:var(--space-md);
  }
}



/* Ajuste final compartido para las acciones de Café y Extras. */
body[data-initial-mode] .coffee-brand-info{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  max-width:100%;
  margin-top:4px;
}
body[data-initial-mode] .coffee-brand-card .coffee-brand-caption{
  min-width:0;
  margin:0;
}
body[data-initial-mode] .coffee-brand-more,
body[data-initial-mode] .coffee-brand-card .coffee-brand-more,
body[data-initial-mode] .event-extras__more{
  width:var(--expand-control-size);
  min-width:var(--expand-control-size);
  height:var(--expand-control-size);
  min-height:var(--expand-control-size);
  gap:0;
  padding:0;
  border-radius:50%;
}
body[data-initial-mode] .coffee-brand-card .coffee-brand-more{
  flex:0 0 var(--expand-control-size);
  justify-self:auto;
  margin:0;
}
body[data-initial-mode] .event-extras__item .event-extras__more{
  grid-column:2;
  grid-row:3;
  justify-self:end;
  margin:4px 0 0;
}
body[data-initial-mode] .event-extras__icon{
  color:#795823;
  background:#fff;
  border-color:#e9decd;
}

@media(max-width:1199px) {
  body[data-initial-mode] .coffee-brand-info{
    align-self:center;
    justify-self:start;
    justify-content:flex-start;
    margin-top:0;
  }
}

/* Marcas de café: misma jerarquía vertical en móvil y escritorio. */
body[data-initial-mode] .coffee-brand-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  min-height:218px;
  padding:16px 12px 18px;
  text-align:center;
}
body[data-initial-mode] .coffee-brand-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:108px;
}
body[data-initial-mode] .coffee-brand-card .coffee-brand-logo img,
body[data-initial-mode] .coffee-brand-card:first-child .coffee-brand-logo img,
body[data-initial-mode] .coffee-brand-card:nth-child(2) .coffee-brand-logo img,
body[data-initial-mode] .coffee-brand-card:nth-child(3) .coffee-brand-logo img{
  width:150px;
  max-width:150px;
  height:96px;
  object-fit:contain;
}
body[data-initial-mode] .coffee-brand-card:nth-child(2) .coffee-brand-logo img{
  transform:scale(1.22);
}
body[data-initial-mode] .coffee-brand-card:nth-child(3) .coffee-brand-logo img{
  transform:scale(1.55);
}
body[data-initial-mode] .coffee-brand-info{
  align-self:center;
  justify-self:auto;
  justify-content:center;
  margin-top:0;
}
body[data-initial-mode] .coffee-brand-card .coffee-brand-caption{
  text-align:center;
}

@media(max-width:1199px) {
  body[data-initial-mode] .coffee-brands-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:12px;
    row-gap:0;
  }
  body[data-initial-mode] .coffee-brand-card{
    display:flex;
    min-height:82px;
    padding:8px 0 10px;
  }
  body[data-initial-mode] .coffee-brand-logo{
    grid-column:auto;
    grid-row:auto;
    height:70px;
  }
  body[data-initial-mode] .coffee-brand-card .coffee-brand-logo img,
  body[data-initial-mode] .coffee-brand-card:first-child .coffee-brand-logo img,
  body[data-initial-mode] .coffee-brand-card:nth-child(2) .coffee-brand-logo img,
  body[data-initial-mode] .coffee-brand-card:nth-child(3) .coffee-brand-logo img{
    width:96px;
    max-width:96px;
    height:68px;
  }
  body[data-initial-mode] .coffee-brand-card:nth-child(2) .coffee-brand-logo img{transform:scale(1.04);}
  body[data-initial-mode] .coffee-brand-card:nth-child(3) .coffee-brand-logo img{transform:scale(1.14);}
  body[data-initial-mode] .coffee-brand-card .coffee-brand-caption{display:none;}
  body[data-initial-mode] .coffee-brand-card .coffee-brand-info{display:none;}
  body[data-initial-mode] .coffee-brand-logo{transition:opacity .18s ease,transform .18s ease;}
  body[data-initial-mode] .coffee-brand-logo:active{opacity:.68;transform:scale(.96);}
  body[data-initial-mode] .coffee-brand-info{
    align-self:center;
    justify-self:auto;
    justify-content:center;
    align-items:center;
    margin-top:0;
  }
}

/* Extras: composición vertical equivalente a la selección de café. */
body[data-initial-mode] .event-extras__item,
body[data-initial-mode] .event-extras__item--supplies{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-height:218px;
  padding:16px 20px 20px;
  text-align:center;
}
body[data-initial-mode] .event-extras__item > div{
  display:contents;
}
body[data-initial-mode] .event-extras__icon{
  flex:0 0 var(--circle-size);
  align-self:center;
  justify-self:auto;
  margin:0;
}
body[data-initial-mode] .event-extras__item h3{
  align-self:center;
  justify-self:auto;
  margin:0;
  text-align:center;
}
body[data-initial-mode] .event-extras__item .event-extras__flavors{
  flex:1 1 auto;
  align-self:center;
  justify-self:auto;
  width:min(100%,34ch);
  max-width:34ch;
  margin:0;
  text-align:center;
}
body[data-initial-mode] .event-extras__item .event-extras__more{
  align-self:center;
  justify-self:auto;
  margin:2px 0 0;
}

@media(max-width:1199px) {
  body[data-initial-mode] .event-extras__grid{
    row-gap:4px;
  }
  body[data-initial-mode] .event-extras__item,
  body[data-initial-mode] .event-extras__item--supplies{
    min-height:190px;
    padding:14px 12px 18px;
  }
}

body[data-initial-mode="empresas"] .demo-section{
  background:#fcf9f4;
}

/* Los iconos de extras equilibran su peso visual con los logos de café. */
body[data-initial-mode] .event-extras__icon{
  flex:0 0 72px;
  width:72px;
  height:72px;
  padding:19px;
}

@media(max-width:1199px) {
  body[data-initial-mode] .event-extras__icon{
    flex-basis:64px;
    width:64px;
    height:64px;
    padding:16px;
  }
}

/* Café y extras responden como una unidad completa sin recuperar el peso de una card. */
body[data-initial-mode] .coffee-brand-card.is-clickable,
body[data-initial-mode] .event-extras__item.is-clickable{
  cursor:pointer;
  border-radius:16px;
  transition:background-color .2s ease, transform .2s ease;
}

@media(hover:hover){
  body[data-initial-mode] .coffee-brand-card.is-clickable:hover{
    background:rgba(247,239,228,.72);
    transform:translateY(-1px);
  }
  body[data-initial-mode] .event-extras__item.is-clickable:hover{
    background:rgba(255,255,255,.52);
    transform:translateY(-1px);
  }
}

/* Más aire para que el recorrido del servicio se lea por etapas. */
body[data-initial-mode] .included-section{
  padding-top:56px;
  padding-bottom:56px;
}
body[data-initial-mode] .included-section__header{
  margin-bottom:40px;
}
body[data-initial-mode] .included-section .benefits-grid{
  row-gap:46px;
}
body[data-initial-mode] .included-section .benefit-content h3{
  margin-bottom:8px;
  letter-spacing:.065em;
}
body[data-initial-mode] .included-section .benefit-content p{
  max-width:58ch;
  line-height:1.68;
}
body[data-initial-mode] .included-section .benefit-icon svg{
  width:24px;
  height:24px;
  stroke-width:1.2;
}

@media(max-width:1199px){
  body[data-initial-mode] .included-section .benefits-grid{
    width:min(100%,780px);
    margin-inline:auto;
  }
}

@media(max-width:1199px) {
  body[data-initial-mode] .included-section{
    padding-top:52px;
    padding-bottom:52px;
  }
  body[data-initial-mode] .included-section__header{
    margin-bottom:36px;
  }
  body[data-initial-mode] .included-section .benefits-grid{
    row-gap:38px;
  }
  body[data-initial-mode] .included-section .benefit-content p{
    line-height:1.62;
  }
}

@media(min-width:1200px){
  body[data-initial-mode] .included-section{
    padding-top:80px;
    padding-bottom:80px;
  }
  body[data-initial-mode] .included-section__header{
    margin-bottom:44px;
  }
  body[data-initial-mode] .included-section .benefits-grid{
    row-gap:52px;
  }
}

/* La prueba continúa la misma secuencia editorial de “Así funciona”. */
body[data-initial-mode="empresas"] .demo-section{
  padding-top:56px;
  padding-bottom:56px;
}
body[data-initial-mode="empresas"] .demo-panel{
  display:block;
}
body[data-initial-mode="empresas"] .demo-panel h2{
  margin-bottom:40px;
}
body[data-initial-mode="empresas"] .demo-highlights{
  grid-template-columns:1fr;
  row-gap:46px;
  width:min(100%,540px);
  margin:0 auto;
}
@media(min-width:1200px) {
  body[data-initial-mode="empresas"] .demo-highlights{
    transform:translateX(clamp(12px,2.2vw,36px));
  }
}
body[data-initial-mode="empresas"] .demo-highlights li{
  grid-template-columns:var(--circle-size) minmax(0,1fr);
  align-content:start;
  column-gap:var(--space-md);
  row-gap:8px;
  min-height:0;
  padding:0;
  border:0;
}
body[data-initial-mode="empresas"] .demo-highlights__number{
  grid-row:1 / span 2;
  width:var(--circle-size);
  height:var(--circle-size);
  font-size:14px;
  font-weight:400;
}
body[data-initial-mode="empresas"] .demo-highlights strong{
  align-self:start;
  margin:0;
  color:#795823;
  font-size:clamp(.875rem,1.15vw,1rem);
  font-weight:500;
  line-height:1.4;
  letter-spacing:.065em;
  text-transform:uppercase;
}
body[data-initial-mode="empresas"] .demo-highlights li > span:last-child{
  max-width:58ch;
  color:var(--coffee-soft);
  font-size:15px;
  font-weight:300;
  line-height:1.68;
}
body[data-initial-mode="empresas"] .demo-support{
  margin-top:40px;
}
body[data-initial-mode="empresas"] .demo-panel .contact-action{
  width:fit-content;
  min-width:120px;
  padding-inline:28px;
}

@media(max-width:1199px) {
  body[data-initial-mode="empresas"] .demo-section{
    padding-top:52px;
    padding-bottom:52px;
  }
  body[data-initial-mode="empresas"] .demo-panel h2{
    margin-bottom:36px;
  }
  body[data-initial-mode="empresas"] .demo-highlights{
    row-gap:38px;
  }
  body[data-initial-mode="empresas"] .demo-highlights li > span:last-child{
    font-size:14px;
    line-height:1.62;
  }
  body[data-initial-mode="empresas"] .demo-support{
    margin-top:36px;
  }
}

@media(min-width:1200px){
  body[data-initial-mode="empresas"] .demo-section{
    padding-top:80px;
    padding-bottom:80px;
  }
  body[data-initial-mode="empresas"] .demo-panel h2{
    margin-bottom:44px;
  }
  body[data-initial-mode="empresas"] .demo-highlights{
    row-gap:52px;
  }
  body[data-initial-mode="empresas"] .demo-support{
    margin-top:44px;
  }
}

/* =========================================================
   MODALES A PANTALLA COMPLETA
   Una misma regla para escritorio, tablet y movil.
   ========================================================= */
.machine-modal,
.precotizar-modal{
  inset:0;
  width:100vw;
  height:100vh;
  height:100dvh;
  padding:0;
  align-items:stretch;
  justify-content:stretch;
  overflow:hidden;
}

.machine-modal__dialog,
.precotizar-sheet,
.precotizar-modal.open .precotizar-sheet{
  width:100vw;
  max-width:none;
  min-height:100vh;
  min-height:100dvh;
  height:100vh;
  height:100dvh;
  max-height:100dvh;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  transform:none;
}

.machine-modal.open .machine-modal__dialog{
  transform:none;
}

.machine-modal__dialog{
  overflow:auto;
  overscroll-behavior:contain;
}

.machine-modal:not(.machine-comparison-modal) .machine-modal__close{
  position:fixed;
  top:max(12px,env(safe-area-inset-top));
  right:max(12px,env(safe-area-inset-right));
}

.coffee-details-modal{
  inset:0;
  width:100vw;
  max-width:none;
  min-height:100vh;
  min-height:100dvh;
  height:100vh;
  height:100dvh;
  max-height:none;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}

/* Empresas: resumen breve junto al equipo, sin la fila de iconos. */
body[data-initial-mode="empresas"] .machine-summary {
  display:block;
  min-width:0;
  color:var(--content-color, #6d5b4d);
  font-family:var(--font-body);
  font-size:13px;
  font-weight:300;
  line-height:1.45;
  text-align:left;
}
@media(min-width:1200px) {
  body[data-initial-mode="empresas"] .machines-row {
    align-items:stretch;
    grid-auto-rows:1fr;
  }
  body[data-initial-mode="empresas"] .machine-card {
    height:100%;
  }
}
@media(min-width:1200px) {
  body[data-initial-mode="empresas"] .machine-card {
    display:flex;
    flex-direction:column;
    max-width:340px;
  }
  body[data-initial-mode="empresas"] .machine-media {flex:none;}
  body[data-initial-mode="empresas"] .machine-summary {
    margin-top:auto;
    padding-top:8px;
  }
}

/* Bebidas ilustradas solo dentro del comparador. Las tarjetas siguen compactas. */
.machine-comparison-table .comparison-drinks {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 6px;
  margin:0;
  padding:0;
  list-style:none;
}
.machine-comparison-table .comparison-drinks li {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  min-width:0;
  padding:0;
  font-family:var(--font-body);
  font-size:11px;
  font-weight:400;
  line-height:1.35;
  text-align:center;
}
.machine-comparison-table .comparison-drinks img {
  display:block;
  width:36px;
  height:36px;
  object-fit:contain;
}
.machine-comparison-table .comparison-drinks__note {
  margin:12px 0 0;
  font-size:12px;
  font-weight:300;
  line-height:1.45;
}
@media(min-width:1200px) {
  body[data-initial-mode="eventos"] .comparison-drinks {grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* Acceso a sabores y accesorios sin perder la selección del comparador. */
.machine-comparison-modal .comparison-details-link {
  display:block;
  min-height:44px;
  margin:4px 0 0;
  padding:8px 0;
  border:0;
  background:transparent;
  color:var(--gold-text, #76531f);
  font-family:var(--font-body);
  font-size:13px;
  font-weight:500;
  line-height:1.4;
  text-align:inherit;
  text-transform:none;
  letter-spacing:normal;
  text-decoration:underline;
  text-underline-offset:4px;
  cursor:pointer;
}
.machine-comparison-modal .comparison-details-link:focus-visible {
  outline:2px solid currentColor;
  outline-offset:3px;
}
.machine-comparison-modal .comparison-extras {margin:16px 0 0;}

.machine-comparison-modal .comparison-coffees {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 20px;
  margin:20px 0 0;
  font-family:var(--font-body);
  font-size:13px;
}
.machine-comparison-modal .comparison-coffees__label {font-weight:500;}
.machine-comparison-modal .comparison-coffees .comparison-details-link {margin:0;}

/* Ficha individual: misma tabla, datos y controles que el comparador. */
.machine-single-modal .machine-comparison-modal__content {padding-top:60px;}
.machine-single-modal .machine-comparison-modal__content > * {max-width:820px;}
.machine-single-modal .machine-comparison-table--desktop tbody th,
.machine-single-modal .machine-comparison-table--desktop thead th:first-child {width:36%;}
.machine-single-modal .machine-comparison-table--mobile th,
.machine-single-modal .machine-comparison-table--mobile td {width:auto;}
.machine-single-modal .machine-comparison-table thead th {position:static;}
.machine-single-modal .machine-comparison-image {width:120px;height:150px;}
.machine-single-modal .comparison-drinks {grid-template-columns:repeat(3,minmax(0,1fr));}
.machine-comparison-modal .comparison-details-link.coffee-brand-more {
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  width:auto;
  min-width:0;
  height:auto;
  gap:8px;
  padding:7px 0;
  margin:0;
  min-height:44px;
  border-radius:0;
  background:transparent;
  text-decoration:none;
}
.machine-comparison-modal th > .comparison-details-link {vertical-align:middle;}
.machine-comparison-modal,
.machine-comparison-modal__dialog,
.machine-comparison-modal__content {
  background:#fbf8f4 !important;
  opacity:1 !important;
}
.machine-comparison-modal .comparison-coffees {
  display:grid;
  grid-template-columns:auto repeat(3,minmax(0,1fr));
  align-items:center;
  gap:4px 18px;
}
.machine-comparison-modal .comparison-coffees__label {white-space:nowrap;}
.machine-comparison-modal .comparison-coffee-logo {
  justify-content:center;
  min-height:64px;
  padding:5px 8px;
  border:1px solid transparent;
  border-radius:12px;
}
.machine-comparison-modal .comparison-coffee-logo:hover,
.machine-comparison-modal .comparison-coffee-logo:focus-visible {
  border-color:rgba(161,122,63,.42);
  background:#fff;
}
.machine-comparison-modal .comparison-coffee-logo img {
  display:block;
  width:100%;
  max-width:82px;
  height:52px;
  object-fit:contain;
}
.machine-comparison-modal .comparison-extras {margin-top:10px;}
.machine-comparison-modal .comparison-addons {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:18px 0 0;
}
.machine-comparison-modal .comparison-extra-card {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:76px;
  padding:10px 12px;
  border:1px solid rgba(161,122,63,.22);
  border-radius:14px;
  background:#fff;
  color:var(--coffee);
  text-align:left;
  cursor:pointer;
}
.machine-comparison-modal .comparison-extra-card:hover,
.machine-comparison-modal .comparison-extra-card:focus-visible {
  border-color:rgba(161,122,63,.55);
  background:#fffaf4;
}
.machine-comparison-modal .comparison-extra-card:focus-visible {outline:2px solid #795823;outline-offset:2px;}
.machine-comparison-modal .comparison-extra-card img {flex:0 0 44px;width:44px;height:44px;object-fit:contain;}
.machine-comparison-modal .comparison-extra-card span {display:flex;flex-direction:column;min-width:0;gap:2px;}
.machine-comparison-modal .comparison-extra-card strong {font-size:13px;line-height:1.25;}

@media(max-width:680px) {
  .machine-comparison-modal .comparison-coffees {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }
  .machine-comparison-modal .comparison-coffees__label {grid-column:1 / -1;}
}
.machine-comparison-modal .comparison-extra-card small {color:var(--coffee-soft);font-size:11px;line-height:1.3;}
@media(max-width:600px) {
  .machine-comparison-modal .comparison-addons {grid-template-columns:1fr;gap:8px;}
  .machine-comparison-modal .comparison-extra-card {min-height:64px;padding:8px 10px;}
}

.machine-quote-button {
  display:block;
  width:100%;
  max-width:180px;
  min-height:44px;
  margin:12px auto 0;
  padding:10px 12px;
  border:0;
  border-radius:24px;
  background:var(--gold, #c9a86a);
  color:#0f1a24;
  font:500 14px/1.3 var(--font-body);
  cursor:pointer;
}
.machine-quote-button:hover {filter:brightness(.96);}
.machine-quote-button:focus-visible {outline:2px solid #795823;outline-offset:3px;}
.wizard-machine-reference {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 20px;
  padding:12px 14px;
  border:1px solid #e5ded5;
  border-radius:12px;
  background:#fff;
}
.wizard-machine-reference[hidden] {display:none;}
.wizard-machine-reference p {flex:1;margin:0;font:400 13px/1.5 var(--font-body);color:#6d5b4d;}
.wizard-machine-reference button {min-height:44px;border:0;background:transparent;color:#795823;text-decoration:underline;font:500 13px var(--font-body);cursor:pointer;}
/* La referencia precede a los pasos, también en pantallas estrechas. */
.precotizar-body {flex-direction:column;}
.wizard-machine-reference {flex:0 0 auto;width:100%;max-width:760px;margin:0 auto 20px;box-sizing:border-box;}

/* Catálogo de máquinas: en móvil se recorre lateralmente, como los testimonios.
   Se reduce el alto de la página y se mantiene una ficha completa por gesto. */
.machines-swipe-hint {display:none;}
@media (max-width:1199px) {
  body[data-initial-mode] .machines-section {overflow:hidden;}
  body[data-initial-mode] .machines-swipe-hint {
    display:block;
    margin:4px 0 16px;
    color:var(--coffee-soft, #6d5b4d);
    font-family:var(--font-body);
    font-size:13px;
    font-weight:400;
    line-height:1.45;
    text-align:center;
  }
  body[data-initial-mode] .machines-strip {
    position:relative;
    left:50%;
    width:min(100vw,600px);
    margin:0;
    transform:translateX(-50%);
  }
  body[data-initial-mode] .machines-strip-inner {
    overflow:hidden;
    padding:0 16px 6px;
  }
  body[data-initial-mode] .machines-row {
    display:grid;
    width:100%;
    margin:0;
  }
  body[data-initial-mode] .machine-card {
    grid-template-columns:1fr;
    grid-template-rows:112px auto auto 1fr auto;
    align-content:start;
    gap:7px;
    grid-area:1 / 1;
    width:100%;
    min-height:278px;
    padding:16px;
    overflow:hidden;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(161,122,63,.24);
    border-radius:18px;
    box-shadow:none;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translateX(18px);
    transition:opacity .3s ease, transform .3s ease, visibility .3s ease;
  }
  body[data-initial-mode] .machine-card.is-active {
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:translateX(0);
  }
  body[data-initial-mode] .machine-card:first-child {border-top:1px solid rgba(161,122,63,.24);}
  body[data-initial-mode] .machine-media {
    grid-row:1;
    width:100%;
    height:112px;
    margin:0;
  }
  body[data-initial-mode] .machine-media img {max-height:108px;}
  body[data-initial-mode] .machine-heading,
  body[data-initial-mode] .machine-use,
  body[data-initial-mode] .machine-summary,
  body[data-initial-mode] .machine-drinks {grid-column:1;}
  body[data-initial-mode] .machine-heading {grid-row:2;}
  body[data-initial-mode] .machine-use {grid-row:3;}
  body[data-initial-mode] .machine-summary,
  body[data-initial-mode] .machine-drinks {grid-row:4;}
  body[data-initial-mode] .machine-card__action {
    grid-column:1;
    grid-row:5;
    justify-self:center;
    align-self:end;
  }
  body[data-initial-mode] .machines-carousel-controls {
    display:flex;
    align-items:center;
    justify-content:space-between;
    position:absolute;
    z-index:2;
    /* 16 px de margen superior + mitad de la zona visual de 112 px. */
    top:72px;
    /* Las flechas viven dentro de la ficha, no sobre sus bordes. */
    left:32px;
    width:calc(100% - 64px);
    margin:0;
    pointer-events:none;
    transform:translateY(-50%);
  }
  body[data-initial-mode] .machines-carousel-button {
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    padding:0;
    border:1px solid rgba(201,168,106,.58);
    border-radius:50%;
    background:transparent;
    color:var(--coffee);
    font:700 24px/1 var(--font-body);
    cursor:pointer;
    pointer-events:auto;
    transition:background-color .18s ease,opacity .18s ease;
  }
  body[data-initial-mode] .machines-carousel-button:hover {background:rgba(255,255,255,.16);}
  body[data-initial-mode] .machines-carousel-button:disabled {opacity:0;pointer-events:none;}
  body[data-initial-mode] .machines-carousel-button:focus-visible {outline:3px solid rgba(201,168,106,.5);outline-offset:3px;}
  body[data-initial-mode] .machines-carousel-status {display:none;}
  body[data-initial-mode] .machines-compare {margin:18px auto 0;}
}

@media (min-width:1200px) {
  .machines-carousel-controls {display:none;}
}

/* Testimonios: controles discretos sobre la tarjeta, como el catálogo móvil. */
@media (max-width:1199px) {
  .testimonials {position:relative;}
  .testimonials__controls {
    position:absolute;
    z-index:2;
    /* La imagen móvil usa proporción 4:3: centramos las flechas dentro de ella. */
    top:min(180px, calc((100vw - 48px) * .375));
    left:16px;
    display:flex;
    justify-content:space-between;
    width:calc(100% - 32px);
    margin:0;
    padding:0;
    pointer-events:none;
    transform:translateY(-50%);
  }
  .testimonials__button {
    width:40px;
    height:40px;
    border-color:rgba(201,168,106,.58);
    background:transparent;
    pointer-events:auto;
  }
  .testimonials__button:hover {background:rgba(255,255,255,.16);}
  .testimonials__dots {display:none;}
}

/* Control único para carruseles: compacto, blanco y de lectura discreta. */
@media (max-width:1199px) {
  body[data-initial-mode] .machines-carousel-button,
  .testimonials__button {
    width:34px;
    height:34px;
    border:1px solid rgba(161,122,63,.34);
    background:rgba(255,255,255,.9);
    color:var(--coffee-soft, #6d5b4d);
    font:500 19px/1 var(--font-body);
    box-shadow:0 2px 8px rgba(43,31,24,.06);
  }
  body[data-initial-mode] .machines-carousel-button:hover,
  .testimonials__button:hover {background:#fff;}
}

/* Solicitud abierta de marca: complementa la selección sin competir con los logos. */
.coffee-brands-request{
  margin:18px auto 0;
  color:var(--coffee-soft);
  font-family:var(--font-body);
  font-size:14px;
  font-weight:400;
  line-height:1.5;
  text-align:center;
}
@media(max-width:1199px) {
  .coffee-brands-request{margin-top:14px;font-size:13px;}
}

.coffee-brands-hint{
  margin:6px 0 18px;
  color:var(--coffee-soft);
  font-family:var(--font-body);
  font-size:13px;
  line-height:1.45;
  text-align:center;
}
@media(min-width:1200px) {.coffee-brands-hint{display:none;}}

/* En móvil, sabores y extras siguen la misma lectura compacta de las marcas de café. */
.event-extras__hint{display:none;}
@media(max-width:1199px) {
  body[data-initial-mode] .event-extras__hint{
    display:block;
    margin:6px 0 18px;
    color:var(--coffee-soft);
    font-family:var(--font-body);
    font-size:13px;
    line-height:1.45;
    text-align:center;
  }
  body[data-initial-mode] .event-extras__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    max-width:none;
  }
  body[data-initial-mode] .event-extras__item,
  body[data-initial-mode] .event-extras__item--supplies{
    display:flex;
    grid-column:auto;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    min-height:112px;
    padding:6px 0;
    border:0;
    border-radius:0;
    background:none;
    text-align:center;
  }
  body[data-initial-mode] .event-extras__icon{
    flex:0 0 64px;
    width:64px;
    height:64px;
    padding:11px;
  }
  body[data-initial-mode] .event-extras__item h3{
    margin:0;
    color:var(--navy);
    font-size:11px;
    font-weight:500;
    line-height:1.35;
    letter-spacing:.055em;
    text-align:center;
  }
  body[data-initial-mode] .event-extras__item .event-extras__flavors,
  body[data-initial-mode] .event-extras__item .event-extras__more{display:none;}
}

/* En escritorio la ficha completa es la acción; el signo + dejaría de duplicarla. */
.machine-details-hint{display:none;}
@media(min-width:1200px) {
  body[data-initial-mode] .machine-details-hint{
    display:block;
    margin:-4px auto 18px;
    color:var(--coffee-soft);
    font-family:var(--font-body);
    font-size:14px;
    font-weight:400;
    line-height:1.5;
    text-align:center;
  }
  body[data-initial-mode] .machine-card__action{display:none;}
}

/* Testimonios en escritorio: navegación lateral, sin puntos compitiendo con la ficha. */
@media(min-width:1200px){
  .testimonials{position:relative;}
  .testimonials__controls{
    position:absolute;
    z-index:2;
    top:50%;
    left:-56px;
    display:flex;
    justify-content:space-between;
    width:calc(100% + 112px);
    margin:0;
    padding:0;
    pointer-events:none;
    transform:translateY(-50%);
  }
  .testimonials__dots{display:none;}
  .testimonials__button{
    width:38px;
    height:38px;
    border:1px solid rgba(161,122,63,.34);
    background:rgba(255,255,255,.9);
    color:var(--coffee-soft,#6d5b4d);
    font:500 20px/1 var(--font-body);
    box-shadow:0 2px 8px rgba(43,31,24,.06);
    pointer-events:auto;
  }
  .testimonials__button:hover{background:#fff;}
}

/* En escritorio, logos y bloques completos ya son la acción: no se repite con +. */
@media(min-width:1200px) {
  body[data-initial-mode] .coffee-brands-hint,
  body[data-initial-mode] .event-extras__hint{
    display:block;
    margin:6px 0 18px;
    color:var(--coffee-soft);
    font-family:var(--font-body);
    font-size:14px;
    font-weight:400;
    line-height:1.5;
    text-align:center;
  }
  body[data-initial-mode] .coffee-brands-section .coffee-brand-more,
  body[data-initial-mode] .event-extras .event-extras__more{display:none;}
}

/* Herramientas visibles solo durante la revisión de la versión de prueba. */
.preview-notice{
  width:min(440px,calc(100vw - 32px));
  max-width:none;
  margin:auto;
  padding:0;
  border:0;
  border-radius:20px;
  background:#fff;
  color:var(--coffee);
  box-shadow:0 24px 72px rgba(43,31,24,.25);
}
.preview-notice::backdrop{background:rgba(27,24,20,.5);}
.preview-notice__panel{position:relative;padding:28px;}
.preview-notice__eyebrow{
  display:block;
  margin:0 0 9px;
  color:#795823;
  font:500 12px/1.4 var(--font-body);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.preview-notice h1{margin:0 0 12px;color:var(--navy);font:600 24px/1.2 var(--font-body);}
.preview-notice p{margin:0;color:var(--coffee-soft);font:400 15px/1.55 var(--font-body);}
.preview-notice__close{
  min-height:44px;
  margin-top:22px;
  padding:10px 18px;
  border:1px solid #c9a86a;
  border-radius:10px;
  background:#c9a86a;
  color:var(--navy);
  font:600 14px/1.2 var(--font-body);
  cursor:pointer;
}
.preview-notice__close:focus-visible{outline:3px solid rgba(201,168,106,.55);outline-offset:3px;}
@media(max-width:1199px){
  .preview-notice__panel{padding:24px 20px;}
  .preview-notice h1{font-size:21px;}
}

/* Subtítulo de sabores: misma retícula centrada que el título de la sección. */
body[data-initial-mode] .event-extras__hint{
  width:min(100%,900px);
  max-width:900px;
  margin:6px auto 18px;
  text-align:center;
}

/* Eventos: la franja de bebidas comienza en la misma línea, aunque el uso ocupe una o dos líneas. */
@media(min-width:1200px){
  body[data-initial-mode="eventos"] .machine-use{min-height:42px;}
}

/* Cierre de modales: X café, sin alterar el indicador de foco. */
:is(.machine-modal__close, .coffee-details-close, .precotizar-close, .result-dialog__close),
:is(.machine-modal__close, .coffee-details-close, .precotizar-close, .result-dialog__close):hover,
:is(.machine-modal__close, .coffee-details-close, .precotizar-close, .result-dialog__close):focus-visible{color:#2b1f18;}

/* En el carrusel compacto, la ficha se lee como una sola columna. */
@media (max-width:1199px) {
  body[data-initial-mode] .machine-heading,
  body[data-initial-mode] .machine-use,
  body[data-initial-mode] .machine-summary,
  body[data-initial-mode] .machine-drinks {
    text-align:center;
  }
  body[data-initial-mode] .machine-drinks {
    justify-self:center;
  }
}
