.tpmb-search-wrap{max-width:1200px;margin:30px auto;font-family:Arial,Helvetica,sans-serif}.tpmb-search-box{background:#fff;border-radius:18px;padding:22px;box-shadow:0 10px 35px rgba(0,0,0,.1)}.tpmb-search-fields{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr auto;gap:16px;align-items:end}.tpmb-field{position:relative}.tpmb-field label,.tpmb-booking-form label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:7px}.tpmb-field input,.tpmb-field select,.tpmb-booking-form input,.tpmb-booking-form textarea{width:100%;height:52px;border:1px solid #dcdcdc;border-radius:10px;padding:0 15px;font-size:15px;background:#fff;box-sizing:border-box}.tpmb-booking-form textarea{height:auto;padding:12px 15px}.tpmb-search-btn,.tpmb-submit-booking,.tpmb-view-btn{border:0;border-radius:10px;background:#56B5D3;color:#fff;text-decoration:none;cursor:pointer;font-size:15px;padding:0 22px;height:52px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.tpmb-search-btn:hover,.tpmb-submit-booking:hover,.tpmb-view-btn:hover{opacity:.92}.tpmb-suggestions{position:absolute;left:0;right:0;top:78px;background:#fff;border:1px solid #ddd;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);z-index:9999;display:none;max-height:240px;overflow:auto}.tpmb-suggestion{padding:12px 15px;border-bottom:1px solid #eee;cursor:pointer;font-size:15px}.tpmb-suggestion:hover{background:#f7fbfd}.tpmb-results{margin-top:35px}.tpmb-results-title{font-size:24px;font-weight:700;margin-bottom:18px}.tpmb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.tpmb-card{border:1px solid #e5e5e5;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.06)}.tpmb-card-image{display:block;height:210px;overflow:hidden}.tpmb-card-image img{width:100%;height:100%;object-fit:cover;display:block}.tpmb-card-body{padding:18px}.tpmb-card-destination{font-size:13px;color:#56B5D3;font-weight:600;margin-bottom:6px}.tpmb-card h3{margin:0 0 10px;font-size:20px}.tpmb-card h3 a{color:#222;text-decoration:none}.tpmb-meta{font-size:14px;color:#666;margin-bottom:8px}.tpmb-price{font-size:17px;font-weight:700;margin:12px 0 15px}.tpmb-view-btn{width:100%}.tpmb-no-results,.tpmb-loading{padding:25px;border:1px solid #eee;border-radius:12px;background:#fafafa;color:#666}.tpmb-single{max-width:1100px;margin:30px auto;font-family:Arial,Helvetica,sans-serif}.tpmb-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px;border:1px solid #eee;border-radius:14px;background:#fafafa;margin:25px 0}.tpmb-section{margin:30px 0}.tpmb-section h2,.tpmb-booking-area h2{margin-bottom:15px}.tpmb-lines{line-height:1.8}.tpmb-two-col{display:grid;grid-template-columns:1fr 1fr;gap:30px}.tpmb-booking-area{padding:25px;border:1px solid #eee;border-radius:15px;margin-top:35px}.tpmb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tpmb-full{grid-column:1/-1}.tpmb-submit-booking{margin-top:20px}.tpmb-success{padding:15px;background:#eefaf1;border:1px solid #b8e3c0;color:#176b2c;border-radius:10px;margin-bottom:20px}@media(max-width:991px){.tpmb-search-fields{grid-template-columns:1fr 1fr}.tpmb-search-action{grid-column:1/-1}.tpmb-search-btn{width:100%}.tpmb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tpmb-summary{grid-template-columns:1fr 1fr}}@media(max-width:650px){.tpmb-search-fields,.tpmb-grid,.tpmb-form-grid,.tpmb-two-col,.tpmb-summary{grid-template-columns:1fr}.tpmb-full{grid-column:auto}.tpmb-card-image{height:190px}}
/* PACKAGE DETAIL PAGE - true edge-to-edge layout */
body.single-tpmb_package,
body.single-tpmb_package .site,
body.single-tpmb_package .site-main,
body.single-tpmb_package .content-area,
body.single-tpmb_package main,
body.single-tpmb_package .entry-content,
body.single-tpmb_package .elementor,
body.single-tpmb_package .elementor-section-wrap{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box;
}

body.single-tpmb_package .site-content,
body.single-tpmb_package .container,
body.single-tpmb_package .elementor-container{
    max-width:none !important;
    width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

/* PACKAGE DETAIL PAGE */
body.single-tpmb_package{
    background:#fff;
}

/* Hide the theme's duplicate single-post title on package pages.
   The package title is rendered by the plugin directly below the featured image. */
body.single-tpmb_package .entry-title,
body.single-tpmb_package .page-title,
body.single-tpmb_package .post-title,
body.single-tpmb_package .elementor-heading-title{
    /* Intentionally scoped further below where possible; do not affect plugin title. */
}

/* Main package canvas: 99% of the viewport, with the hero pulled beneath
   transparent/overlay headers. */
.tpmb-package-page{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:0;
    padding:0 0 55px;
    background:#fff;
    font-family:Arial,Helvetica,sans-serif;
    color:#171717;
    box-sizing:border-box;
}

/* Remove the old boxed white panel so the page follows the site's full-width layout. */
.tpmb-package-shell{
    width:100%;
    max-width:none;
    margin:0 auto;
    background:transparent;
    border-radius:0;
    padding:0;
    box-shadow:none;
    box-sizing:border-box;
}

/* Featured image starts at the top of the package canvas and can sit underneath
   a transparent/overlay site header. */
.tpmb-package-hero{
    width:100vw;
    max-width:100vw;
    height:500px;
    overflow:hidden;
    border-radius:0;
    margin:-80px 0 28px;
    background:#eaf6fa;
    position:relative;
    z-index:0;
    z-index:0;
}

.tpmb-package-hero img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    display:block;
}

/* Package name appears ONLY here, directly below the featured image. */
.tpmb-package-heading{
    width:100%;
    margin:0 0 28px;
    padding:0 2px;
    box-sizing:border-box;
}

.tpmb-package-heading h1{
    margin:0;
    color:#4f9fbd;
    font-size:36px;
    line-height:1.15;
    font-weight:400;
    letter-spacing:.3px;
    text-transform:uppercase;
}

.tpmb-package-subtitle{
    margin-top:7px;
    font-size:20px;
    line-height:1.35;
    color:#191919;
    font-weight:400;
}

.tpmb-package-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:42px;
    align-items:start;
    margin-top:0;
}

