/* =========================================================
   LINKTREE MULTIMARCA
   ÓPTICA LA TERMINAL
   NEGOCIOS Y SERVICIOS
   GESTORES & TRÁMITES
========================================================= */


/* =========================================================
   RESET
========================================================= */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;

  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;

  color: #172033;
  background: #f3f7fa;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}


/* =========================================================
   VARIABLES
========================================================= */

:root {

  --white: #ffffff;

  --bg-main: #f3f7fa;
  --bg-soft: #f8fafc;

  --text: #172033;
  --text-soft: #68778b;

  --border: #e3eaf0;

  --blue-dark: #062f67;
  --blue: #09448f;

  --radius-sm: 14px;
  --radius-md: 20px;
  --radius-lg: 28px;
  --radius-xl: 36px;

  --shadow-soft:
    0 10px 30px rgba(20, 42, 70, 0.06);

  --shadow-card:
    0 28px 80px rgba(20, 48, 80, 0.12);

  --transition:
    0.3s cubic-bezier(0.22, 1, 0.36, 1);


  /* ÓPTICA */

  --optica-blue: #09448f;
  --optica-turquoise: #0eadb3;
  --optica-red: #c70502;
  --optica-soft: #edf9fa;


  /* NEGOCIOS */

  --nys-blue: #174b8c;
  --nys-gold: #da9829;
  --nys-soft: #fff8eb;


  /* GESTORES */

  --gyt-blue: #174b8c;
  --gyt-yellow: #f3b61f;
  --gyt-red: #d42b2b;
  --gyt-soft: #fff9e9;
}


/* =========================================================
   PÁGINA
========================================================= */

.linktree-page {
  position: relative;

  min-height: 100vh;

  overflow-x: hidden;

  background:
    linear-gradient(
      180deg,
      #f8fbfd 0%,
      #f1f6f9 45%,
      #f8fafc 100%
    );
}


/* =========================================================
   FONDO
========================================================= */

.linktree-bg {
  position: fixed;

  inset: 0;

  z-index: 0;

  overflow: hidden;

  pointer-events: none;
}

.bg-shape {
  position: absolute;

  display: block;

  border-radius: 999px;
}

.bg-shape-1 {
  width: 440px;
  height: 440px;

  top: -210px;
  left: -190px;

  background:
    radial-gradient(
      circle,
      rgba(14, 173, 179, 0.17) 0%,
      rgba(14, 173, 179, 0.07) 48%,
      transparent 72%
    );
}

.bg-shape-2 {
  width: 580px;
  height: 580px;

  top: 26%;
  right: -330px;

  background:
    radial-gradient(
      circle,
      rgba(23, 75, 140, 0.14) 0%,
      rgba(23, 75, 140, 0.04) 52%,
      transparent 73%
    );
}

.bg-shape-3 {
  width: 500px;
  height: 500px;

  bottom: -290px;
  left: 8%;

  background:
    radial-gradient(
      circle,
      rgba(218, 152, 41, 0.10) 0%,
      transparent 70%
    );
}


/* =========================================================
   WRAPPER
========================================================= */

.linktree-wrapper {
  position: relative;

  z-index: 2;

  width: 100%;

  display: flex;

  justify-content: center;

  padding:
    48px
    20px
    80px;
}


/* =========================================================
   TARJETA PRINCIPAL
========================================================= */

.linktree-card {
  position: relative;

  width: 100%;
  max-width: 720px;

  padding:
    38px
    38px
    34px;

  border:
    1px solid rgba(255, 255, 255, 0.9);

  border-radius:
    var(--radius-xl);

  background:
    rgba(255, 255, 255, 0.94);

  box-shadow:
    var(--shadow-card);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  overflow: hidden;
}

.linktree-card::before {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 6px;

  background:
    linear-gradient(
      90deg,
      var(--optica-turquoise) 0%,
      var(--optica-blue) 28%,
      var(--nys-gold) 58%,
      var(--gyt-yellow) 78%,
      var(--gyt-red) 100%
    );
}


