/* DYRGA DRIVE — formularze premium 2026
   Osobna warstwa ładowana na końcu. Nie zmienia logiki formularzy. */

:root{
  --form-navy:#0b1728;
  --form-navy-2:#13233a;
  --form-gold:#b78a3b;
  --form-gold-soft:#ead7ad;
  --form-paper:#fbfaf7;
  --form-surface:#ffffff;
  --form-line:#e5ded2;
  --form-muted:#667183;
  --form-shadow:0 18px 48px rgba(10,23,40,.075);
}

.booking-form--focused,
.contact-form-panel{
  box-shadow:var(--form-shadow)!important;
}

.premium-form-section{
  padding:0 0 34px;
  margin:0 0 34px;
  border-bottom:1px solid var(--form-line);
}
.premium-form-section:last-of-type{
  padding-bottom:8px;
  margin-bottom:22px;
  border-bottom:0;
}

.form-section-title{
  align-items:flex-start!important;
  gap:14px!important;
  margin:0 0 22px!important;
}
.form-section-title>span{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  border-radius:12px!important;
  background:#f3ede2!important;
  color:var(--form-gold)!important;
  font-size:12px!important;
}
.form-section-title>div{
  display:grid;
  gap:4px;
  min-width:0;
}
.form-section-title strong{
  color:var(--form-navy);
  font-size:17px;
  line-height:1.2;
  letter-spacing:-.02em;
}
.form-section-title small{
  color:var(--form-muted);
  font-size:12px;
  font-weight:500;
  line-height:1.45;
}

/* Pola */
.premium-form .field,
.booking-form .field{
  min-width:0;
  margin:0;
}
.premium-form .field>label,
.booking-form .field>label,
.confirmation-fieldset>legend{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 9px!important;
  color:#435064!important;
  font-size:12.5px!important;
  font-weight:750!important;
  line-height:1.3!important;
}
.field-optional{
  color:#98a0aa;
  font-size:10px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.premium-form input:not([type="checkbox"]):not([type="radio"]),
.premium-form select,
.premium-form textarea,
.booking-form input:not([type="checkbox"]):not([type="radio"]),
.booking-form select,
.booking-form textarea{
  width:100%!important;
  min-height:56px!important;
  margin:0!important;
  padding:15px 16px!important;
  border:1px solid var(--form-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--form-navy)!important;
  font-size:15px!important;
  font-weight:550!important;
  line-height:1.25!important;
  box-sizing:border-box!important;
  box-shadow:0 1px 0 rgba(11,23,40,.02)!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.premium-form textarea,
.booking-form textarea{
  min-height:128px!important;
  line-height:1.55!important;
  resize:vertical!important;
}
.premium-form input::placeholder,
.premium-form textarea::placeholder,
.booking-form input::placeholder,
.booking-form textarea::placeholder{
  color:#a2aab5!important;
  font-weight:450!important;
}
.premium-form input:focus,
.premium-form select:focus,
.premium-form textarea:focus,
.booking-form input:focus,
.booking-form select:focus,
.booking-form textarea:focus{
  outline:none!important;
  border-color:var(--form-gold)!important;
  box-shadow:0 0 0 4px rgba(183,138,59,.12)!important;
}
.premium-form select,
.booking-form select{
  appearance:none!important;
  -webkit-appearance:none!important;
  cursor:pointer!important;
  padding-right:48px!important;
}

.form-grid{
  display:grid;
  gap:18px;
  margin:0 0 18px;
}
.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}

.control-with-icon{
  position:relative;
  min-width:0;
}
.control-with-icon .control-icon{
  position:absolute;
  top:50%;
  right:16px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  color:#7f8997;
  transform:translateY(-50%);
  pointer-events:none;
}
.control-with-icon .control-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.control-with-icon input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:0;
  cursor:pointer;
}

