/* Import fontów */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600&family=Oswald:wght@500;700&display=swap');

/* =========================================================
   GLOBALNE NAGŁÓWKI I ETYKIETY
   ========================================================= */
.a-viewBox {
    font-family: 'Open Sans', sans-serif;
    color: #241b2b;
}
.section-wrapper,
.section-wrapper--consents {
  padding: 10px 1.250rem 2rem 1.250rem;
  background: #FFFFFF;
  border-radius: 20px;
}
.section-header.section-header--underlined {
    background-color: transparent;
}
.section-header {
    font-family: 'Oswald', sans-serif !important;
    color: #9E1715 !important;
    text-transform: uppercase;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
    border-bottom: 2px solid #9E1715 !important;
    padding-bottom: 12px;
    margin-bottom: 10px;
}

.a-col-label label {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #333;
    padding-top: 12px;
}
.label-wrap-text-sm,
.label-wrap-text {
    margin-left: 0rem;
}
.form-group .required {
    color: #9E1715;
    font-weight: 700;
}

.accommodation__if {
  margin-bottom: 20px;
}

/* =========================================================
   POLA TEKSTOWE
   ========================================================= */
.form-control {
    border: 1px solid #cfc4d7 !important;
    border-radius: 6px !important;
    padding: 12px 16px !important;
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    color: #241b2b;
    box-shadow: none !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    min-height: 40px;
}

.form-control:focus {
    border-color: #9E1715 !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(158, 23, 21, 0.15) !important;
}

/* =========================================================
   CUSTOM RADIO & CHECKBOX (TWARDE NADPISANIE)
   ========================================================= */
/* Baza dla całej etykiety */
label.nv_radio_off,
label.nv_radio_on,
label.nv_checkbox_off,
label.nv_checkbox_on {
    position: relative !important;
    padding-left: 32px !important;
    padding-right: 0 !important;
    cursor: pointer !important;
    font-weight: 400 !important;
    font-size: 15px !important;
    display: inline-block !important;
    line-height: 24px !important;
    min-height: 24px !important;
    margin-right: 20px !important;
    margin-bottom: 0 !important;
    background-image: none !important; /* Reset starego tła na labelu */
    user-select: none;
}

/* Kółko / Kwadrat - podstawa (::before) */
label.nv_radio_off::before,
label.nv_radio_on::before,
label.nv_checkbox_off::before,
label.nv_checkbox_on::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 22px !important;
    height: 22px !important;
    background: #fff !important;
    border: 2px solid #cfc4d7 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Kształty */
label.nv_radio_off::before,
label.nv_radio_on::before {
    border-radius: 50% !important;
}
label.nv_checkbox_off::before,
label.nv_checkbox_on::before {
    border-radius: 4px !important;
}

/* -- STANY ZAZNACZONE (ON) - RADIO -- */
label.nv_radio_on::before {
    border-color: #9E1715 !important;
}
label.nv_radio_on::after {
    content: '' !important;
    position: absolute !important;
    left: 6px !important; /* Centralnie w polu 22px */
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: #9E1715 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* -- STANY ZAZNACZONE (ON) - CHECKBOX -- */
label.nv_checkbox_on::before {
    background: #9E1715 !important;
    border-color: #9E1715 !important;
}
label.nv_checkbox_on::after {
    content: '' !important;
    position: absolute !important;
    left: 8px !important;
    top: calc(50% - 2px) !important;
    width: 6px !important;
    height: 12px !important;
    border: solid #fff !important;
    border-width: 0 2px 2px 0 !important;
    transform: translateY(-50%) rotate(45deg) !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ukrycie oryginalnych, niepotrzebnych inputów wewnątrz tych etykiet */
label.nv_radio_off input,
label.nv_radio_on input,
label.nv_checkbox_off input,
label.nv_checkbox_on input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* =========================================================
   SUMO SELECT (Wybór kraju)
   ========================================================= */
.SumoSelect > .CaptionCont {
    border: 1px solid #cfc4d7 !important;
    border-radius: 6px !important;
    padding: 12px 16px !important;
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    color: #241b2b;
    box-shadow: none !important;
    min-height: 40px;
    background-color: #fff;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.SumoSelect.open > .CaptionCont {
    border-color: #9E1715 !important;
    box-shadow: 0 0 0 3px rgba(158, 23, 21, 0.15) !important;
}

.SumoSelect .optWrapper {
    border-radius: 6px !important;
    border: 1px solid #cfc4d7 !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1) !important;
}

.SumoSelect .optWrapper .options li.opt:hover {
    background-color: #fbfafc !important;
}

.SumoSelect .optWrapper .options li.opt.selected {
    background-color: #9E1715 !important;
    color: #fff !important;
}

/* =========================================================
   INTL-TEL-INPUT (Numer telefonu z flagą)
   ========================================================= */
.intl-tel-input {
    width: 100% !important;
}

.intl-tel-input .flag-dropdown {
    border-radius: 6px 0 0 6px !important;
}

.intl-tel-input input {
    padding-left: 52px !important;
}