@charset "utf-8";
@import url("../../basic/css/default_shop.css");
@import url("./default.css");

body {
    background:
        radial-gradient(circle at top left, rgba(215, 107, 57, 0.12), transparent 22%),
        radial-gradient(circle at top right, rgba(15, 138, 125, 0.16), transparent 24%),
        linear-gradient(180deg, #fdf3e4 0%, #f8f1e5 34%, #f6efe8 100%);
    color: #1f3e37;
}

#hd {
    background:
        radial-gradient(circle at 12% 18%, rgba(242, 184, 75, 0.22), transparent 16%),
        radial-gradient(circle at 82% 12%, rgba(255, 255, 255, 0.12), transparent 18%),
        linear-gradient(135deg, #0f5e5a 0%, #0d6f6d 40%, #184a62 100%);
}

#hd_define li.active a,
#hd_define li a:hover,
#hd_qnb li a:hover,
.hd_login a:hover {
    background: rgba(242, 184, 75, 0.18);
}

#hd_sch {
    background: linear-gradient(135deg, rgba(255, 248, 240, 0.14), rgba(242, 184, 75, 0.08));
}

#hd_sch #sch_submit {
    background: linear-gradient(135deg, #fff8ef, #ffe0bd);
    color: #9a4d22;
}

#hd_menu {
    margin-top: -10px;
}

#hd_menu,
#sct_ct,
#smb_my,
#sit_ov,
#sod_ws,
#sod_bsk,
#sod_list,
#sod_fin,
#sod_fin_view,
#sod_v,
#sqa,
#sitelist,
#sev,
#ssch,
#copay,
#sct_sort,
#sct_location,
.sct_wrap,
.sct_admin,
.sct_10,
.sct_20,
.sct_30,
.sct_40,
.sct_50,
.couponzone,
.sit_info,
.sit_rev,
.sit_qa,
.sit_use,
.sit_order,
.shop-content,
#aside,
#side_menu .qk_con_wr,
#hd_menu > .hd_menu,
#hd_menu #menu_open {
    border-radius: 22px;
}

#hd_menu > .hd_menu,
#hd_menu #menu_open,
#category,
#sct_ct,
#side_menu .qk_con_wr,
.shop-content,
#aside,
.sct_wrap,
.couponzone,
.sit_info,
.sit_rev,
.sit_qa,
.sit_use,
.sit_order,
#sod_bsk,
#sod_ws,
#sod_list,
#sod_fin,
#sod_fin_view,
#copay,
#ssch {
    background: linear-gradient(180deg, rgba(255, 250, 244, 0.95), rgba(255, 246, 233, 0.92));
    border: 1px solid rgba(127, 87, 48, 0.12);
    box-shadow: 0 18px 38px rgba(82, 54, 28, 0.08);
}

#hd_menu > .hd_menu a,
#hd_menu #menu_open {
    color: #1f3e37;
}

#hd_menu > .hd_menu li a:hover,
#hd_menu > .hd_menu li a:focus,
#category .cate_li a:hover,
#category .cate_li a:focus {
    color: #d76b39;
}

.btn_submit,
.btn_b02,
a.btn_b02,
#btn_option,
#sit_btn_buy,
#sit_btn_cart,
#sit_btn_wish,
.btn_confirm .btn_submit {
    background: linear-gradient(135deg, #d76b39, #e99142);
    border-color: #d76b39;
    color: #fff;
}

.btn_b01,
a.btn_b01,
.btn01,
a.btn01 {
    background: rgba(15, 138, 125, 0.08);
    color: #0b6a60;
    border-color: rgba(15, 138, 125, 0.15);
}

.sct_txt,
.sct_basic,
.sit_info,
.sit_ov_tbl,
.sit_ov_tbl th,
.sit_ov_tbl td,
.sct_li,
.sct_li:hover {
    color: #1f3e37;
}

.sct_wrap .sct li,
.lst_img,
.sit_ov_img,
.sod_img,
.cart_img,
.wishlist_img {
    border-radius: 18px;
    overflow: hidden;
}

#side_menu #quick .btn_sm,
#top_btn {
    background: linear-gradient(135deg, #d76b39, #e99142);
    color: #fff;
}

#ft {
    background:
        radial-gradient(circle at 14% 22%, rgba(242, 184, 75, 0.18), transparent 16%),
        radial-gradient(circle at 82% 18%, rgba(215, 107, 57, 0.12), transparent 14%),
        linear-gradient(135deg, #19453f 0%, #134b55 100%);
}

@media (max-width: 1100px) {
    #hd_menu {
        margin-top: 12px;
    }
}

/* HEYOTOUR shop homepage layout */
#wrapper.heyotour-shop-home #aside {
    display: none;
}

#wrapper.heyotour-shop-home {
    background:
        radial-gradient(circle at 10% 0, rgba(242, 184, 75, 0.12), transparent 18%),
        radial-gradient(circle at 90% 4%, rgba(15, 138, 125, 0.12), transparent 20%),
        linear-gradient(180deg, #f9f2e8 0%, #f6efe8 100%);
}

#wrapper.heyotour-shop-home #container {
    width: min(1380px, calc(100% - 40px));
    margin: 0 auto;
    padding: 30px 0 70px;
}

#wrapper.heyotour-shop-home #container > .shop-content.is_index {
    margin-left: 0;
    width: min(1320px, 100%);
    margin-right: auto;
    margin-left: auto;
    padding-top: 24px;
}

.heyotour-shop-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .95fr);
    gap: 22px;
    margin-bottom: 26px;
    padding: 42px;
    border: 1px solid rgba(127, 87, 48, 0.12);
    border-radius: 34px;
    background:
        radial-gradient(circle at 12% 16%, rgba(242, 184, 75, 0.24), transparent 18%),
        radial-gradient(circle at 72% 22%, rgba(15, 138, 125, 0.18), transparent 20%),
        radial-gradient(circle at 90% 84%, rgba(215, 107, 57, 0.12), transparent 16%),
        linear-gradient(135deg, rgba(255, 248, 239, 0.98), rgba(255, 253, 249, 0.96));
    box-shadow: 0 28px 50px rgba(82, 54, 28, 0.12);
    overflow: hidden;
}

.shop-hero-kicker {
    margin-bottom: 12px;
    color: #c55d2a;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.shop-hero-copy h2 {
    margin-bottom: 14px;
    color: #1f3e37;
    font-size: 58px;
    line-height: 0.98;
    letter-spacing: -.06em;
    word-break: keep-all;
    max-width: 9ch;
}

.shop-hero-copy p {
    max-width: 680px;
    color: #6c7567;
    font-size: 17px;
    line-height: 1.9;
}

.shop-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.shop-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 24px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(82, 54, 28, 0.08);
}

.shop-hero-btn-primary {
    background: linear-gradient(135deg, #d76b39, #e99142);
    color: #fff;
}

.shop-hero-btn-secondary {
    border: 1px solid rgba(15, 138, 125, 0.18);
    background: rgba(255, 255, 255, 0.9);
    color: #0b6a60;
}

.shop-hero-grid {
    display: grid;
    gap: 14px;
    align-content: center;
}

.shop-mood-card {
    padding: 24px 24px;
    border: 1px solid rgba(127, 87, 48, 0.12);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 248, 240, 0.96), rgba(239, 250, 246, 0.92));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.shop-mood-card strong {
    display: block;
    margin-bottom: 8px;
    color: #1f3e37;
    font-size: 18px;
}

.shop-mood-card span {
    color: #6c7567;
    line-height: 1.7;
}

.shop-intro-band {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 26px;
}

.shop-intro-item {
    padding: 20px 22px;
    border: 1px solid rgba(127, 87, 48, 0.12);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 252, 247, 0.96), rgba(255, 246, 233, 0.9));
    min-height: 108px;
}

.shop-intro-item strong {
    display: block;
    margin-bottom: 6px;
    color: #1f3e37;
    font-size: 16px;
}

.shop-intro-item span,
.shop-intro-item a {
    color: #6c7567;
}

#wrapper.heyotour-shop-home .sct_wrap {
    margin-bottom: 24px;
    padding: 26px 26px 30px;
    border-radius: 28px;
}

#wrapper.heyotour-shop-home .sct_wrap > header {
    margin-bottom: 20px;
}

#wrapper.heyotour-shop-home .sct_wrap > header h2 {
    font-size: 34px;
    font-weight: 800;
    letter-spacing: -.04em;
}

#wrapper.heyotour-shop-home .sct_wrap > header h2 a {
    color: #1f3e37;
}

#wrapper.heyotour-shop-home .sct_noitem {
    padding: 86px 24px;
    border: 1px dashed rgba(127, 87, 48, 0.18);
    border-radius: 22px;
    background:
        radial-gradient(circle at 14% 22%, rgba(242, 184, 75, 0.12), transparent 18%),
        radial-gradient(circle at 86% 78%, rgba(15, 138, 125, 0.08), transparent 20%),
        linear-gradient(180deg, rgba(255,255,255,0.8), rgba(255,246,232,0.94));
    color: #6c7567;
    font-size: 17px;
    text-align: center;
}

#wrapper.heyotour-shop-home .sct_noitem:before {
    content: "Coming Soon";
    display: block;
    margin-bottom: 12px;
    color: #c55d2a;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
}

@media (max-width: 1100px) {
    .heyotour-shop-hero,
    .shop-intro-band {
        grid-template-columns: 1fr;
    }

    .shop-hero-copy h2 {
        font-size: 40px;
        max-width: none;
    }
}

/* HEYOTOUR shop visual refresh */
#hd {
    background:
        radial-gradient(circle at 8% 38%, rgba(242, 184, 75, 0.14), transparent 11%),
        radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.14), transparent 20%),
        linear-gradient(135deg, #0e6b67 0%, #127a7d 48%, #1a566d 100%);
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.08);
}

