/*
 * Apple HIG-inspired UI Refinements — Inspiry TourPress
 *
 * Principles: Clarity · Deference · Depth
 * Clean · Elegant · Calm · Lightweight · Premium · Content-first
 *
 * Spacing: 8, 12, 16, 24, 32, 48
 * Radius: 5px (cards, buttons, images)
 * Inputs: 30px height
 * Transitions: 150–250ms micro-interactions only
 */

/* ==============================
   1.0 – Typography
   ============================== */
h1, .h1 {
    font-size: 3.2rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

h2, .h2 {
    font-size: 2.4rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.25;
}

h3, .h3 {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.3;
}

h4, .h4 {
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.35;
}

.entry-content p {
    font-size: 1.5rem;
    line-height: 1.65;
    color: #6b7280;
}

.entry-content .detail-title {
    font-size: 1.6rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #2e3031;
    letter-spacing: 0.03em;
    margin-bottom: 1.6rem;
}

/* ==============================
   2.0 – Cards
   ============================== */
.inspiry-box-shadow,
.tours-listing .tour-post,
.sidebar.widget-area .widget {
    border-radius: 5px;
    background-color: #fff;
}

.inspiry-box-shadow, .tours-listing .tour-post {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    border: 1px solid #e5e7eb;
}

.widget-title {

}

.post-content {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    border: 1px solid #e5e7eb;
    padding: 2.4rem;
    margin-bottom: 1.6rem;
    border-radius: 5px;
}

/* Blog single — related posts, post detail, review header */
.single .related-posts .in-category,
.single .related-posts .in-navigation,
.single-tour .tour-review header {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    border: 1px solid #e5e7eb;
    border-radius: 5px;
    background-color: #fff;
}

/* Special offers card */
.special-offers .tour-offer {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    border: 1px solid #e5e7eb;
    border-radius: 5px;
    background-color: #fff;
}

/* Widget figures — remove thick 2px borders */
.widget.inspiry_recent_posts_widget figure,
.widget.inspiry_top_rated_tours_widget figure {
    border: 1px solid #e5e7eb;
    border-radius: 5px;
}

/* ==============================
   3.0 – Buttons (Apple HIG)
   ============================== */

/*
 * Apple Human Interface Guidelines — Button System
 * - Pill shape (20px radius) or rounded rect (8px)
 * - System font stack
 * - Flat, minimal: no gradients, no all-caps
 * - Micro-interactions: subtle color shift on hover, press state on active
 * - Clear hierarchy: filled primary vs. borderless secondary
 * - 36–44px minimum touch target
 */

/* Base button shape — rounded rect */
.read-more,
body input[type="submit"],
.btn-inspiry,
.btn-inspiry-download,
.inspiry_booking_widget .tour-booking #tp-submit-button,
.inspiry_tours_search_widget #tours-search input[type="submit"],
.mini-cart-wrap .buttons a {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-weight: 500;
    letter-spacing: -0.01em;
    border-radius: 2px;
    transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    box-sizing: border-box;
}

/* .read-more — overrides main.css absolute, uppercase, 33px */
.read-more {
    height: 34px;
    line-height: 34px;
    padding: 0 2rem;
    font-size: 1.2rem;
    text-transform: none;
    background: #00aeef;
    color: #fff;
    border: none;
}

.read-more:hover {
    background: #0095cf;
    color: #fff;
}

.read-more:active {
    background: #007db0;
    color: #fff;
    transform: scale(0.97);
}

/* Primary submit buttons */
body input[type="submit"],
.btn-inspiry,
.btn-inspiry-download {
    height: 38px;
    line-height: 38px;
    padding: 0 2rem;
    font-size: 1.3rem;
    text-transform: none;
    background: #00aeef;
    color: #fff;
    border: none;
}

body input[type="submit"]:hover,
.btn-inspiry:hover,
.btn-inspiry-download:hover {
    background: #0095cf;
    color: #fff;
}

body input[type="submit"]:active,
.btn-inspiry:active,
.btn-inspiry-download:active {
    background: #007db0;
    color: #fff;
}

/* Booking widget — Apple green #34c759 */
.inspiry_booking_widget .tour-booking #tp-submit-button {
    height: 40px;
    line-height: 40px;
    padding: 0 2.4rem;
    background: #34c759;
    color: #fff;
    border: none;
    text-transform: none;
    width: 100%;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.inspiry_booking_widget .tour-booking #tp-submit-button:hover {
    background: #28a745;
    transform: translateY(-1px);
}

