/* Shared mobile behaviour; desktop layout and theme colours are preserved. */
@media (max-width: 767px) {
  :root {
    --mobile-header-height: calc(4rem + env(safe-area-inset-top, 0px));
    --mobile-nav-height: calc(4.5rem + env(safe-area-inset-bottom, 0px));
  }
  html { scroll-padding-top: calc(var(--mobile-header-height) + 1rem); }
  .app-shell { min-height: 100dvh; }
  .site-header { padding-top: env(safe-area-inset-top, 0px); }
  .site-header > div { gap: .5rem; padding-inline: max(.75rem, env(safe-area-inset-left, 0px)) max(.75rem, env(safe-area-inset-right, 0px)); }
  .site-header-brand { flex: 1 1 0%; min-width: 0; overflow: hidden; }
  .site-header-brand img { min-width: 0; max-width: 100%; flex-shrink: 1; }
  .site-header-brand > span { min-width: 0; }
  .site-header-tools { flex: 0 0 auto; }
  .site-page-frame { min-width: 0; min-height: 100dvh; padding-top: var(--mobile-header-height); padding-bottom: var(--mobile-nav-height); }
  .site-page-content { min-width: 0; padding-inline: env(safe-area-inset-left, 0px) env(safe-area-inset-right, 0px); }
  .site-bottom-nav { padding-inline: env(safe-area-inset-left, 0px) env(safe-area-inset-right, 0px); }
  .site-services-fab { bottom: calc(var(--mobile-nav-height) + .75rem); }
  .mobile-area :where(.grid, .flex) > :where(div, section, article, fieldset) { min-width: 0; }
  .mobile-area :where(h1, h2, h3, p, dd, label) { overflow-wrap: anywhere; }
  .mobile-area :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), textarea, select) { min-width: 0; max-width: 100%; font-size: 16px; }
  .mobile-area :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([data-input-otp]), select) { min-height: 44px; }
  .mobile-area :where(.glass-panel, .bg-card, .bg-secondary, .bg-muted, [class*="backdrop-blur"]),
  [data-mobile-dialog], [data-mobile-sheet], [role="listbox"], [role="menu"] { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
  .mobile-area .premium-gradient-text { animation: none; }
  .mobile-area :is(.banner-aurora, .banner-pulse, .banner-drift, .banner-kenburns) { animation: none !important; will-change: auto !important; }
  .mobile-area [role="tablist"] { max-width: 100%; scroll-padding-inline: .5rem; }
  .mobile-area [role="tab"] { min-height: 44px; }
  .mobile-area .data-table-scroll { max-width: 100%; overscroll-behavior-x: contain; }
  .data-table-scroll > table:has(tr > :nth-child(4)) { min-width: 36rem; }
  .data-table-scroll :is(th, td) { overflow-wrap: anywhere; }
  [data-mobile-dialog] {
    top: calc(var(--mobile-viewport-top, 0px) + var(--mobile-viewport-height, 100dvh) / 2);
    max-height: calc(var(--mobile-viewport-height, 100dvh) - 2rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    max-width: calc(100vw - 1rem);
    min-width: 0;
    overscroll-behavior-y: contain;
    scroll-padding-block: 1rem;
  }
  [data-mobile-dialog] > :where(div, form) { min-width: 0; }
  [data-mobile-dialog] :where(input, textarea, select) { font-size: 16px; }
  [data-mobile-sheet] { max-height: var(--mobile-viewport-height, 100dvh); padding-top: max(1rem, env(safe-area-inset-top, 0px)); padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px)); overscroll-behavior-y: contain; }
  [data-mobile-sheet] > :first-child { top: max(.5rem, env(safe-area-inset-top, 0px)); }
  .mobile-menu-content { padding: env(safe-area-inset-top, 0px) 0 0; height: 100dvh; }
  .mobile-touch-target { min-height: 44px; }
  .mobile-touch-target:has(> svg:only-child) { min-width: 44px; }
  .account-panel > .panel-quick-access { padding: .75rem; }
  .account-panel .panel-menu-hint { flex-shrink: 0; }
  .account-panel details[open] .panel-menu-hint { display: none; }
  .account-panel .panel-sidebar-scroll { overscroll-behavior-y: contain; }
  .admin-mobile-area > .admin-workspace { min-width: 0; }
  .admin-mobile-area .admin-section-content { padding: .75rem; }
  .live-full { top: var(--mobile-header-height); bottom: var(--mobile-nav-height); }

  /* Bottom nav: rótulos sem quebra, itens com toque confortável e espaçamento equilibrado. */
  .site-bottom-nav a span { white-space: nowrap; }
  .site-bottom-nav > div { gap: .125rem; }

  /* Listas e grades internas: evitam estouro horizontal em telas estreitas (<=360px). */
  .mobile-area :where(ul, ol) { min-width: 0; padding-inline-start: 1.25rem; }
  .mobile-area :where(.grid-cols-2, .sm\\:grid-cols-2) > :where(div, section, article, li) { min-width: 0; }

  /* Linhas de botões/filtros: quebram em vez de gerar scroll horizontal indesejado. */
  .mobile-area :is(.flex-wrap, .content-filterline, .panel-quick-access) { flex-wrap: wrap; }
}
@media (max-width: 399px) {
  .site-header-tools .header-shortcuts { display: none; }
  .account-panel .panel-menu-hint { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-touch-target { transition: none; }
}/* Variações estruturais; todas as cores continuam vindo do tema ativo. */
html[data-layout="panorama"] { --site-layout-width: 96rem; }
html[data-layout="atelier"] { --site-layout-width: 72rem; }
html[data-layout="portal"] { --site-layout-width: 100rem; }
html:is([data-layout="panorama"], [data-layout="atelier"], [data-layout="portal"]) .site-public-content > :not(.home-editorial) {
  width: 100%; max-width: var(--site-layout-width); margin-inline: auto;
}
html:is([data-layout="panorama"], [data-layout="atelier"], [data-layout="portal"]) .site-public-content .home-editorial :is(.max-w-7xl, .max-w-6xl),
html:is([data-layout="panorama"], [data-layout="atelier"], [data-layout="portal"]) .site-public-content .page-shell { max-width: var(--site-layout-width); }
html[data-layout="panorama"] .site-public-content { padding-inline: clamp(0rem, 1vw, 1rem); }
html[data-layout="panorama"] .site-public-content .section-label { padding-block: 1rem; border-bottom: 1px solid hsl(var(--border)); }
html[data-layout="panorama"] .site-public-content .section-label h2 { letter-spacing: -.025em; }
html[data-layout="panorama"] .site-public-content .site-catalog-grid { gap: 1.5rem; }
html[data-layout="panorama"] .site-public-content .home-editorial > .divide-y > section { padding-block: 3rem; }
html[data-layout="atelier"] .site-public-content { padding-top: 1rem; }
html[data-layout="atelier"] .site-public-content .section-label { align-items: center; border-left: 3px solid hsl(var(--primary)); padding-left: 1rem; }
html[data-layout="atelier"] .site-public-content .section-label h2 { font-weight: 500; }
html[data-layout="atelier"] .site-public-content .site-catalog-grid { gap: 2rem; }
html[data-layout="atelier"] .site-public-content .site-catalog-grid > * { border-radius: 1.5rem; }
html[data-layout="atelier"] .site-public-content .home-editorial > .divide-y > section { padding-block: 3.5rem; }
html[data-layout="portal"] .site-public-content { padding-top: .5rem; }
html[data-layout="portal"] .site-public-content .section-label { padding: .75rem 1rem; background: hsl(var(--card)); border: 1px solid hsl(var(--border)); border-radius: .5rem; }
html[data-layout="portal"] .site-public-content .section-label h2 { font-size: 1.125rem; }
html[data-layout="portal"] .site-public-content .site-catalog-grid { gap: .75rem; }
html[data-layout="portal"] .site-public-content .home-editorial > .divide-y > section { padding-block: 1.5rem; }
@media (min-width: 1024px) {
  html[data-layout="panorama"] .site-public-content .site-catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-layout="atelier"] .site-public-content .site-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-layout="portal"] .site-public-content .site-catalog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1440px) {
  html[data-layout="portal"] .site-public-content .site-catalog-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  html:is([data-layout="panorama"], [data-layout="atelier"]) .site-public-content .site-catalog-grid { gap: 1rem; }
  html[data-layout="atelier"] .site-public-content .home-editorial > .divide-y > section { padding-block: 2rem; }
}