/*
 * Ajustes finos para telefones.
 * Camada somente visual: nao altera ordem, campos, IDs, links ou scripts do funil.
 */

@media (max-width: 520px) {
  /* Leitura confortavel sem descaracterizar a hierarquia atual. */
  [data-kuboo-page="landing"] :is(
    .text-xs,
    .boost-offer__eyebrow,
    .boost-offer__photo figcaption,
    .boost-offer__features li,
    .boost-offer__finish strong,
    .boost-offer__finish p > span,
    .boost-offer__price-label,
    .boost-offer__cta,
    .boost-offer__note,
    .offer-colors legend,
    .offer-colors__label,
    .offer-colors__note,
    .offer-payment,
    .offer-payment__row,
    .offer-payment__content p,
    .offer-reviews__send,
    .marketplace-reviews__caption,
    .marketplace-reviews__note,
    .duo-offer__badge,
    .duo-offer__facts,
    .product-showcase__description,
    .shipping-calculator__result-label,
    .shipping-calculator__deadline,
    .kuboo-calibers legend,
    .kuboo-calibers__label,
    .kuboo-calibers__status,
    .kuboo-art-selector__heading h4,
    .kuboo-art-selector__heading span,
    .kuboo-art-selector__name,
    .kuboo-art-selector__status,
    .kuboo-personalization__eyebrow,
    .kuboo-personalization__intro,
    .kuboo-personalization__note,
    .kuboo-personalization__checkout-note,
    .kuboo-personalization__status,
    .kuboo-personalization__single-option,
    .kuboo-personalization__label,
    .kuboo-personalization__count,
    .kuboo-personalization__position
  ) {
    font-size: 0.875rem;
  }

  [data-kuboo-page="landing"] :is(
    .boost-offer__photo figcaption,
    .boost-offer__features li,
    .boost-offer__note,
    .offer-colors__note,
    .offer-payment__content p,
    .marketplace-reviews__caption,
    .marketplace-reviews__note,
    .product-showcase__description,
    .kuboo-calibers__status,
    .kuboo-art-selector__status,
    .kuboo-personalization__intro,
    .kuboo-personalization__note,
    .kuboo-personalization__checkout-note,
    .kuboo-personalization__status
  ) {
    line-height: 1.55;
  }

  [data-kuboo-page="landing"] .tactical-hero__title {
    font-size: clamp(1.875rem, 8.5vw, 2.125rem);
    line-height: 1.1;
  }

  [data-kuboo-page="landing"] h2.text-4xl {
    font-size: clamp(1.875rem, 8.5vw, 2rem);
    line-height: 1;
  }

  [data-kuboo-page="landing"] .boost-offer h3 {
    font-size: clamp(2rem, 10vw, 2.4rem);
    line-height: 1.02;
  }

  /* Menos molduras dentro de molduras e mais area util para as fotos. */
  [data-kuboo-page="landing"] .boost-offer {
    gap: 24px;
    padding: clamp(14px, 4vw, 18px);
  }

  [data-kuboo-page="landing"] .boost-offer__photos {
    gap: 16px;
  }

  [data-kuboo-page="landing"] .boost-offer__photo--closed .boost-offer__image {
    max-height: clamp(280px, 90vw, 340px);
  }

  [data-kuboo-page="landing"] .product-showcase__carousel {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  [data-kuboo-page="landing"] .personalization-visual {
    min-height: clamp(400px, 125vw, 520px);
  }

  [data-kuboo-page="landing"] .personalization-gallery__slide {
    min-height: 0;
  }

  [data-kuboo-page="landing"] .boost-demo {
    width: min(100%, 320px);
  }

  /* A arte continua sendo exibida uma por vez, agora usando toda a largura. */
  [data-kuboo-page="landing"] .kuboo-art-selector__carousel {
    position: relative;
    display: block;
  }

  [data-kuboo-page="landing"] .kuboo-art-selector__track {
    width: 100%;
  }

  [data-kuboo-page="landing"] .kuboo-art-selector__option {
    flex: 0 0 100%;
  }

  [data-kuboo-page="landing"] .kuboo-art-selector__arrow {
    position: absolute;
    z-index: 2;
    top: 50%;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    background: color-mix(in srgb, var(--background) 90%, transparent);
    touch-action: manipulation;
    backdrop-filter: blur(10px);
    transform: translateY(-50%);
  }

  [data-kuboo-page="landing"] [data-kuboo-art-prev] {
    left: 8px;
  }

  [data-kuboo-page="landing"] [data-kuboo-art-next] {
    right: 8px;
  }

  [data-kuboo-page="landing"] .kuboo-art-selector__arrow:not(:disabled):active {
    transform: translateY(calc(-50% + 1px));
  }

  /* Cores sempre em uma grade previsivel 2 x 2; calibres seguem 3 x 2. */
  [data-kuboo-page="landing"] .offer-colors:not(.kuboo-calibers) > .offer-colors__options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  [data-kuboo-page="landing"] .offer-colors:not(.kuboo-calibers) > .offer-colors__options > .offer-colors__option,
  [data-kuboo-page="landing"] .offer-colors:not(.kuboo-calibers) .offer-colors__label {
    width: 100%;
    min-width: 0;
  }

  [data-kuboo-page="landing"] .offer-colors__label {
    min-height: 48px;
    justify-content: flex-start;
    padding: 11px 12px;
  }

  [data-kuboo-page="landing"] :is(.kuboo-calibers__label, .kuboo-personalization__position) {
    min-height: 48px;
  }

  /* Alvos de toque maiores sem trocar controles ou listeners. */
  [data-kuboo-page="landing"] > header nav > a:last-child {
    height: 44px;
    min-height: 44px;
    padding-inline: 14px;
  }

  [data-kuboo-page="landing"] .product-showcase__progress-button {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    touch-action: manipulation;
  }

  /* Sete indicadores nao cabem a 44 px em 320 px; setas e gesto continuam ativos. */
  [data-kuboo-page="landing"] .personalization-gallery__progress {
    display: none;
  }

  [data-kuboo-page="landing"] .product-showcase__toolbar {
    min-height: 96px;
    gap: 12px;
    padding: 18px 16px;
  }

  [data-kuboo-page="landing"] .personalization-gallery__toolbar {
    min-height: 76px;
    padding: 12px 14px;
  }
}

/* Evita trabalho de pintura antecipado nas midias pesadas abaixo da dobra. */
@supports (content-visibility: auto) {
  [data-kuboo-page="landing"] #boost-apresentacao .boost-demo,
  [data-kuboo-page="landing"] #depoimento .testimonial-video-shell,
  [data-kuboo-page="landing"] .final-cta__brand {
    content-visibility: auto;
    contain-intrinsic-size: auto 520px;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-kuboo-page="landing"] :is(
    .kuboo-art-selector__arrow,
    .product-showcase__progress-button
  ) {
    transition: none;
  }
}