.inspiry_booking_widget .tour-booking #tp-submit-button:active {
    background: #1e8a3a;
    transform: scale(0.98);
}

/* Tours search submit */
.inspiry_tours_search_widget #tours-search input[type="submit"] {
    height: 38px;
    line-height: 38px;
    padding: 0 2rem;
    font-size: 1.3rem;
    text-transform: none;
    background: #00aeef;
    color: #fff;
    border: none;
    margin-top: 1.2rem;
}

.inspiry_tours_search_widget #tours-search input[type="submit"]:hover {
    background: #0095cf;
    color: #fff;
}

/* Grid tour card "Read More" — compact */
.tours-grid-container .tours-listing .tour-post .offer-content .read-more {
    height: 30px;
    line-height: 30px;
    padding: 0 1.6rem;
    font-size: 1.1rem;
    border-radius: 6px;
}

.tours-grid-container .tours-listing .tour-post .offer-content .read-more:hover {
    background: #0095cf;
    transform: translateY(-1px);
}

/* Mini cart buttons */
.mini-cart-wrap .buttons a {
    height: 34px;
    line-height: 34px;
    padding: 0 1.6rem;
    font-size: 1.2rem;
    background: #00aeef;
    color: #fff;
    border: none;
    text-transform: none;
    display: inline-block;
}

.mini-cart-wrap .buttons a:hover {
    background: #0095cf;
    color: #fff;
}

.mini-cart-wrap .buttons a:last-child {
    margin-left: 0.8rem;
}

/* ==============================
   4.0 – Forms & Inputs
   ============================== */
.inspiry_booking_widget .tour-booking textarea,
.inspiry_booking_widget .tour-booking input:not([type="submit"]) {
    height: 30px;
    padding: 0 1.1rem;
    border-radius: 4px;
    background: #f8f9f9;
    border: 1px solid #e5e7eb;
    color: #7E8588;
    font-size: 1.3rem;
    box-sizing: border-box;
    outline: none;
    width: 100%;
}

.inspiry_booking_widget .tour-booking textarea {
    height: auto;
    padding: 0.8rem 1.2rem;
    min-height: 70px;
}

.inspiry_booking_widget .tour-booking textarea:focus,
.inspiry_booking_widget .tour-booking input:not([type="submit"]):focus {
    background: #fff;
    border-color: #00aeef;
    box-shadow: 0 0 0 2px rgba(0, 174, 239, 0.1);
}

.inspiry_booking_widget .tour-booking .tp-label {
    display: block;
    font-size: 1.3rem;
    font-weight: 500;
    color: #2e3031;
    margin-bottom: 0.8rem;
}

.inspiry_booking_widget .tour-booking .tp-hint {
    display: block;
    font-size: 1.1rem;
    color: #a6b0b3;
    margin-top: 0.2rem;
}

/* Widget search form — rounded corners */
.widget_search input[type="text"],
.widget_search input[type="email"],
.widget_search input[type="search"] {
    height: 36px;
    padding: 0 1.2rem;
    border-radius: 6px 0 0 6px;
}

.widget_search input[type="submit"] {
    border-radius: 0 6px 6px 0;
    height: 36px;
    padding: 0;
    min-width: 44px;
}

/* ==============================
   5.0 – Tour Tabs
   ============================== */
.single-tour .tour-tabs {
    margin-bottom: 1.6rem;
    position: sticky;
    top: 0;
    z-index: 50;
    background: #fff;
    padding: 0.4rem 0.8rem;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    width: 100%;
}

/* Account for WordPress admin bar */
.admin-bar .single-tour .tour-tabs {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .single-tour .tour-tabs {
        top: 46px;
    }
}

.single-tour .tour-tabs li {
    padding: 0.8rem 1.6rem;
    font-size: 1.3rem;
    transition: all 0.15s;
    border-radius: 6px;
    margin: 0 0.2rem;
}

.single-tour .tour-tabs li.active,
.single-tour .tour-tabs li:hover {
    background-color: #00aeef;
    color: #fff;
}