#tnb .inner,
#hd_wrapper,
#hd_menu > ul {
    width: min(1320px, calc(100% - 40px));
    margin: 0 auto;
}

#tnb {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

#tnb .inner {
    padding: 16px 0 14px;
}

#tnb a {
    color: rgba(255, 249, 240, 0.88);
}

#hd_wrapper {
    display: grid;
    grid-template-columns: 240px minmax(420px, 1fr) auto;
    align-items: center;
    gap: 36px;
    padding: 28px 0 34px;
}

#logo a {
    position: relative;
    display: block;
    min-height: 82px;
}

#logo a img {
    opacity: 0;
    width: 0;
    height: 0;
}

#logo a:before {
    content: "HEYOTOUR";
    display: block;
    color: #fff4e5;
    font-size: 40px;
    font-weight: 900;
    letter-spacing: -0.05em;
    line-height: 1;
}

#logo a:after {
    content: "Vietnam Travel Market";
    display: inline-block;
    margin-top: 10px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255, 244, 229, 0.12);
    color: #ffe4bc;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.hd_sch_wr {
    width: 100%;
}

#hd_sch {
    height: 62px;
    padding: 8px 10px 8px 18px;
    border: 1px solid rgba(255, 241, 222, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    box-shadow: 0 18px 40px rgba(11, 48, 61, 0.2);
}

#hd_sch #sch_stx {
    height: 46px;
    border-radius: 999px;
    background: rgba(6, 31, 33, 0.42);
    color: #fff8ee;
    font-size: 17px;
}

#hd_sch #sch_submit {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffd4a2, #ffefdc);
    color: #a85522;
}

#hd_wrapper #tnb,
#hd_wrapper .hd_right,
#hd_wrapper .tnb_right {
    justify-self: end;
}

#hd_wrapper .tnb_right a,
#hd_wrapper .hd_right a,
#hd_wrapper .tnb_right button,
#hd_wrapper .hd_right button {
    border-radius: 999px;
}

#hd_mb,
#hd_wr,
#hd_menu {
    background: transparent;
}

#hd_menu {
    margin-top: 0;
    padding-bottom: 22px;
}

#hd_menu > ul {
    display: grid;
    grid-template-columns: 260px repeat(5, minmax(0, 1fr));
    align-items: center;
    gap: 0;
    padding: 8px;
    border: 1px solid rgba(140, 104, 64, 0.14);
    border-radius: 999px;
    background: rgba(255, 247, 236, 0.9);
    box-shadow: 0 14px 34px rgba(82, 54, 28, 0.12);
    overflow: hidden;
}

#menu_open {
    height: 58px;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #ef7f37, #f0a14a);
    box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.08);
}

#hd_menu .hd_menu {
    float: none;
    width: auto;
    height: 58px;
    line-height: 58px;
    border-left: 1px solid rgba(49, 60, 57, 0.18);
    text-align: center;
}

#hd_menu .hd_menu:first-of-type {
    border-left: 0;
}

#hd_menu .hd_menu a {
    color: #23443f;
    font-weight: 700;
}

#wrapper.heyotour-shop-home {
    background:
        radial-gradient(circle at 50% 0, rgba(242, 184, 75, 0.15), transparent 28%),
        linear-gradient(180deg, #f8f1e8 0%, #f4ede4 100%);
}

#wrapper.heyotour-shop-home #container {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 30px 0 84px;
}

#wrapper.heyotour-shop-home #container > .shop-content.is_index {
    width: min(1320px, calc(100% - 40px));
    margin: 0 auto !important;
    float: none;
    padding-top: 28px;
}

#wrapper.heyotour-shop-home .shop-content.is_index:after {
    content: "";
    display: table;
    clear: both;
}

.heyotour-shop-hero {
    position: relative;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 28px;
    min-height: 480px;
    margin-bottom: 24px;
    padding: 52px 52px 48px;
    border-radius: 38px;
    background:
        radial-gradient(circle at 18% 24%, rgba(255, 220, 167, 0.62), transparent 20%),
        radial-gradient(circle at 84% 20%, rgba(102, 201, 198, 0.24), transparent 26%),
        radial-gradient(circle at 86% 88%, rgba(239, 127, 55, 0.12), transparent 16%),
        linear-gradient(135deg, #fff8ef 0%, #fffdf9 54%, #eef9f7 100%);
    box-shadow: 0 32px 60px rgba(67, 48, 31, 0.14);
}

.heyotour-shop-hero:before,
.heyotour-shop-hero:after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.heyotour-shop-hero:before {
    top: 34px;
    left: 34px;
    width: 140px;
    height: 140px;
    border: 14px solid rgba(255, 196, 114, 0.16);
}

.heyotour-shop-hero:after {
    right: -24px;
    bottom: -24px;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(83, 187, 183, 0.18), transparent 68%);
}

.shop-hero-copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.shop-hero-kicker {
    margin-bottom: 18px;
    color: #7b6c4d;
    font-size: 14px;
    letter-spacing: 0.28em;
}

.shop-hero-copy h2 {
    max-width: 12ch;
    margin-bottom: 18px;
    color: #1f423b;
    font-size: 64px;
    line-height: 1.04;
    word-break: keep-all;
    white-space: normal;
    text-wrap: balance;
}

.shop-hero-copy p {
    max-width: 620px;
    color: #647266;
    font-size: 19px;
    line-height: 1.85;
}

.shop-hero-actions {
    margin-top: 28px;
    gap: 14px;
}

.shop-hero-btn {
    min-height: 58px;
    padding: 0 28px;
    font-size: 15px;
    font-weight: 800;
}

.shop-hero-grid {
    position: relative;
    z-index: 1;
    gap: 16px;
}

.shop-mood-card {
    padding: 28px 26px;
    border-radius: 26px;
    background:
        linear-gradient(135deg, rgba(255, 250, 242, 0.96), rgba(236, 248, 245, 0.94));
    box-shadow: 0 18px 40px rgba(74, 56, 34, 0.08);
}

.shop-mood-card strong {
    margin-bottom: 10px;
    font-size: 17px;
    letter-spacing: -0.02em;
}

.shop-intro-band {
    gap: 18px;
    margin: 0 0 28px;
}

.shop-intro-item {
    min-height: 124px;
    padding: 24px 24px;
    border-radius: 24px;
    background: rgba(255, 249, 241, 0.82);
    backdrop-filter: blur(8px);
}

.shop-intro-item strong {
    margin-bottom: 8px;
    font-size: 18px;
}

.heyotour-section-kicker {
    margin-bottom: 10px;
    color: #bf6b35;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

#wrapper.heyotour-shop-home .main_bn {
    margin-bottom: 28px;
}

#wrapper.heyotour-shop-home .main_bn img {
    border-radius: 28px;
}

#wrapper.heyotour-shop-home .sct_wrap {
    margin-bottom: 28px;
    padding: 32px;
    border: 1px solid rgba(133, 100, 59, 0.12);
    border-radius: 30px;
    background:
        linear-gradient(180deg, rgba(255, 252, 247, 0.95), rgba(255, 248, 238, 0.93));
    box-shadow: 0 22px 44px rgba(74, 56, 34, 0.08);
}

#wrapper.heyotour-shop-home .sct_wrap > header {
    margin-bottom: 24px;
}

#wrapper.heyotour-shop-home .sct_wrap > header h2 {
    font-size: 42px;
    line-height: 1.05;
}

#wrapper.heyotour-shop-home .sct_wrap .sct_noitem {
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
}

#wrapper.heyotour-shop-home .sct_noitem:before {
    content: "Vietnam Mood Pick";
}

#side_menu {
    right: 18px;
}

#side_menu #quick {
    border-radius: 20px 0 0 20px;
    overflow: hidden;
    box-shadow: 0 18px 34px rgba(67, 48, 31, 0.16);
}

#side_menu #quick .btn_sm {
    background: linear-gradient(180deg, #ef7f37, #db6e31);
}

#tabs_con {
    display: none !important;
}

@media (max-width: 1280px) {
    #hd_wrapper {
        grid-template-columns: 220px minmax(320px, 1fr) auto;
        gap: 22px;
    }

    .shop-hero-copy h2 {
        font-size: 54px;
        max-width: 11ch;
    }
}

@media (max-width: 1100px) {
    #tnb .inner,
    #hd_wrapper,
    #hd_menu > ul,
    #wrapper.heyotour-shop-home #container > .shop-content.is_index {
        width: min(100%, calc(100% - 24px));
    }

    #hd_wrapper {
        grid-template-columns: 1fr;
        justify-items: stretch;
    }

    #logo {
        text-align: center;
    }

    #hd_menu > ul {
        grid-template-columns: 1fr;
        border-radius: 28px;
    }

    #menu_open,
    #hd_menu .hd_menu {
        border-left: 0;
        border-top: 1px solid rgba(49, 60, 57, 0.12);
    }

    #menu_open {
        border-top: 0;
    }

    .heyotour-shop-hero {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 34px 24px 30px;
    }

    .shop-hero-copy h2 {
        font-size: 42px;
        max-width: none;
    }

    .shop-intro-band {
        grid-template-columns: 1fr;
    }
}

/* HEYOTOUR shop typography and background fixes */
body {
    background:
        radial-gradient(circle at 14% 18%, rgba(248, 188, 92, 0.2), transparent 16%),
        radial-gradient(circle at 86% 14%, rgba(236, 190, 132, 0.14), transparent 18%),
        linear-gradient(180deg, #fbf4ea 0%, #f5ede2 48%, #f3eadf 100%);
}

#hd {
    position: relative;
    background:
        linear-gradient(180deg, rgba(111, 63, 28, 0.18), rgba(111, 63, 28, 0.04)),
        radial-gradient(circle at 16% 30%, rgba(255, 205, 120, 0.18), transparent 10%),
        radial-gradient(circle at 82% 18%, rgba(255, 228, 191, 0.12), transparent 16%),
        linear-gradient(135deg, #9a5a2f 0%, #c97437 45%, #e2a055 100%);
    overflow: hidden;
}

#hd:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(115deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0) 34%),
        radial-gradient(circle at 12% 70%, rgba(255, 231, 193, 0.12), transparent 14%);
    pointer-events: none;
}

