/*
 * ALJT - Single Résidence (compléments)
 * - Index en exposant discret pour les labels (1), (2)...
 */

body {
        background-color: #f9fafb !important;
        margin: 0 !important;
    }
    #page, #content, .site-content, .site-main, .entry-content {
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background-color: transparent !important;
    }
    .aljt-equip-icon { color: #b9cc43 !important; }
    .aljt-type-badge {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 5px 14px;
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: #374151;
        background-color: #f3f4f6;
        border: 1px solid #e5e7eb;
        border-radius: 20px;
        line-height: 1;
    }
    .aljt-type-badge i {
        font-size: 13px;
        color: #b9cc43;
    }
    
    #aljt-single { /*margin-top: 10vh;*/ }
    #aljt-single a { color: #111827; text-decoration: none; }       
    #aljt-single a:hover { color: #1f2937; }
    .theme-primary-bg { background-color: #b9cc43 !important; }
    #aljt-single a.aljt-link-white { color: #ffffff; }
    #aljt-single a.aljt-link-white:hover { color: #f9fafb; }
    #aljt-single .thumbnail-btn { background-color: transparent !important; }
    #thumbnails-container::-webkit-scrollbar { height: 6px; }
    #thumbnails-container::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 3px; }
    #thumbnails-container::-webkit-scrollbar-thumb { background: #b9cc43; border-radius: 3px; }
    @keyframes fadeIn {
        from { opacity: 0; transform: scale(0.95); }
        to   { opacity: 1; transform: scale(1); }
    }
    #lightbox img { animation: fadeIn 0.3s ease-out; }
    .prose p { margin-bottom: 0.75rem; }
    .prose ul, .prose ol { margin-left: 1.5rem; margin-bottom: 0.75rem; }
    .prose li { margin-bottom: 0.25rem; }
    .aljt-main-title {
    font-weight: 700;
    letter-spacing: normal;
    text-transform: none;
    }

    .aljt-section-title {
        font-weight: 700;
        letter-spacing: normal;
        text-transform: none;
    }
    /* Transport section: scoped styles to avoid collateral on other blocks */
    #aljt-single .aljt-transport-section .aljt-transport-title {
        letter-spacing: 0.15em;
        text-transform: uppercase;
        font-size: 1.5rem;
        font-weight: 700;
        color: #ffffff;
    }
    #aljt-single .aljt-transport-section .aljt-transport-value {
        max-width: 13rem;
        margin-left: auto;
        margin-right: auto;
        word-break: break-word;
    }

    .aljt-type-badge sup.aljt-badge-index{
      font-size:0.2em;
      margin-left:-2px;
      font-weight:300;
      opacity:.8;
      position:relative;
      top:-3px;
    }

    /* éviter les styles globaux sur sub/sup */
    .aljt-type-badge sup{
      line-height:0;
      vertical-align:super;
    }


    .aljt-legend {
        margin-top: 10px;
        font-size: 12px;
        line-height: 1.5;
        color: #6f7782;
    }
    .theme-primary-colore { color: #b9cc43 !important; }
    #aljt-single .thumbnail-btn,
    #thumbnails-container button,
    .thumbnail-btn,
    #aljt-single button[data-index],
    button[data-index] {
        background-color: transparent !important;
        background: none !important;
        padding: 0 !important;
    }
    #thumbnails-container img, .thumbnail-btn img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        background: transparent !important;
    }
    #aljt-single button:not(#voir-carte-btn):not([onclick*="Slide"]):not([onclick*="Lightbox"]) {
        background: #ffffff91 !important;
    }
    .lightbox-thumb { background: transparent !important; padding: 0 !important; }

    /* ==============================================================================
       STYLES ENCART OFFRES D'EMPLOI (Préparés pour activation future)
       ============================================================================== */
    .aljt-job-offers-section {
        background: linear-gradient(135deg, #1e3a5f 0%, #0f2744 100%);
        padding: 60px 0;
        margin-top: 40px;
    }

    .aljt-job-offers-header {
        text-align: center;
        margin-bottom: 40px;
    }

    .aljt-job-offers-header h2 {
        color: #ffffff;
        font-size: 2rem;
        font-weight: 700;
        margin-bottom: 10px;
        text-transform: uppercase;
        letter-spacing: 0.1em;
    }

    .aljt-job-offers-header p {
        color: rgba(255, 255, 255, 0.8);
        font-size: 1.1rem;
    }

    .aljt-job-offers-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
        gap: 24px;
    }

    .aljt-job-card {
        background: #ffffff;
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
        transition: all 0.3s ease;
        display: flex;
        flex-direction: column;
    }

    .aljt-job-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
    }

    .aljt-job-card-header {
        padding: 20px 24px;
        border-bottom: 1px solid #e5e7eb;
        position: relative;
    }

    .aljt-job-badge {
        display: inline-block;
        padding: 4px 12px;
        border-radius: 20px;
        font-size: 12px;
        font-weight: 600;
        color: #ffffff;
        margin-bottom: 12px;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    .aljt-job-title {
        font-size: 1.25rem;
        font-weight: 700;
        color: #111827;
        margin: 0;
        line-height: 1.3;
    }

    .aljt-job-card-body {
        padding: 20px 24px;
        flex-grow: 1;
    }

    .aljt-job-description {
        color: #6b7280;
        font-size: 0.95rem;
        line-height: 1.6;
        margin-bottom: 16px;
    }

    .aljt-job-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
    }

    .aljt-job-meta-item {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 0.85rem;
        color: #4b5563;
    }

    .aljt-job-meta-item .material-icons-outlined {
        font-size: 18px;
        color: #b9cc43;
    }

    .aljt-job-card-footer {
        padding: 16px 24px;
        background: #f9fafb;
        border-top: 1px solid #e5e7eb;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
    }

    .aljt-job-deadline {
        font-size: 0.8rem;
        color: #6b7280;
    }

    .aljt-job-deadline strong {
        color: #dc2626;
    }

    .aljt-job-apply-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: #b9cc43;
        color: #ffffff;
        padding: 10px 20px;
        border-radius: 8px;
        font-size: 0.9rem;
        font-weight: 600;
        text-decoration: none;
        transition: all 0.3s ease;
    }

    .aljt-job-apply-btn:hover {
        background: #a3b435;
        transform: scale(1.05);
        color: #ffffff;
    }

    .aljt-job-view-all {
        text-align: center;
        margin-top: 40px;
    }

    .aljt-job-view-all a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: #ffffff;
        font-size: 1rem;
        font-weight: 600;
        text-decoration: none;
        padding: 14px 28px;
        border: 2px solid rgba(255, 255, 255, 0.3);
        border-radius: 30px;
        transition: all 0.3s ease;
    }

    .aljt-job-view-all a:hover {
        background: rgba(255, 255, 255, 0.1);
        border-color: rgba(255, 255, 255, 0.5);
        color: #ffffff;
    }

    .aljt-no-jobs {
        text-align: center;
        padding: 40px;
        color: rgba(255, 255, 255, 0.7);
    }

    .aljt-no-jobs .material-icons-outlined {
        font-size: 48px;
        margin-bottom: 16px;
        opacity: 0.5;
    }

    .aljt-no-jobs p {
        font-size: 1.1rem;
        margin-bottom: 20px;
    }

    .aljt-no-jobs a {
        color: #b9cc43;
        text-decoration: underline;
    }

    /* ⚠️ CSS ULTRA CIBLÉE : n’impacte QUE ce bloc */
        #aljt-services-inline { margin-top: 16px; }
        #aljt-services-inline .aljt-services-inline__list{
            display:flex; flex-wrap:wrap; gap:18px; align-items:center;
        }
        #aljt-services-inline .aljt-service-chip{
            position:relative;
            width:54px; height:54px;
            border-radius:9999px;
            display:flex; align-items:center; justify-content:center;
            border:1px solid #b9cc43;
            background:#fff;
            box-shadow:0 8px 20px rgba(0,0,0,.06);
        }
        #aljt-services-inline .aljt-service-chip img{
            width:34px; height:34px;
            object-fit:contain;
            display:block;
        }
        #aljt-services-inline .aljt-service-fallback{
            width:34px; height:34px;
            border-radius:12px;
            background:#e9eef5;
            display:flex; align-items:center; justify-content:center;
            font-weight:700; color:#1f2a37;
        }

        /* Tooltip */
        #aljt-services-inline .aljt-tooltip{
            position:absolute;
            left:50%; transform:translateX(-50%);
            bottom:-10px;
            translate:0 100%;
            background:rgba(31,42,55,.95);
            color:#fff;
            font-size:13px;
            padding:8px 10px;
            border-radius:10px;
            white-space:nowrap;
            opacity:0;
            pointer-events:none;
            transition:opacity .15s ease, transform .15s ease;
            z-index: 2;
        }
        #aljt-services-inline .aljt-tooltip:after{
            content:"";
            position:absolute;
            left:50%;
            top:-6px;
            transform:translateX(-50%);
            border-left:6px solid transparent;
            border-right:6px solid transparent;
            border-bottom:6px solid rgba(31,42,55,.95);
        }
        #aljt-services-inline .aljt-service-chip:hover .aljt-tooltip{
            opacity:1;
            transform:translateX(-50%) translateY(-2px);
        }

    @media (max-width: 768px) {
        .aljt-job-offers-grid {
            grid-template-columns: 1fr;
        }

        .aljt-job-card-footer {
            flex-direction: column;
            text-align: center;
        }
    }

