/* GDS form primitives. Field chrome comes from InputField; the higher-level
   fields (TextInput, SelectInput, Checkbox…) compose it. */
.gds-field{margin:0;padding:0;border:0}
.gds-field__label{display:block;font-weight:var(--gds-font-weight-normal);font-size:var(--gds-etna-font-size);line-height:var(--gds-etna-line-height);letter-spacing:var(--gds-letter-spacing-default);color:var(--gds-text-secondary)}
.gds-field__label--disabled{color:var(--gds-base-border-dark);cursor:not-allowed}
.gds-field__row{position:relative}
.gds-field__row--mt{margin-top:var(--gds-space-lounge)}
.gds-field__icon{position:absolute;top:0;display:flex;align-items:center;height:100%;color:var(--gds-text-secondary);pointer-events:none}
.gds-field__icon--start{inset-inline-start:0;margin-inline-start:var(--gds-space-auditorium)}
.gds-field__icon--end{inset-inline-end:0;margin-inline-end:var(--gds-space-auditorium)}
.gds-input,.gds-textarea,.gds-select{width:100%;margin:0;padding:0;border:1px solid var(--gds-base-border-dark);border-radius:var(--gds-radius-input);color:inherit;font-family:inherit;font-size:inherit;background-color:var(--gds-base-bg);appearance:none}
.gds-input{height:var(--gds-min-tap-size);padding-inline:var(--gds-space-auditorium)}
.gds-input--extra-padding{padding-inline-end:var(--gds-min-tap-size)}
.gds-field__icon--start~.gds-input{padding-inline-start:var(--gds-space-stadium)}
.gds-textarea{display:block;padding:var(--gds-space-auditorium);resize:vertical}
.gds-select{height:var(--gds-min-tap-size);padding-inline-end:var(--gds-space-stadium);padding-inline-start:var(--gds-space-auditorium)}
.gds-select--pill{border-radius:var(--gds-space-amphitheatre)}
.gds-input::placeholder,.gds-textarea::placeholder{color:var(--gds-text-secondary)}
.gds-input:hover:not(:disabled):not(:read-only),.gds-textarea:hover:not(:disabled):not(:read-only){border-color:var(--gds-base-primary)}
.gds-input:read-only:not(:disabled),.gds-textarea:read-only:not(:disabled){border-color:var(--gds-base-border);color:var(--gds-text-primary);background-color:var(--gds-base-border-light)}
.gds-input:disabled,.gds-textarea:disabled,.gds-select:disabled{border-color:var(--gds-base-border);color:var(--gds-base-border-dark);background-color:var(--gds-base-border-light);opacity:1}
.gds-input:focus,.gds-textarea:focus,.gds-input:focus-visible,.gds-textarea:focus-visible{outline:var(--gds-focus-outline-width) solid var(--gds-focus-ring);outline-offset:-2px}
.gds-select:not(:disabled):hover,.gds-select:not(:disabled):focus,.gds-select:not(:disabled):focus-visible{outline:2px solid var(--gds-highlight);outline-offset:-2px}
.gds-input--errored,.gds-textarea--errored,.gds-select--errored{border-color:var(--gds-status-danger);border-width:var(--gds-border-width-error)}
.gds-field__validation{display:flex;font-size:var(--gds-etna-font-size);line-height:var(--gds-etna-line-height);color:var(--gds-text-primary)}
.gds-clear-btn{position:absolute;top:0;inset-inline-end:0;display:flex;align-items:center;justify-content:center;width:var(--gds-min-tap-size);height:var(--gds-min-tap-size);border:0;padding:0;color:var(--gds-base-border-dark);background:transparent;cursor:pointer}

/* Error / success message */
.gds-error-message{display:flex;margin-top:var(--gds-space-club);font-size:var(--gds-etna-font-size);line-height:var(--gds-etna-line-height);color:var(--gds-status-danger)}
.gds-error-message p{margin:0;margin-inline-start:var(--gds-space-lounge);color:var(--gds-text-primary);overflow-wrap:anywhere}
.gds-success-message{display:flex;margin-top:var(--gds-space-club);font-size:var(--gds-etna-font-size);line-height:var(--gds-etna-line-height);color:var(--gds-status-success)}
.gds-success-message p{margin:0;margin-inline-start:var(--gds-space-lounge);color:var(--gds-text-primary)}

