/* =======================================================
   Vėjų Fėja – Registration Form · Minimal
   ======================================================= */

.vf-public-wrap,
.vf-form-wrap {font-family: 'Baloo 2', sans-serif !important;-webkit-font-smoothing: antialiased !important;color: #1a1a1a !important;width: 100% !important;max-width: 100% !important;margin: 0 auto !important;box-sizing: border-box !important;
}
@media (min-width: 768px) {
    .vf-public-wrap,
    .vf-form-wrap {min-width: 1000px !important; width: 1000px !important;}
}
#vf-camp-select-screen {width: 100% !important;}
.vf-public-wrap *, .vf-form-wrap * {box-sizing: border-box !important; }

/* ── Camp Selection ───────────────────────────────────── */
.vf-camps-header {margin-bottom: 20px !important; }
.vf-camps-header h2 {font-size: 28px !important;font-weight: 600 !important;letter-spacing: -.3px !important;margin: 0 0 4px !important;color: #1a1a1a !important;
}
.vf-camps-header p {font-size: 14px !important;color: #888 !important;margin: 0 !important; }

/* ── Camp Picker Cards ────────────────────────────────── */
.vf-camp-picker {display: flex !important;flex-direction: column !important;gap: 10px !important; }

.vf-cp-card {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 16px 18px !important;
    border: 1.5px solid #e8e8e8 !important;
    border-radius: 14px !important;
    background: #fff !important;
    cursor: pointer !important;
    transition: border-color .18s, box-shadow .18s, background .15s !important;
    user-select: none !important;
    position: relative !important;
}
.vf-cp-card:hover:not(.vf-cp-full) {
    border-color: #3C7920 !important;
    box-shadow: 0 2px 12px rgba(60,121,32,.08) !important;
}
.vf-cp-card.vf-cp-selected {
    border-color: #3C7920 !important;
    background: #f7fcf4 !important;
    box-shadow: 0 2px 14px rgba(60,121,32,.12) !important;
}
.vf-cp-card.vf-cp-full {
    cursor: default !important;
    pointer-events: none !important;
}

.vf-cp-card.vf-cp-full::after {
    content: 'Vietų nebėra' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    background: rgba(255, 255, 255, 0.65) !important;
    backdrop-filter: grayscale(100%) blur(1px) !important;
    -webkit-backdrop-filter: grayscale(100%) blur(1px) !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: inherit !important;
    
    /* Text styling matches Elementor badge */
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
}
.vf-cp-card.vf-cp-full::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important; left: 50% !important;
    transform: translate(-50%, -50%) !important;
    background: rgba(0, 0, 0, 0.75) !important;
    width: auto !important; height: auto !important;
    padding: 6px 16px !important;
    border-radius: 6px !important;
    z-index: 9 !important; /* Will sit behind the text, effectively creating a pill */
}

