.proof{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1.2rem;align-items:stretch}.proof__summary{padding:clamp(1.4rem,3vw,2.2rem);border-radius:var(--r-lg);background:linear-gradient(145deg,var(--amber-soft),transparent 70%),var(--ink-2);border:1px solid var(--amber-line)}.proof__summary strong{display:block;font-family:var(--f-disp);font-size:clamp(1.8rem,4vw,3rem);line-height:1;color:var(--text);margin:.45rem 0 .75rem}.proof__summary p{color:var(--muted);line-height:1.65}.proof__checks{display:grid;gap:.55rem;margin:1.2rem 0 1.5rem;color:var(--text);font-size:.9rem}.proof__checks span{display:flex;align-items:center;gap:.55rem}.proof__checks span::before{content:"✓";display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--amber);color:#14100a;font-weight:800;font-size:.72rem}.proof__quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.proof__quote{margin:0;padding:1.35rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--ink-2);display:flex;flex-direction:column;gap:1rem}.proof__quote:first-child{grid-column:1/-1}.proof__quote p{margin:0;color:var(--text);line-height:1.62;font-size:.94rem}.proof__quote footer{margin-top:auto;color:var(--amber);font-weight:700;font-size:.78rem}.proof__quote footer span{color:var(--muted);font-weight:400;margin-left:.45rem}.card__link{display:inline-flex;margin-top:1rem;color:var(--amber);font-size:.82rem;font-weight:700;text-decoration:none}.card__link:hover{text-decoration:underline}.booking-assurance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:1rem 0}.booking-assurance span{font-size:.72rem;color:var(--muted);text-align:center;padding:.65rem;border:1px solid var(--line);border-radius:9px;background:var(--ink)}.field select{width:100%;border:1px solid var(--line);background:var(--ink);color:var(--text);border-radius:10px;padding:.78rem .85rem;font:inherit}.isav input:disabled+span,.inap input:disabled+span{opacity:.42;cursor:not-allowed}.foglalas-success{margin-top:1rem;padding:1rem;border:1px solid rgba(82,194,126,.45);background:rgba(82,194,126,.1);border-radius:12px;color:var(--text);line-height:1.6}.foglalas-success strong{display:block;color:#7fe3a5}.foglalas-success__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}.foglalas-success__actions button,.foglalas-success__actions a{border:1px solid var(--amber-line);background:var(--amber-soft);color:var(--amber);padding:.55rem .8rem;border-radius:8px;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;text-decoration:none}.statusz-sor{display:flex;flex-wrap:wrap;gap:.45rem;margin:.9rem 0;padding-top:.8rem;border-top:1px solid var(--line)}.statusz-sor button{width:auto!important;margin:0!important;padding:.45rem .7rem!important;border-radius:7px!important;font-size:.72rem!important}.statusz-jelveny{display:inline-flex;padding:.25rem .55rem;border-radius:999px;font-size:.66rem;font-weight:800;text-transform:uppercase}.statusz-jelveny--fuggoben{background:rgba(245,165,36,.12);color:var(--amber)}.statusz-jelveny--megerositve{background:rgba(82,194,126,.14);color:#7fe3a5}.statusz-jelveny--modositva{background:rgba(95,168,255,.14);color:#8bc0ff}.statusz-jelveny--lemondva{background:rgba(224,83,83,.14);color:#ff8e8e}@media(max-width:820px){.proof{grid-template-columns:1fr}.booking-assurance{grid-template-columns:1fr 1fr}.booking-assurance span:last-child{grid-column:1/-1}}@media(max-width:560px){.proof__quotes{grid-template-columns:1fr}.proof__quote:first-child{grid-column:auto}}


