/* Front público / landing page Armeiro Airsoft */

.page-public .site-topbar {

  backdrop-filter: blur(18px);

}



.page-public .mobile-menu-btn {

  display: none;

}



.page-public .public-main {

  padding-top: 74px;

}



.page-public .hero {

  width: min(100% - 32px, 1180px);

  margin-inline: auto;

}



.page-public .hero-single {

  display: block;

}



/* Ajuste de largura: hero alinhado com os blocos inferiores */

.page-public .hero.hero-single {

  width: min(100% - 32px, 1180px);

}





.page-public .hero-card-wide {

  width: 100%;

  max-width: none;

  min-height: auto;

  box-sizing: border-box;

  padding: clamp(28px, 4vw, 48px);

}



.page-public .hero-card-wide h1 {

  font-size: clamp(2.25rem, 3.25vw, 3.65rem);

  line-height: 1.04;

  letter-spacing: -.055em;

  max-width: 920px;

}



.page-public .page-title-row h1 {

  font-size: clamp(2.05rem, 3.05vw, 3.25rem);

  line-height: 1.06;

  letter-spacing: -.055em;

  max-width: 900px;

}



.public-post-body h1 {

  font-size: clamp(1.9rem, 2.75vw, 3rem);

  line-height: 1.08;

  letter-spacing: -.05em;

}



.page-public .hero-card-wide .lead {

  max-width: 720px;

  font-size: clamp(1.02rem, 1.25vw, 1.18rem);

  line-height: 1.55;

}



.marketing-strip {

  display: flex;

  flex-wrap: wrap;

  gap: 10px;

  margin-top: 22px;

}



.marketing-strip.compact {

  margin-top: 16px;

}



.marketing-pill {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  border: 1px solid var(--line);

  border-radius: 999px;

  padding: 9px 12px;

  background: rgba(255,255,255,.72);

  color: var(--muted);

  font-weight: 700;

  font-size: .9rem;

}



.hero-checklist {

  display: grid;

  gap: 10px;

  margin-top: 18px;

}



.hero-checklist span,

.feature-line {

  display: flex;

  align-items: flex-start;

  gap: 10px;

  color: var(--muted);

  line-height: 1.45;

}



.hero-checklist b,

.feature-line b {

  color: var(--text);

}



.check-dot {

  width: 20px;

  height: 20px;

  border-radius: 999px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  background: rgba(46, 204, 113, .14);

  color: #0f8d4d;

  flex: 0 0 20px;

  font-size: 13px;

  font-weight: 900;

  margin-top: 1px;

}



.front-section {

  width: min(100% - 32px, 1180px);

  margin: 46px auto 0;

}



.front-section .section-head {

  margin-bottom: 18px;

}



.front-feature-card {

  min-height: 100%;

  padding: 22px;

}



.front-feature-card .brand-mark {

  width: 42px;

  height: 42px;

  border-radius: 14px;

}



.brand-mark {

  width: 44px;

  height: 44px;

  border-radius: 14px;

  background: #0f0f0f;

  color: #d99a26;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  flex: 0 0 auto;

}



.brand-mark svg {

  width: 25px;

  height: 25px;

  display: block;

}



.front-feature-card h3,

.price-card h3 {

  margin: 14px 0 6px;

}



.front-feature-card p,

.price-card p {

  color: var(--muted);

  margin: 0;

}



.price-grid {

  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 16px;

}



.price-card {

  border: 1px solid var(--line);

  border-radius: 24px;

  background: rgba(255,255,255,.72);

  padding: 22px;

  box-shadow: var(--shadow-soft);

}



.price-card strong {

  display: block;

  font-size: 1.85rem;

  margin: 12px 0 6px;

  letter-spacing: -.04em;

}



.price-card .small-btn,

.price-card .primary-btn {

  width: 100%;

  justify-content: center;

  margin-top: 14px;

}



.trial-section {

  margin-top: 52px;

}



.trial-card {

  border: 1px solid var(--line);

  border-radius: 28px;

  background: rgba(255,255,255,.78);

  box-shadow: var(--shadow-soft);

  padding: clamp(24px, 4vw, 42px);

  display: grid;

  grid-template-columns: minmax(0, 1fr) 270px;

  gap: 28px;

  align-items: center;

}



.trial-card h2 {

  font-size: clamp(2rem, 3.4vw, 3.35rem);

  line-height: 1.03;

  letter-spacing: -.065em;

  margin: 14px 0 12px;

}



.trial-card p {

  color: var(--muted);

  font-size: 1.04rem;

  line-height: 1.6;

  max-width: 720px;

}



.trial-action {

  border: 1px solid var(--line);

  border-radius: 24px;

  background: rgba(248, 241, 231, .78);

  padding: 24px;

  display: grid;

  gap: 10px;

}



.trial-action strong {

  font-size: 2.35rem;

  letter-spacing: -.06em;

}



.trial-action span {

  color: var(--muted);

  font-weight: 700;

}



