/* =========================================================
   MOBILE + TABLET
   ========================================================= */
@media (max-width: 992px) {

    /* HERO */
    #gdlr-core-wrapper-1.gdlr-core-pbf-wrapper{
        padding: 200px 0 65px !important;
    }

    /* HIDE TITLE HERO */
    #gdlr-core-wrapper-1 > 
    .gdlr-core-pbf-wrapper-content > 
    .gdlr-core-pbf-wrapper-container > 
    #gdlr-core-column-1{
        display:none !important;
    }

    /* USER NAME */
    .tourmaster-user-top-bar-name{
        display:none !important;
    }

    /* FORM ROOM SEARCH */
    #gdlr-core-room-search-1 > form > div{
        margin-bottom:0 !important;
        border-bottom:1px solid #cccccc;
    }

    #gdlr-core-room-search-1 > form > div > div > .tourmaster-custom-start-date{
        border-bottom:1px solid #cccccc;
    }

    .tourmaster-custom-amount-display,
    #gdlr-core-room-search-1 > form > div > .tourmaster-room-search-location{
        padding:0 15px !important;
    }

    #gdlr-core-room-search-1 > form > div > .tourmaster-room-date-selection > div{
        margin:0;
        padding:0 15px;
    }

    /* BUTTON */
    #gdlr-core-room-search-1 > form > .tourmaster-room-search-submit-wrap{
        margin-top:20px;
    }

    /* LABEL */
    .tourmaster-head{
        font-size:10pt !important;
    }

    /* WRAPPER SPACE */
    .gdlr-core-pbf-wrapper{
        padding:25px 0 30px !important;
    }

    /* =========================================================
       TITLE SECTION
       ========================================================= */
    .gdlr-core-icon-list-content-wrap{
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:0;
    }

    .gdlr-core-icon-list-content{
        width:100%;
        display:block;
        line-height:1.2;
        margin-bottom:2px;
    }

    .gdlr-core-icon-list-caption{
        width:100%;
        display:block;
        line-height:1.2;
        margin:0;
    }

    /* =========================================================
       HOTEL GRID
       ========================================================= */
    .tourmaster-room-location-item-holder{
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0,1fr));
        gap:14px;
    }

    .tourmaster-room-location-item-holder .gdlr-core-item-list{
        width:100% !important;
        float:none !important;
        margin:0 !important;
        padding:0 !important;
    }

    /* =========================================================
       CARD STYLE
       ========================================================= */
    .gdlr-core-item-list .tourmaster-room-location-grid{
        background:#fff;
        border-radius:12px;
        overflow:hidden;
        border:1px solid #edf0f2;
        box-shadow:
            0 2px 8px rgba(0,0,0,0.06),
            0 10px 24px rgba(0,0,0,0.05);
        transition:all .25s ease;
        height:100%;
        display:flex;
        flex-direction:column;
    }

    /* IMAGE */
    .gdlr-core-item-list .tourmaster-room-location-thumbnail img{
        width:100%;
        height:140px;
        object-fit:cover;
        display:block;
    }

    /* =========================================================
       TITLE
       ========================================================= */
    .gdlr-core-item-list .tourmaster-room-title{
        padding:10px 12px 0 !important;
        margin:0 !important;
        line-height:1.3;
        min-height:auto;
    }

    .gdlr-core-item-list .tourmaster-room-title a{
        font-size:14px !important;
        font-weight:700;
        color:#1f2937 !important;
        text-decoration:none;
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }

    /* =========================================================
       RATING
       ========================================================= */
    .gdlr-core-item-list .tourmaster-room-location-rating{
        position:static !important;
        background:none !important;
        padding:2px 12px 0 !important;
        margin:0;
        line-height:1;
    }

    .tourmaster-room-location-item 
    .tourmaster-room-location-rating i{
        font-size:9px !important;
        margin-right:1px;
    }

    /* =========================================================
       LOCATION
       ========================================================= */
    .gdlr-core-item-list .tourmaster-room-location-at{
        padding:4px 12px 0;
        font-size:11px;
        color:#6b7280;
        margin-bottom:8px;
        display:flex;
        align-items:center;
        gap:4px;
        line-height:1.2;
    }

    .gdlr-core-item-list .tourmaster-room-location-at i{
        color:#0f766e;
    }

    /* HIDE DIVIDER */
    .tourmaster-divider{
        display:none !important;
    }

    /* =========================================================
       PRICE
       ========================================================= */
    .gdlr-core-item-list .tourmaster-room-location-price{
        margin-top:auto;
        padding:0 12px 12px;
        display:flex;
        align-items:center;
        gap:4px;
        line-height:1;
    }

    .gdlr-core-item-list .tourmaster-room-location-price .tourmaster-head{
        display:inline-block;
        font-size:11px;
        color:#9ca3af;
        margin:0;
    }

    .gdlr-core-item-list .tourmaster-room-location-price .tourmaster-tail{
        font-size:16px;
        font-weight:800;
        color:#ff5a5f;
        line-height:1;
    }
}

