/*
Theme Name: Goyaz Gás
Theme URI: https://goyazgas.com.br
Author: Goyaz Gás
Author URI: https://goyazgas.com.br
Description: Tema WordPress de página única recriando o site institucional da Goyaz Gás — distribuidora de gás em Goiânia. Hero, produtos, como funciona, pagamento, cobertura, depoimentos, FAQ e CTAs de WhatsApp/telefone. Conteúdo fixo.
Version: 1.0.0
Requires at least: 5.6
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: goyaz-gas
Tags: one-column, custom-colors, custom-logo, featured-images, threaded-comments, translation-ready, full-width-template
*/

/* ============================================================
   Design tokens (portados de src/styles.css)
   ============================================================ */
:root {
  --radius: 0.875rem;
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
  --radius-2xl: calc(var(--radius) + 8px);
  --radius-3xl: calc(var(--radius) + 12px);

  --background: oklch(0.985 0.006 250);
  --foreground: oklch(0.22 0.05 262);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.22 0.05 262);
  --primary: oklch(0.53 0.11 245);
  --primary-foreground: oklch(0.99 0.005 250);
  --primary-deep: oklch(0.24 0.08 266);
  --secondary: oklch(0.94 0.02 250);
  --secondary-foreground: oklch(0.24 0.08 266);
  --muted: oklch(0.95 0.012 250);
  --muted-foreground: oklch(0.52 0.03 258);
  --accent: oklch(0.81 0.163 82);
  --accent-foreground: oklch(0.25 0.07 265);
  --whats: oklch(0.68 0.17 152);
  --whats-foreground: oklch(0.99 0.005 250);
  --destructive: oklch(0.577 0.245 27.325);
  --border: oklch(0.9 0.02 252);
  --input: oklch(0.9 0.02 252);
  --ring: oklch(0.53 0.11 245);

  --gradient-brand: linear-gradient(140deg, oklch(0.22 0.08 267), oklch(0.35 0.075 250) 55%, oklch(0.53 0.11 245));
  --shadow-brand: 0 18px 45px -20px oklch(0.24 0.08 266 / 0.5);
  --shadow-float: 0 12px 30px -8px oklch(0.24 0.08 266 / 0.45);

  --font-display: "Outfit", ui-sans-serif, system-ui, sans-serif;
  --font-sans: "Figtree", ui-sans-serif, system-ui, sans-serif;

  --container: 72rem; /* max-w-6xl ~ 1152px */
}

/* ============================================================
   Base
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background-color: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img { max-width: 100%; height: auto; display: block; }

a { color: inherit; text-decoration: none; }

h1, h2, h3, h4 {
  font-family: var(--font-display);
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1.1;
}

p { margin: 0; }

ul { margin: 0; padding: 0; list-style: none; }

/* ============================================================
   Layout helpers
   ============================================================ */
.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 1rem;
}

.section { padding-block: 4rem; }
.section--alt { background-color: color-mix(in oklch, var(--secondary) 60%, transparent); }
.section--card { background-color: var(--card); border-bottom: 1px solid var(--border); }

.bg-brand { background-image: var(--gradient-brand); color: var(--primary-foreground); }
.bg-card { background-color: var(--card); }
.text-primary { color: var(--primary); }
.text-accent { color: var(--accent); }
.text-muted { color: var(--muted-foreground); }

.shadow-brand { box-shadow: var(--shadow-brand); }
.shadow-float { box-shadow: var(--shadow-float); }

.stripe-accent {
  background-image: repeating-linear-gradient(-45deg,
    var(--accent) 0 14px,
    var(--primary) 14px 28px);
}

.rounded-lg { border-radius: var(--radius-lg); }
.rounded-2xl { border-radius: var(--radius-2xl); }
.rounded-3xl { border-radius: var(--radius-3xl); }
.rounded-full { border-radius: 9999px; }

.eyebrow {
  font-family: var(--font-display);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--primary);
}

.title-3xl { font-size: clamp(1.875rem, 1.4rem + 2vw, 2.25rem); font-weight: 800; }
.title-4xl { font-size: clamp(2.25rem, 1.5rem + 3vw, 3rem); font-weight: 800; }

/* ============================================================
   Reveal animation
   ============================================================ */
.reveal { animation: reveal-up 0.7s cubic-bezier(0.16, 1, 0.3, 1) both; }
@keyframes reveal-up {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal { animation: none; }
  html { scroll-behavior: auto; }
}