.trial-action .primary-btn {

  justify-content: center;

  margin-top: 10px;

}



.public-post-body {

  max-width: 920px;

  margin: 0 auto;

}



.public-post-content {

  font-size: 1.05rem;

  line-height: 1.75;

  color: var(--text);

}



.public-post-content h2,

.public-post-content h3 {

  margin-top: 28px;

}



.public-post-content p {

  margin: 0 0 16px;

}



.public-post-content ul,

.public-post-content ol {

  padding-left: 22px;

  margin: 0 0 18px;

}



.public-auth-wrap {

  width: min(100% - 32px, 460px);

  min-height: calc(100vh - 210px);

  margin: 0 auto;

  display: grid;

  place-items: center;

  padding: 58px 0 36px;

}



.public-auth-card {

  width: 100%;

  border: 1px solid var(--line);

  border-radius: 28px;

  background: rgba(255,255,255,.78);

  box-shadow: var(--shadow-soft);

  padding: 30px;

}



.public-auth-card h1 {

  font-size: clamp(1.85rem, 3.2vw, 2.35rem);

  line-height: 1.08;

  letter-spacing: -.055em;

  margin: 24px 0 10px;

}



.public-auth-card p {

  color: var(--muted);

  line-height: 1.55;

}



.public-auth-card .card-actions {

  display: flex;

  gap: 10px;

  flex-wrap: wrap;

  margin-top: 18px;

}



.public-footer {

  width: min(100% - 32px, 1180px);

  margin: 52px auto 28px;

  padding: 22px 0 0;

  border-top: 1px solid var(--line);

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 20px;

  color: var(--muted);

}



.public-footer strong {

  display: block;

  color: var(--text);

  margin-bottom: 4px;

}



.public-footer-links {

  display: flex;

  gap: 14px;

  flex-wrap: wrap;

  justify-content: flex-end;

}



.public-footer-links a {

  color: var(--muted);

  text-decoration: none;

  font-weight: 800;

}



.public-footer-links a:hover {

  color: var(--text);

}



@media (max-width: 980px) {

  .page-public .mobile-menu-btn {

    display: inline-flex;

  }



  .price-grid {

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }



  .trial-card {

    grid-template-columns: 1fr;

  }

}



@media (max-width: 760px) {

  .page-public .site-nav {

    display: none;

  }



  .page-public .top-actions .primary-btn {

    display: none;

  }



  .page-public .public-main {

    padding-top: 32px;

  }



  .page-public .hero-card-wide {

    padding: 26px;

  }



  .page-public .hero-card-wide h1,

  .page-public .page-title-row h1,

  .public-post-body h1 {

    font-size: clamp(2rem, 9vw, 2.9rem);

    letter-spacing: -.06em;

  }



  .public-auth-wrap {

    min-height: calc(100vh - 160px);

    padding-top: 36px;

  }

}



@media (max-width: 640px) {

  .price-grid {

    grid-template-columns: 1fr;

  }



  .public-footer {

    align-items: flex-start;

    flex-direction: column;

  }



  .public-footer-links {

    justify-content: flex-start;

  }



  .marketing-strip {

    gap: 8px;

  }



  .marketing-pill {

    font-size: .82rem;

  }

}



.flash-inline {

  margin: 14px 0;

  padding: 12px 14px;

  border-radius: 16px;

  border: 1px solid var(--line);

  background: #fff;

  line-height: 1.45;

  word-break: break-word;

}





.public-auth-card .brand {

  margin-bottom: 4px;

}



.public-auth-card .form-control {

  min-height: 48px;

}



.public-auth-card a {

  text-decoration: none;

}



/* Conteúdos públicos - cards, métricas, views e curtidas */

.post-card .content-thumb,

.content-card .content-thumb {

  position: relative;

  display: block;

  width: 100%;

  aspect-ratio: 1 / 1;

  overflow: hidden;

  text-decoration: none;

  background:

    linear-gradient(135deg, rgba(17,17,17,.82), rgba(17,17,17,.55)),

    radial-gradient(circle at 78% 20%, rgba(224,170,71,.7), transparent 9rem);

  padding: 0;

}



.post-card .content-thumb img,

.content-card .content-thumb img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

  transform: scale(1.001);

}



.post-card .content-thumb .badge,

.content-card .content-thumb .badge {

  display: none;

}



.post-card .content-body h3 a {

  color: var(--text);

  text-decoration: none;

}



.post-card .content-body h3 a:hover {

  color: #7b4b0d;

}



.post-card-meta {

  display: flex;

  flex-wrap: wrap;

  gap: 6px;

  margin-bottom: 10px;

  color: var(--muted);

  font-size: .82rem;

  font-weight: 800;

}



.post-card-meta span {

  display: inline-flex;

  align-items: center;

  min-height: 24px;

}



.post-grid .content-card,

.post-grid-home .content-card {

  min-height: 0;

}



.content-load-status {

  width: min(100% - 32px, 1180px);

  margin: 22px auto 0;

  color: var(--muted);

  text-align: center;

  font-weight: 800;

}



