/* =================================
   HARD ISOLATION
   ================================= */

.nibelis-sandbox {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    position: relative;
}

.nibelis-sandbox * {
    box-sizing: border-box;
}

/* =================================
   TYPO3 DESIGN TOKENS
   ================================= */

.nibelis-sandbox {
    --theme-primary: #00a5f0;
    --theme-primary-hover: #0064A3;
    --theme-border: #e0e0e0;
    --theme-text: #000;
    --theme-muted: #6c757d;
    --theme-bg-light: #f5fafb;
}

/* =================================
   GRID FIXES
   ================================= */

body > .container .row,
main .row,
.content .row {
    margin-left: inherit;
    margin-right: inherit;
}

.nibelis-sandbox .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
}

.nibelis-sandbox .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}

.nibelis-sandbox .col-6,
.nibelis-sandbox .col-7 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

/* =================================
   HEIGHT FIX
   ================================= */

.nibelis-sandbox .body-content {
    height: auto !important;
    overflow: visible !important;
}

/* =================================
   TYPOGRAPHY (THEME MATCH)
   ================================= */

.nibelis-sandbox,
.nibelis-sandbox #nibe-app-recr-offres .p-component {
    font-family: "Lato", "Open Sans", sans-serif !important;
    color: var(--theme-text);
}

.nibelis-sandbox .app-main-title {
    font-size: 2rem !important;
    font-weight: 700 !important;
}

.nibelis-sandbox .app-font-title {
    font-size: 1.4rem !important;
    font-weight: 700 !important;
}

.nibelis-sandbox .app-font-subtitle {
    font-size: 1rem !important;
}

.nibelis-sandbox .app-font-text {
    font-size: 1rem !important;
}

/* =================================
   INPUTS / FILTERS
   ================================= */

.nibelis-sandbox .filters .app-input-border {
    border: 1px solid var(--theme-border) !important;
    border-radius: 6px !important;
    input {
        border: none;
    }
}

.nibelis-sandbox .filters .app-input-border:focus {
    border-color: var(--theme-primary) !important;
    box-shadow: none !important;
}

.p-multiselect-panel .p-multiselect-items {
    font-size: 14px !important;
    padding: 0 !important;
}


/* =================================
   BUTTONS (TYPO3 STYLE)
   ================================= */
.nibelis-sandbox .p-button.p-component.p-highlight,
.nibelis-sandbox .app-btn-actions {
    background-color: var(--theme-primary) !important;
    border-color: var(--theme-primary) !important;
    color: var(--theme-text) !important;
}

.nibelis-sandbox .p-button.p-component.p-highlight:hover,
.nibelis-sandbox .p-button.p-component.p-highlight:focus,
.nibelis-sandbox .app-btn-actions:hover,
.nibelis-sandbox .app-btn-actions:focus {
    background-color: #008bca !important;
    border-color: var(--theme-primary-hover) !important;
    color: var(--theme-text) !important;
}

.nibelis-sandbox .app-btn-actions-text,
.nibelis-sandbox .p-button.p-component {
    color: var(--theme-text) !important;
}

/* return button */

/*.nibelis-sandbox .app-btn-return .app-btn-actions {
    background: none !important;
}*/

/* =================================
   CARDS / SURFACES
   ================================= */

.nibelis-sandbox .surface-overlay.card-shadow {
    border: 1px solid var(--theme-border) !important;
    box-shadow: none !important;
    background: #fff !important;
    padding: 1rem !important;
}

/* =================================
   FILTER AREA
   ================================= */

.nibelis-sandbox .filters {
    margin-bottom: 2rem !important;
}

.nibelis-sandbox .filter_container {
    gap: 1rem !important;
}

.nibelis-sandbox .p-multiselect-label.p-placeholder {
    color: var(--theme-muted) !important;
}

.nibelis-sandbox .p-multiselect-panel .p-multiselect-items .p-multiselect-item {
    padding: 0.2rem 0.3rem !important;
}

/* =================================
   OFFER LIST ITEMS
   ================================= */

.nibelis-sandbox .offer-items {
    font-weight: 600 !important;
    color: var(--theme-text) !important;
}

/* =================================
   TERMS CHECKBOX
   ================================= */

.nibelis-sandbox #nibe-app-recr-offres .p-checkbox {
    height: 28px;
    margin-right: 10px;
}