/* =========================================================
   SMALL PHONE
   ========================================================= */
@media (max-width: 480px){

    .tourmaster-room-location-item-holder{
        gap:10px;
    }

    .gdlr-core-item-list .tourmaster-room-location-thumbnail img{
        height:115px;
    }

    .gdlr-core-item-list .tourmaster-room-title a{
        font-size:13px !important;
    }

    .gdlr-core-item-list .tourmaster-room-location-price .tourmaster-tail{
        font-size:15px;
    }
}


/*Style untuk card kanan-kiri*/
/* =========================
   MOBILE ROOM CARD - IMPROVED
   ========================= */
@media only screen and (max-width: 767px) {

    .tourmaster-room-item-holder{
        display:flex !important;
        flex-direction:column;
        gap:14px;
    }

    .tourmaster-room-item-holder .gdlr-core-item-list{
        width:100% !important;
        float:none !important;
        margin:0 !important;
        padding:0 !important;
    }

    /* CARD */
    .tourmaster-room-grid-inner{
        display:flex;
        align-items:stretch;
        background:#fff;
        border-radius:14px;
        overflow:hidden;
        border:1px solid #edf0f2;
        box-shadow:
            0 2px 8px rgba(0,0,0,0.05),
            0 10px 24px rgba(0,0,0,0.04);
    }

    /* IMAGE */
    .tourmaster-room-thumbnail{
        width:40%;
        min-width:40%;
        overflow:hidden;
        position:relative;
        margin-bottom: 0px!important;
    }

    .tourmaster-room-thumbnail img{
        width:100%;
        height:100%;
        min-height:150px;
        object-fit:cover;
        display:block;
    }

    /* PRICE */
    .tourmaster-price-wrap{
        position:absolute;
        left:8px!important;
        bottom:8px;
        height: 20px;
        display:flex;
        align-items:center;
        gap:4px;
        padding:5px 8px !important;
        border-radius:8px;
        background:#0f6cbf !important;
        line-height:1;
        white-space: nowrap;
    }

    .tourmaster-price-wrap .tourmaster-head{
        font-size:9px;
        margin:0 !important;
        color:#dbeafe !important;
    }

    .tourmaster-price-wrap .tourmaster-price{
        font-size:14px;
        font-weight:700;
        color:#fff !important;
        line-height:1;
    }

    .tourmaster-price-wrap .tourmaster-tail{
        font-size:8px;
        margin:0 !important;
        color:#dbeafe !important;
    }

    /* CONTENT */
    .tourmaster-room-content-wrap{
        width:60%;
        padding:10px 10px 8px 12px;
        display:flex;
        flex-direction:column;
        justify-content:space-between;
    }

    /* TITLE */
    .tourmaster-room-content-wrap .tourmaster-room-title{
        margin:0 0 5px 0 !important;
        padding:0 !important;
        line-height:1.3;
    }

    .tourmaster-room-content-wrap .tourmaster-room-title a{
        font-size:14px !important;
        font-weight:700;
        color:#111827;
        text-decoration:none;
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }

    /* INFO WRAP */
    .tourmaster-info-wrap{
        display:flex;
        flex-direction:column;
        gap:2px;
        margin-bottom:5px;
        height: auto;
    }

    /* ICON + TEXT */
    .tourmaster-info{
        display:flex;
        align-items:center;
        gap:4px;
        margin:0 !important;
        line-height:1.2;
    }

    .tourmaster-info i{
        font-size:10px !important;
        color:#0f766e;
    }

    .tourmaster-info .tourmaster-tail{
        font-size:10px !important;
        color:#6b7280;
    }

    /* LOCATION */
    .tourmaster-location{
        display: none;
        font-size:10px;
        line-height:1.2;
        color:#6b7280;
        margin-bottom:6px;
    }

    .tourmaster-location i{
        margin-right:4px;
        color:#0f766e;
        font-size:10px;
    }

    /* BUTTON */
    .tourmaster-read-more{
        width:100%;
        text-align:center;
        border-radius:8px;
        padding:8px 10px !important;
        font-size:11px;
        font-weight:600;
        line-height:1;
        background:#16a34a !important;
        color:#fff !important;
        text-decoration:none;
        margin-top:0 !important;
    }

    /* REMOVE EXTRA SPACING */
    .tourmaster-room-grid,
    .tourmaster-room-grid-inner,
    .tourmaster-room-content-wrap{
        margin:0 !important;
    }
    
}

