.ir-tour.ir-sotc,
.ir-tour.ir-sotc * {
    box-sizing: border-box;
}

/* v1.5.9: separate backend lists + stronger mobile boarding pass */
.ir-sotc .ir-mini-panel ul,
.ir-sotc .ir-subpanel ul,
.ir-sotc .ir-day-points {
    margin: 0;
    padding-left: 22px;
}

.ir-sotc .ir-mini-panel li,
.ir-sotc .ir-subpanel li,
.ir-sotc .ir-day-points li {
    margin: 8px 0;
    color: #07182f;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.65;
}

.ir-sotc .ir-mini-panel li::marker,
.ir-sotc .ir-subpanel li::marker,
.ir-sotc .ir-day-points li::marker {
    color: #ffcb05;
}

.ir-sotc .ir-accordion article > div p {
    font-weight: 400;
    line-height: 1.7;
}

.ir-sotc .ir-highlight-card li {
    font-weight: 500;
}

@media (max-width: 760px) {
    html body .ir-tour.ir-sotc .ir-wrap {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 12px !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-ticket,
    html body .ir-tour.ir-sotc section.ir-compact-ticket {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 12px auto 40px !important;
        overflow: hidden !important;
        border-radius: 22px !important;
        background: #fff !important;
    }

    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-copy {
        display: block !important;
        order: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 18px 16px 14px !important;
        overflow: visible !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image,
    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-image {
        display: block !important;
        order: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 180px !important;
        min-height: 180px !important;
        overflow: hidden !important;
        background: #fff !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image::before,
    html body .ir-tour.ir-sotc .ir-compact-image::after,
    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-image::before,
    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-image::after {
        display: none !important;
        content: none !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image img,
    html body .ir-tour.ir-sotc .ir-compact-image .ir-img-fallback {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-action {
        display: grid !important;
        order: 3 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 16px !important;
        border-left: 0 !important;
        border-top: 1px dashed #d8bd84 !important;
        background: #fff !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-action::before,
    html body .ir-tour.ir-sotc .ir-compact-action::after {
        display: none !important;
        content: none !important;
    }

    html body .ir-tour.ir-sotc .ir-badge-row,
    html body .ir-tour.ir-sotc .ir-stat-row,
    html body .ir-tour.ir-sotc .ir-service-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    html body .ir-tour.ir-sotc .ir-badge-row::-webkit-scrollbar,
    html body .ir-tour.ir-sotc .ir-stat-row::-webkit-scrollbar,
    html body .ir-tour.ir-sotc .ir-service-row::-webkit-scrollbar {
        display: none !important;
    }

    html body .ir-tour.ir-sotc .ir-badge-row span,
    html body .ir-tour.ir-sotc .ir-stat-row span {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-copy h2 {
        max-width: 100% !important;
        font-size: 33px !important;
        line-height: 1.08 !important;
        white-space: normal !important;
    }

    html body .ir-tour.ir-sotc .ir-stat-row span {
        font-size: 14px !important;
        line-height: 1.2 !important;
    }

    html body .ir-tour.ir-sotc .ir-service-row span {
        flex: 0 0 104px !important;
        min-width: 104px !important;
        height: 70px !important;
        padding: 9px 8px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
    }

    html body .ir-tour.ir-sotc .ir-service-row span::before {
        width: 18px !important;
        height: 18px !important;
        margin-bottom: 6px !important;
    }

    html body .ir-tour.ir-sotc .ir-ticket-place {
        max-width: 100% !important;
        font-size: 14px !important;
        white-space: normal !important;
    }

    html body .ir-tour.ir-sotc .ir-sotc-grid {
        display: block !important;
        width: 100% !important;
    }

    html body .ir-tour.ir-sotc .ir-gallery {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        width: 100% !important;
    }

    html body .ir-tour.ir-sotc .ir-gallery button.is-main {
        grid-column: 1 / -1 !important;
        height: 230px !important;
    }

    html body .ir-tour.ir-sotc .ir-gallery button:not(.is-main) {
        height: 128px !important;
    }

    html body .ir-tour.ir-sotc .ir-rail {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 20px !important;
    }

    html body .ir-tour.ir-sotc .ir-highlight-card,
    html body .ir-tour.ir-sotc .ir-help-card,
    html body .ir-tour.ir-sotc .ir-sidebar-banner,
    html body .ir-tour.ir-sotc .ir-side-cta {
        width: 100% !important;
        max-width: 100% !important;
    }

    html body .ir-tour.ir-sotc .ir-tabs,
    html body .ir-tour.ir-sotc .ir-subtabs {
        overflow-x: auto !important;
        white-space: nowrap !important;
        scrollbar-width: none !important;
    }

    html body .ir-tour.ir-sotc .ir-tabs::-webkit-scrollbar,
    html body .ir-tour.ir-sotc .ir-subtabs::-webkit-scrollbar {
        display: none !important;
    }

    html body .ir-tour.ir-sotc .ir-accordion article > div {
        display: block !important;
    }

    html body .ir-tour.ir-sotc .ir-accordion article > div img,
    html body .ir-tour.ir-sotc .ir-accordion article > div .ir-img-fallback {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 14px !important;
    }
}

/* v1.4.6 EOF HARD OVERRIDE: all packages exact filter layout */
@media (min-width: 1025px) {
    html body .ir-packages-page {
        max-width: 1740px !important;
        padding: 28px 22px 70px !important;
        background: #fff !important;
        font-family: Inter, "Segoe UI", Arial, sans-serif !important;
    }

    html body .ir-packages-page .ir-list-categories {
        display: none !important;
    }

    html body .ir-packages-page .ir-list-shell {
        display: grid !important;
        grid-template-columns: 348px minmax(0, 1fr) !important;
        gap: 32px !important;
        align-items: start !important;
    }

    html body .ir-packages-page .ir-list-filter {
        position: sticky !important;
        top: 92px !important;
        max-height: calc(100vh - 110px) !important;
        overflow: auto !important;
        padding: 28px !important;
        border: 1px solid #e8edf4 !important;
        border-radius: 16px !important;
        background: #fff !important;
        box-shadow: 0 14px 38px rgba(7,24,47,.06) !important;
    }

    html body .ir-packages-page .ir-sort-filterbar {
        display: grid !important;
        grid-template-columns: 130px minmax(190px, 1fr) 180px 190px 1.3fr !important;
        align-items: stretch !important;
        min-height: 52px !important;
        margin: 0 0 26px !important;
        overflow: hidden !important;
        border: 1px solid #e8edf3 !important;
        border-radius: 8px !important;
        background: #fff !important;
        box-shadow: 0 8px 22px rgba(7,24,47,.05) !important;
    }

    html body .ir-packages-page .ir-sort-label,
    html body .ir-packages-page .ir-top-filter,
    html body .ir-packages-page .ir-emi-note {
        display: flex !important;
        align-items: center !important;
        min-width: 0 !important;
        height: auto !important;
        border: 0 !important;
        border-right: 1px solid #eef1f5 !important;
        background: #fff !important;
        color: #17263b !important;
        font-size: 16px !important;
        font-weight: 650 !important;
    }

    html body .ir-packages-page .ir-sort-label {
        justify-content: center !important;
        color: #0c5f8c !important;
    }

    html body .ir-packages-page .ir-top-filter {
        position: relative !important;
        gap: 8px !important;
        padding: 0 18px !important;
    }

    html body .ir-packages-page .ir-top-filter.is-active:after {
        content: "" !important;
        position: absolute !important;
        left: 18px !important;
        right: 18px !important;
        bottom: 0 !important;
        height: 2px !important;
        background: #08769f !important;
    }

    html body .ir-packages-page .ir-top-filter select {
        width: 100% !important;
        min-width: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #07182f !important;
        font: inherit !important;
        outline: none !important;
    }

    html body .ir-packages-page .ir-emi-note {
        justify-content: center !important;
        border-right: 0 !important;
        color: #009b32 !important;
        font-weight: 760 !important;
    }

    html body .ir-packages-page .ir-list-package {
        display: grid !important;
        grid-template-columns: 220px minmax(0, 1fr) 210px !important;
        gap: 24px !important;
        min-height: 190px !important;
        padding: 18px 20px !important;
        overflow: visible !important;
        border: 1px solid #e8edf4 !important;
        border-radius: 18px !important;
        background: #fff !important;
        box-shadow: 0 18px 42px rgba(7,24,47,.07) !important;
    }

    html body .ir-packages-page .ir-list-package:before,
    html body .ir-packages-page .ir-list-package:after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        right: 206px !important;
        width: 44px !important;
        height: 44px !important;
        border: 1px solid #e8edf4 !important;
        border-radius: 50% !important;
        background: #f7f8fb !important;
        z-index: 2 !important;
    }

    html body .ir-packages-page .ir-list-package:before { top: -23px !important; }
    html body .ir-packages-page .ir-list-package:after { bottom: -23px !important; }

    html body .ir-packages-page .ir-list-image {
        height: 168px !important;
        min-height: 168px !important;
        margin: 0 !important;
        border-radius: 14px !important;
        overflow: hidden !important;
    }

    html body .ir-packages-page .ir-list-body {
        padding: 0 !important;
        min-width: 0 !important;
    }

    html body .ir-packages-page .ir-list-price {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        padding-left: 28px !important;
        border-left: 1px dashed #d7dce4 !important;
    }
}

html body .ir-packages-page .ir-filter-search input,
html body .ir-packages-page .ir-filter-select-group select {
    width: 100% !important;
    height: 48px !important;
    padding: 0 16px !important;
    border: 1px solid #d7dde7 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #07182f !important;
    font-size: 15px !important;
}

html body .ir-packages-page .ir-filter-search {
    margin-bottom: 26px !important;
}

html body .ir-packages-page .ir-list-filter [data-ir-destination-row].is-extra-destination {
    display: none !important;
}

html body .ir-packages-page .ir-list-filter.is-showing-all-destinations [data-ir-destination-row].is-extra-destination,
html body .ir-packages-page .ir-list-filter.is-searching-destinations [data-ir-destination-row] {
    display: flex !important;
}

html body .ir-packages-page .ir-list-wa:before,
html body .ir-packages-page .ir-list-wa:after,
html body .ir-packages-page .ir-list-enquire:before,
html body .ir-packages-page .ir-list-enquire:after {
    content: none !important;
    display: none !important;
}

html body .ir-packages-page .ir-list-wa {
    color: #25d366 !important;
}

html body .ir-packages-page .ir-list-wa svg {
    display: block !important;
    width: 25px !important;
    height: 25px !important;
    color: #25d366 !important;
}

@media (max-width: 1024px) {
    html body .ir-packages-page .ir-sort-filterbar {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        padding: 10px !important;
        margin: 0 20px 16px !important;
        background: #fff !important;
        border-radius: 10px !important;
    }

    html body .ir-packages-page .ir-sort-label,
    html body .ir-packages-page .ir-top-filter,
    html body .ir-packages-page .ir-emi-note {
        min-height: 44px !important;
        border: 1px solid #e3e8ef !important;
        border-radius: 10px !important;
        background: #fff !important;
        justify-content: center !important;
        padding: 0 10px !important;
    }

    html body .ir-packages-page .ir-emi-note {
        grid-column: 1 / -1 !important;
        color: #009b32 !important;
        font-size: 13px !important;
    }
}

/* v1.4.6 FINAL: premium all-packages filters + compact boarding-pass cards */
html body .ir-packages-page {
    --ir-navy: #07182f;
    --ir-gold: #d6a13a;
    --ir-soft: #f7f8fb;
    --ir-line: #e6d7bd;
    max-width: 1740px !important;
    padding: 28px 22px 70px !important;
    background: #fff !important;
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
    color: var(--ir-navy) !important;
}

@media (min-width: 761px) {
    html body .ir-packages-page .ir-list-categories {
        display: none !important;
    }
}

html body .ir-packages-page .ir-list-shell {
    display: grid !important;
    grid-template-columns: 348px minmax(0, 1fr) !important;
    gap: 32px !important;
    align-items: start !important;
}

html body .ir-packages-page .ir-list-filter {
    position: sticky !important;
    top: 92px !important;
    max-height: calc(100vh - 110px) !important;
    overflow: auto !important;
    padding: 28px !important;
    border: 1px solid #e8edf4 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 14px 38px rgba(7, 24, 47, .06) !important;
}

html body .ir-packages-page .ir-filter-title {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 24px !important;
}

html body .ir-packages-page .ir-filter-title strong {
    font-size: 22px !important;
    font-weight: 760 !important;
    letter-spacing: -.03em !important;
}

html body .ir-packages-page .ir-filter-title button,
html body .ir-packages-page .ir-view-more {
    border: 0 !important;
    background: transparent !important;
    color: #1f6fbd !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}

html body .ir-packages-page .ir-filter-search input,
html body .ir-packages-page .ir-filter-select-group select {
    width: 100% !important;
    height: 48px !important;
    padding: 0 16px !important;
    border: 1px solid #d7dde7 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--ir-navy) !important;
    font-size: 15px !important;
    outline: none !important;
}

html body .ir-packages-page .ir-filter-search {
    margin-bottom: 26px !important;
}

html body .ir-packages-page .ir-filter-group {
    margin: 0 0 30px !important;
}

html body .ir-packages-page .ir-filter-group h3 {
    margin: 0 0 14px !important;
    color: var(--ir-navy) !important;
    font-size: 20px !important;
    font-weight: 740 !important;
    letter-spacing: -.03em !important;
}

html body .ir-packages-page .ir-filter-group label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 11px 0 !important;
    color: #17263b !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
}

html body .ir-packages-page .ir-filter-group input[type="checkbox"] {
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    border: 1px solid #cfd5dd !important;
    border-radius: 4px !important;
    appearance: none !important;
    background: #fff !important;
}

html body .ir-packages-page .ir-filter-group input[type="checkbox"]:checked {
    border-color: var(--ir-gold) !important;
    background: linear-gradient(135deg, var(--ir-gold), #f5ca63) !important;
    box-shadow: inset 0 0 0 5px #fff !important;
}

html body .ir-packages-page .ir-list-filter [data-ir-destination-row].is-extra-destination {
    display: none !important;
}

html body .ir-packages-page .ir-list-filter.is-showing-all-destinations [data-ir-destination-row].is-extra-destination,
html body .ir-packages-page .ir-list-filter.is-searching-destinations [data-ir-destination-row] {
    display: flex !important;
}

html body .ir-packages-page .ir-sort-filterbar {
    display: grid !important;
    grid-template-columns: 130px minmax(180px, 1fr) 180px 190px 1.3fr !important;
    align-items: stretch !important;
    min-height: 52px !important;
    margin: 0 0 26px !important;
    overflow: hidden !important;
    border: 1px solid #e8edf3 !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(7, 24, 47, .05) !important;
}

html body .ir-packages-page .ir-sort-label,
html body .ir-packages-page .ir-top-filter,
html body .ir-packages-page .ir-emi-note {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    border: 0 !important;
    border-right: 1px solid #eef1f5 !important;
    background: #fff !important;
    color: #17263b !important;
    font-size: 16px !important;
    font-weight: 650 !important;
}

html body .ir-packages-page .ir-sort-label {
    justify-content: center !important;
    color: #0c5f8c !important;
    cursor: pointer !important;
}

html body .ir-packages-page .ir-top-filter {
    position: relative !important;
    gap: 8px !important;
    padding: 0 18px !important;
}

html body .ir-packages-page .ir-top-filter.is-active:after {
    content: "" !important;
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 0 !important;
    height: 2px !important;
    background: #08769f !important;
}

html body .ir-packages-page .ir-top-filter span {
    white-space: nowrap !important;
}

html body .ir-packages-page .ir-top-filter select {
    width: 100% !important;
    min-width: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--ir-navy) !important;
    font: inherit !important;
    outline: none !important;
}

html body .ir-packages-page .ir-emi-note {
    justify-content: center !important;
    border-right: 0 !important;
    color: #009b32 !important;
    font-weight: 760 !important;
}

html body .ir-packages-page .ir-showing {
    margin: 0 0 16px !important;
    color: #445064 !important;
    font-size: 16px !important;
}

html body .ir-packages-page .ir-package-list {
    display: grid !important;
    gap: 22px !important;
    padding: 0 !important;
}

html body .ir-packages-page .ir-list-package {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) 210px !important;
    gap: 24px !important;
    min-height: 190px !important;
    padding: 18px 20px !important;
    overflow: visible !important;
    border: 1px solid #e8edf4 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 18px 42px rgba(7, 24, 47, .07) !important;
}

html body .ir-packages-page .ir-list-package:before,
html body .ir-packages-page .ir-list-package:after {
    content: "" !important;
    position: absolute !important;
    right: 206px !important;
    width: 44px !important;
    height: 44px !important;
    border: 1px solid #e8edf4 !important;
    border-radius: 50% !important;
    background: #f7f8fb !important;
    z-index: 2 !important;
}

html body .ir-packages-page .ir-list-package:before {
    top: -23px !important;
}

html body .ir-packages-page .ir-list-package:after {
    bottom: -23px !important;
}

html body .ir-packages-page .ir-list-image {
    height: 168px !important;
    min-height: 168px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 14px !important;
}

html body .ir-packages-page .ir-list-image img,
html body .ir-packages-page .ir-list-image .ir-img-fallback {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
}

html body .ir-packages-page .ir-list-body {
    min-width: 0 !important;
    padding: 0 !important;
}

html body .ir-packages-page .ir-list-tags {
    display: flex !important;
    gap: 8px !important;
    margin: 0 0 10px !important;
}

html body .ir-packages-page .ir-list-tags span {
    padding: 7px 10px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #f3f5f8 !important;
    color: #4d596a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

html body .ir-packages-page .ir-list-body h2 {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 8px !important;
    color: var(--ir-navy) !important;
    font-size: 23px !important;
    line-height: 1.15 !important;
    font-weight: 760 !important;
    letter-spacing: -.04em !important;
}

html body .ir-packages-page .ir-list-body h2 a {
    color: inherit !important;
}

html body .ir-packages-page .ir-list-body h2 em {
    color: #223149 !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 650 !important;
}

html body .ir-packages-page .ir-list-route {
    margin: 0 0 14px !important;
    color: #4c5969 !important;
    font-size: 15px !important;
}

html body .ir-packages-page .ir-list-services {
    display: flex !important;
    gap: 26px !important;
    margin: 0 0 14px !important;
    color: #737d89 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

html body .ir-packages-page .ir-list-body ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

html body .ir-packages-page .ir-list-body li {
    color: #007d72 !important;
    font-size: 14px !important;
    font-weight: 650 !important;
}

html body .ir-packages-page .ir-list-body li:before {
    content: "✓" !important;
    margin-right: 7px !important;
}

html body .ir-packages-page .ir-list-price {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-left: 28px !important;
    border-left: 1px dashed #d7dce4 !important;
}

html body .ir-packages-page .ir-list-price small {
    margin-bottom: 8px !important;
    color: #737d89 !important;
    font-size: 14px !important;
}

html body .ir-packages-page .ir-list-price strong {
    display: block !important;
    color: var(--ir-navy) !important;
    font-size: 28px !important;
    line-height: 1.05 !important;
    font-weight: 820 !important;
    letter-spacing: -.04em !important;
}

html body .ir-packages-page .ir-list-price del {
    margin-top: 6px !important;
    color: #8e97a5 !important;
    font-size: 14px !important;
}

html body .ir-packages-page .ir-view-details {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 150px !important;
    height: 48px !important;
    margin-top: 16px !important;
    border-radius: 8px !important;
    background: #ff3540 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 780 !important;
}

html body .ir-packages-page .ir-list-price p {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 14px 0 0 !important;
}

html body .ir-packages-page .ir-list-wa,
html body .ir-packages-page .ir-list-enquire {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 42px !important;
    border: 1px solid #d4dbe5 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #25d366 !important;
    font-size: 0 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

html body .ir-packages-page .ir-list-wa {
    width: 42px !important;
    min-width: 42px !important;
    padding: 0 !important;
}

html body .ir-packages-page .ir-list-wa:before,
html body .ir-packages-page .ir-list-wa:after,
html body .ir-packages-page .ir-list-enquire:before,
html body .ir-packages-page .ir-list-enquire:after {
    content: none !important;
    display: none !important;
}

html body .ir-packages-page .ir-list-wa svg {
    display: block !important;
    width: 25px !important;
    height: 25px !important;
    color: #25d366 !important;
}

html body .ir-packages-page .ir-list-wa span {
    display: none !important;
}

html body .ir-packages-page .ir-list-enquire {
    width: auto !important;
    padding: 0 18px !important;
    color: #4b5563 !important;
    font-size: 15px !important;
}

html body .ir-packages-page .ir-list-enquire svg {
    width: 21px !important;
    height: 21px !important;
    margin-right: 8px !important;
    color: #b73943 !important;
}

@media (max-width: 1024px) {
    html body .ir-packages-page {
        padding: 18px 14px 92px !important;
        background: #f1f1f1 !important;
    }

    html body .ir-packages-page .ir-list-shell {
        display: block !important;
    }

    html body .ir-packages-page .ir-list-filter {
        position: fixed !important;
        inset: auto 0 0 0 !important;
        z-index: 10000 !important;
        display: none !important;
        max-height: 82vh !important;
        border-radius: 22px 22px 0 0 !important;
    }

    html body .ir-packages-page.is-filter-open .ir-list-filter {
        display: block !important;
    }

    html body .ir-packages-page .ir-sort-filterbar {
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        padding: 10px !important;
        background: #fff !important;
    }

    html body .ir-packages-page .ir-sort-label,
    html body .ir-packages-page .ir-top-filter,
    html body .ir-packages-page .ir-emi-note {
        min-height: 44px !important;
        border: 1px solid #e3e8ef !important;
        border-radius: 10px !important;
        justify-content: center !important;
    }

    html body .ir-packages-page .ir-emi-note {
        grid-column: 1 / -1 !important;
        font-size: 13px !important;
    }

    html body .ir-packages-page .ir-list-package {
        display: block !important;
        padding: 20px !important;
        border-radius: 10px !important;
    }

    html body .ir-packages-page .ir-list-package:before,
    html body .ir-packages-page .ir-list-package:after {
        display: none !important;
    }

    html body .ir-packages-page .ir-list-image {
        height: 220px !important;
        margin-bottom: 72px !important;
    }

    html body .ir-packages-page .ir-list-price p {
        position: absolute !important;
        left: 20px !important;
        right: 20px !important;
        top: 256px !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }

    html body .ir-packages-page .ir-list-wa,
    html body .ir-packages-page .ir-list-enquire {
        width: auto !important;
        height: 50px !important;
        border-radius: 4px !important;
        font-size: 17px !important;
        border-width: 2px !important;
    }

    html body .ir-packages-page .ir-list-wa {
        color: #16851f !important;
        border-color: #16851f !important;
    }

    html body .ir-packages-page .ir-list-wa span {
        display: inline !important;
        margin-left: 8px !important;
        font-size: 17px !important;
    }

    html body .ir-packages-page .ir-list-enquire {
        color: #b73943 !important;
        border-color: #b73943 !important;
    }

    html body .ir-packages-page .ir-list-price {
        display: block !important;
        padding: 0 !important;
        border: 0 !important;
    }

    html body .ir-packages-page .ir-list-body h2 {
        font-size: 25px !important;
    }

    html body .ir-packages-page .ir-list-body h2 em,
    html body .ir-packages-page .ir-list-services,
    html body .ir-packages-page .ir-list-body ul {
        display: none !important;
    }
}

/* v1.4.4: header-linked filters, premium package tickets and currency polish */
html body .ir-packages-page,
html body .ir-tour.ir-sotc {
    --ir-navy: #07182f;
    --ir-gold: #c99a2e;
    --ir-red: #ff343b;
    --ir-green: #20c763;
    font-family: "Aptos", "Inter", "Manrope", "Segoe UI", Arial, sans-serif !important;
    color: var(--ir-navy) !important;
}

html body .ir-packages-page .ir-list-results {
    min-width: 0 !important;
}

html body .ir-packages-page .ir-list-package {
    position: relative !important;
    grid-template-columns: 300px minmax(0, 1fr) 270px !important;
    gap: 22px !important;
    align-items: stretch !important;
    min-height: 246px !important;
    padding: 24px !important;
    border: 1px solid rgba(201, 154, 46, .20) !important;
    border-radius: 24px !important;
    background: linear-gradient(90deg, #fff 0%, #fff 76%, #fffdf8 100%) !important;
    box-shadow: 0 18px 44px rgba(7, 24, 47, .10) !important;
    overflow: visible !important;
}

html body .ir-packages-page .ir-list-package::before,
html body .ir-packages-page .ir-list-package::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    right: 246px !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: #f7f7f7 !important;
    border: 1px solid rgba(201, 154, 46, .15) !important;
    z-index: 2 !important;
}

html body .ir-packages-page .ir-list-package::before {
    top: -25px !important;
}

html body .ir-packages-page .ir-list-package::after {
    bottom: -25px !important;
}

html body .ir-packages-page .ir-list-price {
    position: relative !important;
    border-left: 1px dashed rgba(201, 154, 46, .50) !important;
    padding: 28px 0 24px 38px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
}

html body .ir-packages-page .ir-list-image {
    height: 246px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

html body .ir-packages-page .ir-list-image img,
html body .ir-packages-page .ir-list-image .ir-img-fallback {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
}

html body .ir-packages-page .ir-list-tags {
    gap: 8px !important;
    margin-bottom: 10px !important;
}

html body .ir-packages-page .ir-list-tags span {
    border: 0 !important;
    border-radius: 7px !important;
    background: #f4f4f4 !important;
    color: #4a5568 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    padding: 8px 10px !important;
}

html body .ir-packages-page .ir-list-body h2,
html body .ir-packages-page .ir-list-body h2 a {
    color: var(--ir-navy) !important;
    font-family: "Aptos Display", "Manrope", "Segoe UI", Arial, sans-serif !important;
    font-size: 25px !important;
    font-weight: 750 !important;
    letter-spacing: -.04em !important;
    line-height: 1.12 !important;
}

html body .ir-packages-page .ir-list-body h2 em {
    color: #27364c !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    margin-left: 8px !important;
}

html body .ir-packages-page .ir-list-route {
    color: #4d5b6f !important;
    font-size: 16px !important;
    font-weight: 450 !important;
    margin: 12px 0 !important;
}

html body .ir-packages-page .ir-list-services span {
    color: #6a7280 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

html body .ir-packages-page .ir-list-body ul {
    gap: 12px 16px !important;
}

html body .ir-packages-page .ir-list-body li {
    color: #00806f !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

html body .ir-packages-page .ir-list-price small {
    color: #68707f !important;
    font-size: 15px !important;
    font-weight: 450 !important;
}

html body .ir-packages-page .ir-list-price strong {
    color: var(--ir-navy) !important;
    font-family: "Aptos Display", "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 31px !important;
    font-weight: 850 !important;
    letter-spacing: -.045em !important;
    line-height: 1.05 !important;
}

html body .ir-packages-page .ir-list-price del {
    color: #8b94a3 !important;
    font-size: 15px !important;
    font-weight: 450 !important;
}

html body .ir-packages-page .ir-view-details {
    width: 180px !important;
    height: 52px !important;
    border-radius: 8px !important;
    background: var(--ir-red) !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
}

html body .ir-packages-page .ir-list-price p {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 18px !important;
}

html body .ir-packages-page .ir-list-wa,
html body .ir-packages-page .ir-list-enquire {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    height: 42px !important;
    border-radius: 999px !important;
    background: #fff !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

html body .ir-packages-page .ir-list-wa {
    width: 44px !important;
    border: 1px solid rgba(32, 199, 99, .35) !important;
    color: var(--ir-green) !important;
}

html body .ir-packages-page .ir-list-wa svg {
    width: 24px !important;
    height: 24px !important;
    color: var(--ir-green) !important;
    fill: currentColor !important;
}

html body .ir-packages-page .ir-list-wa::before {
    display: none !important;
}

html body .ir-packages-page .ir-list-wa span {
    display: none !important;
}

html body .ir-packages-page .ir-list-enquire {
    width: 150px !important;
    border: 1px solid #d8dde5 !important;
    color: #4a5568 !important;
}

html body .ir-packages-page .ir-list-enquire svg {
    width: 21px !important;
    height: 21px !important;
    color: #b43a44 !important;
}

html body .ir-packages-page .ir-filter-title strong,
html body .ir-packages-page .ir-filter-group h3,
html body .ir-packages-page .ir-popular-strip strong {
    font-family: "Aptos Display", "Manrope", "Segoe UI", Arial, sans-serif !important;
    font-weight: 760 !important;
    letter-spacing: -.03em !important;
}

@media (max-width: 760px) {
    html body .ir-packages-page .ir-list-package {
        display: block !important;
        padding: 20px !important;
        border-radius: 10px !important;
        min-height: 0 !important;
        background: #fff !important;
    }

    html body .ir-packages-page .ir-list-package::before,
    html body .ir-packages-page .ir-list-package::after {
        display: none !important;
    }

    html body .ir-packages-page .ir-list-price {
        border-left: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    html body .ir-packages-page .ir-list-price p {
        position: absolute !important;
        left: 20px !important;
        right: 20px !important;
        top: 254px !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 14px !important;
        margin: 0 !important;
    }

    html body .ir-packages-page .ir-list-wa,
    html body .ir-packages-page .ir-list-enquire {
        width: auto !important;
        height: 52px !important;
        border-radius: 4px !important;
        font-size: 18px !important;
        font-weight: 700 !important;
    }

    html body .ir-packages-page .ir-list-wa span,
    html body .ir-packages-page .ir-list-enquire span {
        display: inline !important;
    }
}

/* v1.4.3: All Holiday Packages listing + mobile single-tour polish */
.ir-packages-page {
    --ir-navy: #07182f;
    --ir-gold: #c99a2e;
    --ir-red: #ff383f;
    --ir-soft: #f5f6f8;
    --ir-line: #e3e6eb;
    width: min(1380px, calc(100vw - 34px));
    margin: 0 auto;
    padding: 26px 0 70px;
    color: var(--ir-navy);
    font-family: "Inter", "Manrope", "Segoe UI", Arial, sans-serif;
}

.ir-list-mobile-head {
    display: none;
}

.ir-list-categories {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    gap: 14px;
    align-items: center;
    margin: 0 0 24px;
}

.ir-cat-track {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.ir-cat-track::-webkit-scrollbar {
    display: none;
}

.ir-cat-arrow {
    height: 48px;
    border: 1px solid #cbd1d9;
    background: #fff;
    color: #7a8493;
    border-radius: 5px;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.ir-cat-card {
    position: relative;
    flex: 0 0 230px;
    height: 82px;
    overflow: hidden;
    border: 0;
    border-radius: 18px;
    background: #dfe5ea;
    color: #fff;
    cursor: pointer;
    scroll-snap-align: start;
    box-shadow: 0 12px 30px rgba(7, 24, 47, .1);
}

.ir-cat-card span,
.ir-cat-card img,
.ir-cat-card .ir-img-fallback {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
}

.ir-cat-card img,
.ir-cat-card .ir-img-fallback {
    object-fit: cover;
    filter: brightness(.58);
}

.ir-cat-card b {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    height: 100%;
    font-size: 17px;
    font-weight: 700;
    text-shadow: 0 2px 10px rgba(0,0,0,.35);
}

.ir-cat-card.is-active {
    outline: 3px solid rgba(201, 154, 46, .45);
}

.ir-list-shell {
    display: grid;
    grid-template-columns: 278px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.ir-list-filter {
    position: sticky;
    top: 88px;
    border: 1px solid #edf0f3;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 26px rgba(7, 24, 47, .08);
    padding: 24px;
}

.ir-filter-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.ir-filter-title strong,
.ir-filter-group h3 {
    margin: 0;
    color: #06172d;
    font-size: 19px;
    font-weight: 750;
    letter-spacing: -.02em;
}

.ir-filter-title button,
.ir-view-more,
.ir-showing button {
    border: 0;
    background: transparent;
    color: #2d6fb8;
    cursor: pointer;
    font: inherit;
}

.ir-filter-group {
    margin: 0 0 28px;
}

.ir-filter-group h3 {
    margin-bottom: 14px;
}

.ir-filter-group label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 10px 0;
    color: #07182f;
    font-size: 16px;
    line-height: 1.35;
}

.ir-filter-group input {
    width: 24px;
    height: 24px;
    border: 1px solid #d5dae1;
    accent-color: var(--ir-gold);
}

.ir-popular-strip {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    margin-bottom: 20px;
    padding: 18px;
    border-radius: 8px;
    background: #eee;
}

.ir-popular-strip strong {
    font-size: 17px;
    font-weight: 800;
}

.ir-popular-strip div {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 5px;
}

.ir-popular-strip button {
    flex: 0 0 auto;
    height: 38px;
    padding: 0 18px;
    border: 1px solid #cbd1d8;
    border-radius: 9px;
    background: #fff;
    color: #07182f;
    font-size: 15px;
    cursor: pointer;
}

.ir-showing {
    display: none;
}

.ir-package-list {
    display: grid;
    gap: 22px;
}

.ir-list-package {
    position: relative;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr) 270px;
    gap: 20px;
    min-height: 242px;
    padding: 20px 24px;
    border: 1px solid #edf0f3;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(7, 24, 47, .08);
}

.ir-list-package:before,
.ir-list-package:after {
    content: "";
    position: absolute;
    right: 255px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #f5f6f8;
    box-shadow: inset 0 0 0 1px #edf0f3;
    z-index: 2;
}

.ir-list-package:before {
    top: -22px;
}

.ir-list-package:after {
    bottom: -22px;
}

.ir-list-image {
    display: block;
    overflow: hidden;
    border-radius: 14px;
    background: #dce3ea;
}

.ir-list-image img,
.ir-list-image .ir-img-fallback {
    width: 100%;
    height: 100%;
    min-height: 206px;
    object-fit: cover;
    display: block;
}

.ir-list-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 10px;
}

.ir-list-tags span {
    padding: 7px 10px;
    border-radius: 6px;
    background: #f3f4f6;
    color: #3e4856;
    font-size: 13px;
}

.ir-list-body h2 {
    margin: 0 0 10px;
    color: #07182f;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 780;
    letter-spacing: -.025em;
}

.ir-list-body h2 a {
    color: inherit;
    text-decoration: none;
}

.ir-list-body h2 em {
    margin-left: 8px;
    color: #26364c;
    font-style: normal;
    font-size: 15px;
    font-weight: 550;
}

.ir-list-route {
    margin: 0 0 12px;
    color: #3f4a58;
    font-size: 15px;
}

.ir-list-services {
    display: flex;
    gap: 18px;
    margin-bottom: 12px;
    color: #777f89;
    font-size: 14px;
}

.ir-list-services span:before {
    content: "◼";
    display: block;
    color: #707780;
    font-size: 13px;
}

.ir-list-body ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
    color: #00807a;
    font-size: 14px;
}

.ir-list-body li:before {
    content: "✓";
    margin-right: 8px;
}

.ir-list-price {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 34px;
    border-left: 1px dashed #c9cdd4;
}

.ir-list-price small {
    color: #737b87;
    font-size: 15px;
}

.ir-list-price strong {
    margin: 8px 0;
    color: #1b2430;
    font-size: 27px;
    font-weight: 800;
    letter-spacing: -.035em;
}

.ir-list-price del {
    color: #8f96a1;
    font-size: 14px;
}

.ir-view-details {
    display: grid;
    place-items: center;
    width: 180px;
    height: 52px;
    margin: 10px 0 18px;
    border-radius: 7px;
    background: var(--ir-red);
    color: #fff !important;
    text-decoration: none;
    font-size: 18px;
    font-weight: 800;
}

.ir-list-price p {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.ir-list-enquire,
.ir-list-wa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    border-radius: 999px;
    text-decoration: none;
}

.ir-list-enquire {
    min-width: 142px;
    border: 1px solid #cfd4dc;
    color: #4a4f57 !important;
    background: #fff;
}

.ir-list-wa {
    width: 42px;
    overflow: hidden;
    border: 1px solid #cfd4dc;
    color: transparent !important;
    font-size: 0;
}

.ir-list-wa:before {
    content: "☘";
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    font-size: 16px;
}

.ir-mobile-actions {
    display: none;
}

@media (max-width: 980px) {
    .ir-packages-page {
        width: 100%;
        padding: 0 0 92px;
        background: #e9e9e9;
    }

    .ir-list-mobile-head {
        display: block;
    }

    .ir-list-appbar {
        position: sticky;
        top: 0;
        z-index: 15;
        display: flex;
        gap: 12px;
        align-items: center;
        height: 78px;
        padding: 0 20px;
        background: #fff;
        color: #20242a;
        font-size: 22px;
        box-shadow: 0 1px 0 #e7e7e7;
    }

    .ir-list-appbar span {
        font-size: 28px;
    }

    .ir-list-intro {
        margin: 0 20px 22px;
        padding: 22px 20px;
        border-radius: 4px;
        background: #fff;
        box-shadow: 0 3px 12px rgba(0,0,0,.12);
    }

    .ir-list-intro span {
        color: #777;
        font-size: 15px;
    }

    .ir-list-intro span b {
        color: #cf3038;
    }

    .ir-list-intro h1 {
        margin: 16px 0 8px;
        font-size: 34px;
        line-height: 1.05;
        font-weight: 750;
    }

    .ir-list-intro p {
        max-height: 23px;
        overflow: hidden;
        margin: 0 0 18px;
        color: #6d6d6d;
        font-size: 17px;
    }

    .ir-list-intro button {
        display: block;
        width: 100%;
        height: 54px;
        border: 2px solid #0b2537;
        border-radius: 5px;
        background: #fff;
        color: #111;
        font-size: 20px;
        font-weight: 700;
        text-transform: uppercase;
    }

    .ir-list-categories {
        grid-template-columns: 38px minmax(0, 1fr) 38px;
        gap: 10px;
        padding: 0 20px;
        margin-bottom: 22px;
    }

    .ir-cat-card {
        flex: 0 0 112px;
        height: 128px;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .ir-cat-card span {
        inset: 0 10px 32px;
        border: 2px dashed #0b2537;
        border-radius: 50%;
        padding: 4px;
        background: #fff;
    }

    .ir-cat-card img,
    .ir-cat-card .ir-img-fallback {
        border-radius: 50%;
        filter: none;
    }

    .ir-cat-card b {
        align-items: end;
        color: #111;
        text-shadow: none;
        font-size: 16px;
        font-weight: 750;
    }

    .ir-cat-arrow {
        border: 0;
        background: transparent;
        color: #0b2537;
        font-size: 42px;
    }

    .ir-list-shell {
        display: block;
    }

    .ir-list-filter {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 9999;
        width: min(86vw, 360px);
        max-height: 100vh;
        overflow-y: auto;
        transform: translateX(-105%);
        transition: transform .25s ease;
        border-radius: 0;
    }

    .ir-packages-page.is-filter-open .ir-list-filter {
        transform: translateX(0);
    }

    .ir-popular-strip {
        display: none;
    }

    .ir-showing {
        display: block;
        margin: 0 20px 14px;
        color: #252525;
        font-size: 18px;
    }

    .ir-showing button {
        color: #c73540;
        font-weight: 700;
    }

    .ir-package-list {
        padding: 0 20px;
        gap: 22px;
    }

    .ir-list-package {
        display: block;
        min-height: 0;
        padding: 20px;
        border-radius: 5px;
        box-shadow: 0 3px 12px rgba(0,0,0,.14);
    }

    .ir-list-package:before,
    .ir-list-package:after {
        display: none;
    }

    .ir-list-image {
        height: 220px;
        margin-bottom: 14px;
        border-radius: 8px;
    }

    .ir-list-image img,
    .ir-list-image .ir-img-fallback {
        min-height: 220px;
    }

    .ir-list-price {
        display: block;
        padding: 0;
        border: 0;
    }

    .ir-list-price p {
        position: absolute;
        left: 20px;
        right: 20px;
        top: 254px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .ir-list-enquire,
    .ir-list-wa {
        width: auto;
        height: 52px;
        border-radius: 4px;
        border-width: 2px;
        font-size: 18px;
        font-weight: 700;
    }

    .ir-list-wa {
        color: #16851f !important;
        border-color: #16851f;
    }

    .ir-list-wa:before {
        content: "☘";
        margin-right: 8px;
        background: transparent;
        color: #16851f;
    }

    .ir-list-enquire {
        color: #b73943 !important;
        border-color: #b73943;
    }

    .ir-list-body {
        padding-top: 66px;
    }

    .ir-list-body h2 {
        font-size: 25px;
        line-height: 1.2;
    }

    .ir-list-body h2 em {
        display: none;
    }

    .ir-list-route {
        font-size: 19px;
        color: #626262;
    }

    .ir-list-tags {
        margin: 12px 0;
    }

    .ir-list-tags span {
        border: 1px solid #e4e4e4;
        border-radius: 999px;
        background: #fff;
        color: #777;
        font-size: 16px;
        padding: 9px 16px;
    }

    .ir-list-services,
    .ir-list-body ul {
        display: none;
    }

    .ir-list-price small {
        display: block;
        margin-top: 18px;
        color: #5c5c5c;
        font-size: 18px;
    }

    .ir-list-price strong {
        display: block;
        font-size: 35px;
        line-height: 1;
    }

    .ir-list-price del {
        display: block;
        color: #b73943;
        font-size: 20px;
        font-weight: 700;
    }

    .ir-view-details {
        width: 230px;
        height: 62px;
        margin-top: 18px;
        border-radius: 5px;
        background: #d8333a;
        font-size: 24px;
    }

    .ir-mobile-actions {
        position: fixed;
        left: 50%;
        bottom: 18px;
        z-index: 9998;
        display: flex;
        overflow: hidden;
        transform: translateX(-50%);
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 8px 24px rgba(0,0,0,.22);
    }

    .ir-mobile-actions button {
        height: 56px;
        min-width: 150px;
        border: 0;
        background: #fff;
        color: #b73943;
        font-size: 18px;
        font-weight: 650;
    }

    .ir-mobile-actions button + button {
        border-left: 1px solid #ddd;
    }

    html body .ir-tour.ir-sotc {
        overflow-x: hidden !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-ticket,
    html body .ir-tour.ir-sotc section.ir-compact-ticket {
        width: calc(100vw - 24px) !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 10px auto 28px !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        overflow: visible !important;
        border-radius: 22px !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-copy,
    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-copy {
        min-height: 0 !important;
        height: auto !important;
        padding: 22px 18px !important;
        overflow: visible !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-copy h1 {
        font-size: 34px !important;
        line-height: 1.05 !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-facts,
    html body .ir-tour.ir-sotc .ir-compact-services {
        display: flex !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        padding-bottom: 8px !important;
        max-width: 100% !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-services span {
        flex: 0 0 118px !important;
        min-width: 118px !important;
        height: 76px !important;
        padding: 8px !important;
        overflow: visible !important;
        font-size: 12px !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image {
        min-height: 190px !important;
        height: 190px !important;
        order: -1 !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-action {
        min-height: 0 !important;
        height: auto !important;
        padding: 20px !important;
        display: grid !important;
        gap: 10px !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-action > * {
        position: static !important;
        width: auto !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-action p {
        display: grid !important;
        grid-template-columns: 1fr 44px !important;
        gap: 10px !important;
    }

    html body .ir-tour.ir-sotc .ir-gallery-section,
    html body .ir-tour.ir-sotc .ir-sotc-grid,
    html body .ir-tour.ir-sotc .ir-content-grid {
        display: block !important;
        width: calc(100vw - 24px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: visible !important;
    }

    html body .ir-tour.ir-sotc .ir-mini-nav {
        display: flex !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        padding: 10px 0 18px !important;
    }

    html body .ir-tour.ir-sotc .ir-mini-nav button {
        flex: 0 0 96px !important;
    }
}

/* v1.5.9 FINAL: backend-separated content and mobile boarding pass wins over older overrides */
.ir-sotc .ir-mini-panel ul,
.ir-sotc .ir-subpanel ul,
.ir-sotc .ir-day-points {
    margin: 0 !important;
    padding-left: 22px !important;
}

.ir-sotc .ir-mini-panel li,
.ir-sotc .ir-subpanel li,
.ir-sotc .ir-day-points li {
    margin: 8px 0 !important;
    color: #07182f !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}

.ir-sotc .ir-mini-panel li::marker,
.ir-sotc .ir-subpanel li::marker,
.ir-sotc .ir-day-points li::marker {
    color: #ffcb05 !important;
}

.ir-sotc .ir-accordion article > div p {
    font-weight: 400 !important;
    line-height: 1.7 !important;
}

@media (max-width: 760px) {
    html body .ir-tour.ir-sotc .ir-wrap {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 12px !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-ticket,
    html body .ir-tour.ir-sotc section.ir-compact-ticket {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 12px auto 40px !important;
        overflow: hidden !important;
        border-radius: 22px !important;
        background: #fff !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-copy,
    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-copy {
        display: block !important;
        order: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        padding: 18px 16px 14px !important;
        overflow: visible !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image,
    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-image {
        display: block !important;
        order: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 180px !important;
        min-height: 180px !important;
        overflow: hidden !important;
        background: #fff !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image::before,
    html body .ir-tour.ir-sotc .ir-compact-image::after,
    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-image::before,
    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-image::after {
        display: none !important;
        content: none !important;
        opacity: 0 !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image img,
    html body .ir-tour.ir-sotc .ir-compact-image .ir-img-fallback {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-action,
    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-action {
        display: grid !important;
        order: 3 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 16px !important;
        border-left: 0 !important;
        border-top: 1px dashed #d8bd84 !important;
        background: #fff !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-action::before,
    html body .ir-tour.ir-sotc .ir-compact-action::after {
        display: none !important;
        content: none !important;
    }

    html body .ir-tour.ir-sotc .ir-badge-row,
    html body .ir-tour.ir-sotc .ir-stat-row,
    html body .ir-tour.ir-sotc .ir-service-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    html body .ir-tour.ir-sotc .ir-badge-row::-webkit-scrollbar,
    html body .ir-tour.ir-sotc .ir-stat-row::-webkit-scrollbar,
    html body .ir-tour.ir-sotc .ir-service-row::-webkit-scrollbar {
        display: none !important;
    }

    html body .ir-tour.ir-sotc .ir-badge-row span,
    html body .ir-tour.ir-sotc .ir-stat-row span {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-copy h2 {
        max-width: 100% !important;
        font-size: 32px !important;
        line-height: 1.08 !important;
        white-space: normal !important;
    }

    html body .ir-tour.ir-sotc .ir-stat-row span {
        font-size: 14px !important;
        line-height: 1.2 !important;
    }

    html body .ir-tour.ir-sotc .ir-service-row span {
        flex: 0 0 104px !important;
        min-width: 104px !important;
        height: 70px !important;
        padding: 9px 8px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
    }

    html body .ir-tour.ir-sotc .ir-service-row span::before {
        width: 18px !important;
        height: 18px !important;
        margin-bottom: 6px !important;
    }

    html body .ir-tour.ir-sotc .ir-ticket-place {
        max-width: 100% !important;
        font-size: 14px !important;
        white-space: normal !important;
    }

    html body .ir-tour.ir-sotc .ir-sotc-grid {
        display: block !important;
        width: 100% !important;
    }

    html body .ir-tour.ir-sotc .ir-gallery {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        width: 100% !important;
    }

    html body .ir-tour.ir-sotc .ir-gallery button.is-main {
        grid-column: 1 / -1 !important;
        height: 230px !important;
    }

    html body .ir-tour.ir-sotc .ir-gallery button:not(.is-main) {
        height: 128px !important;
    }

    html body .ir-tour.ir-sotc .ir-rail {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 20px !important;
    }

    html body .ir-tour.ir-sotc .ir-highlight-card,
    html body .ir-tour.ir-sotc .ir-help-card,
    html body .ir-tour.ir-sotc .ir-sidebar-banner,
    html body .ir-tour.ir-sotc .ir-side-cta {
        width: 100% !important;
        max-width: 100% !important;
    }

    html body .ir-tour.ir-sotc .ir-tabs,
    html body .ir-tour.ir-sotc .ir-subtabs {
        overflow-x: auto !important;
        white-space: nowrap !important;
        scrollbar-width: none !important;
    }

    html body .ir-tour.ir-sotc .ir-tabs::-webkit-scrollbar,
    html body .ir-tour.ir-sotc .ir-subtabs::-webkit-scrollbar {
        display: none !important;
    }

    html body .ir-tour.ir-sotc .ir-accordion article > div {
        display: block !important;
    }

    html body .ir-tour.ir-sotc .ir-accordion article > div img,
    html body .ir-tour.ir-sotc .ir-accordion article > div .ir-img-fallback {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 14px !important;
    }
}

/* v1.4.6 ABSOLUTE LAST OVERRIDE: listing filters/cards */
@media (min-width: 1025px) {
html body .ir-packages-page{max-width:1740px!important;padding:28px 22px 70px!important;background:#fff!important;font-family:Inter,"Segoe UI",Arial,sans-serif!important}
html body .ir-packages-page .ir-list-categories{display:none!important}
html body .ir-packages-page .ir-list-shell{display:grid!important;grid-template-columns:348px minmax(0,1fr)!important;gap:32px!important;align-items:start!important}
html body .ir-packages-page .ir-list-filter{position:sticky!important;top:92px!important;max-height:calc(100vh - 110px)!important;overflow:auto!important;padding:28px!important;border:1px solid #e8edf4!important;border-radius:16px!important;background:#fff!important;box-shadow:0 14px 38px rgba(7,24,47,.06)!important}
html body .ir-packages-page .ir-sort-filterbar{display:grid!important;grid-template-columns:130px minmax(190px,1fr) 180px 190px 1.3fr!important;align-items:stretch!important;min-height:52px!important;margin:0 0 26px!important;overflow:hidden!important;border:1px solid #e8edf3!important;border-radius:8px!important;background:#fff!important;box-shadow:0 8px 22px rgba(7,24,47,.05)!important}
html body .ir-packages-page .ir-sort-label,html body .ir-packages-page .ir-top-filter,html body .ir-packages-page .ir-emi-note{display:flex!important;align-items:center!important;min-width:0!important;height:auto!important;border:0!important;border-right:1px solid #eef1f5!important;background:#fff!important;color:#17263b!important;font-size:16px!important;font-weight:650!important}
html body .ir-packages-page .ir-sort-label{justify-content:center!important;color:#0c5f8c!important}
html body .ir-packages-page .ir-top-filter{position:relative!important;gap:8px!important;padding:0 18px!important}
html body .ir-packages-page .ir-top-filter.is-active:after{content:""!important;position:absolute!important;left:18px!important;right:18px!important;bottom:0!important;height:2px!important;background:#08769f!important}
html body .ir-packages-page .ir-top-filter select{width:100%!important;min-width:0!important;border:0!important;background:transparent!important;color:#07182f!important;font:inherit!important;outline:none!important}
html body .ir-packages-page .ir-emi-note{justify-content:center!important;border-right:0!important;color:#009b32!important;font-weight:760!important}
html body .ir-packages-page .ir-list-package{display:grid!important;grid-template-columns:220px minmax(0,1fr) 210px!important;gap:24px!important;min-height:190px!important;padding:18px 20px!important;overflow:visible!important;border:1px solid #e8edf4!important;border-radius:18px!important;background:#fff!important;box-shadow:0 18px 42px rgba(7,24,47,.07)!important}
html body .ir-packages-page .ir-list-package:before,html body .ir-packages-page .ir-list-package:after{content:""!important;display:block!important;position:absolute!important;right:206px!important;width:44px!important;height:44px!important;border:1px solid #e8edf4!important;border-radius:50%!important;background:#f7f8fb!important;z-index:2!important}
html body .ir-packages-page .ir-list-package:before{top:-23px!important}
html body .ir-packages-page .ir-list-package:after{bottom:-23px!important}
html body .ir-packages-page .ir-list-image{height:168px!important;min-height:168px!important;margin:0!important;border-radius:14px!important;overflow:hidden!important}
html body .ir-packages-page .ir-list-image img,html body .ir-packages-page .ir-list-image .ir-img-fallback{width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important}
html body .ir-packages-page .ir-list-body{min-width:0!important;padding:0!important}
html body .ir-packages-page .ir-list-body h2{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:0 0 8px!important;color:#07182f!important;font-size:23px!important;line-height:1.15!important;font-weight:760!important;letter-spacing:-.04em!important}
html body .ir-packages-page .ir-list-price{display:flex!important;flex-direction:column!important;justify-content:center!important;padding-left:28px!important;border-left:1px dashed #d7dce4!important}
}
html body .ir-packages-page .ir-filter-search input,html body .ir-packages-page .ir-filter-select-group select{width:100%!important;height:48px!important;padding:0 16px!important;border:1px solid #d7dde7!important;border-radius:10px!important;background:#fff!important;color:#07182f!important;font-size:15px!important}
html body .ir-packages-page .ir-filter-search{margin-bottom:26px!important}
html body .ir-packages-page .ir-list-filter [data-ir-destination-row].is-extra-destination{display:none!important}
html body .ir-packages-page .ir-list-filter.is-showing-all-destinations [data-ir-destination-row].is-extra-destination,html body .ir-packages-page .ir-list-filter.is-searching-destinations [data-ir-destination-row]{display:flex!important}
html body .ir-packages-page .ir-list-wa:before,html body .ir-packages-page .ir-list-wa:after,html body .ir-packages-page .ir-list-enquire:before,html body .ir-packages-page .ir-list-enquire:after{content:none!important;display:none!important}
html body .ir-packages-page .ir-list-wa{color:#25d366!important}
html body .ir-packages-page .ir-list-wa svg{display:block!important;width:25px!important;height:25px!important;color:#25d366!important}
@media (max-width:1024px){
html body .ir-packages-page .ir-sort-filterbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px!important;margin:0 20px 16px!important;background:#fff!important;border-radius:10px!important}
html body .ir-packages-page .ir-sort-label,html body .ir-packages-page .ir-top-filter,html body .ir-packages-page .ir-emi-note{min-height:44px!important;border:1px solid #e3e8ef!important;border-radius:10px!important;background:#fff!important;justify-content:center!important;padding:0 10px!important}
html body .ir-packages-page .ir-emi-note{grid-column:1/-1!important;color:#009b32!important;font-size:13px!important}
}

/* v1.4.6 TRUE EOF OVERRIDE: all packages final layer */
@media (min-width: 1025px) {
    html body .ir-packages-page { max-width: 1740px !important; padding: 28px 22px 70px !important; background: #fff !important; font-family: Inter, "Segoe UI", Arial, sans-serif !important; }
    html body .ir-packages-page .ir-list-categories { display: none !important; }
    html body .ir-packages-page .ir-list-shell { display: grid !important; grid-template-columns: 348px minmax(0,1fr) !important; gap: 32px !important; align-items: start !important; }
    html body .ir-packages-page .ir-list-filter { position: sticky !important; top: 92px !important; max-height: calc(100vh - 110px) !important; overflow: auto !important; padding: 28px !important; border: 1px solid #e8edf4 !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 14px 38px rgba(7,24,47,.06) !important; }
    html body .ir-packages-page .ir-sort-filterbar { display: grid !important; grid-template-columns: 130px minmax(190px,1fr) 180px 190px 1.3fr !important; align-items: stretch !important; min-height: 52px !important; margin: 0 0 26px !important; overflow: hidden !important; border: 1px solid #e8edf3 !important; border-radius: 8px !important; background: #fff !important; box-shadow: 0 8px 22px rgba(7,24,47,.05) !important; }
    html body .ir-packages-page .ir-sort-label, html body .ir-packages-page .ir-top-filter, html body .ir-packages-page .ir-emi-note { display: flex !important; align-items: center !important; min-width: 0 !important; height: auto !important; border: 0 !important; border-right: 1px solid #eef1f5 !important; background: #fff !important; color: #17263b !important; font-size: 16px !important; font-weight: 650 !important; }
    html body .ir-packages-page .ir-sort-label { justify-content: center !important; color: #0c5f8c !important; }
    html body .ir-packages-page .ir-top-filter { position: relative !important; gap: 8px !important; padding: 0 18px !important; }
    html body .ir-packages-page .ir-top-filter.is-active:after { content: "" !important; position: absolute !important; left: 18px !important; right: 18px !important; bottom: 0 !important; height: 2px !important; background: #08769f !important; }
    html body .ir-packages-page .ir-top-filter select { width: 100% !important; min-width: 0 !important; border: 0 !important; background: transparent !important; color: #07182f !important; font: inherit !important; outline: none !important; }
    html body .ir-packages-page .ir-emi-note { justify-content: center !important; border-right: 0 !important; color: #009b32 !important; font-weight: 760 !important; }
    html body .ir-packages-page .ir-list-package { display: grid !important; grid-template-columns: 220px minmax(0,1fr) 210px !important; gap: 24px !important; min-height: 190px !important; padding: 18px 20px !important; overflow: visible !important; border: 1px solid #e8edf4 !important; border-radius: 18px !important; background: #fff !important; box-shadow: 0 18px 42px rgba(7,24,47,.07) !important; }
    html body .ir-packages-page .ir-list-package:before, html body .ir-packages-page .ir-list-package:after { content: "" !important; display: block !important; position: absolute !important; right: 206px !important; width: 44px !important; height: 44px !important; border: 1px solid #e8edf4 !important; border-radius: 50% !important; background: #f7f8fb !important; z-index: 2 !important; }
    html body .ir-packages-page .ir-list-package:before { top: -23px !important; }
    html body .ir-packages-page .ir-list-package:after { bottom: -23px !important; }
    html body .ir-packages-page .ir-list-image { height: 168px !important; min-height: 168px !important; margin: 0 !important; border-radius: 14px !important; overflow: hidden !important; }
    html body .ir-packages-page .ir-list-image img, html body .ir-packages-page .ir-list-image .ir-img-fallback { width: 100% !important; height: 100% !important; min-height: 0 !important; object-fit: cover !important; }
    html body .ir-packages-page .ir-list-body { min-width: 0 !important; padding: 0 !important; }
    html body .ir-packages-page .ir-list-body h2 { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin: 0 0 8px !important; color: #07182f !important; font-size: 23px !important; line-height: 1.15 !important; font-weight: 760 !important; letter-spacing: -.04em !important; }
    html body .ir-packages-page .ir-list-price { display: flex !important; flex-direction: column !important; justify-content: center !important; padding-left: 28px !important; border-left: 1px dashed #d7dce4 !important; }
}

html body .ir-packages-page .ir-filter-search input, html body .ir-packages-page .ir-filter-select-group select { width: 100% !important; height: 48px !important; padding: 0 16px !important; border: 1px solid #d7dde7 !important; border-radius: 10px !important; background: #fff !important; color: #07182f !important; font-size: 15px !important; }
html body .ir-packages-page .ir-filter-search { margin-bottom: 26px !important; }
html body .ir-packages-page .ir-list-filter [data-ir-destination-row].is-extra-destination { display: none !important; }
html body .ir-packages-page .ir-list-filter.is-showing-all-destinations [data-ir-destination-row].is-extra-destination, html body .ir-packages-page .ir-list-filter.is-searching-destinations [data-ir-destination-row] { display: flex !important; }
html body .ir-packages-page .ir-list-wa:before, html body .ir-packages-page .ir-list-wa:after, html body .ir-packages-page .ir-list-enquire:before, html body .ir-packages-page .ir-list-enquire:after { content: none !important; display: none !important; }
html body .ir-packages-page .ir-list-wa { color: #25d366 !important; }
html body .ir-packages-page .ir-list-wa svg { display: block !important; width: 25px !important; height: 25px !important; color: #25d366 !important; }

@media (max-width: 1024px) {
    html body .ir-packages-page .ir-sort-filterbar { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; padding: 10px !important; margin: 0 20px 16px !important; background: #fff !important; border-radius: 10px !important; }
    html body .ir-packages-page .ir-sort-label, html body .ir-packages-page .ir-top-filter, html body .ir-packages-page .ir-emi-note { min-height: 44px !important; border: 1px solid #e3e8ef !important; border-radius: 10px !important; background: #fff !important; justify-content: center !important; padding: 0 10px !important; }
    html body .ir-packages-page .ir-emi-note { grid-column: 1 / -1 !important; color: #009b32 !important; font-size: 13px !important; }
}

/* v1.4.5 HARD FINAL: compact premium all-packages page */
html body .ir-packages-page {
    width: min(1260px, calc(100vw - 42px)) !important;
    padding-top: 18px !important;
    font-family: "Aptos", "Inter", "Manrope", "Segoe UI", Arial, sans-serif !important;
}

html body .ir-packages-page .ir-list-categories {
    grid-template-columns: 32px minmax(0, 1fr) 32px !important;
    gap: 10px !important;
    margin-bottom: 20px !important;
}

html body .ir-packages-page .ir-cat-track {
    gap: 10px !important;
}

html body .ir-packages-page .ir-cat-card {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 128px !important;
    height: 44px !important;
    border: 1px solid rgba(201, 154, 46, .32) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #07182f !important;
    box-shadow: 0 8px 18px rgba(7, 24, 47, .06) !important;
    padding: 0 18px !important;
}

html body .ir-packages-page .ir-cat-card span,
html body .ir-packages-page .ir-cat-card img,
html body .ir-packages-page .ir-cat-card .ir-img-fallback {
    display: none !important;
}

html body .ir-packages-page .ir-cat-card b {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    color: #07182f !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    letter-spacing: -.01em !important;
    text-shadow: none !important;
}

html body .ir-packages-page .ir-cat-card.is-active {
    background: #07182f !important;
    border-color: #07182f !important;
    outline: 0 !important;
}

html body .ir-packages-page .ir-cat-card.is-active b {
    color: #f3c94b !important;
}

html body .ir-packages-page .ir-cat-arrow {
    width: 32px !important;
    height: 44px !important;
    border-radius: 999px !important;
    font-size: 22px !important;
}

html body .ir-packages-page .ir-list-shell {
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 24px !important;
}

html body .ir-packages-page .ir-list-filter {
    padding: 20px !important;
    border-radius: 16px !important;
}

html body .ir-packages-page .ir-filter-select-group select {
    width: 100% !important;
    height: 46px !important;
    border: 1px solid #d8dee8 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #07182f !important;
    padding: 0 12px !important;
    font: 600 14px "Aptos", "Inter", "Segoe UI", Arial, sans-serif !important;
    outline: none !important;
}

html body .ir-packages-page .ir-popular-strip {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    border-radius: 16px !important;
    background: #f6f2e8 !important;
    padding: 16px !important;
    margin-bottom: 18px !important;
}

html body .ir-packages-page .ir-popular-strip div {
    gap: 8px !important;
}

html body .ir-packages-page .ir-popular-strip button {
    height: 38px !important;
    border: 1px solid rgba(7, 24, 47, .14) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #07182f !important;
    padding: 0 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

html body .ir-packages-page .ir-list-package {
    grid-template-columns: 238px minmax(0, 1fr) 220px !important;
    gap: 18px !important;
    min-height: 198px !important;
    padding: 18px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(201, 154, 46, .24) !important;
    background: #fff !important;
    box-shadow: 0 14px 36px rgba(7, 24, 47, .085) !important;
}

html body .ir-packages-page .ir-list-package:before,
html body .ir-packages-page .ir-list-package:after {
    right: 199px !important;
    width: 44px !important;
    height: 44px !important;
    background: #f7f7f7 !important;
}

html body .ir-packages-page .ir-list-price {
    padding: 20px 0 18px 28px !important;
    border-left: 1px dashed rgba(201, 154, 46, .48) !important;
}

html body .ir-packages-page .ir-list-image {
    height: 198px !important;
    border-radius: 16px !important;
}

html body .ir-packages-page .ir-list-tags {
    margin-bottom: 8px !important;
}

html body .ir-packages-page .ir-list-tags span {
    font-size: 12px !important;
    padding: 7px 9px !important;
    border-radius: 7px !important;
}

html body .ir-packages-page .ir-list-body h2,
html body .ir-packages-page .ir-list-body h2 a {
    font-family: "Aptos Display", "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 22px !important;
    font-weight: 720 !important;
    letter-spacing: -.035em !important;
}

html body .ir-packages-page .ir-list-body h2 em {
    font-size: 13px !important;
    font-weight: 500 !important;
}

html body .ir-packages-page .ir-list-route {
    font-size: 14px !important;
    margin: 8px 0 10px !important;
}

html body .ir-packages-page .ir-list-services {
    gap: 16px !important;
    margin: 0 0 12px !important;
}

html body .ir-packages-page .ir-list-services span {
    font-size: 13px !important;
}

html body .ir-packages-page .ir-list-body ul {
    gap: 8px 14px !important;
}

html body .ir-packages-page .ir-list-body li {
    font-size: 13px !important;
}

html body .ir-packages-page .ir-list-price small {
    font-size: 13px !important;
}

html body .ir-packages-page .ir-list-price strong {
    font-family: "Aptos Display", "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 28px !important;
    font-weight: 820 !important;
}

html body .ir-packages-page .ir-view-details {
    width: 150px !important;
    height: 46px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
}

html body .ir-packages-page .ir-list-price p {
    gap: 8px !important;
    margin-top: 14px !important;
}

html body .ir-packages-page .ir-list-wa {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    border: 1px solid rgba(37, 211, 102, .55) !important;
    background: #fff !important;
    color: #25d366 !important;
    font-size: 0 !important;
}

html body .ir-packages-page .ir-list-wa:before,
html body .ir-packages-page .ir-list-wa:after {
    content: none !important;
    display: none !important;
}

html body .ir-packages-page .ir-list-wa svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    color: #25d366 !important;
    fill: currentColor !important;
}

html body .ir-packages-page .ir-list-wa span {
    display: none !important;
}

html body .ir-packages-page .ir-list-enquire {
    width: 138px !important;
    height: 42px !important;
    border-color: #d9dee7 !important;
    color: #4b5563 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

@media (max-width: 760px) {
    html body .ir-packages-page {
        width: 100% !important;
        padding-top: 0 !important;
    }

    html body .ir-packages-page .ir-list-categories {
        display: grid !important;
        grid-template-columns: 36px minmax(0, 1fr) 36px !important;
        padding: 0 14px !important;
    }

    html body .ir-packages-page .ir-cat-card {
        min-width: 92px !important;
        height: auto !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    html body .ir-packages-page .ir-cat-card span {
        display: block !important;
        position: relative !important;
        width: 78px !important;
        height: 78px !important;
        margin: 0 auto 8px !important;
        border: 2px dotted #07182f !important;
        border-radius: 50% !important;
        overflow: hidden !important;
    }

    html body .ir-packages-page .ir-cat-card img,
    html body .ir-packages-page .ir-cat-card .ir-img-fallback {
        display: block !important;
        position: absolute !important;
        inset: 6px !important;
        width: calc(100% - 12px) !important;
        height: calc(100% - 12px) !important;
        border-radius: 50% !important;
        object-fit: cover !important;
        filter: none !important;
    }

    html body .ir-packages-page .ir-cat-card b {
        color: #111 !important;
        font-size: 14px !important;
    }

    html body .ir-packages-page .ir-list-package {
        display: block !important;
        padding: 18px !important;
        border-radius: 12px !important;
        min-height: 0 !important;
    }

    html body .ir-packages-page .ir-list-image {
        height: 210px !important;
    }

    html body .ir-packages-page .ir-list-price {
        display: block !important;
        padding: 0 !important;
        border: 0 !important;
    }

    html body .ir-packages-page .ir-list-price p {
        position: absolute !important;
        left: 18px !important;
        right: 18px !important;
        top: 242px !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }

    html body .ir-packages-page .ir-list-wa,
    html body .ir-packages-page .ir-list-enquire {
        width: auto !important;
        height: 50px !important;
    }

    html body .ir-packages-page .ir-list-wa span,
    html body .ir-packages-page .ir-list-enquire span {
        display: inline !important;
        font-size: 17px !important;
    }
}

/* v1.4.4 FINAL OVERRIDES: premium all-packages ticket, header currency, real WhatsApp */
html body .ir-packages-page,
html body .ir-tour.ir-sotc {
    --ir-navy: #07182f;
    --ir-gold: #c99a2e;
    --ir-red: #ff343b;
    --ir-green: #20c763;
    font-family: "Aptos", "Inter", "Manrope", "Segoe UI", Arial, sans-serif !important;
    color: var(--ir-navy) !important;
}

html body .ir-packages-page .ir-list-package {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 300px minmax(0, 1fr) 270px !important;
    gap: 22px !important;
    align-items: stretch !important;
    min-height: 246px !important;
    padding: 24px !important;
    border: 1px solid rgba(201, 154, 46, .20) !important;
    border-radius: 24px !important;
    background: linear-gradient(90deg, #fff 0%, #fff 76%, #fffdf8 100%) !important;
    box-shadow: 0 18px 44px rgba(7, 24, 47, .10) !important;
    overflow: visible !important;
}

html body .ir-packages-page .ir-list-package::before,
html body .ir-packages-page .ir-list-package::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    right: 246px !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: #f7f7f7 !important;
    border: 1px solid rgba(201, 154, 46, .15) !important;
    z-index: 2 !important;
}

html body .ir-packages-page .ir-list-package::before { top: -25px !important; }
html body .ir-packages-page .ir-list-package::after { bottom: -25px !important; }

html body .ir-packages-page .ir-list-price {
    position: relative !important;
    border-left: 1px dashed rgba(201, 154, 46, .50) !important;
    padding: 28px 0 24px 38px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
}

html body .ir-packages-page .ir-list-image {
    height: 246px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
}

html body .ir-packages-page .ir-list-image img,
html body .ir-packages-page .ir-list-image .ir-img-fallback {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
}

html body .ir-packages-page .ir-list-tags span {
    border: 0 !important;
    border-radius: 7px !important;
    background: #f4f4f4 !important;
    color: #4a5568 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    padding: 8px 10px !important;
}

html body .ir-packages-page .ir-list-body h2,
html body .ir-packages-page .ir-list-body h2 a {
    color: var(--ir-navy) !important;
    font-family: "Aptos Display", "Manrope", "Segoe UI", Arial, sans-serif !important;
    font-size: 25px !important;
    font-weight: 750 !important;
    letter-spacing: -.04em !important;
    line-height: 1.12 !important;
}

html body .ir-packages-page .ir-list-body h2 em {
    color: #27364c !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    margin-left: 8px !important;
}

html body .ir-packages-page .ir-list-route {
    color: #4d5b6f !important;
    font-size: 16px !important;
    font-weight: 450 !important;
}

html body .ir-packages-page .ir-list-body li {
    color: #00806f !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

html body .ir-packages-page .ir-list-price small {
    color: #68707f !important;
    font-size: 15px !important;
    font-weight: 450 !important;
}

html body .ir-packages-page .ir-list-price strong {
    color: var(--ir-navy) !important;
    font-family: "Aptos Display", "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 31px !important;
    font-weight: 850 !important;
    letter-spacing: -.045em !important;
    line-height: 1.05 !important;
}

html body .ir-packages-page .ir-list-price del {
    color: #8b94a3 !important;
    font-size: 15px !important;
    font-weight: 450 !important;
}

html body .ir-packages-page .ir-view-details {
    width: 180px !important;
    height: 52px !important;
    border-radius: 8px !important;
    background: var(--ir-red) !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

html body .ir-packages-page .ir-list-price p {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 18px !important;
}

html body .ir-packages-page .ir-list-wa,
html body .ir-packages-page .ir-list-enquire {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 42px !important;
    border-radius: 999px !important;
    background: #fff !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

html body .ir-packages-page .ir-list-wa {
    width: 44px !important;
    border: 1px solid rgba(32, 199, 99, .35) !important;
    color: var(--ir-green) !important;
}

html body .ir-packages-page .ir-list-wa::before { display: none !important; }

html body .ir-packages-page .ir-list-wa svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    color: var(--ir-green) !important;
    fill: currentColor !important;
}

html body .ir-packages-page .ir-list-wa span { display: none !important; }

html body .ir-packages-page .ir-list-enquire {
    width: 150px !important;
    border: 1px solid #d8dde5 !important;
    color: #4a5568 !important;
}

html body .ir-packages-page .ir-list-enquire svg {
    width: 21px !important;
    height: 21px !important;
    color: #b43a44 !important;
}

@media (max-width: 760px) {
    html body .ir-packages-page .ir-list-package {
        display: block !important;
        padding: 20px !important;
        border-radius: 10px !important;
        min-height: 0 !important;
        background: #fff !important;
    }
    html body .ir-packages-page .ir-list-package::before,
    html body .ir-packages-page .ir-list-package::after {
        display: none !important;
    }
    html body .ir-packages-page .ir-list-price {
        border-left: 0 !important;
        padding: 0 !important;
        display: block !important;
    }
    html body .ir-packages-page .ir-list-price p {
        position: absolute !important;
        left: 20px !important;
        right: 20px !important;
        top: 254px !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 14px !important;
        margin: 0 !important;
    }
    html body .ir-packages-page .ir-list-wa,
    html body .ir-packages-page .ir-list-enquire {
        width: auto !important;
        height: 52px !important;
        border-radius: 4px !important;
        font-size: 18px !important;
        font-weight: 700 !important;
    }
    html body .ir-packages-page .ir-list-wa span,
    html body .ir-packages-page .ir-list-enquire span {
        display: inline !important;
    }
}

/* v1.4.3 icon cleanup */
html body .ir-packages-page .ir-list-wa:before {
    content: none !important;
    display: none !important;
}

html body .ir-packages-page .ir-list-wa svg,
html body .ir-packages-page .ir-list-enquire svg {
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
}

html body .ir-packages-page .ir-list-wa span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
}

html body .ir-packages-page .ir-list-enquire {
    gap: 7px !important;
}

@media (max-width: 980px) {
    html body .ir-packages-page .ir-list-wa,
    html body .ir-packages-page .ir-list-enquire {
        gap: 8px !important;
    }

    html body .ir-packages-page .ir-list-wa span {
        position: static !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        clip: auto !important;
    }
}

/* v1.0.7 final boarding-pass refinements */
.ir-sotc .ir-wrap {
    width: 1460px;
    max-width: calc(100% - 96px);
}

.ir-sotc .ir-compact-ticket {
    position: relative;
    overflow: hidden;
    border-color: #eadfcf;
    border-radius: 18px;
    box-shadow: 0 12px 38px rgba(7, 24, 47, .08);
}

.ir-sotc .ir-compact-ticket:before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 75% 0, rgba(201, 163, 78, .12), transparent 18%),
        linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.9) 38%, rgba(255,255,255,.15) 62%, rgba(255,255,255,.96) 100%);
    z-index: 1;
}

.ir-sotc .ir-compact-copy,
.ir-sotc .ir-compact-image,
.ir-sotc .ir-compact-action {
    position: relative;
    z-index: 2;
}

.ir-sotc .ir-compact-action:before,
.ir-sotc .ir-compact-action:after {
    content: "";
    position: absolute;
    left: -18px;
    z-index: 5;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
}

.ir-sotc .ir-compact-action:before {
    top: -18px;
    box-shadow: 0 1px 0 #eadfcf;
}

.ir-sotc .ir-compact-action:after {
    bottom: -18px;
    box-shadow: 0 -1px 0 #eadfcf;
}

.ir-sotc .ir-compact-copy h2 {
    letter-spacing: -.045em;
}

.ir-sotc .ir-stat-row span,
.ir-sotc .ir-service-row span,
.ir-sotc .ir-route-line,
.ir-sotc .ir-tabs button,
.ir-sotc .ir-subtabs button {
    font-family: Inter, Arial, Helvetica, sans-serif;
}

.ir-sotc .ir-route-line {
    gap: 24px;
    color: #142033;
    font-size: 17px;
    line-height: 1.5;
}

.ir-sotc .ir-pin {
    font-weight: 700;
}

.ir-sotc .ir-pin::first-letter {
    text-transform: uppercase;
}

.ir-sotc .ir-wa {
    font-size: 0;
}

.ir-sotc .ir-wa:before {
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    background: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='16' cy='16' r='15' fill='%2325D366'/%3E%3Cpath d='M9.6 23.1l1-3.7a7.1 7.1 0 1 1 2.8 2.7l-3.8 1Z' fill='white'/%3E%3Cpath d='M13.4 11.9c-.2-.5-.5-.5-.7-.5h-.6c-.2 0-.6.1-.9.4-.3.4-1.1 1.1-1.1 2.6s1.1 3 1.3 3.2c.2.2 2.1 3.4 5.2 4.5 2.6 1 3.1.8 3.7.7.6-.1 1.8-.8 2.1-1.5.3-.7.3-1.3.2-1.5-.1-.1-.3-.2-.7-.4l-2.1-1c-.3-.1-.6-.2-.8.2-.2.3-.9 1.1-1.1 1.3-.2.2-.4.2-.7.1-.4-.1-1.5-.5-2.8-1.7-1-1-1.7-2.1-1.9-2.4-.2-.4 0-.6.2-.8.2-.2.4-.4.5-.7.2-.2.2-.4.3-.7.1-.2 0-.5 0-.7l-1-2Z' fill='%2325D366'/%3E%3C/svg%3E") center/contain no-repeat;
}

.ir-sotc .ir-tabs {
    gap: 32px;
    height: 56px;
    padding: 0 20px;
}

.ir-sotc .ir-tabs button {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .01em;
}

.ir-sotc .ir-subtabs button {
    font-size: 15px;
    font-weight: 700;
}

.ir-sotc .ir-highlight-card li.is-hidden {
    display: none;
}

.ir-sotc .ir-highlight-card.is-expanded li.is-hidden {
    display: list-item;
}

.ir-sotc .ir-highlight-card > button {
    color: #111;
    background: #fffaf0;
}

.ir-sotc .ir-enquiry-modal {
    position: fixed;
    inset: 0;
    z-index: 10001;
    display: none;
    place-items: center;
    padding: 22px;
    background: rgba(7, 24, 47, .58);
}

.ir-sotc .ir-enquiry-modal.is-open {
    display: grid;
}

.ir-sotc .ir-enquiry-box {
    position: relative;
    width: min(520px, 100%);
    border-radius: 18px;
    background: #fff;
    padding: 28px;
    box-shadow: 0 22px 70px rgba(0,0,0,.22);
}

.ir-sotc .ir-enquiry-box h3 {
    margin: 0 0 18px;
    color: #07182f;
    font-size: 24px;
}

.ir-sotc .ir-enquiry-close {
    position: absolute;
    top: 14px;
    right: 16px;
    border: 0;
    background: transparent;
    color: #07182f;
    font-size: 24px;
    cursor: pointer;
}

.ir-sotc .ir-simple-form {
    display: grid;
    gap: 12px;
}

.ir-sotc .ir-simple-form input,
.ir-sotc .ir-simple-form textarea {
    width: 100%;
    border: 1px solid #d9dee6;
    border-radius: 10px;
    padding: 12px 13px;
    font: 500 14px/1.4 Inter, Arial, sans-serif;
}

.ir-sotc .ir-simple-form textarea {
    min-height: 96px;
    resize: vertical;
}

.ir-sotc .ir-simple-form button {
    border: 0;
    border-radius: 10px;
    background: #ff1b22;
    color: #fff;
    padding: 13px 18px;
    font-weight: 900;
    cursor: pointer;
}

@media (max-width: 1100px) {
    .ir-sotc .ir-wrap {
        width: min(100% - 24px, 900px);
        max-width: min(100% - 24px, 900px);
    }

    .ir-sotc .ir-compact-action:before,
    .ir-sotc .ir-compact-action:after {
        display: none;
    }
}

@media (max-width: 760px) {
    .ir-sotc .ir-wrap {
        width: 100%;
        max-width: 100%;
        padding: 0 12px;
    }

    .ir-sotc .ir-compact-ticket {
        overflow: visible;
    }

    .ir-sotc .ir-compact-action {
        min-height: 170px;
    }

    .ir-sotc .ir-route-line {
        font-size: 14px;
    }

    .ir-sotc .ir-tabs {
        gap: 22px;
        padding: 0 14px;
    }

    .ir-sotc .ir-enquiry-box {
        padding: 24px 18px;
    }
}

/* v1.3.7: hand-drawn palm SVG + soft image blend near ticket separator */
@media (min-width: 981px) {
    html body .ir-tour.ir-sotc .ir-compact-action {
        background:
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='210' height='175' viewBox='0 0 210 175'%3E%3Cdefs%3E%3ClinearGradient id='leaf' x1='1' y1='0' x2='.25' y2='1'%3E%3Cstop stop-color='%236ca44a'/%3E%3Cstop offset='.55' stop-color='%238ab85a'/%3E%3Cstop offset='1' stop-color='%23b4cf79' stop-opacity='.65'/%3E%3C/linearGradient%3E%3Cfilter id='soft' x='-10%25' y='-10%25' width='120%25' height='120%25'%3E%3CfeGaussianBlur stdDeviation='.18'/%3E%3C/filter%3E%3C/defs%3E%3Cg transform='translate(206 3)' filter='url(%23soft)'%3E%3Cpath d='M0 0C-33 15-59 39-78 77' stroke='%2372a94f' stroke-width='5.5' stroke-linecap='round' fill='none'/%3E%3Cpath d='M-4 2C-39-1-72 8-107 28' stroke='%237cab52' stroke-width='4.8' stroke-linecap='round' fill='none'/%3E%3Cpath d='M-8 11C-44 12-78 24-112 48' stroke='%2382b357' stroke-width='4.6' stroke-linecap='round' fill='none'/%3E%3Cpath d='M-15 25C-50 31-82 47-113 76' stroke='%2388b95d' stroke-width='4.5' stroke-linecap='round' fill='none'/%3E%3Cpath d='M-25 43C-57 55-84 78-110 112' stroke='%2392bf63' stroke-width='4.4' stroke-linecap='round' fill='none'/%3E%3Cpath d='M-37 62C-62 79-83 104-101 142' stroke='%239cc66b' stroke-width='4.2' stroke-linecap='round' fill='none'/%3E%3Cpath d='M-10 3C-30 0-50 5-68 17C-47 24-29 19-10 3Z' fill='url(%23leaf)' opacity='.9'/%3E%3Cpath d='M-20 15C-45 13-68 20-90 36C-65 42-43 35-20 15Z' fill='url(%23leaf)' opacity='.85'/%3E%3Cpath d='M-31 31C-58 34-80 45-101 67C-74 68-52 56-31 31Z' fill='url(%23leaf)' opacity='.78'/%3E%3Cpath d='M-45 53C-67 61-87 79-104 106C-80 101-62 84-45 53Z' fill='url(%23leaf)' opacity='.72'/%3E%3Cpath d='M-58 78C-75 92-90 113-101 145C-82 135-70 113-58 78Z' fill='url(%23leaf)' opacity='.66'/%3E%3C/g%3E%3C/svg%3E") top -24px right -24px/150px 124px no-repeat,
            #fff !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image {
        position: relative !important;
        overflow: hidden !important;
        background: #fff !important;
        isolation: isolate !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image:before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 3 !important;
        pointer-events: none !important;
        background:
            linear-gradient(90deg, #fff 0%, rgba(255,255,255,.92) 10%, rgba(255,255,255,.48) 24%, rgba(255,255,255,0) 42%),
            linear-gradient(270deg, #fff 0%, rgba(255,255,255,.9) 8%, rgba(255,255,255,.42) 21%, rgba(255,255,255,0) 39%) !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image:after {
        content: "" !important;
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 34px !important;
        z-index: 4 !important;
        pointer-events: none !important;
        background: linear-gradient(90deg, rgba(255,255,255,0), #fff 84%) !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image img,
    html body .ir-tour.ir-sotc .ir-compact-image .ir-img-fallback {
        position: relative !important;
        z-index: 1 !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-action {
        border-left: 1.5px dashed #d8bd84 !important;
    }
}

/* v1.3.9: image blends on left and right edges only, center stays clear */
@media (min-width: 981px) {
    html body .ir-tour.ir-sotc .ir-compact-image:before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 3 !important;
        pointer-events: none !important;
        background:
            linear-gradient(90deg, #fff 0%, rgba(255,255,255,.86) 8%, rgba(255,255,255,.34) 18%, rgba(255,255,255,0) 31%),
            linear-gradient(270deg, #fff 0%, rgba(255,255,255,.86) 8%, rgba(255,255,255,.34) 18%, rgba(255,255,255,0) 31%) !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image:after {
        display: none !important;
        content: none !important;
    }
}

/* v1.3.8: remove palm and keep image blend only near separator side */
@media (min-width: 981px) {
    html body .ir-tour.ir-sotc .ir-compact-action {
        background: #fff !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image:before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 3 !important;
        pointer-events: none !important;
        background: linear-gradient(270deg, #fff 0%, rgba(255,255,255,.88) 8%, rgba(255,255,255,.36) 19%, rgba(255,255,255,0) 34%) !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image:after {
        content: "" !important;
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 28px !important;
        z-index: 4 !important;
        pointer-events: none !important;
        background: linear-gradient(90deg, rgba(255,255,255,0), #fff 90%) !important;
    }
}

/* v1.3.2: rectangular subnav hover, sticky right rail, side CTA */
body .ir-tour.ir-sotc .ir-rail {
    position: sticky !important;
    top: 78px !important;
    align-self: start !important;
    z-index: 20 !important;
}

body.admin-bar .ir-tour.ir-sotc .ir-rail {
    top: 110px !important;
}

body .ir-tour.ir-sotc .ir-subtabs button,
body .ir-tour.ir-sotc .ir-subtabs button:hover,
body .ir-tour.ir-sotc .ir-subtabs button.is-active {
    border-radius: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body .ir-tour.ir-sotc .ir-subtabs button {
    padding: 0 12px !important;
    background: transparent !important;
    color: #f6d36b !important;
}

body .ir-tour.ir-sotc .ir-subtabs button:before {
    display: none !important;
    content: none !important;
}

body .ir-tour.ir-sotc .ir-subtabs button span {
    display: inline !important;
}

body .ir-tour.ir-sotc .ir-subtabs button:hover,
body .ir-tour.ir-sotc .ir-subtabs button.is-active {
    background: #ffd200 !important;
    color: #07182f !important;
}

body .ir-tour.ir-sotc .ir-side-cta {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 16px !important;
}

body .ir-tour.ir-sotc .ir-side-cta a,
body .ir-tour.ir-sotc .ir-side-cta button {
    height: 43px !important;
    border-radius: 9px !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

body .ir-tour.ir-sotc .ir-side-chat {
    flex: 1 1 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border: 1px solid #d8d8d8 !important;
    background: #fff !important;
    color: #555 !important;
}

body .ir-tour.ir-sotc .ir-side-chat:before {
    content: "" !important;
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.1 39.8 15 33A16.4 16.4 0 1 1 21.8 36l-8.7 3.8Z' fill='%23fff'/%3E%3Cpath d='M13.1 39.8 15 33A16.4 16.4 0 1 1 21.8 36l-8.7 3.8Zm9.1-6.6.5.1a13.4 13.4 0 1 0-5-4.7l.3.5-1 3.5 5.2-2.4Z' fill='%2325D366'/%3E%3Cpath d='M31.5 27.4c-.4-.2-2.5-1.2-2.9-1.4-.4-.1-.7-.2-1 .2-.3.4-1.1 1.4-1.4 1.7-.3.3-.5.3-1 .1-.4-.2-1.8-.7-3.5-2.2-1.3-1.1-2.2-2.6-2.4-3-.3-.4 0-.7.2-.9l.7-.8c.2-.3.3-.5.5-.8.1-.3.1-.6 0-.8-.1-.2-1-2.3-1.3-3.2-.4-.9-.7-.8-1-.8h-.8c-.3 0-.8.1-1.2.6-.4.4-1.6 1.6-1.6 3.8 0 2.2 1.6 4.4 1.9 4.7.2.3 3.2 4.9 7.8 6.9 1.1.5 2 .8 2.6 1 1.1.3 2.1.3 2.9.2.9-.1 2.5-1 2.9-2 .4-1 .4-1.9.3-2.1-.1-.2-.4-.3-.8-.5Z' fill='%2325D366'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

body .ir-tour.ir-sotc .ir-side-book {
    flex: 0 0 112px !important;
    border: 0 !important;
    background: #ff3838 !important;
    color: #fff !important;
}

@media (max-width: 760px) {
    body .ir-tour.ir-sotc .ir-rail {
        position: static !important;
        top: auto !important;
    }

    body .ir-tour.ir-sotc .ir-side-cta {
        position: sticky !important;
        bottom: 10px !important;
        z-index: 50 !important;
        padding: 10px !important;
        border-radius: 14px !important;
        background: rgba(255,255,255,.95) !important;
        box-shadow: 0 12px 28px rgba(7, 24, 47, .12) !important;
    }
}

/* v1.3.1: exact yellow hover, sticky package-detail subnav, default vertical banner */
body .ir-tour.ir-sotc .ir-subtabs.is-sub-fixed {
    position: fixed !important;
    z-index: 9997 !important;
    margin: 0 !important;
    border-radius: 0 0 14px 14px !important;
}

body.admin-bar .ir-tour.ir-sotc .ir-subtabs.is-sub-fixed {
    top: 90px !important;
}

body .ir-tour.ir-sotc .ir-subtabs.is-sub-fixed-spacer,
body .ir-tour.ir-sotc .ir-sub-fixed-spacer {
    display: block !important;
}

body .ir-tour.ir-sotc .ir-subtabs button {
    position: relative !important;
    overflow: hidden !important;
}

body .ir-tour.ir-sotc .ir-subtabs button:before {
    content: "" !important;
    position: absolute !important;
    inset: auto 10px 7px 10px !important;
    height: 5px !important;
    border-radius: 0 !important;
    background: #ffd200 !important;
    transform: scaleX(0) !important;
    transform-origin: left center !important;
    transition: transform .18s ease !important;
}

body .ir-tour.ir-sotc .ir-subtabs button:hover:before,
body .ir-tour.ir-sotc .ir-subtabs button.is-active:before {
    transform: scaleX(1) !important;
}

body .ir-tour.ir-sotc .ir-subtabs button:hover,
body .ir-tour.ir-sotc .ir-subtabs button.is-active {
    color: #ffd200 !important;
    background: rgba(255, 210, 0, .08) !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body .ir-tour.ir-sotc .ir-sidebar-banner {
    margin: 18px 0 !important;
}

body .ir-tour.ir-sotc .ir-sidebar-banner.is-empty {
    display: grid !important;
    place-items: center !important;
    padding: 24px !important;
    background:
        radial-gradient(circle at 80% 12%, rgba(246, 211, 107, .28), transparent 28%),
        linear-gradient(160deg, #07182f, #102743 58%, #c9a34e) !important;
    text-align: center !important;
}

body .ir-tour.ir-sotc .ir-sidebar-banner.is-empty span {
    display: grid !important;
    gap: 10px !important;
    color: #fff !important;
}

body .ir-tour.ir-sotc .ir-sidebar-banner.is-empty b {
    color: #f6d36b !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

body .ir-tour.ir-sotc .ir-sidebar-banner.is-empty strong {
    color: #fff !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 30px !important;
    line-height: 1.02 !important;
    font-weight: 500 !important;
    letter-spacing: -.035em !important;
}

body .ir-tour.ir-sotc .ir-sidebar-banner.is-empty em {
    color: rgba(255, 255, 255, .78) !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 14px !important;
    font-style: normal !important;
    line-height: 1.45 !important;
}

@media (max-width: 760px) {
    body .ir-tour.ir-sotc .ir-subtabs.is-sub-fixed {
        top: 54px !important;
    }

    body.admin-bar .ir-tour.ir-sotc .ir-subtabs.is-sub-fixed {
        top: 100px !important;
    }
}

/* v1.3.0: reliable sticky nav, premium package-details subnav, sidebar banner/help/related */
body .ir-tour.ir-sotc .ir-tabs.is-fixed {
    position: fixed !important;
    z-index: 9998 !important;
    margin: 0 !important;
}

body.admin-bar .ir-tour.ir-sotc .ir-tabs.is-fixed {
    top: 32px !important;
}

body .ir-tour.ir-sotc .ir-tabs-spacer {
    display: block !important;
}

body .ir-tour.ir-sotc .ir-subtabs {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 58px !important;
    padding: 8px 10px !important;
    overflow-x: auto !important;
    border-radius: 14px 14px 0 0 !important;
    border: 1px solid #07182f !important;
    border-bottom: 0 !important;
    background: #07182f !important;
    box-shadow: 0 12px 28px rgba(7, 24, 47, .16) !important;
    scrollbar-width: none !important;
}

body .ir-tour.ir-sotc .ir-subtabs::-webkit-scrollbar {
    display: none !important;
}

body .ir-tour.ir-sotc .ir-subtabs button {
    flex: 0 0 auto !important;
    min-height: 38px !important;
    padding: 0 16px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #f6d36b !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: -.01em !important;
}

body .ir-tour.ir-sotc .ir-subtabs button:hover,
body .ir-tour.ir-sotc .ir-subtabs button.is-active {
    color: #07182f !important;
    background: #f6d36b !important;
    border-color: #f6d36b !important;
    box-shadow: 0 8px 18px rgba(246, 211, 107, .16) !important;
}

body .ir-tour.ir-sotc .ir-sidebar-banner {
    display: block !important;
    width: 100% !important;
    height: 350px !important;
    margin-top: 18px !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    border: 1px solid #e7d8c0 !important;
    background: #fff !important;
    box-shadow: 0 14px 30px rgba(7, 24, 47, .08) !important;
}

body .ir-tour.ir-sotc .ir-sidebar-banner img,
body .ir-tour.ir-sotc .ir-sidebar-banner .ir-img-fallback {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body .ir-tour.ir-sotc .ir-help-card {
    display: grid !important;
    grid-template-columns: 46px 1fr !important;
    gap: 12px !important;
    align-items: center !important;
    margin-top: 18px !important;
    padding: 16px 18px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 14px !important;
    background: #f6f3f2 !important;
    color: #111827 !important;
}

body .ir-tour.ir-sotc .ir-help-card span {
    width: 42px !important;
    height: 42px !important;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%232b2b2b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='31' cy='21' r='12'/%3E%3Cpath d='M18 22c-4 0-7 3-7 7v5c0 3 2 5 5 5h4V25h-4M44 25h4c3 0 5 2 5 5v5c0 3-2 5-5 5h-4V25Z'/%3E%3Cpath d='M49 39c-2 7-8 11-17 11h-5'/%3E%3Cpath d='M20 43C10 46 7 52 7 59h48c0-7-3-13-13-16'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat !important;
}

body .ir-tour.ir-sotc .ir-help-card h3 {
    margin: 0 0 3px !important;
    color: #111 !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 21px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    letter-spacing: -.035em !important;
}

body .ir-tour.ir-sotc .ir-help-card p {
    margin: 2px 0 !important;
    color: #111 !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 13.5px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
}

body .ir-tour.ir-sotc .ir-related-packages {
    margin: 38px 0 0 !important;
    padding-bottom: 32px !important;
}

body .ir-tour.ir-sotc .ir-related-packages h2 {
    margin: 0 0 18px !important;
    color: #132238 !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    font-weight: 650 !important;
    letter-spacing: -.035em !important;
}

body .ir-tour.ir-sotc .ir-related-packages > div {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

body .ir-tour.ir-sotc .ir-related-packages a {
    display: block !important;
    overflow: hidden !important;
    min-height: 260px !important;
    border-radius: 16px !important;
    position: relative !important;
    color: #fff !important;
    background: #07182f !important;
    text-decoration: none !important;
    box-shadow: 0 16px 32px rgba(7, 24, 47, .12) !important;
}

body .ir-tour.ir-sotc .ir-related-packages img,
body .ir-tour.ir-sotc .ir-related-packages .ir-img-fallback {
    width: 100% !important;
    height: 260px !important;
    display: block !important;
    object-fit: cover !important;
    opacity: .82 !important;
}

body .ir-tour.ir-sotc .ir-related-packages a:after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, transparent 35%, rgba(7, 24, 47, .86)) !important;
}

body .ir-tour.ir-sotc .ir-related-packages span,
body .ir-tour.ir-sotc .ir-related-packages small {
    position: absolute !important;
    z-index: 2 !important;
    left: 18px !important;
    right: 18px !important;
}

body .ir-tour.ir-sotc .ir-related-packages span {
    bottom: 45px !important;
    font-size: 20px !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
}

body .ir-tour.ir-sotc .ir-related-packages small {
    bottom: 20px !important;
    color: #f6d36b !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

@media (max-width: 760px) {
    body.admin-bar .ir-tour.ir-sotc .ir-tabs.is-fixed {
        top: 46px !important;
    }

    body .ir-tour.ir-sotc .ir-subtabs {
        min-height: 52px !important;
        padding: 7px !important;
        border-radius: 12px 12px 0 0 !important;
    }

    body .ir-tour.ir-sotc .ir-subtabs button {
        min-height: 34px !important;
        padding: 0 13px !important;
        font-size: 12px !important;
    }

    body .ir-tour.ir-sotc .ir-sidebar-banner {
        height: 260px !important;
    }

    body .ir-tour.ir-sotc .ir-related-packages {
        padding: 0 14px 28px !important;
    }

    body .ir-tour.ir-sotc .ir-related-packages > div {
        display: flex !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
    }

    body .ir-tour.ir-sotc .ir-related-packages a {
        flex: 0 0 82vw !important;
        scroll-snap-align: start !important;
    }
}

.ir-tour.ir-sotc {
    --ir-red: #fb1010;
    --ir-dark: #222b38;
    --ir-muted: #656d78;
    --ir-border: #dcdfe4;
    --ir-bg: #fff;
    --ir-page: #fff;
    width: 100%;
    margin: 0;
    padding: 22px 0 72px;
    overflow-x: hidden;
    background: var(--ir-page);
    color: var(--ir-dark);
    font-family: Poppins, Arial, Helvetica, sans-serif;
}

.ir-sotc .ir-compact-ticket {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(260px, .95fr) 330px;
    align-items: stretch;
    min-height: 170px;
    max-height: 170px;
    margin: 0 0 26px;
    overflow: hidden;
    border: 1px solid #eadfcf;
    border-radius: 20px;
    background:
        radial-gradient(circle at 92% 0%, rgba(201,163,78,.12), transparent 26%),
        linear-gradient(90deg, #fff 0%, #fffdf8 45%, #fff 100%);
    box-shadow: 0 13px 34px rgba(20, 28, 42, .10);
}

.ir-sotc .ir-compact-copy {
    padding: 15px 24px;
    min-width: 0;
}

.ir-sotc .ir-family-badge,
.ir-sotc .ir-deal {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 28px;
    padding: 6px 12px;
    border-radius: 8px;
    background: #f0f8f4;
    color: #0d5f4f;
    font-size: 13px;
    font-weight: 700;
}

.ir-sotc .ir-family-badge:before {
    content: "";
    width: 18px;
    height: 18px;
    background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='none'%3E%3Ccircle cx='6' cy='5' r='2' fill='%23065f46'/%3E%3Ccircle cx='14' cy='5' r='2' fill='%23065f46'/%3E%3Cpath d='M3 15c.3-3 2-5 4-5s3.7 2 4 5M9 15c.3-3 2-5 4-5s3.7 2 4 5' stroke='%23065f46' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

.ir-sotc .ir-compact-copy h2 {
    margin: 10px 0 10px;
    color: #07182f;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 31px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -.8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ir-sotc .ir-stat-row {
    display: inline-flex;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid #eadbc6;
    border-radius: 8px;
    color: #1c2734;
    background: rgba(255,255,255,.84);
}

.ir-sotc .ir-stat-row span {
    padding: 7px 13px;
    border-right: 1px solid #eadbc6;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.ir-sotc .ir-stat-row span:last-child {
    border-right: 0;
}

.ir-sotc .ir-service-row {
    display: flex;
    gap: 20px;
    margin-top: 9px;
    color: #344154;
    font-size: 13px;
}

.ir-sotc .ir-service-row span {
    white-space: nowrap;
}

.ir-sotc .ir-compact-image {
    position: relative;
    min-width: 0;
    background: #f6efe4;
}

.ir-sotc .ir-compact-image:before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 45%;
    z-index: 2;
    background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.82) 48%, transparent 100%);
}

.ir-sotc .ir-compact-image img,
.ir-sotc .ir-compact-image .ir-img-fallback {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.ir-sotc .ir-compact-action {
    position: relative;
    display: block;
    padding: 0;
    border-left: 1px dashed #c8a46c;
    background: rgba(255,255,255,.86);
}

.ir-sotc .ir-deal {
    position: absolute;
    top: 14px;
    left: 22px;
    border: 1px solid #b8d8bc;
    color: #116b27;
    background: #f4fff5;
}

.ir-sotc .ir-compact-action small {
    position: absolute;
    top: 49px;
    left: 22px;
    color: #68707d;
    font-size: 12px;
}

.ir-sotc .ir-compact-action strong {
    position: absolute;
    top: 68px;
    left: 22px;
    color: #07182f;
    font-size: 24px;
    line-height: 1;
    font-weight: 800;
}

.ir-sotc .ir-compact-action strong:before {
    content: "\20B9";
}

.ir-sotc .ir-compact-action del {
    position: absolute;
    top: 76px;
    left: 122px;
    margin-left: 10px;
    color: #8d9299;
    font-size: 14px;
}

.ir-sotc .ir-compact-action button {
    position: absolute;
    left: 22px;
    top: 101px;
    width: 100%;
    width: calc(100% - 44px);
    height: 34px;
    margin-top: 1px;
    border: 0;
    border-radius: 9px;
    background: var(--ir-red);
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
}

.ir-sotc .ir-compact-action p {
    position: absolute;
    left: 22px;
    right: 22px;
    top: 139px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.ir-sotc .ir-compact-action p a:first-child {
    flex: 1;
    display: grid;
    place-items: center;
    height: 28px;
    border: 1px solid #bfc5cd;
    border-radius: 999px;
    color: #172235;
    font-size: 13px;
    font-weight: 700;
}

.ir-sotc .ir-wa {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid #70d882;
    border-radius: 50%;
    background: #fff;
    color: #25d366;
    font-size: 11px;
    font-weight: 900;
}

.ir-sotc a {
    color: inherit;
    text-decoration: none;
}

.ir-sotc button {
    font: inherit;
}

.ir-sotc .ir-wrap {
    width: 1578px;
    max-width: calc(100% - 54px);
    margin: 0 auto;
}

.ir-sotc-head {
    margin: 0 0 24px;
}

.ir-sotc-head h1 {
    display: inline;
    margin: 0 8px 0 0;
    color: #333842;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -.35px;
}

.ir-sotc .ir-rating {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: #192335;
    font-size: 15px;
    font-weight: 500;
}

.ir-sotc .ir-rating b:before {
    content: "\2605";
    color: #ffb400;
    font-size: 19px;
}

.ir-sotc .ir-route-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 34px;
    margin-top: 18px;
    color: #222936;
    font-size: 18px;
    font-weight: 600;
}

.ir-sotc .ir-cal:before,
.ir-sotc .ir-pin:before {
    content: "";
    display: inline-block;
    width: 23px;
    height: 23px;
    margin-right: 9px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    vertical-align: -5px;
}

.ir-sotc .ir-cal:before { background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='4' y='5' width='16' height='15' rx='2' stroke='%23666' stroke-width='2'/%3E%3Cpath d='M8 3v4M16 3v4M4 10h16' stroke='%23666' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ir-sotc .ir-pin:before { background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21s7-6.1 7-12a7 7 0 1 0-14 0c0 5.9 7 12 7 12Z' stroke='%23666' stroke-width='2'/%3E%3Ccircle cx='12' cy='9' r='2.5' stroke='%23666' stroke-width='2'/%3E%3C/svg%3E"); }

.ir-sotc-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 344px;
    gap: 30px;
    align-items: start;
}

.ir-sotc-main {
    min-width: 0;
}

.ir-sotc .ir-gallery {
    display: grid;
    grid-template-columns: 1.35fr .68fr .68fr;
    grid-template-rows: 150px 150px;
    gap: 14px;
    margin: 0 0 30px;
}

.ir-sotc .ir-gallery button {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 5px;
    background: #e8ecef;
    cursor: pointer;
}

.ir-sotc .ir-gallery .is-main {
    grid-row: span 2;
}

.ir-sotc .ir-gallery img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.ir-sotc .ir-img-fallback {
    width: 100%;
    height: 100%;
    background: linear-gradient(120deg, #e8f1ee, #f2ede3);
}

.ir-sotc .ir-gallery span {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 15px;
    border: 1px solid var(--ir-red);
    border-radius: 7px;
    background: #fff;
    color: var(--ir-red);
    font-size: 15px;
    line-height: 1;
    font-weight: 800;
}

.ir-sotc .ir-gallery span:before {
    content: "";
    width: 18px;
    height: 18px;
    display: inline-block;
    background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='none'%3E%3Ccircle cx='6' cy='5' r='2' fill='%23fb1010'/%3E%3Ccircle cx='14' cy='5' r='2' fill='%23fb1010'/%3E%3Cpath d='M3 15c.3-3 2-5 4-5s3.7 2 4 5M9 15c.3-3 2-5 4-5s3.7 2 4 5' stroke='%23fb1010' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

.ir-sotc .ir-gallery b {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: rgba(0, 0, 0, .36);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    text-decoration: underline;
}

.ir-sotc .ir-benefits {
    display: flex;
    gap: 47px;
    align-items: flex-start;
    margin: 0 0 24px;
    padding: 0 0 0 22px;
}

.ir-sotc .ir-benefits button {
    position: relative;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
}

.ir-sotc .ir-benefits button.is-active:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -33px;
    width: 32px;
    height: 32px;
    transform: translateX(-50%) rotate(45deg);
    background: #fff;
    border-left: 1px solid var(--ir-border);
    border-top: 1px solid var(--ir-border);
    box-shadow: -4px -4px 12px rgba(0, 0, 0, .04);
    z-index: 3;
}

.ir-sotc .ir-i {
    display: grid;
    justify-items: center;
    gap: 7px;
    min-width: 57px;
    color: #162134;
}

.ir-sotc .ir-i i {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #f01879;
    color: #fff;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 26px;
    box-shadow: 0 6px 14px rgba(0, 0, 0, .10);
}

.ir-sotc .ir-i i:before {
    content: "";
}

.ir-sotc .ir-hotel i { background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='6' y='4' width='16' height='20' rx='2' stroke='white' stroke-width='2'/%3E%3Cpath d='M10 8h2M16 8h2M10 13h2M16 13h2M10 18h2M16 18h2M4 24h20' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ir-sotc .ir-meal i { background-color: #ff7e45; }
.ir-sotc .ir-meal i { background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 4v20M6 4v7c0 2 1 3 3 3s3-1 3-3V4M19 4v20M19 4c3 2 4 5 4 9h-4' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ir-sotc .ir-eye i { background-color: #87479c; }
.ir-sotc .ir-eye i { background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='7' y='7' width='14' height='14' rx='3' stroke='white' stroke-width='2'/%3E%3Ccircle cx='14' cy='14' r='4' stroke='white' stroke-width='2'/%3E%3Cpath d='M18.5 6.5h.01' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ir-sotc .ir-car i { background-color: #f4c92f; }
.ir-sotc .ir-car i { background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 14l2-6h12l2 6M5 14h18v6H5v-6Z' stroke='white' stroke-width='2' stroke-linejoin='round'/%3E%3Ccircle cx='9' cy='20' r='2' fill='white'/%3E%3Ccircle cx='19' cy='20' r='2' fill='white'/%3E%3C/svg%3E"); }
.ir-sotc .ir-star i { background-color: #d69a31; }
.ir-sotc .ir-star i { background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 4l2.9 5.9 6.5 1-4.7 4.5 1.1 6.4L14 18.8l-5.8 3 1.1-6.4-4.7-4.5 6.5-1L14 4Z' stroke='white' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }

.ir-sotc .ir-i small {
    color: #172235;
    font-size: 15px;
    font-weight: 500;
}

.ir-sotc .ir-mini-panel {
    display: none;
    position: relative;
    min-height: 108px;
    margin: 0;
    padding: 24px 36px;
    border: 1px solid var(--ir-border);
    border-radius: 6px 6px 0 0;
    background: #fff;
    box-shadow: 0 3px 14px rgba(0,0,0,.04);
}

.ir-sotc .ir-mini-panel.has-active {
    display: block;
}

.ir-sotc .ir-mini-panel > div {
    display: none;
}

.ir-sotc .ir-mini-panel > div.is-active {
    display: block;
}

.ir-sotc .ir-mini-panel ul {
    margin: 0;
    padding-left: 18px;
}

.ir-sotc .ir-mini-panel li,
.ir-sotc .ir-mini-panel p {
    margin: 0 0 8px;
    color: #202836;
    font-size: 15px;
    line-height: 1.55;
}

.ir-sotc .ir-tabs {
    display: flex;
    align-items: center;
    gap: 34px;
    height: 54px;
    margin: 0 0 10px;
    padding: 0 16px;
    overflow-x: auto;
    border: 1px solid var(--ir-border);
    border-radius: 5px;
    background: #fff;
    scrollbar-width: none;
}

.ir-sotc .ir-mini-panel.has-active + .ir-tabs {
    border-radius: 0 0 6px 6px;
    border-top: 0;
}

.ir-sotc .ir-tabs button {
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    padding: 0;
    color: #263242;
    font-size: 16px;
    line-height: 1;
    font-weight: 800;
    cursor: pointer;
}

.ir-sotc .ir-tabs button.is-active {
    color: var(--ir-red);
}

.ir-sotc .ir-panel {
    display: none;
    margin: 10px 0 0;
    padding: 18px 20px;
    border: 1px solid var(--ir-border);
    border-radius: 6px;
    background: #fff;
}

.ir-sotc .ir-panel.is-active {
    display: block;
}

.ir-sotc .ir-panel h2 {
    margin: 0 0 22px;
    color: #1f2937;
    font-size: 22px;
    font-weight: 700;
}

.ir-sotc .ir-accordion {
    border: 1px solid var(--ir-border);
    border-radius: 6px;
    overflow: hidden;
}

.ir-sotc .ir-accordion article {
    border-bottom: 1px solid var(--ir-border);
}

.ir-sotc .ir-accordion article:last-child {
    border-bottom: 0;
}

.ir-sotc .ir-accordion article > button {
    display: grid;
    grid-template-columns: 90px 1fr 40px;
    gap: 16px;
    align-items: center;
    width: 100%;
    min-height: 72px;
    padding: 0 20px;
    border: 0;
    background: #fafafa;
    text-align: left;
    cursor: pointer;
}

.ir-sotc .ir-accordion article > button span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    border: 1px solid var(--ir-red);
    border-radius: 999px;
    background: #fff;
    color: #555;
    font-size: 15px;
    font-weight: 800;
}

.ir-sotc .ir-accordion article > button strong {
    color: #2b3440;
    font-size: 20px;
    font-weight: 700;
}

.ir-sotc .ir-accordion article > button i {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #fff;
    color: #777;
    font-size: 27px;
    font-style: normal;
    box-shadow: 0 1px 6px rgba(0,0,0,.18);
}

.ir-sotc .ir-accordion article > div {
    display: none;
    grid-template-columns: 338px 1fr;
    gap: 30px;
    padding: 20px;
}

.ir-sotc .ir-accordion article.is-open > div {
    display: grid;
}

.ir-sotc .ir-accordion img {
    display: block;
    width: 100%;
    height: 200px;
    border-radius: 8px;
    object-fit: cover;
}

.ir-sotc .ir-accordion p {
    margin: 0;
    color: #111827;
    font-size: 16px;
    line-height: 1.65;
}

.ir-sotc .ir-subtabs {
    display: flex;
    align-items: center;
    gap: 34px;
    min-height: 52px;
    margin: -18px -20px 18px;
    padding: 0 20px;
    overflow-x: auto;
    border-radius: 6px 6px 0 0;
    background: #f1eaea;
    scrollbar-width: none;
}

.ir-sotc .ir-subtabs button {
    flex: 0 0 auto;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    padding: 15px 0;
    color: #606060;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.ir-sotc .ir-subtabs button.is-active {
    border-color: var(--ir-red);
    color: var(--ir-red);
}

.ir-sotc .ir-subpanel {
    display: none;
}

.ir-sotc .ir-subpanel.is-active {
    display: block;
}

.ir-sotc .ir-subpanel h3 {
    margin: 0 0 16px;
    color: #27313f;
    font-size: 21px;
    font-weight: 800;
}

.ir-sotc .ir-subpanel li,
.ir-sotc .ir-subpanel p {
    margin-bottom: 14px;
    color: #1f2937;
    font-size: 16px;
    line-height: 1.6;
}

.ir-sotc .ir-subpanel li::marker {
    color: var(--ir-red);
}

.ir-sotc .ir-inc {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.ir-sotc .ir-rail {
    position: sticky;
    top: 18px;
    display: grid;
    gap: 20px;
}

.ir-sotc .ir-highlight-card {
    border: 1px solid var(--ir-border);
    border-color: #ff9f8b;
    border-radius: 9px;
    background: #fff6e9;
    overflow: hidden;
}

.ir-sotc .ir-highlight-card {
    padding: 26px 22px 18px;
}

.ir-sotc .ir-highlight-card h3 {
    display: inline-flex;
    margin: 0 0 18px;
    padding: 8px 18px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff4b20, #ffac26);
    color: #fff;
    font-size: 16px;
    font-weight: 800;
}

.ir-sotc .ir-highlight-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ir-sotc .ir-highlight-card li {
    position: relative;
    margin: 0 0 13px;
    padding-left: 22px;
    color: #111827;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 500;
}

.ir-sotc .ir-highlight-card li:before {
    content: "";
    position: absolute;
    left: 2px;
    top: 5px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff431f, #ffb129);
}

.ir-sotc .ir-highlight-card > button {
    display: block;
    min-width: 140px;
    height: 38px;
    margin: 20px auto 8px;
    border: 1px solid #222;
    border-radius: 5px;
    background: transparent;
    color: #111;
    font-size: 15px;
    cursor: pointer;
}

.ir-sotc .ir-highlight-art {
    width: 210px;
    height: 136px;
    margin: 8px auto 0;
    background:
        radial-gradient(circle at 72% 22%, #08192b 0 20px, transparent 21px),
        radial-gradient(circle at 40% 38%, #08192b 0 22px, transparent 23px),
        linear-gradient(110deg, transparent 36%, #2f73dd 37% 48%, transparent 49%),
        linear-gradient(70deg, transparent 42%, #2f73dd 43% 54%, transparent 55%),
        radial-gradient(ellipse at 52% 78%, #e9f5ff 0 46%, transparent 47%);
    border-radius: 8px;
}

.ir-sotc .ir-photo-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(3, 10, 22, .88);
    padding: 24px;
}

.ir-sotc .ir-photo-modal.is-open {
    display: flex;
}

.ir-sotc .ir-photo-modal img {
    max-width: min(1100px, 88vw);
    max-height: 84vh;
    border-radius: 12px;
    object-fit: contain;
    box-shadow: 0 30px 90px rgba(0,0,0,.4);
}

.ir-sotc .ir-photo-close,
.ir-sotc .ir-photo-prev,
.ir-sotc .ir-photo-next {
    position: absolute;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #07182f;
    cursor: pointer;
}

.ir-sotc .ir-photo-close {
    top: 22px;
    right: 24px;
    width: 40px;
    height: 40px;
    font-size: 22px;
}

.ir-sotc .ir-photo-prev,
.ir-sotc .ir-photo-next {
    top: 50%;
    width: 46px;
    height: 46px;
    transform: translateY(-50%);
    font-size: 32px;
}

.ir-sotc .ir-photo-prev { left: 28px; }
.ir-sotc .ir-photo-next { right: 28px; }
}

.ir-sotc .ir-chat {
    position: fixed;
    left: 24px;
    bottom: 22px;
    z-index: 9999;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    border-radius: 999px;
    background: #fff;
    color: #111;
    font-weight: 900;
    box-shadow: 0 8px 30px rgba(0,0,0,.15);
}

.ir-sotc .ir-chat span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    font-size: 0;
}

.ir-sotc .ir-chat span:before {
    content: "\f525";
    font-family: dashicons;
    font-size: 16px;
}

.ir-exact-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 18px;
}

.ir-exact-list a {
    display: grid;
    gap: 10px;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
    text-decoration: none;
    color: #111;
    box-shadow: 0 8px 22px rgba(0,0,0,.08);
}

.ir-exact-list img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.ir-exact-list strong {
    padding: 0 14px 14px;
}

@media (max-width: 1100px) {
    .ir-sotc .ir-compact-ticket {
        grid-template-columns: 1fr;
        max-height: none;
    }

    .ir-sotc .ir-compact-image {
        min-height: 180px;
    }

    .ir-sotc .ir-wrap {
        width: min(100% - 24px, 900px);
    }

    .ir-sotc-grid {
        grid-template-columns: 1fr;
    }

    .ir-sotc .ir-rail {
        position: static;
        order: 2;
    }
}

@media (max-width: 760px) {
    .ir-tour.ir-sotc {
        padding: 14px 0 80px;
    }

    .ir-sotc .ir-wrap {
        width: 100%;
        max-width: 100%;
        padding: 0 12px;
    }

    .ir-sotc .ir-compact-ticket {
        border-radius: 16px;
        min-height: 0;
        margin-bottom: 18px;
    }

    .ir-sotc .ir-compact-copy {
        padding: 18px 16px;
    }

    .ir-sotc .ir-compact-copy h2 {
        font-size: 27px;
    }

    .ir-sotc .ir-stat-row {
        display: flex;
        overflow-x: auto;
    }

    .ir-sotc .ir-service-row {
        overflow-x: auto;
    }

    .ir-sotc .ir-compact-action {
        padding: 16px;
        border-left: 0;
        border-top: 1px dashed #c8a46c;
    }

    .ir-sotc-head h1 {
        display: block;
        margin-bottom: 5px;
        font-size: 23px;
    }

    .ir-sotc .ir-route-line {
        display: grid;
        gap: 8px;
        font-size: 14px;
    }

    .ir-sotc .ir-gallery {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        grid-template-rows: none;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .ir-sotc .ir-gallery button,
    .ir-sotc .ir-gallery .is-main {
        flex: 0 0 86vw;
        height: 230px;
        min-height: 230px;
        scroll-snap-align: start;
    }

    .ir-sotc .ir-benefits {
        gap: 20px;
        padding-left: 0;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .ir-sotc .ir-tabs {
        gap: 28px;
        height: 52px;
        overflow-x: auto;
    }

    .ir-sotc .ir-tabs button {
        font-size: 14px;
        white-space: nowrap;
    }

    .ir-sotc .ir-highlight-card {
        padding: 22px 20px 16px;
    }

    .ir-sotc .ir-photo-prev,
    .ir-sotc .ir-photo-next {
        width: 38px;
        height: 38px;
        font-size: 26px;
    }

    .ir-sotc .ir-panel {
        padding: 16px;
    }

    .ir-sotc .ir-accordion article > button {
        grid-template-columns: 72px 1fr 32px;
        gap: 10px;
        min-height: 62px;
        padding: 0 10px;
    }

    .ir-sotc .ir-accordion article > button strong {
        font-size: 15px;
    }

    .ir-sotc .ir-accordion article > div {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    .ir-sotc .ir-subtabs {
        gap: 24px;
        margin: -16px -16px 16px;
        padding: 0 16px;
        overflow-x: auto;
    }

    .ir-sotc .ir-subtabs button {
        font-size: 15px;
    }

    .ir-sotc .ir-inc {
        grid-template-columns: 1fr;
    }

    .ir-sotc .ir-rail-price {
        padding: 18px 18px 22px;
    }

    .ir-sotc .ir-rail-price em {
        margin-left: -18px;
        margin-right: -18px;
    }

    .ir-sotc .ir-chat {
        left: 14px;
        bottom: 16px;
        padding: 10px 14px;
    }
}

/* v1.0.7 cascade-lock overrides */
.ir-sotc .ir-wrap {
    width: 1460px;
    max-width: calc(100% - 96px);
}

.ir-sotc .ir-compact-ticket {
    position: relative;
    overflow: hidden;
    border-color: #eadfcf;
    border-radius: 18px;
    box-shadow: 0 12px 38px rgba(7, 24, 47, .08);
}

.ir-sotc .ir-compact-ticket:before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.9) 38%, rgba(255,255,255,.18) 62%, rgba(255,255,255,.98) 100%);
    z-index: 1;
}

.ir-sotc .ir-compact-copy,
.ir-sotc .ir-compact-image,
.ir-sotc .ir-compact-action {
    position: relative;
    z-index: 2;
}

.ir-sotc .ir-compact-action:before,
.ir-sotc .ir-compact-action:after {
    content: "";
    position: absolute;
    left: -18px;
    z-index: 5;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
}

.ir-sotc .ir-compact-action:before { top: -18px; box-shadow: 0 1px 0 #eadfcf; }
.ir-sotc .ir-compact-action:after { bottom: -18px; box-shadow: 0 -1px 0 #eadfcf; }

.ir-sotc .ir-route-line {
    gap: 24px;
    color: #142033;
    font-size: 17px;
    line-height: 1.5;
}

.ir-sotc .ir-pin { font-weight: 700; }

.ir-sotc .ir-wa {
    font-size: 0;
}

.ir-sotc .ir-wa:before {
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    background: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='16' cy='16' r='15' fill='%2325D366'/%3E%3Cpath d='M9.6 23.1l1-3.7a7.1 7.1 0 1 1 2.8 2.7l-3.8 1Z' fill='white'/%3E%3Cpath d='M13.4 11.9c-.2-.5-.5-.5-.7-.5h-.6c-.2 0-.6.1-.9.4-.3.4-1.1 1.1-1.1 2.6s1.1 3 1.3 3.2c.2.2 2.1 3.4 5.2 4.5 2.6 1 3.1.8 3.7.7.6-.1 1.8-.8 2.1-1.5.3-.7.3-1.3.2-1.5-.1-.1-.3-.2-.7-.4l-2.1-1c-.3-.1-.6-.2-.8.2-.2.3-.9 1.1-1.1 1.3-.2.2-.4.2-.7.1-.4-.1-1.5-.5-2.8-1.7-1-1-1.7-2.1-1.9-2.4-.2-.4 0-.6.2-.8.2-.2.4-.4.5-.7.2-.2.2-.4.3-.7.1-.2 0-.5 0-.7l-1-2Z' fill='%2325D366'/%3E%3C/svg%3E") center/contain no-repeat;
}

.ir-sotc .ir-tabs {
    gap: 32px;
    height: 56px;
    padding: 0 20px;
}

.ir-sotc .ir-tabs button {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .01em;
}

.ir-sotc .ir-subtabs button {
    font-size: 15px;
    font-weight: 700;
}

.ir-sotc .ir-highlight-card li.is-hidden { display: none; }
.ir-sotc .ir-highlight-card.is-expanded li.is-hidden { display: list-item; }

.ir-sotc .ir-enquiry-modal {
    position: fixed;
    inset: 0;
    z-index: 10001;
    display: none;
    place-items: center;
    padding: 22px;
    background: rgba(7, 24, 47, .58);
}

.ir-sotc .ir-enquiry-modal.is-open { display: grid; }

.ir-sotc .ir-enquiry-box {
    position: relative;
    width: min(520px, 100%);
    border-radius: 18px;
    background: #fff;
    padding: 28px;
    box-shadow: 0 22px 70px rgba(0,0,0,.22);
}

.ir-sotc .ir-enquiry-close {
    position: absolute;
    top: 14px;
    right: 16px;
    border: 0;
    background: transparent;
    color: #07182f;
    font-size: 24px;
    cursor: pointer;
}

.ir-sotc .ir-simple-form {
    display: grid;
    gap: 12px;
}

.ir-sotc .ir-simple-form input,
.ir-sotc .ir-simple-form textarea {
    width: 100%;
    border: 1px solid #d9dee6;
    border-radius: 10px;
    padding: 12px 13px;
    font: 500 14px/1.4 Inter, Arial, sans-serif;
}

.ir-sotc .ir-simple-form textarea {
    min-height: 96px;
    resize: vertical;
}

.ir-sotc .ir-simple-form button {
    border: 0;
    border-radius: 10px;
    background: #ff1b22;
    color: #fff;
    padding: 13px 18px;
    font-weight: 900;
}

.ir-sotc .ir-compact-action strong:before {
    content: none;
}

@media (max-width: 1100px) {
    .ir-sotc .ir-wrap {
        width: min(100% - 24px, 900px);
        max-width: min(100% - 24px, 900px);
    }

    .ir-sotc .ir-compact-action:before,
    .ir-sotc .ir-compact-action:after {
        display: none;
    }
}

@media (max-width: 760px) {
    .ir-sotc .ir-wrap {
        width: 100%;
        max-width: 100%;
        padding: 0 12px;
    }

    .ir-sotc .ir-compact-ticket {
        overflow: visible;
    }

    .ir-sotc .ir-compact-action {
        min-height: 170px;
    }
}

/* v1.0.8 real boarding pass layout */
.ir-sotc .ir-wrap {
    width: 1490px;
    max-width: calc(100% - 112px);
}

.ir-sotc .ir-compact-ticket {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 355px;
    min-height: 280px;
    max-height: none;
    overflow: visible;
    margin: 0 auto 26px;
    border: 1px solid #e6e0d7;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(7, 24, 47, .08);
}

.ir-sotc .ir-compact-ticket:before {
    content: none;
}

.ir-sotc .ir-compact-copy {
    min-width: 0;
    padding: 22px 34px 20px;
    background: #fff;
}

.ir-sotc .ir-family-badge {
    height: 28px;
    margin: 0 4px 12px 0;
    padding: 0 12px;
    border-radius: 6px;
    background: #f5f5f5;
    color: #2f3338;
    font-size: 13px;
    font-weight: 500;
}

.ir-sotc .ir-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0 0 14px;
}

.ir-sotc .ir-family-badge:before {
    display: none;
}

.ir-sotc .ir-compact-copy h2 {
    display: inline-flex;
    margin: 0 18px 24px 0;
    color: #101010;
    font-family: Inter, Arial, Helvetica, sans-serif;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.12;
    vertical-align: middle;
}

.ir-sotc .ir-stat-row {
    display: inline-flex;
    width: auto;
    gap: 24px;
    margin: 0 0 24px;
    vertical-align: middle;
    border: 0;
}

.ir-sotc .ir-stat-row span {
    min-width: 0;
    border: 0;
    padding: 0;
    color: #1f2329;
    font-size: 17px;
    font-weight: 500;
}

.ir-sotc .ir-stat-row span:nth-child(3):before {
    content: "🌙";
    margin-right: 7px;
}

.ir-sotc .ir-stat-row span:nth-child(4):before {
    content: "☀️";
    margin-right: 7px;
}

.ir-sotc .ir-service-row {
    display: flex;
    gap: 30px;
    margin: 0 0 28px;
    overflow: visible;
}

.ir-sotc .ir-service-row span {
    position: relative;
    min-width: 66px;
    padding-top: 30px;
    color: #7d8289;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
}

.ir-sotc .ir-service-row span:before {
    position: absolute;
    top: 0;
    left: 50%;
    content: "";
    width: 25px;
    height: 25px;
    background: currentColor;
    color: #70757d;
    -webkit-mask: var(--ir-mask) center/contain no-repeat;
    mask: var(--ir-mask) center/contain no-repeat;
    transform: translateX(-50%);
}

.ir-sotc .ir-service-row span:nth-child(1) { --ir-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 10.5V6a2 2 0 0 1 2-2h5a2 2 0 0 1 2 2v5h9a2 2 0 0 1 2 2v6h-2v-3H3v3H1V8h2v2.5Zm2-4.5v4.5h5V6H5Zm-2 8h18v-1H3v1Z'/%3E%3C/svg%3E"); }
.ir-sotc .ir-service-row span:nth-child(2) { --ir-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 2h10a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm5 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 2.2a1.8 1.8 0 1 1 0 3.6 1.8 1.8 0 0 1 0-3.6ZM8 17h8v-2H8v2Z'/%3E%3C/svg%3E"); }
.ir-sotc .ir-service-row span:nth-child(3) { --ir-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 7a4 4 0 1 1 3.46 6H9.8l-2.3 3.8a3 3 0 1 1-2-1.05L8 11.6A4 4 0 0 1 8 7Zm8 0a4 4 0 1 1 0 8h-1.8l-2.3-3.8A4 4 0 0 1 16 7ZM6 18a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm12 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z'/%3E%3C/svg%3E"); }
.ir-sotc .ir-service-row span:nth-child(4) { --ir-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 6h12l2 5h2v6h-2a3 3 0 0 1-6 0H10a3 3 0 0 1-6 0H2v-6h2l2-5Zm1.4 2-1.2 3h11.6l-1.2-3H7.4ZM7 16a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm10 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z'/%3E%3C/svg%3E"); }
.ir-sotc .ir-service-row span:nth-child(5) { --ir-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m7 2 2 8h2V2h2v8h2l2-8h2l-2.3 9.2A4 4 0 0 1 14 14.7V22h-4v-7.3a4 4 0 0 1-2.7-3.5L5 2h2Z'/%3E%3C/svg%3E"); }

.ir-sotc .ir-ticket-place {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #34383e;
    font-size: 15px;
}

.ir-sotc .ir-ticket-place:before {
    content: "";
    width: 24px;
    height: 24px;
    background: #3498d4;
    -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2a8 8 0 0 0-8 8c0 5.5 8 12 8 12s8-6.5 8-12a8 8 0 0 0-8-8Zm0 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2a8 8 0 0 0-8 8c0 5.5 8 12 8 12s8-6.5 8-12a8 8 0 0 0-8-8Zm0 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.ir-sotc .ir-compact-image {
    display: none;
}

.ir-sotc .ir-compact-action {
    position: relative;
    display: block;
    min-height: 280px;
    border-left: 1px dashed #cfc7bd;
    background: #fff;
    border-radius: 0 18px 18px 0;
}

.ir-sotc .ir-compact-action:before,
.ir-sotc .ir-compact-action:after {
    display: block;
    left: -20px;
    width: 40px;
    height: 40px;
    background: #f4f4f4;
}

.ir-sotc .ir-compact-action:before { top: -20px; }
.ir-sotc .ir-compact-action:after { bottom: -20px; }

.ir-sotc .ir-compact-action .ir-deal {
    top: 24px;
    left: 72px;
    height: 38px;
    padding: 0 15px;
    border-radius: 6px;
    font-size: 17px;
}

.ir-sotc .ir-compact-action small {
    top: 86px;
    left: 72px;
    font-size: 14px;
}

.ir-sotc .ir-compact-action strong {
    top: 112px;
    left: 72px;
    font-size: 29px;
    letter-spacing: -.03em;
}

.ir-sotc .ir-compact-action del {
    top: 122px;
    left: 185px;
    font-size: 16px;
}

.ir-sotc .ir-compact-action button {
    top: 166px;
    left: auto;
    right: 34px;
    width: 178px;
    height: 44px;
    border-radius: 4px;
    font-size: 20px;
}

.ir-sotc .ir-compact-action p {
    top: 226px;
    left: 72px;
    right: 30px;
    gap: 12px;
}

.ir-sotc .ir-compact-action p a:first-child {
    max-width: 155px;
    height: 34px;
    border-radius: 999px;
    font-size: 17px;
    font-weight: 500;
}

.ir-sotc .ir-gallery {
    grid-template-columns: 1.35fr .68fr .68fr;
    grid-template-rows: 190px 190px;
    gap: 14px;
}

.ir-sotc .ir-gallery .is-main {
    background: #f6efe4;
}

.ir-sotc .ir-gallery img {
    object-fit: cover;
    object-position: center center;
}

.ir-sotc .ir-gallery .is-main img {
    object-position: center top;
}

.ir-sotc .ir-sotc-head,
.ir-sotc-head {
    margin-top: 0;
}

@media (max-width: 1100px) {
    .ir-sotc .ir-wrap {
        width: min(100% - 28px, 920px);
        max-width: min(100% - 28px, 920px);
    }

    .ir-sotc .ir-compact-ticket {
        grid-template-columns: 1fr;
        overflow: hidden;
    }

    .ir-sotc .ir-compact-action {
        min-height: 250px;
        border-left: 0;
        border-top: 1px dashed #cfc7bd;
        border-radius: 0 0 18px 18px;
    }

    .ir-sotc .ir-compact-action:before,
    .ir-sotc .ir-compact-action:after {
        display: none;
    }
}

@media (max-width: 760px) {
    .ir-sotc .ir-wrap {
        width: 100%;
        max-width: 100%;
        padding: 0 12px;
    }

    .ir-sotc .ir-compact-copy {
        padding: 18px 16px 16px;
    }

    .ir-sotc .ir-compact-copy h2 {
        display: block;
        margin-bottom: 12px;
        font-size: 24px;
    }

    .ir-sotc .ir-stat-row,
    .ir-sotc .ir-service-row {
        display: flex;
        gap: 16px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .ir-sotc .ir-stat-row span {
        flex: 0 0 auto;
        font-size: 14px;
    }

    .ir-sotc .ir-service-row span {
        flex: 0 0 auto;
        font-size: 13px;
    }

    .ir-sotc .ir-compact-action {
        min-height: 236px;
    }

    .ir-sotc .ir-compact-action .ir-deal,
    .ir-sotc .ir-compact-action small,
    .ir-sotc .ir-compact-action strong,
    .ir-sotc .ir-compact-action del,
    .ir-sotc .ir-compact-action button,
    .ir-sotc .ir-compact-action p {
        left: 18px;
    }

    .ir-sotc .ir-compact-action button {
        top: 124px;
        right: 18px;
        width: calc(100% - 36px);
    }

    .ir-sotc .ir-compact-action p {
        top: 178px;
        right: 18px;
    }

    .ir-sotc .ir-gallery .is-main img {
        object-position: center top;
    }
}

/* v1.0.9 ticket sizing/alignment fix */
.ir-tour.ir-sotc {
    overflow-x: hidden;
}

.ir-sotc .ir-wrap {
    width: min(100% - 64px, 1490px) !important;
    max-width: min(100% - 64px, 1490px) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
}

.ir-sotc .ir-compact-ticket {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 380px !important;
    min-height: 280px !important;
    border-radius: 16px !important;
    overflow: visible !important;
}

.ir-sotc .ir-compact-copy {
    padding: 24px 34px 22px !important;
}

.ir-sotc .ir-compact-action {
    width: 380px !important;
    min-width: 380px !important;
    max-width: 380px !important;
    overflow: visible !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.ir-sotc .ir-compact-action .ir-deal {
    left: 72px !important;
    top: 24px !important;
    height: 38px !important;
    max-width: 166px !important;
    white-space: nowrap !important;
}

.ir-sotc .ir-compact-action small {
    left: 72px !important;
    top: 86px !important;
}

.ir-sotc .ir-compact-action strong {
    left: 72px !important;
    top: 112px !important;
    max-width: 150px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.ir-sotc .ir-compact-action del {
    left: 208px !important;
    top: 123px !important;
}

.ir-sotc .ir-compact-action button {
    left: 72px !important;
    right: auto !important;
    top: 166px !important;
    width: 178px !important;
    max-width: 178px !important;
    height: 44px !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

.ir-sotc .ir-compact-action p {
    left: 72px !important;
    right: auto !important;
    top: 226px !important;
    width: 210px !important;
    gap: 12px !important;
}

.ir-sotc .ir-compact-action p a:first-child {
    width: 155px !important;
    max-width: 155px !important;
}

.ir-sotc .ir-wa {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.ir-sotc .ir-wa:before {
    width: 25px !important;
    height: 25px !important;
    background-image: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.1 39.8 15 33A16.4 16.4 0 1 1 21.8 36l-8.7 3.8Z' fill='%23fff'/%3E%3Cpath d='M13.1 39.8 15 33A16.4 16.4 0 1 1 21.8 36l-8.7 3.8Zm9.1-6.6.5.1a13.4 13.4 0 1 0-5-4.7l.3.5-1 3.5 5.2-2.4Z' fill='%2325D366'/%3E%3Cpath d='M31.5 27.4c-.4-.2-2.5-1.2-2.9-1.4-.4-.1-.7-.2-1 .2-.3.4-1.1 1.4-1.4 1.7-.3.3-.5.3-1 .1-.4-.2-1.8-.7-3.5-2.2-1.3-1.1-2.2-2.6-2.4-3-.3-.4 0-.7.2-.9l.7-.8c.2-.3.3-.5.5-.8.1-.3.1-.6 0-.8-.1-.2-1-2.3-1.3-3.2-.4-.9-.7-.8-1-.8h-.8c-.3 0-.8.1-1.2.6-.4.4-1.6 1.6-1.6 3.8 0 2.2 1.6 4.4 1.9 4.7.2.3 3.2 4.9 7.8 6.9 1.1.5 2 .8 2.6 1 1.1.3 2.1.3 2.9.2.9-.1 2.5-1 2.9-2 .4-1 .4-1.9.3-2.1-.1-.2-.4-.3-.8-.5Z' fill='%2325D366'/%3E%3C/svg%3E") !important;
}

.ir-sotc .ir-chat span:before {
    content: "" !important;
    width: 20px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.1 39.8 15 33A16.4 16.4 0 1 1 21.8 36l-8.7 3.8Z' fill='%23fff'/%3E%3Cpath d='M13.1 39.8 15 33A16.4 16.4 0 1 1 21.8 36l-8.7 3.8Zm9.1-6.6.5.1a13.4 13.4 0 1 0-5-4.7l.3.5-1 3.5 5.2-2.4Z' fill='%2325D366'/%3E%3Cpath d='M31.5 27.4c-.4-.2-2.5-1.2-2.9-1.4-.4-.1-.7-.2-1 .2-.3.4-1.1 1.4-1.4 1.7-.3.3-.5.3-1 .1-.4-.2-1.8-.7-3.5-2.2-1.3-1.1-2.2-2.6-2.4-3-.3-.4 0-.7.2-.9l.7-.8c.2-.3.3-.5.5-.8.1-.3.1-.6 0-.8-.1-.2-1-2.3-1.3-3.2-.4-.9-.7-.8-1-.8h-.8c-.3 0-.8.1-1.2.6-.4.4-1.6 1.6-1.6 3.8 0 2.2 1.6 4.4 1.9 4.7.2.3 3.2 4.9 7.8 6.9 1.1.5 2 .8 2.6 1 1.1.3 2.1.3 2.9.2.9-.1 2.5-1 2.9-2 .4-1 .4-1.9.3-2.1-.1-.2-.4-.3-.8-.5Z' fill='%2325D366'/%3E%3C/svg%3E") center/contain no-repeat;
}

@media (max-width: 900px) {
    .ir-sotc .ir-wrap {
        width: 100% !important;
        max-width: 100% !important;
        padding-inline: 12px !important;
    }

    .ir-sotc .ir-compact-ticket {
        grid-template-columns: 1fr !important;
        overflow: hidden !important;
    }

    .ir-sotc .ir-compact-action {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        border-left: 0 !important;
        border-top: 1px dashed #cfc7bd !important;
    }
}

/* v1.1.0 luxury boarding pass */
.ir-tour.ir-sotc {
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
    color: #132033;
}

.ir-sotc .ir-wrap {
    width: min(100% - 84px, 1740px) !important;
    max-width: min(100% - 84px, 1740px) !important;
}

.ir-sotc .ir-compact-ticket {
    grid-template-columns: minmax(560px, 1fr) minmax(360px, 520px) 430px !important;
    min-height: 390px !important;
    border: 1px solid #eadfcb !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 18px 45px rgba(13, 26, 45, .10) !important;
    overflow: hidden !important;
}

.ir-sotc .ir-compact-ticket:before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    background:
        radial-gradient(circle at 56% 16%, rgba(229, 196, 126, .16), transparent 28%),
        radial-gradient(circle at 88% 22%, rgba(229, 196, 126, .13), transparent 22%),
        linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.96) 38%, rgba(255,255,255,.52) 65%, rgba(255,250,241,.98) 100%) !important;
}

.ir-sotc .ir-compact-copy,
.ir-sotc .ir-compact-image,
.ir-sotc .ir-compact-action {
    z-index: 2 !important;
}

.ir-sotc .ir-compact-copy {
    padding: 40px 0 34px 58px !important;
    background: transparent !important;
}

.ir-sotc .ir-badge-row {
    gap: 14px !important;
    margin-bottom: 24px !important;
}

.ir-sotc .ir-family-badge {
    height: 42px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    background: rgba(247, 242, 233, .92) !important;
    color: #1f2733 !important;
    font-size: 17px !important;
    font-weight: 650 !important;
    box-shadow: 0 8px 22px rgba(7,24,47,.05) !important;
}

.ir-sotc .ir-family-badge:nth-child(1):before,
.ir-sotc .ir-family-badge:nth-child(2):before,
.ir-sotc .ir-family-badge:nth-child(3):before,
.ir-sotc .ir-family-badge:nth-child(4):before {
    display: inline-block !important;
    margin-right: 8px !important;
    font-size: 18px !important;
}

.ir-sotc .ir-family-badge:nth-child(1):before { content: "🌴" !important; }
.ir-sotc .ir-family-badge:nth-child(2):before { content: "♡" !important; color: #b68a31 !important; }
.ir-sotc .ir-family-badge:nth-child(3):before { content: "▣" !important; color: #b68a31 !important; }
.ir-sotc .ir-family-badge:nth-child(4):before { content: "👨‍👩‍👧" !important; }

.ir-sotc .ir-compact-copy h2 {
    display: block !important;
    margin: 0 0 30px !important;
    color: #102034 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(46px, 4vw, 68px) !important;
    font-weight: 700 !important;
    letter-spacing: -.055em !important;
    line-height: .96 !important;
}

.ir-sotc .ir-stat-row {
    display: flex !important;
    gap: 0 !important;
    margin: 0 0 30px !important;
    border: 0 !important;
}

.ir-sotc .ir-stat-row span {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 28px 0 0 !important;
    margin-right: 28px !important;
    color: #4d5664 !important;
    font-size: 24px !important;
    font-weight: 550 !important;
}

.ir-sotc .ir-stat-row span:not(:last-child):after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    width: 1px !important;
    height: 30px !important;
    background: #d8c7a5 !important;
}

.ir-sotc .ir-stat-row span:before {
    display: inline-grid !important;
    place-items: center !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    color: #d2aa5a !important;
    font-size: 26px !important;
}

.ir-sotc .ir-stat-row span:nth-child(1):before { content: "◎" !important; }
.ir-sotc .ir-stat-row span:nth-child(2):before { content: "▥" !important; }
.ir-sotc .ir-stat-row span:nth-child(3):before { content: "☾" !important; }
.ir-sotc .ir-stat-row span:nth-child(4):before { content: "☀" !important; }

.ir-sotc .ir-service-row {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(118px, 1fr)) !important;
    gap: 20px !important;
    max-width: 790px !important;
    margin: 0 0 30px !important;
}

.ir-sotc .ir-service-row span {
    min-width: 0 !important;
    height: 116px !important;
    padding: 68px 10px 0 !important;
    border: 1px solid rgba(232, 222, 204, .7) !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.82) !important;
    color: #172033 !important;
    font-size: 18px !important;
    font-weight: 650 !important;
    box-shadow: 0 13px 28px rgba(13, 26, 45, .08) !important;
}

.ir-sotc .ir-service-row span:before {
    top: 24px !important;
    width: 34px !important;
    height: 34px !important;
    color: #cba24d !important;
}

.ir-sotc .ir-ticket-place {
    gap: 16px !important;
    color: #142033 !important;
    font-size: 23px !important;
    font-weight: 560 !important;
}

.ir-sotc .ir-ticket-place:before {
    width: 34px !important;
    height: 34px !important;
    background: #10243c !important;
}

.ir-sotc .ir-compact-image {
    display: block !important;
    position: relative !important;
    min-width: 0 !important;
    background: transparent !important;
}

.ir-sotc .ir-compact-image:before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 3 !important;
    pointer-events: none !important;
    background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.72) 22%, rgba(255,255,255,.06) 58%, rgba(255,255,255,0) 100%) !important;
}

.ir-sotc .ir-compact-image img,
.ir-sotc .ir-compact-image .ir-img-fallback {
    width: 100% !important;
    height: 100% !important;
    min-height: 390px !important;
    object-fit: cover !important;
    object-position: center center !important;
    opacity: .92 !important;
}

.ir-sotc .ir-compact-action {
    width: 430px !important;
    min-width: 430px !important;
    max-width: 430px !important;
    min-height: 390px !important;
    border-left: 2px solid rgba(218, 181, 100, .45) !important;
    border-radius: 0 !important;
    background:
        radial-gradient(circle at 88% 12%, rgba(199, 160, 72, .16), transparent 28%),
        linear-gradient(135deg, rgba(255,250,241,.96), #fff 60%, rgba(255,246,230,.96)) !important;
}

.ir-sotc .ir-compact-action:before,
.ir-sotc .ir-compact-action:after {
    left: -20px !important;
    width: 40px !important;
    height: 40px !important;
    background: #fff !important;
    border: 1px solid rgba(218,181,100,.35) !important;
}

.ir-sotc .ir-compact-action .ir-deal {
    left: 70px !important;
    top: 45px !important;
    height: 58px !important;
    max-width: 238px !important;
    padding: 0 26px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #e9f4d8 !important;
    color: #2f8d2e !important;
    font-size: 23px !important;
    font-weight: 800 !important;
}

.ir-sotc .ir-compact-action .ir-deal:before {
    content: "🏷";
    margin-right: 9px;
}

.ir-sotc .ir-compact-action small {
    left: 70px !important;
    top: 132px !important;
    color: #4e5562 !important;
    font-size: 21px !important;
    font-weight: 500 !important;
}

.ir-sotc .ir-compact-action strong {
    left: 70px !important;
    top: 172px !important;
    max-width: 310px !important;
    color: #102034 !important;
    font-size: 50px !important;
    font-weight: 780 !important;
    letter-spacing: -.045em !important;
}

.ir-sotc .ir-compact-action del {
    left: 70px !important;
    top: 232px !important;
    color: #858583 !important;
    font-size: 28px !important;
    font-weight: 600 !important;
}

.ir-sotc .ir-compact-action button {
    left: 70px !important;
    top: 288px !important;
    width: 290px !important;
    max-width: 290px !important;
    height: 74px !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, #c5922e, #dba746) !important;
    color: #fff !important;
    font-size: 28px !important;
    font-weight: 760 !important;
    box-shadow: 0 12px 25px rgba(174, 126, 36, .24) !important;
}

.ir-sotc .ir-compact-action button:after {
    content: "➜" !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 38px !important;
    height: 38px !important;
    margin-left: 26px !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #c5922e !important;
    font-size: 25px !important;
}

.ir-sotc .ir-compact-action p {
    left: 70px !important;
    top: 372px !important;
    width: 326px !important;
}

.ir-sotc .ir-compact-action p a:first-child {
    width: 248px !important;
    max-width: 248px !important;
    height: 64px !important;
    border-color: #d2c7b4 !important;
    color: #102034 !important;
    background: rgba(255,255,255,.75) !important;
    font-size: 23px !important;
    font-weight: 620 !important;
    white-space: nowrap !important;
}

.ir-sotc .ir-compact-action p a:first-child:before {
    content: "✉" !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 38px !important;
    height: 38px !important;
    margin-right: 14px !important;
    border-radius: 7px !important;
    background: #102034 !important;
    color: #fff !important;
    font-size: 22px !important;
}

.ir-sotc .ir-wa {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    border-color: #d2c7b4 !important;
    background: rgba(255,255,255,.78) !important;
}

.ir-sotc .ir-wa:before {
    width: 43px !important;
    height: 43px !important;
}

.ir-sotc .ir-sotc-head h1,
.ir-sotc-head h1,
.ir-sotc .ir-panel h2,
.ir-sotc .ir-highlight-card h3,
.ir-sotc .ir-accordion article > button strong,
.ir-sotc .ir-tabs button,
.ir-sotc .ir-subtabs button {
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
    letter-spacing: -.02em !important;
}

@media (max-width: 1280px) {
    .ir-sotc .ir-compact-ticket {
        grid-template-columns: minmax(0, 1fr) 370px !important;
    }
    .ir-sotc .ir-compact-image {
        display: none !important;
    }
    .ir-sotc .ir-compact-action {
        width: 370px !important;
        min-width: 370px !important;
        max-width: 370px !important;
    }
}

@media (max-width: 900px) {
    .ir-sotc .ir-wrap {
        width: 100% !important;
        max-width: 100% !important;
        padding-inline: 12px !important;
    }
    .ir-sotc .ir-compact-ticket {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }
    .ir-sotc .ir-compact-copy {
        padding: 28px 18px !important;
    }
    .ir-sotc .ir-compact-copy h2 {
        font-size: 38px !important;
    }
    .ir-sotc .ir-stat-row,
    .ir-sotc .ir-service-row {
        overflow-x: auto !important;
        scrollbar-width: none !important;
    }
    .ir-sotc .ir-service-row {
        display: flex !important;
    }
    .ir-sotc .ir-service-row span {
        flex: 0 0 132px !important;
    }
    .ir-sotc .ir-compact-action {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 420px !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(218,181,100,.45) !important;
    }
}

/* v1.1.1 compact pure-white boarding pass */
.ir-sotc .ir-wrap {
    width: min(100% - 84px, 1560px) !important;
    max-width: min(100% - 84px, 1560px) !important;
}

.ir-sotc .ir-compact-ticket {
    grid-template-columns: minmax(520px, 1fr) minmax(260px, 380px) 330px !important;
    min-height: 250px !important;
    max-height: 250px !important;
    border: 1px solid #eadfcb !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(7, 24, 47, .08) !important;
    overflow: hidden !important;
}

.ir-sotc .ir-compact-ticket:before {
    content: none !important;
}

.ir-sotc .ir-compact-copy {
    padding: 24px 0 22px 36px !important;
    background: #fff !important;
}

.ir-sotc .ir-badge-row {
    gap: 7px !important;
    margin-bottom: 14px !important;
}

.ir-sotc .ir-family-badge {
    height: 28px !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    background: #f7f4ef !important;
    color: #1f2733 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.ir-sotc .ir-family-badge:nth-child(1):before,
.ir-sotc .ir-family-badge:nth-child(2):before,
.ir-sotc .ir-family-badge:nth-child(3):before,
.ir-sotc .ir-family-badge:nth-child(4):before {
    font-size: 14px !important;
    margin-right: 5px !important;
}

.ir-sotc .ir-compact-copy h2 {
    margin: 0 0 14px !important;
    color: #102034 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(30px, 2.6vw, 44px) !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
}

.ir-sotc .ir-stat-row {
    gap: 0 !important;
    margin: 0 0 18px !important;
}

.ir-sotc .ir-stat-row span {
    gap: 7px !important;
    margin-right: 16px !important;
    padding-right: 16px !important;
    font-size: 16px !important;
    font-weight: 560 !important;
}

.ir-sotc .ir-stat-row span:not(:last-child):after {
    height: 19px !important;
}

.ir-sotc .ir-stat-row span:before {
    width: 20px !important;
    height: 20px !important;
    font-size: 20px !important;
}

.ir-sotc .ir-service-row {
    grid-template-columns: repeat(5, 96px) !important;
    gap: 10px !important;
    max-width: none !important;
    margin: 0 0 14px !important;
}

.ir-sotc .ir-service-row span {
    height: 66px !important;
    padding: 38px 6px 0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    box-shadow: 0 7px 16px rgba(7,24,47,.06) !important;
}

.ir-sotc .ir-service-row span:before {
    top: 13px !important;
    width: 22px !important;
    height: 22px !important;
}

.ir-sotc .ir-ticket-place {
    gap: 8px !important;
    font-size: 15px !important;
}

.ir-sotc .ir-ticket-place:before {
    width: 22px !important;
    height: 22px !important;
}

.ir-sotc .ir-compact-image {
    display: block !important;
    background: #fff !important;
}

.ir-sotc .ir-compact-image:before {
    background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.7) 24%, rgba(255,255,255,.08) 62%, rgba(255,255,255,0) 100%) !important;
}

.ir-sotc .ir-compact-image img,
.ir-sotc .ir-compact-image .ir-img-fallback {
    min-height: 250px !important;
    height: 250px !important;
    opacity: .82 !important;
}

.ir-sotc .ir-compact-action {
    width: 330px !important;
    min-width: 330px !important;
    max-width: 330px !important;
    min-height: 250px !important;
    border-left: 1px dashed #d6c6aa !important;
    background: #fff !important;
}

.ir-sotc .ir-compact-action:before,
.ir-sotc .ir-compact-action:after {
    left: -17px !important;
    width: 34px !important;
    height: 34px !important;
    background: #fff !important;
}

.ir-sotc .ir-compact-action .ir-deal {
    left: 52px !important;
    top: 20px !important;
    height: 38px !important;
    max-width: 170px !important;
    padding: 0 16px !important;
    font-size: 15px !important;
}

.ir-sotc .ir-compact-action small {
    left: 52px !important;
    top: 76px !important;
    font-size: 13px !important;
}

.ir-sotc .ir-compact-action strong {
    left: 52px !important;
    top: 99px !important;
    max-width: 190px !important;
    font-size: 31px !important;
}

.ir-sotc .ir-compact-action del {
    left: 52px !important;
    top: 137px !important;
    font-size: 17px !important;
}

.ir-sotc .ir-compact-action button {
    left: 52px !important;
    top: 154px !important;
    width: 210px !important;
    max-width: 210px !important;
    height: 43px !important;
    border-radius: 9px !important;
    background: #07182f !important;
    color: #fff !important;
    font-size: 18px !important;
    box-shadow: 0 10px 22px rgba(7,24,47,.16) !important;
}

.ir-sotc .ir-compact-action button:after {
    width: 24px !important;
    height: 24px !important;
    margin-left: 18px !important;
    color: #07182f !important;
    font-size: 17px !important;
}

.ir-sotc .ir-compact-action p {
    left: 52px !important;
    top: 204px !important;
    width: 220px !important;
}

.ir-sotc .ir-compact-action p a:first-child {
    width: 166px !important;
    max-width: 166px !important;
    height: 34px !important;
    font-size: 15px !important;
}

.ir-sotc .ir-compact-action p a:first-child:before {
    width: 23px !important;
    height: 23px !important;
    margin-right: 8px !important;
    font-size: 14px !important;
}

.ir-sotc .ir-wa {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
}

.ir-sotc .ir-wa:before {
    width: 25px !important;
    height: 25px !important;
}

@media (max-width: 1280px) {
    .ir-sotc .ir-compact-ticket {
        grid-template-columns: minmax(0, 1fr) 330px !important;
        max-height: none !important;
    }
    .ir-sotc .ir-compact-image {
        display: none !important;
    }
}

@media (max-width: 900px) {
    .ir-sotc .ir-wrap {
        width: 100% !important;
        max-width: 100% !important;
        padding-inline: 12px !important;
    }
    .ir-sotc .ir-compact-ticket {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
        max-height: none !important;
    }
    .ir-sotc .ir-compact-action {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        border-left: 0 !important;
        border-top: 1px dashed #d6c6aa !important;
    }
}

/* v1.1.2 fix action buttons and real WhatsApp icon */
.ir-sotc .ir-compact-ticket {
    min-height: 285px !important;
    max-height: 285px !important;
}

.ir-sotc .ir-compact-copy {
    padding-top: 22px !important;
}

.ir-sotc .ir-compact-image img,
.ir-sotc .ir-compact-image .ir-img-fallback {
    height: 285px !important;
    min-height: 285px !important;
}

.ir-sotc .ir-compact-action {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 0 !important;
    width: 330px !important;
    min-width: 330px !important;
    max-width: 330px !important;
    min-height: 285px !important;
    padding: 20px 44px 18px 52px !important;
    overflow: visible !important;
}

.ir-sotc .ir-compact-action .ir-deal,
.ir-sotc .ir-compact-action small,
.ir-sotc .ir-compact-action strong,
.ir-sotc .ir-compact-action del,
.ir-sotc .ir-compact-action button,
.ir-sotc .ir-compact-action p {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
}

.ir-sotc .ir-compact-action .ir-deal {
    display: inline-flex !important;
    height: 34px !important;
    max-width: none !important;
    margin: 0 0 13px !important;
    padding: 0 15px !important;
    font-size: 14px !important;
}

.ir-sotc .ir-compact-action small {
    margin: 0 0 4px !important;
    font-size: 12px !important;
}

.ir-sotc .ir-compact-action strong {
    display: block !important;
    max-width: none !important;
    margin: 0 0 2px !important;
    font-size: 30px !important;
    line-height: 1 !important;
}

.ir-sotc .ir-compact-action del {
    display: block !important;
    margin: 0 0 13px !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
}

.ir-sotc .ir-compact-action button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 210px !important;
    max-width: 210px !important;
    height: 42px !important;
    margin: 0 0 11px !important;
    border-radius: 8px !important;
    background: #07182f !important;
    font-size: 17px !important;
    line-height: 1 !important;
}

.ir-sotc .ir-compact-action button:after {
    width: 23px !important;
    height: 23px !important;
    margin-left: 15px !important;
    font-size: 16px !important;
}

.ir-sotc .ir-compact-action p {
    display: flex !important;
    align-items: center !important;
    width: 225px !important;
    height: 38px !important;
    margin: 0 !important;
    gap: 10px !important;
}

.ir-sotc .ir-compact-action p a:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 176px !important;
    max-width: 176px !important;
    height: 36px !important;
    min-height: 36px !important;
    border: 1px solid #d6d0c6 !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

.ir-sotc .ir-compact-action p a:first-child:before {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 23px !important;
    width: 23px !important;
    height: 23px !important;
    margin-right: 8px !important;
    border-radius: 5px !important;
    background: #07182f !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 5.5A2.5 2.5 0 0 1 4.5 3h15A2.5 2.5 0 0 1 22 5.5v13a2.5 2.5 0 0 1-2.5 2.5h-15A2.5 2.5 0 0 1 2 18.5v-13Zm2.4-.2 7.6 6.1 7.6-6.1H4.4Zm15.4 2.5-6.9 5.6a1.5 1.5 0 0 1-1.8 0L4.2 7.8v10.7c0 .2.1.3.3.3h15c.2 0 .3-.1.3-.3V7.8Z'/%3E%3C/svg%3E") center/15px 15px no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 5.5A2.5 2.5 0 0 1 4.5 3h15A2.5 2.5 0 0 1 22 5.5v13a2.5 2.5 0 0 1-2.5 2.5h-15A2.5 2.5 0 0 1 2 18.5v-13Zm2.4-.2 7.6 6.1 7.6-6.1H4.4Zm15.4 2.5-6.9 5.6a1.5 1.5 0 0 1-1.8 0L4.2 7.8v10.7c0 .2.1.3.3.3h15c.2 0 .3-.1.3-.3V7.8Z'/%3E%3C/svg%3E") center/15px 15px no-repeat !important;
}

.ir-sotc .ir-wa {
    display: grid !important;
    place-items: center !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border: 1px solid #d6d0c6 !important;
    border-radius: 50% !important;
    background: #fff !important;
}

.ir-sotc .ir-wa:before {
    content: "" !important;
    display: block !important;
    width: 27px !important;
    height: 27px !important;
    background: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.3 52.6 21 43A22.3 22.3 0 1 1 30.8 46L18.3 52.6Z' fill='%23fff'/%3E%3Cpath d='M18.3 52.6 21 43A22.3 22.3 0 1 1 30.8 46L18.3 52.6Zm13-10.4.8.1a18.1 18.1 0 1 0-6.6-6.3l.4.7-1.6 5.8 7-3.3Z' fill='%2325D366'/%3E%3Cpath d='M42 36.8c-.5-.3-3.4-1.7-3.9-1.9-.5-.2-.9-.3-1.3.3-.4.5-1.5 1.9-1.9 2.3-.3.4-.7.4-1.2.1-.6-.3-2.4-.9-4.7-2.9-1.7-1.5-2.9-3.4-3.2-4-.3-.6 0-.9.3-1.2l.9-1.1c.3-.4.4-.6.6-1 .2-.4.1-.7 0-1-.1-.3-1.3-3.1-1.8-4.3-.5-1.1-1-1-1.3-1h-1.1c-.4 0-1 .1-1.6.7-.5.6-2.1 2.1-2.1 5.1s2.2 5.9 2.5 6.3c.3.4 4.3 6.6 10.5 9.2 1.5.6 2.6 1 3.5 1.3 1.5.5 2.8.4 3.9.3 1.2-.2 3.4-1.4 3.9-2.7.5-1.3.5-2.5.4-2.7-.2-.3-.5-.4-1.1-.7Z' fill='%2325D366'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

@media (max-width: 1280px) {
    .ir-sotc .ir-compact-ticket {
        max-height: none !important;
    }
}

/* v1.1.3 final boarding-pass action polish */
.ir-sotc .ir-compact-action {
    padding: 20px 44px 16px 52px !important;
}

.ir-sotc .ir-compact-action button {
    width: 210px !important;
    height: 42px !important;
    margin-bottom: 12px !important;
    background: #07182f !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(7, 24, 47, .16) !important;
}

.ir-sotc .ir-compact-action p {
    width: 225px !important;
    height: 38px !important;
    align-items: center !important;
    gap: 10px !important;
}

.ir-sotc .ir-compact-action p a:first-child {
    display: inline-flex !important;
    flex: 0 0 176px !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    padding: 0 !important;
    color: #07182f !important;
    background: #fff !important;
    border: 1px solid #d7d1c7 !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.ir-sotc .ir-compact-action p a:first-child:before {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 23px !important;
    width: 23px !important;
    height: 23px !important;
    margin: 0 8px 0 0 !important;
    border-radius: 5px !important;
    background: #07182f url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M4 6.75A1.75 1.75 0 0 1 5.75 5h12.5A1.75 1.75 0 0 1 20 6.75v10.5A1.75 1.75 0 0 1 18.25 19H5.75A1.75 1.75 0 0 1 4 17.25V6.75Zm2.15-.2 5.85 4.67 5.85-4.67H6.15Zm12.35 1.5-5.54 4.42a1.55 1.55 0 0 1-1.92 0L5.5 8.05v9.2c0 .14.11.25.25.25h12.5c.14 0 .25-.11.25-.25v-9.2Z'/%3E%3C/svg%3E") center/15px 15px no-repeat !important;
    -webkit-mask: none !important;
    mask: none !important;
}

.ir-sotc .ir-wa {
    display: inline-flex !important;
    flex: 0 0 38px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 1px solid #d7d1c7 !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: none !important;
}

.ir-sotc .ir-wa:before {
    content: "" !important;
    display: block !important;
    width: 27px !important;
    height: 27px !important;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='32' cy='32' r='27' fill='%2325D366'/%3E%3Cpath fill='%23fff' d='M19.5 47.2 21.4 40A17.3 17.3 0 1 1 28 45.9l-8.5 1.3Zm9-4.8.8.2A14.1 14.1 0 1 0 24.1 38l.4.7-1 3.8 4.9-.8Z'/%3E%3Cpath fill='%23fff' d='M40.8 35.2c-.5-.3-3.1-1.5-3.6-1.7-.5-.2-.8-.3-1.2.3-.4.5-1.3 1.7-1.6 2-.3.4-.6.4-1.1.1-.5-.3-2.1-.8-4-2.5-1.5-1.3-2.5-3-2.8-3.5-.3-.5 0-.8.3-1.1.2-.2.5-.6.8-.9.2-.3.3-.5.5-.8.2-.4.1-.7 0-1-.1-.3-1.1-2.8-1.6-3.8-.4-1-.8-.9-1.1-.9h-1c-.4 0-.9.1-1.4.7-.5.5-1.8 1.8-1.8 4.4s1.9 5.1 2.2 5.5c.3.4 3.8 5.8 9.1 8.1 1.3.5 2.3.9 3 .1.3.2 2.6.3 3.6.2 1.1-.2 3.1-1.3 3.6-2.5.4-1.2.4-2.3.3-2.5-.2-.2-.5-.3-1-.6Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

@media (max-width: 900px) {
    .ir-sotc .ir-compact-ticket {
        max-height: none !important;
        min-height: 0 !important;
    }

    .ir-sotc .ir-compact-action {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 0 !important;
        padding: 18px !important;
        align-items: stretch !important;
    }

    .ir-sotc .ir-compact-action button,
    .ir-sotc .ir-compact-action p {
        width: 100% !important;
        max-width: 100% !important;
    }

    .ir-sotc .ir-compact-action p a:first-child {
        flex: 1 1 auto !important;
        max-width: none !important;
    }
}

/* v1.1.4 exact icons + soft leaf detail on price side */
.ir-sotc .ir-compact-action {
    position: relative !important;
    isolation: isolate !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(233, 211, 151, .20), transparent 32%),
        #fff !important;
}

.ir-sotc .ir-compact-action:after {
    content: "" !important;
    position: absolute !important;
    top: -2px !important;
    right: -4px !important;
    width: 104px !important;
    height: 78px !important;
    opacity: .62 !important;
    pointer-events: none !important;
    z-index: -1 !important;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2382a84d' stroke-width='5' stroke-linecap='round' opacity='.85'%3E%3Cpath d='M154 8C116 18 92 47 80 88'/%3E%3Cpath d='M143 8c-21 6-36 14-48 27'/%3E%3Cpath d='M132 28c-20 8-35 20-45 36'/%3E%3Cpath d='M112 52c-17 8-28 19-35 34'/%3E%3Cpath d='M92 74c-13 7-22 16-27 28'/%3E%3C/g%3E%3Cg fill='%2382a84d' opacity='.55'%3E%3Cellipse cx='118' cy='16' rx='19' ry='7' transform='rotate(-23 118 16)'/%3E%3Cellipse cx='101' cy='34' rx='18' ry='7' transform='rotate(-35 101 34)'/%3E%3Cellipse cx='90' cy='57' rx='16' ry='6' transform='rotate(-40 90 57)'/%3E%3Cellipse cx='73' cy='83' rx='14' ry='5' transform='rotate(-45 73 83)'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat !important;
}

.ir-sotc .ir-compact-action p a:first-child:before {
    background: #07182f url("data:image/svg+xml,%3Csvg viewBox='0 0 42 42' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='42' height='42' rx='8' fill='%2307182f'/%3E%3Cpath d='M10.5 13.5h21a2.5 2.5 0 0 1 2.5 2.5v12a2.5 2.5 0 0 1-2.5 2.5h-21A2.5 2.5 0 0 1 8 28V16a2.5 2.5 0 0 1 2.5-2.5Z' fill='none' stroke='%23fff' stroke-width='2.7'/%3E%3Cpath d='m10 16 11 8.5L32 16' fill='none' stroke='%23fff' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/23px 23px no-repeat !important;
    border-radius: 6px !important;
}

.ir-sotc .ir-wa:before {
    width: 28px !important;
    height: 28px !important;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%2325D366' d='M32 6.5C18 6.5 6.7 17.8 6.7 31.8c0 4.8 1.3 9.3 3.7 13.1L7 57.5l12.9-3.4c3.6 2 7.8 3.1 12.1 3.1 14 0 25.3-11.4 25.3-25.3S46 6.5 32 6.5Z'/%3E%3Cpath fill='%23fff' d='M32 52.8c-3.8 0-7.5-1-10.7-2.9l-.8-.5-7.6 2 2-7.4-.5-.8a20.7 20.7 0 1 1 17.6 9.6Zm11.3-15.5c-.6-.3-3.7-1.8-4.3-2-.6-.2-1-.3-1.4.3-.4.6-1.6 2-2 2.4-.4.4-.7.5-1.3.2-.6-.3-2.6-1-5-3.1-1.8-1.6-3.1-3.7-3.5-4.3-.4-.6 0-.9.3-1.2.3-.3.6-.7.9-1 .3-.4.4-.6.6-1 .2-.4.1-.8-.1-1.1-.1-.3-1.4-3.4-1.9-4.7-.5-1.2-1-1-1.4-1.1h-1.2c-.4 0-1.1.2-1.7.8-.6.6-2.2 2.2-2.2 5.4s2.3 6.2 2.6 6.7c.3.4 4.5 6.9 11 9.7 1.5.7 2.7 1.1 3.7 1.4 1.5.5 2.9.4 4 .3 1.2-.2 3.7-1.5 4.2-3 .5-1.5.5-2.8.4-3-.2-.3-.6-.5-1.2-.8Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

/* v1.1.5 backend-editable badge icons + corrected leaf corner */
.ir-sotc .ir-compact-action:after {
    top: -20px !important;
    right: -18px !important;
    width: 126px !important;
    height: 96px !important;
    z-index: 0 !important;
    opacity: .70 !important;
}

.ir-sotc .ir-compact-action > * {
    position: relative !important;
    z-index: 1 !important;
}

.ir-sotc .ir-family-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding-left: 12px !important;
}

.ir-sotc .ir-family-badge:before {
    content: "" !important;
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    background: center/contain no-repeat !important;
}

.ir-sotc .ir-family-badge.ir-badge-beach:before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 7c6 3 8 8 7 14-4-3-9-4-14-2 0-5 2-9 7-12Z' fill='%236aa84f'/%3E%3Cpath d='M24 7c-8 1-13 6-15 13 5-2 10-1 15 4V7Z' fill='%234b8f3a'/%3E%3Cpath d='M24 7c8 1 13 6 15 13-5-2-10-1-15 4V7Z' fill='%2379b85a'/%3E%3Cpath d='M24 18c-1 8-3 15-7 22h5c3-7 4-14 4-22h-2Z' fill='%235a371e'/%3E%3Cpath d='M7 40h34' stroke='%23c99a2e' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.ir-sotc .ir-badge-row .ir-family-badge:nth-child(1):before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 7c6 3 8 8 7 14-4-3-9-4-14-2 0-5 2-9 7-12Z' fill='%236aa84f'/%3E%3Cpath d='M24 7c-8 1-13 6-15 13 5-2 10-1 15 4V7Z' fill='%234b8f3a'/%3E%3Cpath d='M24 7c8 1 13 6 15 13-5-2-10-1-15 4V7Z' fill='%2379b85a'/%3E%3Cpath d='M24 18c-1 8-3 15-7 22h5c3-7 4-14 4-22h-2Z' fill='%235a371e'/%3E%3Cpath d='M7 40h34' stroke='%23c99a2e' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.ir-sotc .ir-family-badge.ir-badge-honeymoon:before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 40S8 31 8 18c0-6 4-10 10-10 3 0 5 1 6 4 1-3 4-4 6-4 6 0 10 4 10 10 0 13-16 22-16 22Z' fill='none' stroke='%23c99a2e' stroke-width='4' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.ir-sotc .ir-badge-row .ir-family-badge:nth-child(2):before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 40S8 31 8 18c0-6 4-10 10-10 3 0 5 1 6 4 1-3 4-4 6-4 6 0 10 4 10 10 0 13-16 22-16 22Z' fill='none' stroke='%23c99a2e' stroke-width='4' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.ir-sotc .ir-family-badge.ir-badge-visa-on-arrival:before,
.ir-sotc .ir-family-badge.ir-badge-visa:before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='12' y='6' width='24' height='36' rx='3' fill='none' stroke='%2307182f' stroke-width='3'/%3E%3Ccircle cx='24' cy='17' r='5' fill='none' stroke='%23c99a2e' stroke-width='3'/%3E%3Cpath d='M18 28h12M18 34h12' stroke='%23c99a2e' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.ir-sotc .ir-badge-row .ir-family-badge:nth-child(3):before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='12' y='6' width='24' height='36' rx='3' fill='none' stroke='%2307182f' stroke-width='3'/%3E%3Ccircle cx='24' cy='17' r='5' fill='none' stroke='%23c99a2e' stroke-width='3'/%3E%3Cpath d='M18 28h12M18 34h12' stroke='%23c99a2e' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.ir-sotc .ir-family-badge.ir-badge-family-with-kids:before,
.ir-sotc .ir-family-badge.ir-badge-family:before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='17' cy='14' r='5' fill='%23c99a2e'/%3E%3Ccircle cx='31' cy='14' r='5' fill='%23c99a2e'/%3E%3Ccircle cx='24' cy='24' r='4' fill='%2307182f'/%3E%3Cpath d='M9 39c1-8 5-13 12-13M39 39c-1-8-5-13-12-13M18 40c1-6 3-9 6-9s5 3 6 9' fill='none' stroke='%2307182f' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.ir-sotc .ir-badge-row .ir-family-badge:nth-child(4):before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='17' cy='14' r='5' fill='%23c99a2e'/%3E%3Ccircle cx='31' cy='14' r='5' fill='%23c99a2e'/%3E%3Ccircle cx='24' cy='24' r='4' fill='%2307182f'/%3E%3Cpath d='M9 39c1-8 5-13 12-13M39 39c-1-8-5-13-12-13M18 40c1-6 3-9 6-9s5 3 6 9' fill='none' stroke='%2307182f' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

/* v1.1.6 stat icons, bottom ticket cut, leaf placement and service crop fix */
.ir-sotc .ir-compact-ticket {
    overflow: hidden !important;
    grid-template-columns: minmax(0, 1fr) 330px !important;
    min-height: 285px !important;
    max-height: 285px !important;
}

.ir-sotc .ir-compact-copy {
    min-width: 0 !important;
    overflow: visible !important;
    padding-right: 12px !important;
}

.ir-sotc .ir-compact-image {
    overflow: visible !important;
}

.ir-sotc .ir-compact-action {
    background:
        url("data:image/svg+xml,%3Csvg viewBox='0 0 180 130' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2382a84d' stroke-width='5' stroke-linecap='round' opacity='.72'%3E%3Cpath d='M176 5C128 19 99 50 82 97'/%3E%3Cpath d='M158 10c-24 6-45 19-61 38'/%3E%3Cpath d='M146 34c-22 8-40 24-52 46'/%3E%3Cpath d='M124 58c-19 9-34 25-43 48'/%3E%3C/g%3E%3Cg fill='%2382a84d' opacity='.50'%3E%3Cellipse cx='146' cy='13' rx='22' ry='8' transform='rotate(-22 146 13)'/%3E%3Cellipse cx='125' cy='35' rx='21' ry='8' transform='rotate(-34 125 35)'/%3E%3Cellipse cx='106' cy='63' rx='18' ry='7' transform='rotate(-40 106 63)'/%3E%3Cellipse cx='88' cy='92' rx='15' ry='6' transform='rotate(-46 88 92)'/%3E%3C/g%3E%3C/svg%3E") top -13px right -12px/118px 86px no-repeat,
        #fff !important;
}

.ir-sotc .ir-compact-action:after {
    content: "" !important;
    position: absolute !important;
    left: -17px !important;
    bottom: -17px !important;
    right: auto !important;
    top: auto !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: #f6f6f6 !important;
    box-shadow: 0 -1px 0 #eadfcf !important;
    opacity: 1 !important;
    z-index: 3 !important;
}

.ir-sotc .ir-compact-action:before {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    left: -17px !important;
    top: -17px !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: #f6f6f6 !important;
    box-shadow: 0 1px 0 #eadfcf !important;
    z-index: 3 !important;
}

.ir-sotc .ir-stat-row span:before {
    content: "" !important;
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    margin-right: 8px !important;
    vertical-align: -3px !important;
    background: center/contain no-repeat !important;
}

.ir-sotc .ir-stat-row span:nth-child(1):before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='24' cy='24' r='17' fill='none' stroke='%23c99a2e' stroke-width='4'/%3E%3Cpath d='M7 24h34M24 7c5 5 8 11 8 17s-3 12-8 17M24 7c-5 5-8 11-8 17s3 12 8 17' fill='none' stroke='%23c99a2e' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.ir-sotc .ir-stat-row span:nth-child(2):before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 40V14h10v26M20 40V8h18v32' fill='none' stroke='%23c99a2e' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M14 20h2M14 27h2M14 34h2M26 15h5M26 23h5M26 31h5' stroke='%23c99a2e' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.ir-sotc .ir-stat-row span:nth-child(3):before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M32 39c-11-2-19-11-19-22 0-3 .6-6 1.8-8-6 3-10 9-10 16 0 10 8 18 18 18 5 0 9-2 12-5-1 .4-2 .7-3 .9Z' fill='%23c99a2e'/%3E%3C/svg%3E") !important;
}

.ir-sotc .ir-stat-row span:nth-child(4):before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='24' cy='24' r='9' fill='%23c99a2e'/%3E%3Cg stroke='%23c99a2e' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M24 4v6M24 38v6M4 24h6M38 24h6M10 10l4 4M34 34l4 4M38 10l-4 4M14 34l-4 4'/%3E%3C/g%3E%3C/svg%3E") !important;
}

.ir-sotc .ir-service-row {
    max-width: calc(100% - 155px) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    gap: 14px !important;
    padding-bottom: 3px !important;
}

.ir-sotc .ir-service-row::-webkit-scrollbar {
    display: none !important;
}

.ir-sotc .ir-service-row span {
    flex: 0 0 112px !important;
    width: 112px !important;
    height: 74px !important;
    font-size: 12px !important;
}

.ir-sotc .ir-ticket-place {
    margin-top: 12px !important;
}

@media (max-width: 1280px) {
    .ir-sotc .ir-compact-ticket {
        grid-template-columns: minmax(0, 1fr) 330px !important;
        max-height: none !important;
    }

    .ir-sotc .ir-compact-image {
        display: none !important;
    }

    .ir-sotc .ir-service-row {
        max-width: 100% !important;
    }
}

/* v1.1.7 restore 3-part boarding pass and keep services uncropped */
@media (min-width: 1281px) {
    .ir-sotc .ir-compact-ticket {
        grid-template-columns: minmax(560px, 1fr) minmax(300px, 370px) 330px !important;
        max-height: 285px !important;
    }

    .ir-sotc .ir-compact-image {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .ir-sotc .ir-service-row {
        max-width: 562px !important;
    }
}

/* v1.1.8 compact desktop boarding pass so nothing crops on common screens */
@media (min-width: 1281px) {
    .ir-sotc .ir-wrap {
        width: min(100% - 48px, 1440px) !important;
    }

    .ir-sotc .ir-compact-ticket {
        grid-template-columns: minmax(500px, 1fr) 300px 280px !important;
        min-height: 260px !important;
        max-height: 260px !important;
    }

    .ir-sotc .ir-compact-copy {
        padding: 18px 12px 14px 34px !important;
    }

    .ir-sotc .ir-badge-row {
        gap: 10px !important;
        margin-bottom: 20px !important;
    }

    .ir-sotc .ir-family-badge {
        height: 30px !important;
        padding: 0 13px 0 10px !important;
        font-size: 13px !important;
        gap: 6px !important;
    }

    .ir-sotc .ir-family-badge:before {
        width: 16px !important;
        height: 16px !important;
        flex-basis: 16px !important;
    }

    .ir-sotc .ir-compact-copy h2 {
        font-size: clamp(34px, 3.1vw, 46px) !important;
        line-height: .98 !important;
        margin-bottom: 17px !important;
    }

    .ir-sotc .ir-stat-row {
        gap: 16px !important;
        margin-bottom: 18px !important;
    }

    .ir-sotc .ir-stat-row span {
        font-size: 18px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .ir-sotc .ir-stat-row span:before {
        width: 16px !important;
        height: 16px !important;
        margin-right: 7px !important;
    }

    .ir-sotc .ir-service-row {
        max-width: 520px !important;
        gap: 10px !important;
        margin-top: 0 !important;
    }

    .ir-sotc .ir-service-row span {
        flex: 0 0 102px !important;
        width: 102px !important;
        height: 68px !important;
        min-height: 68px !important;
        padding: 9px 7px 8px !important;
        font-size: 11.5px !important;
        border-radius: 9px !important;
    }

    .ir-sotc .ir-service-row span:before {
        transform: scale(.82) !important;
        margin-bottom: 3px !important;
    }

    .ir-sotc .ir-ticket-place {
        margin-top: 10px !important;
        font-size: 15px !important;
    }

    .ir-sotc .ir-compact-image img,
    .ir-sotc .ir-compact-image .ir-img-fallback {
        height: 260px !important;
        min-height: 260px !important;
    }

    .ir-sotc .ir-compact-action {
        width: 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;
        min-height: 260px !important;
        padding: 18px 26px 14px 34px !important;
        background-position: top -16px right -14px, 0 0 !important;
        background-size: 92px 66px, auto !important;
    }

    .ir-sotc .ir-compact-action .ir-deal {
        height: 32px !important;
        padding: 0 13px !important;
        font-size: 13px !important;
        margin-bottom: 15px !important;
    }

    .ir-sotc .ir-compact-action small {
        font-size: 12px !important;
        margin-bottom: 4px !important;
    }

    .ir-sotc .ir-compact-action strong {
        font-size: 29px !important;
        margin-bottom: 1px !important;
    }

    .ir-sotc .ir-compact-action del {
        font-size: 15px !important;
        margin-bottom: 11px !important;
    }

    .ir-sotc .ir-compact-action button {
        width: 190px !important;
        max-width: 190px !important;
        height: 39px !important;
        font-size: 16px !important;
        margin-bottom: 10px !important;
    }

    .ir-sotc .ir-compact-action button:after {
        width: 22px !important;
        height: 22px !important;
        margin-left: 12px !important;
    }

    .ir-sotc .ir-compact-action p {
        width: 205px !important;
        height: 35px !important;
        gap: 8px !important;
    }

    .ir-sotc .ir-compact-action p a:first-child {
        flex-basis: 158px !important;
        width: 158px !important;
        max-width: 158px !important;
        height: 33px !important;
        min-height: 33px !important;
        font-size: 14px !important;
    }

    .ir-sotc .ir-compact-action p a:first-child:before {
        width: 21px !important;
        height: 21px !important;
        flex-basis: 21px !important;
        margin-right: 7px !important;
        background-size: 21px 21px !important;
    }

    .ir-sotc .ir-wa {
        width: 35px !important;
        height: 35px !important;
        min-width: 35px !important;
        flex-basis: 35px !important;
    }

    .ir-sotc .ir-wa:before {
        width: 25px !important;
        height: 25px !important;
    }
}

@media (min-width: 1281px) and (max-width: 1500px) {
    .ir-sotc .ir-compact-ticket {
        grid-template-columns: minmax(455px, 1fr) 280px 260px !important;
    }

    .ir-sotc .ir-compact-copy {
        padding-left: 26px !important;
    }

    .ir-sotc .ir-service-row {
        max-width: 480px !important;
    }

    .ir-sotc .ir-service-row span {
        flex-basis: 94px !important;
        width: 94px !important;
        font-size: 11px !important;
    }

    .ir-sotc .ir-compact-action {
        width: 260px !important;
        min-width: 260px !important;
        max-width: 260px !important;
        padding-left: 28px !important;
    }

    .ir-sotc .ir-compact-action button {
        width: 178px !important;
        max-width: 178px !important;
    }

    .ir-sotc .ir-compact-action p {
        width: 198px !important;
    }

    .ir-sotc .ir-compact-action p a:first-child {
        flex-basis: 153px !important;
        width: 153px !important;
        max-width: 153px !important;
    }
}

/* v1.1.9 clean compact service tiles */
@media (min-width: 1281px) {
    .ir-sotc .ir-service-row span {
        display: inline-flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        line-height: 1.05 !important;
        text-align: center !important;
        white-space: normal !important;
        overflow: hidden !important;
    }

    .ir-sotc .ir-service-row span:before {
        order: 0 !important;
        margin: 0 !important;
        transform: scale(.78) !important;
    }
}

/* v1.2.0 hard reset for clean compact service cards */
@media (min-width: 1281px) {
    .ir-sotc .ir-service-row {
        align-items: stretch !important;
        width: 468px !important;
        max-width: 468px !important;
        gap: 7px !important;
        overflow: visible !important;
    }

    .ir-sotc .ir-service-row span {
        position: relative !important;
        display: flex !important;
        flex: 0 0 88px !important;
        width: 88px !important;
        min-width: 88px !important;
        height: 62px !important;
        min-height: 62px !important;
        padding: 8px 6px 7px !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 6px !important;
        overflow: hidden !important;
        white-space: normal !important;
        text-align: center !important;
        font-size: 10px !important;
        line-height: 1.05 !important;
        font-weight: 700 !important;
        color: #07182f !important;
        background: #fff !important;
        border: 1px solid #eadfcf !important;
        border-radius: 9px !important;
        box-shadow: none !important;
    }

    .ir-sotc .ir-service-row span:before {
        position: static !important;
        inset: auto !important;
        content: "" !important;
        display: block !important;
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        background: #c99a2e !important;
        -webkit-mask: var(--ir-mask) center/contain no-repeat !important;
        mask: var(--ir-mask) center/contain no-repeat !important;
    }

    .ir-sotc .ir-service-row span:nth-child(1) {
        --ir-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 23h36v17h-4v-5H10v5H6V23Zm4-13h12a5 5 0 0 1 5 5v6H10V10Zm18 7h10a4 4 0 0 1 4 4v0H28v-4Z'/%3E%3C/svg%3E") !important;
    }

    .ir-sotc .ir-service-row span:nth-child(2) {
        --ir-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='13' y='5' width='22' height='38' rx='3'/%3E%3Ccircle cx='24' cy='17' r='5' fill='%23fff'/%3E%3Cpath d='M18 29h12v4H18v-4Zm0 7h12v3H18v-3Z' fill='%23fff'/%3E%3C/svg%3E") !important;
    }

    .ir-sotc .ir-service-row span:nth-child(3) {
        --ir-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='16' cy='19' r='7'/%3E%3Ccircle cx='32' cy='19' r='7'/%3E%3Cpath d='M21 25h6l5 12h-5l-3-7-3 7h-5l5-12Z'/%3E%3C/svg%3E") !important;
    }

    .ir-sotc .ir-service-row span:nth-child(4) {
        --ir-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 14h28l5 13v10h-5a5 5 0 0 1-10 0h-8a5 5 0 0 1-10 0H5V27l5-13Zm4 5-3 8h26l-3-8H14Z'/%3E%3C/svg%3E") !important;
    }

    .ir-sotc .ir-service-row span:nth-child(5) {
        --ir-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 4h4l3 17h3V4h4v17h3l3-17h4l-4 22a8 8 0 0 1-6 6v12H18V32a8 8 0 0 1-6-6L12 4Z'/%3E%3C/svg%3E") !important;
    }
}

@media (min-width: 1501px) {
    .ir-sotc .ir-service-row {
        width: 502px !important;
        max-width: 502px !important;
        gap: 8px !important;
    }

    .ir-sotc .ir-service-row span {
        flex-basis: 94px !important;
        width: 94px !important;
        min-width: 94px !important;
    }
}

/* v1.2.2 reference polish: palm leaf, dashed divider, thinner title/stat row */
@media (min-width: 1281px) {
    .ir-sotc .ir-compact-ticket {
        position: relative !important;
        border-color: #eadcc8 !important;
        box-shadow: 0 18px 42px rgba(7, 24, 47, .08) !important;
    }

    .ir-sotc .ir-compact-action {
        border-left: 1.5px dashed #d9bd86 !important;
        background:
            url("data:image/svg+xml,%3Csvg viewBox='0 0 190 130' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%237aa449' stroke-width='6' stroke-linecap='round'%3E%3Cpath d='M184 4C139 19 105 47 78 90'/%3E%3Cpath d='M170 5C137 12 113 26 93 50'/%3E%3Cpath d='M154 27C125 35 103 53 84 82'/%3E%3Cpath d='M137 50C114 59 96 78 82 111'/%3E%3C/g%3E%3Cg fill='%237aa449' opacity='.75'%3E%3Cellipse cx='162' cy='12' rx='25' ry='8' transform='rotate(-22 162 12)'/%3E%3Cellipse cx='145' cy='28' rx='24' ry='8' transform='rotate(-30 145 28)'/%3E%3Cellipse cx='127' cy='48' rx='22' ry='8' transform='rotate(-37 127 48)'/%3E%3Cellipse cx='110' cy='72' rx='20' ry='7' transform='rotate(-43 110 72)'/%3E%3Cellipse cx='91' cy='98' rx='17' ry='6' transform='rotate(-50 91 98)'/%3E%3C/g%3E%3C/svg%3E") top -18px right -18px/112px 84px no-repeat,
            linear-gradient(90deg, rgba(255,255,255,.96), #fff) !important;
    }

    .ir-sotc .ir-compact-action:before,
    .ir-sotc .ir-compact-action:after {
        left: -18px !important;
        width: 36px !important;
        height: 36px !important;
        background: #fff !important;
        border: 1px solid #eadcc8 !important;
        box-shadow: none !important;
        z-index: 8 !important;
    }

    .ir-sotc .ir-compact-action:before {
        top: -19px !important;
        clip-path: inset(50% 0 0 0) !important;
    }

    .ir-sotc .ir-compact-action:after {
        bottom: -19px !important;
        clip-path: inset(0 0 50% 0) !important;
    }

    .ir-sotc .ir-compact-copy h2 {
        font-family: Georgia, "Times New Roman", serif !important;
        font-weight: 600 !important;
        letter-spacing: -.035em !important;
        color: #07182f !important;
        text-shadow: none !important;
    }

    .ir-sotc .ir-stat-row {
        align-items: center !important;
        gap: 0 !important;
        color: #374255 !important;
    }

    .ir-sotc .ir-stat-row span {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding-right: 21px !important;
        margin-right: 21px !important;
        border-right: 1px solid #d8c8aa !important;
        font-size: 17px !important;
        font-weight: 500 !important;
        letter-spacing: -.01em !important;
        color: #334052 !important;
    }

    .ir-sotc .ir-stat-row span:last-child {
        border-right: 0 !important;
        padding-right: 0 !important;
        margin-right: 0 !important;
    }

    .ir-sotc .ir-stat-row span:before {
        margin: 0 !important;
        width: 19px !important;
        height: 19px !important;
        flex: 0 0 19px !important;
    }

    .ir-sotc .ir-compact-action .ir-deal {
        margin-top: 7px !important;
        margin-bottom: 17px !important;
    }
}

/* v1.2.3 final palm, bottom cut and yellow Book Now text */
@media (min-width: 1281px) {
    .ir-sotc .ir-compact-action {
        background:
            url("data:image/svg+xml,%3Csvg viewBox='0 0 180 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2379a64a' stroke-width='7' stroke-linecap='round'%3E%3Cpath d='M176 8C145 19 116 39 93 72'/%3E%3Cpath d='M174 10C144 9 116 15 88 29'/%3E%3Cpath d='M168 23c-28 0-53 7-78 23'/%3E%3Cpath d='M158 39c-27 3-49 13-70 33'/%3E%3Cpath d='M143 57c-23 8-42 23-58 47'/%3E%3C/g%3E%3Cg fill='%2379a64a' opacity='.72'%3E%3Cellipse cx='142' cy='15' rx='30' ry='8' transform='rotate(-10 142 15)'/%3E%3Cellipse cx='130' cy='29' rx='28' ry='8' transform='rotate(-22 130 29)'/%3E%3Cellipse cx='116' cy='48' rx='26' ry='8' transform='rotate(-34 116 48)'/%3E%3Cellipse cx='102' cy='72' rx='23' ry='7' transform='rotate(-45 102 72)'/%3E%3C/g%3E%3C/svg%3E") top -26px right -28px/142px 104px no-repeat,
            linear-gradient(90deg, rgba(255,255,255,.96), #fff) !important;
    }

    .ir-sotc .ir-compact-action:before,
    .ir-sotc .ir-compact-action:after {
        left: -18px !important;
        width: 36px !important;
        height: 36px !important;
        border-radius: 50% !important;
        background: #fff !important;
        border: 1px solid #eadcc8 !important;
        z-index: 30 !important;
        clip-path: none !important;
    }

    .ir-sotc .ir-compact-action:before {
        top: -18px !important;
    }

    .ir-sotc .ir-compact-action:after {
        bottom: -18px !important;
    }

    .ir-sotc .ir-compact-action button {
        color: #f2c44b !important;
    }

    .ir-sotc .ir-compact-action button:after {
        color: #07182f !important;
        background: #fff !important;
    }
}

/* v1.2.4 exact boarding-pass fixes: corner palm, dashed perforation, yellow CTA text */
@media (min-width: 1281px) {
    .ir-sotc .ir-compact-ticket {
        overflow: visible !important;
    }

    .ir-sotc .ir-compact-action {
        position: relative !important;
        border-left: 1.5px dashed #d8bd84 !important;
        background:
            url("data:image/svg+xml,%3Csvg viewBox='0 0 150 118' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%237faf4e' stroke-width='7' stroke-linecap='round' opacity='.86'%3E%3Cpath d='M145 2C116 17 96 39 82 70'/%3E%3Cpath d='M145 2C111 5 84 17 62 36'/%3E%3Cpath d='M142 16C112 20 86 34 66 55'/%3E%3Cpath d='M133 34C105 43 84 61 68 88'/%3E%3C/g%3E%3Cg fill='%237faf4e' opacity='.72'%3E%3Cellipse cx='121' cy='11' rx='27' ry='7' transform='rotate(-22 121 11)'/%3E%3Cellipse cx='101' cy='30' rx='25' ry='7' transform='rotate(-33 101 30)'/%3E%3Cellipse cx='84' cy='55' rx='22' ry='6' transform='rotate(-43 84 55)'/%3E%3Cellipse cx='69' cy='82' rx='18' ry='5.5' transform='rotate(-52 69 82)'/%3E%3C/g%3E%3C/svg%3E") top -12px right -5px/92px 72px no-repeat,
            #fff !important;
    }

    .ir-sotc .ir-compact-action:before,
    .ir-sotc .ir-compact-action:after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        left: -18px !important;
        width: 36px !important;
        height: 36px !important;
        border-radius: 999px !important;
        background: #f6f6f6 !important;
        border: 1px solid #eadcc8 !important;
        box-shadow: 0 3px 10px rgba(7, 24, 47, .06) inset !important;
        clip-path: none !important;
        z-index: 60 !important;
        pointer-events: none !important;
    }

    .ir-sotc .ir-compact-action:before {
        top: -18px !important;
    }

    .ir-sotc .ir-compact-action:after {
        bottom: -18px !important;
    }

    .ir-sotc .ir-compact-action button,
    .ir-sotc .ir-compact-action button * {
        color: #f2c44b !important;
    }

    .ir-sotc .ir-compact-action button:after {
        color: #07182f !important;
        background: #fff !important;
    }
}

/* v1.2.5 clean boarding-pass polish */
.ir-sotc .ir-sotc-head-duplicate {
    display: none !important;
}

@media (min-width: 1281px) {
    .ir-sotc .ir-compact-copy h2 {
        font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
        font-size: clamp(34px, 3.25vw, 50px) !important;
        line-height: .95 !important;
        font-weight: 500 !important;
        letter-spacing: -.045em !important;
    }

    .ir-sotc .ir-badge-row {
        gap: 10px !important;
    }

    .ir-sotc .ir-family-badge {
        min-height: 27px !important;
        padding: 0 15px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        letter-spacing: -.01em !important;
    }

    .ir-sotc .ir-family-badge:before {
        display: none !important;
        content: none !important;
    }

    .ir-sotc .ir-stat-row span {
        font-size: 15px !important;
        font-weight: 500 !important;
        color: #2f3b4f !important;
        padding-right: 18px !important;
        margin-right: 18px !important;
    }

    .ir-sotc .ir-compact-action {
        background:
            url("data:image/svg+xml,%3Csvg viewBox='0 0 170 118' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%237aa449' stroke-width='6' stroke-linecap='round' opacity='.9'%3E%3Cpath d='M166 2C132 14 105 40 88 82'/%3E%3Cpath d='M164 4C128 1 94 11 62 34'/%3E%3Cpath d='M160 18C126 18 96 30 70 55'/%3E%3Cpath d='M149 38C119 45 96 63 78 95'/%3E%3C/g%3E%3Cg fill='%237aa449' opacity='.72'%3E%3Cellipse cx='137' cy='10' rx='28' ry='7' transform='rotate(-18 137 10)'/%3E%3Cellipse cx='113' cy='28' rx='27' ry='7' transform='rotate(-30 113 28)'/%3E%3Cellipse cx='94' cy='51' rx='23' ry='6' transform='rotate(-40 94 51)'/%3E%3Cellipse cx='78' cy='78' rx='19' ry='5.5' transform='rotate(-50 78 78)'/%3E%3C/g%3E%3C/svg%3E") top -10px right -7px/102px 74px no-repeat,
            #fff !important;
    }

    .ir-sotc .ir-compact-action:before,
    .ir-sotc .ir-compact-action:after {
        width: 34px !important;
        height: 34px !important;
        left: -17px !important;
        background: #f7f7f7 !important;
        border: 1px solid #eadcc8 !important;
        box-shadow: none !important;
    }

    .ir-sotc .ir-compact-action:before {
        top: -17px !important;
        clip-path: inset(50% 0 0 0) !important;
    }

    .ir-sotc .ir-compact-action:after {
        bottom: -17px !important;
        clip-path: inset(0 0 50% 0) !important;
    }

    .ir-sotc .ir-compact-action strong {
        font-size: 27px !important;
        font-weight: 700 !important;
        letter-spacing: -.02em !important;
    }

    .ir-sotc .ir-compact-action del {
        font-size: 14px !important;
    }

    .ir-sotc .ir-compact-action p a:first-child {
        font-size: 13px !important;
        font-weight: 500 !important;
        letter-spacing: -.005em !important;
    }
}

/* v1.2.5b ultra-specific Elementor/live override */
body .ir-tour.ir-sotc .ir-sotc-head-duplicate,
body article.ir-tour.ir-sotc header.ir-sotc-head.ir-sotc-head-duplicate {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

@media (min-width: 1281px) {
    body .ir-tour.ir-sotc .ir-compact-ticket {
        margin-bottom: 30px !important;
    }

    body .ir-tour.ir-sotc .ir-compact-copy h2 {
        font-family: Georgia, "Times New Roman", serif !important;
        font-size: 46px !important;
        line-height: .94 !important;
        font-weight: 500 !important;
        letter-spacing: -.055em !important;
    }

    body .ir-tour.ir-sotc .ir-family-badge {
        padding: 0 16px !important;
        min-height: 28px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
    }

    body .ir-tour.ir-sotc .ir-family-badge:before,
    body .ir-tour.ir-sotc .ir-family-badge:after {
        display: none !important;
        content: none !important;
    }

    body .ir-tour.ir-sotc .ir-compact-action {
        border-left: 1.5px dashed #d9bd86 !important;
        background:
            url("data:image/svg+xml,%3Csvg viewBox='0 0 170 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2379a84b' stroke-width='7' stroke-linecap='round'%3E%3Cpath d='M166 2C133 13 106 39 88 82'/%3E%3Cpath d='M164 4C128 2 95 12 63 34'/%3E%3Cpath d='M160 18C126 18 96 31 70 56'/%3E%3Cpath d='M150 38C120 46 96 64 78 96'/%3E%3C/g%3E%3Cg fill='%2379a84b' opacity='.72'%3E%3Cellipse cx='137' cy='10' rx='28' ry='7' transform='rotate(-18 137 10)'/%3E%3Cellipse cx='113' cy='28' rx='27' ry='7' transform='rotate(-30 113 28)'/%3E%3Cellipse cx='94' cy='52' rx='23' ry='6' transform='rotate(-40 94 52)'/%3E%3Cellipse cx='78' cy='79' rx='19' ry='5.5' transform='rotate(-50 78 79)'/%3E%3C/g%3E%3C/svg%3E") top -12px right -8px/100px 74px no-repeat,
            #fff !important;
    }

    body .ir-tour.ir-sotc .ir-compact-action:before,
    body .ir-tour.ir-sotc .ir-compact-action:after {
        content: "" !important;
        position: absolute !important;
        left: -17px !important;
        width: 34px !important;
        height: 34px !important;
        border-radius: 50% !important;
        background: #f7f7f7 !important;
        border: 1px solid #eadcc8 !important;
        box-shadow: none !important;
        z-index: 90 !important;
        pointer-events: none !important;
    }

    body .ir-tour.ir-sotc .ir-compact-action:before {
        top: -17px !important;
        clip-path: inset(50% 0 0 0) !important;
    }

    body .ir-tour.ir-sotc .ir-compact-action:after {
        bottom: -17px !important;
        clip-path: inset(0 0 50% 0) !important;
    }

    body .ir-tour.ir-sotc .ir-compact-action strong {
        font-size: 27px !important;
        font-weight: 700 !important;
    }

    body .ir-tour.ir-sotc .ir-compact-action p a:first-child {
        font-size: 13px !important;
        font-weight: 500 !important;
    }
}

/* v1.2.6 priority: better palm, rounder ticket, clear gallery gap */
@media (min-width: 1281px) {
    body .ir-tour.ir-sotc .ir-compact-ticket {
        border-radius: 26px !important;
        margin-bottom: 42px !important;
        border-color: #eadcc8 !important;
        box-shadow: 0 20px 48px rgba(7, 24, 47, .09) !important;
    }

    body .ir-tour.ir-sotc .ir-compact-ticket:before {
        border-radius: inherit !important;
    }

    body .ir-tour.ir-sotc .ir-compact-copy {
        border-radius: 26px 0 0 26px !important;
    }

    body .ir-tour.ir-sotc .ir-compact-action {
        border-radius: 0 26px 26px 0 !important;
        background:
            url("data:image/svg+xml,%3Csvg viewBox='0 0 190 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2379a84b' stroke-width='7.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M184 5C142 17 114 46 98 92'/%3E%3Cpath d='M178 10C140 4 104 13 70 38'/%3E%3Cpath d='M174 27C138 24 105 36 78 63'/%3E%3Cpath d='M163 50C130 55 104 75 86 111'/%3E%3C/g%3E%3Cg fill='%2379a84b' opacity='.74'%3E%3Cpath d='M184 5c-20-1-38 4-54 15 17 5 34 3 54-15Z'/%3E%3Cpath d='M166 20c-23 0-43 7-60 22 19 5 38 1 60-22Z'/%3E%3Cpath d='M148 42c-22 3-40 14-55 33 19 2 36-7 55-33Z'/%3E%3Cpath d='M128 69c-18 7-32 20-43 43 16-2 29-16 43-43Z'/%3E%3C/g%3E%3C/svg%3E") top -18px right -16px/116px 92px no-repeat,
            #fff !important;
    }

    body .ir-tour.ir-sotc .ir-sotc-grid {
        margin-top: 0 !important;
    }
}

/* v1.2.7 gallery/why-book final cleanups */
@media (min-width: 1281px) {
    body .ir-tour.ir-sotc .ir-compact-ticket {
        margin-bottom: 52px !important;
    }

    body .ir-tour.ir-sotc .ir-sotc-grid {
        padding-top: 0 !important;
    }

    body .ir-tour.ir-sotc .ir-gallery span {
        display: none !important;
    }

    body .ir-tour.ir-sotc .ir-highlight-card h3 {
        font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
        font-size: 17px !important;
        line-height: 1.1 !important;
        font-weight: 600 !important;
        letter-spacing: -.02em !important;
        padding: 8px 18px !important;
        margin-bottom: 18px !important;
    }

    body .ir-tour.ir-sotc .ir-highlight-card li {
        font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        font-weight: 500 !important;
        letter-spacing: -.01em !important;
        margin-bottom: 12px !important;
    }
}

/* v1.2.8: align gallery with boarding-pass split and slim the right note card */
@media (min-width: 1281px) {
    body .ir-tour.ir-sotc .ir-sotc-grid {
        grid-template-columns: minmax(0, 1fr) 300px !important;
        column-gap: 34px !important;
        row-gap: 24px !important;
        align-items: start !important;
        width: 100% !important;
    }

    body .ir-tour.ir-sotc .ir-sotc-main {
        min-width: 0 !important;
        width: 100% !important;
    }

    body .ir-tour.ir-sotc .ir-gallery {
        width: 100% !important;
        grid-template-columns: 1.34fr .68fr .68fr !important;
        grid-template-rows: 190px 190px !important;
        gap: 14px !important;
    }

    body .ir-tour.ir-sotc .ir-rail {
        width: 300px !important;
        max-width: 300px !important;
        min-width: 0 !important;
    }

    body .ir-tour.ir-sotc .ir-highlight-card {
        width: 300px !important;
        max-width: 300px !important;
        min-height: 0 !important;
        padding: 22px 20px 20px !important;
        border-radius: 14px !important;
    }

    body .ir-tour.ir-sotc .ir-highlight-card h3 {
        font-size: 16px !important;
        font-weight: 600 !important;
        padding: 8px 16px !important;
        margin-bottom: 16px !important;
    }

    body .ir-tour.ir-sotc .ir-highlight-card li {
        font-size: 13.5px !important;
        line-height: 1.42 !important;
        margin-bottom: 11px !important;
    }

    body .ir-tour.ir-sotc .ir-highlight-art {
        display: none !important;
    }
}

/* v1.2.9: premium sticky tabs, softer itinerary typography, no floating chat */
body .ir-tour.ir-sotc .ir-chat {
    display: none !important;
}

body .ir-tour.ir-sotc .ir-tabs {
    position: sticky !important;
    top: 0 !important;
    z-index: 80 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    height: auto !important;
    min-height: 58px !important;
    padding: 9px 12px !important;
    margin: 18px 0 14px !important;
    border: 1px solid #e5d8c3 !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .94) !important;
    box-shadow: 0 12px 30px rgba(7, 24, 47, .08) !important;
    backdrop-filter: blur(10px) !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
}

body .ir-tour.ir-sotc .ir-tabs::-webkit-scrollbar {
    display: none !important;
}

body .ir-tour.ir-sotc .ir-tabs button {
    position: relative !important;
    flex: 0 0 auto !important;
    min-height: 38px !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #273244 !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: .015em !important;
    text-transform: uppercase !important;
    transition: color .2s ease, background .2s ease, box-shadow .2s ease !important;
}

body .ir-tour.ir-sotc .ir-tabs button:hover,
body .ir-tour.ir-sotc .ir-tabs button.is-active {
    color: #07182f !important;
    background: linear-gradient(135deg, #fff8e7, #f1dfb2) !important;
    box-shadow: inset 0 0 0 1px rgba(201, 163, 78, .38), 0 8px 18px rgba(201, 163, 78, .15) !important;
}

body .ir-tour.ir-sotc .ir-panel {
    border-radius: 16px !important;
    border-color: #e6d9c6 !important;
    box-shadow: 0 12px 28px rgba(7, 24, 47, .05) !important;
}

body .ir-tour.ir-sotc .ir-panel > h2 {
    color: #07182f !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
    letter-spacing: -.035em !important;
}

body .ir-tour.ir-sotc .ir-accordion {
    border-radius: 14px !important;
    border-color: #e4d8c8 !important;
    overflow: hidden !important;
}

body .ir-tour.ir-sotc .ir-accordion article > button {
    min-height: 64px !important;
    padding: 0 22px !important;
    background: #fbfaf8 !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
}

body .ir-tour.ir-sotc .ir-accordion article > button span {
    min-height: 27px !important;
    padding: 0 16px !important;
    border-color: #ff3535 !important;
    color: #273244 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: -.01em !important;
}

body .ir-tour.ir-sotc .ir-accordion article > button strong {
    color: #132238 !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    letter-spacing: -.035em !important;
}

body .ir-tour.ir-sotc .ir-accordion article > button i {
    width: 34px !important;
    height: 34px !important;
    font-style: normal !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #6d7480 !important;
    background: #fff !important;
    border-color: #ebe3d8 !important;
    box-shadow: 0 7px 18px rgba(7, 24, 47, .1) !important;
}

body .ir-tour.ir-sotc .ir-accordion p {
    color: #142238 !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
    font-weight: 400 !important;
    letter-spacing: -.015em !important;
}

@media (max-width: 760px) {
    body .ir-tour.ir-sotc .ir-tabs {
        top: 0 !important;
        min-height: 54px !important;
        padding: 8px !important;
        border-radius: 14px !important;
        margin-top: 14px !important;
    }

    body .ir-tour.ir-sotc .ir-tabs button {
        min-height: 36px !important;
        padding: 0 14px !important;
        font-size: 12px !important;
    }

    body .ir-tour.ir-sotc .ir-panel > h2 {
        font-size: 21px !important;
    }

    body .ir-tour.ir-sotc .ir-accordion article > button {
        grid-template-columns: 72px 1fr 32px !important;
        min-height: 58px !important;
        padding: 0 12px !important;
    }

    body .ir-tour.ir-sotc .ir-accordion article > button strong {
        font-size: 15px !important;
    }
}

/* v1.3.2 final: rectangular package-details subnav, sticky right rail, compact side CTA */
body .ir-tour.ir-sotc .ir-content-grid {
    align-items: flex-start !important;
}

body .ir-tour.ir-sotc .ir-rail {
    position: sticky !important;
    top: 88px !important;
    align-self: flex-start !important;
    z-index: 30 !important;
}

body.admin-bar .ir-tour.ir-sotc .ir-rail {
    top: 120px !important;
}

body .ir-tour.ir-sotc .ir-subtabs {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    padding: 12px 24px !important;
    background: #07182f !important;
    border: 1px solid #07182f !important;
    border-radius: 0 0 14px 14px !important;
    box-shadow: 0 16px 30px rgba(7, 24, 47, .12) !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
}

body .ir-tour.ir-sotc .ir-subtabs::-webkit-scrollbar {
    display: none !important;
}

body .ir-tour.ir-sotc .ir-subtabs.is-sub-fixed {
    position: fixed !important;
    z-index: 9997 !important;
    margin: 0 !important;
    border-radius: 0 0 14px 14px !important;
}

body.admin-bar .ir-tour.ir-sotc .ir-subtabs.is-sub-fixed {
    top: 96px !important;
}

body .ir-tour.ir-sotc .ir-subtabs.is-sub-fixed-spacer {
    display: block !important;
}

body .ir-tour.ir-sotc .ir-subtabs button,
body .ir-tour.ir-sotc .ir-subtabs button:hover,
body .ir-tour.ir-sotc .ir-subtabs button.is-active,
body .ir-tour.ir-sotc .ir-subtabs button:focus {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

body .ir-tour.ir-sotc .ir-subtabs button {
    position: relative !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 30px !important;
    padding: 0 9px !important;
    background: transparent !important;
    color: #f6d36b !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 30px !important;
    font-weight: 600 !important;
    letter-spacing: -.01em !important;
    text-transform: none !important;
    transition: background-color .18s ease, color .18s ease !important;
}

body .ir-tour.ir-sotc .ir-subtabs button:before,
body .ir-tour.ir-sotc .ir-subtabs button:after {
    display: none !important;
    content: none !important;
}

body .ir-tour.ir-sotc .ir-subtabs button:hover,
body .ir-tour.ir-sotc .ir-subtabs button.is-active {
    background: #ffd200 !important;
    color: #07182f !important;
}

body .ir-tour.ir-sotc .ir-side-cta {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 16px !important;
}

body .ir-tour.ir-sotc .ir-side-cta a,
body .ir-tour.ir-sotc .ir-side-cta button {
    height: 43px !important;
    border-radius: 9px !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: -.01em !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

body .ir-tour.ir-sotc .ir-side-chat {
    flex: 1 1 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border: 1px solid #d9d9d9 !important;
    background: #fff !important;
    color: #555 !important;
}

body .ir-tour.ir-sotc .ir-side-chat:before {
    content: "" !important;
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%2325D366'/%3E%3Cpath fill='%23fff' d='M22.53 18.86c-.35-.17-2.05-1.01-2.37-1.12-.32-.12-.55-.17-.78.17-.23.35-.9 1.12-1.1 1.35-.2.23-.41.26-.76.09-.35-.17-1.47-.54-2.8-1.73-1.04-.92-1.74-2.06-1.94-2.41-.2-.35-.02-.54.15-.71.16-.15.35-.41.52-.61.17-.2.23-.35.35-.58.12-.23.06-.43-.03-.61-.09-.17-.78-1.88-1.07-2.57-.28-.67-.57-.58-.78-.59h-.67c-.23 0-.61.09-.93.43-.32.35-1.22 1.19-1.22 2.9s1.25 3.37 1.42 3.6c.17.23 2.46 3.76 5.96 5.27.83.36 1.48.57 1.98.73.83.26 1.59.22 2.19.13.67-.1 2.05-.84 2.34-1.65.29-.81.29-1.51.2-1.65-.09-.15-.32-.23-.67-.41z'/%3E%3Cpath fill='%23fff' d='M16.08 5.45a10.35 10.35 0 0 0-8.93 15.55L5.7 26.37l5.5-1.44a10.33 10.33 0 1 0 4.88-19.48zm0 18.92c-1.67 0-3.24-.49-4.58-1.34l-.33-.2-3.26.85.87-3.18-.22-.34a8.62 8.62 0 1 1 7.52 4.21z'/%3E%3C/svg%3E") !important;
}

body .ir-tour.ir-sotc .ir-side-book {
    flex: 0 0 112px !important;
    border: 0 !important;
    background: #ff3838 !important;
    color: #fff !important;
}

body .ir-tour.ir-sotc .ir-side-book:hover {
    background: #e82f2f !important;
}

@media (min-width: 981px) {
    body .ir-tour.ir-sotc .ir-sidebar-banner {
        display: block !important;
        max-height: 350px !important;
        overflow: hidden !important;
    }
}

/* v1.3.6: soft corner palm frond + clean photo modal controls */
@media (min-width: 981px) {
    html body .ir-tour.ir-sotc .ir-compact-action {
        background:
            url("data:image/svg+xml,%3Csvg width='190' height='155' viewBox='0 0 190 155' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='1' y1='0' x2='0' y2='1'%3E%3Cstop stop-color='%2370a94f' stop-opacity='.94'/%3E%3Cstop offset='1' stop-color='%2397bf69' stop-opacity='.55'/%3E%3C/linearGradient%3E%3Cfilter id='b' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeGaussianBlur stdDeviation='.25'/%3E%3C/filter%3E%3C/defs%3E%3Cg fill='none' stroke='url(%23g)' stroke-width='5.2' stroke-linecap='round' filter='url(%23b)'%3E%3Cpath d='M183 4C151 19 121 42 94 78'/%3E%3Cpath d='M183 5C154 5 126 12 96 27'/%3E%3Cpath d='M178 18C149 19 122 28 92 45'/%3E%3Cpath d='M170 31C143 35 118 47 88 68'/%3E%3Cpath d='M160 47C136 55 113 72 88 98'/%3E%3Cpath d='M148 65C127 78 109 96 91 124'/%3E%3C/g%3E%3Cg fill='%237caf58' opacity='.84'%3E%3Cellipse cx='146' cy='13' rx='34' ry='6.5' transform='rotate(-12 146 13)'/%3E%3Cellipse cx='136' cy='26' rx='33' ry='6.2' transform='rotate(-20 136 26)'/%3E%3Cellipse cx='125' cy='43' rx='32' ry='6' transform='rotate(-29 125 43)'/%3E%3Cellipse cx='112' cy='64' rx='31' ry='5.8' transform='rotate(-38 112 64)'/%3E%3Cellipse cx='102' cy='88' rx='28' ry='5.5' transform='rotate(-47 102 88)'/%3E%3Cellipse cx='96' cy='111' rx='24' ry='5' transform='rotate(-56 96 111)'/%3E%3C/g%3E%3C/svg%3E") top -18px right -16px/142px 116px no-repeat,
            #fff !important;
    }
}

html body .ir-tour.ir-sotc .ir-photo-modal {
    background: rgba(7, 24, 47, .82) !important;
}

html body .ir-tour.ir-sotc .ir-photo-modal img {
    max-width: min(980px, 78vw) !important;
    max-height: 76vh !important;
    border-radius: 14px !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .32) !important;
}

html body .ir-tour.ir-sotc .ir-photo-close,
html body .ir-tour.ir-sotc .ir-photo-prev,
html body .ir-tour.ir-sotc .ir-photo-next {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #07182f !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .24) !important;
}

html body .ir-tour.ir-sotc .ir-photo-close {
    top: 24px !important;
    right: 32px !important;
    width: 64px !important;
    height: 44px !important;
    font-size: 20px !important;
}

html body .ir-tour.ir-sotc .ir-photo-prev,
html body .ir-tour.ir-sotc .ir-photo-next {
    top: 50% !important;
    width: 62px !important;
    height: 44px !important;
    transform: translateY(-50%) !important;
    font-size: 28px !important;
}

html body .ir-tour.ir-sotc .ir-photo-prev {
    left: 28px !important;
}

html body .ir-tour.ir-sotc .ir-photo-next {
    right: 28px !important;
}

html body .ir-tour.ir-sotc .ir-photo-close:hover,
html body .ir-tour.ir-sotc .ir-photo-prev:hover,
html body .ir-tour.ir-sotc .ir-photo-next:hover {
    background: #ffd200 !important;
    color: #07182f !important;
}

@media (max-width: 760px) {
    html body .ir-tour.ir-sotc .ir-photo-modal img {
        max-width: 86vw !important;
        max-height: 70vh !important;
    }

    html body .ir-tour.ir-sotc .ir-photo-close {
        top: 18px !important;
        right: 18px !important;
        width: 50px !important;
        height: 38px !important;
        font-size: 18px !important;
    }

    html body .ir-tour.ir-sotc .ir-photo-prev,
    html body .ir-tour.ir-sotc .ir-photo-next {
        width: 46px !important;
        height: 38px !important;
        font-size: 24px !important;
    }
}

@media (max-width: 980px) {
    body .ir-tour.ir-sotc .ir-rail {
        position: static !important;
        top: auto !important;
    }
}

/* v1.3.4: no inner sidebar scroll, full right stack sticks with page scroll */
@media (min-width: 981px) {
    html body .ir-tour.ir-sotc .ir-rail {
        position: sticky !important;
        top: 84px !important;
        align-self: flex-start !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        overscroll-behavior: auto !important;
        padding-bottom: 0 !important;
        z-index: 80 !important;
    }

    html body.admin-bar .ir-tour.ir-sotc .ir-rail {
        top: 116px !important;
        max-height: none !important;
    }

    html body .ir-tour.ir-sotc .ir-rail::-webkit-scrollbar {
        width: 0 !important;
        display: none !important;
    }
}

@media (max-width: 760px) {
    body .ir-tour.ir-sotc .ir-subtabs {
        gap: 10px !important;
        padding: 10px 12px !important;
        border-radius: 12px !important;
    }

    body .ir-tour.ir-sotc .ir-subtabs.is-sub-fixed {
        top: 56px !important;
        left: 10px !important;
        right: 10px !important;
        width: calc(100vw - 20px) !important;
    }

    body.admin-bar .ir-tour.ir-sotc .ir-subtabs.is-sub-fixed {
        top: 88px !important;
    }

    body .ir-tour.ir-sotc .ir-subtabs button {
        min-height: 28px !important;
        padding: 0 8px !important;
        font-size: 12px !important;
        line-height: 28px !important;
    }

    body .ir-tour.ir-sotc .ir-side-cta {
        position: sticky !important;
        bottom: 10px !important;
        z-index: 50 !important;
        padding: 8px !important;
        border: 1px solid #eee2d2 !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, .96) !important;
        box-shadow: 0 16px 34px rgba(7, 24, 47, .14) !important;
    }
}

/* v1.3.3: stacked sidebar CTA + stronger sticky sidebar */
@media (min-width: 981px) {
    html body .ir-tour.ir-sotc .ir-rail {
        position: sticky !important;
        top: 84px !important;
        align-self: start !important;
        height: max-content !important;
        max-height: calc(100vh - 96px) !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        padding-bottom: 18px !important;
        z-index: 80 !important;
        scrollbar-width: thin !important;
    }

    html body.admin-bar .ir-tour.ir-sotc .ir-rail {
        top: 116px !important;
        max-height: calc(100vh - 128px) !important;
    }

    html body .ir-tour.ir-sotc .ir-rail::-webkit-scrollbar {
        width: 5px !important;
    }

    html body .ir-tour.ir-sotc .ir-rail::-webkit-scrollbar-thumb {
        background: rgba(7, 24, 47, .18) !important;
        border-radius: 20px !important;
    }
}

html body .ir-tour.ir-sotc .ir-side-cta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 16px !important;
    align-items: stretch !important;
}

html body .ir-tour.ir-sotc .ir-side-cta a,
html body .ir-tour.ir-sotc .ir-side-cta button {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 10px !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: -.01em !important;
}

html body .ir-tour.ir-sotc .ir-side-chat {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    border: 1px solid #d7d7d7 !important;
    background: #fff !important;
    color: #4f5560 !important;
    box-shadow: none !important;
}

html body .ir-tour.ir-sotc .ir-side-book {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    border: 1px solid #07182f !important;
    background: #07182f !important;
    color: #ffd200 !important;
    box-shadow: 0 10px 22px rgba(7, 24, 47, .16) !important;
}

html body .ir-tour.ir-sotc .ir-side-book:hover {
    background: #102743 !important;
    color: #ffd200 !important;
}

@media (max-width: 980px) {
    html body .ir-tour.ir-sotc .ir-rail {
        position: static !important;
        top: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    html body .ir-tour.ir-sotc .ir-side-cta {
        position: static !important;
        grid-template-columns: 1fr !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }
}

/* v1.3.5 FINAL OVERRIDE: sticky right stack, absolutely no inner scrollbar */
@media (min-width: 981px) {
    html body .ir-tour.ir-sotc .ir-sotc-grid {
        overflow: visible !important;
        align-items: start !important;
    }

    html body .ir-tour.ir-sotc .ir-sotc-main,
    html body .ir-tour.ir-sotc .ir-wrap,
    html body .ir-tour.ir-sotc {
        overflow: visible !important;
    }

    html body .ir-tour.ir-sotc aside.ir-rail,
    html body .ir-tour.ir-sotc .ir-rail {
        position: sticky !important;
        top: 84px !important;
        align-self: start !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        overflow-x: visible !important;
        overflow-y: visible !important;
        overscroll-behavior: auto !important;
        padding-bottom: 0 !important;
        z-index: 90 !important;
        scrollbar-width: none !important;
    }

    html body.admin-bar .ir-tour.ir-sotc aside.ir-rail,
    html body.admin-bar .ir-tour.ir-sotc .ir-rail {
        top: 116px !important;
        max-height: none !important;
        overflow: visible !important;
    }

    html body .ir-tour.ir-sotc aside.ir-rail::-webkit-scrollbar,
    html body .ir-tour.ir-sotc .ir-rail::-webkit-scrollbar {
        width: 0 !important;
        height: 0 !important;
        display: none !important;
    }
}

/* v1.4.1 ABSOLUTE FINAL: remove palm, blend image only at left/right edges */
@media (min-width: 981px) {
    html body .ir-tour.ir-sotc .ir-compact-action,
    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-action {
        background-color: #fff !important;
        background-image: none !important;
        background-repeat: no-repeat !important;
        background-position: initial !important;
        background-size: auto !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image,
    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-image {
        position: relative !important;
        overflow: hidden !important;
        background: #fff !important;
        isolation: isolate !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image:before,
    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-image:before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        right: auto !important;
        width: 92px !important;
        z-index: 8 !important;
        pointer-events: none !important;
        background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.92) 32%, rgba(255,255,255,.48) 66%, rgba(255,255,255,0) 100%) !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image:after,
    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-image:after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        bottom: 0 !important;
        right: 0 !important;
        left: auto !important;
        width: 92px !important;
        z-index: 8 !important;
        pointer-events: none !important;
        background: linear-gradient(270deg, #fff 0%, rgba(255,255,255,.92) 32%, rgba(255,255,255,.48) 66%, rgba(255,255,255,0) 100%) !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image img,
    html body .ir-tour.ir-sotc .ir-compact-image .ir-img-fallback {
        position: relative !important;
        z-index: 1 !important;
    }
}

/* v1.4.3 ABSOLUTE FINAL: listing layout and single mobile stability */
html body .ir-packages-page {
    --ir-navy: #07182f;
    --ir-gold: #c99a2e;
    --ir-red: #ff383f;
    width: min(1380px, calc(100vw - 34px)) !important;
    margin: 0 auto !important;
    padding: 26px 0 70px !important;
    color: var(--ir-navy) !important;
    font-family: "Inter", "Manrope", "Segoe UI", Arial, sans-serif !important;
}

html body .ir-packages-page .ir-list-mobile-head,
html body .ir-packages-page .ir-mobile-actions {
    display: none !important;
}

html body .ir-packages-page .ir-list-categories {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    gap: 14px !important;
    align-items: center !important;
    margin: 0 0 24px !important;
}

html body .ir-packages-page .ir-cat-track {
    display: flex !important;
    gap: 14px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
}

html body .ir-packages-page .ir-cat-track::-webkit-scrollbar {
    display: none !important;
}

html body .ir-packages-page .ir-cat-arrow {
    height: 48px !important;
    border: 1px solid #cbd1d9 !important;
    background: #fff !important;
    color: #7a8493 !important;
    border-radius: 5px !important;
    font-size: 28px !important;
    cursor: pointer !important;
}

html body .ir-packages-page .ir-cat-card {
    position: relative !important;
    flex: 0 0 230px !important;
    height: 82px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: #dfe5ea !important;
    color: #fff !important;
    cursor: pointer !important;
    box-shadow: 0 12px 30px rgba(7, 24, 47, .1) !important;
}

html body .ir-packages-page .ir-cat-card span,
html body .ir-packages-page .ir-cat-card img,
html body .ir-packages-page .ir-cat-card .ir-img-fallback {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
}

html body .ir-packages-page .ir-cat-card img,
html body .ir-packages-page .ir-cat-card .ir-img-fallback {
    filter: brightness(.58) !important;
}

html body .ir-packages-page .ir-cat-card b {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    place-items: center !important;
    height: 100% !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
}

html body .ir-packages-page .ir-list-shell {
    display: grid !important;
    grid-template-columns: 278px minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
}

html body .ir-packages-page .ir-list-filter {
    position: sticky !important;
    top: 88px !important;
    border: 1px solid #edf0f3 !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 12px 26px rgba(7, 24, 47, .08) !important;
    padding: 24px !important;
}

html body .ir-packages-page .ir-filter-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 18px !important;
}

html body .ir-packages-page .ir-filter-title strong,
html body .ir-packages-page .ir-filter-group h3 {
    margin: 0 0 14px !important;
    color: #06172d !important;
    font-size: 19px !important;
    font-weight: 750 !important;
    letter-spacing: -.02em !important;
}

html body .ir-packages-page .ir-filter-title button,
html body .ir-packages-page .ir-view-more,
html body .ir-packages-page .ir-showing button {
    border: 0 !important;
    background: transparent !important;
    color: #2d6fb8 !important;
    cursor: pointer !important;
    font: inherit !important;
}

html body .ir-packages-page .ir-filter-group {
    margin: 0 0 28px !important;
}

html body .ir-packages-page .ir-filter-group label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 10px 0 !important;
    color: #07182f !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
}

html body .ir-packages-page .ir-filter-group input {
    width: 24px !important;
    height: 24px !important;
    accent-color: var(--ir-gold) !important;
}

html body .ir-packages-page .ir-popular-strip {
    display: grid !important;
    grid-template-columns: 150px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: center !important;
    margin-bottom: 20px !important;
    padding: 18px !important;
    border-radius: 8px !important;
    background: #eee !important;
}

html body .ir-packages-page .ir-popular-strip div {
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    padding-bottom: 5px !important;
}

html body .ir-packages-page .ir-popular-strip button {
    flex: 0 0 auto !important;
    height: 38px !important;
    padding: 0 18px !important;
    border: 1px solid #cbd1d8 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #07182f !important;
    font-size: 15px !important;
    cursor: pointer !important;
}

html body .ir-packages-page .ir-package-list {
    display: grid !important;
    gap: 22px !important;
}

html body .ir-packages-page .ir-list-package {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr) 270px !important;
    gap: 20px !important;
    min-height: 242px !important;
    padding: 20px 24px !important;
    border: 1px solid #edf0f3 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(7, 24, 47, .08) !important;
}

html body .ir-packages-page .ir-list-package:before,
html body .ir-packages-page .ir-list-package:after {
    content: "" !important;
    position: absolute !important;
    right: 255px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: #f5f6f8 !important;
    box-shadow: inset 0 0 0 1px #edf0f3 !important;
    z-index: 2 !important;
}

html body .ir-packages-page .ir-list-package:before {
    top: -22px !important;
}

html body .ir-packages-page .ir-list-package:after {
    bottom: -22px !important;
}

html body .ir-packages-page .ir-list-image {
    display: block !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: #dce3ea !important;
}

html body .ir-packages-page .ir-list-image img,
html body .ir-packages-page .ir-list-image .ir-img-fallback {
    width: 100% !important;
    height: 100% !important;
    min-height: 206px !important;
    object-fit: cover !important;
    display: block !important;
}

html body .ir-packages-page .ir-list-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 10px !important;
}

html body .ir-packages-page .ir-list-tags span {
    padding: 7px 10px !important;
    border-radius: 6px !important;
    background: #f3f4f6 !important;
    color: #3e4856 !important;
    font-size: 13px !important;
}

html body .ir-packages-page .ir-list-body h2 {
    margin: 0 0 10px !important;
    color: #07182f !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 780 !important;
    letter-spacing: -.025em !important;
}

html body .ir-packages-page .ir-list-body h2 a {
    color: inherit !important;
    text-decoration: none !important;
}

html body .ir-packages-page .ir-list-body h2 em {
    margin-left: 8px !important;
    color: #26364c !important;
    font-style: normal !important;
    font-size: 15px !important;
    font-weight: 550 !important;
}

html body .ir-packages-page .ir-list-route {
    margin: 0 0 12px !important;
    color: #3f4a58 !important;
    font-size: 15px !important;
}

html body .ir-packages-page .ir-list-services {
    display: flex !important;
    gap: 18px !important;
    margin-bottom: 12px !important;
    color: #777f89 !important;
    font-size: 14px !important;
}

html body .ir-packages-page .ir-list-body ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    color: #00807a !important;
    font-size: 14px !important;
}

html body .ir-packages-page .ir-list-body li:before {
    content: "✓" !important;
    margin-right: 8px !important;
}

html body .ir-packages-page .ir-list-price {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-left: 34px !important;
    border-left: 1px dashed #c9cdd4 !important;
}

html body .ir-packages-page .ir-list-price strong {
    margin: 8px 0 !important;
    color: #1b2430 !important;
    font-size: 27px !important;
    font-weight: 800 !important;
    letter-spacing: -.035em !important;
}

html body .ir-packages-page .ir-view-details {
    display: grid !important;
    place-items: center !important;
    width: 180px !important;
    height: 52px !important;
    margin: 10px 0 18px !important;
    border-radius: 7px !important;
    background: var(--ir-red) !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

html body .ir-packages-page .ir-list-price p {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
}

html body .ir-packages-page .ir-list-enquire,
html body .ir-packages-page .ir-list-wa {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 38px !important;
    border-radius: 999px !important;
    text-decoration: none !important;
}

html body .ir-packages-page .ir-list-enquire {
    min-width: 142px !important;
    border: 1px solid #cfd4dc !important;
    color: #4a4f57 !important;
    background: #fff !important;
}

html body .ir-packages-page .ir-list-wa {
    width: 42px !important;
    overflow: hidden !important;
    border: 1px solid #cfd4dc !important;
    color: transparent !important;
    font-size: 0 !important;
}

html body .ir-packages-page .ir-list-wa:before {
    content: "☘" !important;
    width: 30px !important;
    height: 30px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #25d366 !important;
    color: #fff !important;
    font-size: 16px !important;
}

@media (max-width: 980px) {
    html body .ir-packages-page {
        width: 100% !important;
        padding: 0 0 92px !important;
        background: #e9e9e9 !important;
    }

    html body .ir-packages-page .ir-list-mobile-head {
        display: block !important;
    }

    html body .ir-packages-page .ir-list-appbar {
        position: sticky !important;
        top: 0 !important;
        z-index: 15 !important;
        display: flex !important;
        gap: 12px !important;
        align-items: center !important;
        height: 78px !important;
        padding: 0 20px !important;
        background: #fff !important;
        font-size: 22px !important;
    }

    html body .ir-packages-page .ir-list-intro {
        margin: 0 20px 22px !important;
        padding: 22px 20px !important;
        border-radius: 4px !important;
        background: #fff !important;
        box-shadow: 0 3px 12px rgba(0,0,0,.12) !important;
    }

    html body .ir-packages-page .ir-list-intro h1 {
        margin: 16px 0 8px !important;
        font-size: 34px !important;
        line-height: 1.05 !important;
    }

    html body .ir-packages-page .ir-list-intro p {
        max-height: 23px !important;
        overflow: hidden !important;
        margin: 0 0 18px !important;
    }

    html body .ir-packages-page .ir-list-intro button {
        width: 100% !important;
        height: 54px !important;
        border: 2px solid #0b2537 !important;
        border-radius: 5px !important;
        background: #fff !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
    }

    html body .ir-packages-page .ir-list-categories {
        grid-template-columns: 38px minmax(0, 1fr) 38px !important;
        gap: 10px !important;
        padding: 0 20px !important;
        margin-bottom: 22px !important;
    }

    html body .ir-packages-page .ir-cat-card {
        flex: 0 0 112px !important;
        height: 128px !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    html body .ir-packages-page .ir-cat-card span {
        inset: 0 10px 32px !important;
        border: 2px dashed #0b2537 !important;
        border-radius: 50% !important;
        padding: 4px !important;
        background: #fff !important;
    }

    html body .ir-packages-page .ir-cat-card img,
    html body .ir-packages-page .ir-cat-card .ir-img-fallback {
        border-radius: 50% !important;
        filter: none !important;
    }

    html body .ir-packages-page .ir-cat-card b {
        align-items: end !important;
        color: #111 !important;
        text-shadow: none !important;
        font-size: 16px !important;
    }

    html body .ir-packages-page .ir-cat-arrow {
        border: 0 !important;
        background: transparent !important;
        color: #0b2537 !important;
        font-size: 42px !important;
    }

    html body .ir-packages-page .ir-list-shell {
        display: block !important;
    }

    html body .ir-packages-page .ir-list-filter {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        z-index: 9999 !important;
        width: min(86vw, 360px) !important;
        max-height: 100vh !important;
        overflow-y: auto !important;
        transform: translateX(-105%) !important;
        transition: transform .25s ease !important;
        border-radius: 0 !important;
    }

    html body .ir-packages-page.is-filter-open .ir-list-filter {
        transform: translateX(0) !important;
    }

    html body .ir-packages-page .ir-popular-strip {
        display: none !important;
    }

    html body .ir-packages-page .ir-showing {
        display: block !important;
        margin: 0 20px 14px !important;
        font-size: 18px !important;
    }

    html body .ir-packages-page .ir-package-list {
        padding: 0 20px !important;
    }

    html body .ir-packages-page .ir-list-package {
        display: block !important;
        padding: 20px !important;
        border-radius: 5px !important;
        min-height: 0 !important;
    }

    html body .ir-packages-page .ir-list-package:before,
    html body .ir-packages-page .ir-list-package:after {
        display: none !important;
    }

    html body .ir-packages-page .ir-list-image {
        height: 220px !important;
        margin-bottom: 14px !important;
    }

    html body .ir-packages-page .ir-list-image img,
    html body .ir-packages-page .ir-list-image .ir-img-fallback {
        min-height: 220px !important;
    }

    html body .ir-packages-page .ir-list-price {
        display: block !important;
        padding: 0 !important;
        border: 0 !important;
    }

    html body .ir-packages-page .ir-list-price p {
        position: absolute !important;
        left: 20px !important;
        right: 20px !important;
        top: 254px !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 14px !important;
    }

    html body .ir-packages-page .ir-list-enquire,
    html body .ir-packages-page .ir-list-wa {
        width: auto !important;
        height: 52px !important;
        border-radius: 4px !important;
        border-width: 2px !important;
        font-size: 18px !important;
        font-weight: 700 !important;
    }

    html body .ir-packages-page .ir-list-wa {
        color: #16851f !important;
        border-color: #16851f !important;
    }

    html body .ir-packages-page .ir-list-wa:before {
        background: transparent !important;
        color: #16851f !important;
        margin-right: 8px !important;
    }

    html body .ir-packages-page .ir-list-enquire {
        color: #b73943 !important;
        border-color: #b73943 !important;
    }

    html body .ir-packages-page .ir-list-body {
        padding-top: 66px !important;
    }

    html body .ir-packages-page .ir-list-body h2 {
        font-size: 25px !important;
    }

    html body .ir-packages-page .ir-list-body h2 em,
    html body .ir-packages-page .ir-list-services,
    html body .ir-packages-page .ir-list-body ul {
        display: none !important;
    }

    html body .ir-packages-page .ir-list-tags span {
        border: 1px solid #e4e4e4 !important;
        border-radius: 999px !important;
        background: #fff !important;
        color: #777 !important;
        font-size: 16px !important;
        padding: 9px 16px !important;
    }

    html body .ir-packages-page .ir-list-price strong {
        display: block !important;
        font-size: 35px !important;
        line-height: 1 !important;
    }

    html body .ir-packages-page .ir-view-details {
        width: 230px !important;
        height: 62px !important;
        margin-top: 18px !important;
        font-size: 24px !important;
    }

    html body .ir-packages-page .ir-mobile-actions {
        position: fixed !important;
        left: 50% !important;
        bottom: 18px !important;
        z-index: 9998 !important;
        display: flex !important;
        overflow: hidden !important;
        transform: translateX(-50%) !important;
        border-radius: 18px !important;
        background: #fff !important;
        box-shadow: 0 8px 24px rgba(0,0,0,.22) !important;
    }

    html body .ir-packages-page .ir-mobile-actions button {
        height: 56px !important;
        min-width: 150px !important;
        border: 0 !important;
        background: #fff !important;
        color: #b73943 !important;
        font-size: 18px !important;
        font-weight: 650 !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-ticket,
    html body .ir-tour.ir-sotc section.ir-compact-ticket {
        width: calc(100vw - 24px) !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 10px auto 28px !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        overflow: visible !important;
        border-radius: 22px !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-copy,
    html body .ir-tour.ir-sotc section.ir-compact-ticket .ir-compact-copy {
        height: auto !important;
        padding: 22px 18px !important;
        overflow: visible !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-copy h1 {
        font-size: 34px !important;
        line-height: 1.05 !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-facts,
    html body .ir-tour.ir-sotc .ir-compact-services {
        display: flex !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        max-width: 100% !important;
        padding-bottom: 8px !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-services span {
        flex: 0 0 118px !important;
        min-width: 118px !important;
        height: 76px !important;
        padding: 8px !important;
        overflow: visible !important;
        font-size: 12px !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-image {
        order: -1 !important;
        min-height: 190px !important;
        height: 190px !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-action {
        height: auto !important;
        min-height: 0 !important;
        padding: 20px !important;
        display: grid !important;
        gap: 10px !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-action > * {
        position: static !important;
        width: auto !important;
    }

    html body .ir-tour.ir-sotc .ir-compact-action p {
        display: grid !important;
        grid-template-columns: 1fr 44px !important;
        gap: 10px !important;
    }

    html body .ir-tour.ir-sotc .ir-gallery-section,
    html body .ir-tour.ir-sotc .ir-sotc-grid,
    html body .ir-tour.ir-sotc .ir-content-grid {
        display: block !important;
        width: calc(100vw - 24px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: visible !important;
    }

    html body .ir-tour.ir-sotc .ir-mini-nav {
        display: flex !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        padding: 10px 0 18px !important;
    }

    html body .ir-tour.ir-sotc .ir-mini-nav button {
        flex: 0 0 96px !important;
    }
}
