/* Basert på hotellsøk-stil for konsistens */
.bsf-flysok-block { padding:20px 22px; border-radius:6px; }
.bsf-flysok-heading { margin-top:0; font-size:1.65rem; margin-bottom:6px; }
.bsf-flysok-subheading { margin-top:0; margin-bottom:14px; font-size:.95rem; color:#333; }

/* Editor (backend) spesifikk justering: begrens bredde så den matcher vanlig innholdsspalte */
.editor-styles-wrapper .bsf-flysok-block--editor { max-width:820px; margin:0 auto; }
.editor-styles-wrapper .bsf-flysok-block--editor { outline:1px dashed #c3c7ce; padding:20px 22px; }
.editor-styles-wrapper .bsf-flysok-block--editor.is-selected, 
.editor-styles-wrapper .bsf-flysok-block--editor:focus-within { outline:2px solid #2684ff; }

.bsf-flysok-form { display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px; }
.bsf-flysok-form--advanced { width:100%; }

.bsf-flysok-form .bsf-field-group { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end; }
.bsf-flysok-form .bsf-field-route,
.bsf-flysok-form .bsf-field-dates-passengers,
.bsf-flysok-form .bsf-field-submit { flex:1 1 100%; }
.bsf-flysok-form .bsf-field-dates-passengers { display:flex; flex-wrap:nowrap; gap:12px; align-items:flex-end; width:100%; }
.bsf-flysok-form .bsf-field-dates-passengers label { display:flex; flex-direction:column; margin:0; }
/* Fleksible datoer: tar mest plass, tallfelter kompakte */
.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-date { flex:1 1 240px; min-width:200px; }
.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-passenger { flex:0 1 110px; min-width:90px; max-width:140px; }
.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-passenger-wrap { display:flex; gap:12px; align-items:flex-end; }
.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-passenger-wrap .bsf-col-passenger { flex:0 1 110px; }
.bsf-flysok-form .bsf-field-dates-passengers input { width:100%; box-sizing:border-box; }
/* Hold alt på én linje så lenge det er plass, deretter wrap */
@media (max-width:1100px){
	.bsf-flysok-form .bsf-field-dates-passengers { flex-wrap:wrap; }
	.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-date { flex:1 1 48%; min-width:180px; }
	.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-passenger { flex:1 1 22%; }
}
@media (max-width:700px){
	.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-date,
	.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-passenger { flex:1 1 100%; min-width:0; }
}

@media (max-width:820px){
	.bsf-flysok-form .bsf-field-dates-passengers { flex-direction:row; }
	.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-date { flex:1 1 48%; }
	.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-passenger { flex:1 1 24%; }
}
@media (max-width:640px){
	.bsf-flysok-form .bsf-field-dates-passengers { flex-direction:column; }
	.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-date,
	.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-passenger { flex:1 1 100%; }
}
.bsf-flysok-form label { display:flex; flex-direction:column; font-size:.8rem; font-weight:600; color:#333; min-width:90px; flex:1 1 80px; position:relative; }
.bsf-flysok-form label span { margin-bottom:4px; font-weight:600; font-size:.68rem; letter-spacing:.5px; text-transform:uppercase; color:#555; }
.bsf-flysok-form input[type=text],
.bsf-flysok-form input[type=date],
.bsf-flysok-form input[type=number],
.bsf-flysok-form select { padding:9px 10px; border:1px solid #b9b9b9; border-radius:4px; font-size:.95rem; background:#fff; }
.bsf-flysok-form input:focus, .bsf-flysok-form select:focus { outline:2px solid #2684ff33; border-color:#2684ff; }

.bsf-flysok-children-ages { display:flex; gap:12px; flex-wrap:wrap; }
.bsf-flysok-children-ages .bsf-child-age { max-width:110px; flex:1 1 90px; }

.bsf-flysok-submit { background:var(--primary-color, #568d03); color:#fff; padding:12px 28px; font-size:.95rem; border:none; border-radius:6px; cursor:pointer; font-weight:600; box-shadow:0 3px 5px rgba(0,0,0,.12); letter-spacing:.5px; transition:.18s background-color,.18s transform; margin-bottom:2px; }
.bsf-flysok-submit:hover { background:var(--primary-color-hover, #70b10c); }
.bsf-flysok-submit:active { transform:translateY(1px); }
.bsf-flysok-disclaimer { margin-top:10px; font-size:.68rem; line-height:1.25; color:#555; opacity:.8; font-style:italic; }

/* Autocomplete */
.bsf-flysok-suggestions { position:absolute; top:100%; left:0; right:0; background:#fff; border:1px solid #cfcfcf; border-radius:4px; box-shadow:0 4px 10px rgba(0,0,0,.08); z-index:30; padding:4px; display:flex; flex-direction:column; max-height:260px; overflow:auto; }
.bsf-flysok-suggestion { text-align:left; background:none; border:none; padding:8px 10px; font-size:.9rem; border-radius:3px; cursor:pointer; }
.bsf-flysok-suggestion:hover, .bsf-flysok-suggestion:focus { background:#f2f6f0; }
.bsf-flysok-suggestion:active { background:#e2eedc; }
.bsf-flysok-suggestion.is-active { background:#e9f2e4; }
/* Fjernet tidligere rule som satte suggestions til relative og utvidet boksen */

/* Clear (reset) buttons for from/to inputs */
.bsf-has-clear { position:relative; }
.bsf-flysok-clear { position:absolute; top:28px; /* fallback, JS justerer nøyaktig */ right:8px; border:none; background:transparent; color:#777; font-size:18px; line-height:1; padding:0 4px; cursor:pointer; opacity:.55; transition:.15s color,.15s opacity; }
.bsf-flysok-clear:hover { color:#222; opacity:.9; }
.bsf-flysok-clear:focus { outline:2px solid #2684ff55; border-radius:3px; }
.bsf-flysok-form input[type=text].has-clear { padding-right:30px; }

/* Mobile layout adjustments */
/* Tablet / mobil mellom 0 - 820px: Datoer full bredde, voksne/barn på samme linje */
@media (max-width:820px){
	.bsf-flysok-form { flex-direction:column; align-items:stretch; gap:18px; }
	.bsf-flysok-form .bsf-field-group { width:100%; }
	.bsf-flysok-form .bsf-field-dates-passengers { flex-direction:column; gap:16px; }
	.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-date { flex:1 1 100%; min-width:0; width:100%; }
	.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-date input { width:100%; max-width:100%; }
	.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-passenger-wrap { display:flex; gap:12px; width:100%; }
	.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-passenger-wrap .bsf-col-passenger { flex:1 1 50%; min-width:0; max-width:none; }
	.bsf-flysok-submit { width:100%; }
	.bsf-flysok-children-ages { flex-direction:column; gap:10px; }
	.bsf-flysok-children-ages .bsf-child-age { max-width:none; width:100%; }
}

/* Ekstra smal <560px: litt tettere */
@media (max-width:560px){
	.bsf-flysok-form .bsf-field-dates-passengers .bsf-col-passenger-wrap { gap:10px; }
}

/* Sørg for rekkefølge: barne-alder over submit uansett wrap */
.bsf-flysok-form .bsf-field-route { order:10; }
.bsf-flysok-form .bsf-field-dates-passengers { order:20; }
.bsf-flysok-form .bsf-field-children-ages { order:30; }
.bsf-flysok-form .bsf-field-submit { order:40; }