/*Halaman Room*/
@media (max-width:768px){

    /* ==================================================
       FORCE 2 COLUMN GRID
       ================================================== */

    .tourmaster-tour-search-content-wrap
    .tourmaster-room-item-holder[data-layout="fitrows"]{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
    }

    .tourmaster-tour-search-content-wrap
    .tourmaster-room-item-holder[data-layout="fitrows"]>.gdlr-core-item-list{
        width:auto !important;
        float:none !important;
        position:relative !important;
        left:auto !important;
        top:auto !important;
        margin:0 !important;
        padding:0 !important;
    }

    /* ==================================================
       CARD
       ================================================== */

    .tourmaster-tour-search-content-wrap
    .tourmaster-room-side-thumbnail-inner{
        height:100%;
        display:flex;
        flex-direction:column;

        background:#fff;
        border-radius:14px;
        overflow:hidden;

        border:1px solid #e8edf3;
        box-shadow:0 2px 8px rgba(0,0,0,.05);
    }

    /* ==================================================
       IMAGE
       ================================================== */

    .tourmaster-tour-search-content-wrap
    .tourmaster-room-thumbnail{
        margin-bottom:0 !important;
    }

    .tourmaster-tour-search-content-wrap
    .tourmaster-room-thumbnail img{
        width:100%;
        height:120px !important;
        object-fit:cover;
        display:block;
    }

    /* ==================================================
       CONTENT
       ================================================== */

    .tourmaster-tour-search-content-wrap
    .tourmaster-room-content-wrap{
        position:relative;
        padding:10px !important;
        flex:1;
        display:flex;
        flex-direction:column;
    }

    /* lokasi */

    .tourmaster-tour-search-content-wrap
    .tourmaster-location{
        font-size:10px;
        color:#666;
        margin-bottom:6px;

        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    /* title */

    .tourmaster-tour-search-content-wrap
    .tourmaster-room-title{
        margin:0 0 10px !important;
        padding-right:65px;
        line-height:1.35;
    }

    .tourmaster-tour-search-content-wrap
    .tourmaster-room-title a{
        font-size:13px !important;
        font-weight:700;
        color:#222;

        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }

    /* ==================================================
       PRICE
       ================================================== */

    .tourmaster-tour-search-content-wrap
    .tourmaster-price-wrap{
        position:absolute;
        left:8px!important;
        top: -25px!important;
        height: 25px;
        display:flex;
        align-items:center;
        gap:4px;
        padding:5px 8px !important;
        border-radius:8px;
        background:#0f6cbf !important;
        line-height:1;
        text-wrap: nowrap;
        
    }

    .tourmaster-tour-search-content-wrap
    .tourmaster-head,
    .tourmaster-tour-search-content-wrap
    .tourmaster-tail{
        display:block;
        font-size:9px;
        line-height:1.1;
        color:#999;
    }

    .tourmaster-tour-search-content-wrap
    .tourmaster-price{
        display:block;
        font-size:15px;
        font-weight:700;
        color:#ff5f00;
        line-height:1;
    }

    /* ==================================================
       INFO
       ================================================== */

    .tourmaster-tour-search-content-wrap
    .tourmaster-info-wrap{
        display:flex;
        flex-direction:column;
        gap:3px;
        margin-bottom:10px;
    }

    .tourmaster-tour-search-content-wrap
    .tourmaster-info{
        margin:0;
        font-size:10px;
        color:#666;
    }

    .tourmaster-tour-search-content-wrap
    .tourmaster-info i{
        color:#007ce8;
        font-size:11px;
    }

    /* ==================================================
       BUTTON
       ================================================== */

    .tourmaster-tour-search-content-wrap
    .tourmaster-bottom{
        margin-top:auto;
    }

    .tourmaster-tour-search-content-wrap
    .tourmaster-read-more{
        display:flex;
        align-items:center;
        justify-content:center;

        width:100%;
        height:34px;

        background:#007ce8;
        color:#fff;

        border-radius:8px;
        font-size:12px;
        font-weight:600;
        text-decoration:none;
    }
    
    .tourmaster-info-wrap .tourmaster-info{
        display:flex;
        align-items:center;
        gap:4px;
    }
    
    .tourmaster-info-wrap .tourmaster-info i,
    .tourmaster-info-wrap .tourmaster-info span{
        display:inline-block;
    }
    
    .tourmaster-tour-search-content-wrap
    .tourmaster-room-side-thumbnail{
        margin-bottom: 0px!important;
    }
}

/*Custom Invoice*/
.custom-invoice{
    background:#fff;
    padding:40px;
    color:#333;
}

.invoice-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    border-bottom:2px solid #ddd;
    padding-bottom:20px;
    margin-bottom:30px;
}

