/*!
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: A child theme for the Kadence Theme.
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence-child
*/

/* Theme customization starts here
-------------------------------------------------------------- */
:root {

}

a, a:hover {
    text-decoration: none;
}

/*=============================================
=            Header            =
=============================================*/
.site-header {
    box-shadow: 0 0 2px rgba(6, 8, 8, 0.15);
}

/*---------- Polylang ---------- */
.wp-block-polylang-language-switcher {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 4px;
}
/*=============================================
=            Footer            =
=============================================*/
.site-footer {
    background-color: #f7f8fa;
}

.site-bottom-footer-inner-wrap {
    border-top: 1px solid #DEDEDE;
}

.site-bottom-footer-inner-wrap .footer-html {
    margin: 0;
}

/*=============================================
=            Post list            =
=============================================*/
.post-archive {
    --entry-list-gap: 2rem;
    --entry-padding: 2rem;
    --entry-title-fs: 20px;

    column-gap: var(--entry-list-gap);
    row-gap: var(--entry-list-gap);
}

/*---------- Category banner ---------- */
.post-archive-hero-section .post-archive-title {
    padding-top: 150px;
    padding-bottom: 30px;
    text-align: left;
    align-items: flex-start;
}

/*---------- Loop ---------- */
.post-archive .entry.loop-entry {
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.05);
    border-radius: 20px;
}

.post-archive .entry.loop-entry .entry-content-wrap {
    padding: var(--entry-padding);
}

.post-archive .entry.loop-entry .entry-title {
    font-size: var(--entry-title-fs);
}

.post-archive .entry.loop-entry .entry-title a:hover {
    color: inherit;
}

/*---------- Featured image hover effect ---------- */

.kadence-post-image .wp-post-image,
.post-thumbnail .wp-post-image {
    transition: all ease-in-out .3s;
}

.kadence-post-image:hover .wp-post-image,
.post-thumbnail:hover .wp-post-image {
    transform: scale(1.1);
}

/*---------- Pagination ---------- */
.pagination {
    text-align: center;
}

/*=============================================
=            Single post            =
=============================================*/
.content-title-style-normal .content-area {
    margin-top: 3rem;
}

.post-navigation {
    border-top: 1px solid #EAEEF3;
    border-bottom: 1px solid #EAEEF3;
    padding: 1rem;
}

/*---------- Related posts ---------- */
.entry-related-inner-content {
    padding: 0;
}

.entry-related .entry.loop-entry {
    box-shadow: none;
}

.entry-related .entry-content-wrap {
    padding: 1rem 0;
}

.entry-related-carousel h3.entry-title {
    font-size: 18px;
}

/*=============================================
=            Widget            =
=============================================*/

.primary-sidebar .widget_block {
    background: #f7f8fa;
    border-radius: 20px;
    padding: 20px 20px;
    margin-bottom: 30px;
}

.primary-sidebar .widget-area a:where(:not(.button):not(.wp-block-button__link):not(.wp-element-button)):hover {
    text-decoration: none;
}

/*---------- Bài viết mới ---------- */
.widget .wp-block-latest-posts {
    margin: 0;
}

.widget .wp-block-latest-posts__list li {
    margin-top: 1rem;
    line-height: 1;
}

.widget .wp-block-latest-posts__list .wp-block-latest-posts__post-title {
    line-height: 1.6;
    font-size: 14px;
}

/*=============================================
=            Block - Kadence
=============================================*/

/*---------- Arrows ở slider, carousel thành hình tròn ---------- */
.kb-splide .splide__arrows .splide__arrow,
.splide .splide__arrows .splide__arrow {
    height: 2rem;
    width: 2rem;
    border-radius: 2rem;
}

.kb-splide .splide__pagination .splide__pagination__page.is-active,
.kb-splide .splide__pagination .splide__pagination__page:hover,
.splide .splide__pagination .splide__pagination__page.is-active,
.splide .splide__pagination .splide__pagination__page:hover {
    background-color: #94a3b8;
}

.kb-splide .splide__pagination .splide__pagination__page,
.splide .splide__pagination .splide__pagination__page {
    background-color: #ccc;
}

/*---------- Post grid chiều cao bằng nhau ---------- */

.wp-block-kadence-postgrid article {
    height: 100%;
}

/*=============================================
=            Home            =
=============================================*/
.home-destination-boxes .kt-inside-inner-col {
    column-gap: 0 !important;
}

.home-destination-boxes .home-destination-box {
    max-width: calc(100% / 6);
}

.home-destination-boxes .home-destination-box .kadence-info-box-image-inner-intrisic-container {
    max-width: 100%;
}