/* Keep tabs horizontal on mobile — override main.css stacking */
@media (max-width: 580px) {
    .single-tour .tour-tabs {
        float: none;
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
        justify-content: center;
    }

    .single-tour .tour-tabs li {
        float: none;
        width: auto !important;
        flex: 0 0 auto;
        border: 1px solid #e5e7eb;
        text-align: center;
        margin: 0;
    }
}

/* ==============================
   6.0 – Price Display (Tab)
   ============================== */
.single-tour .tour-price-display {
    padding: 1.2rem 0;
}

.single-tour .tour-price-display .price-row {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.single-tour .tour-price-display .tour-price {
    font-size: 2.4rem;
    font-weight: 600;
    color: #00aeef;
}

.single-tour .tour-price-display .old-price {
    font-size: 1.6rem;
    color: #a6b0b3;
    text-decoration: line-through;
}

.single-tour .tour-price-display .discount-badge {
    display: inline-block;
    background: #77C720;
    color: #fff;
    font-size: 1.1rem;
    padding: 0.2rem 0.8rem;
    border-radius: 5px;
    font-weight: 600;
}

.single-tour .tour-price-display .price-postfix {
    display: block;
    font-size: 1.2rem;
    color: #6b7280;
    margin-top: 0.8rem;
}

/* ==============================
   7.0 – Pricelist Table
   ============================== */
.single-tour .pricelist-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-top: 0.8rem;
    border: 1px solid #e5e7eb;
    border-radius: 5px;
    overflow: hidden;
}

.single-tour .pricelist-table th:first-child {
    width: 40%;
}

.single-tour .pricelist-table th:last-child {
    width: 60%;
}

.single-tour .pricelist-table th {
    background: #f8f9f9;
    font-size: 1.3rem;
    font-weight: 600;
    color: #2e3031;
    padding: 1.2rem 1.6rem;
    text-align: left;
    border-bottom: 1px solid #e5e7eb;
}

.single-tour .pricelist-table td {
    padding: 1.2rem 1.6rem;
    border-bottom: 1px solid #f1f4f6;
    font-size: 1.4rem;
}

.single-tour .pricelist-table tbody tr:last-child td {
    border-bottom: none;
}

.single-tour .pricelist-table .pricelist-price {
    font-weight: 600;
    color: #00aeef;
}

.single-tour .pricelist-table .pricelist-postfix {
    font-weight: 400;
    font-size: 1.2rem;
    color: #6b7280;
}

.single-tour .pricelist-table tbody tr:hover {
    background: #f1f4f6;
}

/* ==============================
   8.0 – Sidebar Widgets
   ============================== */
.sidebar.widget-area .widget {
    padding: 2.4rem;
    margin-bottom: 2.4rem;
}

.sidebar.widget-area .widget .widget-title {
    font-size: 1.4rem;
    font-weight: 600;
    color: #2e3031;
    margin-bottom: 1.6rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* Widget list items — reduce border noise */
.sidebar.widget-area .widget ul:not(.list) li {
    border-bottom: none;
    padding: 0.8rem 0;
    margin-bottom: 0;
    background: none;
}

.sidebar.widget-area .widget ul:not(.list) li a {
    color: #2e3031;
    font-size: 1.3rem;
}

.sidebar.widget-area .widget_tag_cloud .tagcloud a {
    border-radius: 5px;
    height: 28px;
    line-height: 28px;
    font-size: 1.1rem !important;
}

/* Booking widget */
.inspiry_booking_widget {
    padding: 0 !important;
}

/* Sticky submit button on scroll — desktop only */
@media (min-width: 992px) {
    #tp-booking-form .submission-area {
        position: sticky;
        bottom: 0;
        z-index: 40;
        background: #fff;
        padding: 1.2rem 0 0.8rem;
        margin-top: 0;
        box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.04);
    }
}

.inspiry_booking_widget header {
    background: url("../img/book-tour-cover.jpg") center top no-repeat;
    background-size: cover;
    text-align: center;
    padding: 3.2rem 0;
    border-radius: 5px 5px 0 0;
}

.inspiry_booking_widget header img {
    margin-bottom: 1.6rem;
    margin-top: -0.5rem;
}