/* ============================================================
   Header / nav
   ============================================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  border-bottom: 1px solid color-mix(in oklch, var(--border) 60%, transparent);
  background-color: color-mix(in oklch, var(--card) 90%, transparent);
  backdrop-filter: blur(8px);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 0.75rem;
}
.site-header__logo img { height: 3rem; width: auto; }
@media (min-width: 768px) { .site-header__logo img { height: 3.25rem; } }
.site-nav {
  display: none;
  align-items: center;
  gap: 1.5rem;
  font-family: var(--font-display);
  font-size: 0.875rem;
  font-weight: 600;
}
.site-nav a { transition: color 0.2s; }
.site-nav a:hover { color: var(--primary); }
@media (min-width: 768px) { .site-nav { display: flex; } }

/* ============================================================
   Buttons
   ============================================================ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 0;
  cursor: pointer;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  border-radius: var(--radius-xl);
  transition: transform 0.2s, background-color 0.2s, box-shadow 0.2s;
  text-align: center;
}
.btn:active { transform: translateY(1px); }
.btn .icon { width: 1.25rem; height: 1.25rem; flex: none; }
.btn--lg { padding: 1rem 1.5rem; font-size: 1rem; }
.btn--md { padding: 0.75rem 1.25rem; font-size: 0.875rem; }
.btn--pill { border-radius: 9999px; padding: 0.5rem 1rem; font-size: 0.875rem; }
.btn--whats { background-color: var(--whats); color: var(--whats-foreground); }
.btn--whats:hover { transform: scale(1.03); }
.btn--accent { background-color: var(--accent); color: var(--accent-foreground); box-shadow: var(--shadow-float); }
.btn--accent:hover { transform: scale(1.03); }
.btn--primary { background-color: var(--primary); color: var(--primary-foreground); }
.btn--primary:hover { background-color: var(--primary-deep); }
.btn--ghost-accent { background-color: var(--accent); color: var(--accent-foreground); }
.btn--ghost-accent:hover { transform: scale(1.03); }

.pulse-cta { animation: pulse-cta 2.6s ease-in-out infinite; }
@keyframes pulse-cta {
  0%, 100% { box-shadow: 0 0 0 0 oklch(0.68 0.17 152 / 0.45); }
  50%      { box-shadow: 0 0 0 14px oklch(0.68 0.17 152 / 0); }
}
@media (prefers-reduced-motion: reduce) { .pulse-cta { animation: none; } }

.site-header .btn--whats { display: none; }
@media (min-width: 640px) { .site-header .btn--whats { display: inline-flex; } }

/* ============================================================
   Hero
   ============================================================ */
.hero { position: relative; overflow: hidden; }
.hero__grid {
  display: grid;
  gap: 2.5rem;
  align-items: center;
  padding-block: 3rem 4rem;
}
@media (min-width: 768px) {
  .hero__grid { grid-template-columns: 1fr 1fr; padding-block: 5rem; }
}
.hero__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background-color: var(--accent);
  color: var(--accent-foreground);
  padding: 0.375rem 1rem;
  border-radius: 9999px;
  font-family: var(--font-display);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
}
.hero__title {
  margin-top: 1.25rem;
  font-size: clamp(2.25rem, 1.5rem + 4vw, 3.75rem);
  font-weight: 800;
  line-height: 1.03;
}
.hero__lead {
  margin-top: 1.25rem;
  max-width: 28rem;
  font-size: 1.05rem;
  color: color-mix(in oklch, var(--primary-foreground) 85%, transparent);
}
.hero__cta { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 2rem; }
@media (min-width: 640px) { .hero__cta { flex-direction: row; } }
.hero__checklist {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin-top: 1.75rem;
  font-size: 0.875rem;
  color: color-mix(in oklch, var(--primary-foreground) 85%, transparent);
}
.hero__checklist li { display: flex; align-items: center; gap: 0.5rem; }
.hero__checklist .icon { width: 1rem; height: 1rem; color: var(--accent); }
.hero__badge-wrap { margin-top: 1.5rem; }

.hero__media { position: relative; }
.hero__media img.main {
  height: 380px;
  width: 100%;
  object-fit: cover;
  border-radius: var(--radius-3xl);
  box-shadow: var(--shadow-brand);
}
@media (min-width: 640px) { .hero__media img.main { height: 520px; } }
.hero__mascot {
  position: absolute;
  bottom: -1rem;
  left: -1rem;
  width: 7rem;
  filter: drop-shadow(0 10px 16px rgba(0,0,0,0.35));
}
@media (min-width: 640px) { .hero__mascot { width: 9rem; } }
.hero__stat {
  position: absolute;
  right: 1rem;
  top: 1rem;
  border-radius: var(--radius-2xl);
  background-color: color-mix(in oklch, var(--card) 95%, transparent);
  padding: 0.75rem 1rem;
  text-align: center;
  box-shadow: var(--shadow-float);
  backdrop-filter: blur(6px);
}
.hero__stat b { font-family: var(--font-display); font-size: 1.5rem; font-weight: 800; color: var(--primary); }
.hero__stat span { font-size: 0.75rem; font-weight: 500; color: var(--muted-foreground); display: block; }