/* =========================================================
   HEADER
========================================================= */

.multi-brand-header {
  display: flex;

  flex-direction: column;

  align-items: center;

  text-align: center;

  padding-top: 8px;
}

.header-eyebrow {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  margin-bottom: 24px;

  padding:
    8px
    14px;

  border-radius: 999px;

  color: #28527f;

  background: #edf4f9;

  font-size: 11px;
  font-weight: 800;

  letter-spacing: 0.08em;

  text-transform: uppercase;
}


/* =========================================================
   LOGOS
========================================================= */

.brand-logos {
  width: 100%;

  display: grid;

  grid-template-columns:
    1fr
    1px
    1fr
    1px
    1fr;

  align-items: center;

  gap: 15px;

  margin-bottom: 30px;

  padding:
    20px
    18px;

  border-radius: 24px;

  background: #ffffff;

  border:
    1px solid var(--border);

  box-shadow:
    var(--shadow-soft);

  overflow: hidden;
}

.brand-logo-item {
  position: relative;

  height: 92px;

  display: flex;

  align-items: center;
  justify-content: center;

  padding: 8px;
}

.brand-logo-item img {
  width: 100%;
  max-width: 175px;

  max-height: 74px;

  object-fit: contain;
}

.brand-logo-divider {
  width: 1px;
  height: 55px;

  background:
    linear-gradient(
      180deg,
      transparent,
      #d8e1e8,
      transparent
    );
}


/* =========================================================
   TITULAR
========================================================= */

.header-copy {
  max-width: 590px;
}

.header-copy h1 {
  margin: 0;

  color: var(--text);

  font-size:
    clamp(
      35px,
      6vw,
      52px
    );

  font-weight: 800;

  line-height: 1.02;

  letter-spacing: -0.045em;
}

.header-copy h1 span {
  display: block;

  color: var(--blue);
}

.header-copy p {
  max-width: 510px;

  margin:
    17px
    auto
    0;

  color: var(--text-soft);

  font-size: 15px;

  line-height: 1.65;
}


/* =========================================================
   BANNERS 16:9
========================================================= */

.business-banner-card {
  position: relative;

  width: 100%;

  margin-top: 36px;

  padding: 7px;

  border-radius: 30px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.95),
      rgba(242, 247, 250, 0.95)
    );

  border:
    1px solid rgba(220, 230, 237, 0.9);

  box-shadow:
    0 18px 45px rgba(30, 55, 80, 0.08);

  transition:
    transform var(--transition),
    box-shadow var(--transition);
}


/* BANNER PRINCIPAL */

.business-banner {
  position: relative;

  width: 100%;

  aspect-ratio: 16 / 9;

  overflow: hidden;

  border-radius: 24px;

  background: #eef3f7;

  isolation: isolate;
}


/* IMAGEN */

.business-banner img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  transition:
    transform 0.65s
    cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.5s ease;
}


/* OVERLAY SUAVE */

.business-banner::after {
  content: "";

  position: absolute;

  inset: 0;

  z-index: 2;

  pointer-events: none;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.02) 0%,
      transparent 54%,
      rgba(8, 26, 45, 0.12) 100%
    );
}


/* BRILLO SUPERIOR */

.business-banner::before {
  content: "";

  position: absolute;

  z-index: 3;

  top: 0;
  left: 5%;

  width: 90%;
  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255, 255, 255, 0.9),
      transparent
    );

  pointer-events: none;
}


/* HOVER */

.business-banner-card:hover {
  transform:
    translateY(-4px);
}

.business-banner-card:hover img {
  transform:
    scale(1.035);
}


/* =========================================================
   BANNER ÓPTICA
========================================================= */

.business-banner-optica {
  box-shadow:
    0 14px 34px rgba(14, 173, 179, 0.16);
}