#hd_wrapper,
#hd_menu,
#tnb {
    position: relative;
    z-index: 1;
}

#hd_menu > ul {
    grid-template-columns: 240px repeat(5, minmax(120px, 1fr));
}

#menu_open,
#hd_menu .hd_menu {
    min-width: 0;
}

#hd_menu .hd_menu a,
#hd_menu .hd_menu button,
#menu_open {
    white-space: nowrap;
    word-break: keep-all;
}

#hd_menu .hd_menu a {
    display: block;
    padding: 0 10px;
    font-size: 15px;
    letter-spacing: -0.02em;
}

.heyotour-shop-hero {
    background:
        radial-gradient(circle at 18% 24%, rgba(255, 220, 167, 0.48), transparent 18%),
        radial-gradient(circle at 82% 18%, rgba(255, 229, 196, 0.3), transparent 24%),
        linear-gradient(135deg, rgba(255, 249, 240, 0.96) 0%, rgba(255, 252, 246, 0.98) 55%, rgba(255, 244, 230, 0.96) 100%);
}

.shop-hero-copy h2 {
    max-width: 12ch;
    word-break: keep-all;
    line-break: auto;
    letter-spacing: -0.08em;
}

.shop-hero-copy p,
.shop-mood-card span,
.shop-intro-item span,
.shop-intro-item a,
#wrapper.heyotour-shop-home .sct_noitem {
    word-break: keep-all;
}

#wrapper.heyotour-shop-home .sct_wrap > header h2,
#wrapper.heyotour-shop-home .sct_wrap > header h2 a {
    word-break: keep-all;
}

@media (max-width: 1280px) {
    #hd_menu > ul {
        grid-template-columns: 220px repeat(5, minmax(96px, 1fr));
    }

    #hd_menu .hd_menu a {
        font-size: 14px;
    }

    .shop-hero-copy h2 {
        max-width: 10.5ch;
    }
}

@media (max-width: 1100px) {
    #hd_menu .hd_menu a,
    #menu_open {
        white-space: normal;
    }

    .shop-hero-copy h2 {
        max-width: none;
        word-break: keep-all;
    }
}

/* HEYOTOUR premium redesign */
body {
    background:
        radial-gradient(circle at 12% 18%, rgba(228, 181, 109, 0.22), transparent 18%),
        radial-gradient(circle at 84% 16%, rgba(214, 161, 109, 0.14), transparent 14%),
        linear-gradient(180deg, #f6efe6 0%, #f2e9df 52%, #efe5db 100%);
    color: #1f221f;
    font-family: "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
}

#hd {
    background:
        radial-gradient(circle at 12% 48%, rgba(255, 214, 158, 0.14), transparent 10%),
        linear-gradient(135deg, #2f241d 0%, #5a3624 34%, #8a5330 70%, #c18449 100%);
}

#tnb {
    border-bottom: 1px solid rgba(255, 241, 227, 0.12);
}

#tnb .inner {
    display: flex;
    justify-content: center;
    padding: 18px 0 10px;
}

#hd_qnb {
    display: flex;
    gap: 30px;
    align-items: center;
}

#hd_qnb li {
    float: none;
}

#hd_qnb a {
    color: rgba(255, 245, 233, 0.9);
    font-size: 14px;
    font-weight: 600;
}

#hd_wrapper {
    grid-template-columns: 220px minmax(520px, 1fr) auto;
    gap: 38px;
    padding: 30px 0 26px;
}

#logo a:before {
    font-size: 42px;
    font-weight: 900;
    letter-spacing: -0.06em;
}

#logo a:after {
    margin-top: 12px;
    padding: 8px 14px;
    background: rgba(255, 243, 228, 0.12);
    color: #ffe0ba;
    font-size: 10px;
    letter-spacing: 0.22em;
}

#hd_sch {
    height: 72px;
    padding: 10px;
    border: 1px solid rgba(255, 241, 227, 0.16);
    background: rgba(255, 248, 239, 0.1);
    box-shadow: 0 20px 40px rgba(21, 12, 8, 0.18);
}

#hd_sch #sch_stx {
    height: 52px;
    padding: 0 22px;
    border-radius: 999px;
    background: rgba(31, 25, 21, 0.88);
    color: #fff7ee;
}

#hd_sch #sch_submit {
    width: 52px;
    height: 52px;
    background: #ffe3c2;
    color: #8f5528;
}

.hd_login {
    display: flex;
    align-items: center;
    gap: 14px;
}

.hd_login > li {
    float: none;
}

.hd_login .login a,
.hd_login .shop_cart a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    min-height: 52px;
    padding: 0 18px;
    border: 1px solid rgba(255, 238, 217, 0.14);
    border-radius: 999px;
    background: rgba(255, 246, 235, 0.08);
    color: #fff6ea;
}

#hd_menu {
    padding-bottom: 30px;
}

#hd_menu > ul {
    width: min(1120px, calc(100% - 40px));
    grid-template-columns: 210px repeat(5, minmax(110px, 1fr));
    padding: 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 250, 244, 0.96);
    box-shadow: 0 18px 40px rgba(48, 28, 14, 0.16);
}

#menu_open {
    height: 60px;
    padding: 0 22px;
    background: linear-gradient(135deg, #22262d, #454d58);
    color: #fff;
    font-weight: 700;
}

#hd_menu .hd_menu {
    height: 60px;
    line-height: 60px;
    border-left: 1px solid rgba(91, 74, 57, 0.12);
}

#hd_menu .hd_menu a {
    color: #33261d;
    font-size: 15px;
    font-weight: 700;
}

#wrapper.heyotour-shop-home {
    background:
        radial-gradient(circle at 50% 0, rgba(231, 190, 132, 0.16), transparent 28%),
        linear-gradient(180deg, #f5ede4 0%, #efe5da 100%);
}

#wrapper.heyotour-shop-home #container > .shop-content.is_index {
    width: min(1240px, calc(100% - 48px));
    padding-top: 34px;
}

.heyotour-shop-hero {
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, 0.82fr);
    gap: 22px;
    min-height: 0;
    padding: 28px;
    border: 1px solid rgba(126, 89, 55, 0.08);
    border-radius: 36px;
    background: rgba(255, 252, 248, 0.82);
    box-shadow: 0 28px 60px rgba(62, 39, 21, 0.1);
    backdrop-filter: blur(10px);
}

.heyotour-shop-hero:before,
.heyotour-shop-hero:after {
    display: none;
}

.shop-hero-copy {
    padding: 28px;
    border-radius: 28px;
    background:
        radial-gradient(circle at 18% 24%, rgba(255, 224, 184, 0.7), transparent 18%),
        linear-gradient(145deg, #fffaf4 0%, #fff7ed 54%, #f9efe0 100%);
}

.shop-hero-kicker {
    margin-bottom: 16px;
    color: #87654b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.28em;
}

.shop-hero-copy h2 {
    max-width: 9.6ch;
    margin-bottom: 20px;
    color: #21352d;
    font-size: 66px;
    line-height: 0.98;
    letter-spacing: -0.075em;
}

.shop-hero-copy p {
    max-width: 520px;
    color: #695d4f;
    font-size: 18px;
    line-height: 1.8;
}

.shop-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.shop-hero-btn {
    min-height: 56px;
    padding: 0 24px;
    border-radius: 999px;
    box-shadow: none;
}

.shop-hero-btn-primary {
    background: #1f2730;
    color: #fff;
}

.shop-hero-btn-secondary {
    border: 1px solid rgba(50, 37, 28, 0.12);
    background: rgba(255, 255, 255, 0.72);
    color: #2f241d;
}

.shop-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.shop-hero-meta span {
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(39, 47, 57, 0.08);
    color: #4f534b;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.shop-hero-grid {
    display: grid;
    gap: 14px;
}

.shop-mood-card {
    position: relative;
    padding: 24px;
    border: 1px solid rgba(103, 75, 48, 0.08);
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(249, 240, 227, 0.88));
    box-shadow: none;
}

.shop-mood-card:before {
    content: "";
    position: absolute;
    top: 22px;
    right: 22px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #d4894d;
    box-shadow: 18px 0 0 rgba(211, 171, 120, 0.42);
}

.shop-mood-card strong {
    display: block;
    margin-bottom: 10px;
    color: #1d2f29;
    font-size: 22px;
    letter-spacing: -0.03em;
}

.shop-mood-card span {
    display: block;
    color: #6f6659;
    line-height: 1.75;
}

.shop-mood-card.is-featured {
    min-height: 180px;
    background:
        linear-gradient(145deg, rgba(255, 248, 238, 0.98), rgba(251, 236, 212, 0.92));
}

.shop-intro-band {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 20px 0 22px;
}

.shop-intro-item {
    min-height: 132px;
    padding: 22px;
    border: 1px solid rgba(120, 86, 52, 0.08);
    border-radius: 24px;
    background: rgba(255, 250, 245, 0.82);
    box-shadow: 0 18px 30px rgba(59, 39, 21, 0.05);
}

.shop-intro-item strong {
    display: block;
    margin-bottom: 10px;
    color: #2b342e;
    font-size: 18px;
}

.shop-intro-item span,
.shop-intro-item a {
    color: #6f6559;
    line-height: 1.75;
}