/* Open now badge */
.open-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-family: var(--font-display);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.open-badge::before {
  content: "";
  width: 0.5rem; height: 0.5rem;
  border-radius: 9999px;
  background: var(--muted-foreground);
}
.open-badge.is-open { color: var(--primary); }
.open-badge.is-open::before {
  background: #22c55e;
  box-shadow: 0 0 0 0 rgba(34,197,94,0.6);
  animation: ping 1.8s ease-out infinite;
}
.open-badge.is-closed { color: var(--muted-foreground); }
.open-badge.is-closed::before { background: var(--muted-foreground); }
@keyframes ping {
  0% { box-shadow: 0 0 0 0 rgba(34,197,94,0.5); }
  70% { box-shadow: 0 0 0 8px rgba(34,197,94,0); }
  100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
}
@media (prefers-reduced-motion: reduce) { .open-badge.is-open::before { animation: none; } }

/* ============================================================
   Trust strip
   ============================================================ */
.trust { display: grid; gap: 1.5rem; padding-block: 2rem; }
@media (min-width: 640px) { .trust { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .trust { grid-template-columns: repeat(4, 1fr); } }
.trust__item { display: flex; align-items: flex-start; gap: 0.75rem; }
.trust__icon {
  flex: none;
  width: 2.5rem; height: 2.5rem;
  display: grid; place-items: center;
  border-radius: var(--radius-xl);
  background-color: var(--secondary);
  color: var(--primary);
}
.trust__icon .icon { width: 1.25rem; height: 1.25rem; }
.trust__title { font-family: var(--font-display); font-size: 0.875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
.trust__text { margin-top: 0.25rem; font-size: 0.875rem; color: var(--muted-foreground); }

/* ============================================================
   Products
   ============================================================ */
.products__head { max-width: 36rem; }
.products__head p { margin-top: 0.75rem; color: var(--muted-foreground); }
.products__grid { display: grid; gap: 1.5rem; margin-top: 2.25rem; }
@media (min-width: 768px) { .products__grid { grid-template-columns: repeat(3, 1fr); } }
.product-card {
  overflow: hidden;
  border: 1px solid var(--border);
  background-color: var(--card);
  border-radius: var(--radius-3xl);
  transition: transform 0.3s, box-shadow 0.3s;
}
.product-card:hover { transform: translateY(-0.375rem); box-shadow: var(--shadow-brand); }
.product-card__media { height: 11rem; width: 100%; object-fit: cover; transition: transform 0.5s; }
.product-card:hover .product-card__media { transform: scale(1.05); }
.product-card__body { padding: 1.5rem; }
.product-card__icon {
  width: 2.75rem; height: 2.75rem;
  display: grid; place-items: center;
  border-radius: var(--radius-xl);
  background-color: var(--secondary);
  color: var(--primary);
}
.product-card__icon .icon { width: 1.25rem; height: 1.25rem; }
.product-card__title { margin-top: 1rem; font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; }
.product-card__desc { margin-top: 0.5rem; font-size: 0.875rem; color: var(--muted-foreground); }
.product-card .btn { margin-top: 1.25rem; width: 100%; }

/* ============================================================
   How it works
   ============================================================ */
.steps { display: grid; gap: 1.5rem; margin-top: 2.25rem; }
@media (min-width: 768px) { .steps { grid-template-columns: repeat(3, 1fr); } }
.step { position: relative; border: 1px solid var(--border); background-color: var(--card); border-radius: var(--radius-3xl); padding: 1.75rem; }
.step__num { font-family: var(--font-display); font-size: 3rem; font-weight: 800; color: var(--accent); }
.step__title { margin-top: 0.75rem; font-family: var(--font-display); font-size: 1.125rem; font-weight: 700; }
.step__text { margin-top: 0.5rem; font-size: 0.875rem; color: var(--muted-foreground); }

.callout {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2.25rem;
  background-image: var(--gradient-brand);
  color: var(--primary-foreground);
  padding: 1.75rem;
  border-radius: var(--radius-3xl);
}
@media (min-width: 640px) { .callout { flex-direction: row; align-items: center; } }
.callout__text { font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; }

/* ============================================================
   Structure / about
   ============================================================ */
.about { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 768px) { .about { grid-template-columns: 1fr 1fr; } }
.about__photos { display: grid; gap: 1rem; }
.about__photos img { height: 14rem; width: 100%; object-fit: cover; border-radius: var(--radius-3xl); box-shadow: var(--shadow-brand); }
.about__features { margin-top: 1.5rem; display: grid; gap: 0.75rem; }
@media (min-width: 640px) { .about__features { grid-template-columns: repeat(2, 1fr); } }
.about__features li { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; font-weight: 500; }
.about__features .icon { width: 1rem; height: 1rem; color: var(--primary); }

/* ============================================================
   Payment / hours / partner
   ============================================================ */
.pay-grid { display: grid; gap: 1.5rem; }
@media (min-width: 1024px) { .pay-grid { grid-template-columns: 2fr 1fr; } }
.panel { border: 1px solid var(--border); background-color: var(--card); border-radius: var(--radius-3xl); padding: 1.75rem; }
.panel--wide { grid-column: span 1; }
@media (min-width: 1024px) { .panel--wide { grid-column: span 1; } }
.pay-list { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.pay-list li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid var(--border);
  background-color: var(--background);
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-family: var(--font-display);
  font-size: 0.875rem;
  font-weight: 700;
}
.pay-list .icon { width: 1rem; height: 1rem; color: var(--primary); }

.store-deal {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.75rem;
  background-image: var(--gradient-brand);
  color: var(--primary-foreground);
  padding: 1.5rem;
  border-radius: var(--radius-2xl);
}
@media (min-width: 640px) { .store-deal { flex-direction: row; align-items: center; justify-content: space-between; } }
.store-deal__head { display: flex; align-items: flex-start; gap: 0.75rem; }
.store-deal__head .icon { margin-top: 0.25rem; width: 1.75rem; height: 1.75rem; color: var(--accent); flex: none; }
.store-deal__title { font-family: var(--font-display); font-size: 1.125rem; font-weight: 700; }
.store-deal__sub { font-size: 0.875rem; color: color-mix(in oklch, var(--primary-foreground) 85%, transparent); }
.store-deal__sub b { color: var(--accent); font-weight: 700; }

.gaspovo {
  display: grid;
  align-items: center;
  gap: 1.5rem;
  margin-top: 1.75rem;
  border: 1px solid var(--border);
  background-color: var(--background);
  padding: 1.5rem;
  border-radius: var(--radius-2xl);
}
@media (min-width: 640px) { .gaspovo { grid-template-columns: auto 1fr; } }
.gaspovo img { height: 5rem; width: auto; }
.gaspovo p { font-size: 0.875rem; color: var(--muted-foreground); }
.gaspovo strong { color: var(--foreground); }

.hours__head { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-top: 1rem; }
.hours__title { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; }
.hours__list { margin-top: 1rem; }
.hours__list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: 0.625rem;
  border-bottom: 1px solid var(--border);
  font-size: 0.875rem;
}
.hours__list li:last-child { border-bottom: 0; }
.hours__list .day { font-weight: 500; }
.hours__list .closed { color: var(--muted-foreground); }
.hours__list .open { font-weight: 600; }

.partner {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--border);
  background-color: var(--card);
  border-radius: var(--radius-3xl);
  margin-top: 2rem;
}
@media (min-width: 768px) { .partner { grid-template-columns: 1fr 1fr; } }
.partner img { height: 16rem; width: 100%; object-fit: cover; }
@media (min-width: 768px) { .partner img { height: 100%; } }
.partner__body { padding: 1.75rem; }
.partner__title { margin-top: 0.5rem; font-family: var(--font-display); font-size: 1.5rem; font-weight: 800; }
.partner__text { margin-top: 0.75rem; color: var(--muted-foreground); }