.business-banner-optica::after {
  background:
    linear-gradient(
      180deg,
      rgba(14, 173, 179, 0.01),
      transparent 60%,
      rgba(9, 68, 143, 0.12)
    );
}

.business-banner-card:has(.business-banner-optica) {
  background:
    linear-gradient(
      145deg,
      rgba(237, 249, 250, 0.95),
      rgba(255, 255, 255, 0.98)
    );

  border-color:
    rgba(14, 173, 179, 0.18);

  box-shadow:
    0 18px 42px rgba(14, 173, 179, 0.10);
}


/* =========================================================
   BANNER NEGOCIOS Y SERVICIOS
========================================================= */

.business-banner-nys {
  box-shadow:
    0 14px 34px rgba(218, 152, 41, 0.16);
}

.business-banner-nys::after {
  background:
    linear-gradient(
      180deg,
      rgba(218, 152, 41, 0.01),
      transparent 60%,
      rgba(23, 75, 140, 0.12)
    );
}

.business-banner-card:has(.business-banner-nys) {
  background:
    linear-gradient(
      145deg,
      rgba(255, 248, 235, 0.96),
      rgba(255, 255, 255, 0.98)
    );

  border-color:
    rgba(218, 152, 41, 0.18);

  box-shadow:
    0 18px 42px rgba(218, 152, 41, 0.10);
}


/* =========================================================
   BANNER GESTORES
========================================================= */

.business-banner-gyt {
  box-shadow:
    0 14px 34px rgba(23, 75, 140, 0.16);
}

.business-banner-gyt::after {
  background:
    linear-gradient(
      180deg,
      rgba(243, 182, 31, 0.01),
      transparent 60%,
      rgba(23, 75, 140, 0.14)
    );
}

.business-banner-card:has(.business-banner-gyt) {
  background:
    linear-gradient(
      145deg,
      rgba(255, 249, 233, 0.96),
      rgba(255, 255, 255, 0.98)
    );

  border-color:
    rgba(243, 182, 31, 0.20);

  box-shadow:
    0 18px 42px rgba(23, 75, 140, 0.10);
}


/* =========================================================
   SECCIONES
========================================================= */

.service-section {
  position: relative;

  margin-top: 16px;

  padding: 25px;

  border-radius: 26px;

  border:
    1px solid var(--border);

  background: white;

  box-shadow:
    var(--shadow-soft);

  overflow: hidden;
}

.service-section::before {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 4px;
}


/* =========================================================
   ÓPTICA
========================================================= */

.service-optica {
  --section-main: var(--optica-blue);
  --section-accent: var(--optica-turquoise);
  --section-soft: var(--optica-soft);
}

.service-optica::before {
  background:
    linear-gradient(
      90deg,
      var(--optica-blue),
      var(--optica-turquoise)
    );
}


/* =========================================================
   NEGOCIOS
========================================================= */

.service-nys {
  --section-main: var(--nys-blue);
  --section-accent: var(--nys-gold);
  --section-soft: var(--nys-soft);
}

.service-nys::before {
  background:
    linear-gradient(
      90deg,
      var(--nys-blue),
      var(--nys-gold)
    );
}


/* =========================================================
   GESTORES
========================================================= */

.service-gyt {
  --section-main: var(--gyt-blue);
  --section-accent: var(--gyt-yellow);
  --section-soft: var(--gyt-soft);
}

.service-gyt::before {
  background:
    linear-gradient(
      90deg,
      var(--gyt-blue),
      var(--gyt-yellow),
      var(--gyt-red)
    );
}


/* =========================================================
   CABECERAS SECCIONES
========================================================= */

.service-heading {
  display: flex;

  align-items: center;

  gap: 16px;
}

.service-brand-mini {
  width: 100px;
  min-width: 100px;

  height: 72px;

  display: flex;

  align-items: center;
  justify-content: center;

  padding: 8px;

  border-radius: 17px;

  background:
    var(--section-soft);

  border:
    1px solid rgba(20, 50, 80, 0.06);

  overflow: hidden;
}