.inspiry_booking_widget header span {
    padding: 1.2rem;
    background-color: #77c720;
    display: inline-block;
    border-radius: 100%;
    width: 48px;
    height: 48px;
    margin-bottom: 1.6rem;
}

.inspiry_booking_widget header .widget-title {
    color: #fff !important;
    margin-bottom: 0 !important;
}

.inspiry_booking_widget .tour-booking {
    padding: 2.4rem;
}

.inspiry_booking_widget .tour-booking p {
    margin-bottom: 1.2rem;
}

.inspiry_booking_widget .tp-error {
    margin: 0 2.4rem 2.4rem;
    padding: 1.2rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 5px;
    color: #b91c1c;
    font-size: 1.3rem;
    text-align: center;
}

.inspiry_booking_widget .tp-not-configured {
    padding: 2.4rem;
    text-align: center;
    font-size: 1.3rem;
    color: #a6b0b3;
    margin: 0;
}

/* Top Rated Tours mini card */
.widget.inspiry_top_rated_tours_widget ul li {
    padding: 0.8rem 0 1.2rem;
    border-bottom: none;
    margin-bottom: 0.8rem;
}

.widget.inspiry_top_rated_tours_widget ul li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

.widget.inspiry_top_rated_tours_widget figure {
    border: none;
    border-radius: 5px;
    overflow: hidden;
}

/* Tours widget */
.inspiry_tours_widget .tour-destination {
    margin-bottom: 1rem;
}

.tour-booking, .inspiry_tours_widget .tour-destination figure img {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    border: 1px solid #e5e7eb;
    border-radius: 5px;
}

/* ==============================
   9.0 – Tour Single Post Content
   ============================== */
.single-tour .post-content.entry-content > div {
    padding-top: 0;
    margin-top: 0;
}

.single-tour .post-content.entry-content h1,
.single-tour .post-content.entry-content h2,
.single-tour .post-content.entry-content h3,
.single-tour .post-content.entry-content h4,
.single-tour .post-content.entry-content h5,
.single-tour .post-content.entry-content h6 {
    padding-top: 0.8rem;
    margin-bottom: 0.8rem;
}

.single-tour .post-content.entry-content .detail-title {
    margin-bottom: 0.8rem;
    padding-top: 0;
}

.single-tour .post-content.entry-content p {
    margin-bottom: 1.2rem;
}

.single-tour .post-content.entry-content ul,
.single-tour .post-content.entry-content ol {
    margin-bottom: 1.2rem;
}

.single-tour .post-content.entry-content ul li,
.single-tour .post-content.entry-content ol li {
    margin-bottom: 0.1rem;
}

/* ==============================
   10.0 – Equal-height Grid Cards
   ============================== */

/* Flex row — only for grid view */
.tours-grid-container .tours-listing .row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.tours-grid-container .tours-listing .row > [class*="col-"] {
    display: flex;
    flex-direction: column;
}

.tours-grid-container .tours-listing [class*="col-"] {
    display: flex;
    flex-direction: column;
}

.tours-grid-container .tours-listing .tour-post {
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: all 0.15s;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    border: 1px solid #e5e7eb;
}

.tours-grid-container .tours-listing .tour-post:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

/* Thumbnail */
.tours-grid-container .tours-listing .tour-post figure {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    position: relative;
}

.tours-grid-container .tours-listing .tour-post figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.2s;
}

.tours-grid-container .tours-listing .tour-post:hover figure img {
    transform: scale(1.03);
}

/* Offer content */
.tours-grid-container .tours-listing .tour-post .offer-content {
    padding: 2.4rem;
    display: flex;
    flex-direction: column;
    flex: 1;
    position: relative;
}

/* Title — clamp 2 lines */
.tours-grid-container .tours-listing .tour-post .offer-content h3 {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 0.8rem;
}

/* Excerpt — clamp 3 lines */
.tours-grid-container .tours-listing .tour-post .offer-content p {
    font-size: 1.4rem;
    line-height: 1.6;
    color: #6e6e73;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 0.8rem;
}

/* Pricing — push to bottom */
.tours-grid-container .tours-listing .tour-post .offer-content .tour-price {
    font-size: 2rem;
    font-weight: 600;
    color: #00aeef;
    margin-top: auto;
    padding-top: 1.6rem;
    display: inline-block;
}