.tpmb-package-main{
    min-width:0;
}

.tpmb-detail-section{
    margin:0 0 34px;
}

.tpmb-detail-section h2{
    margin:0 0 16px;
    font-size:25px;
    line-height:1.15;
    font-weight:400;
    color:#151515;
    letter-spacing:.2px;
}

.tpmb-description{
    font-size:18px;
    line-height:1.38;
    color:#181818;
    font-weight:400;
}

.tpmb-description p{
    margin:0 0 20px;
}

.tpmb-description p:last-child{
    margin-bottom:0;
}

.tpmb-description ul,
.tpmb-description ol{
    padding-left:24px;
}

.tpmb-icon-list{
    list-style:none;
    margin:0;
    padding:0;
}

.tpmb-icon-list li{
    display:flex;
    gap:13px;
    align-items:flex-start;
    margin:0 0 13px;
    font-size:18px;
    line-height:1.35;
}

.tpmb-list-icon{
    flex:0 0 22px;
    font-size:18px;
    line-height:1.35;
    color:#1d1d1d;
}

.tpmb-package-sidebar{
    position:relative;
    min-width:0;
}

.tpmb-info-card{
    position:sticky;
    top:30px;
    border:2px solid #a9d8e8;
    border-radius:15px;
    background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,251,253,.98));
    padding:21px 18px 20px;
    box-shadow:0 9px 22px rgba(65,116,134,.12);
}