.service-brand-mini img {
  width: 100%;
  height: 100%;

  object-fit: contain;
}

.service-label {
  display: block;

  margin-bottom: 5px;

  color: var(--section-accent);

  font-size: 10px;
  font-weight: 900;

  letter-spacing: 0.08em;

  text-transform: uppercase;
}

.service-heading h2 {
  margin: 0;

  color: var(--section-main);

  font-size: 20px;

  line-height: 1.18;

  letter-spacing: -0.02em;
}


/* =========================================================
   UBICACIÓN
========================================================= */

.service-location {
  display: inline-flex;

  align-items: center;

  gap: 7px;

  margin-top: 15px;

  padding:
    7px
    11px;

  border-radius: 999px;

  color:
    var(--section-main);

  background:
    var(--section-soft);

  font-size: 11px;
  font-weight: 750;
}

.service-location svg {
  width: 15px;
  height: 15px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.9;

  stroke-linecap: round;
  stroke-linejoin: round;
}


/* =========================================================
   BOTONES
========================================================= */

.linktree-links {
  display: flex;

  flex-direction: column;

  gap: 10px;

  margin-top: 19px;
}

.link-button {
  position: relative;

  width: 100%;

  min-height: 73px;

  display: grid;

  grid-template-columns:
    46px
    1fr
    28px;

  align-items: center;

  gap: 13px;

  padding:
    12px
    14px;

  border:
    1px solid #e3eaf0;

  border-radius: 18px;

  background: #ffffff;

  box-shadow:
    0 7px 20px rgba(20, 46, 72, 0.04);

  overflow: hidden;

  transition:
    transform var(--transition),
    border-color var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.link-button::before {
  content: "";

  position: absolute;

  left: 0;
  top: 50%;

  width: 3px;
  height: 45%;

  border-radius:
    0
    5px
    5px
    0;

  background:
    var(--section-accent);

  transform:
    translateY(-50%)
    scaleY(0);

  transition:
    transform var(--transition);
}

.link-button:hover {
  transform:
    translateY(-2px);

  box-shadow:
    0 13px 30px rgba(20, 45, 72, 0.08);
}

.link-button:hover::before {
  transform:
    translateY(-50%)
    scaleY(1);
}


/* =========================================================
   ICONOS
========================================================= */

.link-icon {
  width: 46px;
  height: 46px;

  display: flex;

  align-items: center;
  justify-content: center;

  border-radius: 14px;

  color:
    var(--section-main);

  background:
    var(--section-soft);

  transition:
    color var(--transition),
    background var(--transition),
    transform var(--transition);
}

.link-icon svg {
  width: 22px;
  height: 22px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.8;

  stroke-linecap: round;
  stroke-linejoin: round;
}

.link-button:hover .link-icon {
  color: white;

  background:
    var(--section-main);

  transform:
    scale(1.04);
}


/* =========================================================
   TEXTO BOTÓN
========================================================= */

.link-text {
  min-width: 0;

  display: flex;

  flex-direction: column;

  align-items: flex-start;

  text-align: left;
}

.link-text strong {
  color: var(--text);

  font-size: 14px;
  font-weight: 780;

  line-height: 1.22;
}

.link-text small {
  margin-top: 4px;

  color: var(--text-soft);

  font-size: 11px;

  line-height: 1.35;
}

.link-arrow {
  display: flex;

  align-items: center;
  justify-content: center;

  color:
    var(--section-main);

  font-size: 20px;

  transition:
    transform var(--transition);
}

.link-button:hover .link-arrow {
  transform:
    translateX(4px);
}


/* =========================================================
   CTA ÓPTICA
========================================================= */

.link-button-optica-primary {
  min-height: 78px;

  border: 0;

  background:
    linear-gradient(
      135deg,
      #078b91,
      var(--optica-turquoise)
    );

  box-shadow:
    0 14px 32px rgba(14, 173, 179, 0.19);
}

.link-button-optica-primary::before {
  display: none;
}

.link-button-optica-primary .link-icon {
  color: white;

  background:
    rgba(255, 255, 255, 0.16);
}

.link-button-optica-primary .link-text strong {
  color: white;

  font-size: 15px;
}

.link-button-optica-primary .link-text small {
  color:
    rgba(255, 255, 255, 0.82);
}

.link-button-optica-primary .link-arrow {
  color: white;
}

.link-button-optica-primary:hover {
  box-shadow:
    0 18px 38px rgba(14, 173, 179, 0.28);
}

.link-button-optica-primary:hover .link-icon {
  color: white;

  background:
    rgba(255, 255, 255, 0.22);
}


/* =========================================================
   UBICACIÓN ÓPTICA
========================================================= */

.link-button-location {
  background:
    linear-gradient(
      180deg,
      #ffffff,
      #f8fbfd
    );
}


/* =========================================================
   NEGOCIOS
========================================================= */

.link-button-nys {
  border-color:
    rgba(218, 152, 41, 0.22);

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #fffaf1
    );
}