.heyotour-curation-strip {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) auto;
    gap: 20px;
    align-items: center;
    margin-bottom: 28px;
    padding: 28px 30px;
    border-radius: 30px;
    background: linear-gradient(135deg, rgba(41, 48, 56, 0.96), rgba(81, 55, 38, 0.96));
    color: #fff4e6;
}

.curation-copy .section_kicker {
    margin-bottom: 10px;
    color: rgba(255, 228, 186, 0.78);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.26em;
    text-transform: uppercase;
}

.curation-copy h3 {
    color: #fff7ee;
    font-size: 28px;
    line-height: 1.45;
    letter-spacing: -0.04em;
}

.curation-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.curation-tags span {
    padding: 12px 16px;
    border: 1px solid rgba(255, 233, 205, 0.14);
    border-radius: 999px;
    background: rgba(255, 244, 229, 0.08);
    color: #ffedd6;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#wrapper.heyotour-shop-home .main_bn {
    display: none;
}

.heyotour-section-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: end;
}

.heyotour-section-kicker {
    margin-bottom: 12px;
    color: #9b6f43;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.22em;
}

.heyotour-section-subcopy {
    max-width: 320px;
    color: #8a7a69;
    font-size: 14px;
    line-height: 1.7;
    text-align: right;
}

#wrapper.heyotour-shop-home .sct_wrap {
    padding: 34px;
    border: 1px solid rgba(121, 89, 59, 0.08);
    border-radius: 32px;
    background: rgba(255, 252, 248, 0.86);
    box-shadow: 0 24px 44px rgba(56, 37, 22, 0.06);
}

#wrapper.heyotour-shop-home .sct_wrap > header h2 {
    color: #222c27;
    font-size: 36px;
}

#wrapper.heyotour-shop-home .sct_wrap .sct_noitem {
    min-height: 240px;
    border: 1px dashed rgba(126, 93, 63, 0.18);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,0.7), rgba(249, 239, 224, 0.92));
    color: #74695d;
    font-size: 17px;
}

#wrapper.heyotour-shop-home .sct_noitem:before {
    content: "Travel Curation In Progress";
    color: #9b6f43;
}

#side_menu {
    right: 20px;
}

#side_menu #quick {
    border-radius: 22px;
    box-shadow: 0 18px 30px rgba(51, 32, 18, 0.14);
}

#side_menu #quick .btn_sm {
    width: 56px;
    height: 56px;
    background: #1f2730;
}

#top_btn {
    background: #d3874d;
}

@media (max-width: 1280px) {
    #hd_wrapper {
        grid-template-columns: 210px minmax(360px, 1fr) auto;
    }

    #hd_menu > ul {
        grid-template-columns: 190px repeat(5, minmax(96px, 1fr));
    }

    .shop-hero-copy h2 {
        font-size: 54px;
        max-width: 10.6ch;
    }
}

@media (max-width: 1100px) {
    #tnb .inner {
        justify-content: flex-start;
    }

    #hd_qnb {
        gap: 18px;
        flex-wrap: wrap;
    }

    #hd_wrapper {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    #hd_menu > ul {
        width: min(100%, calc(100% - 24px));
        grid-template-columns: 1fr;
        border-radius: 30px;
    }

    .heyotour-shop-hero,
    .shop-intro-band,
    .heyotour-curation-strip,
    .heyotour-section-head {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }

    .shop-hero-copy {
        padding: 24px 20px;
    }

    .shop-hero-copy h2 {
        max-width: none;
        font-size: 44px;
        line-height: 1.06;
    }

    .heyotour-section-subcopy {
        max-width: none;
        text-align: left;
    }
}

/* HEYOTOUR full overhaul */
#hd {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0)),
        linear-gradient(135deg, #201916 0%, #2c201b 28%, #443024 62%, #855534 100%);
}

#hd:before {
    background:
        radial-gradient(circle at 8% 80%, rgba(255, 214, 158, 0.1), transparent 12%),
        linear-gradient(90deg, rgba(255,255,255,0.04), rgba(255,255,255,0));
}

#tnb .inner,
#hd_wrapper {
    width: min(1280px, calc(100% - 48px));
}

#tnb .inner {
    justify-content: center;
    padding: 22px 0 14px;
}

#hd_qnb {
    gap: 34px;
}

#hd_qnb a {
    font-size: 13px;
    letter-spacing: 0.01em;
}

#hd_wrapper {
    grid-template-columns: 230px minmax(540px, 1fr) auto;
    align-items: center;
    padding: 26px 0 18px;
}

#logo a:before {
    font-size: 38px;
}

#logo a:after {
    background: rgba(255, 244, 229, 0.08);
}

#hd_sch {
    height: 68px;
    background: rgba(255, 246, 234, 0.08);
    border: 1px solid rgba(255, 241, 227, 0.1);
    box-shadow: none;
}

#hd_sch #sch_stx {
    background: rgba(19, 17, 16, 0.88);
}

.hd_login {
    gap: 10px;
}

.hd_login .login a,
.hd_login .shop_cart a {
    min-width: 48px;
    min-height: 48px;
    background: rgba(255, 246, 235, 0.06);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
}

#hd_menu {
    padding-bottom: 34px;
}

#hd_menu > ul {
    width: min(1080px, calc(100% - 48px));
    grid-template-columns: 190px repeat(5, minmax(110px, 1fr));
    padding: 8px;
    border-radius: 22px;
    background: rgba(255, 251, 246, 0.98);
}

#menu_open {
    height: 56px;
    border-radius: 16px;
    background: #3f84ea;
}

#hd_menu .hd_menu {
    height: 56px;
    line-height: 56px;
    border-left: 0;
}

#wrapper.heyotour-shop-home {
    background:
        linear-gradient(180deg, #f4eee6 0%, #efe6dc 100%);
}

#wrapper.heyotour-shop-home #container {
    padding: 26px 0 90px;
}

#wrapper.heyotour-shop-home #container > .shop-content.is_index {
    width: min(1280px, calc(100% - 48px));
}

.heyotour-shop-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr);
    gap: 18px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.shop-hero-lead,
.shop-hero-side {
    min-width: 0;
}

.shop-hero-lead {
    padding: 56px 54px;
    border-radius: 34px;
    background:
        radial-gradient(circle at 14% 20%, rgba(255, 224, 186, 0.86), transparent 18%),
        linear-gradient(145deg, #fffbf6 0%, #f8eee2 100%);
    box-shadow: 0 30px 60px rgba(60, 39, 21, 0.09);
}

.shop-hero-side {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 18px;
}

.shop-hero-kicker {
    color: #8a6b4e;
}

.shop-hero-copy,
.shop-hero-lead {
    display: block;
}

.shop-hero-copy h2,
.shop-hero-lead h2 {
    max-width: 10ch;
    margin: 0 0 22px;
    color: #1f342d;
    font-size: 68px;
    line-height: 0.96;
    letter-spacing: -0.08em;
}

.shop-hero-summary {
    max-width: 540px;
    color: #706457;
    font-size: 18px;
    line-height: 1.85;
}

.shop-hero-actions {
    margin-top: 30px;
}

.shop-hero-btn-primary {
    background: #1f2730;
}

.shop-hero-btn-secondary {
    background: transparent;
}

.shop-hero-side .shop-scene-card {
    position: relative;
    padding: 30px;
    border-radius: 28px;
    overflow: hidden;
    min-height: 230px;
    box-shadow: 0 24px 44px rgba(58, 36, 19, 0.08);
}

.scene-lantern {
    background:
        radial-gradient(circle at 78% 28%, rgba(255, 210, 137, 0.5), transparent 18%),
        linear-gradient(145deg, #fff7eb 0%, #f5e6cf 100%);
}

.scene-coast {
    background:
        radial-gradient(circle at 82% 26%, rgba(190, 216, 211, 0.46), transparent 18%),
        linear-gradient(145deg, #ffffff 0%, #edf4f2 100%);
}

.shop-scene-label {
    display: inline-block;
    margin-bottom: 18px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(31, 39, 48, 0.08);
    color: #645a50;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.shop-scene-card strong {
    display: block;
    margin-bottom: 10px;
    color: #21352d;
    font-size: 32px;
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.shop-scene-card p {
    max-width: 280px;
    color: #6d6458;
    line-height: 1.8;
}

.heyotour-editorial-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.95fr 1fr;
    gap: 18px;
    margin: 22px 0 28px;
}

.editorial-panel {
    padding: 30px;
    border-radius: 28px;
    background: rgba(255, 251, 246, 0.88);
    box-shadow: 0 24px 40px rgba(60, 39, 21, 0.06);
}

.editorial-panel .section_kicker {
    margin-bottom: 14px;
    color: #9a734b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.editorial-panel h3 {
    margin-bottom: 12px;
    color: #232f2b;
    font-size: 30px;
    line-height: 1.35;
    letter-spacing: -0.04em;
}

.editorial-panel p {
    color: #74685a;
    line-height: 1.8;
}

.editorial-panel-dark {
    background: linear-gradient(135deg, #232a31, #4a3428);
}

.editorial-panel-dark h3,
.editorial-panel-dark p,
.editorial-panel-dark .section_kicker {
    color: #fff3e2;
}

.editorial-panel-accent {
    background: linear-gradient(135deg, #f3e1c9, #fff6ea);
}

.editorial-links {
    display: grid;
    gap: 12px;
}

.editorial-links a {
    display: block;
    padding: 14px 16px;
    border-radius: 16px;
    background: rgba(31, 39, 48, 0.05);
    color: #2b2b29;
    font-weight: 700;
}

.heyotour-dual-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.compact-section {
    margin-bottom: 24px;
}

.heyotour-section-head {
    align-items: center;
}

.heyotour-more-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    background: rgba(31, 39, 48, 0.06);
    color: #2f241d;
    font-size: 13px;
    font-weight: 700;
}

#wrapper.heyotour-shop-home .sct_wrap {
    padding: 30px;
    border-radius: 30px;
    background: rgba(255, 251, 246, 0.88);
}

#side_menu #quick {
    border-radius: 999px;
    overflow: hidden;
}

#side_menu #quick .btn_sm {
    background: #1d2630;
}

@media (max-width: 1100px) {
    #hd_wrapper,
    #tnb .inner {
        width: min(100%, calc(100% - 24px));
    }

    #hd_wrapper {
        grid-template-columns: 1fr;
    }

    #hd_menu > ul {
        width: min(100%, calc(100% - 24px));
        grid-template-columns: 1fr;
    }

    #wrapper.heyotour-shop-home #container > .shop-content.is_index {
        width: min(100%, calc(100% - 24px));
    }

    .heyotour-shop-hero,
    .heyotour-editorial-grid,
    .heyotour-dual-row {
        grid-template-columns: 1fr;
    }

    .shop-hero-lead {
        padding: 30px 22px;
    }

    .shop-hero-side .shop-scene-card {
        min-height: 180px;
    }

    .shop-hero-lead h2 {
        max-width: none;
        font-size: 44px;
    }
}