/* Old price strikethrough */
.tours-grid-container .tours-listing .tour-post .offer-content .tour-price .old-price {
    font-size: 1.4rem;
    font-weight: 400;
    color: #a6b0b3;
    text-decoration: line-through;
    vertical-align: middle;
    margin-right: 0.8rem;
}

/* Read more — bottom aligned */
.tours-grid-container .tours-listing .tour-post .offer-content .read-more {
    position: static;
    margin-top: 1.2rem;
    align-self: flex-start;
    height: 32px;
    line-height: 32px;
    font-size: 1.1rem;
    transition: all 0.15s;
}

.tours-grid-container .tours-listing .tour-post .offer-content .read-more:hover {
    background-color: #77C720;
    transform: scale(0.98);
}

/* Discount label */
.tours-grid-container .tours-listing .tour-post .offer-content div.discount-label {
    position: absolute;
    top: -3.2rem;
    right: 2.4rem;
    background: #77C720;
    color: #fff;
    padding: 0.2rem 0.8rem;
    font-size: 1rem;
    border-radius: 5px;
    font-weight: 600;
    text-transform: uppercase;
}

/* ==============================
   11.0 – Entry Content Tables
   ============================== */
.entry-content table {
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #e5e7eb;
    border-radius: 5px;
    overflow: hidden;
    width: 100%;
    margin-bottom: 2.4rem;
}

.entry-content table th,
.entry-content table td {
    padding: 1.2rem 1.6rem;
    text-align: left;
    border-bottom: 1px solid #f1f4f6;
    border-left: none;
    border-right: none;
    border-top: none;
}

.entry-content table thead tr:last-child th {
    border-bottom: 1px solid #e5e7eb;
}

.entry-content table tbody tr:last-child td {
    border-bottom: none;
}

.entry-content table th {
    background: #f8f9f9;
    font-weight: 600;
    color: #2e3031;
}

.entry-content table tbody tr:hover {
    background: #f1f4f6;
}

/* ==============================
   12.0 – Comments & Respond
   ============================== */
#respond #commentform input[type="text"],
#respond #commentform input[type="email"],
#respond #commentform input[type="url"],
#respond #commentform textarea {
    width: 100%;
    height: 30px;
    padding: 0 1.2rem;
    border: 1px solid #e5e7eb;
    border-radius: 5px;
    background: #f8f9f9;
    font-size: 1.3rem;
    box-sizing: border-box;
    outline: none;
}

#respond #commentform textarea {
    height: auto;
    padding: 0.8rem 1.2rem;
    min-height: 90px;
}

#respond #commentform input:focus,
#respond #commentform textarea:focus {
    background: #fff;
    border-color: #00aeef;
    box-shadow: 0 0 0 2px rgba(0, 174, 239, 0.1);
}

/* ==============================
   13.0 – Scroll to Top
   ============================== */
#scroll-top {
    border-radius: 5px;
    border-width: 1.5px;
    transition: all 0.15s;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

/* ==============================
   14.0 – Floating WhatsApp
   ============================== */
#et-wa-float {
    position: fixed;
    bottom: 65px; /* 13px + 42px + 10px gap */
    right: 30px; /* sama persis */
    z-index: 9998;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px; /* sama persis */
    height: 42px; /* sama persis */

    background-color: #25D366;
    color: #fff;
    border-radius: 4px;
    border: 2px solid #25D366; /* ikuti border thickness scroll-top */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
    text-decoration: none;
    transition: all 0.25s ease-in-out; /* sama persis */
}

#et-wa-float:hover {
    background-color: #1DA851;
    border-color: #1DA851;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4);
    text-decoration: none;
}

#et-wa-float svg {
    display: block;
    width: 24px;
    height: 24px;
}

@media (max-width: 767px) {
    #et-wa-float {
        right: 30px;
        bottom: 65px;
    }
}

/* ==============================
   14.1 – Floating Booking Button
   ============================== */
#et-booking-float {
    position: fixed;
    bottom: 65px;
    right: 82px; /* 30px + 42px + 10px gap */
    z-index: 9998;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    background-color: #007aff; /* Apple blue */
    color: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 8px rgba(0, 122, 255, 0.3);
    text-decoration: none;
    transition: all 0.25s ease-in-out;
}