.home-destination-box .kt-info-box-image {
    transition: all .3s;
}

.home-destination-box:hover .kt-info-box-image {
    transform: scale(1.1);
}

.splide-has-shadow .splide__track {
    padding: 0 0px 30px 0px;
}

.splide-has-shadow .splide__slide {
    padding: 0 2px;
}

@media (max-width: 767px) {
    .home-destination-boxes .home-destination-box {
        max-width: calc(100% / 2);
    }
}

/*=============================================
=            Tour list            =
=============================================*/
.tour-archive {
    --entry-list-gap: 1.5rem;
    --entry-padding: 2rem;

    column-gap: var(--entry-list-gap);
    row-gap: var(--entry-list-gap);
}

.type-tour.entry.loop-entry {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.05);
    border-radius: 20px;
    height: 100%;
}

.type-tour.entry.loop-entry .post-thumbnail {
    width: 100%;
    height: auto;
    padding-bottom: 0;
    flex-grow: 1;
    flex-shrink: 0;
}

.type-tour.entry.loop-entry .post-thumbnail .post-thumbnail-inner {
    position: relative;
}

.type-tour.loop-entry .entry-sales-badge {
    position: absolute;
    z-index: 2;
    top: 1rem;
    left: 1rem;
    background: #ef4444;
    color: #fff;
    font-size: 0.75rem;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 6px;
}

.type-tour.loop-entry .entry-content-wrap {
    padding: 1.5rem;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.type-tour.loop-entry .entry-header {
    display: flex;
    flex-direction: column;
}

.type-tour.loop-entry .entry-header .entry-meta {
    display: flex;
    gap: 1.5rem;
    font-size: 0.85em;
    color: #6b7280;
    line-height: 1;
    order: 1;
    margin-top: 0;
    margin-bottom: 1rem;
}

.type-tour.loop-entry .entry-meta .entry-location-icon {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.type-tour.loop-entry .entry-title {
    font-size: 1.125rem;
    order: 2;
}

.type-tour.loop-entry .entry-footer {
    padding-top: 1rem;
    border-top: 1px solid #e5e7eb;
    font-size: 0.875rem;
    display: flex;
    justify-content: space-between;
    margin-top: auto;
}

.type-tour.loop-entry .entry-old-price {
    color: #d1d5db;
    font-weight: bold;
}

.type-tour.loop-entry .entry-price span {
    font-weight: bold;
}

.type-tour.loop-entry .entry-tour-status {
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: end;
}

.type-tour.loop-entry .entry-tour-status div {
    display: flex;
}

.type-tour.loop-entry .entry-tour-status svg {
    width: 16px;
    height: 16px;
    margin-right: 4px;
    margin-top: 2px;
}

.type-tour.loop-entry .entry-tour-status .entry-tour-status__status {
    color: #059669;
}

.type-tour.loop-entry .entry-tour-status.is-fully-booked .entry-tour-status__status {
    color: #dc2626;
}

/*=============================================
=            Single Tour            =
=============================================*/
.tour-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 1rem;
    border-radius: 1.25rem;
    overflow: hidden;
    margin-bottom: 2.5rem;
}

.tour-gallery__item {
    overflow: hidden;
}

.tour-gallery__item:first-child {
    grid-row: 1 / span 2;
}

.tour-gallery__item img {
    height: 100%;
    object-fit: cover;
    transition: all ease-in-out .3s;
}

.tour-gallery__item:hover img {
    transform: scale(1.1);
}

@media (max-width: 767px) {
    .tour-gallery {
        gap: 0.5rem;
        margin-bottom: 2rem;
    }
}

.tour-meta {
    --columns: 3;
    display: grid;
    grid-template-columns: repeat(var(--columns), 1fr);
    gap: 1rem;
}

.tour-meta > div {
    display: flex;
}

.tour-meta-icon {
    width: 48px;
    height: 48px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    margin-right: 0.5rem;
}

.tour-meta-icon svg {
    width: 20px;
    height: 20px;
}

.tour-meta-info {
    font-size: 14px;
}

.tour-meta-info > * {
    display: block;
}

.tour-meta-info a {
    color: #4b5563;
}

.tour-status .tour-meta-icon,
.tour-status .tour-meta-info span {
    color: #059669;
}

.tour-status.is-fully-booked .tour-meta-icon,
.tour-status.is-fully-booked .tour-meta-info span {
    color: #dc2626;
}

@media (max-width: 767px) {
    .tour-meta {
        --columns: 1;
    }
}

.tour-section {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e5e7eb;
}

.tour-section h3 {
    margin-bottom: 1rem;
}

.tour-spec-list {
    margin: 0;
    padding: 0;
}

.tour-spec-list li {
    list-style-type: none;
    margin: 0 0 0.75rem 0;
    padding: 0;
}

.tour-spec-list li:before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    font-size: 12px;
    line-height: 20px;
    border-radius: 20px;
    margin-right: .5rem;
}