/* HEYOTOUR header image and menu redesign */
#hd {
    position: relative;
    background:
        linear-gradient(180deg, rgba(18, 13, 11, 0.22), rgba(18, 13, 11, 0.02)),
        url("../img/vietnam-scene.svg") center top / cover no-repeat;
}

#hd:before {
    background:
        linear-gradient(180deg, rgba(17, 12, 10, 0.18), rgba(17, 12, 10, 0)),
        linear-gradient(90deg, rgba(255,255,255,0.03), rgba(255,255,255,0));
}

#tnb {
    border-bottom: 1px solid rgba(255, 238, 219, 0.08);
}

#tnb .inner {
    justify-content: center;
    padding: 22px 0 14px;
}

#hd_qnb {
    gap: 36px;
}

#hd_wrapper {
    grid-template-columns: 230px minmax(560px, 1fr) auto;
    gap: 28px;
    padding: 24px 0 14px;
}

.hd_center {
    display: grid;
    gap: 12px;
}

.hd_tagline {
    color: rgba(255, 231, 203, 0.78);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

#hd_sch {
    height: 64px;
    border-radius: 999px;
    background: rgba(255, 244, 229, 0.1);
    backdrop-filter: blur(12px);
}

#hd_menu {
    padding-bottom: 22px;
}

#hd_menu > ul {
    width: min(980px, calc(100% - 48px));
    grid-template-columns: 200px repeat(5, minmax(0, 1fr));
    padding: 8px;
    border-radius: 20px;
    background: rgba(255, 251, 246, 0.94);
    box-shadow: 0 18px 34px rgba(36, 22, 14, 0.18);
}

#menu_open {
    border-radius: 14px;
    background: #4185ea;
}

#hd_menu .hd_menu {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: center;
}

#hd_menu .hd_menu li {
    float: none;
    width: auto;
    height: 54px;
    line-height: 54px;
}

#hd_menu .hd_menu a {
    display: block;
    text-align: center;
}

.hd_feature_bar {
    width: min(980px, calc(100% - 48px));
    margin: 0 auto 14px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.hd_feature_bar span {
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255, 241, 222, 0.08);
    color: rgba(255, 238, 218, 0.86);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}

#category {
    border: 1px solid rgba(84, 54, 34, 0.1);
    border-radius: 24px;
    background: rgba(255, 251, 246, 0.98);
    box-shadow: 0 32px 60px rgba(48, 28, 14, 0.18);
}

#category h2 {
    padding: 24px 24px 10px;
    color: #2d251f;
    font-size: 20px;
    font-weight: 800;
}

#category .cate {
    padding: 0 18px 20px;
}

#category .cate > li {
    border-bottom: 1px solid rgba(74, 54, 36, 0.08);
}

#category .cate > li:last-child {
    border-bottom: 0;
}

#category .cate_li_1_a {
    padding: 16px 8px;
    color: #2b241e;
    font-size: 16px;
    font-weight: 700;
}

#category .sub_cate {
    padding: 0 8px 14px;
}

#category .sub_cate a {
    color: #7d6d5b;
}

#wrapper.heyotour-shop-home #container > .shop-content.is_index {
    width: min(1240px, calc(100% - 48px));
}

.heyotour-shop-hero {
    margin-top: 8px;
}

.shop-hero-lead {
    position: relative;
}

.shop-hero-lead:after {
    display: none;
}

@media (max-width: 1100px) {
    #hd_wrapper {
        grid-template-columns: 1fr;
    }

    #hd_menu > ul,
    .hd_feature_bar {
        width: min(100%, calc(100% - 24px));
    }

    #hd_menu .hd_menu {
        grid-template-columns: 1fr;
    }

    .hd_feature_bar {
        justify-content: flex-start;
    }
}

/* HEYOTOUR sample-inspired redesign */
body {
    background: #f5f3ef;
    color: #23201c;
}

#hd,
#tnb,
#hd_wrapper,
#hd_menu,
#side_menu,
#tabs_con,
#aside {
    all: unset;
}

#hd {
    display: block;
}

.heyotour-site-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    background: rgba(255, 252, 247, 0.94);
    backdrop-filter: blur(16px);
    box-shadow: 0 8px 30px rgba(21, 15, 10, 0.08);
}

.heyotour-header-inner,
.heyotour-category-bar,
#wrapper.heyotour-shop-home #container > .shop-content.is_index {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}

.heyotour-header-inner {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    padding: 18px 0 12px;
}

.heyotour-logo {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
}

.heyotour-logo-main {
    color: #123b6b;
    font-size: 34px;
    font-weight: 900;
    letter-spacing: -0.05em;
}

.heyotour-logo-sub {
    color: #6f7f95;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.heyotour-top-nav {
    display: flex;
    justify-content: center;
    gap: 28px;
}

.heyotour-top-nav a,
.heyotour-header-links a,
.heyotour-account-links a {
    color: #2f3640;
    font-size: 14px;
    font-weight: 700;
}

.heyotour-header-tools {
    display: grid;
    gap: 10px;
    justify-items: end;
}

.heyotour-search {
    display: grid;
    grid-template-columns: minmax(260px, 360px) 54px;
    align-items: center;
    padding: 8px;
    border-radius: 999px;
    background: #eef1f5;
}

.heyotour-search input {
    height: 46px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: #222;
}

.heyotour-search button {
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    background: #0d5db8;
    color: #fff;
}

.heyotour-header-links,
.heyotour-account-links {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.heyotour-account-links .count {
    color: #0d5db8;
    font-weight: 800;
}

.heyotour-category-bar {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding: 0 0 18px;
}

#menu_open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 56px;
    border: 0;
    border-radius: 999px;
    background: #0d5db8;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
}

.heyotour-category-shortcuts {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 8px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(21, 15, 10, 0.08);
}

.heyotour-category-shortcuts a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 18px;
    border-radius: 999px;
    color: #27313b;
    font-size: 15px;
    font-weight: 700;
}

#category {
    display: none;
    position: fixed;
    top: 128px;
    left: 50%;
    z-index: 1100;
    width: min(980px, calc(100% - 40px));
    transform: translateX(-50%);
    padding: 26px;
    border-radius: 24px;
    background: rgba(255, 252, 247, 0.98);
    box-shadow: 0 28px 70px rgba(18, 12, 8, 0.16);
}

#category h2,
#category .close_btn,
#category_all_bg {
    display: none;
}

#category .cate {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

#category .cate > li {
    padding: 0;
    border: 0;
}

#category .cate_li_1_a {
    display: block;
    padding: 0 0 10px;
    color: #1d2730;
    font-size: 18px;
    font-weight: 800;
}

#category .sub_cate {
    display: grid;
    gap: 8px;
    padding: 0;
}

#category .sub_cate a {
    color: #6a7280;
    font-size: 14px;
}

#wrapper.heyotour-shop-home {
    background: #f5f3ef;
}

#wrapper.heyotour-shop-home #container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 136px 0 80px;
}

#wrapper.heyotour-shop-home #container > .shop-content.is_index {
    float: none;
    padding-top: 0;
}

#wrapper.heyotour-shop-home .main_bn,
#side_menu,
#text_size {
    display: none !important;
}

.heyotour-visual-hero {
    position: relative;
    min-height: 88vh;
    padding: 120px 56px 56px;
    border-radius: 28px;
    background:
        linear-gradient(rgba(13, 13, 13, 0.34), rgba(13, 13, 13, 0.24)),
        url("../img/vietnam-scene.svg") center/cover no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    overflow: hidden;
}

.heyotour-visual-copy {
    max-width: 720px;
}

.hero-label {
    margin-bottom: 18px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.3em;
    text-transform: uppercase;
}

.heyotour-visual-copy h2 {
    margin-bottom: 18px;
    font-size: 64px;
    line-height: 1.08;
    letter-spacing: -0.05em;
    text-shadow: 0 10px 30px rgba(0, 0, 0, 0.28);
}

.heyotour-visual-copy p {
    max-width: 620px;
    margin-bottom: 30px;
    font-size: 19px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.9);
}

.heyotour-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 0 28px;
    border-radius: 999px;
    background: #0d5db8;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
}

.heyotour-hero-overlay {
    position: absolute;
    right: 48px;
    bottom: 40px;
    display: grid;
    gap: 14px;
}

.overlay-card {
    min-width: 260px;
    padding: 18px 20px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(12px);
}

