/* Source: guests/touring_programs.blade.php */
.tour-program-page {
            --tp-navy: #0b2833;
            --tp-green: #0d665e;
            --tp-gold: #d7a644;
            --tp-cream: #f5f0e5;
            --tp-text: #18343d;
            --tp-muted: #6e7e83;
            background: #fafcfb;
            color: var(--tp-text);
            font-family: "Noto Sans Thai", sans-serif
        }

        .tour-program-page a {
            text-decoration: none
        }

        .program-hero h1 em {
            font-size: .62em;
            font-style: normal;
            font-weight: 500
        }

        .program-overlap {
            position: relative;
            z-index: 3;
            margin-top: -48px
        }

        .program-quick-panel {
            padding: 28px 30px;
            border: 1px solid #e0e7e4;
            border-radius: 17px;
            background: #fff;
            box-shadow: 0 19px 55px rgba(13, 47, 56, .13)
        }

        .program-quick-panel>header {
            display: flex;
            justify-content: space-between;
            align-items: end;
            margin-bottom: 21px
        }

        .program-quick-panel header span,
        .other-programs header span,
        .program-support__intro>span {
            color: var(--tp-gold);
            font-size: .68rem;
            font-weight: 850;
            letter-spacing: .16em
        }

        .program-quick-panel h2 {
            margin: 3px 0 0;
            color: var(--tp-navy);
            font-size: 1.5rem
        }

        .program-quick-panel header p {
            margin: 0;
            color: var(--tp-muted);
            font-size: .86rem
        }

        .program-quick-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 12px
        }

        .program-quick-grid>a {
            display: grid;
            grid-template-columns: 48px 1fr auto;
            gap: 12px;
            align-items: center;
            padding: 15px;
            border: 1px solid #e3e9e7;
            border-radius: 11px;
            color: var(--tp-navy);
            transition: .2s
        }

        .program-quick-grid>a:hover {
            border-color: var(--tp-green);
            background: #f4f8f6;
            transform: translateY(-2px)
        }

        .program-quick-grid>a>span {
            width: 46px;
            height: 46px;
            display: grid;
            place-items: center;
            border-radius: 10px;
            background: #eaf3ef;
            color: var(--tp-green)
        }

        .program-quick-grid strong,
        .program-quick-grid small {
            display: block
        }

        .program-quick-grid small {
            margin-top: 2px;
            color: #899597;
            font-size: .72rem
        }

        .program-quick-grid>a>i {
            color: var(--tp-gold);
            font-size: .78rem
        }

        .program-main {
            padding: 86px 0 100px;
            scroll-margin-top: 80px
        }

        .program-intro {
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            gap: 35px;
            margin-bottom: 38px
        }

        .program-kicker--dark {
            color: var(--tp-gold)
        }

        .program-intro h2 {
            margin: 3px 0 5px;
            color: var(--tp-navy);
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 850
        }

        .program-intro p {
            margin: 0;
            color: var(--tp-muted)
        }

        .program-tools {
            display: flex;
            align-items: center;
            gap: 12px
        }

        .program-result-count {
            height: 48px;
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 0 15px;
            border-radius: 10px;
            background: var(--tp-cream);
            color: var(--tp-green);
            white-space: nowrap
        }

        .program-search {
            height: 48px;
            display: flex;
            align-items: center;
            gap: 9px;
            padding: 0 14px;
            border: 1px solid #dbe4e1;
            border-radius: 10px;
            background: #fff
        }

        .program-search:focus-within {
            border-color: var(--tp-green);
            box-shadow: 0 0 0 4px rgba(13, 102, 94, .08)
        }

        .program-search i {
            color: var(--tp-gold)
        }

        .program-search input {
            width: 210px;
            border: 0;
            outline: 0;
            background: transparent;
            font-family: inherit
        }

        .featured-program {
            min-height: 500px;
            display: grid;
            grid-template-columns: 1.1fr .9fr;
            margin-bottom: 73px;
            border-radius: 17px;
            background: #fff;
            overflow: hidden;
            box-shadow: 0 17px 50px rgba(15, 48, 57, .1)
        }

        .featured-program__image {
            position: relative;
            display: block;
            min-height: 500px;
            overflow: hidden
        }

        .featured-program__image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .5s
        }

        .featured-program:hover img {
            transform: scale(1.035)
        }

        .featured-program__image>div {
            position: absolute;
            inset: 0;
            background: linear-gradient(0deg, rgba(6, 33, 41, .55), transparent 55%)
        }

        .featured-program__image>span {
            position: absolute;
            left: 22px;
            top: 22px;
            padding: 8px 12px;
            border-radius: 20px;
            background: var(--tp-gold);
            color: var(--tp-navy);
            font-size: .7rem;
            font-weight: 850
        }

        .featured-program__image>span i {
            margin-right: 6px
        }

        .featured-program__content {
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 48px
        }

        .featured-program__content h2 {
            margin: 4px 0 18px;
            font-size: clamp(1.8rem, 3vw, 2.65rem);
            font-weight: 850;
            line-height: 1.35
        }

        .featured-program__content h2 a {
            color: var(--tp-navy)
        }

        .featured-program__content>p {
            color: #64767c;
            line-height: 1.85
        }

        .featured-program__meta {
            display: flex;
            flex-wrap: wrap;
            gap: 10px 22px;
            margin: 11px 0 27px;
            color: #728186;
            font-size: .84rem
        }

        .featured-program__meta i {
            margin-right: 6px;
            color: var(--tp-gold)
        }

        .program-primary-button {
            width: max-content;
            display: flex;
            align-items: center;
            gap: 11px;
            padding: 13px 19px;
            border-radius: 9px;
            background: var(--tp-green);
            color: #fff;
            font-weight: 750
        }

        .program-primary-button:hover {
            background: var(--tp-navy);
            color: #fff
        }

        .other-programs>header {
            display: flex;
            justify-content: space-between;
            align-items: end;
            margin-bottom: 27px
        }

        .other-programs h2 {
            margin: 3px 0 0;
            color: var(--tp-navy);
            font-size: 1.9rem;
            font-weight: 850
        }

        .other-programs header p {
            margin: 0;
            color: var(--tp-muted)
        }

        .program-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 23px
        }

        .program-card {
            display: flex;
            flex-direction: column;
            border: 1px solid #e0e8e5;
            border-radius: 14px;
            background: #fff;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(15, 48, 57, .055);
            transition: .25s
        }

        .program-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 18px 40px rgba(15, 48, 57, .12)
        }

        .program-card__image {
            position: relative;
            height: 240px;
            display: block;
            overflow: hidden
        }

        .program-card__image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .4s
        }

        .program-card:hover img {
            transform: scale(1.05)
        }

        .program-card__image span {
            position: absolute;
            left: 15px;
            bottom: 14px;
            padding: 6px 10px;
            border-radius: 17px;
            background: rgba(7, 37, 45, .88);
            color: #fff;
            font-size: .67rem
        }

        .program-card__body {
            position: relative;
            display: flex;
            flex: 1;
            flex-direction: column;
            padding: 24px
        }

        .program-card__number {
            position: absolute;
            right: 20px;
            top: 13px;
            color: #edf1ef;
            font-family: Georgia, serif;
            font-size: 2.2rem;
            font-weight: 700
        }

        .program-card__label {
            position: relative;
            color: var(--tp-green);
            font-size: .72rem;
            font-weight: 750
        }

        .program-card__label i {
            margin-right: 6px;
            color: var(--tp-gold)
        }

        .program-card h3 {
            position: relative;
            min-height: 58px;
            margin: 10px 0 9px;
            font-size: 1.18rem;
            font-weight: 800;
            line-height: 1.45
        }

        .program-card h3 a {
            color: var(--tp-navy)
        }

        .program-card__body>p {
            min-height: 69px;
            margin: 0 0 18px;
            color: #718086;
            font-size: .85rem;
            line-height: 1.7
        }

        .program-card__footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 10px;
            margin-top: auto;
            padding-top: 16px;
            border-top: 1px solid #edf1ef;
            font-size: .78rem
        }

        .program-card__footer>span {
            color: #7c898d
        }

        .program-card__footer>span i {
            margin-right: 5px;
            color: var(--tp-gold)
        }

        .program-card__footer a {
            color: var(--tp-green);
            font-weight: 800
        }

        .program-card__footer a i {
            margin-left: 5px
        }

        .program-empty {
            display: none;
            padding: 65px 20px;
            text-align: center
        }

        .program-empty.is-visible {
            display: block
        }

        .program-empty>span {
            width: 65px;
            height: 65px;
            display: grid;
            place-items: center;
            margin: auto;
            border-radius: 50%;
            background: #eaf3ef;
            color: var(--tp-green);
            font-size: 1.4rem
        }

        .program-empty h3 {
            margin: 15px 0 5px;
            color: var(--tp-navy)
        }

        .program-empty p {
            margin: 0 0 18px;
            color: var(--tp-muted)
        }

        .program-empty button {
            padding: 10px 17px;
            border: 0;
            border-radius: 8px;
            background: var(--tp-green);
            color: #fff;
            font-family: inherit;
            font-weight: 700
        }

        .program-support {
            padding: 75px 0;
            background: var(--tp-cream)
        }

        .program-support__intro {
            text-align: center
        }

        .program-support__intro h2 {
            margin: 4px 0;
            color: var(--tp-navy);
            font-size: 2rem
        }

        .program-support__intro p {
            margin: 5px 0 30px;
            color: var(--tp-muted)
        }

        .program-support__grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 18px
        }

        .program-support__grid>div {
            padding: 28px;
            text-align: center;
            border: 1px solid rgba(11, 40, 51, .08);
            border-radius: 13px;
            background: rgba(255, 255, 255, .65)
        }

        .program-support__grid>div>span {
            width: 52px;
            height: 52px;
            display: grid;
            place-items: center;
            margin: 0 auto 13px;
            border-radius: 50%;
            background: var(--tp-navy);
            color: var(--tp-gold)
        }

        .program-support__grid h3 {
            margin: 0;
            color: var(--tp-navy);
            font-size: 1.05rem
        }

        .program-support__grid p {
            margin: 6px 0 0;
            color: #738287;
            font-size: .84rem
        }

        @media(max-width:991px) {
            .program-quick-grid {
                grid-template-columns: 1fr
            }

            .program-intro {
                align-items: flex-start;
                flex-direction: column
            }

            .program-tools {
                width: 100%
            }

            .program-search {
                flex: 1
            }

            .program-search input {
                width: 100%
            }

            .featured-program {
                grid-template-columns: 1fr
            }

            .featured-program__image {
                min-height: 420px
            }

            .program-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr))
            }
        }

        @media(max-width:767px) {
            .program-hero {
                height: 590px;
                min-height: 590px
            }

            .program-hero__inner {
                padding-bottom: 75px
            }

            .program-hero__features {
                gap: 10px 16px
            }

            .program-overlap {
                margin-top: -34px
            }

            .program-quick-panel {
                padding: 20px
            }

            .program-quick-panel>header {
                align-items: flex-start;
                flex-direction: column
            }

            .program-quick-panel header p {
                margin-top: 5px
            }

            .program-main {
                padding: 65px 0 75px
            }

            .program-tools {
                align-items: stretch;
                flex-direction: column
            }

            .program-result-count {
                justify-content: center
            }

            .program-search input {
                width: 100%
            }

            .featured-program__image {
                min-height: 280px
            }

            .featured-program__content {
                padding: 26px
            }

            .other-programs>header {
                align-items: flex-start;
                flex-direction: column
            }

            .other-programs header p {
                margin-top: 5px
            }

            .program-grid {
                grid-template-columns: 1fr
            }

            .program-card__body>p,
            .program-card h3 {
                min-height: 0
            }

            .program-support__grid {
                grid-template-columns: 1fr
            }
        }

        @media(max-width:460px) {
            .program-hero h1 {
                font-size: 2.45rem
            }

            .program-hero__content>p {
                font-size: .92rem
            }

            .program-hero__features span {
                font-size: .75rem
            }

            .program-quick-grid>a {
                grid-template-columns: 42px 1fr auto
            }

            .featured-program__image {
                min-height: 235px
            }

            .program-card__image {
                height: 225px
            }
        }