.content-load-sentinel {

  width: 100%;

  height: 24px;

}



.public-post-article {

  width: min(100% - 32px, 860px);

  margin-inline: auto;

  overflow: hidden;

}



.public-post-top {

  display: grid;

  grid-template-columns: minmax(180px, 270px) minmax(0, 1fr);

  gap: 24px;

  align-items: start;

  margin-bottom: 26px;

}



.public-post-top.no-image {

  grid-template-columns: 1fr;

}



.public-post-image {

  margin: 0;

  border-radius: 26px;

  overflow: hidden;

  border: 1px solid var(--line);

  background: rgba(255,255,255,.72);

  box-shadow: var(--shadow-soft);

}



.public-post-image img {

  display: block;

  width: 100%;

  aspect-ratio: 1 / 1;

  object-fit: cover;

}



.public-post-intro h1 {

  font-size: clamp(2rem, 4.1vw, 3.3rem);

  line-height: 1.04;

  letter-spacing: -.06em;

  margin: 12px 0 12px;

}



.public-post-intro .lead {

  margin: 0;

  color: var(--muted);

  font-size: 1.08rem;

  line-height: 1.55;

}



.public-post-meta {

  display: flex;

  flex-wrap: wrap;

  gap: 8px;

  margin-bottom: 8px;

}



.public-post-meta span {

  display: inline-flex;

  align-items: center;

  gap: 6px;

  min-height: 30px;

  padding: 5px 10px;

  border-radius: 999px;

  border: 1px solid var(--line);

  background: rgba(255,255,255,.75);

  color: var(--muted);

  font-weight: 900;

  font-size: .86rem;

}



.public-post-meta svg {

  width: 15px;

  height: 15px;

  stroke-width: 2.2;

}



.public-post-content {

  margin-top: 26px;

  font-size: 1.04rem;

  line-height: 1.82;

  color: var(--text);

}



.public-post-content h2,

.public-post-content h3 {

  margin: 34px 0 14px;

  line-height: 1.12;

  letter-spacing: -.035em;

}



.public-post-content p {

  margin: 0 0 18px;

}



.public-post-content ul,

.public-post-content ol {

  padding-left: 24px;

  margin: 0 0 20px;

}



.public-post-footer {

  display: flex;

  justify-content: space-between;

  align-items: center;

  gap: 16px;

  margin-top: 34px;

  padding-top: 20px;

  border-top: 1px solid var(--line);

}



.post-like-button {

  width: 54px;

  height: 54px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  border-radius: 999px;

  border: 1px solid rgba(37, 99, 235, .28);

  background: rgba(239, 246, 255, .88);

  color: #2563eb;

  cursor: pointer;

  transition: transform .16s ease, background .16s ease, border-color .16s ease;

}



.post-like-button:hover {

  transform: translateY(-1px);

  background: #eff6ff;

  border-color: rgba(37, 99, 235, .48);

}



.post-like-button svg {

  width: 24px;

  height: 24px;

  stroke-width: 2.2;

}



.post-like-button.is-liked,

.post-like-button:disabled {

  background: #dbeafe;

  border-color: rgba(37, 99, 235, .45);

  color: #1d4ed8;

  cursor: default;

}



@media (max-width: 760px) {

  .public-post-top {

    grid-template-columns: 1fr;

  }



  .public-post-image {

    width: min(100%, 320px);

  }



  .public-post-footer {

    align-items: flex-start;

  }

}



/* Ajuste v3: cards públicos com imagem quadrada real no front e sem selo interno */

.public-grid .post-card > .content-thumb,

.post-grid .post-card > .content-thumb,

.post-grid-home .post-card > .content-thumb,

.content-card.post-card > .content-thumb {

  display: block !important;

  width: 100% !important;

  height: auto !important;

  min-height: 0 !important;

  max-height: none !important;

  aspect-ratio: 1 / 1 !important;

  overflow: hidden !important;

  border-radius: 24px 24px 0 0;

}



.public-grid .post-card > .content-thumb img,

.post-grid .post-card > .content-thumb img,

.post-grid-home .post-card > .content-thumb img,

.content-card.post-card > .content-thumb img {

  display: block !important;

  width: 100% !important;

  height: 100% !important;

  aspect-ratio: 1 / 1 !important;

  object-fit: cover !important;

  object-position: center center !important;

}



.public-grid .post-card > .content-thumb .badge,

.public-grid .post-card > .content-thumb .post-badge,

.public-grid .post-card > .content-thumb .content-badge,

.post-card .content-thumb .badge,

.post-card .content-thumb .post-badge,

.post-card .content-thumb .content-badge {

  display: none !important;

}



/* Patch v15: logo horizontal no front público */
.brand-logo-link .brand-logo-img{
  display:block;
  object-fit:contain;
}


/* Patch v16: ajuste fino da marca textual no front público */
.page-public .public-brand-card{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}
.page-public .public-brand-copy strong span{
  color:#d99a26;
}
