/* =================================================
   HOTEL GROUPS
================================================= */

.admin-hotel-group-card{

    width:100%;

    box-sizing:border-box;

    border:1px solid #ddd;

    border-radius:8px;

    padding:12px;

    margin-bottom:12px;

    background:#fff;
}

.admin-hotel-group-header{

    display:flex;

    justify-content:space-between;

    align-items:center;
}

.admin-hotel-group-left{

    display:flex;

    align-items:center;

    gap:12px;
}

.admin-hotel-group-logo{

    width:48px;

    height:48px;

    object-fit:contain;
}

.admin-hotel-group-name{

    font-weight:bold;

    font-size:16px;
}

.admin-hotel-group-program{

    color:#666;

    font-size:13px;
}

.admin-hotel-group-links{

    margin-top:10px;

    display:flex;

    gap:15px;
}

.admin-hotel-group-links a{

    text-decoration:none;

    color:#1976d2;

    font-weight:500;
}

.admin-hotel-group-links a:hover{

    text-decoration:underline;
}


/* =================================================
   HOTEL GROUP EDITOR
================================================= */

.admin-hotel-group-editor{

    margin-top:15px;

    padding-top:15px;

    border-top:1px solid #ddd;
}

.admin-hotel-group-row{

    display:grid;

    grid-template-columns:180px 1fr;

    gap:15px;

    align-items:center;

    margin-bottom:12px;
}

.admin-hotel-group-label{

    font-weight:600;

    margin:0;
}

.admin-hotel-group-input{

    width:100%;

    box-sizing:border-box;

    padding:8px;

    border:1px solid #ccc;

    border-radius:4px;
}

.admin-hotel-group-actions{

    margin-top:15px;

    display:flex;

    gap:10px;
}


/* =================================================
   RESPONSIVE
================================================= */

@media (max-width: 900px){

    .admin-page{

        flex-direction:column;

        gap:20px;
    }

    .admin-nav{

        width:100%;
    }

    .admin-hotel-group-row{

        grid-template-columns:1fr;
    }

}



/* =================================================
   HOTELS
================================================= */

.admin-hotel-card{

    border:1px solid #ddd;

    border-radius:8px;

    padding:12px;

    margin-bottom:12px;

    background:#fff;
}

.admin-hotel-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:20px;
}

.admin-hotel-name{

    font-size:16px;

    font-weight:bold;
}

.admin-hotel-address{

    display:flex;

    align-items:center;

    gap:6px;

    color:#666;

    font-size:13px;
}

.admin-hotel-editor{

    margin-top:15px;

    padding-top:15px;

    border-top:1px solid #ddd;
}

.admin-hotel-row{

    display:grid;

    grid-template-columns:180px 1fr;

    gap:15px;

    margin-bottom:12px;

    align-items:center;
}

.admin-hotel-row input{

    width:100%;

    box-sizing:border-box;

    padding:8px;

    border:1px solid #ccc;

    border-radius:4px;
}

.admin-hotel-actions{

    margin-top:15px;
}


/* =================================================
   HOTELS  / Inputs
================================================= */
.admin-hotel-name-input,
.admin-hotel-history-name-input,
.admin-hotel-new-name-input,
.admin-hotel-street-input,
.admin-hotel-postcode-input,
.admin-hotel-city-input,
.admin-hotel-country-input,
.admin-hotel-latitude-input,
.admin-hotel-longitude-input,
.admin-hotel-geocodestatus-input,
.admin-hotel-website-input,
.admin-hotel-status-input{
    width:100%;
    box-sizing:border-box;
    padding:8px;
    border:1px solid #ccc;
    border-radius:4px;
    background:#FFD3A8;
}

.admin-hotel-history-valid-from,
.admin-hotel-history-valid-to{
    width:100px;
    min-width:90px;
    text-align:center;
    background:#FFD3A8;
}

.admin-delete-hotel-name-btn{
    width:52px;
    height:52px;
    margin:0;
    background:#FFD3A8;
}

.admin-hotel-name-history h4,
.admin-hotel-new-name h4,
.admin-hotel-edit-groups-container h3{
    padding-top:2px;
    margin-top:2px;
}

.admin-hotel-edit-groups-container h3{
    margin-bottom:5px;
}

.admin-hotel-name-history h4,
.admin-hotel-new-name h4{
    margin-bottom:3px;
}
/* =================================================
   HOTELS  / Inputs Address
================================================= */
.admin-hotel-edit-address-container{
    margin-top:5px;
    padding-top:5px;
    border-top:1px solid #ddd;
    background:#F0F0F0;
}