#et-booking-float:hover {
    background-color: #0066d6;
    color: #fff;
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 4px 16px rgba(0, 122, 255, 0.5);
    text-decoration: none;
}

#et-booking-float:active {
    transform: scale(0.95);
}

#et-booking-float svg {
    display: block;
    width: 22px;
    height: 22px;
}

@media (max-width: 767px) {
    #et-booking-float {
        right: 62px;
        bottom: 65px;
        width: 40px;
        height: 40px;
    }

    #et-booking-float svg {
        width: 20px;
        height: 20px;
    }
}

/* ==============================
   15.0 – Navigation Refinements
   ============================== */
.header header .main-menu > li,
.header header .main-menu > ul li {
    margin-right: 2.4rem;
    padding: 0.8rem 0 0;
    border-bottom-width: 2px;
}

.header header .main-menu > li a,
.header header .main-menu > ul li a {
    font-size: 1.5rem;
    padding: 0 0.8rem 3.2rem;
}

/* ==============================
   16.0 – Misc Overrides
   ============================== */
body a {
    transition: all 0.15s;
}

.hover-transition {
    transition: all 0.15s;
}

/* Reduce heading spacing in entry content */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    padding-top: 1.6rem;
    margin-bottom: 0.8rem;
}

/* ==============================
   18.0 – Owl Carousel Equal-height Cards
   ============================== */

/* Stage flex — supaya semua item di stage sama tinggi */
.tours-listing.owl-theme .owl-stage {
    display: flex;
    flex-wrap: nowrap;
}

/* Item flex — override float, match height */
.tours-listing.owl-theme .owl-item {
    display: flex;
    height: auto !important;
    float: none !important;
}

/* Card full height */
.tours-listing.owl-theme .owl-item .tour-post {
    height: 100%;
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* Offer content flex — push price to bottom */
.tours-listing.owl-theme .owl-item .tour-post .offer-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.tours-listing.owl-theme .owl-item .tour-post .offer-content .tour-price {
    margin-top: auto;
}

/* Read more — static position agar tidak overflow */
.tours-listing.owl-theme .owl-item .tour-post .offer-content .read-more {
    margin-top: 1.2rem;
}

/* ==============================
   19.0 – MeanMenu Mobile: Floating Overlay
   ============================== */
@media (max-width: 767px) {
    /* Wrapper: relative agar .mean-nav bisa absolute di dalamnya */
    .mean-container {
        position: relative;
    }

    /* Nav panel: absolute, floating di atas konten tanpa push content */
    .mean-container .mean-nav {
        position: absolute !important;
        top: 100% !important; /* muncul tepat di bawah .mean-bar */
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 99999 !important;
        background-color: #004274;
        overflow-y: auto;
        max-height: 80vh;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    }

    /* List menu styling */
    .mean-container .mean-nav ul li a {
        padding: 1.2rem 1.6rem;
        font-size: 1.4rem;
        width: 100%;
        display: block;
        box-sizing: border-box;
    }

    /* Tombol expand submenu — touch target 44px */
    .mean-container .mean-nav ul li a.mean-expand {
        height: 44px !important;
        width: 44px !important;
        padding: 0 1.2rem;
        font-size: 1.8rem;
    }
}

/* ==============================
   17.0 – Responsive
   ============================== */
@media (max-width: 991px) {
    .sidebar.widget-area {
        margin-top: 3.2rem;
    }
}

/* Grid → 1 column on mobile */
@media (max-width: 767px) {
    #scroll-top {
        right: 15px;
    }

    .tours-listing .row > [class*="col-"] {
        width: 100%;
    }

    .tours-grid-container .tours-listing .tour-post {
        margin-bottom: 1.6rem;
    }

    .tours-grid-container .tours-listing .tour-post .offer-content {
        padding: 1.6rem;
    }

    #et-wa-float {
        bottom: 6.5rem;
        right: 1.6rem;
        width: 4rem;
        height: 4rem;
    }

    #et-wa-float svg {
        width: 2rem;
        height: 2rem;
    }

    .inspiry_booking_widget .tour-booking {
        padding: 1.6rem;
    }

    .post-content {
        padding: 1.6rem;
    }

    .sidebar.widget-area .widget {
        padding: 1.6rem;
    }
}