*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --green: #76b342;
  --text: #000;
  --border: #d4e8b0;
  --bg: #f5f5f5;
}

html { font-size: 20px;}
@media (max-width:600px){
    html { font-size: 3.03vw;}
}

body { font-family: 'Open Sans', sans-serif; background: #fff; color: var(--text); margin: 0; padding: 0; font-size: 1rem; line-height: 1.25;}
#wrapper { padding-bottom: 7.6rem;}
.container { max-width: 660px; min-width: 320px; margin: 0 auto; padding: 0 2.8rem;}
img { max-width: 100%; height: auto;}

/* ── HEADER ── */
.hero {
  text-align: center;
  padding: 3.2rem 0 1rem;
}

.hero h1 {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--green);
  line-height: 1.2;
  text-transform: uppercase;
}

/* ── INFO CARD ── */
.info-card {
  margin: 1rem 0;
  border: 0.15rem solid var(--green);
  border-radius: 1.2rem;
  padding:1.25rem 2.2rem 1.75rem;
    font-size: 1.1rem;
}
.info-card p { margin-bottom:1.1rem; }
.info-card > :last-child { margin-bottom: 0;}

.section { padding: 1.5rem 0;}
.section-title { font-size:1.6rem; font-weight: 700; color: var(--green); text-align: center; text-transform: uppercase; margin:0 0 1.9rem;}

/* ── GRID CARDS ── */
.card-grid { display: flex; flex-wrap: nowrap; overflow: auto; gap:1.4rem; margin: 0 -2.8rem; padding: 0 2.8rem 4px;}
.card { background: var(--bg); border: 1px solid var(--green); width: 10.3rem; min-height: 10.3rem; flex-shrink: 0; border-radius: 1.2rem; padding: 0.8rem 0.2rem; text-align: center;}
.section-services .card { background: var(--bg); border-color:transparent;}

.card-icon {
  width: 5.4rem;
  height:5.4rem;
  margin: 0 auto 0.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card-icon img { width: 5.4rem; height:5.4rem; object-fit: contain; object-position: center;}
.card-label { font-weight:700; text-transform: uppercase;}

/* ── PRICE ── */
.price-block { background:var(--bg); border-radius:1.2rem; padding:1.25rem 2.4rem; font-weight:700; text-transform: uppercase;}

.price-row { display: flex; justify-content: space-between; align-items: center; padding: 0.25rem 0;}

/* ── CAR IMAGE ── */
.car-image img { width: 100%; height: auto; border-radius:1.2rem;}

/* ── STICKY BUTTONS ── */
.sticky-bar { position: fixed; bottom: 0; left:0; width: 100%; background: #fff; z-index: 100; padding: 1.1rem 0; box-shadow: -0.7rem -0.7rem 1.25rem 0.05rem rgba(0,0,0,0.1);}
.bar-buttons { display: flex; gap:1.6rem;}
.btn { display: inline-flex; gap:8px; align-items: center; justify-content: center; flex:1; padding: 1.05rem 1.2rem; font-size: 0.9rem; font-weight: 700; text-transform: uppercase; border: none; border-radius: 1.5rem; text-align: center; cursor: pointer; text-decoration: none; transition:all 0.15s ease;}
.btn:hover { opacity: 0.85;}
.btn svg { width: 0.9rem; height:0.9rem; display: block; fill: currentColor; flex-shrink: 0;}
.btn-call { background: var(--green); color: #fff;}
.btn-msg { background: #3c57f4; color: #fff;}