/* AK Cab Service â€” booking app
   Palette and type taken from the live site: navy #0B1220, gold #C8A24A,
   Prompt for headings, Lato for body copy. */

:root{
  --akb-navy:#0B1220;
  --akb-ink:#101828;
  --akb-muted:#5A6577;
  --akb-line:#E3E8F0;
  --akb-soft:#F6F8FB;
  --akb-gold:#C8A24A;
  --akb-gold-2:#A8862F;
  --akb-gold-ink:#1A1405;
  --akb-wa:#25D366;
  --akb-r:14px;
}

.akb-body{margin:0;background:#fff;color:var(--akb-ink);
  font:400 16px/1.65 Lato,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
.akb-body *,.akb-body *::before,.akb-body *::after{box-sizing:border-box}

.akb-wrap{max-width:1040px;margin:0 auto;padding:0 20px}

/* ---------------------------------------------------------------- hero */

.akb-hero{background:linear-gradient(160deg,#0B1220 0%,#16233B 100%);color:#fff;
  padding:64px 0 108px;text-align:center}
.akb-hero h1{font:600 clamp(28px,4.4vw,44px)/1.15 Prompt,Lato,sans-serif;
  margin:6px 0 12px;letter-spacing:-.01em;color:#fff}
.akb-eyebrow{margin:0;font:700 12px/1 Lato,sans-serif;letter-spacing:.18em;
  text-transform:uppercase;color:var(--akb-gold)}
.akb-lead{margin:0 auto;max-width:640px;color:#C9D2E1;font-size:17px}

.akb-main{margin-top:-70px;position:relative;z-index:5;padding-bottom:56px}

/* ---------------------------------------------------------------- wizard */

.akb-wiz{max-width:760px;margin:0 auto}

.akb-panel{background:#fff;border:1px solid var(--akb-line);border-radius:18px;
  overflow:hidden;box-shadow:0 20px 50px rgba(11,18,32,.10)}

.akb-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 24px;background:linear-gradient(180deg,var(--akb-gold),var(--akb-gold-2))}
.akb-bar-t{margin:0;font:700 13px/1.2 Lato,sans-serif;letter-spacing:.16em;
  text-transform:uppercase;color:var(--akb-gold-ink)}
.akb-dots{display:inline-flex;gap:7px;flex:0 0 auto}
.akb-dots i{width:9px;height:9px;border-radius:50%;background:rgba(26,20,5,.28);
  transition:background .2s}
.akb-dots i.is-on{background:var(--akb-gold-ink)}

.akb-panel-in{padding:26px 24px 24px}

.akb-stepline{margin:0 0 20px;font:700 12px/1.2 Lato,sans-serif;letter-spacing:.16em;
  text-transform:uppercase;color:var(--akb-gold-2)}

.akb-sublabel{margin:20px 0 10px;font:700 13px/1.3 Lato,sans-serif;color:var(--akb-navy)}

/* Journey recap at the top of step 3 */
.akb-recap-mini{background:var(--akb-soft);border:1px solid var(--akb-line);
  border-radius:12px;padding:14px 16px;margin-bottom:20px;font-size:14px;
  color:var(--akb-muted)}
.akb-recap-mini b{display:block;color:var(--akb-navy);
  font:600 15.5px/1.4 Prompt,Lato,sans-serif;margin-bottom:3px}
.akb-recap-mini:empty{display:none}

/* ---------------------------------------------------------------- price bar */

.akb-price{display:flex;gap:20px;align-items:center;justify-content:space-between;
  flex-wrap:wrap;margin-top:22px;padding:18px 20px;border-radius:14px;
  background:linear-gradient(160deg,#0B1220,#1A2942);color:#fff}
.akb-price-l{min-width:0;flex:1 1 240px}
.akb-price-k{margin:0;font:700 12px/1 Lato,sans-serif;letter-spacing:.16em;
  text-transform:uppercase;color:var(--akb-gold)}
.akb-price-d{margin:7px 0 0;font-size:13px;line-height:1.5;color:#AEB9CB}
.akb-price-v{margin:0;font:600 30px/1 Prompt,Lato,sans-serif;color:var(--akb-gold)}

/* ---------------------------------------------------------------- nav */

.akb-nav{display:flex;gap:12px;align-items:stretch;margin-top:18px}
.akb-nav .akb-btn{padding:15px 22px;font-size:15.5px}
.akb-btn-wide{flex:1 1 auto}

.akb-alt{margin:14px 0 0;text-align:center;font-size:14px;color:var(--akb-muted)}
.akb-alt a{color:var(--akb-gold-2);font-weight:700;text-decoration:none}
.akb-alt a:hover{text-decoration:underline}

/* ---------------------------------------------------------------- cards */

.akb-card{background:#fff;border:1px solid var(--akb-line);border-radius:var(--akb-r);
  padding:26px 24px;margin:0 0 18px;box-shadow:0 18px 44px rgba(11,18,32,.09)}
.akb-card h2{font:600 19px/1.3 Prompt,Lato,sans-serif;margin:0 0 20px;
  color:var(--akb-navy);display:flex;align-items:center;gap:12px}

.akb-step{display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;flex:0 0 28px;
  background:linear-gradient(180deg,var(--akb-gold),var(--akb-gold-2));
  color:var(--akb-gold-ink);font:700 14px/1 Lato,sans-serif}

/* ---------------------------------------------------------------- fields */

/* display:grid and display:flex below would otherwise beat the browser's
   own [hidden] rule, so the return-date row and the flight field would
   stay on screen even when the script hides them. Keep this first. */
.akb-form [hidden]{display:none !important}

.akb-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.akb-row-3{grid-template-columns:repeat(3,1fr)}
.akb-f{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.akb-row .akb-f{margin-bottom:0}

.akb-f label{font:700 13px/1.3 Lato,sans-serif;color:var(--akb-navy)}
.akb-opt{font-weight:400;color:var(--akb-muted)}

.akb-f input,.akb-f select,.akb-f textarea{
  width:100%;padding:12px 13px;border:1px solid var(--akb-line);border-radius:10px;
  background:#fff;color:var(--akb-ink);font:400 15px/1.4 Lato,sans-serif;
  appearance:none;-webkit-appearance:none;transition:border-color .15s,box-shadow .15s}
.akb-f select{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235A6577' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;padding-right:36px}
.akb-f textarea{resize:vertical;min-height:104px}
.akb-f input:focus,.akb-f select:focus,.akb-f textarea:focus{
  outline:none;border-color:var(--akb-gold);box-shadow:0 0 0 3px rgba(200,162,74,.18)}

.akb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------------------------------------------------------------- segmented */

.akb-seg{display:inline-flex;background:var(--akb-soft);border:1px solid var(--akb-line);
  border-radius:12px;padding:4px;margin-bottom:18px}
.akb-seg-o{position:relative}
.akb-seg-o input{position:absolute;opacity:0;inset:0;cursor:pointer}
.akb-seg-o span{display:block;padding:9px 22px;border-radius:9px;cursor:pointer;
  font:700 14px/1 Lato,sans-serif;color:var(--akb-muted);transition:.15s}
.akb-seg-o input:checked + span{background:#fff;color:var(--akb-navy);
  box-shadow:0 2px 8px rgba(11,18,32,.10)}

/* ---------------------------------------------------------------- vehicles */

.akb-veh{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:6px 0 4px}
.akb-veh-o{position:relative;display:block;cursor:pointer}
.akb-veh-o input{position:absolute;opacity:0;inset:0}
.akb-veh-b{display:block;border:1.5px solid var(--akb-line);border-radius:12px;
  padding:16px 44px 14px 16px;transition:.15s;height:100%}
.akb-veh-b b{display:block;font:600 16px/1.3 Prompt,Lato,sans-serif;color:var(--akb-navy)}
.akb-veh-b em{display:block;font-style:normal;font-size:13.5px;color:var(--akb-muted);margin-top:3px}
.akb-veh-b small{display:block;font-size:12.5px;color:var(--akb-muted);margin-top:7px}
.akb-veh-p{display:block;margin-top:10px;font:700 20px/1 Prompt,Lato,sans-serif;color:var(--akb-navy)}
.akb-veh-o input:checked + .akb-veh-b{border-color:var(--akb-gold);
  box-shadow:0 0 0 3px rgba(200,162,74,.15);background:#FFFDF7}

/* The little tick in the top-right corner, as on the reference layout. */
.akb-veh-b::after{content:"";position:absolute;top:16px;right:16px;
  width:22px;height:22px;border-radius:50%;border:1.5px solid var(--akb-line);
  background:#fff;transition:.15s}
.akb-veh-o input:checked + .akb-veh-b::after{
  border-color:var(--akb-gold);background:var(--akb-gold) no-repeat center/11px 8px;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='8' viewBox='0 0 11 8'%3E%3Cpath fill='none' stroke='%231A1405' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 4l3 3 6-6'/%3E%3C/svg%3E")}

.akb-tag{display:inline-block;margin-left:7px;vertical-align:2px;font-style:normal;
  font:700 10px/1 Lato,sans-serif;letter-spacing:.1em;padding:4px 7px;border-radius:5px;
  background:linear-gradient(180deg,var(--akb-gold),var(--akb-gold-2));color:var(--akb-gold-ink)}
.akb-veh-o.is-off{opacity:.45;cursor:not-allowed}
.akb-veh-o.is-off .akb-veh-b{background:var(--akb-soft)}

.akb-note{margin:14px 0 0;font-size:13.5px;color:var(--akb-muted);
  background:var(--akb-soft);border-radius:10px;padding:12px 14px}

/* The address box that opens under a drop-down when the place alone is not
   somewhere a driver can go. A thin gold rule ties it to the choice above. */
.akb-sub{display:flex;flex-direction:column;gap:6px;margin-top:10px;
  padding-left:12px;border-left:2px solid var(--akb-gold)}
.akb-sub label{font-size:12.5px}

/* Capacity note on step two, when the party outgrows the car chosen on step one. */
.akb-cap{margin:12px 0 0;font-size:13.5px;line-height:1.5;color:#6B4E00;
  background:#FFF8E6;border:1px solid #F0DFB0;border-radius:10px;padding:11px 14px}

/* ---------------------------------------------------------------- consent */

.akb-check{display:flex;gap:10px;align-items:flex-start;margin-top:4px;
  font-size:14.5px;color:var(--akb-muted)}
.akb-check input{margin-top:3px;width:17px;height:17px;accent-color:var(--akb-gold);flex:0 0 17px}

/* ---------------------------------------------------------------- summary */

.akb-sum{display:flex;gap:24px;align-items:center;justify-content:space-between;
  flex-wrap:wrap;background:linear-gradient(160deg,#0B1220,#1A2942);
  border-color:transparent;color:#fff}
.akb-sum-k{margin:0;font:700 12px/1 Lato,sans-serif;letter-spacing:.16em;
  text-transform:uppercase;color:var(--akb-gold)}
.akb-sum-v{margin:6px 0 6px;font:600 34px/1.05 Prompt,Lato,sans-serif;color:#fff}
.akb-sum-d{margin:0;font-size:13.5px;color:#AEB9CB;max-width:520px}
.akb-sum-r{display:flex;flex-direction:column;gap:10px;min-width:230px}

.akb-err{width:100%;margin:18px 0 0;background:#FEF1F4;color:#8A1B36;
  border:1px solid #F6C8D3;border-radius:10px;padding:11px 14px;font-size:14px}

/* ---------------------------------------------------------------- buttons */

.akb-btn{display:inline-flex;align-items:center;justify-content:center;
  padding:14px 22px;border-radius:12px;border:1px solid transparent;cursor:pointer;
  font:700 15px/1 Lato,sans-serif;text-decoration:none;transition:.15s;text-align:center}
.akb-btn-gold{background:linear-gradient(180deg,var(--akb-gold),var(--akb-gold-2));
  color:var(--akb-gold-ink);box-shadow:0 8px 20px rgba(168,134,47,.28)}
.akb-btn-gold:hover{filter:brightness(1.06)}
.akb-btn-wa{background:var(--akb-wa);color:#06301A}
.akb-btn-wa:hover{filter:brightness(1.05)}
.akb-btn-line{background:transparent;border-color:var(--akb-line);color:var(--akb-navy)}
.akb-sum .akb-btn-line{border-color:rgba(255,255,255,.28);color:#fff}

/* ---------------------------------------------------------------- trust */

.akb-trust{background:var(--akb-soft);border-top:1px solid var(--akb-line);padding:44px 0}
.akb-trust .akb-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.akb-trust b{display:block;font:600 16px/1.3 Prompt,Lato,sans-serif;color:var(--akb-navy);margin-bottom:6px}
.akb-trust p{margin:0;font-size:14.5px;color:var(--akb-muted)}

/* ---------------------------------------------------------------- result */

.akb-result{margin-top:44px}
.akb-result h1{font:600 clamp(26px,3.6vw,34px)/1.2 Prompt,Lato,sans-serif;
  color:var(--akb-navy);margin:6px 0 12px}
.akb-result .akb-eyebrow{color:var(--akb-gold-2)}
.akb-result .akb-lead{margin:0 0 22px;color:var(--akb-muted);max-width:none}

.akb-recap{width:100%;border-collapse:collapse;margin-top:6px}
.akb-recap th{width:150px;text-align:left;font:700 13.5px/1.5 Lato,sans-serif;
  color:var(--akb-muted);padding:10px 0;border-bottom:1px solid var(--akb-line);vertical-align:top}
.akb-recap td{padding:10px 0;border-bottom:1px solid var(--akb-line);font-size:15px}

.akb-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.akb-bad ul{margin:10px 0 0;padding-left:20px;color:#8A1B36}
.akb-warn{margin-top:20px;background:#FFFBEB;border:1px solid #F3E0AE;
  border-radius:10px;padding:12px 14px;font-size:14px;color:#6B4E06}

/* ---------------------------------------------------------------- fallback shell */

.akb-shell-hd{background:var(--akb-navy);padding:14px 0}
.akb-shell-hd .akb-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.akb-logo{color:#fff;text-decoration:none;font:600 20px/1 Prompt,Lato,sans-serif}
.akb-logo span{color:var(--akb-gold)}
.akb-shell-nav{display:flex;gap:18px;align-items:center}
.akb-shell-nav a{color:#C9D2E1;text-decoration:none;font-size:14.5px}
.akb-shell-nav a:hover{color:#fff}
.akb-shell-nav .akb-wa{background:var(--akb-wa);color:#06301A;font-weight:700;
  padding:8px 14px;border-radius:9px}

.akb-shell-ft{background:var(--akb-navy);color:#AEB9CB;padding:34px 0;margin-top:0}
.akb-shell-ft a{color:var(--akb-gold);text-decoration:none}
.akb-shell-ft p{margin:0 0 8px;font-size:14.5px}
.akb-small{font-size:12.5px;color:#7E8AA0}

/* ---------------------------------------------------------------- mobile */

@media (max-width:820px){
  .akb-trust .akb-wrap{grid-template-columns:1fr}
}
@media (max-width:640px){
  .akb-hero{padding:44px 0 92px}
  .akb-main{margin-top:-64px}
  .akb-row,.akb-row-3,.akb-veh{grid-template-columns:1fr}
  .akb-card{padding:20px 16px}
  .akb-sum{flex-direction:column;align-items:stretch;text-align:left}
  .akb-sum-r{min-width:0}
  .akb-sum-v{font-size:30px}
  .akb-recap th{width:118px}

  .akb-bar{padding:14px 18px}
  .akb-bar-t{font-size:11.5px;letter-spacing:.12em}
  .akb-panel-in{padding:20px 16px 20px}
  .akb-panel{border-radius:14px}
  .akb-seg{display:flex;width:100%}
  .akb-seg-o{flex:1 1 0}
  .akb-seg-o span{text-align:center;padding:10px 8px}
  .akb-price{flex-direction:column;align-items:flex-start;gap:10px}
  .akb-price-v{font-size:28px}
  .akb-nav{flex-wrap:wrap}
  .akb-nav .akb-btn-line{flex:1 1 100%;order:2}
  .akb-btn-wide{flex:1 1 100%;order:1}
}