.overlay-card span {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.overlay-card strong {
    font-size: 22px;
    font-weight: 800;
}

.heyotour-featured-packages {
    padding: 84px 0 36px;
}

.heyotour-section-intro {
    max-width: 760px;
    margin: 0 auto 36px;
    text-align: center;
}

.section-title-label {
    margin-bottom: 12px;
    color: #0d5db8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

.heyotour-section-intro h3,
.heyotour-product-head h3 {
    margin-bottom: 12px;
    color: #121212;
    font-size: 38px;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.heyotour-section-intro p,
.heyotour-product-head p {
    color: #676d75;
    font-size: 16px;
    line-height: 1.8;
}

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

.heyotour-package-card {
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(21, 15, 10, 0.08);
}

.package-photo {
    height: 220px;
}

.card-danang .package-photo {
    background:
        linear-gradient(rgba(0,0,0,0.08), rgba(0,0,0,0.08)),
        linear-gradient(135deg, #2f7bbd, #6eb6df 54%, #efc17a);
}

.card-resort .package-photo {
    background:
        linear-gradient(rgba(0,0,0,0.08), rgba(0,0,0,0.08)),
        linear-gradient(135deg, #3c6f72, #93c5c7 58%, #f4e3c4);
}

.card-tour .package-photo {
    background:
        linear-gradient(rgba(0,0,0,0.08), rgba(0,0,0,0.08)),
        linear-gradient(135deg, #7d5a41, #c89969 50%, #f0dcc0);
}

.package-body {
    padding: 24px;
}

.package-body h4 {
    margin-bottom: 10px;
    color: #111;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.package-body p {
    margin-bottom: 20px;
    color: #6b7178;
    line-height: 1.8;
}

.package-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    background: rgba(13, 93, 184, 0.08);
    color: #0d5db8;
    font-size: 14px;
    font-weight: 800;
}

.heyotour-product-section {
    margin-bottom: 24px;
    padding: 32px;
    border: 0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(21, 15, 10, 0.08);
}

.heyotour-product-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
    margin-bottom: 24px;
}

.heyotour-bottom-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.compact .heyotour-product-head h3 {
    font-size: 30px;
}

#ft {
    background: #1d1f22;
}

#ft_wr {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}

@media (max-width: 1100px) {
    .heyotour-header-inner {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .heyotour-top-nav,
    .heyotour-header-links,
    .heyotour-account-links {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .heyotour-search {
        grid-template-columns: minmax(0, 1fr) 54px;
        width: 100%;
    }

    .heyotour-category-bar {
        grid-template-columns: 1fr;
    }

    .heyotour-category-shortcuts {
        flex-wrap: wrap;
        justify-content: flex-start;
        border-radius: 20px;
    }

    #category {
        top: 170px;
        width: calc(100% - 24px);
    }

    #category .cate {
        grid-template-columns: 1fr;
    }

    .heyotour-visual-hero {
        min-height: 72vh;
        padding: 104px 24px 24px;
    }

    .heyotour-visual-copy h2 {
        font-size: 40px;
    }

    .heyotour-hero-overlay,
    .heyotour-package-grid,
    .heyotour-bottom-grid {
        position: static;
        grid-template-columns: 1fr;
    }

    .heyotour-featured-packages {
        padding-top: 44px;
    }

    .heyotour-product-head {
        align-items: start;
        flex-direction: column;
    }
}

/* HEYOTOUR screenshot-style redesign */
body {
    background: #f4f5f7;
    color: #222;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    overflow-x: hidden;
}

#hd,
#tnb,
#hd_wrapper,
#hd_menu,
#side_menu,
#tabs_con,
#category,
#category_all_bg,
#aside {
    all: unset;
}

#hd {
    display: block;
    width: 100%;
}

.heyotour-nav-shell {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(14px);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.heyotour-nav-inner,
#wrapper.heyotour-shop-home #container > .shop-content.is_index,
#ft_wr {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}

.heyotour-nav-inner {
    display: grid;
    grid-template-columns: max-content max-content minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding: 18px 0;
}

.heyotour-brand {
    color: #4ea2d3;
    font-size: 30px;
    font-weight: 900;
    letter-spacing: -0.05em;
}

.heyotour-nav-links {
    display: flex;
    justify-content: flex-start;
    gap: 32px;
}

.heyotour-nav-links a {
    color: #111;
    font-size: 16px;
    font-weight: 700;
}

.heyotour-nav-tools {
    display: flex;
    align-items: center;
    gap: 14px;
    justify-self: end;
}

.heyotour-user-links {
    display: flex;
    align-items: center;
    gap: 10px;
}

.heyotour-user-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    background: rgba(13, 93, 184, 0.08);
    color: #0d5db8;
    font-size: 14px;
    font-weight: 800;
}

.heyotour-mini-search {
    display: grid;
    grid-template-columns: minmax(180px, 220px) 44px;
    align-items: center;
    padding: 4px;
    border: 1px solid #dfe4ea;
    border-radius: 999px;
    background: #fff;
}

.heyotour-mini-search input {
    height: 36px;
    padding: 0 14px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #222;
}

.heyotour-mini-search button,
.heyotour-icon-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #222;
}

#wrapper.heyotour-shop-home {
    background: #f4f5f7;
    overflow-x: hidden;
}

#wrapper {
    width: 100%;
    flex: 1 0 auto;
}

#container {
    width: 100%;
}

.shop-content:not(.is_index) {
    width: min(1200px, calc(100% - 40px));
    margin: 110px auto 40px;
    padding: 36px;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff, #f4f8fc);
    box-shadow: 0 18px 40px rgba(18, 59, 107, 0.08);
}

#wrapper_title {
    margin-bottom: 16px;
    color: #123b6b;
    font-size: 34px;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.shop-content:not(.is_index) .sct_noitem {
    min-height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed rgba(78, 162, 211, 0.28);
    border-radius: 22px;
    background: linear-gradient(180deg, #f9fcff, #eef6fb);
    color: #4d6982;
    font-size: 20px;
    text-align: center;
}

#wrapper.heyotour-shop-home #container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 92px 0 70px;
}

#wrapper.heyotour-shop-home #container > .shop-content.is_index {
    float: none;
    padding-top: 0;
}

#wrapper.heyotour-shop-home .main_bn,
#side_menu,
#text_size {
    display: none !important;
}

.heyotour-landing-hero {
    position: relative;
    min-height: 720px;
    margin-top: 12px;
    border-radius: 0 0 20px 20px;
    overflow: hidden;
    background: #dce8ef;
}

.landing-hero-bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.22)),
        url("https://images.unsplash.com/photo-1559592413-7cec4d0cae2b?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80") center/cover no-repeat;
}

.landing-hero-copy {
    position: relative;
    z-index: 1;
    max-width: 620px;
    padding: 160px 0 0 72px;
    color: #fff;
}

.landing-hero-kicker {
    margin-bottom: 16px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

.landing-hero-copy h2 {
    margin-bottom: 18px;
    font-size: 68px;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.06em;
    text-shadow: 0 4px 18px rgba(0,0,0,0.24);
}

.landing-hero-copy p {
    margin-bottom: 28px;
    font-size: 20px;
    line-height: 1.7;
    text-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.landing-hero-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 0 30px;
    border-radius: 999px;
    background: #18a6b6;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
}

.landing-floating-cards {
    position: absolute;
    left: 50%;
    bottom: 28px;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    width: min(1160px, calc(100% - 48px));
    transform: translateX(-50%);
}

.landing-package-card {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 16px;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 14px 30px rgba(0,0,0,0.12);
}

.landing-package-thumb {
    min-height: 110px;
    border-radius: 12px;
    background-size: cover;
    background-position: center;
}

.thumb-themepark {
    background-image: url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?ixlib=rb-4.0.3&auto=format&fit=crop&w=600&q=80");
}

.thumb-resort {
    background-image: url("https://images.unsplash.com/photo-1506744038136-46273834b3fb?ixlib=rb-4.0.3&auto=format&fit=crop&w=600&q=80");
}

.thumb-hoian {
    background-image: url("https://images.unsplash.com/photo-1470770841072-f978cf4d019e?ixlib=rb-4.0.3&auto=format&fit=crop&w=600&q=80");
}

.landing-package-body h3 {
    margin-bottom: 8px;
    color: #111;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.landing-package-body p {
    margin-bottom: 14px;
    color: #666;
    line-height: 1.65;
}

.landing-package-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.landing-package-meta strong {
    color: #111;
    font-size: 26px;
    font-weight: 900;
}

.landing-package-meta a,
.home-head-link,
.package-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(13, 93, 184, 0.08);
    color: #0d5db8;
    font-size: 13px;
    font-weight: 800;
}

.heyotour-featured-packages {
    padding: 110px 0 34px;
}

.heyotour-section-intro {
    margin-bottom: 30px;
    text-align: center;
}

.section-title-label,
.home-head-label {
    margin-bottom: 10px;
    color: #0d5db8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.heyotour-section-intro h3,
.heyotour-home-head h3 {
    margin-bottom: 12px;
    color: #111;
    font-size: 38px;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.heyotour-section-intro p {
    max-width: 740px;
    margin: 0 auto;
    color: #666;
    line-height: 1.8;
}

.heyotour-home-section {
    margin-bottom: 24px;
    padding: 32px;
    border: 0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(0,0,0,0.06);
}

.heyotour-home-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 18px;
    margin-bottom: 24px;
}

.heyotour-home-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

#ft {
    background: #222;
}

#ft_wr {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}

@media (max-width: 1100px) {
    .heyotour-nav-inner {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .heyotour-nav-links {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 14px 18px;
    }

    .heyotour-mini-search {
        grid-template-columns: minmax(0, 1fr) 44px;
        width: 100%;
    }

    .heyotour-user-links {
        flex-wrap: wrap;
    }

    #wrapper.heyotour-shop-home #container > .shop-content.is_index,
    .heyotour-nav-inner,
    #ft_wr {
        width: calc(100% - 24px);
    }

    .heyotour-landing-hero {
        min-height: 620px;
    }

    .landing-hero-copy {
        padding: 122px 20px 0;
    }

    .landing-hero-copy h2 {
        font-size: 40px;
    }

    .landing-hero-copy p {
        font-size: 16px;
    }

    .landing-floating-cards,
    .heyotour-home-grid {
        position: static;
        transform: none;
        width: 100%;
        grid-template-columns: 1fr;
    }

    .landing-floating-cards {
        padding: 20px;
    }

    .landing-package-card {
        grid-template-columns: 1fr;
    }

    .landing-package-thumb {
        min-height: 180px;
    }

    .heyotour-featured-packages {
        padding-top: 40px;
    }

        .heyotour-home-head {
        flex-direction: column;
        align-items: start;
    }
}