.tour-spec-list.is-positive li:before {
    content: '✓';
    background: #d1fae5;
    color: #10b981;
}

.tour-spec-list.is-negative li:before {
    content: '✗';
    background: #fee2e2;
    color: #ef4444;
}

.tour-itinerary details {
    border: 1px solid #d1d5db;
    padding: 1.25rem;
    border-radius: 1rem;
    background: #f9fafb;
}

.tour-itinerary details + details {
    margin-top: 1rem;
}

.tour-itinerary summary {
    cursor: pointer;
    outline: none;
    list-style: none;
    position: relative;
}

.tour-itinerary details > summary::marker, /* Latest Chrome, Edge, Firefox */
.tour-itinerary details > summary::-webkit-details-marker /* Safari */ {
  display: none;
}

summary::before, summary::after {
    width: 0.75em;
    height: 2px;
    position: absolute;
    top: 50%;
    right: 0;
    content: "";
    background-color: currentColor;
    text-align: right;
    transform: translateY(-50%);
    transition: transform 0.2s ease-in-out;
}
summary::after {
    transform: translateY(-50%) rotate(90deg);
}
[open] summary::after {
    transform: translateY(-50%) rotate(180deg);
}

.tour-itinerary__time {
    padding: 0.5rem 0.75rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    margin-right: 0.5rem;
    background: #fff;
}

.tour-itinerary__title {
    font-weight: 600;
}

.tour-itinerary__description {
    font-size: 14px;
    margin-top: 1rem;
}

.related-tours .splide__track {
    padding-bottom: 30px;
}

@media (min-width: 992px) {
    .tour-included-excluded-wrapper {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
}


/*=============================================
=            Block - Tours            =
=============================================*/
.gpc_block_tours__list {
    --columns: 3;
    --gap: 30px;
    --mobile-columns: 1;
    display: grid;
    grid-template-columns: repeat(var(--columns), 1fr);
    gap: var(--gap);
}

.gpc_block_tours__list.is-carousel {
    display: block;
}

.gpc_block_tours__list.is-carousel .splide__track {
    padding-bottom: 40px;
}

.gpc_block_tours__list.is-carousel .splide__slide {
    padding: 0 2px;
}

.gpc_block_tours__list.is-carousel .splide__pagination__page.is-active {
    background-color: #94a3b8;
}

.gpc_block_tours__list.is-carousel .splide__arrow:hover,
.gpc_block_tours__list.is-carousel .splide__arrow:focus {
    background-color: #94a3b8;
}

@media (max-width: 767px) {
    .gpc_block_tours__list {
        grid-template-columns: repeat(var(--mobile-columns), 1fr);
        gap: var(--gap);
    }
}

/*=============================================
=            Tour widgets            =
=============================================*/
.sidebar-slug-single-tour-sidebar .widget {
    background: #fff;
    border-radius: 20px;
    padding: 20px 20px;
    margin-bottom: 30px;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
}

/*---------- Booking form ---------- */
.widget_gpc_tour_booking_form {
    position: relative;
    overflow: hidden;
}

.widget_gpc_tour_booking_form .entry-sales-badge {
    position: absolute;
    width: 75px;
    height: 40px;
    line-height: 60px;
    transform: rotate(45deg);
    right: -25px;
    top: -7px;
    text-align: center;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    z-index: 8;
    background-color: #3366cc;
}

.widget_gpc_tour_booking_form .entry-old-price {
    color: #d1d5db;
    font-weight: bold;
}

.widget_gpc_tour_booking_form .entry-price span {
    font-weight: bold;
}

.custom-register-btn .kb-button { line-height: 36px !important; }

.custom-register-btn input[type=email] { padding-top: 12px !important; padding-bottom: 12px; }

#kt-scroll-up.scroll-up-side-right { bottom: 10px; }

.echbay-sms-messenger div.phonering-alo-sms { display: none; }

@media (max-width: 480px)
{
	.echbay-sms-messenger.style-for-position-br { right: 20px !important; }
}

.main-navigation .primary-menu-container > ul > li.menu-item > a
{
	padding-left: calc(1.5em / 2);
    padding-right: calc(1.5em / 2);
}

h1.entry-title { line-height: 36px; }

.single-post .single-content h2 { margin: 15px 0; line-height: 32px; }

.single-post .single-content h3 { margin: 15px 0; line-height: 28px; }

