/* =========================================================
   UX refresh · Logos oficiales + navegación + iconografía
   Mobile first
   ========================================================= */

/* ----- Portada: logos como zona de marca horizontal ----- */
.home-wordmark{
  padding:12px 18px;
}
.home-wordmark img{
  width:min(100%,440px);
  max-height:78px;
}
.home-intro p{
  font-size:13px;
}
.home-links{
  gap:10px;
}
.business-link{
  grid-template-columns:minmax(96px,112px) minmax(0,1fr) 34px;
  min-height:96px;
  gap:12px;
  padding:10px 10px 10px 12px;
  border-radius:18px;
}
.business-icon{
  width:112px;
  height:72px;
  padding:4px 9px 4px 2px;
  border:0;
  border-right:1px solid #e6edf4;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
  background:transparent;
}
.business-icon img{
  width:100%;
  height:100%;
  max-width:104px;
  max-height:62px;
  object-fit:contain;
}
.business-text{
  gap:6px;
}
.business-text strong{
  font-size:16.5px;
  line-height:1.16;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.business-text small{
  font-size:13px;
  line-height:1.28;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.arrow{
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#edf5fd;
  color:#0b5faa;
  font-size:0;
  transform:none;
  border:1px solid #d9e7f4;
}
.arrow svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* ----- Barra superior interna: volver visible y comprensible ----- */
.lam-bar{
  min-height:66px;
  padding:8px 12px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 48px;
  gap:8px;
  justify-items:center;
  background:rgba(255,255,255,.98);
}
.topbar-back{
  width:44px;
  height:44px;
  border-radius:12px;
  display:grid;
  place-items:center;
  justify-self:start;
  color:#0b4f8d;
  background:#eff5fb;
  border:1px solid #d8e5f2;
  transition:background .18s ease,transform .18s ease;
}
.topbar-back svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.topbar-brand{
  min-width:0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.lam-bar-wordmark{
  width:min(100%,220px);
  max-height:42px;
}
.topbar-spacer{
  width:44px;
  height:44px;
  justify-self:end;
}

/* ----- Logos internos: priorizar lectura, no compactar en exceso ----- */
.company-visual,
.theme-industrial .company-visual,
.theme-property .company-visual,
.theme-cafe .company-visual,
.theme-laundry .company-visual,
.theme-hosteria .company-visual{
  min-height:260px;
  padding-top:22px;
  padding-bottom:22px;
}
.company-logo,
.theme-industrial .company-logo,
.theme-property .company-logo,
.theme-cafe .company-logo,
.theme-laundry .company-logo,
.theme-hosteria .company-logo{
  width:min(84vw,310px);
  margin-bottom:10px;
}
.company-logo img,
.theme-industrial .company-logo img,
.theme-property .company-logo img,
.theme-cafe .company-logo img,
.theme-laundry .company-logo img,
.theme-hosteria .company-logo img{
  max-height:122px;
}
.theme-property .company-logo{width:min(84vw,290px)}
.theme-property .company-logo img{max-height:92px}
.theme-hosteria .company-logo{width:min(84vw,315px)}
.theme-hosteria .company-logo img{max-height:106px}
.theme-cafe .company-logo img{max-height:118px}
.theme-laundry .company-logo img{max-height:118px}

/* ----- Acciones: iconos y chevrons consistentes ----- */
.contact-button{
  grid-template-columns:56px minmax(0,1fr) 34px;
  gap:12px;
  min-height:76px;
  padding-right:10px;
}
.contact-copy small{
  font-size:12.8px;
}
.contact-chevron{
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.14);
  font-size:0;
}
.contact-chevron svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.location-button .contact-chevron,
.info-button .contact-chevron{
  background:#edf5fb;
}

/* ----- Beneficios: reemplazar símbolos tipográficos ----- */
.highlight{
  font-size:10.8px;
  gap:7px;
}
.highlight-symbol{
  width:36px;
  height:36px;
  border-radius:11px;
  display:grid;
  place-items:center;
  background:rgba(11,116,209,.10);
  color:#0b75cf;
}
.highlight-symbol svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.theme-industrial .highlight-symbol{
  background:rgba(255,255,255,.08);
  color:#75bdf6;
}

/* ----- Volver inferior: acción secundaria, no enlace subrayado pequeño ----- */
.back-button{
  min-height:48px;
  width:min(100%,290px);
  margin:17px auto 0;
  padding:10px 16px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:#24435f;
  font-size:12.5px;
  font-weight:700;
  text-decoration:none;
  border:1px solid rgba(36,67,95,.20);
  background:rgba(255,255,255,.55);
}
.back-button svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.theme-industrial .back-button{
  color:#dbe9f9;
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.16);
}

.topbar-back:focus-visible,
.topbar-brand:focus-visible,
.back-button:focus-visible{
  outline:3px solid #f4c766;
  outline-offset:3px;
}

@media (max-width:360px){
  .business-link{
    grid-template-columns:94px minmax(0,1fr) 30px;
    min-height:90px;
    gap:9px;
    padding-left:9px;
  }
  .business-icon{
    width:94px;
    height:68px;
    padding-right:6px;
  }
  .business-icon img{
    max-width:88px;
    max-height:56px;
  }
  .business-text strong{font-size:15.5px}
  .business-text small{font-size:12px}

  .company-visual,
  .theme-industrial .company-visual,
  .theme-property .company-visual,
  .theme-cafe .company-visual,
  .theme-laundry .company-visual,
  .theme-hosteria .company-visual{
    min-height:225px;
  }
  .company-logo,
  .theme-industrial .company-logo,
  .theme-property .company-logo,
  .theme-cafe .company-logo,
  .theme-laundry .company-logo,
  .theme-hosteria .company-logo{
    width:min(82vw,270px);
  }
  .company-logo img,
  .theme-industrial .company-logo img,
  .theme-cafe .company-logo img,
  .theme-laundry .company-logo img{
    max-height:105px;
  }
  .theme-property .company-logo img{max-height:80px}
  .theme-hosteria .company-logo img{max-height:94px}

  .contact-button{
    grid-template-columns:50px minmax(0,1fr) 30px;
    min-height:68px;
  }
}

@media (max-width:330px){
  .home-screen{padding-left:10px;padding-right:10px}
  .business-link{
    grid-template-columns:86px minmax(0,1fr) 28px;
    gap:8px;
    min-height:86px;
  }
  .business-icon{width:86px;height:64px}
  .business-icon img{max-width:80px;max-height:52px}
  .business-text strong{font-size:14.5px}
  .business-text small{font-size:11.5px}
  .arrow{width:28px;height:28px}

  .lam-bar{
    min-height:58px;
    grid-template-columns:44px minmax(0,1fr) 44px;
    padding:6px 8px;
  }
  .topbar-back{width:40px;height:40px}
  .lam-bar-wordmark{width:min(100%,185px);max-height:36px}
  .topbar-spacer{width:40px;height:40px}
}

@media (min-width:600px) and (max-width:899px){
  .business-link{
    grid-template-columns:118px minmax(0,1fr) 34px;
    min-height:104px;
  }
  .business-icon{width:118px;height:78px}
  .business-icon img{max-width:110px;max-height:66px}
}

@media (min-width:900px){
  .business-link{
    grid-template-columns:118px minmax(0,1fr) 38px;
    min-height:116px;
    padding:14px 14px 14px 16px;
  }
  .business-icon{
    width:118px;
    height:82px;
    padding-right:12px;
  }
  .business-icon img{
    max-width:108px;
    max-height:70px;
  }
  .business-text strong{font-size:19px}
  .business-text small{font-size:13.5px}
  .arrow{width:36px;height:36px}

  .lam-bar{
    min-height:76px;
    grid-template-columns:54px minmax(0,1fr) 54px;
    padding:10px 24px;
  }
  .topbar-back{width:48px;height:48px}
  .lam-bar-wordmark{width:min(100%,260px);max-height:48px}
  .topbar-spacer{width:48px;height:48px}

  .company-logo,
  .theme-industrial .company-logo,
  .theme-property .company-logo,
  .theme-cafe .company-logo,
  .theme-laundry .company-logo,
  .theme-hosteria .company-logo{
    width:min(390px,86%);
  }
  .company-logo img,
  .theme-industrial .company-logo img,
  .theme-cafe .company-logo img,
  .theme-laundry .company-logo img{
    max-height:150px;
  }
  .theme-property .company-logo img{max-height:105px}
  .theme-hosteria .company-logo img{max-height:125px}

  .contact-button{
    grid-template-columns:64px minmax(0,1fr) 36px;
  }
  .back-button{
    margin-top:24px;
    font-size:13px;
  }
}