/* ============================================================
   Testimonials
   ============================================================ */
.testi-grid { display: grid; gap: 1.5rem; margin-top: 2.25rem; }
@media (min-width: 768px) { .testi-grid { grid-template-columns: repeat(3, 1fr); } }
.testi { border: 1px solid var(--border); background-color: var(--background); border-radius: var(--radius-3xl); padding: 1.75rem; }
.testi__stars { display: flex; gap: 0.25rem; color: var(--accent); }
.testi__stars .icon { width: 1rem; height: 1rem; fill: currentColor; }
.testi__quote { margin-top: 1rem; font-size: 0.875rem; color: var(--muted-foreground); }
.testi__name { margin-top: 1rem; font-family: var(--font-display); font-size: 0.875rem; font-weight: 700; }

/* ============================================================
   Coverage
   ============================================================ */
.coverage { display: grid; gap: 2rem; }
@media (min-width: 768px) { .coverage { grid-template-columns: 1fr 1fr; } }
.coverage__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.5rem; }
.coverage__tags li { border: 1px solid var(--border); background-color: var(--card); padding: 0.5rem 1rem; border-radius: 9999px; font-size: 0.875rem; font-weight: 500; }
.coverage__contacts { margin-top: 1.75rem; display: grid; gap: 0.75rem; font-size: 0.875rem; }
.coverage__contacts a { display: flex; align-items: flex-start; gap: 0.75rem; transition: color 0.2s; }
.coverage__contacts a:hover { color: var(--primary); }
.coverage__contacts .icon { width: 1.25rem; height: 1.25rem; flex: none; color: var(--primary); margin-top: 0.125rem; }
.coverage__map { overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-3xl); box-shadow: var(--shadow-brand); }
.coverage__map iframe { width: 100%; min-height: 320px; height: 100%; border: 0; display: block; }

