/* V5.1 — Experiência desktop adaptativa.
   REGRA DE SEGURANÇA: este arquivo NÃO possui estilos fora de media queries desktop.
   Mobile/tablet até 1023px permanece integralmente sob os estilos existentes. */

@media (min-width: 1024px) {
  /* Estrutura e largura de conteúdo */
  body.public-v250 {
    --desktop-max: 1360px;
  }
  .public-v250 .container,
  .home-v46 {
    width: min(var(--desktop-max), calc(100% - 64px)) !important;
    max-width: var(--desktop-max) !important;
    margin-inline: auto !important;
  }
  .page {
    padding-top: 58px !important;
    padding-bottom: 96px !important;
  }
  .page-head {
    margin-bottom: 34px !important;
    padding-bottom: 26px !important;
  }
  .page-head h2 {
    font-size: clamp(50px, 4.2vw, 64px) !important;
  }
  .page-head p {
    max-width: 540px !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  /* Header desktop: única navegação principal */
  .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    background: rgba(9, 9, 10, .94) !important;
    backdrop-filter: blur(18px) saturate(1.1) !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, .14) !important;
  }
  .header-inner {
    height: 84px !important;
    gap: 28px !important;
    padding-inline: 0 !important;
  }
  .brand-logo-updated {
    flex: 0 0 auto !important;
    gap: 14px !important;
  }
  .brand-logo-updated .brand-mark.image-mark {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
  }
  .brand-logo-updated .brand-copy strong {
    font-size: 25px !important;
    letter-spacing: .055em !important;
  }
  .desktop-nav {
    display: flex !important;
    flex: 1 1 auto !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 2px !important;
    height: 100% !important;
    margin-left: 0 !important;
  }
  .nav-link {
    position: relative !important;
    min-height: 84px !important;
    padding: 0 16px !important;
    color: #aaa39a !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    cursor: pointer !important;
    transition: color .24s ease, background-color .24s ease !important;
  }
  .nav-link::after {
    content: '' !important;
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 14px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #b88a50, #e0bd84) !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    opacity: .9 !important;
    transition: transform .24s ease, opacity .24s ease !important;
  }
  .nav-link:hover,
  .nav-link.active {
    color: var(--text) !important;
    background: rgba(255, 255, 255, .018) !important;
  }
  .nav-link:hover::after,
  .nav-link.active::after {
    transform: scaleX(1) !important;
  }
  .header-actions {
    flex: 0 0 auto !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
  }
  .account-link {
    min-height: 44px !important;
    padding: 10px 15px !important;
    border-radius: 999px !important;
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease !important;
  }
  .account-link:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(224, 189, 132, .42) !important;
    background: rgba(197, 154, 93, .08) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .22) !important;
  }
  .mobile-nav,
  .mobile-nav.mobile-nav-fab {
    display: none !important;
  }

  /* Home: usa melhor a área horizontal de monitor */
  .home-v46 {
    padding: 34px 0 48px !important;
  }
  .home-cover-v46 {
    height: clamp(570px, 67vh, 680px) !important;
    min-height: 570px !important;
    border-radius: 24px !important;
    box-shadow: 0 34px 90px rgba(0, 0, 0, .38) !important;
  }
  .home-cover-content-v46 {
    left: 64px !important;
    right: 64px !important;
    bottom: 54px !important;
    max-width: 760px !important;
  }
  .home-cover-content-v46 h1 {
    font-size: clamp(62px, 5.4vw, 84px) !important;
    max-width: 10.5ch !important;
  }
  .home-cover-content-v46 p {
    max-width: 40ch !important;
    font-size: 16px !important;
  }
  .home-cover-actions-v46 {
    gap: 20px !important;
    margin-top: 26px !important;
  }
  .home-cover-book-v46,
  .home-cover-link-v46,
  .home-shortcuts-v46 button {
    transition: transform .24s ease, border-color .24s ease, background-color .24s ease, box-shadow .24s ease, color .24s ease !important;
  }
  .home-cover-link-v46:hover {
    color: var(--accent-hover) !important;
    border-bottom-color: var(--accent-hover) !important;
  }
  .home-shortcuts-v46 {
    gap: 16px !important;
    margin-top: 18px !important;
  }
  .home-shortcuts-v46 button {
    min-height: 88px !important;
    padding: 18px 20px !important;
    border-radius: 16px !important;
  }
  .home-shortcuts-v46 button:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(224, 189, 132, .34) !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .18) !important;
  }
  .home-flow-v49 {
    margin-top: 18px !important;
    padding: 24px !important;
    border-radius: 20px !important;
  }
  .home-flow-grid-v49 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
  .home-flow-card-v49 {
    min-height: 142px !important;
    padding: 18px !important;
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease !important;
  }
  .home-flow-card-v49:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(224, 189, 132, .26) !important;
    box-shadow: 0 18px 36px rgba(0, 0, 0, .17) !important;
  }

  /* Produtos: cards de e-commerce, sem texto cortado/sobreposto */
  .product-filters {
    margin-bottom: 18px !important;
    overflow: visible !important;
    flex-wrap: wrap !important;
  }
  .product-filter {
    cursor: pointer !important;
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease, color .22s ease !important;
  }
  .product-filter:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(224, 189, 132, .36) !important;
    color: var(--accent-hover) !important;
  }
  .product-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
  }
  .product-card-public {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    box-shadow: 0 18px 46px rgba(0, 0, 0, .18) !important;
    transition: transform .26s ease, border-color .26s ease, box-shadow .26s ease !important;
  }
  .product-card-public:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(224, 189, 132, .30) !important;
    box-shadow: 0 24px 56px rgba(0, 0, 0, .28), 0 0 0 1px rgba(197, 154, 93, .04) !important;
  }
  .product-photo {
    aspect-ratio: 16 / 10 !important;
    min-height: 260px !important;
    overflow: hidden !important;
  }
  .product-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: transform .30s ease, filter .30s ease !important;
  }
  .product-card-public:hover .product-photo img {
    transform: scale(1.045) !important;
    filter: brightness(1.04) saturate(1.04) !important;
  }
  .product-category {
    top: 14px !important;
    left: 14px !important;
    padding: 6px 10px !important;
  }
  .product-card-body {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    flex: 1 1 auto !important;
    gap: 20px !important;
    padding: 22px !important;
    min-width: 0 !important;
  }
  .product-card-body > div:first-child {
    display: grid !important;
    align-content: start !important;
    gap: 10px !important;
    min-width: 0 !important;
  }
  .product-card-body h3 {
    margin: 0 !important;
    font-size: 29px !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
  .product-card-body p,
  .product-card-body .expandable-copy {
    display: block !important;
    margin: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    overflow-wrap: anywhere !important;
  }
  .product-card-bottom {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 20px !important;
    padding-top: 18px !important;
    min-width: 0 !important;
  }
  .product-card-bottom > div {
    min-width: 0 !important;
  }
  .product-card-bottom strong {
    font-size: 30px !important;
    line-height: 1 !important;
  }
  .product-card-bottom small {
    margin-top: 5px !important;
    font-size: 11px !important;
  }
  .product-card-bottom .primary-action {
    min-width: 126px !important;
    min-height: 44px !important;
    padding-inline: 18px !important;
    cursor: pointer !important;
    transition: transform .22s ease, filter .22s ease, box-shadow .22s ease !important;
  }
  .product-card-bottom .primary-action:hover:not(:disabled) {
    transform: translateY(-2px) !important;
    filter: brightness(1.05) !important;
    box-shadow: 0 14px 30px rgba(197, 154, 93, .28) !important;
  }

  /* Serviços: leitura ampla, fotos com hover e cards profundos */
  .service-groups {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }
  .service-group {
    min-width: 0 !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .16) !important;
    transition: border-color .24s ease, box-shadow .24s ease !important;
  }
  .service-group:hover {
    border-color: rgba(224, 189, 132, .22) !important;
    box-shadow: 0 22px 52px rgba(0, 0, 0, .22) !important;
  }
  .plain-list {
    gap: 10px !important;
    padding: 10px !important;
  }
  .list-row.has-service-photo {
    grid-template-columns: 112px minmax(0, 1fr) auto !important;
    gap: 12px 20px !important;
    min-height: 132px !important;
    padding: 14px !important;
    align-items: center !important;
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease !important;
  }
  .list-row.has-service-photo:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(224, 189, 132, .24) !important;
    background: #151416 !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .16) !important;
  }
  .list-service-media {
    width: 112px !important;
    height: 104px !important;
    min-height: 104px !important;
    border-radius: 15px !important;
  }
  .list-service-media img {
    transition: transform .30s ease, filter .30s ease !important;
  }
  .list-row.has-service-photo:hover .list-service-media img {
    transform: scale(1.055) !important;
    filter: brightness(1.04) saturate(1.03) !important;
  }
  .list-copy h4 {
    font-size: 17px !important;
    line-height: 1.2 !important;
  }
  .list-copy p {
    max-width: 58ch !important;
    font-size: 12.5px !important;
    line-height: 1.55 !important;
  }
  .list-meta {
    margin-top: 3px !important;
    font-size: 11.5px !important;
  }
  .list-row.has-service-photo .list-end {
    min-width: 128px !important;
    gap: 10px !important;
  }
  .list-row.has-service-photo .list-price {
    font-size: 30px !important;
  }
  .list-row.has-service-photo .list-action {
    min-width: 112px !important;
    min-height: 38px !important;
    cursor: pointer !important;
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease, color .22s ease !important;
  }
  .list-row.has-service-photo .list-action:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(224, 189, 132, .52) !important;
    background: rgba(197, 154, 93, .10) !important;
    color: #f1d3a5 !important;
  }

  /* Agendamento desktop */
  .booking-grid {
    grid-template-columns: minmax(0, 1fr) 340px !important;
    gap: 46px !important;
  }
  .booking-summary {
    top: 108px !important;
    box-shadow: 0 18px 46px rgba(0, 0, 0, .18) !important;
  }
  .choice-item,
  .time-chip,
  .calendar-day,
  .secondary-action,
  .primary-action,
  .back-action {
    cursor: pointer !important;
  }
  .choice-item {
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease !important;
  }
  .choice-item:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .14) !important;
  }

  /* Local: mapa maior e horários realmente em colunas */
  .local-map-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, .72fr) !important;
    min-height: 460px !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .18) !important;
  }
  .local-map-frame {
    min-height: 460px !important;
    height: 100% !important;
  }
  .local-map-frame iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 460px !important;
    border: 0 !important;
    filter: grayscale(.55) invert(.90) contrast(.92) !important;
  }
  .local-address-block {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    padding: 38px !important;
    border-left: 1px solid rgba(255, 255, 255, .08) !important;
  }
  .local-address-block h3 {
    max-width: 22ch !important;
    margin: 4px 0 0 !important;
    font-size: 31px !important;
    line-height: 1.15 !important;
  }
  .local-route {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 210px !important;
    min-height: 48px !important;
    margin-top: 24px !important;
    text-decoration: none !important;
  }
  .local-support-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr) !important;
    gap: 20px !important;
    margin-top: 20px !important;
  }
  .local-support-card {
    padding: 26px !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 38px rgba(0, 0, 0, .13) !important;
  }
  .local-support-card p {
    display: grid !important;
    grid-template-columns: minmax(150px, .42fr) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 28px !important;
    margin: 0 !important;
    padding: 13px 0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
  .local-support-card p b {
    min-width: 0 !important;
    color: var(--text) !important;
    font-weight: 700 !important;
  }
  .local-support-card p span {
    min-width: 0 !important;
    text-align: right !important;
    color: var(--muted) !important;
    overflow-wrap: anywhere !important;
  }
  .local-contact-actions {
    display: flex !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }
  .local-contact-actions .secondary-action {
    min-width: 132px !important;
    text-decoration: none !important;
  }

  /* Interação de mouse consistente */
  .public-v250 button:not(:disabled),
  .public-v250 a[href],
  .public-v250 [data-view],
  .public-v250 [data-service],
  .public-v250 [data-product],
  .public-v250 [data-product-filter] {
    cursor: pointer !important;
  }
}

@media (min-width: 1440px) {
  .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .service-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
  }
  .service-group {
    height: 100% !important;
  }
  .list-row.has-service-photo {
    grid-template-columns: 96px minmax(0, 1fr) auto !important;
    min-height: 120px !important;
    gap: 10px 14px !important;
  }
  .list-service-media {
    width: 96px !important;
    height: 92px !important;
    min-height: 92px !important;
  }
  .list-row.has-service-photo .list-end {
    min-width: 114px !important;
  }
  .list-row.has-service-photo .list-action {
    min-width: 102px !important;
  }
}
