/* PrimeTech v41 — alvos de toque consistentes em todas as telas. */
[hidden] {
  display: none !important;
}

html body :is(
  a,
  button,
  input,
  select,
  textarea,
  summary,
  [role="button"],
  [tabindex="0"]
):focus-visible {
  outline: 3px solid #f2c45c !important;
  outline-offset: 3px !important;
}

/* Controles nativos e controles criados por JavaScript. */
html body :is(
  button,
  [role="button"],
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  select,
  textarea,
  summary
):not([hidden]) {
  min-width: 44px !important;
  min-height: 44px !important;
}

html body :is(button, [role="button"]):not([hidden]) {
  min-width: 44px !important;
}

html body :is(
  label:has(input[type="checkbox"]),
  label:has(input[type="radio"]),
  .store-image-upload-button,
  .store-switch
) {
  min-height: 44px !important;
}

/* Links que funcionam visualmente como botões ou itens de navegação. */
html body :is(
  nav a,
  footer a,
  .pt-header-brand,
  .pt-header-social,
  .pt-nav-primary,
  .pt-referral-arrival-action,
  .pt-button,
  .pt-service-link,
  .pt-store-callout-primary,
  .pt-store-callout-secondary,
  .pt-instagram-link,
  .pt-instagram-post,
  .pt-raffle-card,
  .pt-raffle-button,
  .pt-local-google,
  .pt-google-review-button,
  .pt-review-footer a,
  .pt-referral-primary,
  .pt-referral-secondary,
  .pt-promo-strip__item,
  .pt-float-button,
  .pt-manual-brand,
  .pt-manual-home-link,
  .store-brand,
  .store-header-link,
  .store-header-whatsapp,
  .store-button,
  .store-featured-action,
  .store-product-button,
  .store-share-action,
  .store-share-empty a,
  .store-empty a,
  .store-final-cta a,
  .admin-brand,
  .manual-quote-admin-link,
  .store-admin-preview,
  #ptManualQuoteWhatsApp,
  .brand,
  .back-link
):not([hidden]) {
  min-width: 44px !important;
  min-height: 44px !important;
}

html body :is(
  nav a,
  footer a,
  .pt-header-social,
  .pt-nav-primary,
  .pt-referral-arrival-action,
  .pt-button,
  .pt-service-link,
  .pt-store-callout-primary,
  .pt-store-callout-secondary,
  .pt-instagram-link,
  .pt-raffle-button,
  .pt-local-google,
  .pt-google-review-button,
  .pt-review-footer a,
  .pt-referral-primary,
  .pt-referral-secondary,
  .pt-float-button,
  .pt-manual-home-link,
  .store-header-link,
  .store-header-whatsapp,
  .store-button,
  .store-featured-action,
  .store-product-button,
  .store-share-action,
  .store-share-empty a,
  .store-empty a,
  .store-final-cta a,
  .manual-quote-admin-link,
  .store-admin-preview,
  #ptManualQuoteWhatsApp,
  .back-link
):not([hidden]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Ícones e controles compactos precisam de área útil quadrada. */
html body :is(
  .pt-header-social,
  .pt-footer-social,
  .pt-review-nav,
  .pt-review-dot,
  .pt-quote-close,
  .pt-coupon-close,
  .pt-install-close,
  .pt-referral-section__top button,
  .pt-float-button,
  .store-header-whatsapp,
  .store-modal-close,
  .store-product-share-quick,
  .store-share-item button,
  .modal-header button,
  #closeApprovalModal,
  #closeQuoteModal,
  #cashflowCloseEntryModal,
  #storeCloseProductModal,
  #storeCloseCategoryModal,
  [data-image-action="left"],
  [data-image-action="right"],
  [data-image-action="remove"]
):not([hidden]) {
  min-width: 44px !important;
  min-height: 44px !important;
}

/* Indicadores do carrossel: alvo grande sem aumentar o ponto visual. */
.pt-review-dot {
  display: inline-grid !important;
  place-items: center;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  background: transparent !important;
}

.pt-review-dot::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .3);
  transition: width .2s ease, background .2s ease;
}

.pt-review-dot.is-active::before {
  width: 25px;
  background: #f2c45c;
}

.pt-review-nav {
  width: 44px !important;
  height: 44px !important;
}

/* O carrossel continua fechando grupos completos em cada breakpoint. */
.pt-reviews-track {
  grid-auto-columns: calc((100% - 32px) / 3) !important;
}

.pt-reviews-track .pt-review-card {
  width: 100%;
  max-width: 100%;
}

.pt-instagram-post img {
  display: block;
  background: #071b35;
}

/* Mantém a compactação aprovada na v39. */
.pt-section,
.pt-google-review-section {
  padding-top: clamp(48px, 5vw, 72px);
  padding-bottom: clamp(48px, 5vw, 72px);
}

.pt-instagram-section {
  padding-top: clamp(46px, 5vw, 68px);
  padding-bottom: clamp(46px, 5vw, 68px);
}

@media (max-width: 900px) {
  .pt-reviews-track {
    grid-auto-columns: calc((100% - 16px) / 2) !important;
  }
}

@media (max-width: 640px) {
  .pt-reviews-track {
    grid-auto-columns: 100% !important;
  }

  html body :is(.pt-header-nav a, .pt-footer a, .store-tabs a) {
    min-height: 44px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