/* Többválasztós szolgáltatáslista */
.service-field{min-width:0;width:100%;margin:0;padding:0;border:0}
.service-field legend{display:block;width:100%;margin:0 0 .45rem;padding:0;font:inherit;font-weight:600;color:var(--text)}
.service-help{margin:0 0 .8rem;color:var(--muted);font-size:.78rem;line-height:1.55}
.service-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.service-option{position:relative;display:block;min-width:0;cursor:pointer}
.service-option--wide{grid-column:1/-1}
.service-option input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}
.service-option span{display:grid;grid-template-columns:1fr auto;gap:.35rem .8rem;align-items:center;min-height:58px;padding:.72rem .8rem;border:1px solid var(--line);border-radius:11px;background:var(--ink);transition:border-color .18s ease,background .18s ease,transform .18s ease}
.service-option b{min-width:0;color:var(--text);font-size:.82rem;line-height:1.35;overflow-wrap:anywhere}
.service-option small{color:var(--muted);font-size:.68rem;white-space:nowrap}
.service-option span::before{content:"";width:17px;height:17px;grid-row:1;grid-column:1;align-self:start;border:1px solid var(--line-2,var(--line));border-radius:5px;background:var(--ink-2)}
.service-option b{grid-row:1;grid-column:1;padding-left:26px}
.service-option small{grid-row:1;grid-column:2}
.service-option input:checked+span{border-color:var(--amber);background:var(--amber-soft);box-shadow:inset 0 0 0 1px var(--amber-line)}
.service-option input:checked+span::before{content:"✓";display:grid;place-items:center;border-color:var(--amber);background:var(--amber);color:#171006;font-size:.68rem;font-weight:900}
.service-option input:focus-visible+span{outline:3px solid var(--amber);outline-offset:2px}
.service-option:hover span{border-color:var(--amber-line);transform:translateY(-1px)}
.service-summary{margin:.65rem 0 0;padding:.65rem .75rem;border-radius:9px;background:var(--amber-soft);color:var(--amber);font-size:.76rem;line-height:1.5}
.service-summary--warning{border:1px solid rgba(224,83,83,.48);background:rgba(224,83,83,.1);color:#ff9b9b}
.calc__panel,.form,.field,.idopont,.idopont__blokk{min-width:0}
.idopont__gombok{max-width:100%}
.note,.field label,.consent span{overflow-wrap:anywhere}
@media(max-width:620px){.service-picker{grid-template-columns:1fr}.service-option--wide{grid-column:auto}.service-option span{min-height:54px}.idopont__gombok{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.inap span,.isav span{width:100%;min-width:0}}

/* Prémium foglalási felület */
.booking-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,.72fr)!important;gap:1.25rem}
.booking-layout>.contact-card{position:sticky;top:6.4rem}
#bookForm.calc__panel{position:relative;overflow:hidden;border-color:var(--amber-line);background:linear-gradient(155deg,rgba(245,165,36,.055),transparent 26%),var(--ink-2);box-shadow:0 24px 70px rgba(0,0,0,.24)}
#bookForm .form{align-items:start}
#bookForm .form>.booking-intro{order:0}
#bookForm .form>.service-field{order:1}
#bookForm .form>.booking-time-field{order:2}
#bookForm .form>.booking-contact-title{order:3}
#bookForm .form>.field:not(.service-field):not(.booking-time-field):not(.booking-submit),#bookForm .form>.hp{order:4}
#bookForm .form>.consent{order:5}
#bookForm .form>.booking-submit{order:6}

.booking-intro{grid-column:1/-1;padding:1.25rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,var(--amber-soft),transparent 62%),var(--ink)}
.booking-intro__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.booking-kicker{display:block;margin-bottom:.38rem;color:var(--amber);font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.booking-intro h3{margin:0;color:var(--text);font-family:var(--f-disp);font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.12}
.booking-intro p{margin:.45rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.55}
.booking-badge{flex:0 0 auto;padding:.42rem .64rem;border:1px solid var(--amber-line);border-radius:999px;background:var(--amber-soft);color:var(--amber);font-size:.66rem;font-weight:800;white-space:nowrap}
.booking-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:1.2rem 0 0;padding:0;list-style:none}
.booking-progress li{position:relative;display:flex;align-items:center;gap:.48rem;color:var(--muted);font-size:.68rem;min-width:0}
.booking-progress li:not(:last-child)::after{content:"";position:absolute;z-index:0;top:50%;right:.5rem;width:calc(100% - 2.5rem);height:1px;background:var(--line)}
.booking-progress span{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border:1px solid var(--line);border-radius:50%;background:var(--ink-2);font-family:var(--f-mono);font-size:.65rem;font-weight:800}
.booking-progress b{position:relative;z-index:1;padding-right:.45rem;background:var(--ink);font-weight:650;white-space:nowrap}
.booking-progress li.is-active{color:var(--text)}
.booking-progress li.is-active span{border-color:var(--amber);box-shadow:0 0 0 4px var(--amber-soft);color:var(--amber)}
.booking-progress li.is-complete{color:var(--amber)}
.booking-progress li.is-complete span{border-color:var(--amber);background:var(--amber);color:#171006}
.booking-progress li.is-complete span::before{content:"✓";font-size:.72rem}
.booking-progress li.is-complete span{font-size:0}
.booking-progress li.is-complete:not(:last-child)::after{background:var(--amber-line)}

.booking-section-number{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border:1px solid var(--amber-line);border-radius:9px;background:var(--amber-soft);color:var(--amber);font-family:var(--f-mono);font-size:.63rem;font-weight:800;letter-spacing:.04em}
.service-field,.booking-time-field{padding:1rem!important;border:1px solid var(--line)!important;border-radius:16px;background:rgba(8,13,22,.28)}
.service-field legend{display:flex;align-items:center;gap:.7rem;margin:0 0 .38rem;font-family:var(--f-disp);font-size:1.02rem;font-weight:750}
.service-help{margin:0 0 .9rem;padding-left:2.75rem;max-width:74ch}
.booking-section-heading,.booking-contact-title{display:flex;align-items:center;gap:.7rem}
.booking-section-heading b,.booking-contact-title b{display:block;color:var(--text);font-family:var(--f-disp);font-size:1.02rem;line-height:1.2}
.booking-section-heading small,.booking-contact-title small{display:block;margin-top:.15rem;color:var(--muted);font-size:.68rem;line-height:1.4}
.booking-contact-title{grid-column:1/-1;margin-top:.15rem;padding:.2rem .1rem .1rem}

.service-picker{gap:.75rem}
.service-group{min-width:0;padding:.7rem;border:1px solid var(--line);border-radius:14px;background:var(--ink)}
.service-group>header{display:flex;align-items:center;gap:.65rem;margin-bottom:.65rem;padding:.1rem .1rem .65rem;border-bottom:1px solid var(--line)}
.service-group>header div{min-width:0}
.service-group>header b{display:block;color:var(--text);font-size:.78rem;line-height:1.25}
.service-group>header small{display:block;margin-top:.12rem;color:var(--muted);font-size:.62rem;line-height:1.35}
.service-group__icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:var(--amber-soft);color:var(--amber);font-family:var(--f-disp);font-size:.72rem;font-weight:800}
.service-group__options{display:grid;gap:.45rem}
.service-group--polish{grid-column:1/-1}
.service-group--polish .service-group__options{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-group--parts{grid-column:1/-1}
.service-group--parts .service-group__options{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-group--custom{grid-column:1/-1;display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);align-items:center;gap:.7rem}
.service-group--custom>header{margin:0;padding:.2rem .75rem .2rem .1rem;border:0;border-right:1px solid var(--line)}
.service-option>span{display:grid;grid-template-columns:20px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:.12rem .6rem;align-items:center;min-height:64px;padding:.62rem .7rem;border-radius:10px;background:rgba(255,255,255,.018)}
.service-option>span::before{grid-column:1;grid-row:1/3;align-self:center;width:18px;height:18px;border-radius:50%}
.service-option b{grid-column:2;grid-row:1;padding:0;font-size:.77rem}
.service-option em{grid-column:2;grid-row:2;color:var(--muted);font-size:.61rem;font-style:normal;line-height:1.35}
.service-option small{grid-column:3;grid-row:1/3;padding:.28rem .42rem;border-radius:999px;background:rgba(255,255,255,.035);font-family:var(--f-mono);font-size:.58rem}
.service-option input:checked+span{border-color:var(--amber);background:linear-gradient(100deg,var(--amber-soft),rgba(245,165,36,.025));box-shadow:inset 3px 0 0 var(--amber)}
.service-option input:checked+span::before{border-radius:50%}
.service-option input:checked+span small{background:var(--amber);color:#171006;font-weight:800}
.service-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.8rem 0 0;padding:.8rem .9rem;border:1px solid var(--amber-line);border-radius:11px;background:linear-gradient(110deg,var(--amber-soft),transparent)}
.service-summary::before{content:"✓";display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:var(--amber);color:#171006;font-size:.67rem;font-weight:900}
.service-summary--empty::before{content:"i";border:1px solid var(--amber-line);background:transparent;color:var(--amber);font-family:serif}
.service-summary span{flex:1;color:var(--text);font-size:.7rem;line-height:1.45}
.service-summary strong{color:var(--amber);font-family:var(--f-mono);font-size:.68rem;white-space:nowrap}
.service-summary--warning::before{content:"!";background:#e05353;color:#fff}
.service-summary--warning strong{color:#ff9b9b}

.booking-time-field{gap:.9rem}
#bookForm .idopont{gap:.85rem}
#bookForm .idopont__blokk{gap:.45rem}
#bookForm .idopont__cim{font-size:.59rem}
#bookForm #napGombok{display:grid;grid-template-columns:repeat(7,minmax(58px,1fr));gap:.35rem}
#bookForm #oraGombok{display:grid;grid-template-columns:repeat(8,minmax(58px,1fr));gap:.35rem}
#bookForm .inap span,#bookForm .isav span{min-width:0;border-radius:10px;background:var(--ink);transition:border-color .18s ease,background .18s ease,transform .18s ease}
#bookForm .inap span{padding:.55rem .32rem;text-align:center}
#bookForm .isav span{padding:.62rem .55rem}
#bookForm .iora span{justify-content:center;min-height:48px;padding:.5rem .3rem;font-family:var(--f-mono);font-size:.7rem}
#bookForm .iora .isav__foglalt{font-size:.48rem;line-height:1.15;text-align:center}
#bookForm .idopont__tartomany{margin:.55rem 0 0;padding:.65rem .75rem;border:1px solid var(--amber-line);border-radius:9px;background:var(--amber-soft);color:var(--text);font-size:.7rem;line-height:1.45}
#bookForm .inap input:checked+span,#bookForm .isav input:checked+span{border-color:var(--amber);background:var(--amber-soft);box-shadow:inset 0 0 0 1px var(--amber-line)}
#bookForm .inap span:hover,#bookForm .isav span:hover{transform:translateY(-1px)}
#bookForm .idopont__sugo{display:flex;align-items:flex-start;gap:.42rem;margin:.05rem 0 0;padding:.65rem .72rem;border-radius:9px;background:rgba(255,255,255,.025);line-height:1.45}
#bookForm .idopont__sugo::before{content:"i";display:grid;place-items:center;width:17px;height:17px;flex:0 0 17px;border:1px solid var(--line);border-radius:50%;color:var(--amber);font-family:serif;font-size:.67rem;font-weight:700}

#bookForm .field>label{font-size:.7rem;font-weight:650}
#bookForm input,#bookForm textarea{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
#bookForm input:focus,#bookForm textarea:focus{border-color:var(--amber)!important;box-shadow:0 0 0 3px var(--amber-soft);outline:0}
#bookForm .consent{grid-column:1/-1;padding:.8rem .9rem;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.018)}
#bookForm .booking-submit{margin-top:.15rem;padding-top:1rem;border-top:1px solid var(--line)}
#bookForm .booking-submit>.btn{min-height:56px;border-radius:12px;background:linear-gradient(135deg,#ffb535,var(--amber));box-shadow:0 12px 28px rgba(245,165,36,.2);font-size:.86rem;letter-spacing:.01em}
#bookForm .booking-submit>.btn:hover{transform:translateY(-1px);box-shadow:0 15px 34px rgba(245,165,36,.26)}
#bookForm .booking-submit>.btn:disabled{opacity:.65;cursor:wait;transform:none}
.booking-assurance{margin:.75rem 0 .45rem}
.booking-assurance span{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem;background:transparent}
.booking-assurance span::before{content:"✓";color:var(--amber);font-size:.68rem;font-weight:900}
#bookForm .booking-submit .note{margin:.2rem 0 0;text-align:center;font-size:.69rem;line-height:1.55}

@media(max-width:880px){
  .service-picker{grid-template-columns:1fr}
  .service-group--polish{grid-column:auto}
  .service-group--polish .service-group__options{grid-template-columns:1fr}
  .service-group--parts{grid-column:auto}
  .service-group--parts .service-group__options{grid-template-columns:1fr}
  .service-group--custom{grid-column:auto;grid-template-columns:1fr}
  .service-group--custom>header{padding:.1rem .1rem .65rem;border:0;border-bottom:1px solid var(--line)}
}
@media(max-width:1050px){
  .booking-layout{grid-template-columns:1fr!important}
  .booking-layout>.contact-card{position:static}
}
@media(max-width:620px){
  .booking-intro{padding:1rem}
  .booking-intro__top{display:grid}
  .booking-badge{justify-self:start}
  .booking-progress b{font-size:.6rem}
  .booking-progress li:not(:last-child)::after{right:.15rem;width:calc(100% - 2rem)}
  .service-field,.booking-time-field{padding:.8rem!important}
  .service-help{padding-left:0}
  .service-option>span{grid-template-columns:20px minmax(0,1fr);padding:.65rem}
  .service-option small{grid-column:2;grid-row:3;justify-self:start;margin-top:.2rem}
  .service-option>span::before{grid-row:1/4}
  .service-summary{align-items:flex-start;flex-wrap:wrap}
  .service-summary strong{margin-left:34px}
  #bookForm #napGombok{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 .4rem}
  #bookForm #napGombok .inap{flex:0 0 78px;scroll-snap-align:start}
  #bookForm #oraGombok{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
  #bookForm .idopont__gombok:not(#napGombok){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  #bookForm .idopont__gombok#oraGombok{grid-template-columns:repeat(4,minmax(0,1fr))}
  .booking-assurance{grid-template-columns:1fr}
  .booking-assurance span:last-child{grid-column:auto}
}
@media(max-width:400px){
  .booking-progress b{display:none}
  .booking-progress li{justify-content:flex-start}
  .booking-progress li:not(:last-child)::after{width:calc(100% - 1.7rem)}
}
