:root{ --content-w:80%; --content-bg:#c9ccd1; --content-border:#ffffff; --outer-bg:#9aa0a6; --brand:#1f6844; }
*{ box-sizing:border-box }
html,body{ margin:0; padding:0; font-family:'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; background:var(--outer-bg); color:#111 }
.site-header{ display:flex; align-items:center; justify-content:center; padding:18px 10px; border-bottom:1px solid #ddd; background:#fff }
.site-header .brand{ display:flex; align-items:center; gap:16px; text-decoration:none; color:inherit }
.logo{ height:46px }
.tag{ font-weight:700; font-size:1.05rem }
.content{ width:var(--content-w); margin:20px auto 60px; background:var(--content-bg); border-left:1px solid var(--content-border); border-right:1px solid var(--content-border); padding:24px; box-shadow:0 10px 30px rgba(0,0,0,.08) }
.card{ background:#fff; border-radius:14px; padding:22px; box-shadow:0 10px 18px rgba(0,0,0,.06) }
.section{ margin:18px 0 }
.section h2{ margin:.2rem 0 .8rem; font-size:1.1rem }
.products .check,.radio{ display:block; padding:10px 12px; border:1px solid #e5e7eb; border-radius:12px; margin-bottom:10px; background:#fafafa }
.products .price,.radio .price{ float:right; font-weight:600 }
.grid2{ display:grid; grid-template-columns: 1fr 1fr; gap:12px }
.grid2 label{ display:flex; flex-direction:column; gap:6px }
input[type=text],input[type=email],input[type=tel]{ padding:10px 12px; border:1px solid #d0d7de; border-radius:10px; font-size:14px; background:#fff }
.reveal{ padding:12px; border-left:3px solid #e5e7eb; margin:10px 0 0; background:#f8fafc; border-radius:10px }
.hidden{ display:none }
.inpostWrap{ height:360px; border:1px solid #e5e7eb; border-radius:10px; overflow:hidden; background:#fff }
.muted{ color:#6b7280; font-size:.9rem; margin-top:6px }
.totals{ display:grid; grid-template-columns: 1fr 1fr 1fr; gap:10px; background:#f6f7f9; border:1px dashed #d1d5db; border-radius:12px; padding:12px; margin:18px 0 }
.totals .grand{ font-size:1.1rem }
.btn-primary{ display:inline-block; padding:12px 18px; border:none; border-radius:12px; background:var(--brand); color:#fff; font-weight:700; cursor:pointer }
.actions{ display:flex; align-items:center; gap:14px }
.site-footer{ display:flex; align-items:center; justify-content:space-between; gap:18px; padding:40px 18px; background:#3d5c54; color:#eaf4ef; height:60px }
.site-footer a{ color:#eaf4ef }
@media (max-width:860px){ .grid2{ grid-template-columns:1fr } .totals{ grid-template-columns:1fr } }

/* Geowidget tweak */
#geowidget{ width:100%; height:100% }
.footer-company {
  display: flex;
  flex-direction: row;
  gap: 32px;
  font-size: 12px;
  line-height: 1.4;
}

.footer-company a {
  color: #eaf4ef;
  text-decoration: underline;
}

.footer-left, .footer-right {
  display: flex;
  flex-direction: column;
}

@media (max-width: 768px) {
  .footer-company {
    flex-direction: column;
  }
}