/* ============================================================
   FAQ
   ============================================================ */
.faq-list { margin-top: 2rem; display: grid; gap: 0.75rem; }
.faq-item { border: 1px solid var(--border); background-color: var(--card); border-radius: var(--radius-2xl); padding: 1.25rem; transition: border-color 0.2s; }
.faq-item[open] { border-color: color-mix(in oklch, var(--primary) 40%, transparent); }
.faq-item summary { cursor: pointer; list-style: none; font-family: var(--font-display); font-size: 1rem; font-weight: 700; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; float: right; color: var(--muted-foreground); transition: transform 0.2s; }
.faq-item[open] summary::after { content: "−"; }
.faq-item p { margin-top: 0.75rem; font-size: 0.875rem; color: var(--muted-foreground); }

/* ============================================================
   Footer
   ============================================================ */
.site-footer { background-image: var(--gradient-brand); color: var(--primary-foreground); padding-block: 3rem; }
.site-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 640px) { .site-footer__inner { flex-direction: row; align-items: center; justify-content: space-between; } }
.site-footer__brand { font-family: var(--font-display); font-size: 1.25rem; font-weight: 800; text-transform: uppercase; }
.site-footer__addr { margin-top: 0.5rem; max-width: 24rem; font-size: 0.875rem; color: color-mix(in oklch, var(--primary-foreground) 80%, transparent); }
.site-footer__copy { font-size: 0.875rem; color: color-mix(in oklch, var(--primary-foreground) 70%, transparent); }

/* ============================================================
   Floating contact bar
   ============================================================ */
.floating-contact {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 50;
  display: flex;
  justify-content: center;
  padding: 0 1rem 1rem;
}
@media (min-width: 640px) { .floating-contact { justify-content: flex-end; padding-inline: 1.5rem; } }
.floating-contact__bar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  max-width: 28rem;
  border: 1px solid color-mix(in oklch, var(--border) 60%, transparent);
  background-color: color-mix(in oklch, var(--card) 95%, transparent);
  padding: 0.5rem;
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-float);
  backdrop-filter: blur(8px);
}
@media (min-width: 640px) { .floating-contact__bar { width: auto; } }
.floating-contact__bar .btn { flex: 1; }

/* make sure fixed bar never hides footer content */
.site-main { padding-bottom: 5rem; }

/* ============================================================
   WP default content (posts/pages fallback)
   ============================================================ */
.entry { max-width: 48rem; margin-inline: auto; padding-block: 3rem; }
.entry-title { font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem); font-weight: 800; margin-bottom: 1rem; }
.entry-content { font-size: 1rem; }
.entry-content > * + * { margin-top: 1rem; }
.entry-content h2 { font-size: 1.5rem; margin-top: 2rem; }
.entry-content h3 { font-size: 1.25rem; margin-top: 1.5rem; }
.entry-content a { color: var(--primary); text-decoration: underline; }
.entry-meta { font-size: 0.85rem; color: var(--muted-foreground); margin-bottom: 1.5rem; }
.post-nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; font-size: 0.9rem; }
.post-nav a { color: var(--primary); }

/* Responsive small tweaks */
@media (max-width: 480px) {
  .hero__title { font-size: 2rem; }
  .section { padding-block: 3rem; }
}