/* Rodzaj przejazdu */
.service-choice-grid--premium{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0!important;
}
.choice-tile--premium{
  position:relative!important;
  display:block!important;
  margin:0!important;
  min-width:0!important;
  cursor:pointer!important;
}
.choice-tile--premium>input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
.choice-tile--premium>input+span{
  position:relative!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 22px!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:94px!important;
  padding:16px!important;
  inset:auto!important;
  transform:none!important;
  border:1px solid var(--form-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  color:var(--form-navy)!important;
  text-align:left!important;
  box-sizing:border-box!important;
  box-shadow:0 6px 18px rgba(11,23,40,.035)!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.choice-tile--premium:hover>input+span{
  transform:translateY(-2px)!important;
  border-color:#d7c7a9!important;
  box-shadow:0 12px 26px rgba(11,23,40,.07)!important;
}
.choice-tile--premium>input:focus-visible+span{
  outline:3px solid rgba(183,138,59,.22)!important;
  outline-offset:2px!important;
}
.choice-tile--premium>input:checked+span{
  border-color:var(--form-gold)!important;
  background:linear-gradient(145deg,#fffaf0,#f6ecda)!important;
  box-shadow:0 12px 28px rgba(183,138,59,.13)!important;
}
.choice-tile--premium .choice-tile__icon{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  border:1px solid #e8dfcf!important;
  border-radius:12px!important;
  background:#faf7f1!important;
  color:var(--form-gold)!important;
  box-shadow:none!important;
}
.choice-tile--premium .choice-tile__icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.choice-tile--premium .choice-tile__copy{
  display:grid!important;
  gap:4px!important;
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.choice-tile--premium .choice-tile__copy strong{
  color:var(--form-navy)!important;
  font-size:12.5px!important;
  line-height:1.25!important;
}
.choice-tile--premium .choice-tile__copy small{
  color:var(--form-muted)!important;
  font-size:10px!important;
  font-weight:500!important;
  line-height:1.35!important;
}
.choice-tile--premium .choice-tile__check{
  display:grid!important;
  place-items:center!important;
  width:22px!important;
  height:22px!important;
  min-height:22px!important;
  padding:0!important;
  border:1px solid #d8dce1!important;
  border-radius:50%!important;
  background:#fff!important;
  color:transparent!important;
  font-size:11px!important;
  box-shadow:none!important;
}
.choice-tile--premium>input:checked+span .choice-tile__check{
  border-color:var(--form-gold)!important;
  background:var(--form-gold)!important;
  color:#fff!important;
}

/* Trasa */
.route-fields--premium{
  margin-bottom:18px;
}
.route-fields--premium::before{
  left:18px!important;
  top:55px!important;
  bottom:32px!important;
}
.route-fields--premium .route-field{
  padding-left:42px!important;
  margin-bottom:16px;
}
.route-fields--premium .route-field:last-child{margin-bottom:0;}
.route-fields--premium .route-dot{
  left:11px!important;
  top:47px!important;
}

/* Checkbox jako karta */
.check-card{
  position:relative;
  display:flex!important;
  align-items:flex-start!important;
  gap:13px!important;
  width:100%!important;
  margin:4px 0 20px!important;
  padding:15px 16px!important;
  border:1px solid var(--form-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--form-navy)!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
}
.check-card>input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
.check-card__box{
  display:grid!important;
  place-items:center!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  flex:0 0 22px!important;
  margin-top:1px!important;
  border:1.5px solid #b9c0c9!important;
  border-radius:7px!important;
  background:#fff!important;
  color:transparent!important;
  font-size:12px!important;
  font-weight:800!important;
}
.check-card>input:checked+.check-card__box{
  border-color:var(--form-gold)!important;
  background:var(--form-gold)!important;
  color:#fff!important;
}
.check-card>input:focus-visible+.check-card__box{
  outline:3px solid rgba(183,138,59,.2)!important;
  outline-offset:2px!important;
}
.check-card>span:last-child{
  min-width:0!important;
  color:#4f5b6d!important;
  font-size:12px!important;
  line-height:1.5!important;
  overflow-wrap:anywhere!important;
}
.check-card strong{
  display:block;
  margin-bottom:3px;
  color:var(--form-navy);
  font-size:12.5px;
}
.check-card small{
  display:block;
  color:var(--form-muted);
  font-size:10.5px;
  line-height:1.4;
}
.check-card a{color:var(--form-navy);font-weight:750;text-decoration:underline;text-underline-offset:2px;}
.check-card--consent{background:#fbfaf7!important;}

/* Potwierdzenie */
.confirmation-fieldset{
  min-width:0;
  margin:22px 0 20px;
  padding:0;
  border:0;
}
.confirmation-choice--premium{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0!important;
}
.confirmation-choice--premium label{
  position:relative!important;
  display:block!important;
  margin:0!important;
  min-width:0!important;
  cursor:pointer!important;
}
.confirmation-choice--premium label>input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
.confirmation-choice--premium label>input+span{
  position:relative!important;
  display:grid!important;
  align-content:start!important;
  grid-template-columns:38px minmax(0,1fr) 20px!important;
  column-gap:11px!important;
  width:100%!important;
  height:100%!important;
  min-height:150px!important;
  padding:16px!important;
  border:1px solid var(--form-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-sizing:border-box!important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.confirmation-choice--premium label:hover>input+span{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(11,23,40,.065)!important;
}
.confirmation-choice--premium label>input:checked+span{
  border-color:var(--form-gold)!important;
  background:linear-gradient(145deg,#fffaf1,#f7edde)!important;
  box-shadow:0 10px 25px rgba(183,138,59,.11)!important;
}
.confirmation-choice--premium .confirmation-icon{
  grid-row:1/3!important;
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border-radius:11px!important;
  background:#f4eee3!important;
  color:var(--form-gold)!important;
  box-shadow:none!important;
}
.confirmation-choice--premium .confirmation-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.confirmation-choice--premium strong{
  display:block!important;
  align-self:center!important;
  color:var(--form-navy)!important;
  font-size:13px!important;
  line-height:1.3!important;
}
.confirmation-choice--premium small{
  grid-column:2/4!important;
  display:block!important;
  margin:8px 0 0!important;
  color:var(--form-muted)!important;
  font-size:10.5px!important;
  line-height:1.5!important;
}
.confirmation-choice--premium .confirmation-check{
  display:grid!important;
  place-items:center!important;
  width:20px!important;
  height:20px!important;
  min-height:20px!important;
  padding:0!important;
  border:1px solid #d9dde2!important;
  border-radius:50%!important;
  background:#fff!important;
  color:transparent!important;
  box-shadow:none!important;
}
.confirmation-choice--premium label>input:checked+span .confirmation-check{
  border-color:var(--form-gold)!important;
  background:var(--form-gold)!important;
  color:#fff!important;
}

/* Formularz rekrutacyjny */
.contact-form-panel{
  padding:clamp(24px,3.5vw,42px)!important;
}
.form-intro{
  margin-bottom:28px;
  padding-bottom:24px;
  border-bottom:1px solid var(--form-line);
}
.form-intro__step{
  display:inline-flex;
  margin-bottom:12px;
  padding:6px 9px;
  border-radius:999px;
  background:#f3ede2;
  color:var(--form-gold);
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.form-intro h3{
  margin:0 0 8px;
  color:var(--form-navy);
  font-size:clamp(24px,3vw,34px);
  letter-spacing:-.04em;
}
.form-intro p{
  max-width:650px;
  margin:0;
  color:var(--form-muted);
  font-size:13px;
  line-height:1.65;
}
.recruitment-form>.field,
.recruitment-form>.form-grid{
  margin-bottom:18px;
}
.form-note--center{text-align:center;margin-top:13px!important;}

/* Przyciski formularzy */
.booking-form .btn-block,
.recruitment-form .btn-block{
  min-height:58px!important;
  border-radius:14px!important;
  font-size:14px!important;
  box-shadow:0 10px 24px rgba(183,138,59,.18)!important;
}

@media (max-width:900px){
  .service-choice-grid--premium{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .confirmation-choice--premium{grid-template-columns:1fr!important;}
  .confirmation-choice--premium label>input+span{min-height:112px!important;}
}

@media (max-width:819px){
  .premium-form-section{padding-bottom:28px;margin-bottom:28px;}
  .form-grid--2{grid-template-columns:1fr!important;gap:16px!important;}
  .form-section-title strong{font-size:16px;}
  .choice-tile--premium>input+span{
    min-height:84px!important;
    grid-template-columns:36px minmax(0,1fr) 20px!important;
    gap:10px!important;
    padding:13px!important;
  }
  .choice-tile--premium .choice-tile__icon{
    width:36px!important;height:36px!important;min-height:36px!important;border-radius:10px!important;
  }
  .choice-tile--premium .choice-tile__icon svg{width:18px;height:18px;}
  .choice-tile--premium .choice-tile__copy strong{font-size:11.5px!important;}
  .choice-tile--premium .choice-tile__copy small{font-size:9.5px!important;}
  .route-fields--premium .route-field{padding-left:36px!important;}
  .route-fields--premium::before{left:15px!important;}
  .route-fields--premium .route-dot{left:8px!important;}
  .premium-form input:not([type="checkbox"]):not([type="radio"]),
  .premium-form select,.premium-form textarea,
  .booking-form input:not([type="checkbox"]):not([type="radio"]),
  .booking-form select,.booking-form textarea{
    min-height:54px!important;
    font-size:16px!important; /* bez automatycznego zoomu iOS */
  }
  .contact-form-panel{padding:22px!important;}
}

@media (max-width:480px){
  .service-choice-grid--premium{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .choice-tile--premium>input+span{
    grid-template-columns:34px minmax(0,1fr)!important;
    min-height:78px!important;
    padding:12px!important;
  }
  .choice-tile--premium .choice-tile__check{display:none!important;}
  .choice-tile--premium .choice-tile__copy small{display:none!important;}
  .form-section-title>span{width:34px!important;height:34px!important;flex-basis:34px!important;}
  .form-section-title small{font-size:10.5px;}
  .confirmation-choice--premium label>input+span{
    min-height:104px!important;
    padding:14px!important;
  }
  .check-card{padding:14px!important;}
}

@media (max-width:350px){
  .service-choice-grid--premium{grid-template-columns:1fr!important;}
  .choice-tile--premium .choice-tile__copy small{display:block!important;}
}