/* =================================================
   HOTELS  / Inputs Groups
================================================= */
.admin-hotel-edit-groups-container{
    margin-top:5px;
    padding-top:5px;
    border-top:1px solid #ddd;
    background:#FFFFE8;
}


/* =================================================
   HOTELS  / Inputs Names
================================================= */
.admin-hotel-edit-names-container{
    margin-top:20px;
    padding-top:15px;
    border-top:1px solid #ddd;
    /* background:#E1E1FF; */
}

.admin-hotel-new-name{
    /* margin-top:20px;
    padding-top:15px;
    border-top:1px solid #ddd; */
}

.admin-hotel-new-name-row{
    display:flex;
    gap:10px;
    align-items:center;
}

.admin-hotel-new-name-row input{
    flex:1;
}


/* =================================================
   HOTELS  / Inputs Status
================================================= */
.admin-hotel-edit-status-container{
    margin-top:5px;
    padding-top:5px;
    border-top:1px solid #ddd;
    background:#FFFFFF;
}


/* =================================================
   HOTELS / Name history
================================================= */

.admin-hotel-name-history{
    margin-top:5px;
    padding-top:5px;
    border-top:1px solid #ddd;
    background:#E1E1FF;
}

.admin-hotel-name-history-row{
    display:grid;
    grid-template-columns:
        minmax(350px, 1fr)
        100px
        100px
        60px;
    gap:10px;
    align-items:center;
    margin-bottom:8px;
}

.admin-hotel-name-history-row input{
    flex:1;
}


.admin-delete-hotel-name-btn{
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:none;
    border-radius:6px;
    background:#f5f5f5;
    cursor:pointer;
    transition:
        background .2s ease,
        transform .2s ease;
}

.admin-delete-hotel-name-btn:hover{
    background:#ffd7d7;
    transform:scale(1.05);
}

.admin-delete-icon{
    width:18px;
    height:18px;
    fill:none;
    stroke:#c62828;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}






.admin-hotel-left{

    display:flex;

    gap:15px;

    align-items:flex-start;

    flex:1;

}

.admin-hotel-image{

    width:120px;

    height:90px;

    object-fit:cover;

    border-radius:8px;

    border:1px solid #ddd;

    flex-shrink:0;

    cursor:pointer;

    transition:transform .2s;
}

.admin-hotel-image:hover{

    transform:scale(1.05);
}

.admin-hotel-meta{

    font-size:12px;

    color:#666;

    margin-top:4px;
}


/* =================================================
   HOTELS / Status
================================================= */

.admin-hotel-status-badge{
    display:inline-block;
    padding:3px 10px;
    border-radius:12px;
    font-size:12px;
    font-weight:600;
    color:#fff;
}

.admin-hotel-status-badge.pending{
    background:#fbc02d;
    color:#000;
}

.admin-hotel-status-badge.approved{
    background:#43a047;
}

.admin-hotel-status-badge.rejected{
    background:#e53935;
}

.admin-hotel-status-badge.closed{
    background:#FF4848;
}

.admin-hotel-unused{
    color:#d32f2f;
    font-weight:bold;
}


/* =================================================
   HOTELS / images
================================================= */
.admin-hotel-images-grid{

    display:grid;

    grid-template-columns:
        repeat(auto-fill, minmax(180px,1fr));

    gap:12px;

    margin-top:10px;
}

.admin-hotel-image-card{

    border:1px solid #ddd;

    border-radius:8px;

    padding:8px;

    background:#fff;
}

.admin-hotel-image-preview{

    width:100%;

    height:140px;

    object-fit:cover;

    border-radius:6px;
}

.admin-hotel-image-user{

    margin-top:6px;

    font-weight:bold;
}

.admin-hotel-image-date{

    font-size:12px;

    color:#666;
}

.admin-hotel-image-default{
    margin-top:5px;
    color:#2e7d32;
    font-weight:bold;
}

.admin-hotel-image-approved{
    margin-top:5px;
    color:#1976d2;
}

.admin-hotel-image-pending{
    margin-top:5px;
    color:#d32f2f;
}

.admin-hotel-image-close{
    margin-top:5px;
    color:#FF4848;
}

/* =================================================
   HOTELS filter
================================================= */
.admin-hotel-filter-btn.active {
    background: #2563eb;
    color: #fff;
    border-color: #2563eb;
}

.admin-hotel-filter-btn.active svg {
    stroke: currentColor;
}