.vf-cp-card-body {flex: 1 !important;min-width: 0 !important; }
.vf-cp-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    margin: 0 0 5px !important;
    line-height: 1.2 !important;
}
.vf-cp-meta {display: flex !important;flex-wrap: wrap !important;gap: 6px 14px !important;align-items: center !important; }
.vf-cp-meta-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 13px !important;
    color: #666 !important;
}
.vf-cp-meta-item svg {width: 13px !important;height: 13px !important;flex-shrink: 0 !important;color: #aaa !important; }

.vf-cp-right {display: flex !important;flex-direction: column !important;align-items: flex-end !important;gap: 10px !important;flex-shrink: 0 !important; }

.vf-cp-badge {
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 3px 9px !important;
    border-radius: 20px !important;
    white-space: nowrap !important;
    letter-spacing: .2px !important;
}
.vf-cp-badge-open {background: #f0fdf4 !important;color: #16a34a !important;border: 1px solid #bbf7d0 !important; }
.vf-cp-badge-full {background: #fef2f2 !important;color: #dc2626 !important;border: 1px solid #fecaca !important; }

.vf-cp-radio {
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    border: 2px solid #ddd !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    transition: border-color .18s !important;
}
.vf-cp-card.vf-cp-selected .vf-cp-radio {border-color: #3C7920 !important; }
.vf-cp-radio-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: #3C7920 !important;
    transform: scale(0) !important;
    transition: transform .18s cubic-bezier(.34,1.56,.64,1) !important;
}
.vf-cp-card.vf-cp-selected .vf-cp-radio-dot {transform: scale(1) !important; }

@media (max-width: 560px) {
    .vf-cp-card {padding: 13px 14px !important; }
    .vf-cp-name {font-size: 15px !important; }
    .vf-cp-right {gap: 8px !important; }
}


.vf-camp-cards {display: flex !important;flex-direction: column !important;gap: 8px !important; }
.vf-camp-card {border: 1px solid #e5e5e5 !important;border-radius: 12px !important;overflow: hidden !important;transition: border-color .18s !important;
}
.vf-camp-card:not(.vf-camp-full):hover {border-color: #1a1a1a !important; }
.vf-camp-full {opacity: .4 !important;pointer-events: none !important; }
.vf-camp-card-inner {display: flex !important;align-items: center !important;padding: 16px 18px !important;gap: 16px !important;
}
.vf-camp-card-info {flex: 1 !important;min-width: 0 !important; }
.vf-camp-card-name {font-size: 15px !important;font-weight: 600 !important;margin: 0 0 3px !important; }
.vf-camp-card-dates {font-size: 13px !important;color: #888 !important;margin: 0 0 2px !important; }
.vf-camp-card-price {font-size: 13px !important;font-weight: 600 !important;color: #1a1a1a !important;margin: 0 !important; }
.vf-camp-card-right {flex-shrink: 0 !important;display: flex !important;flex-direction: column !important;align-items: flex-end !important;gap: 8px !important; }

.vf-badge {font-size: 11px !important;font-weight: 500 !important;padding: 3px 8px !important;border-radius: 4px !important;
}
.vf-badge-open {background: #f0fdf4 !important;color: #16a34a !important;border: 1px solid #bbf7d0 !important; }
.vf-badge-full {background: #fef2f2 !important;color: #dc2626 !important;border: 1px solid #fecaca !important; }

.vf-camp-dropdown-wrap {display: flex !important;flex-direction: column !important;gap: 14px !important;width: 100% !important;
}
.vf-camp-select {width: 100% !important;border: 1px solid #e0e0e0 !important;border-radius: 8px !important;padding: 10px 30px 10px 12px !important;font-size: 15px !important;font-family: 'Baloo 2', sans-serif !important;color: #1a1a1a !important;background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath fill='%23bbb' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 10px center !important;appearance: none !important;-webkit-appearance: none !important;outline: none !important;cursor: pointer !important;transition: border-color .15s !important;
}
.vf-camp-select:focus {border-color: #1a1a1a !important; }
.vf-camp-go-btn {align-self: flex-start !important;
}
.vf-camp-go-btn.vf-go-disabled {
    opacity: .4 !important;
    cursor: default !important;
}

.vf-back-btn {display: none !important;border: none !important;padding: 0 0 20px !important;font-family: inherit !important;font-size: 13px !important;color: #555 !important;cursor: pointer !important;display: inline-flex !important;align-items: center !important;gap: 4px !important;transition: color .14s !important;
}
.vf-back-btn:hover {color: #1a1a1a !important; }
.vf-back-btn:hover .vf-icon-inline {color: #1a1a1a !important; }

/* ── Progress (top) ───────────────────────────────────── */
.vf-progress {display: none !important;align-items: center !important;margin-bottom: 20px !important;
}
.vf-ps-pip {width: 7px !important;height: 7px !important;border-radius: 50% !important;background: #ddd !important;flex-shrink: 0 !important;transition: all .3s ease !important;
}
.vf-ps-pip.vf-ps-active {background: #1a1a1a !important;width: 20px !important;border-radius: 4px !important; }
.vf-ps-pip.vf-ps-done   {background: #1a1a1a !important; }
.vf-progress-line {flex: 1 !important;height: 1px !important;background: #e5e5e5 !important;margin: 0 8px !important;transition: background .3s !important;
}
.vf-progress-line.vf-pl-done {background: #1a1a1a !important; }
.vf-ps-pip.vf-ps-pip-green {background: rgb(34, 68, 18) !important; }
.vf-ps-pip.vf-ps-pip-green.vf-ps-active {background: rgb(34, 68, 18) !important;width: 20px !important;border-radius: 4px !important; }
.vf-ps-pip.vf-ps-pip-green.vf-ps-done   {background: rgb(34, 68, 18) !important; }

/* ── Form Header (name below progress, price left) ────── */
.vf-form-hdr {margin-bottom: 24px !important; }
.vf-form-camp {font-size: 28px !important;font-weight: 600 !important;letter-spacing: -.3px !important;margin: 0 !important;color: #1a1a1a !important;
}
.vf-form-meta {display: none !important;align-items: center !important;gap: 8px !important;font-size: 13px !important;color: #888 !important;
}
.vf-meta-price {font-size: 14px !important;font-weight: 600 !important;color: #1a1a1a !important; }
.vf-meta-sep   {color: #ddd !important; }

/* ── Step Content ─────────────────────────────────────── */
.vf-step {animation: vf-fadein .25s ease !important; }
@keyframes vf-fadein {
    from {opacity: 0 !important;transform: translateY(6px) !important; }
    to   {opacity: 1 !important;transform: translateY(0) !important; }
}
.vf-step.vf-step-out {animation: vf-fadeout .2s ease forwards !important; }
@keyframes vf-fadeout { to {opacity: 0 !important;transform: translateY(-5px) !important; } }

.vf-step-title {font-size: 20px !important;font-weight: 600 !important;margin: 0 0 2px !important;color: #1a1a1a !important;
}
.vf-step-sub {font-size: 15px !important;color: #888 !important;margin: 0 0 20px !important;
}

/* ── Fields ───────────────────────────────────────────── */
.vf-field {margin-bottom: 10px !important; }
.vf-field label {display: block !important;font-size: 14px !important;font-weight: 600 !important;color: #1a1a1a !important;margin-bottom: 5px !important;text-transform: uppercase !important;letter-spacing: .5px !important;
}
.vf-field input:not(.iti__tel-input),
.vf-field select {width: 100% !important;border: 1px solid #e0e0e0 !important;border-radius: 8px !important;padding: 9px 11px !important;font-size: 16px !important;font-family: inherit !important;color: #1a1a1a !important;background: #fff !important;outline: none !important;appearance: none !important;-webkit-appearance: none !important;transition: border-color .15s !important;
}
.vf-field input:focus,
.vf-field select:focus {border-color: #1a1a1a !important; }
.vf-field input::placeholder {color: #ccc !important; }
.vf-field input.vf-field-err,
.vf-field select.vf-field-err {border-color: #dc2626 !important; }

.vf-field select {background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath fill='%23bbb' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") !important;background-repeat: no-repeat !important;background-position: right 9px center !important;padding-right: 30px !important;cursor: pointer !important;
}

.vf-field-row   {display: grid !important;grid-template-columns: 1fr 1fr !important;gap: 10px !important; }
.vf-field-row-3 {grid-template-columns: 1fr 1fr 68px !important; } /* Metai | Mėnuo | Diena */

/* ── Child Rows (PC: vienoje eilutėje) ───────────────── */
.vf-children-list {margin-bottom: 8px !important; }
.vf-child-row {display: flex !important;align-items: flex-end !important;gap: 8px !important;padding: 10px 0 !important;border-bottom: 2px solid #3C7920 !important;transition: opacity .2s !important;
}
.vf-child-row:last-child {border-bottom: none !important; padding-bottom: 0 !important; }
.vf-child-row:first-child {padding-top: 0 !important; }
.vf-child-row:focus-within .vf-field input,
.vf-child-row:focus-within .vf-field select {border-color: #ccc !important; }
.vf-child-row.vf-cr-removing {opacity: 0 !important; }
.vf-child-row.vf-cr-new {animation: vf-fadein .25s ease !important; }

/* Flex field sizing */
.vf-child-row .vf-field {margin-bottom: 0 !important;flex: 1 !important;min-width: 60px !important; }
.vf-cf-year  { flex: 0 0 86px !important; }
.vf-cf-month { flex: 0 0 110px !important; }
.vf-cf-day   { flex: 0 0 64px !important; }

.vf-cr-num {flex-shrink: 0 !important;font-size: 14px !important;font-weight: 700 !important;text-transform: uppercase !important;letter-spacing: .5px !important;color: #1a1a1a !important;padding-bottom: 10px !important;min-width: 18px !important;text-align: center !important;
}
.vf-cr-remove {
    flex-shrink: 0 !important;
    background: none !important;
    border: none !important;
    color: #dc2626 !important;
    cursor: pointer !important;
    padding: 0 8px !important;
    height: 39px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: background .14s !important;
    line-height: 1 !important;
}
.vf-cr-remove:hover { background: #fef2f2 !important; }
.vf-cr-remove svg {width: 20px !important;height: 20px !important;display: block !important;pointer-events: none !important; }

.vf-add-child-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #3C7920 !important;
    border: none !important;
    font-family: 'Baloo 2', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #fff !important;
    cursor: pointer !important;
    padding: 10px 15px !important;
    border-radius: 8px !important;
    margin-bottom: 8px !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background .14s !important;
}
.vf-add-child-btn:hover { background: #2e5e18 !important; color: #fff !important; }

/* ── Phone Row ────────────────────────────────────────── */
.vf-phone-row {display: flex !important;gap: 8px !important;align-items: stretch !important; }
.vf-country-selector {position: relative !important;flex-shrink: 0 !important; }

.vf-cs-selected {display: flex !important;align-items: center !important;gap: 5px !important;border: 1px solid #e0e0e0 !important;border-radius: 8px !important;padding: 8px 10px !important;background: #fff !important;cursor: pointer !important;user-select: none !important;white-space: nowrap !important;height: 39px !important;transition: border-color .15s !important;
}
.vf-cs-selected:hover,
.vf-country-selector.vf-cs-open .vf-cs-selected {border-color: #1a1a1a !important; }
.vf-cs-flag {font-size: 18px !important;line-height: 1 !important; }
.vf-cs-code {font-size: 13px !important;font-weight: 600 !important;min-width: 32px !important; }
.vf-cs-arrow {display: flex !important;align-items: center !important;color: #bbb !important;transition: transform .2s !important; }
.vf-cs-arrow svg {width: 13px !important;height: 13px !important; }
.vf-country-selector.vf-cs-open .vf-cs-arrow {transform: rotate(180deg) !important; }

.vf-cs-dropdown {display: none !important;position: absolute !important;top: calc(100% + 4px) !important;left: 0 !important;min-width: 210px !important;background: #fff !important;border: 1px solid #e5e5e5 !important;border-radius: 10px !important;box-shadow: 0 8px 24px rgba(0,0,0,.1) !important;max-height: 260px !important;overflow-y: auto !important;z-index: 99999 !important;
}
.vf-cs-dropdown::-webkit-scrollbar {width: 4px !important; }
.vf-cs-dropdown::-webkit-scrollbar-thumb {background: #ddd !important;border-radius: 2px !important; }
.vf-country-selector.vf-cs-open .vf-cs-dropdown {display: block !important;animation: vf-fadein .15s ease !important; }

.vf-cs-option {display: flex !important;align-items: center !important;gap: 10px !important;padding: 9px 14px !important;font-size: 13px !important;cursor: pointer !important;transition: background .1s !important;
}
.vf-cs-option:first-child {border-radius: 10px 10px 0 0 !important; }
.vf-cs-option:last-child  {border-radius: 0 0 10px 10px !important; }
.vf-cs-option:hover {background: #f5f5f5 !important; }
.vf-cs-of {font-size: 17px !important;flex-shrink: 0 !important; }
.vf-cs-on {flex: 1 !important; }
.vf-cs-oc {color: #bbb !important;font-size: 12px !important;flex-shrink: 0 !important; }

.vf-phone-row .vf-phone-input {flex: 1 !important; }

/* ── Step Footer & Buttons ────────────────────────────── */
.vf-step-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    margin-top: 0px !important;
    padding-top: 18px !important;
    border-top: none !important;
}
.vf-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-family: 'Baloo 2', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    border: 1px solid transparent !important;
    padding: 10px 15px !important;
    height: 46px !important;
    border-radius: 8px !important;
    background: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background .14s, color .14s !important;
}
.vf-btn-primary {
    background: #3C7920 !important;
    color: #fff !important;
    border-color: #3C7920 !important;
}
.vf-btn-primary:hover  { background: #2e5e18 !important; border-color: #2e5e18 !important; }
.vf-btn-primary:active { transform: scale(.98) !important; }
.vf-btn-secondary {
    color: #444 !important;
    padding: 9px 0 !important;
    background: none !important;
    border-color: transparent !important;
    margin-right: auto !important;
}
.vf-btn-secondary:hover { color: #1a1a1a !important; }
.vf-btn.vf-loading { opacity: .6 !important; pointer-events: none !important; }
.vf-btn.vf-loading::after {content: '' !important;display: inline-block !important;width: 12px !important;height: 12px !important;border: 2px solid rgba(255,255,255,.3) !important;border-top-color: #fff !important;border-radius: 50% !important;animation: vf-spin .65s linear infinite !important;margin-left: 4px !important;
}
@keyframes vf-spin { to {transform: rotate(360deg) !important; } }

/* ── Notices ──────────────────────────────────────────── */
.vf-notice {text-align: center !important;padding: 40px 20px !important; }
.vf-notice-icon {display: block !important;margin: 0 auto 12px !important;width: 38px !important;height: 38px !important;color: #bbb !important; }
.vf-notice-icon svg {width: 38px !important;height: 38px !important;display: block !important; }
.vf-notice p {font-size: 15px !important;color: #888 !important;margin: 0 !important; }

/* ── Error ────────────────────────────────────────────── */
.vf-form-error {border-left: 3px solid #dc2626 !important;padding: 9px 14px !important;font-size: 13px !important;color: #dc2626 !important;background: #fef2f2 !important;border-radius: 0 6px 6px 0 !important;margin-top: 14px !important;
}
@keyframes vf-shake {
    0%, 100% {transform: translateX(0) !important; }
    25%       {transform: translateX(-4px) !important; }
    75%       {transform: translateX(4px) !important; }
}
.vf-shake {animation: vf-shake .33s ease !important; }

/* ── Success ──────────────────────────────────────────── */
@keyframes vf-success-fadein {
    from { opacity: 0 !important; transform: translateY(8px) !important; }
    to   { opacity: 1 !important; transform: translateY(0) !important; }
}
.vf-success-state {
    animation: vf-success-fadein 0.5s ease !important;
}
.vf-success-state-inner {
    text-align: left !important;
    background: #ffffff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 8px !important;
    padding: 48px 40px !important;
}
.vf-success-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    background: rgba(60, 121, 32, 0.06) !important;
    color: #3C7920 !important;
    margin-bottom: 24px !important;
    border: 1px solid rgba(60, 121, 32, 0.15) !important;
}
.vf-success-icon svg {
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;
    display: block !important;
    stroke: #3C7920 !important;
    color: #3C7920 !important;
}
.vf-success-title {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 16px !important;
    letter-spacing: -0.03em !important;
}
.vf-success-text {
    font-size: 15px !important;
    color: #777 !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

/* ── No Camps / Sold Out ─────────────────────────────── */
.vf-notice-inline {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding: 24px 0 !important;
    color: #666 !important;
}
.vf-notice-icon-inline {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    color: #888 !important;
    flex-shrink: 0 !important;
}
.vf-notice-icon-inline svg {
    width: 24px !important;
    height: 24px !important;
    display: block !important;
}
.vf-notice-inline p {
    font-size: 16px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    color: #1a1a1a !important;
}

.vf-notice-inline.vf-notice-red {
    color: #dc2626 !important;
}
.vf-notice-inline.vf-notice-red .vf-notice-icon-inline {
    color: #dc2626 !important;
}
.vf-notice-inline.vf-notice-red p {
    color: #dc2626 !important;
}

.vf-no-camps {text-align: center !important;padding: 48px 20px !important;color: #888 !important; }
.vf-no-camps-icon {margin: 0 auto 12px !important;width: 48px !important;height: 48px !important;color: #ccc !important; }
.vf-no-camps-icon svg {width: 48px !important;height: 48px !important;display: block !important; }
.vf-no-camps p {font-size: 15px !important;margin: 0 !important; }

/* ── Inline icons (SVG replacing emoji) ─────────────── */
.vf-icon-inline {display: inline-block !important;width: 14px !important;height: 14px !important;vertical-align: middle !important;flex-shrink: 0 !important;margin-top: -1px !important;
}
.vf-camp-card-dates .vf-icon-inline,
.vf-meta-dates .vf-icon-inline {width: 13px !important;height: 13px !important;color: #aaa !important; }
.vf-add-child-btn .vf-icon-inline {width: 13px !important;height: 13px !important; }
.vf-select-btn .vf-icon-inline,
.vf-btn .vf-icon-inline {width: 14px !important;height: 14px !important; }
.vf-back-btn .vf-icon-inline {width: 13px !important;height: 13px !important;color: #aaa !important; }

/* ── SVG size guard (theme override protection) ─────── */
/* Prevents theme-level svg{width:100%} from exploding icons */
#vf-dd-trigger svg,
#vf-dd-wrap svg,
.vf-dd-arrow svg {
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    display: block !important;
    flex-shrink: 0 !important;
}
.vf-meta-dates svg,
.vf-meta-dates .vf-icon-inline {
    width: 13px !important;
    height: 13px !important;
    max-width: 13px !important;
    max-height: 13px !important;
    display: inline-block !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
}
/* Lock trigger button layout so nothing bleeds out */
#vf-dd-trigger {
    overflow: hidden !important;
    min-height: 48px !important;
    max-height: 80px !important;
}
.vf-dd-selected-label {
    overflow: hidden !important;
    min-width: 0 !important;
}
/* Nuclear: hide any SVG that leaks into the selection label text */
.vf-dd-sel-meta svg,
.vf-dd-sel-name svg,
.vf-dd-selected-label > svg,
#vf-dd-label svg {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 560px) {
    /* Camp name: give breathing room and allow natural word wrap */
    .vf-form-camp {
        font-size: 22px !important;
        line-height: 1.3 !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: auto !important;
        padding-right: 4px !important;
    }

    /* Step titles smaller on mobile */
    .vf-step-title { font-size: 18px !important; }
    .vf-step-sub { font-size: 14px !important; }

    /* Child rows: clean minimal look — no white bg, green separators */
    .vf-child-row {
        flex-wrap: wrap !important;
        gap: 8px !important;
        background: transparent !important;
        border: none !important;
        border-bottom: 2px solid rgba(60, 121, 32, 0.2) !important;
        border-radius: 0 !important;
        padding: 14px 0 !important;
        margin-bottom: 0 !important;
    }
    .vf-child-row:last-child { border-bottom: none !important; }

    /* Child number: left-aligned, bold green */
    .vf-cr-num {
        width: 100% !important;
        padding-bottom: 0 !important;
        margin-bottom: -2px !important;
        text-align: left !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: #3C7920 !important;
    }

    /* First name & last name: each on its own full-width row */
    .vf-child-row .vf-field:nth-of-type(1),
    .vf-child-row .vf-field:nth-of-type(2) {
        flex: 1 1 100% !important;
    }
    .vf-cf-age   { flex: 1 1 60% !important; }
    .vf-cr-remove {
        flex: 0 0 auto !important;
        margin-left: auto !important;
        padding: 0 4px !important;
        height: 39px !important;
        align-self: flex-end !important;
    }

    .vf-field-row {grid-template-columns: 1fr !important; }
    .vf-field-row-3 {grid-template-columns: 1fr 1fr !important; }
    .vf-field-row-3 .vf-field:last-child {grid-column: 1 / -1 !important; }
    .vf-camp-card-inner {flex-direction: column !important;align-items: flex-start !important; }
    .vf-camp-card-right {flex-direction: row !important;flex-wrap: wrap !important; }

    /* Buttons: side by side on one row, Atgal left / Tęsti right */
    .vf-step-footer {
        flex-direction: row !important;
        gap: 10px !important;
    }
    .vf-btn-primary  { flex: 1 !important; justify-content: center !important; }
    .vf-btn-secondary { flex: 1 !important; justify-content: center !important; margin-right: 0 !important; }
}

/* ── intl-tel-input v25 overrides (!important to beat themes) ─── */
.vf-public-wrap .iti,
.vf-form-wrap .iti { display: block !important; width: 100% !important; }
.vf-public-wrap .iti input.iti__tel-input,
.vf-public-wrap .iti input.iti__tel-input[type=tel],
.vf-form-wrap .iti input.iti__tel-input,
.vf-form-wrap .iti input.iti__tel-input[type=tel] { width: 100% !important; min-width: 0 !important; font-family: 'Baloo 2', sans-serif !important; font-size: 16px !important; border: 1.5px solid #e0e0e0 !important; border-radius: 10px !important; background: #fff !important; color: #1a1a1a !important; outline: none !important; box-shadow: none !important; height: 46px !important; box-sizing: border-box !important; padding-top: 10px !important; padding-right: 14px !important; padding-bottom: 10px !important; }
.vf-public-wrap .iti__country-container,
.vf-form-wrap .iti__country-container { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 0 !important; padding: 1px !important; }
.vf-public-wrap .iti__selected-country,
.vf-form-wrap .iti__selected-country { background: transparent !important; border: none !important; height: 100% !important; display: flex !important; align-items: center !important; cursor: pointer !important; padding: 0 !important; margin: 0 !important; }
.vf-public-wrap .iti__selected-country-primary,
.vf-form-wrap .iti__selected-country-primary { display: flex !important; align-items: center !important; height: 100% !important; padding: 0 6px 0 12px !important; }
.vf-public-wrap .iti .iti__selected-dial-code,
.vf-form-wrap .iti .iti__selected-dial-code { font-size: 14px !important; font-weight: 400 !important; color: #666 !important; margin-left: 4px !important; }
.vf-public-wrap .iti__arrow,
.vf-form-wrap .iti__arrow { margin-left: 6px !important; }
.vf-public-wrap .iti--inline-dropdown .iti__dropdown-content,
.vf-form-wrap .iti--inline-dropdown .iti__dropdown-content { border: 1.5px solid #e0e0e0 !important; border-radius: 10px !important; box-shadow: 0 8px 24px rgba(0,0,0,.08) !important; overflow: hidden !important; margin-top: 4px !important; }
.vf-public-wrap .iti__search-input,
.vf-form-wrap .iti__search-input { width: 100% !important; padding: 10px 14px !important; border: none !important; border-bottom: 1px solid #f0f0f0 !important; font-size: 14px !important; outline: none !important; box-sizing: border-box !important; }
.vf-public-wrap .iti__country-list,
.vf-form-wrap .iti__country-list { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.vf-public-wrap .iti__country,
.vf-form-wrap .iti__country { padding: 8px 14px !important; }
.vf-public-wrap .iti__country.iti__highlight,
.vf-form-wrap .iti__country.iti__highlight { background: #f5f5f5 !important; }

/* Hide default reCAPTCHA v3 badge since TOS is displayed inline */
.grecaptcha-badge { visibility: hidden !important; }