.invoice-logo{
    width:30%;
}

.invoice-logo img{
    max-width:180px;
    height:auto;
}

.invoice-company{
    width:65%;
    text-align:right;
}

.invoice-company h1{
    margin:0;
    font-size:32px;
}

.invoice-company-info{
    margin-top:10px;
}

.invoice-information{
    display:flex;
    justify-content:space-between;
    margin-bottom:30px;
}

.invoice-information-left{
    width:45%;
}

.invoice-information-right{
    width:45%;
    text-align:right;
}

.invoice-information-right h3{
    margin-top:0;
}

.invoice-row{
    margin-bottom:10px;
}

.invoice-table,
.invoice-payment-table{
    width:100%;
    border-collapse:collapse;
    margin-bottom:30px;
}

.invoice-table th,
.invoice-table td,
.invoice-payment-table th,
.invoice-payment-table td{
    border:1px solid #ddd;
    padding:12px;
    text-align:left;
}

.invoice-table th,
.invoice-payment-table th{
    background:#f7f7f7;
    color:#000000!important;
}

.invoice-summary{
    width:350px;
    margin-left:auto;
    margin-bottom:40px;
}

.summary-row{
    display:flex;
    justify-content:space-between;
    padding:8px 0;
}

.grand-total{
    font-size:20px;
    font-weight:bold;
    border-top:2px solid #333;
    padding-top:12px;
}

.invoice-payment-history{
    margin-top:40px;
}

.invoice-footer{
    margin-top:50px;
    border-top:1px solid #ddd;
    padding-top:20px;
    text-align:center;
}

@media print{

    body *{
        visibility:hidden;
    }

    #tourmaster-invoice-wrap,
    #tourmaster-invoice-wrap *{
        visibility:visible;
    }

    #tourmaster-invoice-wrap{
        position:absolute;
        left:0;
        top:0;
        width:100%;
        padding:0;
    }

    .tourmaster-invoice-button{
        display:none !important;
    }
}