.msl-cookie-banner,
.cookie-banner {
  position: fixed;
  z-index: 10000;
  right: 1.25rem;
  bottom: 1.25rem;
  left: 1.25rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.25rem;
  align-items: center;
  max-width: 1120px;
  margin: auto;
  padding: 1.15rem 1.25rem;
  border: 1px solid rgba(200, 169, 110, 0.38);
  background: #111110;
  color: #fafaf8;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.24);
  font-family: 'DM Sans', Arial, sans-serif;
  contain: layout paint;
  opacity: 0;
  pointer-events: none;
  transform: translateY(calc(100% + 2rem));
  transition: opacity 180ms ease, transform 220ms ease;
  will-change: opacity, transform;
}

.msl-cookie-banner.is-visible,
.cookie-banner.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.msl-cookie-banner[hidden],
.cookie-banner[hidden] {
  display: none;
}

.msl-cookie-banner p,
.cookie-banner p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.86rem;
  line-height: 1.55;
}

.msl-cookie-banner strong,
.cookie-banner strong {
  display: block;
  margin-bottom: 0.2rem;
  color: #fafaf8;
}

.cookie-actions {
  display: flex;
  gap: 0.65rem;
  align-items: center;
}

.cookie-button {
  min-height: 42px;
  padding: 0.65rem 0.95rem;
  border: 1px solid rgba(255, 255, 255, 0.34);
  background: transparent;
  color: #fafaf8;
  cursor: pointer;
  font: inherit;
}

.cookie-button.accept {
  border-color: #c8a96e;
  background: #c8a96e;
  color: #111110;
}

.cookie-details {
  border: 0;
  background: none;
  color: #c8a96e;
  cursor: pointer;
  font: inherit;
  text-decoration: underline;
}

.mobile-contact-dock {
  display: none;
}

@media (max-width: 768px) {
  body {
    padding-bottom: calc(5.25rem + env(safe-area-inset-bottom));
  }

  .mobile-contact-dock {
    position: fixed;
    z-index: 999;
    top: auto;
    right: 0.75rem;
    bottom: calc(0.75rem + env(safe-area-inset-bottom));
    left: 0.75rem;
    width: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 3.5rem;
    gap: 0.5rem;
    max-width: 31rem;
    min-height: 4rem;
    margin: 0 auto;
    padding: 0.4rem;
    border: 1px solid rgba(200, 169, 110, 0.5);
    background: #111110;
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.3);
    font-family: 'DM Sans', Arial, sans-serif;
  }

  .mobile-call-action {
    display: grid;
    grid-template-columns: 2.35rem minmax(0, 1fr);
    gap: 0.65rem;
    align-items: center;
    min-width: 0;
    padding: 0.35rem 0.55rem;
    color: #fafaf8;
    text-decoration: none;
  }

  .mobile-call-icon {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    border: 1px solid rgba(200, 169, 110, 0.55);
    color: #c8a96e;
  }

  .mobile-call-icon svg {
    width: 1.15rem;
    height: 1.15rem;
    fill: currentColor;
  }

  .mobile-call-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    line-height: 1.12;
  }

  .mobile-call-copy span {
    color: #c8a96e;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
  }

  .mobile-call-copy strong {
    margin-top: 0.25rem;
    color: #fff;
    font-size: clamp(1rem, 5vw, 1.2rem);
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
  }

  .mobile-whatsapp-action {
    display: grid;
    min-width: 3.5rem;
    min-height: 3.5rem;
    place-items: center;
    background: #0d7a3f;
    color: #fff;
  }

  .mobile-whatsapp-action svg {
    width: 1.55rem;
    height: 1.55rem;
    fill: currentColor;
  }

  .mobile-call-action:focus-visible,
  .mobile-whatsapp-action:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
  }

  .whatsapp-btn {
    display: none !important;
  }

  .back-to-top {
    bottom: calc(5.75rem + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 700px) {
  .msl-cookie-banner,
  .cookie-banner {
    right: 0.75rem;
    bottom: 0.75rem;
    left: 0.75rem;
    grid-template-columns: 1fr;
  }

  .cookie-actions,
  .cookie-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .msl-cookie-banner,
  .cookie-banner {
    transition: none;
  }
}
