:root {
  --header-bg-light: #fff;
  --header-bg-dark: #181b2a;
  --header-border-light: #ececec;
  --header-border-dark: #23253b;
}

/* Camada estrutural compartilhada por todas as views públicas. */
.public-shell {
  display: flow-root;
  min-width: 0;
  width: 100%;
}

.public-shell > main {
  width: 100%;
}

[data-theme="light"] .app-header {
  background: var(--header-bg-light);
  border-bottom: 1px solid var(--header-border-light);
}

[data-theme="dark"] .app-header {
  background: var(--header-bg-dark) !important;
  border-bottom: 1px solid var(--header-border-dark);
}

[data-theme="light"] .brand-dot {
  background: #ffd230;
  box-shadow: 0 0 0 6px rgba(255, 210, 48, .25);
}

[data-theme="dark"] .brand-dot {
  background: #ffd230;
  box-shadow: 0 0 0 6px rgba(255, 210, 48, .17);
}

[data-theme="dark"] .brand,
[data-theme="dark"] .app-header a,
[data-theme="dark"] .header-search .input-group-text,
[data-theme="dark"] .header-search input {
  color: #f4f4f7 !important;
  background-color: transparent !important;
}

[data-theme="dark"] .header-search .input-group-text,
[data-theme="dark"] .header-search input {
  background-color: #23253b !important;
  border-color: #23253b !important;
}

