/* MAP + CONTACT */
.map-section{
padding:70px 40px;
background:white;
}

.map-section h2{
color:var(--bosch-blue);
text-align:center;
margin-bottom:30px;
}

.map iframe{
width:100%;
height:350px;
border:0;
margin-bottom:40px;
}

.contact-form{
max-width:600px;
margin:auto;
}

.contact-form input,
.contact-form textarea{
width:100%;
padding:12px;
margin-bottom:15px;
border:1px solid #ccc;
border-radius:3px;
}

.contact-form button{
width:100%;
padding:12px;
background:var(--bosch-red);
color:white;
border:none;
font-weight:600;
cursor:pointer;
}

/* STICKY CALL */
.sticky-call{
position:fixed;
bottom:25px;
right:25px;
background:var(--bosch-red);
color:white;
padding:14px 20px;
border-radius:50px;
text-decoration:none;
font-weight:600;
box-shadow:0 4px 12px rgba(0,0,0,0.2);
}

/* FOOTER */
.main-footer{
background:#f2f4f7;
padding-top:60px;
font-size:14px;
color:#333;
}

.footer-container{
max-width:1200px;
margin:auto;
padding:0 40px;
}

.footer-row{
display:flex;
justify-content:space-between;
gap:40px;
margin-bottom:50px;
flex-wrap:wrap;
}

.footer-col{
flex:1;
min-width:220px;
}

.footer-col h3{
color:#0f3f8a;
margin-bottom:15px;
font-size:18px;
}

.footer-col p{
margin-bottom:8px;
}

.footer-col a{
color:#0f3f8a;
text-decoration:none;
}

.footer-col a:hover{
text-decoration:underline;
}

.vehicle-icons span,
.payment-icons span{
font-size:22px;
margin-right:10px;
}

.footer-bottom{
background:#0f3f8a;
color:white;
text-align:center;
padding:18px;
font-size:13px;
}

/* RESPONSIVE */
@media(max-width:900px){
.hero{
grid-template-columns:1fr;
}
.hero-right{
margin-top:30px;
}
}

/* SERVICES V2 (Accordion + Timeline + Reveal) */
.services-v2{
  background:#f7f9fc;
}

.services-head{
  text-align:center;
  margin-bottom:26px;
}

.services-head p{
  opacity:0.75;
  margin-top:10px;
}

.services-accordion{
  max-width:1000px;
  margin:0 auto;
  position:relative;
  padding-left:34px; /* hely a timeline-nak */
}

/* Timeline line */
.services-accordion.timeline::before{
  content:"";
  position:absolute;
  left:14px;
  top:6px;
  bottom:6px;
  width:2px;
  background:rgba(15,63,138,0.22);
  border-radius:2px;
}

/* Details card */
.svc{
  background:#fff;
  border:1px solid #e6e9ef;
  border-radius:12px;
  margin-bottom:14px;
  overflow:hidden;
  position:relative;
}

/* Timeline dot */
.svc::before{
  content:"";
  position:absolute;
  left:-26px;
  top:18px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#0f3f8a;
  box-shadow:0 0 0 4px rgba(15,63,138,0.15);
}

.svc.winter::before{
  background:#E2001A;
  box-shadow:0 0 0 4px rgba(226,0,26,0.15);
}

.svc-sum{
  list-style:none;
  cursor:pointer;
  padding:16px 18px;
  display:grid;
  grid-template-columns: auto 1fr auto auto; /* ikon | közép | chip | nyíl */
  align-items:center;
  gap:14px;
  user-select:none;
}

.svc-sum::-webkit-details-marker{ display:none; }

.svc-ico{
  width:42px;
  height:42px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(15,63,138,0.10);
  font-size:22px;
  flex:0 0 auto;
}

.svc-title{
  text-align:center;
}

.svc-title strong{
  display:block;
  font-size:16px;
  color:#0f3f8a;
}

.svc-title small{
  display:block;
  margin-top:3px;
  opacity:0.75;
  font-size:13px;
}

.svc-chip{
  margin-left:auto;
  background:rgba(15,63,138,0.10);
  color:#0f3f8a;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}

.svc.winter .svc-chip{
  background:rgba(226,0,26,0.10);
  color:#E2001A;
}

.svc-caret{
  font-size:16px;
  opacity:0.7;
  transition:transform 0.25s ease;
  margin-left:8px;
}

details[open] .svc-caret{
  transform:rotate(180deg);
}

.svc-body{
  border-top:1px solid #eef1f6;
  padding:14px 18px 18px 18px;
}

.svc-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px 18px;
}

.svc-list li{
  position:relative;
  padding-left:18px;
  font-size:14px;
}

.svc-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#0f3f8a;
  font-weight:800;
}

.svc.winter .svc-list li::before{
  color:#E2001A;
}

@media(max-width:820px){
  .svc-list{ grid-template-columns:1fr; }
}

/* Reveal animation on scroll */
.reveal{
  opacity:0;
  transform:translateY(16px);
  transition:opacity 0.6s ease, transform 0.6s ease;
}

.reveal.in{
  opacity:1;
  transform:translateY(0);
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .reveal{ transition:none; transform:none; opacity:1; }
  .svc-caret{ transition:none; }
}
