.awb-wrap{max-width:1050px;margin:0 auto;padding:18px 14px;font-family:var(--awb-font-family, inherit);}
.awb-head{margin-bottom:12px;}
.awb-title{margin:0 0 6px;font-size:24px;}
.awb-subtitle{margin:0;color:var(--awb-muted-text, #666);}

/* Account bar (login/register) */
.awb-account-bar{margin:14px 0 16px;}
.awb-account-bar-inner{border:1px solid var(--awb-border,#e2e2e2);border-radius:var(--awb-radius,12px);background:var(--awb-muted-surface,#fbf7f3);padding:14px;}
.awb-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;}
.awb-account-box{background:var(--awb-surface,#fff);border:1px solid var(--awb-border,#e2e2e2);border-radius:var(--awb-radius,12px);padding:12px;}
.awb-account-title{font-weight:800;margin-bottom:8px;}
.awb-account-text{color:var(--awb-muted-text,#666);font-size:13px;margin-bottom:10px;}
.awb-account-fields{display:grid;grid-template-columns:1fr;gap:8px;}
.awb-account-fields input{border:1px solid var(--awb-input-border,#d8d8d8);border-radius:10px;padding:10px 10px;font-size:14px;background:var(--awb-surface,#fff);}
.awb-account-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap;}
.awb-account-actions-right{justify-content:flex-end;}
.awb-remember{font-size:12px;color:var(--awb-muted-text,#666);display:flex;gap:6px;align-items:center;}
.awb-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--awb-button-radius,10px);padding:10px 14px;font-weight:800;cursor:pointer;border:1px solid transparent;background:transparent;}
.awb-btn-primary{background:var(--awb-primary,#2f241f);color:var(--awb-primary-text,#fff);border-color:var(--awb-primary,#2f241f);}
.awb-btn-outline{background:#fff;border-color:var(--awb-primary,#2f241f);color:var(--awb-primary,#2f241f);}
.awb-btn-outline:hover{background:var(--awb-muted-surface,#fbf7f3);}
.awb-account-logged{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.awb-logout{color:var(--awb-primary,#2f241f);font-weight:700;text-decoration:underline;}

@media (max-width: 780px){
  .awb-account-grid{grid-template-columns:1fr;}
}

/* Extra mobile polish */
@media (max-width: 520px){
  .awb-account-actions{flex-direction:column;align-items:stretch;}
  .awb-account-actions .awb-btn{width:100%;}
  .awb-account-logged{flex-direction:column;align-items:flex-start;}
  .awb-airport{min-width:0;width:100%;}
  .awb-tabs{justify-content:stretch;}
  .awb-top-controls .awb-tabs{justify-content:stretch;}
  .awb-tab{flex:1;}
}

.awb-notice{border:1px solid #ddd;border-radius:8px;padding:10px 12px;margin:10px 0;}
.awb-notice-success{border-color:#b7e1c5;background:#f2fbf5;}
.awb-notice-error{border-color:#f0b4b4;background:#fff4f4;}

.awb-tabs{display:flex;gap:10px;justify-content:center;margin:10px 0 16px;}
/* Direction buttons: align to the right within the top controls row */
.awb-top-controls .awb-tabs{justify-content:flex-end;margin:0;}
.awb-top-controls .awb-direction-hint{text-align:right;}
.awb-tab{border:1px solid #cfcfcf;background:var(--awb-surface,#fff);border-radius:var(--awb-tab-radius,6px);padding:10px 16px;font-weight:600;cursor:pointer;}
.awb-tab.is-active{background:var(--awb-primary,#2f241f);color:var(--awb-primary-text,#fff);border-color:var(--awb-primary,#2f241f);}


.awb-tabs--unselected .awb-tab{
  border-style:dashed;
  border-width:2px;
}
.awb-tabs--unselected .awb-tab:hover{
  border-style:solid;
}
.awb-direction-hint{
  margin:-6px 0 14px;
  font-size:13px;
  color:var(--awb-muted-text,#666);
  text-align:center;
}
.awb-top-controls{display:flex;gap:12px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin:10px 0 10px;}
.awb-airport{display:flex;flex-direction:column;gap:6px;min-width:240px;}
.awb-airport label{font-size:13px;font-weight:600;}
.awb-airport select{border:1px solid var(--awb-input-border,#d8d8d8);border-radius:8px;padding:10px 10px;font-size:14px;background:var(--awb-surface,#fff);}

/* When Eelde is selected we hide the direction tabs (not relevant) */
.awb-is-eelde .awb-tabs{display:none !important;}

.awb-summary{display:flex;gap:12px;align-items:stretch;margin-bottom:16px;}
.awb-price{flex:0 0 210px;border:1px solid var(--awb-border,#e2e2e2);border-radius:var(--awb-button-radius,10px);padding:12px;background:var(--awb-surface,#fff);}
.awb-price-label{font-size:12px;color:var(--awb-muted-text,#666);margin-bottom:4px;}
.awb-price-value{font-size:22px;font-weight:800;}
.awb-summary-box{flex:1;border:1px solid var(--awb-border,#e2e2e2);border-radius:var(--awb-button-radius,10px);padding:12px;background:var(--awb-surface,#fff);}
.awb-summary-title{font-size:12px;color:var(--awb-muted-text,#666);margin-bottom:6px;}
.awb-summary-items{display:flex;flex-wrap:wrap;gap:8px;}
.awb-pill{display:inline-flex;align-items:center;border:1px solid #e3e3e3;border-radius:var(--awb-pill-radius,999px);padding:6px 10px;font-size:12px;background:#fafafa;}

.awb-section{border:1px solid var(--awb-border,#e2e2e2);border-radius:var(--awb-radius,12px);background:var(--awb-surface,#fff);margin:12px 0;overflow:hidden;}
.awb-section-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--awb-muted-surface,#fbf7f3);border-bottom:1px solid #eee;}
.awb-section-head h3{margin:0;font-size:15px;}
.awb-collapse{border:1px solid #cfcfcf;background:var(--awb-surface,#fff);border-radius:var(--awb-tab-radius,6px);padding:6px 10px;font-size:12px;cursor:pointer;}
.awb-section-body{padding:14px;}

.awb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.awb-field{display:flex;flex-direction:column;gap:6px;}
.awb-field-full{grid-column:1 / -1;}
.awb-field label{font-size:13px;font-weight:600;}
.awb-req{color:#c00;}
.awb-field input,.awb-field select,.awb-field textarea{border:1px solid var(--awb-input-border,#d8d8d8);border-radius:8px;padding:10px 10px;font-size:14px;background:var(--awb-surface,#fff);}
.awb-field textarea{resize:vertical;}
.awb-radio{font-weight:500;}
.awb-checkbox{font-weight:500;}

.awb-actions{display:flex;justify-content:flex-end;padding-top:8px;}
.awb-submit{background:var(--awb-primary,#2f241f);color:var(--awb-primary-text,#fff);border:0;border-radius:var(--awb-button-radius,10px);padding:12px 16px;font-weight:800;cursor:pointer;}
.awb-submit:hover{filter:brightness(1.05);}


.awb-payment-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.awb-radio-inline{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--awb-input-border,#d8d8d8);border-radius:var(--awb-pill-radius,999px);padding:8px 12px;background:var(--awb-surface,#fff);cursor:pointer;}
.awb-radio-inline input{margin:0;}
.awb-radio-inline span{font-weight:600;font-size:13px;}

.awb-bottom-recap{margin-top:14px;border:1px solid var(--awb-border,#e2e2e2);border-radius:var(--awb-radius,12px);background:var(--awb-muted-surface,#fbf7f3);padding:12px 14px;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.awb-bottom-recap-title{font-size:12px;color:var(--awb-muted-text,#666);margin-bottom:6px;}
.awb-bottom-recap-items{display:flex;flex-wrap:wrap;gap:8px;}
.awb-bottom-recap-price{font-size:18px;font-weight:900;}

@media (max-width: 780px){
  .awb-summary{flex-direction:column;}
  .awb-price{flex:1;}
  .awb-grid{grid-template-columns:1fr;}
  .awb-tabs{flex-wrap:wrap;}
}


/* Direction indicator next to price */
.awb-price-direction{
  margin-top:6px;
  font-size:13px;
  line-height:1.2;
  color:rgba(0,0,0,.65);
}
.awb-price-direction-label{
  font-weight:500;
}
.awb-bottom-recap-direction{
  margin-top:4px;
  font-size:12px;
  line-height:1.2;
  color:var(--awb-muted-text,#666);
}
.awb-bottom-recap-direction-label{
  font-weight:500;
}

/* Give the submit button a bit more breathing room (right + bottom) */
.awb-actions{
  padding-top:8px;
  padding-right:10px;
  padding-bottom:10px;
}

.awb-invoice-box{
  border:1px solid var(--awb-border);
  border-radius:var(--awb-radius);
  background:var(--awb-muted-surface);
  padding:14px 16px;
}
.awb-invoice-heading{
  font-weight:600;
  margin-bottom:4px;
}
.awb-invoice-heading-help{
  margin-bottom:10px;
}

/* Invoice login notice */
.awb-invoice-login-note{
  margin-top:14px;
  padding:14px;
  border:1px solid var(--awb-border);
  background: var(--awb-muted-surface);
  border-radius: var(--awb-radius);
}
.awb-invoice-login-title{ font-weight:600; margin-bottom:6px; }
.awb-invoice-login-text{ color: var(--awb-muted-text); margin-bottom:10px; }
.awb-invoice-login-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.awb-submit.is-disabled{ opacity:0.6; cursor:not-allowed; }

/* Flight blocks */
.awb-flight-subtitle{
  margin: 10px 0 6px;
  font-weight: 600;
}

/* Small helper text under fields */
.awb-help{
  font-size: 13px;
  opacity: .75;
  margin-top: 6px;
}


.awb-time-selects{display:flex;align-items:center;gap:10px;}
.awb-time-selects .awb-time-hour,.awb-time-selects .awb-time-minute{max-width:120px;}
.awb-time-sep{font-weight:600;color:var(--awb-text,#222);}

/* Flight form layout */
.awb-flight-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:14px 18px;
  margin-bottom:8px;
}
.awb-flight-grid .awb-col{min-width:0;}
.awb-col--date{grid-column:span 7;}
.awb-col--time{grid-column:span 5;}
.awb-col--flight{grid-column:span 7;}
.awb-col--half{grid-column:span 6;}
.awb-col--full{grid-column:1 / -1;}
.awb-flight-grid .awb-field{height:100%;}
.awb-flight-grid .awb-field label{font-size:14px;font-weight:600;margin-bottom:2px;}
.awb-flight-grid .awb-field input,
.awb-flight-grid .awb-field select,
.awb-flight-grid .awb-field textarea{height:58px;}
.awb-flight-grid .awb-field textarea{height:auto;min-height:120px;}
.awb-flight-grid .awb-time-selects{
  gap:8px;
  padding:0;
}
.awb-flight-grid .awb-time-selects .awb-time-hour,
.awb-flight-grid .awb-time-selects .awb-time-minute{
  max-width:none;
  width:112px;
  flex:0 0 112px;
}
.awb-flight-grid .awb-time-sep{
  font-size:22px;
  line-height:1;
  margin:0 2px;
  align-self:center;
}
.awb-flight-subtitle{
  margin: 18px 0 10px;
  font-weight: 700;
  font-size: 15px;
}
@media (max-width: 900px){
  .awb-flight-grid{grid-template-columns:1fr;gap:12px;}
  .awb-col--date,
  .awb-col--time,
  .awb-col--flight,
  .awb-col--half,
  .awb-col--full{grid-column:1 / -1;}
  .awb-flight-grid .awb-time-selects .awb-time-hour,
  .awb-flight-grid .awb-time-selects .awb-time-minute{width:100px;flex-basis:100px;}
}


.awb-grid-address{
  align-items:start;
}
.awb-address-lookup-note{
  margin-top:-2px;
}
.awb-help-address{
  background:var(--awb-muted-surface,#fbf7f3);
  border:1px solid var(--awb-border,#e2e2e2);
  border-radius:10px;
  padding:10px 12px;
  margin:0;
}
.awb-help-address.is-loading{
  border-color:var(--awb-input-border,#d8d8d8);
}
.awb-help-address.is-success{
  border-color:#b7e1c5;
  background:#f2fbf5;
}
.awb-help-address.is-error{
  border-color:#f0b4b4;
  background:#fff4f4;
}