[data-theme="dark"] .header-search input { color: #fafaff !important; }
[data-theme="dark"] .app-header .location-pill {
  background: #181b2a !important;
  color: #fff !important;
  border-color: #23253b !important;
}
[data-theme="dark"] .app-header .btn-botuka.btn-soft {
  background: #23253b !important;
  color: #fff !important;
  border: 0;
}
[data-theme="dark"] .app-header .btn-botuka.btn-yellow {
  background: #ffd230 !important;
  color: #212529 !important;
}
[data-theme="dark"] .app-header .btn-botuka.btn-soft.btn-icon {
  background: #23253b !important;
  color: #ffd230 !important;
}

.botuka-social-links a { width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,210,48,.16);color:#1f2937;border:1px solid rgba(255,210,48,.35); }
.publish-plus { width:42px;height:42px;border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center; }
.user-avatar-btn { border:0;background:transparent;padding:0;border-radius:50%;width:42px;height:42px;overflow:hidden; }
.user-avatar-btn img,.user-menu-avatar img { width:100%;height:100%;object-fit:cover;border-radius:50%; }
.user-avatar-btn span,.user-menu-avatar span { width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#111827;color:#fff;font-weight:800; }
.botuka-user-menu,.botuka-publicar-menu { border:0;border-radius:18px;min-width:260px;padding:10px; }
.botuka-user-menu .dropdown-item,.botuka-publicar-menu .dropdown-item { border-radius:12px;padding:10px 12px;display:flex;align-items:center;gap:10px; }
.user-menu-head { display:flex;gap:12px;align-items:center;padding:10px 12px; }
.user-menu-avatar { width:48px;height:48px;border-radius:50%;overflow:hidden;flex:0 0 auto; }
.user-menu-head strong,.user-menu-head small { display:block; }
.user-menu-head small { color:#6b7280;font-size:.78rem; }
.botuka-explore-trigger{display:inline-flex;align-items:center;gap:.45rem}.botuka-explore-modal{border:0;border-radius:1.4rem;overflow:hidden}.botuka-explore-modal .modal-header{padding:1.25rem 1.35rem;border-bottom:1px solid #e6eaf0}.botuka-explore-modal .modal-title{font-weight:900}.botuka-explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.botuka-explore-grid>a{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;border:1px solid #e6eaf0;border-radius:1rem;color:#172033;text-decoration:none;background:#fff;transition:transform .15s ease,border-color .15s ease}.botuka-explore-grid>a:hover,.botuka-explore-grid>a:focus-visible{transform:translateY(-2px);border-color:#ffd230}.botuka-explore-grid>a.is-featured{background:#111827;color:#fff;border-color:#111827}.botuka-explore-grid>a>i{width:2.35rem;height:2.35rem;display:grid;place-items:center;flex:0 0 auto;border-radius:.75rem;background:#ffd230;color:#111827;font-size:1.15rem}.botuka-explore-grid strong,.botuka-explore-grid small{display:block}.botuka-explore-grid small{margin-top:.2rem;color:#667085;font-size:.78rem}.botuka-explore-grid .is-featured small{color:#cbd5e1}@media(max-width:850px){.botuka-explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.botuka-explore-modal.modal-content{min-height:100%}.botuka-explore-grid{grid-template-columns:1fr}.botuka-explore-grid>a{padding:.85rem}.botuka-explore-modal .modal-body{padding:.8rem}}
.botuka-topbar { background:#111827;color:#fff;font-size:.86rem; }
.botuka-topbar-inner { min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:14px; }
.botuka-topbar a { color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:6px; }
.botuka-topbar-contacts,.botuka-topbar-social { display:flex;align-items:center;gap:14px; }
.botuka-weather { display:inline-flex;align-items:center;gap:5px;color:#fff;white-space:nowrap; }
.botuka-topbar-social a { width:28px;height:28px;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08); }
.botuka-toast-layer { z-index:1080; }

.botuka-consent[hidden],
.botuka-pwa-prompt[hidden] {
  display: none !important;
}

.botuka-consent {
  position: fixed;
  z-index: 1100;
  right: 18px;
  bottom: 18px;
  left: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 1040px;
  margin-inline: auto;
  padding: 18px;
  border: 1px solid var(--border, #dce3ec);
  border-radius: 18px;
  background: var(--surface, #fff);
  color: var(--text, #172033);
  box-shadow: 0 18px 60px rgba(15, 23, 42, .24);
}

.botuka-consent__content { max-width: 720px; }
.botuka-consent__content strong { display: block; margin-bottom: 5px; font-size: 1.05rem; }
.botuka-consent__content p { margin: 0; color: var(--muted, #64748b); line-height: 1.55; }
.botuka-consent__actions { display: flex; flex: 0 0 auto; gap: 10px; }

[data-theme="dark"] .botuka-consent {
  border-color: #34445d;
  background: #152033;
  color: #f8fafc;
}

.botuka-pwa-prompt {
  position: fixed;
  z-index: 1120;
  inset: 0;
  display: grid;
  align-items: end;
  justify-items: center;
  padding: 18px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

.botuka-pwa-prompt.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.botuka-pwa-prompt__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  border: 0;
  background: rgba(15, 23, 42, .62);
  backdrop-filter: blur(3px);
}

.botuka-pwa-prompt__dialog {
  position: relative;
  width: min(460px, 100%);
  display: grid;
  gap: 18px;
  padding: 24px;
  border: 1px solid var(--border, #dce3ec);
  border-radius: 22px;
  background: var(--surface, #fff);
  color: var(--text, #172033);
  box-shadow: 0 24px 80px rgba(15, 23, 42, .3);
  transform: translateY(24px);
  transition: transform .25s ease;
}

.botuka-pwa-prompt.is-visible .botuka-pwa-prompt__dialog { transform: translateY(0); }
.botuka-pwa-prompt__dialog h2 { margin: 3px 0 6px; font-weight: 900; }
.botuka-pwa-prompt__dialog p { margin: 0; color: var(--muted, #64748b); line-height: 1.55; }
.botuka-pwa-prompt__icon { border-radius: 16px; box-shadow: 0 10px 24px rgba(15, 23, 42, .16); }
.botuka-pwa-prompt__close { position: absolute; top: 12px; right: 12px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--surface-soft, #f4f7fb); color: inherit; font-size: 1.5rem; line-height: 1; }
.botuka-pwa-prompt__benefits { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.botuka-pwa-prompt__benefits li { display: flex; align-items: center; gap: 9px; }
.botuka-pwa-prompt__benefits i { color: #16803a; }
.botuka-pwa-prompt__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

[data-theme="dark"] .botuka-pwa-prompt__dialog {
  border-color: #34445d;
  background: #152033;
  color: #f8fafc;
}

@media (max-width:768px) {
  .botuka-consent {
    align-items: stretch;
    bottom: 74px;
    flex-direction: column;
    gap: 14px;
  }
  .botuka-consent__actions { display: grid; grid-template-columns: 1fr; }
  .botuka-topbar-inner { justify-content:center; }
  .botuka-topbar-contacts { gap:10px; }
  .botuka-topbar-social { display:none; }
  .botuka-topbar { font-size:.8rem; }
}

@media (max-width:480px) {
  .botuka-pwa-prompt { padding: 10px; }
  .botuka-pwa-prompt__dialog { gap: 15px; padding: 20px; border-radius: 18px; }
  .botuka-pwa-prompt__actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .botuka-pwa-prompt,
  .botuka-pwa-prompt__dialog { transition: none; }
}