/* Carte propriétaire sous le bloc tarifs */
.aljt-owner-cards {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    align-items: stretch;
}

.aljt-owner-card {
    margin-top: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    min-width: 0;
}

.aljt-owner-card__logo-wrap {
    position: relative;
    z-index: 5;
    width: 100%;
    background: #ffffff;
    border: 1px solid #e8edf3;
    border-radius: 16px;
    padding: 18px 22px;
    min-height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    text-align: center;
}

.aljt-owner-card__logo-wrap:hover,
.aljt-owner-card__logo-wrap:focus-visible,
.aljt-owner-card__logo-wrap.is-tooltip-open {
    transform: translateY(-1px);
    border-color: rgba(180, 230, 58, 0.45);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.10);
    outline: none;
    z-index: 200;
}

.aljt-owner-card__logo {
    max-height: 75px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    display: block;
}

.aljt-owner-card__fallback-name {
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.3;
    text-align: center;
}

.aljt-owner-tooltip {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 12px);
    transform: translateX(-50%) translateY(6px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 9999;

    min-width: 180px;
    max-width: 280px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #111827;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.22);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    white-space: normal;
}

.aljt-owner-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 7px 7px 0 7px;
    border-style: solid;
    border-color: #111827 transparent transparent transparent;
}

.aljt-owner-card__logo-wrap:hover .aljt-owner-tooltip,
.aljt-owner-card__logo-wrap:focus-visible .aljt-owner-tooltip,
.aljt-owner-card__logo-wrap.is-tooltip-open .aljt-owner-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}


.aljt-owner-cards:has(.aljt-owner-card:only-child) {
    display: flex;
    justify-content: flex-start;
}

.aljt-owner-cards:has(.aljt-owner-card:only-child) .aljt-owner-card {
    flex: 0 0 auto;
    width: auto;
}

.aljt-owner-cards:has(.aljt-owner-card:only-child) .aljt-owner-card__logo-wrap {
    width: auto;
    min-width: 0;
    max-width: 100%;
    padding: 18px 22px;
}

.aljt-owner-cards:has(.aljt-owner-card:only-child) .aljt-owner-card__logo {
    width: auto;
    max-width: 100%;
}

@media (max-width: 767px) {
    .aljt-owner-cards {
        grid-template-columns: 1fr;
    }

    .aljt-owner-card__logo-wrap {
        min-height: 96px;
        padding: 16px 18px;
    }

    .aljt-owner-card__logo {
        max-height: 48px;
    }
}
