/* Red Hana Tours V2 - responsive rules */
.rht-v2-home,
.rht-v2-excursion,
.rht-v2-booking {
    overflow-x: clip;
}

@media (max-width: 1120px) {
    .rht-v2-home nav {
        width: min(100% - 28px, var(--container-lg));
    }

    .rht-v2-home nav img {
        max-height: 72px;
    }

    .rht-v2-home .nav-links {
        gap: 0.72rem;
    }

    .rht-v2-home .nav-links a {
        font-size: 0.72rem;
    }
}

@media (max-width: 1024px) {
    .grid--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rht-v2-home .hero {
        min-height: 680px;
    }

    .rht-v2-home .hero-trust {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 620px;
    }

    .rht-v2-home .hero-trust-item:nth-child(odd) {
        border-left: 0;
    }

    .rht-v2-home .hero-trust-item:nth-child(n + 3) {
        border-top: 1px solid rgba(255, 255, 255, 0.18);
    }

    .rht-v2-excursion .excursion-summary,
    .rht-v2-excursion .excursion-info-grid,
    .rht-v2-excursion .excursion-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rht-v2-excursion .excursion-summary__item:nth-child(odd) {
        border-left: 0;
    }

    .rht-v2-excursion .excursion-summary__item:nth-child(n + 3) {
        border-top: 1px solid var(--color-line);
    }

    .rht-v2-excursion .excursion-booking {
        grid-template-columns: 1fr;
    }

    .rht-v2-excursion nav img {
        max-height: 72px;
    }

    .rht-v2-booking .booking-shell {
        grid-template-columns: 1fr;
    }

    .rht-v2-booking .booking-aside {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    html {
        scroll-padding-top: 82px;
    }

    .u-container,
    .u-container--narrow,
    .rht-v2-home .container {
        width: min(100% - 32px, var(--container-lg));
    }

    .rht-v2-home section {
        padding: 58px 16px;
    }

    .rht-v2-home nav {
        width: min(100% - 24px, var(--container-lg));
    }

    .rht-v2-home nav img {
        max-height: 62px;
    }

    .rht-v2-home .hero {
        min-height: 640px;
        height: auto;
        padding-block: 130px 76px;
        text-align: center;
        justify-content: center;
    }

    .rht-v2-home .hero-content {
        width: min(100% - 32px, 720px);
        padding-top: 0;
    }

    .rht-v2-home .hero-content h1,
    .rht-v2-home .hero-lead {
        margin-inline: auto;
    }

    .rht-v2-home .hero-overlay {
        background:
            radial-gradient(circle at 50% 24%, rgba(196, 46, 39, 0.22), transparent 34%),
            linear-gradient(0deg, rgba(17, 14, 12, 0.78), rgba(17, 14, 12, 0.34)),
            linear-gradient(90deg, rgba(17, 14, 12, 0.56), rgba(17, 14, 12, 0.2));
    }

    .rht-v2-home .hero-kicker,
    .rht-v2-home .hero-rating,
    .rht-v2-home .hero-actions {
        justify-content: center;
    }

    .rht-v2-home .hero-actions {
        margin-inline: auto;
    }

    .rht-v2-home .hero-trust {
        margin-inline: auto;
    }

    .grid--2,
    .grid--3 {
        grid-template-columns: 1fr;
    }

    .media--page-banner {
        aspect-ratio: 4 / 3;
    }

    .media--service-card,
    .media--excursion-card,
    .media--circuit-card,
    .media--blog-card {
        aspect-ratio: 4 / 3;
        min-height: 210px;
    }

    .media--vehicle {
        aspect-ratio: 16 / 10;
    }

    .media--destination {
        min-height: 230px;
    }

    .media--testimonial,
    .media--gallery {
        aspect-ratio: 3 / 4;
    }

    .rht-v2-home .tabs {
        display: grid;
        grid-template-columns: 1fr;
    }

    .rht-v2-home .tab-btn,
    .rht-v2-home .btn,
    .rht-v2-home .btn-small {
        min-height: 44px;
    }

    .rht-v2-excursion .excursion-hero {
        min-height: 620px;
        text-align: center;
    }

    .rht-v2-excursion .excursion-hero__content {
        width: min(100% - 32px, 720px);
    }

    .rht-v2-excursion .excursion-hero h1,
    .rht-v2-excursion .excursion-hero__lead {
        text-align: center;
        margin-inline: auto;
    }

    .rht-v2-excursion .excursion-hero__actions,
    .rht-v2-excursion .excursion-booking__actions {
        justify-content: center;
    }

    .rht-v2-excursion .excursion-page,
    .rht-v2-excursion .excursion-summary {
        width: min(100% - 32px, 1120px);
    }

    .rht-v2-excursion nav img {
        max-height: 58px;
    }

    .rht-v2-booking .container.booking-page {
        width: min(100% - 32px, 1180px);
        padding-top: 42px;
    }

    .rht-v2-booking nav img {
        max-height: 58px;
    }

    .rht-v2-booking .booking-aside,
    .rht-v2-booking .booking-grid {
        grid-template-columns: 1fr;
    }

    .rht-v2-booking .booking-card,
    .rht-v2-booking .booking-assurance-card,
    .rht-v2-booking .booking-summary-card {
        box-shadow: var(--shadow-sm);
    }

    .rht-v2-excursion .excursion-split,
    .rht-v2-excursion .excursion-gallery {
        grid-template-columns: 1fr;
    }

    .rht-v2-excursion .excursion-timeline::before {
        left: 18px;
    }

    .rht-v2-excursion .excursion-timeline__item {
        grid-template-columns: 1fr;
        padding-left: 44px;
        gap: 10px;
    }

    .rht-v2-excursion .excursion-timeline__item time {
        justify-self: start;
    }
}

@media (max-width: 480px) {
    .rht-v2-legacy nav,
    .rht-v2-legacy .container,
    .rht-v2-legacy .hero-content {
        width: min(100% - 24px, var(--container-lg));
    }

    .rht-v2-legacy nav img {
        max-height: 58px;
    }

    .rht-v2-legacy .hero {
        min-height: 690px;
        padding-block: 118px 54px;
    }

    .rht-v2-legacy .hero-content h1,
    .rht-v2-content h1,
    .rht-v2-booking h1 {
        font-size: clamp(2.1rem, 11vw, 3rem);
    }

    .rht-v2-legacy .form-grid,
    .rht-v2-legacy .quick-info,
    .rht-v2-legacy .features-grid,
    .rht-v2-legacy .service-grid,
    .rht-v2-legacy .fleet-grid,
    .rht-v2-legacy .dest-grid,
    .rht-v2-legacy .testimonial-grid,
    .rht-v2-legacy .gallery-grid,
    .rht-v2-legacy .reviews-grid,
    .rht-v2-legacy .why-grid,
    .rht-v2-legacy .stats-grid,
    .rht-v2-legacy .values-grid,
    .rht-v2-legacy .commitments-grid,
    .rht-v2-legacy .contact-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .rht-v2-legacy .btn,
    .rht-v2-legacy .btn-reserver,
    .rht-v2-legacy .btn-primary,
    .rht-v2-legacy .btn-wa,
    .rht-v2-legacy .btn-google,
    .rht-v2-legacy button[type="submit"] {
        width: 100%;
        min-height: 46px;
        text-align: center;
    }

    .rht-v2-legacy .hero-img {
        aspect-ratio: 4 / 3;
    }

    .rht-v2-home .hero-slide,
    .rht-v2-home .hero-slide .media,
    .rht-v2-home .media--hero-full {
        overflow: hidden;
    }

    .rht-v2-home .close-btn,
    .rht-v2-home .marquee-arrow,
    .rht-v2-home .faq-arrow,
    .rht-v2-excursion .share-copy {
        min-width: 44px;
        min-height: 44px;
    }

    .rht-v2-home a.btn,
    .rht-v2-home .btn-small,
    .rht-v2-home .promo-banner a,
    .rht-v2-home .promo-banner-plage a {
        min-height: 44px;
    }

    .rht-v2-home .hero {
        min-height: 720px;
        padding-block: 118px 54px;
    }

    .rht-v2-home .hero-content h1 {
        font-size: clamp(2.28rem, 12vw, 3.05rem);
    }

    .rht-v2-home .hero-kicker {
        font-size: 0.68rem;
        letter-spacing: 0.08em;
        padding-inline: 12px;
    }

    .rht-v2-home .hero-rating {
        border-radius: 8px;
        font-size: 0.9rem;
        line-height: 1.45;
    }

    .rht-v2-home .hero-slogan {
        margin-bottom: 22px;
    }

    .rht-v2-home .hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 24px;
    }

    .rht-v2-home .hero-trust {
        grid-template-columns: 1fr;
    }

    .rht-v2-home .hero-trust-item,
    .rht-v2-home .hero-trust-item + .hero-trust-item,
    .rht-v2-home .hero-trust-item:nth-child(n + 3) {
        min-height: 54px;
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.18);
    }

    .rht-v2-home .hero-trust-item:first-child {
        border-top: 0;
    }

    .rht-v2-home .section-title {
        font-size: clamp(1.85rem, 9vw, 2.25rem);
    }

    .rht-v2-home .btn {
        width: 100%;
        text-align: center;
    }

    .rht-v2-home .excursion-info,
    .rht-v2-home .fleet-info {
        padding: 18px;
    }

    .rht-v2-excursion .excursion-hero {
        min-height: 680px;
    }

    .rht-v2-excursion .excursion-kicker {
        font-size: 0.68rem;
        letter-spacing: 0.08em;
    }

    .rht-v2-excursion .excursion-summary,
    .rht-v2-excursion .excursion-info-grid,
    .rht-v2-excursion .excursion-feature-grid {
        grid-template-columns: 1fr;
    }

    .rht-v2-excursion .excursion-summary__item,
    .rht-v2-excursion .excursion-summary__item + .excursion-summary__item,
    .rht-v2-excursion .excursion-summary__item:nth-child(n + 3) {
        min-height: 64px;
        border-left: 0;
        border-top: 1px solid var(--color-line);
    }

    .rht-v2-excursion .excursion-summary__item:first-child {
        border-top: 0;
    }

    .rht-v2-excursion .excursion-btn,
    .rht-v2-excursion .excursion-booking__actions .btn {
        width: 100%;
    }

    .rht-v2-excursion .excursion-reassurance {
        grid-template-columns: 1fr;
    }

    .rht-v2-excursion .excursion-list-card,
    .rht-v2-excursion .excursion-review-card,
    .rht-v2-excursion .excursion-booking {
        padding: 22px;
    }

    .rht-v2-booking .container.booking-page {
        width: min(100% - 24px, 1180px);
    }

    .rht-v2-booking .booking-card,
    .rht-v2-booking .booking-assurance-card,
    .rht-v2-booking .booking-summary-card {
        padding: 20px;
    }

    .rht-v2-booking .booking-summary-card dl > div {
        display: grid;
        gap: 3px;
    }

    .rht-v2-booking .booking-summary-card dd {
        text-align: left;
    }

    .rht-v2-legacy .blog-hero,
    .rht-v2-legacy .page-hero,
    .rht-v2-legacy .excursion-hero,
    .rht-v2-legacy .circuit-hero,
    .rht-v2-legacy .hero-section,
    .rht-v2-legacy .airport-hero,
    .rht-v2-legacy .women-hero {
        min-height: 420px;
        padding-block: 74px;
    }

    .rht-v2-blog .container,
    .rht-v2-blog .blog-container,
    .rht-v2-legal .container,
    .rht-v2-transfer .container,
    .rht-v2-excursion-legacy .container,
    .rht-v2-circuit-legacy .container {
        width: min(100% - 28px, var(--container-lg));
        padding-block: 44px;
    }

    .rht-v2-blog .blog-grid,
    .rht-v2-legacy .excursions-grid,
    .rht-v2-legacy .circuits-grid,
    .rht-v2-legacy .related-grid,
    .rht-v2-legacy .cards-grid,
    .rht-v2-legacy .pricing-grid,
    .rht-v2-legacy .steps-grid,
    .rht-v2-legacy .airport-grid,
    .rht-v2-legacy .women-grid,
    .rht-v2-legacy .formules-grid,
    .rht-v2-legacy .pour-qui-grid,
    .rht-v2-legacy .counter-grid,
    .rht-v2-legacy .form-grid {
        grid-template-columns: 1fr;
    }

    .rht-v2-legacy .share-buttons,
    .rht-v2-legacy .share-icons,
    .rht-v2-legacy .meta-row {
        align-items: stretch;
    }

    .rht-v2-legacy .btn,
    .rht-v2-legacy .btn-reserver,
    .rht-v2-legacy .btn-primary,
    .rht-v2-legacy .btn-small,
    .rht-v2-legacy .btn-detail,
    .rht-v2-legacy .back-link,
    .rht-v2-legacy .share-btn,
    .rht-v2-legacy button[type="submit"] {
        width: 100%;
        min-height: 48px;
    }

    .rht-v2-legacy .price-table-wrapper,
    .rht-v2-legacy .pricing-table-wrapper,
    .rht-v2-legacy .table-wrapper {
        margin-inline: -2px;
    }
}

@media (max-width: 360px) {
    .rht-v2-home .counter-grid {
        grid-template-columns: 1fr;
    }

    .rht-v2-home .fleet-card,
    .rht-v2-home .hero-trust,
    .rht-v2-home .fleet-advantages,
    .rht-v2-home .quick-form-box {
        max-width: 100%;
    }

    .rht-v2-home .fleet-grid,
    .rht-v2-home .fleet-advantages,
    .rht-v2-home .quick-form-box {
        width: 100%;
    }

    .rht-v2-home .fleet-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .rht-v2-home .fleet-card {
        width: 100%;
    }

    .rht-v2-home .fleet-advantages {
        padding-inline: 16px !important;
    }

    .rht-v2-home [style*="minmax(280px"] {
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    }
}