/* Checkbox & radio — the native control is hidden and a span is drawn */
.gds-choice{display:flex;flex-direction:row;margin:calc(var(--gds-space-club) * -1);font-weight:var(--gds-font-weight-normal);font-size:var(--gds-rainier-font-size);line-height:var(--gds-rainier-line-height);letter-spacing:var(--gds-letter-spacing-default);color:var(--gds-text-primary);cursor:pointer}
.gds-choice--flip{flex-direction:row-reverse}
.gds-choice--radio{flex-direction:row-reverse}
.gds-choice--radio.gds-choice--flip{flex-direction:row}
.gds-choice>*{padding:var(--gds-space-club)}
.gds-choice--disabled{color:var(--gds-text-secondary);cursor:not-allowed}
.gds-choice__text{display:block;flex-grow:1;margin-block:auto}
.gds-choice__control{flex-shrink:0}
.gds-checkmark,.gds-radiomark{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:1px solid var(--gds-base-border-dark);border-radius:var(--gds-radius-input);color:var(--gds-text-inverse);background-color:var(--gds-base-bg);cursor:pointer}
.gds-radiomark{border-radius:var(--gds-radius-circle)}
.gds-checkmark>.gds-icon{display:none;width:73%;height:73%;filter:brightness(0) invert(1)}
.gds-hidden-control{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;white-space:nowrap;clip-path:inset(50%)}
.gds-hidden-control:checked~.gds-checkmark{border-color:var(--gds-base-bg-inverse);background-color:var(--gds-base-bg-inverse)}
.gds-hidden-control:checked~.gds-checkmark>.gds-icon{display:block}
.gds-hidden-control:hover:not(:checked):not(:disabled)~.gds-checkmark,.gds-hidden-control:hover:not(:checked):not(:disabled)~.gds-radiomark{border-color:var(--gds-highlight);border-width:var(--gds-border-width-emphasis)}
.gds-hidden-control:checked~.gds-radiomark{border-color:var(--gds-base-bg-inverse);border-width:6px;transition:border-width var(--gds-motion-fast)}
.gds-hidden-control:focus-visible~.gds-checkmark,.gds-hidden-control:focus-visible~.gds-radiomark{outline:var(--gds-focus-outline-width) solid var(--gds-focus-ring);outline-offset:var(--gds-focus-outline-offset)}
.gds-hidden-control:disabled~.gds-checkmark,.gds-hidden-control:disabled~.gds-radiomark{border-color:var(--gds-base-border);background-color:var(--gds-base-border-light);cursor:not-allowed}
.gds-hidden-control:disabled:checked~.gds-radiomark{border-width:1px;background-color:var(--gds-base-border);box-shadow:inset 0 0 0 5px var(--gds-base-border-light)}

/* ToggleSwitch */
.gds-toggle{display:flex;align-items:center;color:var(--gds-text-primary);cursor:pointer}
.gds-toggle--full{justify-content:space-between}
.gds-toggle__track{flex-shrink:0;width:var(--gds-toggle-width);height:var(--gds-space-amphitheatre);margin-inline-start:var(--gds-space-auditorium);border:1px solid var(--gds-base-border-dark);border-radius:var(--gds-space-amphitheatre);background-color:var(--gds-base-bg);cursor:pointer}
.gds-toggle__track::after{position:relative;top:3px;inset-inline-start:var(--gds-space-lounge);display:block;width:16px;height:16px;border-radius:var(--gds-radius-circle);background-color:var(--gds-base-border-dark);transition:all var(--gds-motion-slow) var(--gds-easing-toggle);content:""}
.gds-hidden-control:checked~.gds-toggle__track{border-color:var(--gds-toggle-color);background-color:var(--gds-toggle-color)}
.gds-hidden-control:checked~.gds-toggle__track--resale{border-color:var(--gds-toggle-color-resale);background-color:var(--gds-toggle-color-resale)}
.gds-hidden-control:checked~.gds-toggle__track::after{inset-inline-start:50%;background-color:var(--gds-base-bg)}
.gds-hidden-control:checked:hover~.gds-toggle__track{border-color:var(--gds-toggle-color-hover);background-color:var(--gds-toggle-color-hover)}
.gds-hidden-control:checked:hover~.gds-toggle__track--resale{border-color:var(--gds-toggle-color-resale-hover);background-color:var(--gds-toggle-color-resale-hover)}
.gds-hidden-control:hover:not(:checked)~.gds-toggle__track{border-color:var(--gds-base-primary);box-shadow:0 0 0 1px var(--gds-base-primary)}
.gds-hidden-control:disabled~.gds-toggle__track{border-color:var(--gds-base-border);background-color:var(--gds-base-border-light);cursor:not-allowed}

/* Combobox / country picker listbox */
.gds-combobox{position:relative}
.gds-combobox__list{position:absolute;z-index:3;width:100%;max-height:296px;margin:0;padding:0;border:1px solid var(--gds-base-border-dark);border-radius:var(--gds-radius-input);overflow-y:auto;list-style:none;background-color:var(--gds-base-bg);box-shadow:var(--gds-elevation-level-3)}
.gds-combobox__option{display:flex;gap:var(--gds-space-club);align-items:center;min-height:var(--gds-min-tap-size);padding-inline:var(--gds-space-auditorium);font-size:var(--gds-rainier-font-size);cursor:pointer}
.gds-combobox__option:hover{background-color:var(--gds-base-bg-alt)}
.gds-combobox__option[aria-selected="true"]{color:var(--gds-text-inverse);background-color:var(--gds-base-primary)}
.gds-combobox__flag{width:24px;height:18px;flex-shrink:0;object-fit:cover}

/* Date of birth / phone number / grouped field rows */
.gds-field-group{display:flex;gap:var(--gds-space-club)}
.gds-field-group>*{min-width:0}

/* DoubleRangeInput */
.gds-range{position:relative;height:var(--gds-space-amphitheatre)}
.gds-range__track{position:absolute;top:10px;width:100%;height:var(--gds-space-lounge);border-radius:var(--gds-space-lounge);background-color:var(--gds-base-border)}
.gds-range__fill{position:absolute;top:10px;height:var(--gds-space-lounge);border-radius:var(--gds-space-lounge);background-color:var(--gds-base-primary)}
.gds-range__thumb{position:absolute;top:0;width:var(--gds-space-amphitheatre);height:var(--gds-space-amphitheatre);margin-inline-start:calc(var(--gds-space-amphitheatre) / -2);border:1px solid var(--gds-base-border-dark);border-radius:var(--gds-radius-circle);background-color:var(--gds-base-bg);box-shadow:var(--gds-elevation-level-1);cursor:grab}
.gds-range__values{display:flex;justify-content:space-between;margin-top:var(--gds-space-club);font-size:var(--gds-etna-font-size);color:var(--gds-text-secondary)}
