/* RCD Car Transfer customer UI — visual layer only. Business logic remains server-owned. */
:root{
  --transfer-green:#0b4d3a;
  --transfer-green-deep:#07392c;
  --transfer-green-bright:#146a4a;
  --transfer-surface:#f5faf7;
  --transfer-surface-strong:#e8f4ed;
  --transfer-gold:#e7d8b5;
  --transfer-gold-soft:#fff7e8;
  --transfer-border:#dce8e1;
  --transfer-text:#17211d;
  --transfer-muted:#66746d;
  --transfer-shadow:0 18px 48px rgba(10,58,40,.08);
}
.transfer-page,
.transfer-bookings-page{max-width:1180px!important;padding-top:28px!important}
.transfer-page [hidden],
.transfer-bookings-page [hidden]{display:none!important}

.transfer-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:250px;
  padding:28px 30px!important;
  border:0!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 85% 20%,rgba(255,255,255,.13) 0 2px,transparent 2.5px) 0 0/26px 26px,
    linear-gradient(135deg,var(--transfer-green-deep),#0c654d 62%,#0f7858)!important;
  color:#fff!important;
  box-shadow:0 24px 60px rgba(5,52,37,.18)!important;
}
.transfer-hero::after{
  content:"";
  position:absolute;
  inset:auto -80px -110px auto;
  width:320px;
  height:320px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 72px rgba(255,255,255,.025);
  z-index:-1;
}
.transfer-hero__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:42px;
}
.transfer-hero__nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.transfer-hero__home,
.transfer-hero__history{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  font-size:13px;
  font-weight:800;
  text-decoration:none!important;
  backdrop-filter:blur(8px);
}
.transfer-hero__history{
  border-color:rgba(231,216,181,.7)!important;
  background:rgba(231,216,181,.14)!important;
  color:#fff9e8!important;
}
.transfer-hero__copy{max-width:720px}
.transfer-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  padding:7px 12px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#dff5e9;
  font-size:12px;
  font-weight:900;
}
.transfer-hero h1{
  max-width:760px;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(34px,5vw,58px)!important;
  line-height:1.03!important;
  letter-spacing:-.035em!important;
}
.transfer-hero p{
  max-width:680px;
  margin:14px 0 0!important;
  color:rgba(255,255,255,.82)!important;
  font-size:16px;
  line-height:1.65;
}

.transfer-status{
  margin:18px 0 0;
  padding:0;
  color:var(--transfer-green);
  font-weight:800;
}
.transfer-status:not(:empty){
  padding:12px 15px;
  border:1px solid #d7e9df;
  border-radius:14px;
  background:#eff8f3;
}

.transfer-search-card,
.transfer-review-card{
  margin-top:20px;
  padding:24px!important;
  border:1px solid var(--transfer-border)!important;
  border-radius:26px!important;
  background:#fff!important;
  box-shadow:var(--transfer-shadow)!important;
}
.transfer-section-heading{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
}
.transfer-section-step{
  display:inline-grid;
  width:38px;
  height:38px;
  place-items:center;
  flex:0 0 auto;
  border-radius:12px;
  background:var(--transfer-green);
  color:#fff;
  font-size:12px;
  font-weight:900;
  box-shadow:0 8px 20px rgba(11,77,58,.16);
}
.transfer-section-heading h2{
  margin:0;
  color:var(--transfer-text);
  font-size:20px;
  font-weight:900;
}
.transfer-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.transfer-fields .field{
  display:grid;
  gap:7px;
  min-width:0;
  color:#365247;
  font-size:12.5px;
  font-weight:800;
}
.transfer-fields :is(input,select){
  width:100%;
  min-height:52px;
  box-sizing:border-box;
  border:1px solid #d4e1da!important;
  border-radius:14px!important;
  background:#fbfdfc!important;
  color:var(--transfer-text)!important;
  font-size:14px;
}
.transfer-fields :is(input,select):focus{
  border-color:#65a889!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(11,77,58,.08)!important;
}
.transfer-fields button[type=submit]{
  min-height:52px!important;
  border-radius:14px!important;
}
.transfer-full{grid-column:1/-1}