.link-button-nys .link-icon {
  color:
    var(--nys-blue);

  background:
    #fff2d7;
}

.link-button-nys:hover .link-icon {
  color: white;

  background:
    var(--nys-gold);
}


/* =========================================================
   GESTORES
========================================================= */

.link-button-gyt {
  border-color:
    rgba(243, 182, 31, 0.24);

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #fffaf0
    );
}

.link-button-gyt .link-icon {
  color:
    var(--gyt-blue);

  background:
    #fff3cb;
}

.link-button-gyt:hover .link-icon {
  color: white;

  background:
    var(--gyt-blue);
}


/* =========================================================
   UBICACIÓN COMPARTIDA
========================================================= */

.shared-location-card {
  position: relative;

  display: grid;

  grid-template-columns:
    52px
    1fr
    auto;

  align-items: center;

  gap: 15px;

  margin-top: 24px;

  padding: 20px;

  border-radius: 23px;

  color: white;

  background:
    linear-gradient(
      135deg,
      #123f78 0%,
      #174b8c 55%,
      #205d9f 100%
    );

  box-shadow:
    0 18px 42px rgba(23, 75, 140, 0.20);

  overflow: hidden;
}

.shared-location-card::after {
  content: "";

  position: absolute;

  width: 180px;
  height: 180px;

  right: -80px;
  top: -120px;

  border-radius: 50%;

  background:
    rgba(218, 152, 41, 0.20);

  pointer-events: none;
}

.shared-location-icon {
  position: relative;

  z-index: 2;

  width: 52px;
  height: 52px;

  display: flex;

  align-items: center;
  justify-content: center;

  border-radius: 16px;

  background:
    rgba(255, 255, 255, 0.14);
}

.shared-location-icon svg {
  width: 25px;
  height: 25px;

  fill: none;

  stroke: white;

  stroke-width: 1.8;

  stroke-linecap: round;
  stroke-linejoin: round;
}

.shared-location-copy {
  position: relative;

  z-index: 2;

  display: flex;

  flex-direction: column;

  align-items: flex-start;
}

.shared-location-copy span {
  color:
    rgba(255, 255, 255, 0.68);

  font-size: 10px;
  font-weight: 700;

  line-height: 1.3;

  text-transform: uppercase;

  letter-spacing: 0.04em;
}

.shared-location-copy strong {
  margin-top: 3px;

  color: white;

  font-size: 15px;

  line-height: 1.2;
}

.shared-location-copy p {
  margin:
    5px
    0
    0;

  color:
    rgba(255, 255, 255, 0.78);

  font-size: 11px;
}

.shared-location-button {
  position: relative;

  z-index: 2;

  display: inline-flex;

  align-items: center;
  justify-content: center;

  gap: 8px;

  min-height: 43px;

  padding:
    0
    14px;

  border-radius: 13px;

  color:
    var(--nys-blue);

  background: white;

  font-size: 11px;
  font-weight: 800;

  white-space: nowrap;

  transition:
    transform var(--transition),
    background var(--transition);
}