/* HEYOTOUR final hero slider layout */
#wrapper.heyotour-shop-home #container > .shop-content.is_index {
    width: 100%;
}

.heyotour-home-section,
.heyotour-home-grid,
.sct_wrap.heyotour-home-section,
.sct_wrap.heyotour-product-section,
.heyotour-featured-packages,
.heyotour-bottom-grid,
.heyotour-section-intro {
    display: none !important;
}

.heyotour-landing-hero {
    position: relative;
    min-height: 960px;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    border-radius: 0;
    overflow: hidden;
    background: linear-gradient(180deg, #dce4ea 0%, #eef2f5 100%);
}

.landing-hero-slides {
    position: absolute;
    inset: 0 0 180px 0;
    overflow: hidden;
}

.landing-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.8s ease;
    display: flex;
    align-items: stretch;
    justify-content: center;
    background: #cfd9e2;
}

.landing-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(14, 39, 68, 0.28), rgba(14, 39, 68, 0.22)),
        linear-gradient(rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0));
}

.landing-slide.is-active {
    opacity: 1;
}

.landing-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.landing-hero-copy {
    position: relative;
    z-index: 2;
    max-width: 960px;
    margin: 0 auto;
    padding: 210px 20px 0;
    text-align: center;
    color: #fff;
}

.landing-hero-kicker {
    margin-bottom: 18px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

.landing-hero-copy h2 {
    margin-bottom: 20px;
    font-size: 76px;
    line-height: 1.06;
    font-weight: 900;
    letter-spacing: -0.06em;
    text-shadow: 0 6px 18px rgba(0,0,0,0.26);
}

.landing-hero-copy p {
    margin-bottom: 28px;
    font-size: 24px;
    line-height: 1.6;
    text-shadow: 0 2px 10px rgba(0,0,0,0.22);
}

.landing-hero-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 62px;
    padding: 0 34px;
    border-radius: 999px;
    background: #18a6b6;
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(0,0,0,0.14);
}

.landing-slider-dots {
    position: absolute;
    left: 50%;
    bottom: 258px;
    z-index: 3;
    display: flex;
    gap: 10px;
    transform: translateX(-50%);
}

.landing-slider-dots button {
    width: 12px;
    height: 12px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,0.46);
}

.landing-slider-dots button.is-active {
    background: #fff;
}

.landing-floating-cards {
    position: absolute;
    left: 50%;
    bottom: 58px;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    width: min(1180px, calc(100% - 48px));
    transform: translateX(-50%);
}

.landing-package-card {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 14px;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 34px rgba(0,0,0,0.16);
}

.landing-package-thumb {
    min-height: 108px;
    border-radius: 12px;
    background-position: center;
    background-size: cover;
}

.landing-package-body h3 {
    margin-bottom: 8px;
    color: #111;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.landing-package-body p {
    margin-bottom: 14px;
    color: #666;
    font-size: 14px;
    line-height: 1.65;
}

.landing-package-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.landing-package-meta strong {
    color: #111;
    font-size: 18px;
    font-weight: 900;
}

.landing-package-meta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(13, 93, 184, 0.1);
    color: #0d5db8;
    font-size: 13px;
    font-weight: 800;
}

#ft {
    margin-top: 24px;
}

@media (max-width: 1100px) {
    .shop-content:not(.is_index) {
        width: calc(100% - 24px);
        margin: 92px auto 28px;
        padding: 24px 18px;
    }

    #wrapper.heyotour-shop-home #container {
        padding-top: 78px;
    }

    .heyotour-landing-hero {
        min-height: 760px;
    }

    .landing-hero-copy {
        padding: 140px 18px 0;
    }

    .landing-hero-copy h2 {
        font-size: 44px;
    }

    .landing-hero-copy p {
        font-size: 18px;
    }

    .landing-slider-dots {
        bottom: 298px;
    }

    .landing-floating-cards {
        bottom: 24px;
        width: calc(100% - 24px);
        grid-template-columns: 1fr;
    }

    .landing-package-card {
        grid-template-columns: 1fr;
    }

    .landing-package-thumb {
        min-height: 180px;
    }

    #ft {
        margin-top: 40px;
    }
}

.heyotour-footer-bar {
    background: #222;
    color: rgba(255, 255, 255, 0.78);
    width: 100%;
    margin-top: auto !important;
}

.heyotour-footer-bar #ft_wr {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 14px 32px;
    align-items: center;
    box-sizing: border-box;
    padding: 28px 32px;
    width: 100%;
    max-width: none;
}

.heyotour-footer-links,
.heyotour-footer-info {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    align-items: center;
}

.heyotour-footer-links a {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

.heyotour-footer-info span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
    line-height: 1.7;
    white-space: nowrap;
}

.heyotour-footer-info {
    min-width: 0;
    justify-content: flex-end;
}

@media (max-width: 1100px) {
    .heyotour-footer-bar #ft_wr {
        grid-template-columns: 1fr;
        align-items: start;
        padding: 24px 18px;
    }

    .heyotour-footer-info {
        justify-content: flex-start;
    }
}

/* HEYOTOUR final blue theme cleanup */
body,
#wrapper.heyotour-shop-home {
    background: linear-gradient(180deg, #f4f8fc 0%, #edf3f9 52%, #f8fbff 100%) !important;
}

#hd {
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 1px 0 rgba(24, 72, 128, 0.08) !important;
}

#hd:before,
#hd:after,
.heyotour-landing-hero:before,
.heyotour-landing-hero:after,
.landing-hero-slides:before,
.landing-hero-slides:after,
.landing-slide:before {
    content: none !important;
    display: none !important;
    background: none !important;
}

.heyotour-landing-hero {
    background: linear-gradient(180deg, #c7d8e9 0%, #e8f1f8 100%) !important;
}

.landing-slide::after {
    background:
        linear-gradient(rgba(13, 44, 82, 0.34), rgba(13, 44, 82, 0.24)),
        linear-gradient(rgba(96, 165, 250, 0.06), rgba(255, 255, 255, 0)) !important;
}

.landing-hero-cta,
.landing-package-meta a,
.hd-member-link,
.hd-member-link:visited {
    background: linear-gradient(135deg, #2ca8d2, #4eaee8) !important;
    border-color: #2ca8d2 !important;
    color: #fff !important;
}

.landing-package-card {
    box-shadow: 0 18px 38px rgba(42, 84, 132, 0.14) !important;
}

.landing-hero-kicker {
    background: rgba(32, 88, 168, 0.92) !important;
}

.landing-hero-copy h2,
.landing-hero-copy p {
    text-shadow: 0 8px 24px rgba(8, 27, 51, 0.34) !important;
}

.heyotour-footer-bar {
    background: #1d2733 !important;
}

/* HEYOTOUR content page spacing fix */
.shop-content:not(.is_index) {
    width: min(1200px, calc(100% - 40px));
    margin: 110px auto 48px;
    padding: 42px 40px;
    border-radius: 28px;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    box-shadow: 0 18px 44px rgba(24, 72, 128, 0.1);
}

#wrapper_title {
    margin-bottom: 24px;
    padding-bottom: 0;
    color: #123b6b;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -0.04em;
}

#ctt {
    margin: 0;
    padding: 34px 36px;
    border: 1px solid rgba(76, 136, 196, 0.14);
    border-radius: 24px;
    background: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

#ctt_con {
    padding: 8px 0 0;
    color: #33485f;
    font-size: 16px;
    line-height: 1.9;
    word-break: keep-all;
}

#ctt_con p:first-child,
#ctt_con h1:first-child,
#ctt_con h2:first-child,
#ctt_con h3:first-child {
    margin-top: 0;
}

#ctt_con p,
#ctt_con ul,
#ctt_con ol,
#ctt_con table,
#ctt_con h1,
#ctt_con h2,
#ctt_con h3,
#ctt_con h4 {
    margin-bottom: 16px;
}

.btn_submit,
a.btn_submit,
.btn_confirm .btn_submit,
.btn_b02,
a.btn_b02,
#btn_submit,
button[type="submit"] {
    background: linear-gradient(135deg, #2f8fe8, #46acef) !important;
    border-color: #2f8fe8 !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(47, 143, 232, 0.22) !important;
}

.btn_b01,
a.btn_b01,
.btn01,
a.btn01 {
    background: rgba(47, 143, 232, 0.08) !important;
    border-color: rgba(47, 143, 232, 0.18) !important;
    color: #1f6fc1 !important;
}

.landing-hero-copy,
.landing-hero-copy * {
    -webkit-user-select: none;
    user-select: none;
}

/* HEYOTOUR hero cleanup */
body,
#wrapper.heyotour-shop-home,
#wrapper.heyotour-shop-home #container,
#wrapper.heyotour-shop-home #container > .shop-content.is_index {
    background: #ffffff !important;
}

.heyotour-landing-hero {
    background: #ffffff !important;
}

.landing-slide::after {
    background: linear-gradient(rgba(9, 35, 69, 0.22), rgba(9, 35, 69, 0.18)) !important;
}

