html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

body {
    background:
        radial-gradient(circle at top left, rgba(183, 110, 82, 0.18), transparent 24%),
        radial-gradient(circle at top right, rgba(17, 33, 42, 0.08), transparent 28%),
        linear-gradient(180deg, #f8f5f0 0%, #f5f1eb 48%, #fcfbf8 100%);
}

html.modal-open,
body.modal-open {
    overflow: hidden;
}

body.modal-open {
    position: fixed;
    width: 100%;
    inset: 0;
    overscroll-behavior: none;
    touch-action: none;
}

[data-camp-form-modal],
[data-camp-success-modal] {
    overscroll-behavior: contain;
}

[data-camp-form-panel] {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}

@media (min-width: 768px) {
    [data-camp-form-modal] {
        align-items: center;
    }

    [data-camp-form-panel] {
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: auto;
        touch-action: pan-y;
    }
}

[data-camp-form-panel] ::placeholder {
    color: rgb(104 118 125 / 0.95);
}

input[type="date"] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
}

input[type="date"]::-webkit-date-and-time-value {
    text-align: left;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    margin: 0;
    opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
    .camp-type-option:hover {
        border-color: rgb(183 110 82 / 0.4);
        background-color: rgb(255 255 255 / 1);
    }
}

@media (max-width: 639px) {
    [data-camp-form-modal],
    [data-camp-success-modal] {
        padding-top: max(1.5rem, env(safe-area-inset-top));
        padding-bottom: max(1.5rem, env(safe-area-inset-bottom));
    }

    [data-camp-form-panel] input,
    [data-camp-form-panel] textarea,
    [data-camp-form-panel] select {
        font-size: 16px !important;
    }

    [data-camp-form-panel] input::placeholder,
    [data-camp-form-panel] textarea::placeholder {
        font-size: 13px;
        line-height: 1.35;
    }
}

[data-field-control].border-red-500,
input.border-red-500,
textarea.border-red-500,
select.border-red-500 {
    border-color: rgb(239 68 68 / 1);
}

[data-field-control].bg-red-50,
input.bg-red-50,
textarea.bg-red-50,
select.bg-red-50 {
    background-color: rgb(254 242 242 / 1);
}

.compact-title {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.compact-description {
    display: block;
    overflow: visible;
    text-overflow: unset;
    white-space: normal;
}

.ui-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: none;
}

.ui-select::-ms-expand {
    display: none;
}

@media (min-width: 640px) {
    .compact-title {
        display: block;
        overflow: visible;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .compact-description {
        display: block;
        overflow: visible;
        text-overflow: unset;
        white-space: normal;
    }
}