.shared-location-button:hover {
  transform:
    translateY(-2px);

  background:
    #fff3d9;
}

.shared-location-button span {
  font-size: 18px;
}


/* =========================================================
   AYUDA
========================================================= */

.help-card {
  display: flex;

  align-items: flex-start;

  gap: 14px;

  margin-top: 18px;

  padding: 18px;

  border-radius: 20px;

  background:
    linear-gradient(
      180deg,
      #f8fafc,
      #f4f7f9
    );

  border:
    1px solid var(--border);
}

.help-icon {
  width: 38px;
  min-width: 38px;
  height: 38px;

  display: flex;

  align-items: center;
  justify-content: center;

  border-radius: 12px;

  color: white;

  background:
    linear-gradient(
      135deg,
      var(--blue-dark),
      var(--blue)
    );

  font-size: 17px;
  font-weight: 800;
}

.help-card strong {
  display: block;

  color: var(--text);

  font-size: 13px;
}

.help-card p {
  margin:
    5px
    0
    0;

  color: var(--text-soft);

  font-size: 11px;

  line-height: 1.5;
}


/* =========================================================
   FOOTER
========================================================= */

.linktree-footer {
  margin-top: 32px;

  padding-top: 26px;

  border-top:
    1px solid var(--border);

  text-align: center;
}

.footer-logos {
  display: flex;

  align-items: center;
  justify-content: center;

  gap: 25px;

  flex-wrap: wrap;
}

.footer-logos img {
  width: auto;

  max-width: 110px;
  max-height: 42px;

  object-fit: contain;
}

.linktree-footer > p {
  margin:
    17px
    0
    0;

  color: var(--text-soft);

  font-size: 11px;
}

.linktree-footer .footer-copy {
  margin-top: 8px;

  color: #99a5b2;

  font-size: 10px;
}


/* =========================================================
   ANIMACIONES
========================================================= */

@keyframes fadeUp {

  from {
    opacity: 0;

    transform:
      translateY(17px);
  }

  to {
    opacity: 1;

    transform:
      translateY(0);
  }

}

.linktree-card {
  animation:
    fadeUp
    0.65s
    cubic-bezier(0.22, 1, 0.36, 1)
    both;
}

