body {
  margin: 0;
}

:root {
  /* UX contrast fix: darker secondary text globally. */
  --site-text-secondary-rgb: 24 38 60;
  --token-muted: var(--site-text-secondary-rgb);
  --color-muted: rgb(var(--site-text-secondary-rgb));
  --color-text-secondary: rgb(var(--site-text-secondary-rgb));

  --site-glass-border: 1px solid rgb(170 188 216 / 0.56);
  --site-glass-bg: linear-gradient(180deg, rgb(255 255 255 / 0.62) 0%, rgb(247 250 255 / 0.5) 100%);
  --site-glass-blur: blur(20px) saturate(110%);
  --site-glass-shadow:
    0 10px 20px -16px rgba(15, 23, 42, 0.22),
    inset 0 1px 0 rgb(255 255 255 / 0.76);
  --site-glass-hover-shadow:
    0 16px 30px -18px rgba(15, 23, 42, 0.26),
    0 0 0 1px rgb(255 255 255 / 0.24);
}

.site-app-shell {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

.site-app-main {
  flex: 1 0 auto;
}

/* Footer whitespace trim */
.site-footer__section {
  padding-top: clamp(1.5rem, 3vw, 2.25rem) !important;
  padding-bottom: 0.5rem !important;
}

.site-footer__meta {
  margin-top: 0.75rem !important;
  padding-top: 0.75rem !important;
}

.site-footer__description {
  margin: 1.25rem 0 0 !important;
}

.site-footer__meta p {
  margin: 0 !important;
}

.site-whatsapp-widget {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 70;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.7rem 0.95rem;
  border-radius: 999px;
  border: 1px solid rgb(37 211 102 / 0.42);
  background: linear-gradient(165deg, rgb(37 211 102 / 0.95), rgb(18 170 78 / 0.96));
  color: #fff;
  box-shadow: 0 16px 30px -16px rgba(8, 26, 58, 0.42);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.site-whatsapp-widget:hover,
.site-whatsapp-widget:focus-visible {
  transform: translateY(-2px);
  filter: brightness(1.03);
  box-shadow: 0 18px 34px -14px rgba(8, 26, 58, 0.5);
  color: #fff;
  text-decoration: none;
}

.site-whatsapp-widget__icon {
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
}

.site-whatsapp-widget__icon svg {
  width: 100%;
  height: 100%;
}

.site-whatsapp-widget__label {
  white-space: nowrap;
}

@media (max-width: 640px) {
  .site-whatsapp-widget {
    padding: 0.72rem;
  }

  .site-whatsapp-widget__label {
    display: none;
  }
}

#app :where(
  .text-gray-400,
  .text-gray-500,
  .text-gray-600,
  .text-slate-400,
  .text-slate-500,
  .text-slate-600,
  .text-neutral-500,
  .text-stone-500
):not(.no-contrast-fix):not(.no-contrast-fix *) {
  color: rgb(var(--site-text-secondary-rgb)) !important;
}

#app :is(p, li, span, small):where(
  [class*="subtitle"],
  [class*="description"],
  [class*="desc"],
  [class*="subtext"],
  [class*="meta"]
):not(.no-contrast-fix):not(.no-contrast-fix *) {
  color: rgb(var(--site-text-secondary-rgb)) !important;
}

#app :is(
  div,
  article,
  aside,
  li,
  form
):where(
  .card-apple,
  [class^="card"],
  [class*=" card"],
  [class*="-card"],
  [class^="box"],
  [class*=" box"],
  [class*="-box"],
  [class^="panel"],
  [class*=" panel"],
  [class*="-panel"],
  [class^="tile"],
  [class*=" tile"],
  [class*="-tile"],
  [class*="offer"],
  [class*="guarantee"],
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .wc-block-grid__product
):not([class*="__"]):not([class*="-title"]):not([class*="-text"]):not([class*="-description"]):not([class*="-subtitle"]):not([class*="-meta"]):not([class*="-content"]):not([class*="-label"]):not([class*="-price"]):not([class*="-amount"]):not([class*="-note"]):not([class*="-name"]):not(.no-glass-box):not(.no-glass-box *) {
  border: var(--site-glass-border) !important;
  background: var(--site-glass-bg) !important;
  backdrop-filter: var(--site-glass-blur) !important;
  -webkit-backdrop-filter: var(--site-glass-blur) !important;
  box-shadow: var(--site-glass-shadow) !important;
}

#app :is(
  div,
  article,
  aside,
  li,
  form
):where(
  .card-apple,
  [class^="card"],
  [class*=" card"],
  [class*="-card"],
  [class^="box"],
  [class*=" box"],
  [class*="-box"],
  [class^="panel"],
  [class*=" panel"],
  [class*="-panel"],
  [class^="tile"],
  [class*=" tile"],
  [class*="-tile"],
  [class*="offer"],
  [class*="guarantee"],
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .wc-block-grid__product
):not([class*="__"]):not([class*="-title"]):not([class*="-text"]):not([class*="-description"]):not([class*="-subtitle"]):not([class*="-meta"]):not([class*="-content"]):not([class*="-label"]):not([class*="-price"]):not([class*="-amount"]):not([class*="-note"]):not([class*="-name"]):not(.no-glass-box):not(.no-glass-box *):hover {
  border-color: rgb(124 153 201 / 0.75) !important;
  box-shadow: var(--site-glass-hover-shadow) !important;
}

#app .pricing-guarantee-offer:not(.no-glass-box):not(.no-glass-box *) {
  border: var(--site-glass-border) !important;
  background: var(--site-glass-bg) !important;
  backdrop-filter: var(--site-glass-blur) !important;
  -webkit-backdrop-filter: var(--site-glass-blur) !important;
  box-shadow: var(--site-glass-shadow) !important;
}

#app :is(.multiple-connections-offer, .multiple-connections-offer:hover):not(.no-glass-box):not(.no-glass-box *) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#app section:where([class*="offer-section"], [class*="guarantee-section"], .pricing-guarantee-section) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  #app :is(
    div,
    article,
    aside,
    li,
    form
  ):where(
    .card-apple,
    [class^="card"],
    [class*=" card"],
    [class*="-card"],
    [class^="box"],
    [class*=" box"],
    [class*="-box"],
    [class^="panel"],
    [class*=" panel"],
    [class*="-panel"],
    [class^="tile"],
    [class*=" tile"],
    [class*="-tile"],
    [class*="offer"],
    [class*="guarantee"],
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    .wc-block-grid__product
  ):not([class*="__"]):not([class*="-title"]):not([class*="-text"]):not([class*="-description"]):not([class*="-subtitle"]):not([class*="-meta"]):not([class*="-content"]):not([class*="-label"]):not([class*="-price"]):not([class*="-amount"]):not([class*="-note"]):not([class*="-name"]):not(.no-glass-box):not(.no-glass-box *) {
  background: rgb(255 255 255 / 0.84) !important;
  }
}

/* Customer Reviews / WooCommerce PhotoSwipe can inject markup without its stylesheet.
   Keep the hidden modal out of document flow so it doesn't create a footer gap. */
.pswp,
.cr-pswp {
  position: fixed;
  inset: 0;
  z-index: 1500;
  display: none;
}

.pswp[aria-hidden="false"],
.cr-pswp[aria-hidden="false"] {
  display: block;
}

.pswp__bg,
.pswp__scroll-wrap,
.pswp__container,
.pswp__item {
  position: absolute;
  inset: 0;
}
