.l-section.width_full {overflow-x: hidden;}
.woocommerce-tabs.wc-tabs-wrapper {width: 100%;}
img.myresponsive {width: 100%; height: auto;}
img.responsive-max {max-width: 100%; height: auto;}
img.myspecialresponsive {border-radius: 5px!important; width: 100%; height: auto;}

img.myspecialresponsive,
.myspecialresponsive img,
.myspecialresponsive article.w-grid-item,
.myspecialresponsive .w-grid-item-h,
.myspecialresponsive .post_image {border-radius: 5px!important; width: 100%; height: auto;}

.woocommerce a.button {color: #FFFFFF!important; border-color: #f05a28; border-width: 2px!important;}
.woocommerce a.button:hover {color: #F09828!important; border-color: #f05a28; border-width: 2px!important;}
.woocommerce .button {color: #FFFFFF!important;}
.inquiry_form_tab {background-color: #f05a28; color: #FFFFFF; }
.inquiry_form_tab:hover {background-color: #f05a28; color: #FFFFFF; }
.inquiry_form_tab li.active {background-color: #f05a28; color: #FFFFFF; }

.description_tab {background-color: #F09828; color: #FFFFFF; }
.description_tab:hover {background-color: #F09828; color: #FFFFFF; }
.description_tab li.active {background-color: #F09828; color: #FFFFFF; }

.itinerary_tab {background-color: #7BD724; color: #FFFFFF; }
.itinerary_tab:hover {background-color: #7BD724; color: #FFFFFF;}
.itinerary_tab li.active {background-color: #7BD724; color: #FFFFFF;}

#tab-title-8-hour-koh-samui-excursion-itinerary {background-color: #006dd2; color: #FFFFFF; }
#tab-title-8-hour-koh-samui-excursion-itinerary:hover {background-color: #006dd2; color: #FFFFFF;}
#tab-title-8-hour-koh-samui-excursion-itinerary li.active {background-color: #006dd2; color: #FFFFFF;}

#tab-title-4-hour-koh-samui-excursion-itinerary {background-color: #7BD724; color: #FFFFFF; }
#tab-title-4-hour-koh-samui-excursion-itinerary:hover {background-color: #7BD724; color: #FFFFFF;}
#tab-title-4-hour-koh-samui-excursion-itinerary li.active {background-color: #7BD724; color: #FFFFFF;}

#tab-title-excursion-includes {background-color: #006dd2; color: #FFFFFF; }
#tab-title-excursion-includes:hover {background-color: #006dd2; color: #FFFFFF;}
#tab-title-excursion-includes li.active {background-color: #006dd2; color: #FFFFFF;}

.includes_tab {background-color: #800080; color: #FFFFFF; }
.includes_tab:hover {background-color: #800080; color: #FFFFFF;}
.includes_tab li.active {background-color: #800080; color: #FFFFFF;}

.woocommerce-tabs .tabs li.active {background-color: #064065!important; color: #FFFFFF!important; }

.gform_title {display: none;}

h1.indextitle {line-height: 28px; font-weight: 600; font-size: 26px; text-transform: capitalize;}
p.main-title {font-weight: 600; font-size: 18px;}

table.vc-table-plugin-theme-classic_orange tr.vc-th td {background-color: #f05a28!important;}
table.vc-table-plugin-theme-classic_orange td {border: 1px solid #f05a28!important;}
h1.customtitlebar {font-weight: 900!important;}

.impreza-agency .tp-bullet:hover, .impreza-agency .tp-bullet.selected {border-color: #f05a28; background-color: #f05a28;}

.mc-field-group input {margin-bottom: 10px; margin-top: 10px;}
#mc_embed_signup {background: none!important;}
h1.spezialheading, h3.spezialheading {text-align: center; font-weight: bold;}
.spezialsmall {font-size: 11px!important;}
.woocommerce .button, .us-btn-style_2 {color: #FFFFFF!important;}

.video-container {position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden;}
.video-container iframe,
.video-container object,
.video-container embed {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

.myalignclass {text-align: center!important;}
.mytextclass {text-align: justify!important;}
h2.widgettitle {display: none!important;}

.woocommerce-tabs .panel>h2 {display: block!important;}
#tab-description h2:first-child {display: none!important;}

@media screen and (max-width: 600px) { #wprev-slider-1 { visibility: hidden; display: none; } #wprs_nav_10 { visibility: hidden; display: none; } #wprs_nav_arrow_10 { visibility: hidden; display: none; } }

@media screen and (min-width: 600px) { #wprev-slider-2 { visibility: hidden; display: none; } #wprs_nav_13 { visibility: hidden; display: none; } #wprs_nav_arrow_13 { visibility: hidden; display: none; } }

p.ourreviewstext {font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 30px; line-height: 1.4; letter-spacing: 0em; margin-bottom: 1.5rem;}
span.mycredit {color: #f05a28!important; font-weight: 500; font-size: 16px;}

/* .mypricetable */
table.mypricetable {border-color: #f05a28!important;}
.mypricetable td {text-align: center;}
.mypricetable th {text-align: center;}

.ywctm-custom-button  {background-color: #FFFFFF!important;}

.gform_confirmation_message_7 {font-size: 1.2rem; font-weight: 500!important; color: #FFFFFF!important;}

/* tripadvisor icon css */
.l-header .w-socials-item.tripadvisor .fa-plane:before {
height: 2em;
width: 2em;
}
.l-footer .w-socials-item.tripadvisor .fa-plane:before {
height: 55px;
width: 55px;
}
.l-header .w-socials-item.tripadvisor .fa-plane:before {
content: '';
background-image: url(/wp-content/themes/Impreza-child/icons/Triadvisor_white.svg);
background-size: 1.5em;
background-repeat: no-repeat;
background-position: 50%;
display: block;
}
.l-footer .w-socials-item.tripadvisor .fa-plane:before {
content: '';
background-image: url(/wp-content/themes/Impreza-child/icons/Triadvisor.svg);
background-size: 1.5em;
background-repeat: no-repeat;
background-position: 50%;
display: block;
}

.l-footer .w-socials-list {color: #000000!important;}

/* tour pages */
div.wt-quantity input[type=button] {color: #FFFFFF!important; font-weight: 700!important;}
p.myaddontour {color: #b31412!important; font-weight: 700!important; font-size: 20px;}
label.deposit-option {display: none!important;}
div.deposit-options {display: none!important;}
div#product_total_price {font-weight: 600!important; font-size: 18px!important;}

.w-tabs-item.description {background-color: #F09828!important; background: #F09828!important; color: #FFFFFF!important; border-color: #064065!important;}
.w-tabs-item.description:hover {background-color: #F09828!important; background: #F09828!important; color: #FFFFFF!important; border-color: #064065!important;}
.w-tabs-item.description.active {background-color: #064065!important; background: #064065!important; color: #FFFFFF!important; border-color: #064065!important;}
.w-tabs-item.itinerary {background-color: #7BD724!important; background: #7BD724!important; color: #FFFFFF!important; border-color: #064065!important;}
.w-tabs-item.itinerary:hover {background-color: #7BD724!important; background: #7BD724!important; color: #FFFFFF!important; border-color: #064065!important;}
.w-tabs-item.itinerary.active {background-color: #064065!important; background: #064065!important; color: #FFFFFF!important; border-color: #064065!important;}
.w-tabs-item.infos {background-color: #800080!important; background: #800080!important; color: #FFFFFF!important; border-color: #064065!important;}
.w-tabs-item.infos:hover {background-color: #800080!important; background: #800080!important; color: #FFFFFF!important; border-color: #064065!important;}
.w-tabs-item.infos.active {background-color: #064065!important; background: #064065!important; color: #FFFFFF!important; border-color: #064065!important;}
.w-tabs-item.enquiry {background-color: #f05a28!important; background: #f05a28!important; color: #FFFFFF!important; border-color: #064065!important;}
.w-tabs-item.enquiry:hover {background-color: #f05a28!important; background: #f05a28!important; color: #FFFFFF!important; border-color: #064065!important;}
.w-tabs-item.enquiry.active {background-color: #064065!important; background: #064065!important; color: #FFFFFF!important; border-color: #064065!important;}

/* blog posts css */
.mypoititle, .us-btn-style_7, .mypoicontent {width: 100%!important;}
.mynewrows {padding: 0.5rem!important;}

/* tablepress */

table.my_general_table th.column-1 {
	text-align: left!important;
	color: #FFFFFF!important;
}

table.my_general_table th.column-2,
table.my_general_table th.column-3, 
table.my_general_table th.column-4 {
 color: #FFFFFF!important;
 text-align: center!important;
}

table.my_general_table td.column-2,
table.my_general_table td.column-3, 
table.my_general_table td.column-4 {
	text-align: center!important;
}

table.tablepress th, table.tablepress tr {border: 1px solid!important; border-color: var(--color-content-border)!important;}
table.tablepress thead {background-color: #f05a28!important; color: #FFFFFF!important;}

/* 1. General Table Reset & Base Styles (Desktop/Tablet > 600px) */

.responsive-table {
    border-collapse: collapse;
    width: 100%;
    font-family: sans-serif;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    margin: 20px 0;
    font-size: 1em;
    color: #222222; /* Base text color */
}

/* Header Styling (Primary Accent Color: #f05a28) */
.responsive-table thead th {
    background-color: #f05a28;
    color: white;
    padding: 12px 15px;
    text-align: left;
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* NEW ADDITION: Center headers from the second column onward */
.responsive-table thead th:not(:first-child) {
    text-align: center; /* <<< UPDATED FOR CENTER ALIGNMENT */
}

/* Body Cell Styling */
.responsive-table tbody td {
    padding: 10px 15px;
    border-bottom: 1px solid #e0e0e0;
    text-align: left;
}

/* Center numeric columns (all data cells except the first) */
.responsive-table tbody tr td:not(:first-child) {
    text-align: center; /* Center alignment for data */
}

/* Zebra Striping (Subtle Light Gray) */
.responsive-table tbody tr:nth-of-type(even) {
    background-color: #f8f8f8;
}

/* Hover Effect (Secondary Accent Color: #fda527) */
.responsive-table tbody tr:hover {
    background-color: #fda527;
    color: #222222;
}

/* --- 2. Tablet Breakpoint (max-width: 1024px) --- */

@media screen and (max-width: 1024px) {
    .responsive-table {
        font-size: 0.95em;
    }

    .responsive-table thead th,
    .responsive-table tbody td {
        padding: 8px 10px;
    }
}

/* --- 3. Smartphone Breakpoint (max-width: 600px) - Card View --- */

@media screen and (max-width: 600px) {
    /* Hide Header and Change Display Mode */
    .responsive-table thead {
        display: none;
    }

    .responsive-table,
    .responsive-table tbody,
    .responsive-table tr,
    .responsive-table td {
        display: block;
        width: 100%;
        border: none;
    }

    /* Style the Table Row as a Card */
    .responsive-table tr {
        margin-bottom: 20px;
        border: 1px solid #ccc;
        border-radius: 6px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        overflow: hidden;
    }

    .responsive-table tbody tr:nth-of-type(even) {
        background-color: white; /* Reset row background */
    }
    
    /* Style Individual Cells (Label/Value Split) */
    .responsive-table td {
        padding: 10px 10px 10px 50%; /* Pad right, and make room on the left for the label */
        position: relative;
        text-align: center; /* CENTER ALIGNMENT for the data value on mobile */
        border-bottom: 1px solid #f0f0f0;
        background-color: white;
    }

    /* Remove the bottom border on the last cell of the "card" */
    .responsive-table tr td:last-child {
        border-bottom: none;
    }

    /* The Label (using data-label) */
    .responsive-table td::before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 45%;
        font-weight: 600;
        text-align: left; /* Label remains LEFT ALIGNED */
        color: #222222;
        padding: 10px 0;
        display: flex;
        align-items: center;
        border-right: 1px solid #f0f0f0;
    }
    
    /* Styling for the Primary Cell (Title of the card) */
    .responsive-table tr td:first-child {
        background-color: #fef4e6; /* Very light secondary accent color for title background */
        font-size: 1.1em;
        font-weight: bold;
        color: #f05a28; /* Primary accent color for title text */
        text-align: left; /* Location name must be LEFT ALIGNED */
        padding-left: 10px;
        border-bottom: 2px solid #f05a28;
    }

    /* Hide the auto-generated label for the first cell */
    .responsive-table tr td:first-child::before {
        display: none!important;
    }
}

/* 1. SECTION & OVERLAY SETUP */
.custom-hero-layout {
    display: flex !important;
    align-items: center; 
    justify-content: center;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

/* Dark Overlay Layer */
.custom-hero-layout::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.3); /* Adjust opacity here */
    z-index: -1;
}

/* DESKTOP (1024px and up) */
@media (min-width: 1024px) {
    .custom-hero-layout {
        aspect-ratio: 2560 / 1440;
        height: auto !important;
    }

    .custom-hero-layout .vc_column-inner > .wpb_wrapper {
        display: grid !important;
        grid-template-columns: 2fr 1fr;
        gap: 2.4rem;
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        align-items: center;
    }
}

/* TABLET & MOBILE (Below 1024px) */
@media (max-width: 1023px) {
    .custom-hero-layout {
        height: auto !important; /* Allow content to dictate height */
        aspect-ratio: auto !important;
        padding: 60px 20px; /* Vertical padding to give space top/bottom */
    }
    
    .custom-hero-layout .vc_column-inner > .wpb_wrapper {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        gap: 1.2rem;
    }
}

/* MOBILE SPECIFIC (Below 600px) */
@media (max-width: 600px) {
    .custom-hero-layout {
        padding: 40px 15px; /* Slightly tighter padding for small phones */
    }
    
    .custom-hero-title h1 {
        font-size: calc(var(--h1-font-size) * 0.85); /* Optional: shrink title slightly */
    }
}

/* 2. TEXT STYLING */
.custom-hero-title h1,
.custom-hero-title h2,
.custom-hero-title h3 {
    color: #ffffff !important;
    font-family: var(--h1-font-family, inherit);
    font-weight: var(--h1-font-weight, inherit);
    font-size: var(--h1-font-size, inherit);
    line-height: var(--h1-line-height, 1.4);
    margin-bottom: var(--h1-margin-bottom, 1.5rem);
}

.custom-hero-subtitle .w-text-h,
.custom-hero-subtitle .w-text-value {
    color: #ffffff !important;
    font-family: var(--h3-font-family, inherit);
    font-weight: var(--h3-font-weight, inherit);
    font-size: var(--h3-font-size, inherit);
    line-height: var(--h3-line-height, 1.4);
    display: block;
    margin-bottom: 1rem;
}

/* 3. FORM WRAPPER BOX */
.custom-hero-layout .wpb_wrapper > .w-vwrapper:nth-child(2) {
    background-color: rgba(255, 255, 255, 0.15); 
    backdrop-filter: blur(10px);
    padding: 30px;
    border-radius: 12px;
    height: fit-content;
    box-shadow: 0 15px 35px rgba(0,0,0,0.3);
}

.description, label_info,
.label_info,
.function_info {
    color: #444444!important;
    font-size: 1rem!important;
    font-weight: 400!important;
    line-height: 20px!important;
    display: inline-block;
}

/* === BASE IMAGE SIZE (70%) === */
.ta-grid .ta-media {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ta-grid .ta-media img {
    transform: scale(0.7);
    transition: transform 0.35s ease;
    will-change: transform;
}

/* === HOVER EFFECT === */
.ta-grid .w-grid-item:hover .ta-media img {
    transform: scale(0.8); /* slight zoom in */
}

/* === OPTIONAL: smoother feel */
@media (hover: hover) {
    .ta-grid .ta-media img {
        transition: transform 0.4s cubic-bezier(.25,.46,.45,.94);
    }
}