.landing-hero-kicker {
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.landing-package-thumb.thumb-themepark {
    background-image: url("https://images.pexels.com/photos/23529021/pexels-photo-23529021.jpeg?auto=compress&cs=tinysrgb&w=900") !important;
}

.landing-package-thumb.thumb-resort {
    background-image: url("https://images.pexels.com/photos/32715907/pexels-photo-32715907.jpeg?auto=compress&cs=tinysrgb&w=900") !important;
}

.landing-package-thumb.thumb-hoian {
    background-image: url("https://images.pexels.com/photos/33501218/pexels-photo-33501218.jpeg?auto=compress&cs=tinysrgb&w=900") !important;
}

@media (max-width: 768px) {
    .heyotour-nav-inner,
    #wrapper.heyotour-shop-home #container > .shop-content.is_index,
    #ft_wr {
        width: calc(100% - 20px);
    }

    .heyotour-nav-inner {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 14px 0;
    }

    .heyotour-brand {
        font-size: 26px;
        line-height: 1;
    }

    .heyotour-nav-links {
        flex-wrap: wrap;
        gap: 10px 18px;
    }

    .heyotour-nav-links a {
        font-size: 15px;
    }

    .heyotour-nav-tools {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        justify-self: stretch;
        align-items: stretch;
    }

    .heyotour-mini-search {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr) 40px;
    }

    .heyotour-mini-search input {
        min-width: 0;
        font-size: 14px;
    }

    .heyotour-user-links {
        flex: 0 0 auto;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: flex-end;
    }

    .heyotour-user-links a,
    .hd-member-link {
        min-height: 36px;
        padding: 0 12px !important;
        font-size: 13px;
        white-space: nowrap;
        word-break: keep-all;
    }

    #wrapper.heyotour-shop-home #container {
        padding-top: 86px;
    }

    .heyotour-landing-hero {
        min-height: 560px;
        border-radius: 0 0 18px 18px;
    }

    .landing-hero-copy {
        max-width: 100%;
        padding: 108px 18px 0;
    }

    .landing-hero-copy h2 {
        font-size: 44px;
        line-height: 1.08;
    }

    .landing-hero-copy p {
        font-size: 18px;
        line-height: 1.5;
    }

    .landing-slider-dots {
        bottom: 138px;
    }

    .landing-floating-cards {
        position: static;
        left: auto;
        bottom: auto;
        transform: none;
        width: calc(100% - 20px);
        margin: 0 auto;
        padding: 0 0 28px;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .landing-package-card {
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 12px;
        padding: 12px;
    }

    .landing-package-card:first-child {
        margin-top: -72px;
    }

    .landing-package-card:not(:first-child) {
        margin-top: 0;
    }

    .landing-package-thumb {
        min-height: 96px !important;
    }

    .landing-package-body h3 {
        font-size: 17px;
        line-height: 1.25;
    }

    .landing-package-body p {
        font-size: 13px;
        line-height: 1.5;
    }

    .landing-package-meta {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 8px 10px;
    }

    .landing-package-meta strong {
        font-size: 15px;
    }

    .landing-package-meta a {
        min-height: 32px;
        padding: 0 12px;
        font-size: 12px;
        white-space: nowrap;
    }

    .heyotour-footer-bar #ft_wr {
        padding: 20px 16px;
    }
}

@media (max-width: 480px) {
    .heyotour-nav-inner,
    #wrapper.heyotour-shop-home #container > .shop-content.is_index,
    #ft_wr {
        width: calc(100% - 16px);
    }

    .heyotour-nav-tools {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .heyotour-user-links a,
    .hd-member-link {
        min-width: 0;
        padding: 0 10px !important;
        font-size: 12px;
    }

    .landing-hero-copy {
        padding: 98px 16px 0;
    }

    .landing-hero-copy h2 {
        font-size: 36px;
    }

    .landing-hero-copy p {
        font-size: 16px;
    }

    .landing-slider-dots {
        bottom: 128px;
    }

    .landing-floating-cards {
        width: calc(100% - 16px);
    }

    .landing-package-card:first-child {
        margin-top: -64px;
    }

    .landing-package-card {
        grid-template-columns: 1fr;
    }

    .landing-package-thumb {
        min-height: 150px !important;
    }
}

@media (max-width: 1100px) {
    .heyotour-nav-tools {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        justify-self: stretch !important;
        align-items: stretch !important;
    }

    .heyotour-mini-search {
        width: 100% !important;
        min-width: 0 !important;
    }

    .heyotour-user-links {
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .heyotour-user-links a,
    .hd-member-link {
        white-space: nowrap !important;
        word-break: keep-all !important;
        padding: 0 12px !important;
        min-height: 36px !important;
        font-size: 13px !important;
    }

    .heyotour-landing-hero {
        min-height: 430px !important;
        overflow: visible !important;
    }

    .landing-hero-copy {
        padding: 92px 16px 0 !important;
        max-width: 100% !important;
    }

    .landing-hero-copy h2 {
        font-size: 34px !important;
        line-height: 1.1 !important;
    }

    .landing-hero-copy p {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    .landing-slider-dots {
        bottom: 112px !important;
    }

    .landing-floating-cards {
        position: relative !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
        width: calc(100% - 16px) !important;
        margin: -52px auto 0 !important;
        padding: 0 0 24px !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .landing-package-card,
    .landing-package-card:first-child,
    .landing-package-card:not(:first-child) {
        margin-top: 0 !important;
    }

    .landing-package-card {
        grid-template-columns: 90px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 12px !important;
    }

    .landing-package-thumb {
        min-height: 90px !important;
        height: 90px !important;
    }

    .landing-package-body h3 {
        font-size: 17px !important;
        line-height: 1.25 !important;
    }

    .landing-package-body p {
        margin-bottom: 8px !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .landing-package-meta {
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        gap: 8px 10px !important;
    }

    .landing-package-meta strong {
        font-size: 15px !important;
    }

    .landing-package-meta a {
        min-height: 32px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 520px) {
    .landing-floating-cards {
        margin: -46px auto 0 !important;
    }

    .landing-package-card {
        grid-template-columns: 1fr !important;
    }

    .landing-package-thumb {
        min-height: 150px !important;
        height: 150px !important;
    }
}

.heyotour-mobile-packages {
    display: none;
}

@media (max-width: 820px) {
    #heyotour-packages {
        display: none !important;
    }

    .heyotour-mobile-packages {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        width: calc(100% - 16px) !important;
        margin: -52px auto 24px !important;
        position: relative !important;
        z-index: 8 !important;
    }

    .heyotour-mobile-packages .landing-package-card {
        display: grid !important;
        grid-template-columns: 90px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 12px !important;
        margin-top: 0 !important;
    }

    .heyotour-mobile-packages .landing-package-thumb {
        min-height: 90px !important;
        height: 90px !important;
    }

    .heyotour-mobile-packages .landing-package-body h3 {
        font-size: 17px !important;
        line-height: 1.25 !important;
    }

    .heyotour-mobile-packages .landing-package-body p {
        margin-bottom: 8px !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .heyotour-mobile-packages .landing-package-meta {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        gap: 8px 10px !important;
    }

    .heyotour-mobile-packages .landing-package-meta strong {
        font-size: 15px !important;
    }

    .heyotour-mobile-packages .landing-package-meta a {
        min-height: 32px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 520px) {
    .heyotour-mobile-packages {
        margin-top: -44px !important;
    }

    .heyotour-mobile-packages .landing-package-card {
        grid-template-columns: 1fr !important;
    }

    .heyotour-mobile-packages .landing-package-thumb {
        min-height: 150px !important;
        height: 150px !important;
    }
}

@media (min-width: 821px) and (max-width: 1100px) {
    .heyotour-nav-inner {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 16px 0 !important;
    }

    .heyotour-nav-tools {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 12px !important;
        justify-self: stretch !important;
        align-items: center !important;
    }

    .heyotour-mini-search {
        width: 100% !important;
        min-width: 0 !important;
    }

    .heyotour-user-links {
        justify-content: flex-end !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }

    .heyotour-user-links a,
    .hd-member-link {
        min-height: 38px !important;
        padding: 0 14px !important;
        white-space: nowrap !important;
        font-size: 14px !important;
    }

    .heyotour-landing-hero {
        min-height: auto !important;
        padding-bottom: 28px !important;
        overflow: visible !important;
    }

    .landing-hero-slides {
        inset: 0 auto auto 0 !important;
        width: 100% !important;
        height: 460px !important;
    }

    .landing-hero-copy {
        max-width: 100% !important;
        min-height: 460px !important;
        padding: 124px 24px 92px !important;
        text-align: center !important;
    }

    .landing-hero-copy h2 {
        font-size: 48px !important;
        line-height: 1.08 !important;
    }

    .landing-hero-copy p {
        font-size: 18px !important;
        line-height: 1.6 !important;
    }

    .landing-slider-dots {
        bottom: 36px !important;
    }

    #heyotour-packages {
        display: none !important;
    }

    .heyotour-mobile-packages {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        width: calc(100% - 32px) !important;
        margin: -56px auto 28px !important;
        position: relative !important;
        z-index: 8 !important;
    }

    .heyotour-mobile-packages .landing-package-card {
        display: grid !important;
        grid-template-columns: 120px minmax(0, 1fr) !important;
        gap: 14px !important;
        padding: 14px !important;
        margin-top: 0 !important;
    }

    .heyotour-mobile-packages .landing-package-thumb {
        min-height: 110px !important;
        height: 110px !important;
    }

    .heyotour-mobile-packages .landing-package-body h3 {
        font-size: 18px !important;
        line-height: 1.28 !important;
    }

    .heyotour-mobile-packages .landing-package-body p {
        margin-bottom: 10px !important;
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    .heyotour-mobile-packages .landing-package-meta {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        gap: 10px 12px !important;
    }

    .heyotour-mobile-packages .landing-package-meta strong {
        font-size: 16px !important;
    }

    .heyotour-mobile-packages .landing-package-meta a {
        min-height: 34px !important;
        padding: 0 14px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
    }
}