.transfer-place-options{
  position:relative;
  z-index:5;
  display:grid;
  gap:7px;
  margin-top:5px;
}
.transfer-place-options button{
  min-height:44px!important;
  padding:10px 12px!important;
  border-color:#dbe8e1!important;
  border-radius:12px!important;
  background:#fff!important;
  text-align:start!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  box-shadow:0 7px 18px rgba(10,58,40,.04);
}

.transfer-results{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}
.transfer-offer{
  position:relative;
  display:flex!important;
  flex-direction:column;
  gap:11px!important;
  min-width:0;
  padding:22px!important;
  overflow:hidden;
  border:1px solid var(--transfer-border)!important;
  border-radius:24px!important;
  background:linear-gradient(165deg,#fff 0%,#fbfdfc 100%)!important;
  box-shadow:0 14px 36px rgba(10,58,40,.065)!important;
}
.transfer-offer::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--transfer-green),#36a06f);
}
.transfer-offer h2{
  margin:2px 0 0!important;
  color:var(--transfer-text);
  font-size:20px!important;
  font-weight:900!important;
}
.transfer-price{
  display:block;
  color:var(--transfer-green)!important;
  font-size:28px!important;
  line-height:1.05;
  font-weight:900!important;
  unicode-bidi:plaintext;
}
.transfer-offer p{
  margin:0!important;
  color:var(--transfer-muted);
  line-height:1.55;
  overflow-wrap:anywhere;
}
.transfer-offer>.btn{margin-top:auto;min-height:48px!important;border-radius:13px!important}

.transfer-review-card[hidden]{display:none!important}
.transfer-review-card:not([hidden]){display:block}
.transfer-review-card>.transfer-offer{
  box-shadow:none!important;
  background:#fff!important;
}
.transfer-review-form{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #e4ece7;
}
.transfer-acceptance,
.transfer-extra-selection,
[data-transfer-cancellation=true],
[data-transfer-voucher=true]{
  margin-top:16px;
  padding:17px;
  border:1px solid #dce8e1;
  border-radius:18px;
  background:var(--transfer-surface);
}
.transfer-acceptance h3,
.transfer-extra-selection h3{margin:0 0 12px;font-size:17px;color:var(--transfer-text)}
.transfer-acceptance pre{
  padding:14px;
  border:1px solid #dce8e1;
  border-radius:14px;
  background:#fff;
  color:#455b51;
  font-family:inherit;
  line-height:1.55;
}
.transfer-consent{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  min-height:40px;
  color:#314b40;
  font-size:13px;
  font-weight:700;
}
.transfer-consent input{
  width:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  margin-top:2px!important;
  accent-color:var(--transfer-green);
}

.transfer-bookings-page .transfer-bookings-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin:20px 0;
  padding:12px 14px;
  border:1px solid var(--transfer-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(10,58,40,.05);
}
.transfer-bookings-page #transferBookingRows{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.transfer-bookings-page #transferBookingRows article{
  position:relative;
  min-width:0;
  padding:22px!important;
  overflow:hidden;
  border-radius:24px!important;
  border:1px solid var(--transfer-border)!important;
  box-shadow:0 14px 34px rgba(10,58,40,.06)!important;
}
.transfer-bookings-page #transferBookingRows article::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--transfer-green),#36a06f);
}
.transfer-bookings-page #transferBookingRows h2{
  margin:2px 0 10px;
  font-size:19px;
  font-weight:900;
}
.transfer-bookings-page #transferBookingRows p{
  margin:6px 0;
  color:var(--transfer-muted);
  overflow-wrap:anywhere;
}
.transfer-bookings-page #transferBookingRows article>div:last-child{
  margin-top:14px;
}
.transfer-pagination{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:24px;
}

@media(max-width:760px){
  .transfer-page,
  .transfer-bookings-page{padding-inline:14px!important;padding-top:18px!important}
  .transfer-hero{min-height:230px;padding:22px 20px!important;border-radius:24px!important}
  .transfer-hero__top{margin-bottom:34px}
  .transfer-hero h1{font-size:clamp(30px,10vw,44px)!important}
  .transfer-search-card,.transfer-review-card{padding:18px!important;border-radius:22px!important}
  .transfer-fields,.transfer-results,.transfer-bookings-page #transferBookingRows{grid-template-columns:1fr}
  .transfer-full{grid-column:auto}
  .transfer-price{font-size:25px!important}
}