.tpmb-price-label{
    font-size:17px;
    line-height:1.2;
    margin-bottom:2px;
}

.tpmb-price-large{
    font-size:31px;
    line-height:1.15;
    font-weight:700;
    margin-bottom:20px;
    color:#151515;
}

.tpmb-price-large span{
    font-size:19px;
    font-weight:400;
}

.tpmb-info-row{
    margin:0 0 15px;
    font-size:17px;
    line-height:1.3;
    color:#171717;
}

.tpmb-info-row strong{
    font-weight:400;
}

.tpmb-divider{
    height:1px;
    background:#d8e1e5;
    margin:24px 0 25px;
}

.tpmb-booking-heading{
    font-size:23px;
    line-height:1.2;
    margin-bottom:17px;
    font-weight:400;
}

.tpmb-form-stack{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.tpmb-form-field label{
    display:none;
}

.tpmb-booking-form input,
.tpmb-booking-form textarea{
    width:100%;
    border:1px solid #b9cbd2;
    border-radius:9px;
    background:#fff;
    color:#111;
    font-family:Arial,Helvetica,sans-serif;
    font-size:16px;
    font-weight:400;
    box-shadow:none;
}

.tpmb-booking-form input{
    height:43px;
    padding:0 12px;
}

.tpmb-booking-form textarea{
    min-height:82px;
    resize:vertical;
    padding:11px 12px;
}

.tpmb-booking-form input::placeholder,
.tpmb-booking-form textarea::placeholder{
    color:#111;
    opacity:1;
    font-weight:400;
}

.tpmb-booking-form input:focus,
.tpmb-booking-form textarea:focus{
    outline:none;
    border-color:#b9cbd2;
    box-shadow:none;
}

.tpmb-submit-booking{
    width:100%;
    height:48px;
    margin-top:16px;
    border:0;
    border-radius:8px;
    background:#62b9d9;
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:19px;
    font-weight:400;
    letter-spacing:.2px;
    cursor:pointer;
}

.tpmb-submit-booking:hover,
.tpmb-submit-booking:focus{
    background:#62b9d9;
    color:#fff;
    outline:none;
    box-shadow:none;
}

.tpmb-success{
    padding:12px;
    margin-bottom:15px;
    border-radius:8px;
    background:#eefaf1;
    border:1px solid #b8e3c0;
    color:#176b2c;
    font-size:14px;
    line-height:1.4;
}

/* Remove common theme-generated duplicate title blocks on this CPT.
   The selectors are deliberately limited to single package pages and
   exclude the plugin's own .tpmb-package-heading. */
body.single-tpmb_package .entry-header .entry-title,
body.single-tpmb_package .page-header .entry-title,
body.single-tpmb_package .page-header .page-title,
body.single-tpmb_package .post-title.entry-title,
body.single-tpmb_package .elementor-widget-theme-post-title{
    display:none !important;
}

@media(max-width:1000px){
    .tpmb-package-page{
        width:100vw;
        max-width:100vw;
        margin-left:calc(50% - 50vw);
        padding-bottom:40px;
    }

    .tpmb-package-hero{
        height:390px;
        margin-top:-70px;
    }

    .tpmb-package-layout{
        grid-template-columns:1fr;
        gap:30px;
    }

    .tpmb-package-sidebar{
        order:2;
    }

    .tpmb-info-card{
        position:relative;
        top:auto;
        max-width:560px;
        margin:0 auto;
    }
}

@media(max-width:650px){
    .tpmb-package-page{
        width:100vw;
        max-width:100vw;
        margin-left:calc(50% - 50vw);
        padding-bottom:30px;
    }

    .tpmb-package-hero{
        height:300px;
        border-radius:0;
        margin-top:-60px;
        margin-bottom:20px;
    }

    .tpmb-package-heading h1{
        font-size:27px;
    }

    .tpmb-package-subtitle{
        font-size:17px;
    }

    .tpmb-detail-section h2{
        font-size:21px;
    }

    .tpmb-description,
    .tpmb-icon-list li{
        font-size:16px;
    }

    .tpmb-price-large{
        font-size:27px;
    }

    .tpmb-info-row{
        font-size:16px;
    }

    .tpmb-booking-heading{
        font-size:21px;
    }
}


/* =========================================================
   TPMB v1.6 — Detail width + Sky Blue sidebar
   ========================================================= */
body.single-tpmb_package .tpmb-package-heading,
body.single-tpmb_package .tpmb-package-layout{
    width:96% !important;
    max-width:96% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

/* Keep the featured image genuinely full viewport width. */
body.single-tpmb_package .tpmb-package-hero,
body.single-tpmb_package .tpmb-package-hero img{
    width:100vw !important;
    max-width:100vw !important;
}

/* Sky-blue sidebar/card with white headings and labels. */
body.single-tpmb_package .tpmb-info-card{
    background:#62B9D9 !important;
    border:0 !important;
    border-radius:12px !important;
    box-shadow:0 9px 22px rgba(65,116,134,.20) !important;
    color:#fff !important;
}
body.single-tpmb_package .tpmb-info-card .tpmb-price-label,
body.single-tpmb_package .tpmb-info-card .tpmb-price-large,
body.single-tpmb_package .tpmb-info-card .tpmb-price-large span,
body.single-tpmb_package .tpmb-info-card .tpmb-info-row,
body.single-tpmb_package .tpmb-info-card .tpmb-info-row strong,
body.single-tpmb_package .tpmb-info-card .tpmb-booking-heading{
    color:#fff !important;
}
body.single-tpmb_package .tpmb-info-card .tpmb-divider{
    background:rgba(255,255,255,.42) !important;
}
body.single-tpmb_package .tpmb-info-card .tpmb-booking-form input,
body.single-tpmb_package .tpmb-info-card .tpmb-booking-form textarea{
    background:#fff !important;
    color:#111 !important;
    border-color:rgba(255,255,255,.8) !important;
}
body.single-tpmb_package .tpmb-info-card .tpmb-booking-form input::placeholder,
body.single-tpmb_package .tpmb-info-card .tpmb-booking-form textarea::placeholder{
    color:#333 !important;
    opacity:1 !important;
}
body.single-tpmb_package .tpmb-info-card .tpmb-submit-booking{
    background:#fff !important;
    color:#62B9D9 !important;
}
body.single-tpmb_package .tpmb-info-card .tpmb-submit-booking:hover,
body.single-tpmb_package .tpmb-info-card .tpmb-submit-booking:focus{
    background:#f5fbfd !important;
    color:#4b9fbd !important;
}

@media(max-width:1000px){
    body.single-tpmb_package .tpmb-package-heading,
    body.single-tpmb_package .tpmb-package-layout{
        width:96% !important;
        max-width:96% !important;
    }
}
@media(max-width:650px){
    body.single-tpmb_package .tpmb-package-heading,
    body.single-tpmb_package .tpmb-package-layout{
        width:94% !important;
        max-width:94% !important;
    }
}

/* =========================================================
   TPMB v1.7 — Additional editable sidebar package fields
   ========================================================= */
body.single-tpmb_package .tpmb-info-list-row > strong{
    display:block;
    margin-bottom:6px;
}
body.single-tpmb_package .tpmb-sidebar-list{
    margin:6px 0 0 18px;
    padding:0;
    list-style:disc;
    color:#fff;
}
body.single-tpmb_package .tpmb-sidebar-list li{
    margin:0 0 5px;
    padding-left:2px;
    color:#fff;
    font-size:16px;
    line-height:1.35;
}