.business-banner-card,
.service-section,
.shared-location-card,
.help-card {
  animation:
    fadeUp
    0.55s
    cubic-bezier(0.22, 1, 0.36, 1)
    both;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 760px) {

  .linktree-wrapper {
    padding:
      30px
      17px
      70px;
  }

  .linktree-card {
    padding:
      32px
      25px
      30px;

    border-radius: 30px;
  }

  .brand-logos {
    gap: 10px;

    padding:
      17px
      12px;
  }

  .brand-logo-item {
    height: 78px;
  }

  .brand-logo-item img {
    max-height: 60px;
  }

}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width: 560px) {

  .linktree-page {
    background: white;
  }

  .linktree-wrapper {
    display: block;

    padding: 0;
  }

  .linktree-card {
    min-height: 100vh;

    max-width: none;

    padding:
      31px
      16px
      48px;

    border: 0;

    border-radius: 0;

    box-shadow: none;

    background:
      linear-gradient(
        180deg,
        #ffffff 0%,
        #ffffff 82%,
        #f7fafc 100%
      );
  }

  .header-eyebrow {
    margin-bottom: 18px;

    font-size: 9px;
  }

  .brand-logos {
    gap: 7px;

    margin-bottom: 25px;

    padding:
      13px
      7px;

    border-radius: 19px;
  }

  .brand-logo-item {
    height: 65px;

    padding: 4px;
  }

  .brand-logo-item img {
    max-height: 52px;
  }

  .brand-logo-divider {
    height: 42px;
  }

  .header-copy h1 {
    font-size:
      clamp(
        31px,
        9vw,
        40px
      );
  }

  .header-copy p {
    margin-top: 14px;

    font-size: 13px;

    line-height: 1.55;
  }


  /* BANNERS MÓVIL */

  .business-banner-card {
    margin-top: 27px;

    padding: 5px;

    border-radius: 23px;
  }

  .business-banner {
    border-radius: 19px;
  }

  .business-banner-card:hover {
    transform: none;
  }

  .business-banner-card:hover img {
    transform: none;
  }


  /* SECCIONES */

  .service-section {
    margin-top: 13px;

    padding:
      20px
      15px;

    border-radius: 22px;
  }

  .service-heading {
    gap: 12px;
  }

  .service-brand-mini {
    width: 80px;
    min-width: 80px;

    height: 60px;

    padding: 6px;

    border-radius: 14px;
  }

  .service-label {
    font-size: 8px;
  }

  .service-heading h2 {
    font-size: 17px;
  }

  .service-location {
    margin-top: 12px;

    font-size: 10px;
  }


  /* BOTONES */

  .linktree-links {
    margin-top: 15px;

    gap: 9px;
  }

  .link-button {
    min-height: 68px;

    grid-template-columns:
      43px
      1fr
      22px;

    gap: 10px;

    padding:
      11px
      11px;

    border-radius: 16px;
  }

  .link-icon {
    width: 43px;
    height: 43px;

    border-radius: 13px;
  }

  .link-icon svg {
    width: 20px;
    height: 20px;
  }

  .link-text strong {
    font-size: 13px;
  }

  .link-text small {
    font-size: 10px;
  }

  .link-arrow {
    font-size: 18px;
  }

  .link-button-optica-primary {
    min-height: 72px;
  }

  .link-button-optica-primary .link-text strong {
    font-size: 14px;
  }


  /* UBICACIÓN */

  .shared-location-card {
    grid-template-columns:
      46px
      1fr;

    gap: 12px;

    padding: 17px;

    border-radius: 20px;
  }

  .shared-location-icon {
    width: 46px;
    height: 46px;

    border-radius: 14px;
  }

  .shared-location-copy strong {
    font-size: 13px;
  }

  .shared-location-copy span {
    font-size: 8px;
  }

  .shared-location-copy p {
    font-size: 10px;
  }

  .shared-location-button {
    grid-column:
      1
      /
      -1;

    width: 100%;

    min-height: 43px;

    margin-top: 3px;
  }


  /* FOOTER */

  .footer-logos {
    gap: 18px;
  }

  .footer-logos img {
    max-width: 88px;
    max-height: 36px;
  }

}


/* =========================================================
   CELULARES PEQUEÑOS
========================================================= */

@media (max-width: 370px) {

  .linktree-card {
    padding-left: 12px;
    padding-right: 12px;
  }

  .brand-logo-item {
    height: 58px;
  }

  .header-copy h1 {
    font-size: 30px;
  }

  .business-banner-card {
    border-radius: 20px;
  }

  .business-banner {
    border-radius: 16px;
  }

  .service-section {
    padding:
      18px
      12px;
  }

  .service-brand-mini {
    width: 70px;
    min-width: 70px;

    height: 55px;
  }

  .service-heading h2 {
    font-size: 15px;
  }

  .link-button {
    grid-template-columns:
      40px
      1fr
      18px;

    gap: 8px;

    padding:
      10px
      9px;
  }

  .link-icon {
    width: 40px;
    height: 40px;
  }

  .link-text strong {
    font-size: 12px;
  }

}


/* =========================================================
   ACCESIBILIDAD
========================================================= */

a:focus-visible {
  outline:
    3px solid
    rgba(14, 173, 179, 0.35);

  outline-offset: 4px;
}


/* =========================================================
   REDUCIR MOVIMIENTO
========================================================= */

@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;

    animation-duration:
      0.01ms !important;

    animation-iteration-count:
      1 !important;

    transition-duration:
      0.01ms !important;
  }

}