/* SóGuia — responsividade móvel 2026-11-03.
   Correções dos prints: largura de cartões, textos e ações no Meu SóGuia,
   lista Favoritos, notificações, menu, botões flutuantes e navegação do PWA.
   Não altera PHP de autenticação, notificações, dados nem estilos desktop. */
@media (max-width: 800px) {
  /* Contêineres públicos nunca devem exigir a largura mínima do conteúdo. */
  .page-shell, .page-shell *, .sg2-header-inner, .sg2-header-inner *,
  .sg-app-bottom-nav, .sg-app-bottom-nav * {box-sizing:border-box}
  .page-shell {width:100%;max-width:100%;min-width:0;margin:18px auto 48px;padding-inline:clamp(12px,3.5vw,20px)}
  .page-shell > *, .page-shell .page-card,
  .sg-personal-wrapper, .sg-personal-wrapper > *,
  .sg-personal-cards, .sg-personal-cards > *,
  .sg-offer-notification-card, .sg-offer-push-controls,
  .sg-offer-notice, .sg-offer-notice-info,
  .sg-personal-follow-list, .sg-personal-follow-list > *,
  .sg-personal-welcome > * {min-width:0;max-width:100%}
  .page-shell .page-card {width:100%;padding:clamp(16px,4.6vw,26px);border-radius:18px}
  .page-shell .page-card h1, .page-shell .page-card h2,
  .page-shell .page-card h3, .page-shell .page-card p,
  .page-shell .page-card small, .sg-personal-welcome h1,
  .sg-personal-follow-list a {overflow-wrap:anywhere}
  .page-shell img,.page-shell video,.page-shell iframe {max-width:100%} .page-shell video {height:auto}
  .page-shell .form-grid {grid-template-columns:minmax(0,1fr)}
  .page-shell .form-grid > *, .page-shell .form-grid .full {min-width:0;max-width:100%;grid-column:auto}
  .page-shell .form-grid input,.page-shell .form-grid select,.page-shell .form-grid textarea {max-width:100%;min-width:0}
  .page-shell .btn, .sg-personal-welcome .btn,
  .page-shell button {max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.35}
  .page-shell .inline-actions {display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:9px;min-width:0}
  .page-shell .inline-actions > *, .page-shell .inline-actions form {min-width:0;max-width:100%}
  /* Uma coluna verdadeira: minmax(0,1fr) impede os botões de esticarem a grade. */
  .sg-personal-dashboard .sg-personal-cards {display:grid;grid-template-columns:minmax(0,1fr)!important;gap:14px}
  .sg-personal-dashboard .sg-personal-cards > .page-card {margin:0}
  .sg-personal-welcome {display:flex;flex-direction:column;align-items:stretch;gap:13px;padding:18px!important;border-radius:18px}
  .sg-personal-welcome h1 {font-size:clamp(22px,6vw,28px);line-height:1.18;letter-spacing:-.025em}
  .sg-personal-welcome > a.btn {align-self:flex-start;max-width:100%}
  .sg-personal-dashboard .page-card h2 {font-size:clamp(20px,5.8vw,25px);line-height:1.26;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
  .sg-personal-dashboard .eyebrow,.sg-personal-favorites-page .eyebrow {line-height:1.5;overflow-wrap:anywhere}
  .sg-personal-follow-list {display:grid;gap:9px;max-width:100%;overflow-x:hidden}
  .sg-personal-follow-list > a,.sg-personal-follow-list > .sg-personal-follow-item {width:100%;flex-wrap:wrap;align-items:flex-start;gap:5px;overflow-wrap:anywhere}
  .sg-personal-follow-list a span,.sg-personal-follow-list small {min-width:0;max-width:100%;overflow-wrap:anywhere;text-align:left}
  .sg-personal-dashboard .sg-personal-cards > .page-card > a.btn,
  .sg-personal-dashboard .sg-offer-notification-card > a.btn {display:flex;width:100%;max-width:100%;justify-content:center}
  .sg-offer-push-controls {width:100%;padding:clamp(12px,3vw,16px)}
  .sg-offer-push-controls .inline-actions {display:grid!important;grid-template-columns:minmax(0,1fr);gap:10px}
  .sg-offer-push-controls .inline-actions > button {width:100%;max-width:100%;min-width:0}
  .sg-personal-import-box {padding:12px}
  .sg-personal-import-box form button {width:100%;min-width:0}
  .sg-offer-list-head {min-width:0;align-items:flex-start}
  .sg-offer-list-head > * {min-width:0;max-width:100%}
  .sg-offer-notice-info > div {min-width:0;flex:1 1 0}
  .sg-offer-notice .inline-actions > a,.sg-offer-notice .inline-actions button {max-width:100%}
  .sg-offer-notice .inline-actions form {margin:0}
  /* Histórico de favoritos: card e ações sempre dentro da largura disponível. */
  .sg-personal-favorites-card {padding:clamp(16px,4.4vw,24px)!important;margin:16px auto!important}
  .sg-personal-favorites-card h1 {font-size:clamp(26px,7vw,34px);line-height:1.14}
  .sg-personal-favorites-page .sg-saved-grid {grid-template-columns:minmax(0,1fr)!important;min-width:0;max-width:100%}
  .sg-saved-grid > article {min-width:0;max-width:100%}
  .sg-saved-grid [data-sg-favorite-row] > div {min-width:0;max-width:100%}
  .sg-personal-favorites-page .inline-actions {justify-content:flex-start!important}
  /* Cabeçalho: não deixar logo/localidade empurrarem os controles da tela. */
  .sg2-header-inner {min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr) auto auto!important;gap:6px!important}
  .sg2-brand {min-width:0!important;max-width:100%;overflow:hidden;flex-shrink:1}
  .sg2-brand > span {min-width:0;max-width:100%;overflow:hidden}
  .sg2-brand small {max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sg2-actions {gap:4px!important;min-width:0}
  .sg2-actions .sg2-fav-link {min-width:36px;height:38px;padding:0 5px;font-size:17px;gap:3px}
  .sg2-actions .sg2-fav-link span {font-size:10px}
  .sg2-menu {flex-shrink:0}
  .sg2-nav.open {max-width:calc(100vw - 20px);box-sizing:border-box}
  .sg3-header-inner {max-width:100%;min-width:0}
  .sg3-brand {min-width:0}
  .sg3-brand span {min-width:0;overflow:hidden}
}
@media (max-width: 600px) {
  .page-shell {margin-top:14px;padding-inline:12px}
  .page-shell .page-card {padding:18px 16px}
  .page-shell h1 {font-size:clamp(25px,7vw,32px);line-height:1.16}
  .sg-personal-welcome {padding:16px!important}
  .sg-personal-dashboard .sg-personal-cards > .page-card > .btn,
  .sg-personal-dashboard .sg-offer-notification-card > .btn {width:100%}
  .sg-personal-dashboard .sg-personal-follow-list a {flex-direction:column}
  .sg-personal-dashboard .sg-personal-follow-list small {text-align:left}
  .sg-personal-bottom {align-items:stretch;gap:12px}
  .sg-personal-bottom form {margin-left:0;width:100%}
  .sg-personal-bottom .btn {width:100%}
  .sg-personal-favorites-page .inline-actions > a.btn {flex:1 1 145px}
  .sg-saved-grid [data-sg-favorite-row] > div > a.btn,
  .sg-saved-grid [data-sg-favorite-row] > div > button {flex:1 1 125px;max-width:100%}
  .sg2-header-inner {width:calc(100% - 20px)!important}
  .sg2-brand img {width:40px!important;height:40px!important;flex:none}
  .sg2-brand b {font-size:16px!important}
  .sg2-brand small {font-size:8px!important}
  .sg2-menu {width:42px!important;height:42px!important}
}
@media (max-width: 360px) {
  .page-shell {padding-inline:10px}
  .page-shell .page-card {padding:15px 12px}
  .sg-personal-welcome {padding:14px!important}
  .sg-personal-dashboard .sg-personal-cards h2 {font-size:20px}
  .sg-saved-grid [data-sg-favorite-row] > div > * {flex-basis:100%!important}
  .sg2-brand small {display:none}
}
/* Barra do PWA: permanecer acessível sem cobrir o último cartão. */
@media (display-mode:standalone), (display-mode:fullscreen) {
  .sg-personal-dashboard,.sg-personal-favorites-page,
  main.page-shell {padding-bottom:calc(30px + env(safe-area-inset-bottom))}
  .sg-app-bottom-nav {box-sizing:border-box;max-width:calc(100vw - 16px);overflow:hidden}
  .sg-app-bottom-nav > .sg-app-nav-item {min-width:0;max-width:100%}
  .sg-app-bottom-nav .sg-app-nav-item span {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media (display-mode:standalone) and (max-width:380px),
       (display-mode:fullscreen) and (max-width:380px) {
  .sg-app-bottom-nav {left:8px!important;right:8px!important}
  .sg-app-bottom-nav .sg-app-nav-item {font-size:10px!important}
}
