:root{
  --red:#c41515;
  --red-dark:#a10f0f;
  --white:#ffffff;
  --black:#0b0b0b;
  --muted:#6a6a6a;
  --border:#e9e9e9;
  --container:1100px;
  --radius:16px;
  --shadow:0 8px 24px rgba(0,0,0,.08);
}

*{box-sizing:border-box}

html,body{margin:0;padding:0;font-family:"Heebo",system-ui,sans-serif}

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

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

.container{max-width:var(--container);margin-inline:auto;padding:16px}

/* ===== Red/White Theme ===== */
body.theme-redwhite{background:var(--white);color:var(--black)}

.site-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid var(--border);
  gap:12px
}

.brand-row{display:flex;align-items:center;gap:12px}
.brand-logo{height:52px;width:auto}
.brand-text{font-weight:800}
.brand-text span{color:var(--red)}

.brand-text-phone{font-weight:800}
.brand-text-phone span{color:var(--red)}

.nav a{margin-inline:.6rem;padding-bottom:6px}
.nav a.active{border-bottom:3px solid var(--red)}
.site-footer{border-top:1px solid var(--border);margin-top:24px}

/* Sticky CTA bar */
.sticky-cta{
  position: sticky;
  top: 0;
  z-index: 10;

  display: flex;
  flex-wrap: wrap; /* allow buttons to wrap instead of shrinking */
  gap: 8px;
  justify-content: flex-start;
  align-items: center;

  background: var(--white);
  border-bottom: 1px solid var(--border);

  /* align content edges with .container */
  padding-block: 10px;
  padding-inline: max(16px, calc((100vw - var(--container)) / 2 + 16px));
}

.btn{
  display:inline-flex;align-items:center;gap:8px;border-radius:999px;
  padding:10px 16px;border:1px solid var(--border);box-shadow:var(--shadow);font-weight:600
}

.sticky-cta .btn{
  white-space: nowrap;        /* never break inside label */
  word-break: normal;
  overflow-wrap: normal;
  min-width: max-content;     /* size to content width */
  flex: 0 0 auto;             /* don't shrink */
  line-height: 1.1;
}

.btn-call{background:var(--red);color:#fff;border-color:var(--red)}
.btn-call:hover{background:var(--red-dark)}
.btn-call.alt{background:#222;border-color:#222}
.btn-wa{background:#25D366;color:#07150b;border-color:#25D366}
.btn-primary{background:var(--red);color:#fff;border-color:var(--red)}
.btn-secondary{background:#f6f6f6}
/* alias for contact.html */
.btn-whatsapp{background:#25D366;color:#07150b;border-color:#25D366}

/* Steps Slider */
.steps{
  margin-top:12px;
  /* consistent image window ratios */
  --slide-ratio-desktop: 16/10;
  --slide-ratio-mobile: 16/9;
}
.steps-track{
  display:grid;grid-auto-flow:column;grid-auto-columns:100%;
  overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);
  transition: transform 450ms ease
}
.slide{
  display:grid;grid-template-columns:1.2fr .8fr;gap:16px;
  align-items:stretch; /* equal height columns */
  padding:16px
}
.step-img{
  border-radius:12px;overflow:hidden;
  aspect-ratio: var(--slide-ratio-desktop); /* fixed-height window */
}
.step-img img{
  width:100%;height:100%;object-fit:cover; /* fill without distortion */
}
.step-body{display:grid;align-content:center} /* center text within fixed height */
.step-body h1,.step-body h2{margin:0 0 .5rem}
.step-body .num{
  display:inline-flex;justify-content:center;align-items:center;
  width:36px;height:36px;border-radius:50%;background:var(--red);color:#fff;
  margin-left:8px;font-weight:800
}
.step-cta{margin-top:8px}

.steps-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:10px}
.ctrl{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:#fff;font-size:22px;line-height:0;cursor:pointer}
.dots{display:flex;gap:6px}
.dots button{width:10px;height:10px;border-radius:50%;border:0;background:#ddd;cursor:pointer}
.dots button.active{background:var(--red)}

.benefits ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:18px 0}
.benefits li{background:#fff;border:1px solid var(--border);border-radius:999px;padding:8px 12px}

/* Blog */
.post-list{list-style:none;padding:0;margin:0}
.post{display:block;border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.post h2{margin:0 0 6px;font-size:1.2rem}
.post time{color:var(--muted);font-size:.9rem}
.post-body{border:1px solid var(--border);border-radius:var(--radius);padding:20px}

/* Blog header logo (used on blog article pages) */
.logo{font-weight:800;font-size:1.4rem}
.logo span{color:var(--red)}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.contact-form{display:grid;gap:12px}
label{display:grid;gap:6px}
input,select,textarea{border:1px solid var(--border);color:var(--black);padding:10px;border-radius:10px}

/* Responsive */
.brand-text-phone{display:none}

@media (max-width:900px){
  .slide{grid-template-columns:1fr;gap:12px}
  .brand-text{display:none} /* keep header compact on mobile */
  .brand-text-phone{display:initial}
  .contact-grid{grid-template-columns:1fr}
  .step-img{aspect-ratio: var(--slide-ratio-mobile)} /* shorter window on mobile */
}

/* Slightly tighter buttons on small screens */
@media (max-width:560px){
  .sticky-cta{ gap:6px; }
  .sticky-cta .btn{ padding:8px 12px; font-size: clamp(14px, 3.6vw, 16px); }
}
