:root {
            --card: #fff;
            --primary2: #875845;
        }* {
            margin: 0;
            padding: 0;
        }html {
            font-synthesis: none;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            text-rendering: optimizeLegibility;
        }body,
        button,
        input,
        select,
        textarea {
            font-family: "Be Vietnam Pro", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }body {
            font-weight: 400;
        }.hero {
            padding: 80px 20px;
            color: #fff;
        }.container {
            max-width: 1400px;
            margin: auto;
            padding: 0px 50px 0px 50px;
        }.section-heading {
            padding-bottom: 20px;
        }.tabs {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            margin: 30px 0;
        }.tab {
            padding: 10px 18px;
            border: none;
            border-radius: 999px;
            background: #fff;
            cursor: pointer;
            font-size: 17px;
        }.tab.active {
            background: var(--primary);
            color: #fff;
            font-size: 17px;
        }.page {
            display: none;
        }.page.active {
            display: block;
        }.calendar-wrap {
            overflow: auto;
        }.room-tabs {
            display: flex;
            overflow: auto;
            margin-bottom: 20px;
        }.room-tab {
            font-size: 16px;
            padding: 10px 16px;
            border-radius: 999px;
            cursor: pointer;
        }.calendar {
            min-width: 0;
        }.week-card {
            border: 1px solid #ddd;
            margin-bottom: 15px;
            border-radius: 16px;
            overflow: hidden;
        }.week-title {
            padding: 10px;
            background: #f1f1f1;
            font-weight: 700;
        }.grid {
            display: grid;
            grid-template-columns: 60px repeat(7, 1fr);
        }.head,
        .time,
        .slot {
            border: 1px solid #eee;
        }.head {
            padding: 8px;
            text-align: center;
            font-weight: 700;
        }.time {
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
        }.slot {
            height: 34px;
        }.booked {
            background: #cf7d7d;
        }@media (max-width:768px) {.calendar {
                width: 100% !important;
                min-width: 0 !important;
                max-width: 100% !important;
            }.calendar-wrap {
                width: 100%;
            }.header-inner .main-menu a {
                font-size: 16px !important;
            }}.main-menu a {
            text-decoration: none;
            color: #555;
            font-weight: 600;
        }.main-menu a:hover {
            color: #c8a0a8;
        }.hero {
            background: linear-gradient(rgba(0, 0, 0, .35),
                    rgba(0, 0, 0, .35)),
                url("/cover.jpg");
            background-size: cover;
            background-position: center;
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center;
        }.hero-logo {
            width: 180px;
            margin-bottom: 20px;
        }.hero h1 {
            color: white;
            font-size: 52px;
        }.hero p {
            color: white;
            font-size: 20px;
        }.hero-btn {
            display: inline-block;
            margin-top: 25px;
            padding: 15px 35px;
            background: #c8a0a8;
            color: white;
            border-radius: 50px;
            text-decoration: none;
        }.copyright {
            text-align: center;
            border-top: 1px solid rgba(255, 255, 255, .3);
        }.floating-contact {
            position: fixed;
            right: 20px;
            bottom: 20px;
            display: flex;
            flex-direction: column;
            gap: 12px;
            z-index: 9999;
        }.floating-contact a {
            width: 55px;
            height: 55px;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            text-decoration: none;
            background: white;
            box-shadow: 0 5px 15px rgba(0, 0, 0, .15);
        }.phone-btn {
            font-size: 25px;
        }.messenger-btn {
            font-size: 30px;
        }.availability-grid {
            display: grid;
        }.sticky-corner {
            position: sticky;
            left: 0;
            top: 0;
        }.day-header {
            position: sticky;
            top: 0;
            text-align: center;
            z-index: 20;
        }.hour-cell {
            position: sticky;
            left: 0;
            z-index: 10;
            height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
        }.slot-cell {
            height: 42px;
        }.floating-contact a {
            animation: pulse 2s infinite;
        }@keyframes pulse {0% {
                box-shadow: 0 0 0 0 rgba(0, 0, 0, .2);
            }70% {
                box-shadow: 0 0 0 18px rgba(0, 0, 0, 0);
            }100% {
                box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
            }}@media (max-width:768px) {.room-grid {
                grid-template-columns: 1fr;
            }.main-menu {
                gap: 16px;
                flex-wrap: wrap;
            }}.room-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 28px;
        }.room-card img {
            height: 260px;
            width: 100%;
            object-fit: cover;
        }.room-content h3 {
            font-size: 22px;
            margin-bottom: 10px;
        }.room-content p {
            line-height: 1.7;
            color: #666;
        }.footer p {
            opacity: .95;
        }.copyright {
            background: rgba(255, 255, 255, .08);
            backdrop-filter: blur(10px);
        }@media (max-width:768px) {.container {
                padding: 14px;
            }.hero h1 {
                line-height: 1.3;
            }.header-inner {
                height: auto;
                padding: 12px 0;
                flex-wrap: wrap;
            }.tabs {
                overflow-x: auto;
                flex-wrap: nowrap;
                padding-bottom: 8px;
            }.tab {
                white-space: nowrap;
            }.room-tabs {
                overflow-x: auto;
                flex-wrap: nowrap;
                padding-bottom: 10px;
            }.room-tab {
                white-space: nowrap;
            }.calendar-wrap {
                border-radius: 18px;
            }body {
                overflow-x: auto;
            }.footer {
                border-radius: 24px 24px 0 0;
            }.footer h3 {
                margin-bottom: 10px;
            }.room-card img {
                height: 220px;
            }.floating-contact {
                right: 12px;
                bottom: 12px;
            }.floating-contact a {
                width: 54px;
                height: 54px;
            }}.footer {
            margin-top: 40px !important;
            border-radius: 24px 24px 0 0 !important;
        }.sticky-corner {
            width: 60px;
            min-width: 60px;
        }@media (max-width:768px) {.hero-logo {
                width: 110px !important;
            }.hero h1 {
                font-size: 28px !important;
            }.hero p {
                font-size: 15px !important;
            }.header-inner {
                gap: 12px !important;
            }.main-menu {
                width: 100%;
                justify-content: center;
                font-size: 14px;
            }.hour-cell {
                position: sticky;
                left: 0;
                z-index: 50;
                background: #fff;
            }.slot-cell {
                height: 30px !important;
            }.day-header {
                font-size: 10px !important;
                padding: 6px 2px !important;
            }.calendar-wrap {
                padding: 6px !important;
                overflow-x: auto;
            }.availability-grid {
                display: grid !important;
            }.room-tabs {
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
            }.room-tab {
                font-size: 14px !important;
            }}@media (max-width:768px) {.hour-cell {
                width: 45px;
            }.slot-cell {
                height: 30px;
            }}.footer-grid {
            padding: 16px 20px !important;
            gap: 12px !important;
        }.footer p {
            line-height: 1.55 !important;
            margin-bottom: 4px;
        }.copyright {
            padding: 12px !important;
            font-size: 13px;
        }@media (max-width:768px) {.footer-grid {
                padding: 14px !important;
            }.footer-logo {
                width: 75px !important;
            }.map-wrap iframe {
                height: 120px !important;
            }}.footer-social {
            padding: 0px 20px;
        }.footer-social a {
            backdrop-filter: blur(10px);
        }.footer-social a:hover {
            box-shadow: 0 10px 25px rgba(0, 0, 0, .18);
        }.footer-social a:nth-child(1):hover {
            color: #1877f2;
        }.footer-social a:nth-child(2):hover {
            color: #ff4f8b;
        }.footer-social a:nth-child(3):hover {
            color: black;
        }@media (max-width:768px) {.footer-social {
                gap: 14px;
                padding: 14px;
            }.footer-social a {
                font-size: 20px;
            }}.stats-bar {
            max-width: 1400px;
            margin: 40px auto 0;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
        }.stat {
            text-align: center;
        }.stat strong {
            display: block;
            font-size: 28px;
            color: #875845;
        }.stat span {
            color: #666;
            font-size: 14px;
        }.footer-feature {
            margin-top: 18px;
        }.footer-feature div {
            margin-bottom: 10px;
        }.footer-social a {
            text-decoration: none;
        }@media (max-width:768px) {.stats-bar {
                grid-template-columns: repeat(2, 1fr);
            }.footer-brand {
                max-width: none;
            }}.footer h3 {
            margin-bottom: 15px;
            font-size: 18px;
            color: white;
        }.footer p {
            color: rgba(255, 255, 255, .92);
            line-height: 1.8;
        }.footer {
            margin-top: 60px;
            border-radius: 36px 36px 0 0;
        }.footer-grid {
            max-width: 1400px;
            margin: auto;
            padding: 45px 30px;
        }.footer-social {
            justify-content: center;
        }.footer-social a {
            color: white;
            font-size: 22px;
        }.footer-social a:hover {
            color: #875845;
        }@media (max-width:768px) {.footer-grid {
                padding: 30px 18px;
            }.map-wrap iframe {
                width: 100%;
                border: none;
                border-radius: 24px;
                box-shadow: 0 10px 30px rgba(0, 0, 0, .15);
            }.footer-social a {
                width: 48px;
                height: 48px;
            }}@media (max-width:768px) {.footer-grid {
                gap: 18px !important;
            }.footer-info-row {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 16px;
            }.footer-info-row>div {
                background: rgba(255, 255, 255, .08);
                padding: 14px;
                border-radius: 16px;
            }.footer-info-row h3 {
                font-size: 16px;
                margin-bottom: 8px;
            }.footer-info-row p {
                font-size: 13px;
                line-height: 1.5;
            }}.stats-bar {
            background: #fff;
            border-radius: 24px;
            padding: 28px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
        }.footer-brand {
            max-width: 320px;
        }.footer-brand p {
            opacity: .9;
        }.footer-rating {
            margin-top: 16px;
            color: #FFD166;
        }.footer-rating span {
            display: block;
            color: white;
            font-size: 14px;
            margin-top: 6px;
        }.footer-card {
            background: rgba(255, 255, 255, .08);
            padding: 18px;
            border-radius: 18px;
            backdrop-filter: blur(10px);
        }.back-btn {
            display: inline-block;
        }.hero-image {
            box-shadow: 0 15px 40px rgba(0, 0, 0, .12);
        }.home-header {
            margin-top: 18px;
        }.section {
            margin-top: 40px;
        }.gallery-detail {
            margin-top: 20px;
        }.gallery-detail img {
            box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
        }.home-header h1 {
            font-size: 42px;
            margin-bottom: 12px;
            color: #875845;
        }.price {
            margin-bottom: 10px;
        }.description {
            font-size: 18px;
            line-height: 1.9;
            color: #666;
        }.amenity {
            background: white;
            padding: 16px 18px;
            border-radius: 18px;
            text-align: center;
            font-weight: 600;
            box-shadow: 0 8px 20px rgba(0, 0, 0, .06);
        }.back-btn {
            box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
        }.back-btn:hover {
            transform: translateY(-3px);
        }@media (max-width:768px) {.footer-brand {
                display: flex;
                flex-direction: column;
                align-items: center;
                text-align: center;
                margin: auto;
            }.footer-logo {
                margin: 0 auto 12px;
                display: block;
            }.footer-rating {
                text-align: center;
                width: 100%;
            }.gallery-detail {
                grid-template-columns: 1fr;
                gap: 16px;
            }.gallery-detail img {
                height: 240px;
            }.amenities {
                grid-template-columns: 1fr 1fr;
            }}.map-wrap iframe {
            height: 200px !important;border-radius: 24px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, .15);
        }@media (max-width:768px) {.footer-grid {
                grid-template-columns: 1fr !important;
                text-align: center;
            }.map-wrap iframe {
                height: 300px;
            }.tab.active {
                font-size: 16px;
            }}@media (max-width:768px) {.availability-grid {
                display: grid;
                grid-template-columns: 60px repeat(7, minmax(65px, 1fr)) !important;
                width: 100% !important;
                min-width: 0 !important;
            }.sticky-corner,
            .hour-cell {
                width: 60px !important;
                min-width: 60px !important;
            }.hour-cell,
            .slot-cell {
                height: 44px !important;
                min-height: 44px !important;
            }.hour-cell {
                font-size: 11px;
            }.day-header {
                font-size: 11px;
                padding: 8px 4px;
            }}.floating-social {
            position: fixed;
            right: 20px;
            bottom: 90px;
            display: flex;
            flex-direction: column;
            gap: 12px;
            z-index: 9999;
        }.floating-social a {
            width: 56px;
            height: 56px;
            border-radius: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            backdrop-filter: blur(12px);
            background: rgba(255, 255, 255, 0.95);
            transition: all .25s ease;
        }.floating-social a:hover {
            transform: translateY(-4px) scale(1.05);
            box-shadow: 0 12px 36px rgba(0, 0, 0, .16),
                0 4px 12px rgba(0, 0, 0, .10);
        }.floating-social img,
        .floating-social i {
            width: 28px;
            height: 28px;
            font-size: 28px;
        }.zalo-btn {
            background: linear-gradient(135deg, #0068ff, #3d8cff) !important;
        }.zalo-btn img {
            width: 55px;
            height: 55px;
        }.messenger-btn {
            background: linear-gradient(135deg, #0084ff, #6f7cff) !important;
            color: white;
        }.phone-btn {
            background: linear-gradient(135deg, #00b74a, #37d67a) !important;
            color: white;
        }.booking-btn {
            background: linear-gradient(135deg, #ff6b35, #ff9558) !important;
            color: white;
        }.phone-btn {
            animation: phonePulse 2s infinite;
        }@keyframes phonePulse {0% {
                box-shadow: 0 0 0 0 rgba(0, 183, 74, .5);
            }70% {
                box-shadow: 0 0 0 12px rgba(0, 183, 74, 0);
            }100% {
                box-shadow: 0 0 0 0 rgba(0, 183, 74, 0);
            }}@media (max-width:768px) {.floating-social {
                right: 12px;
                bottom: 75px;
                gap: 8px;
            }.floating-social a {
                width: 44px;
                height: 44px;
                border-radius: 14px;
            }.floating-social img,
            .floating-social i {
                width: 22px;
                height: 22px;
                font-size: 22px;
            }}@media screen and (min-width:380px) and (max-width:520px) {.calendar {
                width: 100%;
            }.container {
                padding: 14px;
            }.site-header {
                position: sticky;
            }.header-inner {
                height: auto !important;
                padding: 14px 0 !important;
                gap: 10px !important;
                flex-direction: column;
            }.logo-wrap {
                margin-right: 0 !important;
            }.logo-wrap img {
                height: 52px;
            }.main-menu {
                width: 100%;
                gap: 10px;
                justify-content: center;
                flex-wrap: wrap;
                margin-top: 10px !important;
            }.header-inner .main-menu a {
                font-size: 14px !important;
                background: #f7f1ed;
                padding: 8px 12px;
                border-radius: 999px;
            }.hero-logo {
                width: 95px !important;
            }.hero h1 {
                font-size: 28px !important;
                line-height: 1.25;
            }.hero p {
                font-size: 14px !important;
                margin-top: 10px;
            }.hero-btn {
                padding: 12px 22px;
                font-size: 14px;
            }.tabs {
                overflow-x: auto;
                flex-wrap: nowrap;
                gap: 8px;
                padding-bottom: 8px;
                scrollbar-width: none;
                margin-top: 0px !important;
            }.tabs::-webkit-scrollbar {
                display: none;
            }.tab {
                white-space: nowrap;
                font-size: 13px !important;
                padding: 11px 16px;
            }.room-grid {
                grid-template-columns: 1fr !important;
                gap: 18px;
            }.room-card {
                border-radius: 22px;
            }.room-card img {
                height: 210px !important;
            }.room-content {
                padding: 18px;
            }.room-content h3 {
                font-size: 20px;
            }.room-tabs {
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
                gap: 8px;
            }.room-tab {
                flex: 0 0 auto;
            }.room-tabs::-webkit-scrollbar {
                display: none;
            }.room-tab {
                font-size: 13px !important;
                white-space: nowrap;
                flex-shrink: 0;
            }.calendar-wrap {
                padding: 12px !important;
                border-radius: 24px;
            }.calendar {
                min-width: unset !important;
            }.floating-contact {
                right: 12px;
                bottom: 12px;
            }.floating-contact a {
                width: 40px;
                height: 40px;
                color: white;
            }.zalo-btn img {
                width: 40px;
                height: 40px;
            }.zalo-btn {
                background: #0068ff !important;
            }.messenger-btn {
                background: #0084ff !important;
                color: white !important;
                font-size: 24px;
            }.phone-btn {
                background: #25D366 !important;
                color: white !important;
                font-size: 20px;
            }.footer {
                border-radius: 28px 28px 0 0 !important;
                margin-top: 50px !important;
            }.footer-grid {
                grid-template-columns: 1fr !important;
                padding: 28px 18px !important;
                gap: 26px !important;
                text-align: center;
            }.footer-logo {
                width: 90px;
            }.footer h3 {
                font-size: 18px;
                margin-bottom: 10px;
            }.footer p {
                font-size: 14px;
                line-height: 1.7;
            }.map-wrap iframe {
                height: 200px !important;
                border-radius: 22px;
            }.copyright {
                padding: 18px;
                font-size: 13px;
            }#homeName {
                font-size: 28px;
            }.availability-grid {
                min-width: 100% !important;
            }.hour-cell {
                position: sticky;
                left: 0;
                z-index: 50;
                background: #fff;
                width: 50px;
            }.calendar-wrap {
                overflow-x: auto !important;
                overflow-y: visible;
            }.hour-cell {
                font-size: 9px;
            }.day-header {
                font-size: 9px;
                padding: 2px;
            }.sticky-corner {
                width: 60px;
                min-width: 0px;
                background: #fff;
            }.hour-cell,
            .slot-cell {
                display: flex;
                align-items: center;
                justify-content: center;
                height: 44px !important;
                min-height: 44px !important;
                box-sizing: border-box;
            }.availability-grid {
                display: grid;
                grid-template-columns: 50px repeat(7, minmax(42px, 1fr)) !important;
                width: 100% !important;
            }.sticky-corner,
            .hour-cell {
                width: 50px !important;
                min-width: 50px !important;
            }}.gallery-section,
        .review-section {
            margin-top: 80px;
        }.blog-grid,
        .review-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 24px;
            margin-top: 24px;
        }.blog-card,
        .review-card {
            overflow: hidden;
            cursor: pointer;
            transition: all .25s ease;
            box-shadow: 0 2px 10px rgba(0, 0, 0, .04);
        }.blog-card:hover,
        .review-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 30px rgba(0, 0, 0, .08);
        }.blog-card img,
        .review-image {
            width: 100%;
            aspect-ratio: 4 / 3;
            object-fit: cover;
            display: block;
            transition: transform .35s ease;
        }.blog-card:hover img,
        .review-card:hover .review-image {
            transform: scale(1.03);
        }.blog-content {
            padding: 18px;
        }.blog-title {
            font-size: 18px;
            font-weight: 700;
            color: #222;
            margin-bottom: 10px;
            line-height: 1.4;
        }.blog-text {
            font-size: 14px;
            line-height: 1.7;
            color: #666;
        }.review-content {
            padding: 18px;
        }.review-top {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 12px;
        }.review-avatar {
            width: 56px;
            height: 56px;
            border-radius: 50%;
            object-fit: cover;
            flex-shrink: 0;
        }.review-name {
            font-size: 15px;
            font-weight: 700;
            color: #222;
        }.review-phone {
            font-size: 13px;
            color: #999;
            margin-top: 2px;
        }.review-rating {
            color: #ffb400;
            font-size: 15px;
            margin-top: 4px;
        }.review-text {
            color: #555;
            line-height: 1.7;
            font-size: 14px;
        }.section-header {
            text-align: center;
            margin-bottom: 32px;
        }.section-header h2 {
            font-size: 32px;
            font-weight: 800;
            color: #222;
            margin-bottom: 10px;
        }.section-header p {
            font-size: 15px;
            color: #777;
        }@media (max-width: 968px) {.blog-grid,
            .review-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }}@media (max-width: 768px) {.blog-grid,
            .review-grid {
                grid-template-columns: 1fr;
                gap: 16px;
            }.section-header h2 {
                font-size: 24px;
            }.section-header p {
                font-size: 14px;
            }.blog-content,
            .review-content {
                padding: 14px;
            }.blog-title {
                font-size: 16px;
            }.review-avatar {
                width: 48px;
                height: 48px;
            }}.review-image {
            width: 100%;
            aspect-ratio: 4/3;
            object-fit: cover;
            display: block;
            cursor: pointer;
            transition: .3s;
        }.review-image:hover {
            transform: scale(1.03);
        }.home-detail-container {
            font-family: "Be Vietnam Pro", sans-serif;
        }.back-btn {
            border: none;
            background: #f7f7f7;
            padding: 10px 16px;
            border-radius: 999px;
            cursor: pointer;
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 18px;
            transition: 0.2s;
        }.back-btn:hover {
            background: #ececec;
        }.hero-image {
            width: 100%;
            height: 520px;
            object-fit: cover;
            border-radius: 18px;
            display: block;
            margin-bottom: 22px;
        }.home-header {
            margin-bottom: 28px;
        }.description,
        .home-content {
            font-size: 17px;
            max-width: 900px;
        }.section {
            margin-bottom: 42px;
        }.section h2 {
            font-size: 24px;
            margin-bottom: 18px;
            color: #222;
        }.amenities {
            flex-wrap: wrap;
        }.price-table {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }#pricingPreview {
            margin-top: 10px;
        }.gallery-detail {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
            gap: 16px;
        }.gallery-detail img {
            width: 100%;
            height: 220px;
            object-fit: cover;
            border-radius: 16px;
            cursor: pointer;
            transition: 0.25s;
        }.gallery-detail img:hover {
            transform: scale(1.02);
        }@media (max-width: 992px) {.detail-layout {
                grid-template-columns: 1fr;
            }.hero-image {
                height: 320px;
            }}@media (max-width: 768px) {#homeName {
                font-size: 28px;
            }.price {
                font-size: 18px;
            }.hero-image {
                height: 260px;
            }.section h2 {
                font-size: 20px;
            }}@media (max-width: 520px) {.home-detail-container {
                padding: 12px;
            }.hero-image {
                height: 240px;
            }.description,
            .home-content {
                font-size: 15px;
            }.price-preview-value {
                font-size: 16px;
            }}.gallery-airbnb {
            border-radius: 18px;
        }.gallery-main img {
            cursor: pointer;
            transition: 0.3s;
        }.gallery-main img:hover {
            transform: scale(1.01);
        }.gallery-side img {
            width: 100%;
            height: 120px;
            object-fit: cover;
            border-radius: 14px;
            cursor: pointer;
            transition: 0.25s;
        }.gallery-side img:hover {
            transform: scale(1.03);
        }.gallery-last {
            position: relative;
            cursor: pointer;
        }.gallery-last img {
            width: 100%;
            height: 120px;
            object-fit: cover;
            border-radius: 14px;
        }.gallery-overlay {
            position: absolute;
            inset: 0;
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 18px;
            font-weight: 700;
            border-radius: 14px;
        }#pricingPreview {
            flex-wrap: wrap;
        }.price-preview-card {
            gap: 6px;
        }.price-section {
            margin-top: 12px;
        }.price-section-title {
            font-size: 14px;
            font-weight: 700;
            margin-bottom: 10px;
            color: #333;
        }.price-row {
            font-size: 14px;
        }.pricing-details summary {
            font-size: 14px;
        }@media (max-width:768px) {#pricingPreview {
                grid-template-columns: 1fr 1fr;
            }}.price-preview-card {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }.price-preview-value {
            line-height: 1.2;
        }@media (max-width:768px) {.gallery-main img {
                border-radius: 16px;
            }}@media (max-width:768px) {.detail-main {
                width: 100%;
            }.detail-sidebar {
                display: flex;
                justify-content: center;
            }}@media (max-width:768px) {.hero-image {
                height: 220px;
                border-radius: 14px;
            }}#homeDetailPage {
            min-height: 100vh;
            padding-bottom: 60px;
        }.home-detail-container {
            margin: 0 auto;
            padding: 24px;
            width: 100%;
        }.home-header {
            margin: 24px 0;
        }#homeName {
            font-size: 36px;
            font-weight: 700;
            line-height: 1.3;
            margin-bottom: 8px;
        }.price {
            color: #FF385C;
        }.detail-main {
            min-width: 0;
        }.detail-sidebar {
            display: flex;
            justify-content: center;
        }#pricingPreview {
            display: grid;
            grid-template-columns: 1fr 1fr;
            margin-bottom: 16px;
        }.price-preview-card {
            padding: 10px;
            text-align: center;
        }.price-preview-label {
            font-size: 11px;
            margin-bottom: 4px;
        }.price-preview-value {
            font-size: 18px;
            font-weight: 700;
        }.price-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 12px 0;
            border-bottom: 1px solid #f3f3f3;
        }.price-row:last-child {
            border-bottom: none;
        }.price-label {
            font-size: 14px;
            color: #555;
        }.price-value {
            font-size: 14px;
            font-weight: 700;
            color: #222;
        }.gallery-airbnb {
            display: grid;
            grid-template-columns: 2fr 1fr;
            gap: 12px;
        }.gallery-main img {
            width: 100%;
            height: 520px;
            object-fit: cover;
            border-radius: 18px;
        }.gallery-side {
            display: grid;
            grid-template-rows: repeat(4, 1fr);
            gap: 12px;
        }.gallery-side img,
        .gallery-last img {
            width: 100%;
            height: 120px;
            object-fit: cover;
            border-radius: 14px;
        }@media (max-width:992px) {.detail-layout {
                grid-template-columns: minmax(0, 1fr) 280px;
                gap: 24px;
            }#homeName {
                font-size: 30px;
            }.gallery-main img {
                height: 400px;
            }}@media (max-width:768px) {.home-detail-container {
                padding: 16px;
            }#homeName {
                font-size: 26px;
            }.price {
                font-size: 18px;
            }.detail-main {
                order: 1;
            }.detail-sidebar {
                order: 2;
                width: 100%;
            }}@media (max-width:480px) {.home-detail-container {
                padding: 12px;
            }#homeName {
                font-size: 22px;
            }.gallery-main img {
                height: 200px;
            }.gallery-side img,
            .gallery-last img {
                height: 90px;
            }#pricingPreview {
                grid-template-columns: 1fr 1fr;
            }.price-preview-card {
                padding: 8px;
            }.price-preview-value {
                font-size: 16px;
            }}@media (max-width:768px) {.section {
                margin-bottom: 20px;
            }#galleryImages {
                margin-bottom: 0 !important;
            }}@media (max-width:768px) {#galleryImages {
                display: block !important;
                margin: 0 !important;
                padding: 0 !important;
            }.gallery-airbnb {
                display: flex !important;
                flex-direction: column !important;
                gap: 8px !important;
                height: auto !important;
                min-height: unset !important;
            }.gallery-main {
                height: auto !important;
                min-height: unset !important;
            }.gallery-main img {
                width: 100% !important;
                height: 220px !important;
                object-fit: cover !important;
            }.gallery-side {
                display: grid !important;
                grid-template-columns: 1fr 1fr !important;
                grid-template-rows: auto !important;
                gap: 8px !important;
                height: auto !important;
                min-height: unset !important;
            }.gallery-side img,
            .gallery-last img {
                width: 100% !important;
                height: 100px !important;
                object-fit: cover !important;
            }.gallery-last {
                height: auto !important;
            }.detail-layout {
                display: flex !important;
                flex-direction: column !important;
                gap: 12px !important;
            }.detail-main {
                margin-bottom: 0 !important;
                padding-bottom: 0 !important;
            }.detail-sidebar {
                margin-top: 0 !important;
            }}.detail-layout {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 340px;
            gap: 40px;
        }.detail-sidebar {
            position: relative;
            align-self: start;
        }@keyframes zoomIn {from {
                opacity: 0;
                transform: scale(.96);
            }to {
                opacity: 1;
                transform: scale(1);
            }}.highlights-section {
            padding: 0px 20px;
        }.section-heading {
            text-align: center;
            margin-bottom: 40px;
        }.section-heading h2 {
            font-size: 38px;
            font-weight: 800;
            color: #222;
            margin-bottom: 12px;
        }.section-heading p {
            color: #777;
            font-size: 16px;
        }.highlight-grid {
            display: grid;
            grid-template-columns: repeat(6, 1fr);
            gap: 24px;
        }.highlight-card {
            background: #fff;
            border-radius: 24px;
            padding: 15px 20px;
            text-align: center;
            transition: .3s;
            border: 1px solid #f1f1f1;
            box-shadow: 0 10px 30px rgba(0, 0, 0, .05);
        }.highlight-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 18px 40px rgba(0, 0, 0, .08);
        }.highlight-card i {
            width: 70px;
            height: 70px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: auto;
            border-radius: 50%;
            font-size: 22px;
            color: #875845;
            background: linear-gradient(135deg,
                    #f7ebe6,
                    #fff8f5);
        }.highlight-card h3 {
            margin-top: 18px;
            font-size: 16px;
            font-weight: 700;
            color: #222;
        }.highlight-card span {
            display: block;
            margin-top: 8px;
            color: #777;
            line-height: 1.6;
        }@media (max-width:768px) {.highlights-section {
                padding: 28px 14px;
            }.section-heading {
                margin-bottom: 24px;
            }.section-heading h2 {
                font-size: 24px;
            }.section-heading p {
                font-size: 14px;
            }.highlight-grid {
                grid-template-columns: repeat(3, 1fr);
                gap: 10px;
            }.highlight-card {
                padding: 14px 8px;
                border-radius: 18px;
            }.highlight-card i {
                width: 48px;
                height: 48px;
                font-size: 18px;
            }.highlight-card h3 {
                margin-top: 10px;
                font-size: 12px;
                line-height: 1.4;
            }.highlight-card span {
                display: none;
            }}@media screen and (min-width:380px) and (max-width:520px) {.logo-text strong {
                font-size: 22px;
            }.highlights-section {
                padding: 15px 10px;
            }.section-heading {
                margin-bottom: 10px;
            }.section-heading h2 {
                font-size: 20px;
            }.section-heading p {
                display: none;
            }.highlight-grid {
                grid-template-columns: repeat(3, 1fr);
                gap: 6px;
            }.highlight-card {
                padding: 10px 4px;
                border-radius: 14px;
                box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
            }.highlight-card i {
                width: 36px;
                height: 36px;
                font-size: 15px;
            }.highlight-card h3 {
                margin-top: 6px;
                font-size: 10px;
                font-weight: 600;
                line-height: 1.3;
            }.highlight-card span {
                display: none;
            }}.footer {
            background: linear-gradient(135deg,
                    #8e756c 0%,
                    #b99d9d 100%);
            color: #fff;
            padding: 30px 24px 24px;
            overflow: hidden;
        }.footer-grid {
            display: grid;
            grid-template-columns: minmax(240px, 1.15fr) minmax(200px, 1fr) minmax(200px, 1fr) minmax(320px, 1.25fr);
            gap: 42px;
            align-items: flex-start;
        }.footer-col h3 {
            font-size: 22px;
            font-weight: 700;
            margin-bottom: 24px;
            letter-spacing: -0.3px;
        }.footer a {
            color: #fff;
            text-decoration: none;
        }.footer-brand {
            display: flex;
            flex-direction: column;
        }.footer-logo {
            width: 112px !important;
            height: 112px !important;
            border-radius: 28px;
            object-fit: cover;
            margin-bottom: 22px;
            padding: 12px;
            background: rgba(255, 255, 255, 0.10);
            backdrop-filter: blur(10px);
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
        }.footer-brand h2 {
            font-size: 24px;
            line-height: 1.2;
            font-weight: 700;
            margin-bottom: 16px;
            letter-spacing: -0.8px;
            max-width: 260px;
        }.footer-desc {
            font-size: 15px;
            line-height: 1.8;
            opacity: .92;
            margin-bottom: 24px;
            max-width: 300px;
        }.footer-rating {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            width: fit-content;
            padding: 11px 16px;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.10);
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 22px;
        }.footer-mini-info {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }.footer-mini-info span {
            font-size: 14px;
            opacity: .95;
        }.footer-links {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 18px;
        }.footer-links li {
            display: flex;
            align-items: flex-start;
            gap: 13px;
            font-size: 15px;
            line-height: 1.75;
            opacity: .96;
        }.footer-links i {
            width: 16px;
            margin-top: 5px;
            color: #ffe0b2;
            flex-shrink: 0;
        }.footer-map-col {
            display: flex;
            flex-direction: column;
        }.map-wrap {
            overflow: hidden;
            border-radius: 26px;
            margin-bottom: 18px;
            box-shadow: 0 12px 32px rgba(0, 0, 0, 0.10);
        }.map-wrap iframe {
            width: 100%;
            height: 200px;
            border: none;
            display: block;
        }.footer-map-btn {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 15px 18px;
            border-radius: 16px;
            background: #fff;
            color: #222 !important;
            font-size: 15px;
            font-weight: 600;
            transition: .25s;
        }.footer-map-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 22px rgba(0, 0, 0, 0.10);
        }.footer-bottom {
            margin-top: 30px;
            padding-top: 24px;
            border-top: 1px solid rgba(255, 255, 255, 0.14);
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 18px;
        }.footer-social {
            display: flex;
            align-items: center;
            gap: 12px;
        }.footer-social a {
            width: 40px;
            height: 40px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(255, 255, 255, 0.10);
            border: 1px solid rgba(255, 255, 255, 0.08);
            transition: .25s;
        }.footer-social a:hover {
            transform: translateY(-3px);
            background: rgba(255, 255, 255, 0.16);
        }.footer-social i {
            font-size: 17px;
        }.footer-bottom p {
            font-size: 14px;
            opacity: .84;
            text-align: center;
        }@media (max-width: 1100px) {.footer-grid {
                grid-template-columns: 1fr 1fr;
                gap: 34px;
            }.footer-brand h2 {
                font-size: 28px;
            }.map-wrap iframe {
                height: 250px;
            }}@media (max-width: 768px) {.footer {
                padding: 46px 16px 22px;
            }.footer-grid {
                grid-template-columns: 1fr;
                gap: 24px;
            }.footer-col {
                background: rgba(255, 255, 255, 0.06);
                border: 1px solid rgba(255, 255, 255, 0.08);
                border-radius: 22px;
                padding: 20px;
            }.footer-logo {
                width: 86px;
                height: 86px;
                border-radius: 22px;
            }.footer-brand h2 {
                font-size: 24px;
                max-width: 100%;
            }.footer-desc {
                font-size: 14px;
                line-height: 1.7;
                max-width: 100%;
            }.footer-col h3 {
                font-size: 19px;
                margin-bottom: 18px;
            }.footer-links {
                gap: 16px;
            }.footer-links li {
                font-size: 14px;
            }.footer-rating {
                font-size: 13px;
                padding: 10px 14px;
            }.footer-mini-info span {
                font-size: 13px;
            }.map-wrap {
                border-radius: 20px;
            }.map-wrap iframe {
                height: 220px;
            }.footer-map-btn {
                font-size: 14px;
                padding: 14px;
            }.footer-social a {
                width: 46px;
                height: 46px;
                border-radius: 14px;
            }.footer-bottom p {
                font-size: 13px;
            }}@media (max-width: 520px) {.footer {
                padding: 40px 14px 20px;
            }.footer-grid {
                gap: 20px;
            }.footer-col {
                padding: 18px;
            }.footer-logo {
                width: 74px;
                height: 74px;
                border-radius: 20px;
            }.footer-brand h2 {
                font-size: 22px;
            }.footer-desc {
                font-size: 13px;
            }.footer-links li {
                font-size: 13px;
                line-height: 1.65;
            }.map-wrap iframe {
                height: 200px;
            }.footer-social {
                gap: 10px;
            }.footer-social a {
                width: 42px;
                height: 42px;
            }.footer-social i {
                font-size: 15px;
            }.footer-bottom p {
                font-size: 12px;
            }}.rooms-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
            gap: 30px;
        }.room-card {
            cursor: pointer;
        }.room-image {
            transition: transform .5s ease;
        }.room-card:hover .room-image {
            transform: scale(1.04);
        }.room-content {
            gap: 18px;
        }.room-top {
            gap: 16px;
        }.room-title {
            line-height: 1.3;
            margin-bottom: 8px;
            letter-spacing: -0.5px;
        }.room-location {
            font-size: 14px;
            line-height: 1.6;
        }.room-rating {
            font-weight: 600;
            white-space: nowrap;
        }.room-desc {
            margin: 0;
        }.room-bottom {
            gap: 16px;
        }.room-price {
            display: flex;
            align-items: flex-end;
            gap: 6px;
        }.room-price .price {
            font-size: 28px;
            font-weight: 700;
            color: #222;
            letter-spacing: -1px;
        }.room-price .night {
            font-size: 13px;
            color: #777;
            margin-bottom: 4px;
        }.room-btn {
            border: none;
            outline: none;
            cursor: pointer;
        }.room-btn:hover {
            opacity: .92;
        }@media (max-width: 992px) {.rooms-grid {
                grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
                gap: 24px;
            }.room-image {
                height: 240px;
            }.room-title {
                font-size: 22px;
            }.room-price .price {
                font-size: 24px;
            }}@media (max-width: 768px) {.rooms-grid {
                grid-template-columns: 1fr;
                gap: 22px;
            }.room-card {
                border-radius: 24px;
            }.room-content {
                padding: 18px;
                gap: 16px;
            }.room-title {
                font-size: 20px;
                margin-bottom: 6px;
            }.room-location {
                font-size: 13px;
            }.room-rating {
                font-size: 13px;
            }.room-price .price {
                font-size: 24px;
            }.room-price .night {
                font-size: 12px;
            }.room-btn {
                border-radius: 14px;
            }.section-heading {
                padding-top: 20px;
                padding-bottom: 10px;
            }}@media (max-width: 520px) {.rooms-grid {
                gap: 18px;
            }.room-card {
                border-radius: 22px;
            }.room-badge {
                top: 14px;
                left: 14px;
            }.room-content {
                gap: 14px;
            }.room-top {
                gap: 10px;
            }.room-title {
                line-height: 1.35;
            }.room-location {
                font-size: 12px;
            }.room-rating {
                font-size: 12px;
            }.room-features span {
                font-size: 11px;
                padding: 7px 10px;
            }.room-desc {
                line-height: 1.7;
            }.room-price .price {
                font-size: 22px;
            }.room-price .night {
                font-size: 11px;
            }}.room-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            backdrop-filter: blur(10px);
            font-weight: 800;
            border: 1px solid rgba(255, 255, 255, 0.12);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
            z-index: 3;
            letter-spacing: 0.3px;
        }.room-badge::before {
            content: "★";
            color: #ffd54f;
            font-size: 13px;
        }.room-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.2s ease,
                background 0.2s ease;
        }.room-btn:hover {
            transform: translateY(-2px);
            background: #000;
        }@media (max-width: 768px) {.room-badge {
                top: 10px;
                left: 10px;
                font-size: 11px;
                padding: 7px 11px;
            }.room-btn {
                width: auto;
                min-width: 110px;
                padding: 11px 16px;
                font-size: 13px;
            }}@media (max-width: 520px) {.room-bottom {
                gap: 10px;
            }.room-btn {
                min-width: unset;
                border-radius: 10px;
            }.room-badge {
                font-size: 10px;
                padding: 6px 10px;
            }.story-section {
                margin: 20px 0px 0px 0px !important;
            }.story-header h2 {
                font-size: 18px !important;
            }.section-heading {
                padding-top: 0px !important;
            }.highlights-section {
                padding: 0px 14px !important;
            }.story-avatar {
                width: 60px !important;
                height: 60px !important;
            }}.story-section {
            position: relative;
            margin: 50px 50px 0px 100px;
            padding-bottom: 18px;
        }.story-header {
            padding: 0 28px;
            margin-bottom: 18px;
        }.story-header h2 {
            font-size: 22px;
            font-weight: 800;
            letter-spacing: -.3px;
            color: #1f2937;
            margin: 0;
        }.story-bar {
            display: flex;
            gap: 18px;
            overflow-x: auto;
            padding: 4px 28px 14px;
            scrollbar-width: none;
            scroll-behavior: smooth;
        }.story-bar::-webkit-scrollbar {
            display: none;
        }.story-bar.is-story-loading {
            min-height: 112px;
        }.story-skeleton-item {
            flex: 0 0 92px;
            text-align: center;
            pointer-events: none;
        }.story-skeleton-avatar {
            width: 84px;
            height: 84px;
            margin: 0 auto;
            border-radius: 50%;
            background: linear-gradient(90deg, #eee7df 25%, #f8f2ec 37%, #eee7df 63%);
            background-size: 400% 100%;
            animation: storySkeleton 1.15s ease-in-out infinite;
        }.story-skeleton-name {
            width: 58px;
            height: 10px;
            margin: 10px auto 0;
            border-radius: 999px;
            background: linear-gradient(90deg, #eee7df 25%, #f8f2ec 37%, #eee7df 63%);
            background-size: 400% 100%;
            animation: storySkeleton 1.15s ease-in-out infinite;
        }@keyframes storySkeleton {0% {
                background-position: 100% 50%;
            }100% {
                background-position: 0 50%;
            }}.story-empty {
            color: #8b7b72;
            font-size: 13px;
            font-weight: 700;
            padding: 12px 2px;
        }.story-item {
            flex-shrink: 0;
            width: 92px;
            text-align: center;
            cursor: pointer;
            transition: .25s ease;
        }.story-item:hover {
            transform: translateY(-4px);
        }.story-avatar {
            width: 84px;
            height: 84px;
            margin: auto;
            border-radius: 50%;
            padding: 3px;
            background: linear-gradient(135deg,
                    #f59e0b,
                    #fb7185);
            box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
            transition: .25s ease;
        }.story-avatar:hover {
            transform: scale(1.05);
        }.story-avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 50%;
            border: 3px solid white;
        }.story-name {
            margin-top: 10px;
            font-size: 12px;
            font-weight: 700;
            color: #374151;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }.story-modal {
            position: fixed;
            inset: 0;
            z-index: 999999;
            display: none;
            justify-content: center;
            align-items: center;
            padding: 18px;
            background: rgba(15, 23, 42, .82);
            backdrop-filter: blur(14px);
        }.story-viewer {
            position: relative;
            width: 100%;
            max-width: 430px;
            height: min(88vh, 820px);
            overflow: hidden;
            border-radius: 34px;
            background: #111827;
            box-shadow: 0 30px 90px rgba(0, 0, 0, .28);
        }.story-background {
            position: absolute;
            inset: -18px;
            z-index: 1;
            background-size: cover;
            background-position: center;
            filter: blur(24px);
            transform: scale(1.08);
            opacity: .42;
        }.story-viewer.is-video .story-background {
            opacity: .28;
        }.story-image,
        .story-video {
            position: relative;
            z-index: 2;
            width: 100%;
            height: 100%;
            object-fit: contain;
            padding: 28px;
        }.story-video {
            display: none;
            background: #000;
            opacity: 0;
            transition: opacity .18s ease;
        }.story-video.is-ready {
            opacity: 1;
        }.story-poster-fallback {
            opacity: .96;
            filter: saturate(1.02);
        }.story-media-loader {
            position: absolute;
            left: 50%;
            bottom: 84px;
            transform: translateX(-50%);
            z-index: 31;
            display: none;
            align-items: center;
            gap: 9px;
            min-height: 38px;
            padding: 9px 14px;
            border: 1px solid rgba(255, 255, 255, .2);
            border-radius: 999px;
            background: rgba(0, 0, 0, .48);
            color: #fff;
            font-size: 12px;
            font-weight: 800;
            backdrop-filter: blur(14px);
            box-shadow: 0 12px 32px rgba(0, 0, 0, .32);
            pointer-events: none;
        }.story-media-loader::before {
            content: "";
            width: 13px;
            height: 13px;
            border-radius: 50%;
            border: 2px solid rgba(255, 255, 255, .38);
            border-top-color: #fff;
            animation: storySpin .75s linear infinite;
        }.story-viewer.is-loading-media .story-media-loader {
            display: inline-flex;
        }@keyframes storySpin {to {
                transform: rotate(360deg);
            }}.story-video-badge {
            position: absolute;
            left: 18px;
            bottom: 18px;
            z-index: 28;
            display: none;
            align-items: center;
            gap: 6px;
            padding: 8px 12px;
            border-radius: 999px;
            background: rgba(0, 0, 0, .46);
            border: 1px solid rgba(255, 255, 255, .18);
            color: #fff;
            font-size: 12px;
            font-weight: 800;
            backdrop-filter: blur(12px);
            pointer-events: none;
        }.story-viewer.is-video .story-video-badge {
            display: inline-flex;
        }.story-viewer.is-video .story-content:empty {
            display: none;
        }.story-overlay {
            position: absolute;
            inset: 0;
            z-index: 8;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            padding: 24px;
            background: linear-gradient(to top,
                    rgba(0, 0, 0, .72) 10%,
                    rgba(0, 0, 0, .18) 45%,
                    rgba(0, 0, 0, .42) 100%);
        }.story-top {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }#storyAuthor {
            width: fit-content;
            max-width: 100%;
            padding: 10px 16px;
            border-radius: 999px;
            background: rgba(255, 255, 255, .18);
            backdrop-filter: blur(12px);
            color: white;
            font-size: 14px;
            font-weight: 700;
            border: 1px solid rgba(255, 255, 255, .18);
        }#storyTime {
            color: rgba(255, 255, 255, .86);
            font-size: 12px;
            font-weight: 500;
            padding-left: 6px;
        }.story-content {
            max-width: 100%;
            width: fit-content;
            padding: 16px 18px;
            border-radius: 22px;
            background: rgba(255, 255, 255, .16);
            backdrop-filter: blur(18px);
            border: 1px solid rgba(255, 255, 255, .14);
            color: #f9fafb;
            font-size: 15px;
            line-height: 1.7;
            font-weight: 500;
            box-shadow: 0 8px 30px rgba(0, 0, 0, .18);
        }.story-close {
            position: absolute;
            top: 18px;
            right: 18px;
            z-index: 20;
            width: 42px;
            height: 42px;
            border: none;
            border-radius: 50%;
            background: rgba(255, 255, 255, .14);
            backdrop-filter: blur(10px);
            color: white;
            font-size: 18px;
            cursor: pointer;
            transition: .22s ease;
        }.story-close:hover {
            transform: scale(1.08);
            background: rgba(255, 255, 255, .22);
        }@media (max-width: 768px) {.story-section {
                margin-top: 18px;
            }.story-header {
                padding: 0 18px;
            }.story-bar {
                padding: 4px 18px 14px;
            }}.story-next,
        .story-prev {
            position: absolute;
            top: 0;
            width: 50%;
            height: 100%;
            z-index: 15;
        }.story-next {
            right: 0;
        }.story-prev {
            left: 0;
        }.story-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            z-index: 30;
            width: 42px;
            height: 42px;
            border: none;
            border-radius: 50%;
            background: rgba(255, 255, 255, .16);
            backdrop-filter: blur(10px);
            color: white;
            font-size: 30px;
            font-weight: 300;
            cursor: pointer;
            transition: .22s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
        }.story-nav:hover {
            transform: translateY(-50%) scale(1.08);
            background: rgba(255, 255, 255, .24);
        }.story-prev-btn {
            left: 14px;
        }.story-next-btn {
            right: 14px;
        }#pageLoader {
            position: fixed;
            inset: 0;
            z-index: 999999999;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg,
                    #fffaf5,
                    #ffffff);
            transition: opacity .45s ease,
                visibility .45s ease;
        }#pageLoader.hide {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }html:not(.home-route) #pageLoader {
            display: none !important;
            opacity: 0 !important;
            visibility: hidden !important;
            pointer-events: none !important;
        }html:not(.home-route) body.is-loading #roomGrid {
            min-height: 0 !important;
        }.loader-content {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 18px;
        }.loader-logo {
            width: 92px;
            height: 92px;
            object-fit: contain;
            animation: loaderFloat 2s ease-in-out infinite;
        }.loader-spinner {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            border: 3px solid #f3f4f6;
            border-top: 3px solid #f59e0b;
            animation: spin .8s linear infinite;
        }.loader-content p {
            margin: 0;
            font-size: 14px;
            font-weight: 600;
            color: #6b7280;
        }@keyframes spin {to {
                transform: rotate(360deg);
            }}@keyframes loaderFloat {0%,
            100% {
                transform: translateY(0);
            }50% {
                transform: translateY(-6px);
            }}#storyAudio {
            display: none;
        }@media (max-width: 768px) {.story-modal {
                padding: 0;
            }.story-viewer {
                width: 100%;
                height: 100vh;
                max-width: 100%;
                border-radius: 0;
            }.story-image,
            .story-video {
                width: 100%;
                height: 100%;
                object-fit: contain;
                object-position: center center;
                padding: 60px 10px 90px;
            }.story-overlay {
                padding: 16px;
            }.story-content {
                font-size: 14px;
            }.story-nav {
                background: rgba(0, 0, 0, .35);
                width: 44px;
                height: 44px;
                z-index: 99999;
            }.story-prev-btn {
                left: 8px;
            }.story-next-btn {
                right: 8px;
            }}@media (max-width: 768px) {.story-top {
                margin-top: 48px;
            }#storyAuthor {
                max-width: calc(100% - 80px);
                font-size: 13px;
                padding: 10px 14px;
            }#storyTime {
                padding-left: 2px;
            }}.story-image {
            transition: transform 0.25s ease;
        }.story-progress {
            position: absolute;
            top: 10px;
            left: 10px;
            right: 10px;
            display: flex;
            gap: 6px;
            z-index: 999;
            padding: 0 4px;
        }.story-progress-bar {
            flex: 1;
            height: 4px;
            background: rgba(255, 255, 255, 0.28);
            border-radius: 999px;
            overflow: hidden;
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06);
        }.story-progress-fill {
            height: 100%;
            width: 0%;
            background: linear-gradient(90deg, #ffffff, #ffe7d0);
            border-radius: inherit;
            transition: none;
            will-change: width;
        }.story-viewer.is-video .story-progress-bar {
            height: 5px;
            background: rgba(255, 255, 255, .24);
        }.story-sound-toggle {
            position: absolute;
            right: 18px;
            bottom: 18px;
            z-index: 35;
            display: none;
            align-items: center;
            justify-content: center;
            gap: 7px;
            min-height: 38px;
            padding: 9px 13px;
            border: 1px solid rgba(255, 255, 255, .22);
            border-radius: 999px;
            background: rgba(0, 0, 0, .48);
            color: #fff;
            font-size: 12px;
            font-weight: 800;
            line-height: 1;
            backdrop-filter: blur(12px);
            box-shadow: 0 10px 28px rgba(0, 0, 0, .28);
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
        }.story-sound-toggle.is-muted {
            background: rgba(216, 157, 121, .92);
            border-color: rgba(255, 255, 255, .28);
        }.story-viewer.is-video .story-sound-toggle {
            display: inline-flex;
        }@media (max-width: 520px) {.story-modal {
                background: #050505;
            }.story-progress {
                top: max(10px, env(safe-area-inset-top));
                left: 8px;
                right: 8px;
                gap: 4px;
            }.story-progress-bar {
                height: 3.5px;
            }.story-video-badge {
                left: 12px;
                bottom: max(12px, env(safe-area-inset-bottom));
                font-size: 11px;
                padding: 7px 10px;
            }.story-sound-toggle {
                right: 12px;
                bottom: max(12px, env(safe-area-inset-bottom));
                min-height: 36px;
                padding: 8px 11px;
                font-size: 11px;
            }.story-media-loader {
                bottom: calc(58px + env(safe-area-inset-bottom));
                font-size: 11px;
                min-height: 34px;
                padding: 8px 11px;
                max-width: calc(100vw - 32px);
                white-space: nowrap;
            }}.footer-mini-stats {
            margin: 20px 0 18px;
            padding: 16px 18px;
            border-radius: 18px;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.12);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 22px;
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
        }.mini-stat {
            display: flex;
            align-items: center;
            gap: 10px;
            white-space: nowrap;
        }.mini-stat strong {
            font-size: 17px;
            font-weight: 700;
            color: #ffffff;
            letter-spacing: -0.2px;
        }.mini-stat small {
            font-size: 14px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.82);
        }.mini-stat.live strong {
            color: #22c55e;
        }.mini-icon {
            width: 34px;
            height: 34px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(255, 255, 255, 0.08);
            font-size: 16px;
            flex-shrink: 0;
        }.mini-dot {
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: #22c55e;
            position: relative;
            flex-shrink: 0;
        }.mini-dot::after {
            content: "";
            position: absolute;
            inset: -5px;
            border-radius: 50%;
            border: 1px solid rgba(255, 56, 92, 0.55);
            animation: livePulse 1.8s infinite;
        }@keyframes livePulse {0% {
                transform: scale(1);
                opacity: .8;
            }100% {
                transform: scale(2.4);
                opacity: 0;
            }}.mini-divider {
            width: 1px;
            height: 26px;
            background: rgba(255, 255, 255, 0.12);
        }.mini-stat:hover {
            transform: translateY(-1px);
            transition: .2s ease;
        }@media (max-width: 768px) {.footer-mini-stats {
                gap: 16px;
                padding: 14px 16px;
            }.mini-stat strong {
                font-size: 16px;
            }.mini-stat small {
                font-size: 13px;
            }.mini-icon {
                width: 32px;
                height: 32px;
            }}@media (max-width: 480px) {.footer-mini-stats {
                flex-direction: column;
                align-items: stretch;
                gap: 14px;
                padding: 15px;
            }.mini-divider {
                display: none;
            }.mini-stat {
                justify-content: flex-start;
            }.mini-stat strong {
                font-size: 16px;
            }.mini-stat small {
                font-size: 13px;
            }}@media (max-width:768px) {.mobile-price-wrap strong {
                color: #222;
            }}@media (max-width:768px) {.btn-book-now,
            .btn-view-calendar {
                height: 46px;
                font-size: 13px;
            }.mobile-price-wrap {
                display: flex;
                flex-direction: column;
            }.mobile-price-wrap span {
                font-size: 11px;
                color: #888;
            }.mobile-price-wrap strong {
                font-weight: 700;
                line-height: 1.2;
            }.mobile-price-wrap small {
                font-size: 11px;
                color: #888;
            }.mobile-book-btn {
                background: #FF385C;
                color: #fff;
                text-decoration: none;
                border-radius: 10px;
                padding: 12px 18px;
                font-size: 13px;
                font-weight: 600;
            }}.room-cta {
            display: flex;
            margin-top: 16px;
        }.room-cta a {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            font-weight: 600;
            transition: all 0.25s ease;
            user-select: none;
            position: relative;
            overflow: hidden;
        }.room-cta a * {
            position: relative;
            z-index: 1;
        }.mobile-book-btn {
            background: #ff4d6d;
            color: #fff;
        }.btn-view-calendar {
            background: #f1f3f5;
            color: #222;
            border: 1px solid #e5e7eb;
        }.room-cta a::after {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(255, 255, 255, 0.25);
            opacity: 0;
            transition: opacity 0.25s ease;
        }.room-cta a:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
        }.room-cta a:hover::after {
            opacity: 1;
        }@media (max-width: 520px) {.section {
                margin-bottom: 0px !important;
                margin-top: 20px !important;
            }}.home-header {
            padding-bottom: 0px !important;
        }.room-cta {
            flex-direction: row;
            gap: 8px;
        }.room-cta a {
            font-size: 13px;
            padding: 10px 10px;
            min-height: 40px;
            border-radius: 12px;
        }.flash-social-proof {
            margin-top: 8px;
            margin-bottom: 10px;
            font-size: 12px;
            color: #ff4d4f;
            font-weight: 600;
            animation: pulse 1.5s infinite;
        }@media (max-width: 360px) {.room-cta {
                flex-direction: row;
                gap: 6px;
            }.room-cta a {
                font-size: 12px;
                padding: 8px 8px;
                min-height: 38px;
            }}.live-activity {
            position: fixed;
            color: white;
            padding: 14px 16px;
            z-index: 99999;
            opacity: 0;
            transform: translateY(20px);
            transition: .4s;
            max-width: 300px;
            backdrop-filter: blur(10px);
        }.live-activity.show {
            opacity: 1;
            transform: translateY(0);
        }@media (max-width:768px) {.live-activity {
                left: 12px;
                right: 12px;
                bottom: 12px;
                max-width: unset;
                font-size: 13px;
            }}.faq-toggle {
            font-size: 28px;
        }.faq-close {
            cursor: pointer;
        }.faq-actions a {
            text-align: center;
        }.faq-actions a:first-child {
            color: white;
        }.faq-actions a:last-child {
            color: white;
        }.faq-answer-card {
            border-radius: 16px;
            margin-top: 12px;
        }.faq-answer-icon {
            font-size: 22px;
        }.ai-ping {
            position: absolute;
            border-radius: 50%;
            animation: ping 1.8s infinite;
        }@keyframes aiFloat {0%,
            100% {
                transform: translateY(0);
            }50% {
                transform: translateY(-5px);
            }}@keyframes ping {0% {
                box-shadow: 0 0 0 0 rgba(34,
                        197,
                        94,
                        .7);
            }70% {
                box-shadow: 0 0 0 10px rgba(34,
                        197,
                        94,
                        0);
            }100% {
                box-shadow: 0 0 0 0 rgba(34,
                        197,
                        94,
                        0);
            }}@media (max-width:768px) {.faq-floating {
                left: 12px;
                bottom: 12px;
            }.faq-toggle {
                width: 56px;
                height: 56px;
                font-size: 24px;
            }.faq-box {
                position: fixed;
                left: 50%;
                transform: translateX(-50%) translateY(20px);
                bottom: 82px;
                width: min(92vw,
                        390px);
                border-radius: 26px;
            }.faq-box.show {
                transform: translateX(-50%) translateY(0);
            }.faq-header {
                padding: 18px;
            }.faq-header strong {
                font-size: 16px;
            }.faq-header p {
                font-size: 12px;
            }.faq-questions {
                padding: 16px;
                gap: 10px;
                overflow: visible;
            }.faq-questions button {
                font-size: 14px;
                line-height: 1.5;
                padding: 14px;
                border-radius: 16px;
            }.faq-answer {
                margin: 0 16px 16px;
                padding: 16px;
                font-size: 13px;
                line-height: 1.7;
                border-radius: 18px;
            }.faq-actions {
                padding: 0 16px 18px;
            }.faq-actions a {
                padding: 13px;
                font-size: 14px;
                border-radius: 14px;
            }.faq-questions {
                max-height: 320px;
                overflow-y: auto;
                scrollbar-width: none;
                -ms-overflow-style: none;
            }.faq-questions::-webkit-scrollbar {
                display: none;
            }}@media (max-width: 520px) {.faq-toggle {
                width: 45px;
                height: 45px;
                left: 14px;
                bottom: 75px;
            }.ai-icon {
                width: 22px;
                height: 22px;
            }.ai-ping {
                width: 8px;
                height: 8px;
            }.story-section {
                padding-bottom: 10px !important;
            }}.today-deal-box {
            margin: 20px 0;
            padding: 18px;
            border-radius: 18px;
            background: linear-gradient(135deg,
                    #fff8e7,
                    #fff3cd);
            border: 1px solid #ffe08a;
        }.today-deal-title {
            color: #b45309;
        }.deal-card {
            margin-top: 10px;
        }.deal-badge {
            display: inline-block;
            margin-top: 6px;
            padding: 4px 10px;
            border-radius: 999px;
            background: #dcfce7;
            color: #15803d;
            font-size: 13px;
        }@media (max-width:520px) {.today-deal-box {
                padding: 14px;
            }.deal-time {
                font-size: 16px;
            }}.weekday-card {
            background: #fff;
            border-radius: 16px;
            padding: 14px;
            margin-top: 12px;
            border: 1px solid #eee;
        }.weekday-room {
            font-weight: 700;
            font-size: 16px;
            margin-bottom: 8px;
        }.weekday-free {
            margin-bottom: 10px;
        }.combo-list {
            font-size: 14px;
            line-height: 1.8;
        }@media (max-width:520px) {.weekday-card {
                padding: 12px;
            }.combo-list {
                font-size: 13px;
            }}.today-deal-section {
            max-width: 1200px;
        }.deal-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 14px;
            font-size: 18px;
            font-weight: 700;
        }.deal-header span {
            font-size: 13px;
            color: #666;
        }.deal-scroll {
            display: flex;
            gap: 12px;
            overflow-x: auto;
            padding-bottom: 4px;
        }.deal-scroll::-webkit-scrollbar {
            display: none;
        }.deal-item {
            min-width: 260px;
            box-shadow: 0 8px 20px rgba(0,
                    0,
                    0,
                    .06);
            border: 1px solid #eee;
        }.deal-time {
            font-weight: 700;
            color: #ef4444;
            margin-bottom: 10px;
        }.deal-combo {
            font-size: 14px;
            margin-bottom: 14px;
        }.deal-btn {
            width: 100%;
            border: none;
            border-radius: 12px;
            padding: 10px;
            cursor: pointer;
            background: #111;
            color: white;
            font-weight: 600;
        }.deal-empty {
            background: #fff7ed;
            border: 1px solid #fed7aa;
            padding: 16px;
            border-radius: 16px;
            text-align: center;
        }.today-deal-section {
            margin: 24px auto;
            padding: 0 16px;
        }.today-deal-title {
            text-align: center;
        }.today-deal-title span {
            color: #ef4444;
        }.deal-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 14px;
        }.deal-card {
            background: #fff;
            border-radius: 20px;
            padding: 18px;
            box-shadow: 0 8px 30px rgba(0, 0, 0, .08);
            border: 1px solid #eee;
        }.deal-room {
            margin-bottom: 12px;
        }.combo-row {
            background: #f8fafc;
            border-radius: 12px;
            padding: 10px;
            margin-top: 8px;
        }.combo-label {
            font-weight: 600;
            color: #ef4444;
        }.combo-time {
            margin-top: 4px;
            font-size: 15px;
        }.deal-gift {
            margin-top: 12px;
            font-size: 13px;
            color: #16a34a;
            font-weight: 600;
        }#todayDealBox {
            padding: 10px;
        }.today-deal-title {
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 8px;
        }.deal-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 8px 10px;
            margin-bottom: 6px;
            border-radius: 8px;
            background: #f6f6f6;
            font-size: 13px;
        }.deal-room {
            font-weight: 600;
            font-size: 13px;
        }.deal-time {
            font-size: 12px;
            opacity: 0.8;
        }@media (max-width: 520px) {.today-deal-title {
                font-size: 13px;
            }.deal-item {
                padding: 6px 8px;
                font-size: 12px;
            }.deal-room {
                font-size: 12px;
            }.deal-time {
                font-size: 11px;
            }}.deal-item.hot {
            border: 2px solid #ff4d4f;
            background: #fff5f5;
        }.deal-score {
            font-size: 11px;
            opacity: 0.7;
        }.hero {
            position: relative;
        }.flash-sale-card {
            position: absolute;
            left: 24px;
            bottom: 24px;
            width: 320px;
            padding: 18px;
            border-radius: 22px;
            background: rgba(255, 255, 255, .92);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
            border: 1px solid rgba(255, 255, 255, .35);
            box-shadow: 0 12px 40px rgba(0, 0, 0, .12),
                0 2px 8px rgba(0, 0, 0, .05);
            z-index: 99;
            display: none;
        }.flash-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 7px 12px;
            border-radius: 999px;
            background: #FFF1F4;
            color: #FF385C;
            font-size: 13px;
            font-weight: 700;
            margin-bottom: 8px;
        }.flash-head {
            font-size: 22px;
            line-height: 1.25;
            font-weight: 700;
            color: #222;
            margin-bottom: 8px;
            letter-spacing: -0.2px;
        }.flash-sub {
            font-size: 14px;
            line-height: 1.5;
            color: #6A6A6A;
            margin-bottom: 14px;
        }.flash-info {
            background: #fafafa;
            padding: 14px;
            border-radius: 16px;
            margin-bottom: 14px;
        }.flash-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 14px;
            margin-bottom: 10px;
            color: #444;
        }.flash-row:last-child {
            margin-bottom: 0;
        }.flash-row b {
            font-size: 15px;
            color: #111;
        }.flash-btn {
            display: block;
            width: 100%;
            padding: 14px;
            border-radius: 999px;
            text-align: center;
            text-decoration: none;
            background: #FF385C;
            color: white;
            font-size: 15px;
            font-weight: 700;
            transition: all .25s ease;
        }.flash-btn:hover {
            background: #E43153;
            transform: translateY(-2px);
        }.flash-guide {
            background: #F7F7F7;
            padding: 12px;
            border-radius: 14px;
            font-size: 12px;
            line-height: 1.6;
            color: #555;
            margin-bottom: 14px;
        }@media (max-width:768px) {.flash-sale-card {
                left: 12px;
                right: 12px;
                bottom: 12px;
                width: auto;
                padding: 15px;
                border-radius: 18px;
            }.flash-head {
                font-size: 18px;
            }.flash-sub {
                font-size: 13px;
            }.flash-row {
                font-size: 13px;
            }.flash-row b {
                font-size: 14px;
            }.flash-btn {
                padding: 8px;
                font-size: 14px;
            }}.calendar-wrap {
            margin-bottom: 16px;
        }.package-card {
            border: 1px solid #eee;
            border-radius: 12px;
            padding: 12px;
            background: #fafafa;
        }@media (max-width: 768px) {.package-card {
                padding: 12px;
            }}.day-header:hover {
            transform: translateY(-2px);
            box-shadow: 0 5px 20px rgba(0, 0, 0, .08);
        }.package-option {
            flex-wrap: nowrap;
        }.group {
            flex-direction: column;
        }.package-block>div:first-child {
            font-size: 14px;
            font-weight: 700;
        }.suggest-card:hover {
            transform: none;
        }.calendar-hint {
            display: flex;
            align-items: center;
            gap: 8px;
        }@media (max-width: 520px) {.section.suggested-section {
                margin-bottom: 20px !important;
            }.section.suggested-section h2 {
                font-size: 14px;
                margin-bottom: 10px;
                line-height: 1.3;
            }#suggestedPackages {
                display: grid !important;
                grid-template-columns: 1fr !important;
                gap: 8px;
                width: 100%;
                overflow-x: hidden;
            }.suggest-card {
                display: flex;
                gap: 6px;
                padding: 10px !important;
                border-radius: 12px !important;
                margin-bottom: 10px;
                box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06) !important;
                width: 100%;
                min-width: 0;
                box-sizing: border-box;
            }.group {
                display: flex;
                flex-direction: column;
                gap: 4px;
                min-width: 0;
            }.suggest-date {
                font-size: 13px !important;
                font-weight: 700;
            }.suggest-slot {
                font-size: 13px !important;
                margin-bottom: 8px;
                min-width: 0;
                overflow-wrap: anywhere;
            }.package-block {
                flex: 1;
                min-width: 0;
                padding: 8px !important;
                border-radius: 10px !important;
            }.package-block>div:first-child {
                font-size: 10px !important;
                font-weight: 700;
            }.package-option {
                display: inline-flex;
                align-items: center;
                font-size: 10.5px !important;
                padding: 4px 6px;
                margin: 3px 2px 0 0;
                white-space: nowrap;
                max-width: 100%;
            }.calendar-hint {
                font-size: 12px;
                padding: 10px 12px;
                line-height: 1.4;
                border-radius: 10px;
                display: flex;
                align-items: center;
                gap: 8px;
                background: linear-gradient(135deg, #f9fafb, #ffffff);
                border: 1px solid #e5e7eb;
            }.suggest-card * {
                min-width: 0;
                overflow-wrap: anywhere;
            }.suggest-card:hover {
                transform: none;
            }}:root {
            --text: #111;
            --muted: #6b6b6b;
            --line: #eee;
            --chip: #f5f5f7;
            --primary: #ff385c;
            --accent: #ff9500;
        }* {
            box-sizing: border-box;
        }#roomGrid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px;
            padding: 16px;
        }@media (max-width: 768px) {#roomGrid {
                grid-template-columns: repeat(2, 1fr);
                gap: 12px;
                padding: 12px;
            }}@media (max-width: 520px) {#roomGrid {
                grid-template-columns: 1fr;
                gap: 12px;
                padding: 10px;
            }}.room-card {
            transition: all .2s ease;
            display: flex;
            flex-direction: column;
            height: 100%;
        }.room-image {
            width: 100%;
            height: 220px;
            object-fit: cover;
        }.room-badge {
            position: absolute;
            top: 12px;
            left: 12px;
            background: rgba(0, 0, 0, 0.55);
            color: #fff;
            font-size: 11px;
            padding: 4px 10px;
            border-radius: 999px;
        }.room-content {
            padding: 14px 16px;
            display: flex;
            flex-direction: column;
            flex: 1;
        }.room-top {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }.room-title {
            font-size: 16px;
            font-weight: 700;
        }.room-rating {
            font-size: 12px;
            color: #777;
        }.room-features {
            margin-top: 8px;
        }.room-desc {
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }.room-status-inline {
            white-space: nowrap;
        }.room-suggest-row {
            font-size: 12px;
            font-weight: 600;
        }.room-bottom {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: auto;
            padding-top: 12px;
            border-top: 1px solid #eee;
        }.price {
            font-size: 16px;
            font-weight: 800;
        }.night {
            font-size: 12px;
            color: #777;
        }.room-btn {
            background: #ff385c;
            color: #fff;
            font-size: 14px;
            padding: 10px 14px;
            border-radius: 10px;
            text-decoration: none;
            font-weight: 600;
        }.overnight-note {
            margin-left: 2px !important;
        }@media (max-width: 768px) {.room-image {
                height: 200px;
            }}@media (max-width: 520px) {.overnight-note {
                font-size: 7.5px !important;
                margin-left: 0px !important;
            }.room-image {
                height: 180px;
            }.room-content {
                padding: 12px;
            }.room-title {
                font-size: 15px;
            }.room-desc {
                font-size: 11.5px;
            }.room-slot-text {
                font-size: 12px;
            }.room-status-inline {
                font-size: 11px;
            }.room-suggest-row {
                font-size: 12px;
            }.room-btn {
                font-size: 13px;
                padding: 10px 13px;
            }}:root {
            --soft-shadow: 0 18px 45px rgba(45, 30, 20, .10);
            --soft-shadow-sm: 0 8px 22px rgba(45, 30, 20, .08);
        }.section-heading h2,
        .section-header h2 {
            letter-spacing: -.02em;
        }.tab,
        .room-tab,
        .room-btn,
        .mobile-book-btn,
        .btn-view-calendar {
            transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
        }.tab:hover,
        .room-tab:hover,
        .room-btn:hover,
        .mobile-book-btn:hover,
        .btn-view-calendar:hover {
            transform: translateY(-1px);
            box-shadow: var(--soft-shadow-sm);
        }.room-image-wrap {
            display: block;
            position: relative;
            overflow: hidden;
            background: #eee;
        }.room-image {
            display: block;
            transform: translateZ(0);
        }.package-option {
            margin-top: 6px;
        }.calendar-wrap {
            border: 1px solid rgba(135, 88, 69, .10);
            box-shadow: var(--soft-shadow-sm);
        }.day-header.selected {
            outline-offset: -2px;
        }@media (max-width: 520px) {.section.suggested-section {
                padding: 14px;
                border-radius: 20px;
            }#suggestedPackages {
                grid-template-columns: 1fr;
            }.room-card:hover {
                transform: none;
            }.floating-social a,
            .floating-contact a {
                animation: none !important;
            }}.room-features {
            flex-wrap: wrap;
            margin: 10px 0 6px;
        }.amenity-item {
            gap: 8px;
        }.calendar-wrap {
            justify-content: flex-start !important;
            scrollbar-width: thin;
        }.calendar-legend {
            left: 0;
            z-index: 3;
            backdrop-filter: blur(10px);
        }.calendar-hint {
            left: 0;
            z-index: 3;
            font-weight: 600;
        }.day-header {
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 2px;
            min-height: 54px;
            border-radius: 0 !important;
            border-right: 1px solid rgba(135, 88, 69, .08);
        }.day-header.selected {
            outline: none !important;
        }.hour-cell,
        .slot-cell {
            border-color: rgba(135, 88, 69, .075) !important;
        }.slot-cell {
            font-size: 11px;
        }.free-cell::after {
            width: 7px;
            height: 7px;
            border-radius: 999px;
            background: #58c985;
            opacity: .42;
        }.section.suggested-section h2 {
            display: flex;
            align-items: center;
            gap: 8px;
        }.suggest-card-v2 {
            border: 1px solid rgba(135, 88, 69, .12);
            background: rgba(255, 255, 255, .94);
            box-shadow: 0 14px 34px rgba(45, 30, 20, .08);
        }.suggest-card-head {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 12px;
        }.suggest-date-pill {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            border-radius: 999px;
            padding: 7px 10px;
            background: #111827;
            color: white;
            font-size: 12px;
            font-weight: 800;
            white-space: nowrap;
        }.suggest-slot-v2 {
            color: #6b4a3d;
            font-size: 13px;
            font-weight: 700;
            text-align: right;
            line-height: 1.35;
        }.package-grid-v2 {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }.package-block-v2 {
            min-width: 0;
            border: 1px solid rgba(255, 56, 92, .10);
            background: linear-gradient(180deg, #ffffff, #fff8f4);
        }.package-title-v2 {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 6px;
            margin-bottom: 8px;
        }.package-title-v2 strong {
            color: #1f2937;
            font-weight: 900;
        }.package-title-v2 span {
            color: #ff385c;
            font-size: 12px;
            font-weight: 800;
            white-space: nowrap;
        }.package-time-v2 {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
            width: 100%;
            border: none;
            border-radius: 999px;
            margin-top: 6px;
            background: #fff;
            color: #7d5344;
            box-shadow: inset 0 0 0 1px rgba(125, 83, 68, .10);
            font-weight: 800;
            line-height: 1.25;
            white-space: nowrap;
        }.package-tag-night {
            display: inline-flex;
            align-items: center;
            border-radius: 999px;
            padding: 2px 6px;
            background: #1f2937;
            color: #fff;
            font-size: 10px;
            font-weight: 800;
        }.faq-box {
            gap: 0;
            overscroll-behavior: contain;
        }.faq-answer.has-answer {
            box-shadow: 0 10px 24px rgba(45, 30, 20, .08);
        }.faq-answer-header {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 8px;
        }.faq-answer-body {
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            padding-right: 4px;
        }.faq-close-btn {
            width: 100%;
            border: none;
            padding: 10px 12px;
            font-weight: 800;
        }@media (max-width: 768px) {.faq-box.show {
                position: fixed !important;
                left: 10px !important;
                right: 10px !important;
                bottom: 78px !important;
                width: auto !important;
                max-height: min(78vh, 680px) !important;
                border-radius: 28px !important;
                overflow: hidden auto !important;
                box-shadow: 0 24px 80px rgba(0, 0, 0, .28) !important;
            }.faq-box.show::before {
                content: "";
                position: fixed;
                inset: 0;
                z-index: -1;
                background: rgba(17, 24, 39, .34);
                backdrop-filter: blur(4px);
            }}@media (max-width: 430px) {.room-grid,
            #roomGrid {
                gap: 16px !important;
            }.room-features {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 7px !important;
            }.room-features span {
                display: flex;
                align-items: center;
                justify-content: center;
                min-width: 0;
                padding: 8px 7px !important;
                font-size: 11px !important;
                text-align: center;
                white-space: nowrap;
            }.amenities {
                grid-template-columns: 1fr 1fr !important;
                gap: 9px !important;
            }.amenity-item {
                padding: 11px 10px !important;
                border-radius: 14px !important;
                font-size: 12px;
            }#suggestedPackages {
                grid-template-columns: 1fr !important;
                gap: 10px !important;
            }.suggest-card-v2 {
                padding: 11px;
                border-radius: 22px;
            }.suggest-card-head {
                align-items: center;
                margin-bottom: 10px;
            }.suggest-date-pill {
                font-size: 11px;
                padding: 6px 8px;
            }.suggest-slot-v2 {
                font-size: 11px;
            }.package-grid-v2 {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 8px;
            }.package-block-v2 {
                padding: 9px 8px;
                border-radius: 17px;
            }.package-title-v2 {
                flex-direction: column;
                align-items: flex-start;
                gap: 2px;
                margin-bottom: 7px;
            }.package-title-v2 strong {
                font-size: 14px;
            }.package-title-v2 span {
                font-size: 11px;
            }.package-time-v2 {
                font-size: 10.5px;
                padding: 7px 5px;
                letter-spacing: -.02em;
            }.availability-grid {
                min-width: 548px !important;
                width: max-content !important;
                grid-template-columns: 52px repeat(7, 70px) !important;
            }.sticky-corner,
            .hour-cell {
                width: 52px !important;
                min-width: 52px !important;
            }.hour-cell,
            .slot-cell {
                height: 38px !important;
                min-height: 38px !important;
            }.day-header {
                min-height: 48px;
                font-size: 10px !important;
                padding: 6px 3px !important;
            }}.calendar-legend {
            position: static !important;
            min-width: 0 !important;
            border-radius: 16px !important;
        }.calendar-hint {
            position: static !important;
            width: 100% !important;
            min-width: 0 !important;
            margin: 0 0 10px !important;
            line-height: 1.35 !important;
        }.section.suggested-section {
            border-radius: 22px !important;
        }.section.suggested-section h2 {
            font-size: 18px !important;
        }#suggestedPackages {
            grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
            gap: 10px !important;
        }.suggest-card-v2 {
            border-radius: 22px !important;
            padding: 12px !important;
        }.suggest-card-head {
            margin-bottom: 10px !important;
        }.package-grid-v2 {
            gap: 8px !important;
        }.package-block-v2 {
            border-radius: 18px !important;
            padding: 10px !important;
        }.package-title-v2 strong {
            font-size: 15px !important;
        }.package-time-v2 {
            font-size: 11px !important;
            padding: 6px 7px !important;
        }body.faq-open::after {
            position: fixed;
            inset: 0;
            z-index: 99990;
            background: rgba(17, 24, 39, .42);
            backdrop-filter: blur(6px);
        }.faq-header {
            flex-shrink: 0;
        }.faq-answer {
            flex-shrink: 0;
            -webkit-overflow-scrolling: touch;
        }.faq-questions {
            -webkit-overflow-scrolling: touch;
        }.faq-actions {
            flex-shrink: 0;
            padding-bottom: 14px !important;
        }@media (max-width: 768px) {.container {
                padding-left: 12px !important;
                padding-right: 12px !important;
            }.tabs {
                margin: 18px 0 14px !important;
                gap: 7px !important;
            }.tab,
            .tab.active,
            .room-tab {
                font-size: 12px !important;
                padding: 9px 12px !important;
            }.calendar-legend {
                padding: 7px !important;
            }.calendar-hint {
                text-align: center;
            }.availability-grid {
                border-radius: 18px !important;
            }.slot-cell {
                font-size: 0 !important;
            }.section.suggested-section {
                padding: 11px !important;
                border-radius: 20px !important;
            }.section.suggested-section h2 {
                margin-bottom: 8px !important;
            }#suggestedPackages {
                grid-template-columns: 1fr !important;
                gap: 8px !important;
            }.suggest-card-v2 {
                padding: 10px !important;
                border-radius: 18px !important;
            }.suggest-date-pill {
                font-size: 10px !important;
                padding: 5px 7px !important;
            }.suggest-slot-v2 {
                font-size: 10px !important;
                line-height: 1.25 !important;
            }.package-grid-v2 {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 7px !important;
            }.package-block-v2 {
                padding: 8px !important;
                border-radius: 16px !important;
            }.package-title-v2 {
                gap: 3px !important;
                margin-bottom: 5px !important;
            }.package-title-v2 strong {
                font-size: 13px !important;
            }.package-title-v2 span {
                font-size: 10px !important;
            }.package-time-v2 {
                font-size: 9.5px !important;
                padding: 6px 4px !important;
                letter-spacing: -.03em;
            }.package-tag-night {
                font-size: 9px !important;
                padding: 1px 5px !important;
                margin-bottom: 4px;
            }.faq-header {
                border-radius: 0 !important;
            }.faq-answer {
                order: 1 !important;
            }.faq-answer-header {
                gap: 7px !important;
                margin-bottom: 7px !important;
            }.faq-answer-icon {
                font-size: 18px !important;
            }.faq-questions {
                order: 2 !important;
                display: grid !important;
            }.faq-actions {
                order: 3 !important;
                gap: 8px !important;
            }}@media (max-width: 380px) {.package-title-v2 strong {
                font-size: 12px !important;
            }.package-time-v2 {
                font-size: 9px !important;
            }}.section.suggested-section {
            background: transparent !important;
            border: 0 !important;
            box-shadow: none !important;
            padding: 0 !important;
            margin-top: 12px !important;
            margin-bottom: 18px !important;
            overflow: visible !important;
        }.section.suggested-section h2 {
            color: #222 !important;
            font-weight: 800 !important;
            line-height: 1.35 !important;
            margin-bottom: 12px !important;
        }#suggestedPackages {
            display: block !important;
        }.group {
            display: flex !important;
            align-items: center !important;
            gap: 12px !important;
            margin: 8px 0 8px !important;
        }.suggest-date {
            margin-right: 0 !important;
            font-weight: 800 !important;
            color: #111827 !important;
            font-size: 15px !important;
            white-space: nowrap;
        }.suggest-slot {
            color: #6b7280 !important;
            font-size: 14px !important;
            margin-bottom: 0 !important;
            font-weight: 600 !important;
        }.suggest-card {
            display: grid !important;
            grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
            gap: 10px !important;
            justify-content: initial !important;
            align-items: stretch !important;
            border-radius: 22px !important;
            background: white !important;
            margin-bottom: 16px !important;
            padding: 12px !important;
            border: 1px solid #f3f4f6 !important;
            box-shadow: 0 8px 30px rgba(0, 0, 0, .05) !important;
        }.package-block {
            margin-top: 0 !important;
            padding: 13px !important;
            border-radius: 16px !important;
            background: #f9fafb !important;
            border: 1px solid #f1f5f9 !important;
            min-width: 0 !important;
            display: flex !important;
            flex-direction: column !important;
            justify-content: flex-start !important;
        }.package-title {
            font-size: 14px !important;
            line-height: 1.3 !important;
            font-weight: 800 !important;
            color: #111827 !important;
            margin-bottom: 8px !important;
        }.package-option {
            display: inline-flex !important;
            justify-content: center !important;
            align-items: center !important;
            gap: 8px !important;
            padding: 8px 12px !important;
            border-radius: 999px !important;
            background: #ECFDF5 !important;
            color: #047857 !important;
            font-size: 12px !important;
            line-height: 1.2 !important;
            margin: 3px 0 !important;
            font-weight: 700 !important;
            white-space: nowrap !important;
        }.overnight-note {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            border-radius: 999px !important;
            padding: 1px 6px !important;
            margin: 0 2px !important;
            font-size: 10px !important;
            line-height: 1.3 !important;
            background: #fff7ed !important;
            color: #c2410c !important;
            border: 1px solid #fed7aa !important;
            vertical-align: middle !important;
        }.calendar-wrap {
            width: 100% !important;
            display: block !important;
            padding: 14px !important;
            overflow-x: auto !important;
            overflow-y: visible !important;
            -webkit-overflow-scrolling: touch;
        }.calendar {
            width: 100% !important;
            max-width: 100% !important;
            margin-inline: auto !important;
            overflow: visible !important;
        }.calendar-legend {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            gap: 20px !important;
            padding: 0 !important;
            margin: 0 0 15px !important;
            background: transparent !important;
            border: 0 !important;
            width: 100% !important;
        }.legend-item {
            display: flex !important;
            align-items: center !important;
            gap: 8px !important;
            font-size: 13px !important;
            font-weight: 700 !important;
        }.legend {
            width: 14px !important;
            height: 14px !important;
            border-radius: 50% !important;
        }.calendar-hint {
            padding: 10px 12px !important;
            border-radius: 12px !important;
            background: #f9fafb !important;
            color: #6b7280 !important;
            font-size: 13px !important;
            margin-bottom: 10px !important;
            border: 1px solid #eef2f7 !important;
            text-align: left !important;
        }.availability-grid {
            margin-inline: auto !important;
            width: 100% !important;
            min-width: 0 !important;
            border: 1px solid #f1f5f9 !important;
            border-radius: 16px !important;
            overflow: hidden !important;
            background: #fff !important;
            box-shadow: none !important;
        }.sticky-corner {
            background: #fff !important;
        }.day-header {
            background: #fff !important;
            color: #222 !important;
            cursor: pointer !important;
            transition: .2s !important;
        }.day-header.today {
            background: #d89d79 !important;
            color: #fff !important;
            border-radius: 12px !important;
        }.day-header.selected {
            background: linear-gradient(135deg, #111827, #374151) !important;
            color: white !important;
            box-shadow: 0 8px 25px rgba(0, 0, 0, .2) !important;
        }.hour-cell {
            background: #fff !important;
            color: #4b5563 !important;
            font-weight: 700 !important;
            border-right: 1px solid #eee !important;
            border-bottom: 1px solid #eee !important;
        }.slot-cell {
            border-right: 1px solid #f2f2f2 !important;
            border-bottom: 1px solid #f2f2f2 !important;
        }.free-cell::after {
            display: none !important;
            content: none !important;
        }.booked-cell {
            font-weight: 800 !important;
            line-height: 1 !important;
        }.room-features span,
        .amenity-item {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 6px !important;
            text-align: center !important;
        }body.faq-open::after {
            content: none !important;
            display: none !important;
        }.faq-toggle {
            cursor: pointer !important;
            z-index: 9999 !important;
        }.faq-box,
        .faq-box.show {
            top: auto !important;
            z-index: 99999 !important;
            transform-origin: initial !important;
        }.faq-box {
            overflow-y: auto !important;
        }.faq-box.show {
            display: block !important;
        }.faq-box.show::before {
            content: none !important;
            display: none !important;
        }.faq-header p {
            opacity: .9 !important;
        }.faq-questions {
            flex-direction: column !important;
        }.faq-questions button {
            cursor: pointer !important;
        }.faq-answer {
            overflow: visible !important;
        }.faq-actions a {
            padding: 14px !important;
        }@media (max-width: 768px) {.section.suggested-section h2 {
                line-height: 1.35 !important;
            }.group {
                gap: 8px !important;
                margin: 6px 0 7px !important;
            }.suggest-date,
            .suggest-slot {
                font-size: 12px !important;
            }.suggest-card {
                margin-bottom: 12px !important;
            }.package-option {
                width: 100% !important;
                margin: 2px 0 !important;
                letter-spacing: -.02em;
            }.overnight-note {
                font-size: 8.5px !important;
                padding: 1px 4px !important;
            }.calendar-wrap {
                padding: 10px !important;
                overflow-x: hidden !important;
            }.calendar {
                width: 100% !important;
            }.calendar-legend {
                justify-content: flex-start !important;
                gap: 14px !important;
                margin-bottom: 10px !important;
            }.legend-item {
                font-size: 11px !important;
            }.calendar-hint {
                font-size: 11px !important;
                padding: 8px 9px !important;
            }.availability-grid {
                margin-inline: auto !important;
            }.day-header {
                min-height: 38px !important;
                padding: 4px 1px !important;
                font-size: 9px !important;
                line-height: 1.1 !important;
            }.day-header strong {
                font-size: 10px !important;
            }.hour-cell,
            .slot-cell {
                height: 31px !important;
                min-height: 31px !important;
            }.hour-cell {
                font-size: 8.5px !important;
                letter-spacing: -.04em !important;
            }.booked-cell {
                font-size: 11px !important;
            }.faq-toggle {
                width: 45px !important;
            }.faq-box {
                position: fixed !important;
                left: 50% !important;
                top: auto !important;
                right: auto !important;
                bottom: 82px !important;
                width: min(92vw, 390px) !important;
                max-height: 75vh !important;
                border-radius: 26px !important;
                overflow-y: auto !important;
            }.faq-header p {
                font-size: 12px !important;
            }.faq-answer {
                line-height: 1.7 !important;
            }.faq-actions a {
                padding: 13px !important;
            }}@media (max-width: 380px) {.suggest-date,
            .suggest-slot {
                font-size: 11px !important;
            }.package-title {
                font-size: 11px !important;
            }.package-option {
                font-size: 9.5px !important;
            }.availability-grid {
                grid-template-columns: 38px repeat(7, minmax(0, 1fr)) !important;
            }.sticky-corner,
            .hour-cell {
                width: 38px !important;
                min-width: 38px !important;
            }.hour-cell,
            .slot-cell {
                height: 29px !important;
                min-height: 29px !important;
            }.day-header {
                font-size: 8.5px !important;
            }.booked-cell {
                font-size: 10px !important;
            }}.room-features:empty,
        .amenities:empty {
            display: none !important;
        }.room-features span,
        .amenity-item {
            min-height: 42px !important;
            padding: 11px 14px !important;
            border-radius: 16px !important;
            background: linear-gradient(180deg, #fffaf7, #ffffff) !important;
            border: 1px solid rgba(135, 88, 69, .14) !important;
            box-shadow: 0 8px 18px rgba(45, 30, 20, .055) !important;
            color: #4b3328 !important;
            font-weight: 700 !important;
            line-height: 1.35 !important;
        }.package-title .overnight-note:empty {
            display: none !important;
        }body.faq-open {
            overflow: hidden !important;
            touch-action: none;
        }.faq-answer:not(.has-answer) {
            min-height: auto !important;
        }.faq-close-btn {
            cursor: pointer !important;
        }@media (max-width: 768px) {body.faq-open::after {
                content: "" !important;
                display: block !important;
                position: fixed !important;
                inset: 0 !important;
                z-index: 99990 !important;
                background: rgba(17, 24, 39, .28) !important;
                backdrop-filter: blur(2px) !important;
            }.faq-floating {
                position: fixed !important;
            }.faq-box,
            .faq-box.show {
                overflow-y: auto !important;
                -webkit-overflow-scrolling: touch;
                z-index: 100001 !important;
                box-shadow: 0 28px 90px rgba(0, 0, 0, .30) !important;
            }.faq-box.show {
                display: block !important;
            }.faq-header {
                position: sticky !important;
                top: 0 !important;
                z-index: 2 !important;
            }.faq-answer.has-answer {
                max-height: 28vh !important;
                overflow-y: auto !important;
                -webkit-overflow-scrolling: touch;
            }}@media (max-width: 380px) {.faq-box,
            .faq-box.show {
                width: calc(100vw - 22px) !important;
                max-height: 80vh !important;
            }}body.is-loading #roomGrid {
            min-height: 360px;
        }#roomGrid.loading-skeleton {
            align-items: stretch;
        }.room-skeleton-card {
            pointer-events: none;
            user-select: none;
        }.room-skeleton-media,
        .room-skeleton-line,
        .room-skeleton-pill,
        .room-skeleton-button {
            position: relative;
            overflow: hidden;
            background: linear-gradient(90deg, #f3eee9 0%, #faf7f4 45%, #f3eee9 100%);
            background-size: 220% 100%;
            animation: skeletonShimmer 1.25s ease-in-out infinite;
        }.room-skeleton-media {
            height: 270px;
            border-radius: 0;
        }.room-skeleton-body {
            padding: 22px;
            display: flex;
            flex-direction: column;
            gap: 14px;
        }.room-skeleton-line {
            height: 14px;
            border-radius: 999px;
        }.room-skeleton-line.title {
            width: 62%;
            height: 20px;
        }.room-skeleton-line.desc {
            width: 92%;
        }.room-skeleton-line.short {
            width: 58%;
        }.room-skeleton-pills {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
        }.room-skeleton-pill {
            width: 76px;
            height: 28px;
            border-radius: 999px;
        }.room-skeleton-bottom {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: 4px;
            padding-top: 12px;
            border-top: 1px solid #eee;
        }.room-skeleton-button {
            width: 86px;
            height: 38px;
            border-radius: 10px;
        }.room-badge.today-available {
            background: #ecfdf5;
            color: #047857;
            border: 1px solid rgba(4, 120, 87, .12);
        }@keyframes skeletonShimmer {0% {
                background-position: 120% 0;
            }100% {
                background-position: -120% 0;
            }}@media (max-width: 768px) {.room-skeleton-media {
                height: 200px;
            }}@media (max-width: 520px) {body.is-loading #roomGrid {
                min-height: 280px;
            }.room-skeleton-media {
                height: 180px;
            }.room-skeleton-body {
                padding: 12px;
                gap: 11px;
            }.room-skeleton-line.title {
                height: 17px;
            }.room-skeleton-pill {
                height: 24px;
                width: 66px;
            }.room-badge.today-available {
                font-size: 11px;
                padding: 8px 10px;
            }}.home-detail-container {
            max-width: 1180px !important;
        }#coverImage.hero-image {
            display: block;
            width: 100%;
            height: auto !important;
            max-height: 520px;
            object-fit: cover;
            border-radius: 28px !important;
            box-shadow: 0 18px 45px rgba(82, 52, 40, .14) !important;
        }.home-header {
            background: rgba(255, 255, 255, .86);
            border: 1px solid rgba(216, 157, 121, .18);
            border-radius: 24px;
            padding: 20px 22px;
            box-shadow: 0 12px 32px rgba(82, 52, 40, .08);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }.home-header #homeName {
            letter-spacing: -.7px;
        }.home-header .price {
            color: #875845 !important;
        }.room-trust {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-top: 12px !important;
            padding: 10px 13px;
            background: #fff8f2;
            border: 1px solid rgba(216, 157, 121, .22);
            border-radius: 999px;
            color: #7d5344 !important;
            font-size: 13px !important;
            line-height: 1.45 !important;
        }.detail-layout {
            align-items: start !important;
        }.detail-main .section {
            background: rgba(255, 255, 255, .94) !important;
            border: 1px solid rgba(0, 0, 0, .055) !important;
            border-radius: 24px !important;
            box-shadow: 0 12px 30px rgba(82, 52, 40, .07) !important;padding: 24px !important;
            margin-top: 0 !important;
            margin-bottom: 22px !important;
        }.detail-main .section h2 {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 14px !important;
            color: #2b211d !important;
            font-size: 22px !important;
            letter-spacing: -.3px;
        }.description,
        .home-content {
            color: #4b4541 !important;
            line-height: 1.85 !important;
        }.amenities {
            display: grid !important;
            grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
            gap: 12px !important;
        }.amenity-item {
            min-height: 52px !important;
            padding: 13px 15px !important;
            border-radius: 18px !important;
            border: 1px solid rgba(216, 157, 121, .18) !important;
            background: linear-gradient(180deg, #ffffff 0%, #fff8f2 100%) !important;
            color: #3b302b !important;
            box-shadow: 0 8px 18px rgba(82, 52, 40, .055) !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            text-align: center !important;
            font-size: 14px !important;
            font-weight: 600 !important;
            line-height: 1.35 !important;
        }#pricingPreview {
            gap: 10px !important;
        }.price-preview-card {
            border-radius: 18px !important;
            background: linear-gradient(180deg, #fff 0%, #fff7f2 100%) !important;
            border: 1px solid rgba(216, 157, 121, .18) !important;
            box-shadow: 0 8px 18px rgba(82, 52, 40, .045) !important;
        }.price-preview-label {
            color: #7a6f69 !important;
            font-weight: 600 !important;
        }.price-preview-value {
            color: #875845 !important;
            letter-spacing: -.4px;
        }.pricing-details summary {
            list-style: none;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 44px;
            margin-top: 14px !important;
            padding: 12px 14px;
            border-radius: 999px;
            background: #f7f1ed;
            color: #875845 !important;
            font-weight: 700 !important;
            cursor: pointer;
        }.pricing-details summary::-webkit-details-marker {
            display: none;
        }.pricing-details summary::after {
            content: "⌄";
            margin-left: 8px;
            font-size: 14px;
        }.pricing-details[open] summary::after {
            content: "⌃";
        }.gallery-airbnb {
            margin-bottom: 0 !important;
        }.gallery-main img,
        .gallery-side img,
        .gallery-last img {
            box-shadow: 0 10px 24px rgba(82, 52, 40, .08) !important;
        }.gallery-overlay {
            background: rgba(0, 0, 0, .48) !important;
            backdrop-filter: blur(4px);
            -webkit-backdrop-filter: blur(4px);
        }@media (max-width: 768px) {#homeDetailPage {
                padding-bottom: 94px !important;
            }.home-detail-container {
                width: 100% !important;
                padding: 12px 12px 20px !important;
            }.back-btn {
                position: sticky;
                top: 8px;
                z-index: 60;
                min-height: 38px;
                padding: 9px 14px !important;
                margin-bottom: 10px !important;
                border-radius: 999px !important;
                background: rgba(255, 255, 255, .92) !important;
                border: 1px solid rgba(0, 0, 0, .06) !important;
                box-shadow: 0 8px 20px rgba(0, 0, 0, .08) !important;
                backdrop-filter: blur(12px);
                -webkit-backdrop-filter: blur(12px);
                font-size: 13px !important;
            }#coverImage.hero-image {
                aspect-ratio: 4 / 3;
                max-height: none;
                border-radius: 22px !important;
                box-shadow: 0 12px 28px rgba(82, 52, 40, .12) !important;
            }.home-header {
                margin: -18px 8px 14px !important;
                position: relative;
                z-index: 2;
                padding: 16px !important;
                border-radius: 22px !important;
            }.home-header #homeName,
            #homeName {
                font-size: 24px !important;
                line-height: 1.22 !important;
                margin-bottom: 8px !important;
            }.home-header .price,
            .price {
                font-size: 17px !important;
                line-height: 1.35 !important;
            }.room-cta {
                display: grid !important;
                grid-template-columns: 1fr 1fr;
                gap: 8px !important;
                margin-top: 13px !important;
            }.room-cta a {
                min-height: 42px !important;
                padding: 10px 8px !important;
                border-radius: 14px !important;
                font-size: 12.5px !important;
                white-space: nowrap;
            }.room-trust {
                display: block !important;
                width: 100%;
                margin-top: 10px !important;
                padding: 10px 12px !important;
                border-radius: 16px !important;
                font-size: 12.5px !important;
                text-align: left;
            }.detail-layout {
                display: flex !important;
                flex-direction: column !important;
                gap: 12px !important;
            }.detail-sidebar {
                order: 0 !important;
                width: 100% !important;
            }.detail-main {
                order: 1 !important;
                width: 100% !important;
            }#pricingPreview {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 9px !important;
                margin-bottom: 10px !important;
            }.price-preview-card {
                min-height: 74px;
                padding: 11px 10px !important;
                border-radius: 17px !important;
                text-align: left !important;
                display: flex !important;
                flex-direction: column !important;
                justify-content: center !important;
            }.price-preview-label {
                font-size: 11px !important;
                margin-bottom: 4px !important;
            }.price-preview-value {
                font-size: 17px !important;
            }.pricing-details summary {
                min-height: 40px;
                padding: 10px 12px !important;
                font-size: 13px !important;
            }.price-row {
                padding: 11px 0 !important;
            }.price-label,
            .price-value {
                font-size: 13px !important;
            }.detail-main .section {
                padding: 17px !important;
                border-radius: 22px !important;
                margin-bottom: 12px !important;
            }.detail-main .section h2 {
                font-size: 18px !important;
                margin-bottom: 10px !important;
            }.description,
            .home-content {
                font-size: 14.5px !important;
                line-height: 1.78 !important;
            }.amenities {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 9px !important;
            }.amenity-item {
                min-height: 50px !important;
                padding: 11px 10px !important;
                border-radius: 16px !important;
                font-size: 12.8px !important;
            }.gallery-airbnb {
                gap: 9px !important;
            }.gallery-main img {
                height: auto !important;
                aspect-ratio: 4 / 3;
                border-radius: 18px !important;
            }.gallery-side {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 9px !important;
            }.gallery-side img,
            .gallery-last img {
                height: auto !important;
                aspect-ratio: 1 / 1;
                border-radius: 16px !important;
            }.gallery-overlay {
                border-radius: 16px !important;
                font-size: 15px !important;
            }.mobile-price-wrap strong {
                color: #875845 !important;
                font-size: 16px !important;
            }}@media (max-width: 390px) {.home-detail-container {
                padding-left: 10px !important;
                padding-right: 10px !important;
            }.home-header {
                margin-left: 5px !important;
                margin-right: 5px !important;
                padding: 14px !important;
            }.home-header #homeName,
            #homeName {
                font-size: 22px !important;
            }.room-cta a {
                font-size: 12px !important;
                letter-spacing: -.1px;
            }.detail-main .section {
                border-radius: 20px !important;
            }.amenity-item {
                min-height: 48px !important;
                font-size: 12.2px !important;
            }}.room-badge.today-available.combo4,
        .room-badge.combo4 {
            background: linear-gradient(135deg, #ff385c, #d89d79) !important;
            color: #fff !important;
            box-shadow: 0 10px 26px rgba(255, 56, 92, .28) !important;
        }.quick-combo-btn,
        .best-deal-btn {
            border: none;
            cursor: pointer;
            text-decoration: none;
            font-family: inherit;
            border-radius: 999px;
            font-weight: 800;
            line-height: 1;
            transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
            -webkit-tap-highlight-color: transparent;
        }.quick-combo-btn {
            margin-top: 10px;
            padding: 10px 12px;
            min-height: 38px;
            background: #fff;
            color: #875845;
            border: 1px solid rgba(135, 88, 69, .18);
            box-shadow: 0 8px 18px rgba(135, 88, 69, .08);
            font-size: 12px;
        }.quick-combo-btn.primary,
        .best-deal-btn {
            background: linear-gradient(135deg, #ff385c, #d89d79) !important;
            color: #fff !important;
            border-color: transparent !important;
            box-shadow: 0 12px 26px rgba(255, 56, 92, .22) !important;
        }.quick-combo-btn:hover,
        .best-deal-btn:hover {
            transform: translateY(-1px);
            opacity: .94;
        }.package-block.preferred-package {
            background: linear-gradient(180deg, #fff7f3 0%, #ffffff 100%) !important;
            border: 1px solid rgba(255, 56, 92, .22) !important;
            box-shadow: 0 12px 30px rgba(255, 56, 92, .10) !important;
            position: relative;
        }.package-title-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            margin-bottom: 8px;
        }.preferred-label {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 3px 7px;
            border-radius: 999px;
            background: #ff385c;
            color: #fff;
            font-size: 10px;
            font-weight: 900;
            white-space: nowrap;
            box-shadow: 0 6px 14px rgba(255, 56, 92, .18);
        }.package-subcopy {
            margin: 0 0 8px;
            color: #7c5a4d;
            font-size: 11.5px;
            line-height: 1.45;
            font-weight: 600;
        }.best-today-deal {
            display: none;
            margin-top: 12px;
        }.best-today-deal.show {
            display: block;
        }.best-deal-card {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: center;
            gap: 12px;
            padding: 14px;
            border-radius: 22px;
            background: linear-gradient(135deg, #fff7f3, #ffffff);
            border: 1px solid rgba(216, 157, 121, .32);
            box-shadow: 0 12px 30px rgba(135, 88, 69, .10);
        }.best-deal-eyebrow {
            display: inline-flex;
            align-items: center;
            width: fit-content;
            padding: 4px 8px;
            border-radius: 999px;
            background: #ff385c;
            color: #fff;
            font-size: 10.5px;
            font-weight: 900;
            margin-bottom: 8px;
        }.best-deal-title {
            font-size: 16px;
            font-weight: 900;
            color: #111827;
            line-height: 1.25;
        }.best-deal-meta {
            margin-top: 4px;
            color: #6b7280;
            font-size: 12.5px;
            font-weight: 600;
            line-height: 1.45;
        }.best-deal-btn {
            min-height: 42px;
            padding: 12px 15px;
            font-size: 12.5px;
        }.booking-mode-note {
            display: none;
        }@media (max-width: 768px) {.section.suggested-section h2 {
                font-size: 13px !important;
            }.suggest-card {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 9px !important;
                padding: 10px !important;
                border-radius: 20px !important;
            }.package-block {
                padding: 11px !important;
                border-radius: 16px !important;
            }.package-title-row {
                align-items: flex-start;
                flex-direction: column;
                gap: 5px;
            }.package-title {
                font-size: 13px !important;
                margin-bottom: 0 !important;
            }.package-subcopy {
                font-size: 11px;
                margin-bottom: 7px;
            }.package-option {
                width: 100%;
                font-size: 11.5px !important;
                padding: 8px 8px !important;
            }.quick-combo-btn {
                width: 100%;
                min-height: 36px;
                padding: 9px 8px;
                font-size: 11.5px;
            }.room-suggest-row {
                align-items: flex-start !important;
            }.room-quick-book-btn {
                min-height: 29px;
                padding: 7px 9px;
                font-size: 10.5px;
            }.best-deal-card {
                grid-template-columns: 1fr;
                gap: 10px;
                padding: 13px;
                border-radius: 20px;
            }.best-deal-title {
                font-size: 15px;
            }.best-deal-meta {
                font-size: 12px;
            }.best-deal-btn {
                width: 100%;
                min-height: 42px;
                font-size: 12px;
            }}@media (max-width: 390px) {.suggest-card {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 7px !important;
                padding: 8px !important;
            }.package-block {
                padding: 10px 8px !important;
            }.preferred-label {
                font-size: 9.5px;
                padding: 3px 6px;
            }}.room-badge.tomorrow-available {
            background: linear-gradient(135deg, #384152, #111827) !important;
            color: #fff !important;
        }.suggest-fallback-note {
            margin: 0 0 14px;
            padding: 12px 14px;
            border-radius: 16px;
            background: #fff7ed;
            color: #9a3412;
            font-weight: 700;
            line-height: 1.45;
            border: 1px solid #fed7aa;
        }#roomGrid,
        #suggestedPackages,
        .blog-grid,
        .review-grid,
        .gallery-detail {
            content-visibility: auto;
            contain-intrinsic-size: 1px 900px;
        }.room-card,
        .blog-card,
        .review-card,
        .suggest-card,
        .suggest-card-v2 {
            contain: layout paint;
        }html,
        body {
            overscroll-behavior-x: none;
        }.calendar-wrap,
        .room-tabs,
        .tabs {
            -webkit-overflow-scrolling: touch;
            overscroll-behavior-inline: contain;
        }@media (max-width: 768px) {html,
            body {
                scroll-behavior: auto !important;
                overflow-x: hidden !important;
            }.room-card,
            .blog-card,
            .review-card,
            .gallery-detail img,
            .suggest-card,
            .suggest-card-v2 {
                transition-duration: .12s !important;
                will-change: auto !important;
            }.room-card:hover,
            .blog-card:hover,
            .review-card:hover,
            .gallery-detail img:hover,
            .suggest-card:hover,
            .suggest-card-v2:hover {
                transform: none !important;
            }.floating-contact a,
            .floating-social a,
            .phone-btn {
                animation: none !important;
            }}@media (prefers-reduced-motion: reduce) {*,
            *::before,
            *::after {
                animation-duration: .01ms !important;
                animation-iteration-count: 1 !important;
                scroll-behavior: auto !important;
                transition-duration: .01ms !important;
            }}#homeDetailPage {
            overflow-x: clip;
        }#homeDetailPage .home-detail-container,
        #homeDetailPage .detail-layout,
        #homeDetailPage .gallery-airbnb {
            contain: layout paint;
        }#pricingPreview {
            min-height: 76px;
        }#coverImage.hero-image {
            aspect-ratio: 16 / 9;
            background: linear-gradient(110deg, #f5eee8 8%, #fff7f1 18%, #f1e0d7 33%);
            background-size: 200% 100%;
            transition: opacity .2s ease, filter .2s ease;
            will-change: opacity;
        }#coverImage.is-loading {
            opacity: .45;
            filter: blur(8px);
            animation: detailImageShimmer 1.1s linear infinite;
        }#coverImage.is-loaded {
            opacity: 1;
            filter: none;
            animation: none;
        }@keyframes detailImageShimmer {to {
                background-position-x: -200%;
            }}.gallery-loading,
        .price-preview-skeleton {
            min-height: 150px;
            border-radius: 22px;
            background: linear-gradient(110deg, #f7f1ed 8%, #fff 18%, #f2e5dd 33%);
            background-size: 200% 100%;
            animation: detailImageShimmer 1.1s linear infinite;
        }.price-preview-skeleton {
            min-height: 76px;
            border-radius: 18px;
        }.gallery-airbnb img {
            background: #f7f1ed;
        }.home-detail-open .live-activity {
            pointer-events: none;
            z-index: 100040 !important;
        }@media (max-width: 768px) {.home-detail-open .live-activity {
                left: 12px !important;
                right: 12px !important;
                bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
                max-width: none !important;
                font-size: 12px !important;
                line-height: 1.35 !important;
                padding: 11px 13px !important;
                border-radius: 16px !important;
            }.home-detail-open .floating-contact {
                display: none !important;
            }#homeDetailPage .gallery-airbnb {
                grid-template-columns: 1fr !important;
                gap: 10px !important;
            }#homeDetailPage .gallery-main img {
                width: 100% !important;
                height: auto !important;
                aspect-ratio: 4 / 3 !important;
                object-fit: cover !important;
            }#homeDetailPage .gallery-side {
                display: grid !important;
                grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
                grid-template-rows: none !important;
                gap: 8px !important;
            }#homeDetailPage .gallery-side img,
            #homeDetailPage .gallery-last img {
                width: 100% !important;
                height: auto !important;
                aspect-ratio: 1 / 1 !important;
                object-fit: cover !important;
            }#homeDetailPage .section {
                content-visibility: auto;
                contain-intrinsic-size: 1px 220px;
            }}@media (max-width: 520px) {#homeDetailPage .gallery-side {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            }#pricingPreview {
                min-height: 128px;
            }}@media (hover: none) and (pointer: coarse) {.room-card:hover,
            .gallery-detail img:hover,
            .gallery-main img:hover,
            .gallery-side img:hover,
            .room-cta a:hover {
                transform: none !important;
            }}body.home-detail-open {
            overflow-x: hidden !important;
            overscroll-behavior-y: contain;
        }#homeDetailPage .detail-layout {
            align-items: start !important;
        }#homeDetailPage .gallery-airbnb {
            margin-bottom: 0 !important;
            transform: translateZ(0);
        }#homeDetailPage .gallery-airbnb img,
        #coverImage.hero-image {
            backface-visibility: hidden;
            transform: translateZ(0);
        }.home-detail-open .room-card,
        .home-detail-open .blog-card,
        .home-detail-open .review-card,
        .home-detail-open .story-section,
        .home-detail-open .highlights-section {
            content-visibility: hidden;
            contain-intrinsic-size: 1px 1px;
        }@media (max-width: 768px) {body.home-detail-open #homeDetailPage .detail-layout {
                display: flex !important;
                flex-direction: column !important;
            }body.home-detail-open #homeDetailPage .detail-sidebar {
                width: 100% !important;
                max-width: 100% !important;
            }body.home-detail-open #homeDetailPage .detail-main .section,
            body.home-detail-open #homeDetailPage .section {
                content-visibility: visible !important;
                contain-intrinsic-size: auto !important;
                contain: layout paint !important;
                margin-bottom: 18px !important;
            }body.home-detail-open #homeDetailPage .section:last-child {
                margin-bottom: 4px !important;
            }body.home-detail-open #homeDetailPage .gallery-airbnb {
                margin-bottom: 0 !important;
            }}@media (max-width: 520px) {body.home-detail-open #homeDetailPage .home-detail-container {
                padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important;
            }body.home-detail-open #homeDetailPage .gallery-side {
                gap: 7px !important;
            }}body.home-detail-open .story-section,
        body.home-detail-open .highlights-section,
        body.home-detail-open .stats-bar,
        body.home-detail-open #gallery.page,
        body.home-detail-open #homes.page,
        body.home-detail-open #calendarPage.page {
            display: none !important;
            margin: 0 !important;
            padding: 0 !important;
            min-height: 0 !important;
        }body.home-detail-open #homeDetailPage {
            display: block !important;
            margin: 0 !important;
            padding: 0 !important;
            background: linear-gradient(180deg, #fffaf6 0%, #ffffff 42%, #ffffff 100%) !important;
        }body.home-detail-open #homeDetailPage .home-detail-container {
            max-width: 1180px !important;
            width: min(1180px, calc(100% - 32px)) !important;
            padding: 22px 0 0 !important;
            margin: 0 auto !important;
        }body.home-detail-open .back-btn {
            margin: 0 0 14px !important;
            background: rgba(255, 255, 255, .92) !important;
            border: 1px solid rgba(135, 88, 69, .12) !important;
            box-shadow: 0 10px 26px rgba(135, 88, 69, .08) !important;
        }body.home-detail-open #coverImage.hero-image {
            height: clamp(360px, 42vw, 520px) !important;
            max-height: none !important;
            border-radius: 32px !important;
            margin: 0 !important;
            box-shadow: 0 18px 44px rgba(73, 45, 33, .16) !important;
        }body.home-detail-open .home-header {
            position: relative;
            z-index: 2;
            margin: -54px auto 24px !important;
            width: min(980px, calc(100% - 40px));
            padding: 24px 28px !important;
            border-radius: 28px !important;
            background: rgba(255, 255, 255, .95) !important;
            backdrop-filter: blur(14px);
            box-shadow: 0 18px 50px rgba(73, 45, 33, .14) !important;
            border: 1px solid rgba(135, 88, 69, .10);
        }body.home-detail-open #homeName {
            font-size: clamp(28px, 3vw, 42px) !important;
            line-height: 1.12 !important;
            color: #6f4635 !important;
            margin-bottom: 8px !important;
        }body.home-detail-open #price.price {
            font-size: clamp(18px, 2.1vw, 28px) !important;
            color: #d9655b !important;
            margin-bottom: 14px !important;
        }body.home-detail-open .room-cta {
            flex-wrap: wrap !important;
            gap: 10px !important;
            align-items: center !important;
        }body.home-detail-open .room-cta a {
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px !important;
            font-weight: 800 !important;
        }body.home-detail-open .room-trust {
            margin-top: 12px !important;
            color: #7b675f !important;
            line-height: 1.55 !important;
        }body.home-detail-open #homeDetailPage .detail-layout {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) 360px !important;
            gap: 24px !important;
            align-items: start !important;
            margin: 0 !important;
            padding: 0 0 0 !important;
        }body.home-detail-open #homeDetailPage .detail-main {
            min-width: 0 !important;
            display: flex !important;
            flex-direction: column !important;
            gap: 18px !important;
        }body.home-detail-open #homeDetailPage .section {
            margin: 0 !important;
            padding: 22px !important;
            border-radius: 26px !important;
            background: #fff !important;
            border: 1px solid rgba(135, 88, 69, .10) !important;
            box-shadow: 0 14px 36px rgba(73, 45, 33, .07) !important;
            content-visibility: visible !important;
            contain-intrinsic-size: auto !important;
        }body.home-detail-open #homeDetailPage .section h2 {
            margin: 0 0 14px !important;
            color: #6f4635 !important;
        }body.home-detail-open #homeDetailPage .description {
            max-width: none !important;
            color: #53443e !important;
        }body.home-detail-open #homeDetailPage .amenities {
            display: grid !important;
            grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
            gap: 10px !important;
        }body.home-detail-open #homeDetailPage .amenity-item {
            border-radius: 16px !important;
            background: #fff8f4 !important;
            border-color: rgba(135, 88, 69, .12) !important;
        }body.home-detail-open #homeDetailPage .detail-sidebar {
            position: sticky !important;
            top: 104px !important;
            align-self: start !important;
        }body.home-detail-open #homeDetailPage #galleryImages,
        body.home-detail-open #homeDetailPage .gallery-airbnb {
            margin: 0 !important;
            padding: 0 !important;
        }@media (max-width: 1024px) {body.home-detail-open #homeDetailPage .home-detail-container {
                width: min(100% - 24px, 900px) !important;
            }body.home-detail-open #homeDetailPage .detail-layout {
                grid-template-columns: 1fr !important;
                gap: 16px !important;
            }body.home-detail-open #homeDetailPage .detail-sidebar {
                position: static !important;
                order: -1 !important;
            }body.home-detail-open #homeDetailPage .amenities {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            }}@media (max-width: 768px) {body.home-detail-open {
                overscroll-behavior-y: none !important;
            }body.home-detail-open #homeDetailPage .home-detail-container {
                width: 100% !important;
                padding: 10px 10px 0 !important;
            }body.home-detail-open .back-btn {
                margin-left: 2px !important;
            }body.home-detail-open #coverImage.hero-image {
                height: auto !important;
                aspect-ratio: 4 / 3 !important;
                border-radius: 24px !important;
            }body.home-detail-open .home-header {
                width: calc(100% - 16px) !important;
                margin: -32px auto 14px !important;
                padding: 18px !important;
                border-radius: 24px !important;
            }body.home-detail-open #homeName {
                font-size: 27px !important;
            }body.home-detail-open #price.price {
                font-size: 17px !important;
            }body.home-detail-open .room-cta {
                display: grid !important;
                grid-template-columns: 1fr 1fr !important;
            }body.home-detail-open .room-cta a {
                width: 100% !important;
                padding: 11px 12px !important;
                font-size: 13px !important;
            }body.home-detail-open #homeDetailPage .detail-layout {
                gap: 12px !important;
            }body.home-detail-open #homeDetailPage .detail-main {
                gap: 12px !important;
            }body.home-detail-open #homeDetailPage .section {
                padding: 16px !important;
                border-radius: 22px !important;
            }body.home-detail-open #pricingPreview {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            }body.home-detail-open #homeDetailPage .gallery-airbnb {
                gap: 8px !important;
            }body.home-detail-open #homeDetailPage .gallery-side {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            }body.home-detail-open .footer {
                margin-top: 8px !important;
            }}@media (max-width: 390px) {body.home-detail-open #homeDetailPage .amenities,
            body.home-detail-open .room-cta {
                grid-template-columns: 1fr !important;
            }}@media (max-width: 768px) {body {
                touch-action: pan-y;
            }body.home-detail-open #homeDetailPage,
            body.home-detail-open #homeDetailPage * {
                scroll-margin-top: 0 !important;
            }}body.home-detail-open #homeDetailPage .home-detail-container {
            padding-bottom: 28px !important;
        }body.home-detail-open #homeDetailPage .detail-layout {
            padding-bottom: 0 !important;
            margin-bottom: 0 !important;
        }body.home-detail-open #homeDetailPage .detail-main .section:last-child {
            margin-bottom: 0 !important;
        }body.home-detail-open .footer {
            margin-top: 0 !important;
        }@media (max-width: 1024px) {body.home-detail-open #homeDetailPage .home-detail-container {
                padding-bottom: 22px !important;
            }}@media (max-width: 768px) {body.home-detail-open #homeDetailPage .home-detail-container {
                padding-bottom: 16px !important;
            }body.home-detail-open #homeDetailPage .detail-main .section:last-child {
                padding-bottom: 16px !important;
            }}html.calendar-route:not(.app-ready) #homes {
            display: none !important;
        }html.calendar-route:not(.app-ready) #calendarPage {
            display: block !important;
        }html.calendar-route:not(.app-ready) #homesTab {
            background: #fff !important;
            color: #59473e !important;
        }html.calendar-route:not(.app-ready) #calendarTab {
            background: linear-gradient(135deg, var(--brand-brown, #875845), var(--brand-terracotta, #d89d79)) !important;
            color: #fff !important;
            box-shadow: 0 10px 22px rgba(135, 88, 69, .18) !important;
        }html.calendar-route:not(.app-ready) #suggestedPackages,
        html.calendar-route:not(.app-ready) #roomTabs,
        html.calendar-route:not(.app-ready) #calendar {
            display: none !important;
        }.calendar-loading-panel {
            display: none;
            align-items: center;
            justify-content: center;
            min-height: 360px;
            margin: 10px 0 18px;
            border-radius: 26px;
            background: radial-gradient(circle at top left, rgba(216, 157, 121, .16), transparent 34%),
                linear-gradient(135deg, rgba(255, 252, 248, .96), rgba(255, 255, 255, .90));
            border: 1px solid rgba(216, 157, 121, .18);
            box-shadow: 0 18px 48px rgba(84, 55, 38, .08);
            backdrop-filter: blur(12px);
        }html.calendar-route:not(.app-ready) .calendar-loading-panel,
        body.calendar-loading .calendar-loading-panel {
            display: flex;
        }body.calendar-loading #calendarPage .suggested-section,
        body.calendar-loading #calendarPage .room-tabs,
        body.calendar-loading #calendarPage .calendar-wrap {
            display: none !important;
        }.calendar-loading-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 14px;
            padding: 26px;
            color: #6b5147;
        }.calendar-loading-icon {
            width: 68px;
            height: 68px;
            border-radius: 24px;
            display: grid;
            place-items: center;
            background: linear-gradient(135deg, rgba(216, 157, 121, .24), rgba(135, 88, 69, .14));
            color: #875845;
            font-size: 28px;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65);
            animation: calendarLoaderFloat 1.8s ease-in-out infinite;
        }.calendar-loading-title {
            font-size: 18px;
            font-weight: 800;
            color: #3f332e;
            letter-spacing: -.25px;
        }.calendar-loading-text {
            max-width: 360px;
            margin: 0;
            color: #8a766b;
            font-size: 14px;
            line-height: 1.55;
        }.calendar-loading-dots {
            display: flex;
            gap: 7px;
            margin-top: 2px;
        }.calendar-loading-dots span {
            width: 8px;
            height: 8px;
            border-radius: 999px;
            background: rgba(216, 157, 121, .72);
            animation: calendarLoaderDot 1s ease-in-out infinite;
        }.calendar-loading-dots span:nth-child(2) {
            animation-delay: .13s;
        }.calendar-loading-dots span:nth-child(3) {
            animation-delay: .26s;
        }@keyframes calendarLoaderFloat {0%,
            100% {
                transform: translateY(0);
            }50% {
                transform: translateY(-5px);
            }}@keyframes calendarLoaderDot {0%,
            100% {
                transform: translateY(0);
                opacity: .45;
            }50% {
                transform: translateY(-4px);
                opacity: 1;
            }}@media (max-width: 768px) {.calendar-loading-panel {
                min-height: 280px;
                border-radius: 22px;
            }.calendar-loading-card {
                padding: 22px 18px;
            }.calendar-loading-icon {
                width: 58px;
                height: 58px;
                border-radius: 20px;
                font-size: 24px;
            }.calendar-loading-title {
                font-size: 16px;
            }.calendar-loading-text {
                font-size: 13px;
            }}.calendar-wrap {
            overscroll-behavior: auto;
        }@media (min-width: 769px) {.calendar-wrap {
                overflow-x: auto !important;
                overflow-y: visible !important;
                overscroll-behavior-x: contain;
                overscroll-behavior-y: auto;
            }.calendar-wrap:hover {
                cursor: default;
            }}.calendar-legend {
            display: flex;
            align-items: center;
            gap: 10px 14px;
            margin-bottom: 14px;
            flex-wrap: wrap;
        }.legend-item {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 7px 10px;
            border-radius: 999px;
            background: rgba(255, 255, 255, .68);
            border: 1px solid rgba(130, 104, 88, .10);
            font-weight: 700;
            box-shadow: 0 8px 20px rgba(83, 58, 44, .035);
            backdrop-filter: blur(10px);
        }.legend {
            width: 12px;
            height: 12px;
            border-radius: 999px;
            box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .035);
        }.calendar-hint {
            margin: 0 0 14px;
            padding: 12px 14px;
            border-radius: 18px;
            background: linear-gradient(135deg, rgba(255, 250, 246, .96), rgba(255, 255, 255, .82));
            border: 1px solid rgba(216, 157, 121, .20);
            color: #6b5147;
            font-size: 14px;
            line-height: 1.6;
            box-shadow: 0 10px 26px rgba(90, 58, 40, .05);
        }.availability-grid {
            grid-template-columns: 74px repeat(var(--calendar-day-count, 7), minmax(0, 1fr));
            gap: 1px;
            background: rgba(227, 216, 207, .55);
            border: 1px solid rgba(222, 207, 195, .72);
            border-radius: 18px;
            overflow: hidden;
            box-shadow: 0 14px 36px rgba(82, 55, 42, .045);
        }.sticky-corner,
        .day-header,
        .hour-cell,
        .slot-cell {
            border: 0 !important;
        }.sticky-corner {
            background: #fffdfb;
            z-index: 35;
        }.day-header {
            background: #fffdfb;
            color: #57473f;
            padding: 12px 6px;
            border-bottom: 0 !important;
        }.day-header.today {
            background: linear-gradient(135deg, #d89d79, #875845);
            color: #fff;
            border-radius: 0;
        }.day-header.selected:not(.today) {
            background: #fff5ee;
            color: #875845;
        }.hour-cell {
            flex-direction: column;
            gap: 0;
            line-height: 1;
            color: #7a675d;
            background: #fffdfb;
            min-height: 42px;
            box-shadow: inset -1px 0 0 rgba(120, 90, 75, .06);
        }.hour-cell strong {
            font-size: 13px;
            color: #3f332e;
            letter-spacing: -.15px;
        }.hour-cell small {
            display: none;
        }.slot-cell {
            position: relative;
            min-height: 42px;
            padding: 4px 3px;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
        }.slot-cell::before {
            content: "";
            position: absolute;
            inset: 4px;
            border-radius: 12px;
            pointer-events: none;
            opacity: .98;
            transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
        }.booked-cell:hover::before {
            transform: translateY(-1px);
            box-shadow: 0 8px 18px rgba(80, 48, 30, .08), inset 0 1px 0 rgba(255, 255, 255, .48);
        }@media (max-width: 768px) {.calendar-legend {
                gap: 8px;
                margin-bottom: 10px;
            }.legend-item {
                padding: 6px 8px;
                font-size: 11px;
            }.availability-grid {
                grid-template-columns: 56px repeat(var(--calendar-day-count, 7), minmax(42px, 1fr)) !important;
                min-width: 0 !important;
                width: 100% !important;
                border-radius: 16px;
            }.sticky-corner,
            .hour-cell {
                width: 56px !important;
                min-width: 56px !important;
            }.hour-cell strong {
                font-size: 10px;
            }.hour-cell small {
                display: none;
            }.slot-cell {
                min-height: 42px;
                padding: 3px 1px;
            }.slot-cell::before {
                inset: 3px;
                border-radius: 10px;
            }}@media (max-width: 420px) {.availability-grid {
                grid-template-columns: 50px repeat(var(--calendar-day-count, 7), minmax(38px, 1fr)) !important;
            }.sticky-corner,
            .hour-cell {
                width: 50px !important;
                min-width: 50px !important;
            }.slot-cell {
                padding: 2px 1px;
            }}:root {
            --calendar-free-bg: rgba(253, 255, 254, .30);
            --calendar-free-block: rgba(178, 232, 194, .075);
            --calendar-free-border: rgba(96, 178, 122, .045);
            --calendar-free-hover: rgba(241, 253, 245, .36);
            --calendar-booked-bg: rgba(255, 244, 243, .82);
            --calendar-booked-block: linear-gradient(135deg, rgba(248, 126, 118, .46), rgba(230, 78, 73, .40));
            --calendar-booked-border: rgba(205, 62, 58, .24);
        }.legend.free {
            background: var(--calendar-free-block) !important;
            border: 1px solid var(--calendar-free-border) !important;
        }.legend.booked {
            background: var(--calendar-booked-block) !important;
            border: 1px solid var(--calendar-booked-border) !important;
        }.free-cell {
            background: var(--calendar-free-bg) !important;
            color: transparent !important;
            font-size: 0 !important;
        }.free-cell::before {
            background: var(--calendar-free-block) !important;
            border: 1px solid var(--calendar-free-border) !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .52) !important;
        }.free-cell:hover {
            background: var(--calendar-free-hover) !important;
        }.booked-cell {
            background: var(--calendar-booked-bg) !important;
            color: transparent !important;
            font-size: 0 !important;
        }.booked-cell::before {
            background: var(--calendar-booked-block) !important;
            border: 1px solid var(--calendar-booked-border) !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .50) !important;
        }:root {
            --brand-brown: #875845;
            --brand-brown-dark: #6f4738;
            --brand-terracotta: #d89d79;
            --brand-cream: #fff8f1;
            --brand-soft: #f7efe9;
            --brand-rose: #c8a0a8;
            --brand-shadow: rgba(87, 53, 38, .12);
        }.site-header {
            position: sticky;
            top: 0;
            z-index: 9999;
            -webkit-backdrop-filter: blur(18px) saturate(1.15);
        }.header-inner {
            height: 80px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: 22px !important;
            padding-top: 0 !important;
            padding-bottom: 0 !important;
        }.logo-wrap {
            flex: 0 0 auto;
            margin-right: 0 !important;
            display: inline-flex !important;
            align-items: center !important;
            gap: 12px !important;
            padding: 7px 16px 7px 7px !important;
            border-radius: 999px !important;
            text-decoration: none !important;
            color: inherit !important;
            background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(255, 248, 241, .94)) !important;
            border: 1px solid rgba(135, 88, 69, .13) !important;
            box-shadow: 0 10px 26px rgba(87, 53, 38, .08) !important;
            transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease !important;
        }.logo-wrap:hover {
            opacity: 1 !important;
            transform: translateY(-2px) !important;
            border-color: rgba(135, 88, 69, .22) !important;
            box-shadow: 0 14px 34px rgba(87, 53, 38, .13) !important;
        }.logo-mark {
            width: 52px;
            height: 52px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: #fff;
            box-shadow: inset 0 0 0 1px rgba(135, 88, 69, .10),
                0 8px 18px rgba(87, 53, 38, .08);
        }.logo-wrap img {
            width: 44px !important;
            height: 44px !important;
            padding: 0 !important;
            border-radius: 50% !important;
            object-fit: contain !important;
            background: transparent !important;
            box-shadow: none !important;
            transition: transform .24s ease !important;
        }.logo-wrap:hover img {
            transform: rotate(-3deg) scale(1.045) !important;
        }.logo-text {
            display: flex !important;
            flex-direction: column !important;
            justify-content: center !important;
            line-height: 1.05 !important;
            font-size: initial !important;
            min-width: 0;
        }.logo-text strong {
            font-size: 23px !important;
            font-weight: 800 !important;
            letter-spacing: -.65px !important;
            color: var(--brand-brown) !important;
            line-height: 1 !important;
            white-space: nowrap;
        }.logo-text span {
            margin-top: 5px !important;
            font-size: 10.5px !important;
            font-weight: 700 !important;
            letter-spacing: .45px !important;
            color: #9a7566 !important;
            text-transform: uppercase !important;
            white-space: nowrap;
        }.main-menu {
            flex: 1 1 auto;
            min-width: 0;
            display: flex !important;
            align-items: center !important;
            gap: 8px !important;
            padding: 7px !important;
            border-radius: 999px !important;
            background: rgba(255, 255, 255, .62) !important;
            border: 1px solid rgba(135, 88, 69, .10) !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75) !important;
        }.header-inner .main-menu a {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 7px !important;
            min-height: 40px !important;
            padding: 0 15px !important;
            border-radius: 999px !important;
            text-decoration: none !important;
            color: #6b5148 !important;
            font-size: 15px !important;
            font-weight: 800 !important;
            line-height: 1 !important;
            letter-spacing: -.15px !important;
            background: transparent !important;
            transition: transform .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease !important;
        }.header-inner .main-menu a:hover {
            background: rgba(216, 157, 121, .17) !important;
            transform: translateY(-1px) !important;
            box-shadow: 0 8px 18px rgba(87, 53, 38, .07) !important;
        }.header-inner .main-menu a .menu-ico {
            font-size: 16px;
            line-height: 1;
            filter: saturate(1.05);
        }.home-route:not(.contact-route) #menuHomes,
        .calendar-route:not(.contact-route) #menuCalendar,
        .about-route:not(.contact-route) #menuAbout,
        .gift-basket-route:not(.contact-route) #menuGiftBasket,
        .contact-route #menuContact,
        .header-inner .main-menu a.is-active {
            color: #fff !important;
            background: linear-gradient(135deg, var(--brand-brown), var(--brand-terracotta)) !important;
            box-shadow: 0 10px 22px rgba(135, 88, 69, .20) !important;
        }.call-btn {
            flex: 0 0 auto;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 8px !important;
            min-height: 44px !important;
            padding: 0 18px !important;
            border-radius: 999px !important;
            background: linear-gradient(135deg, #0084ff, #6f7cff) !important;
            color: #fff !important;
            text-decoration: none !important;
            font-size: 14px !important;
            font-weight: 800 !important;
            white-space: nowrap !important;
            box-shadow: 0 12px 26px rgba(0, 132, 255, .22) !important;
            transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
        }.call-btn i {
            font-size: 18px;
            line-height: 1;
        }.call-btn:hover {
            transform: translateY(-2px) !important;
            filter: brightness(1.03) !important;
            box-shadow: 0 16px 32px rgba(0, 132, 255, .28) !important;
        }.container>.tabs {
            width: fit-content;
            max-width: 100%;
            margin: 30px auto !important;
            padding: 8px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 8px !important;
            border-radius: 999px !important;
            background: rgba(255, 255, 255, .72) !important;
            border: 1px solid rgba(135, 88, 69, .10) !important;
            box-shadow: 0 12px 30px rgba(87, 53, 38, .07) !important;
        }.container>.tabs .tab {
            position: relative;
            border: 0 !important;
            border-radius: 999px !important;
            padding: 12px 20px !important;
            background: transparent !important;
            color: #6b5148 !important;
            font-size: 15px !important;
            font-weight: 800 !important;
            letter-spacing: -.15px !important;
            white-space: nowrap !important;
            box-shadow: none !important;
            transition: transform .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease !important;
        }.container>.tabs .tab:hover {
            transform: translateY(-1px);
            background: rgba(216, 157, 121, .15) !important;
            color: var(--brand-brown) !important;
        }.container>.tabs .tab.active {
            color: #fff !important;
            background: linear-gradient(135deg, var(--brand-brown), var(--brand-terracotta)) !important;
            box-shadow: 0 10px 22px rgba(135, 88, 69, .18) !important;
        }@media (min-width: 769px) and (max-width: 1100px) {.header-inner {
                height: 76px !important;
                gap: 14px !important;
                padding-left: 22px !important;
                padding-right: 22px !important;
            }.logo-wrap {
                padding-right: 12px !important;
                gap: 10px !important;
            }.logo-mark {
                width: 48px;
                height: 48px;
            }.logo-wrap img {
                width: 40px !important;
                height: 40px !important;
            }.logo-text strong {
                font-size: 21px !important;
            }.logo-text span {
                font-size: 9.5px !important;
            }.main-menu {
                gap: 5px !important;
                padding: 6px !important;
            }.header-inner .main-menu a {
                min-height: 38px !important;
                padding: 0 12px !important;
                font-size: 14px !important;
            }.call-btn {
                min-height: 40px !important;
                padding: 0 14px !important;
                font-size: 13px !important;
            }}@media (max-width: 768px) {.site-header {
                background: rgba(255, 250, 245, .94) !important;
            }.header-inner {
                height: auto !important;
                padding: 10px 14px 11px !important;
                flex-direction: column !important;
                align-items: stretch !important;
                justify-content: center !important;
                gap: 10px !important;
            }.logo-wrap {
                align-self: center !important;
                padding: 6px 13px 6px 6px !important;
                gap: 10px !important;
            }.logo-mark {
                width: 44px;
                height: 44px;
            }.logo-wrap img {
                width: 37px !important;
                height: 37px !important;
            }.logo-text strong {
                font-size: 20px !important;
            }.logo-text span {
                font-size: 9.5px !important;
                margin-top: 4px !important;
            }.main-menu {
                width: 100% !important;
                justify-content: flex-start !important;
                overflow-x: auto !important;
                overflow-y: hidden !important;
                gap: 8px !important;
                padding: 2px 2px 4px !important;
                background: transparent !important;
                border: none !important;
                box-shadow: none !important;
                scrollbar-width: none;
                -webkit-overflow-scrolling: touch;
            }.main-menu::-webkit-scrollbar {
                display: none;
            }.header-inner .main-menu a {
                flex: 0 0 auto !important;
                min-height: 38px !important;
                padding: 0 13px !important;
                font-size: 13px !important;
                background: rgba(255, 255, 255, .82) !important;
                border: 1px solid rgba(135, 88, 69, .10) !important;
                box-shadow: 0 6px 16px rgba(87, 53, 38, .06) !important;
            }.home-route:not(.contact-route) #menuHomes,
            .calendar-route:not(.contact-route) #menuCalendar,
            .about-route:not(.contact-route) #menuAbout,
            .gift-basket-route:not(.contact-route) #menuGiftBasket,
            .contact-route #menuContact,
            .header-inner .main-menu a.is-active {
                border-color: transparent !important;
            }.call-btn {
                display: none !important;
            }.container>.tabs {
                width: 100%;
                margin: 20px 0 24px !important;
                justify-content: flex-start !important;
                overflow-x: auto !important;
                overflow-y: hidden !important;
                padding: 6px !important;
                border-radius: 22px !important;
                scrollbar-width: none;
                -webkit-overflow-scrolling: touch;
            }.container>.tabs::-webkit-scrollbar {
                display: none;
            }.container>.tabs .tab {
                flex: 0 0 auto;
                padding: 11px 15px !important;
                font-size: 13px !important;
            }}@media (max-width: 390px) {.logo-text span {
                display: none !important;
            }.logo-text strong {
                font-size: 20px !important;
            }.header-inner .main-menu a {
                padding: 0 11px !important;
                font-size: 12.5px !important;
            }.container>.tabs .tab {
                padding: 10px 13px !important;
            }}.header-inner .main-menu a {
            flex-direction: row !important;
            white-space: nowrap !important;
            text-align: center !important;
        }.header-inner .main-menu a span,
        .header-inner .main-menu a .menu-ico {
            display: inline-flex !important;
        }.website-booking-modal {
            position: fixed;
            inset: 0;
            z-index: 1000000;
            display: none;
        }.website-booking-modal.show {
            display: flex;
        }.website-booking-panel {
            position: relative;
        }.website-booking-head {
            position: sticky;
            top: 0;
            z-index: 2;
            padding: 18px 20px 14px;
            display: flex;
            justify-content: space-between;
            gap: 14px;
            align-items: flex-start;
        }.website-booking-head h3 {
            margin: 0;
        }.website-booking-head p {
            margin: 4px 0 0;
            font-size: 13px;
            line-height: 1.5;
        }.website-booking-close {
            box-sizing: border-box !important;
            display: grid !important;
            place-items: center !important;
            flex: 0 0 38px !important;
            width: 38px !important;
            min-width: 38px !important;
            max-width: 38px !important;
            height: 38px !important;
            min-height: 38px !important;
            max-height: 38px !important;
            aspect-ratio: 1 / 1 !important;
            margin: 0 !important;
            padding: 0 0 2px !important;
            border: 0 !important;
            border-radius: 999px !important;
            background: #fff1e9 !important;
            color: var(--h3cn-brown) !important;
            font-family: Arial, Helvetica, sans-serif !important;
            font-size: 24px !important;
            font-weight: 400 !important;
            line-height: 1 !important;
            text-align: center !important;
            cursor: pointer !important;
            -webkit-appearance: none !important;
            appearance: none !important;
            transition: transform .2s ease, background .2s ease, box-shadow .2s ease !important;
        }.website-booking-close:hover {
            transform: rotate(5deg) scale(1.04);
            background: #ffe5d6 !important;
        }.website-booking-close:focus-visible {
            outline: 3px solid rgba(255, 56, 92, .24) !important;
            outline-offset: 2px !important;
        }.website-booking-close:active {
            transform: scale(.96);
        }.website-booking-body {
            padding: 18px 20px 22px;
        }.booking-summary-card,
        .payment-result-card {
            border: 1px solid rgba(216, 157, 121, .25);
            border-radius: 20px;
            padding: 14px;
            margin-bottom: 14px;
        }.booking-summary-row {
            display: flex;
            justify-content: space-between;
            gap: 12px;
            padding: 8px 0;
            border-bottom: 1px solid rgba(216, 157, 121, .16);
            font-size: 13px;
        }.booking-summary-row:last-child {
            border-bottom: 0;
        }.booking-summary-row strong {
            text-align: right;
        }.website-booking-form {
            display: grid;
            gap: 12px;
        }.website-booking-form label {
            display: grid;
            gap: 7px;
            font-size: 13px;
            font-weight: 700;
            color: #374151;
        }.website-booking-form input,
        .website-booking-form textarea {
            border: 1px solid #eaded7;
            padding: 13px 14px;
            font: inherit;
            outline: none;
        }.website-booking-form textarea {
            min-height: 78px;
            resize: vertical;
        }.website-booking-actions {
            display: grid;
            gap: 10px;
            margin-top: 4px;
        }.website-booking-submit,
        .website-booking-secondary {
            min-height: 48px;
            border: 0;
            border-radius: 999px;
            font: inherit;
            font-weight: 800;
            cursor: pointer;
        }.website-booking-submit {
            color: #fff;
        }.website-booking-submit:disabled {
            opacity: .65;
            cursor: wait;
        }.website-booking-secondary {
            text-decoration: none;
            display: flex;
            align-items: center;
            justify-content: center;
        }.website-booking-message {
            margin-top: 10px;
            font-size: 13px;
            line-height: 1.55;
            color: #6b7280;
        }.website-booking-message.error {
            color: #b42318;
        }.payment-code-box {
            width: 100%;
            display: grid;
            gap: 6px;
            margin-top: 10px;
        }.payment-code-box code {
            display: block;
            padding: 12px;
            color: #fff;
            text-align: center;
            font-weight: 800;
            letter-spacing: .5px;
            user-select: all;
        }.payment-status-pill {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 34px;
            padding: 7px 12px;
            border-radius: 999px;
            font-size: 13px;
            font-weight: 800;
        }.booking-copy-btn {
            border: 0;
            border-radius: 999px;
            min-height: 38px;
            padding: 8px 12px;
            color: #fff;
            font-weight: 800;
            cursor: pointer;
        }@media (max-width: 520px) {.website-booking-modal {
                padding: 8px;
                align-items: flex-end;
            }.website-booking-panel {
                border-radius: 24px 24px 0 0;
                max-height: 94vh;
            }.website-booking-head {
                padding: 16px;
            }.website-booking-body {
                padding: 16px;
            }}.no-package {
            text-align: center;
        }@media (max-width: 768px) {.no-package {
                padding: 14px 12px;
                border-radius: 16px;
                font-size: 14px;
            }}.page,
        .calendar-wrap,
        .room-card {
            color-scheme: light;
        }.no-package {
            padding: 12px 14px !important;
            border-radius: 16px !important;
            background: #f9fafb !important;
            color: #6b7280 !important;
            border: 1px solid #eef2f7 !important;
            font-size: 13px !important;
            font-weight: 600 !important;
            box-shadow: none !important;
        }.website-booking-panel,
        .booking-summary-card,
        .payment-result-card {
            background: #fff !important;
        }.room-slot-row {
            position: relative !important;
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: 10px !important;
            margin-top: 14px !important;
            padding: 11px 13px !important;
            border-radius: 18px !important;
            background: linear-gradient(135deg, #f2fff7 0%, #fffaf4 100%) !important;
            border: 1px solid rgba(34, 197, 94, .18) !important;
            box-shadow: 0 8px 22px rgba(45, 30, 20, .055) !important;
            overflow: hidden !important;
        }.room-slot-row::before {
            content: "";
            position: absolute;
            left: 0;
            top: 10px;
            bottom: 10px;
            width: 4px;
            border-radius: 999px;
            background: linear-gradient(180deg, #22c55e, #d89d79);
        }.room-slot-text {
            min-width: 0 !important;
            display: block !important;
            color: #24513a !important;
            font-size: 12.5px !important;
            font-weight: 800 !important;
            line-height: 1.45 !important;
            letter-spacing: -.15px !important;
            white-space: normal !important;
            overflow: visible !important;
            text-overflow: clip !important;
        }.room-status-inline {
            flex: 0 0 auto !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            min-height: 26px !important;
            padding: 6px 10px !important;
            border-radius: 999px !important;
            font-size: 10.5px !important;
            font-weight: 900 !important;
            letter-spacing: -.1px !important;
            border: 1px solid transparent !important;
            box-shadow: 0 6px 14px rgba(0, 0, 0, .045) !important;
        }.room-status-inline.warn {
            background: #fff7ed !important;
            color: #c05621 !important;
            border-color: #fed7aa !important;
        }.room-status-inline.full {
            background: #fff1f2 !important;
            color: #be123c !important;
            border-color: #fecdd3 !important;
        }.room-suggest-row {
            position: relative !important;
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: 12px !important;
            flex-wrap: nowrap !important;
            margin-top: 10px !important;
            padding: 12px 12px 12px 14px !important;
            border-radius: 18px !important;
            background: linear-gradient(135deg, #fff1f2 0%, #fff8f1 55%, #ffffff 100%) !important;
            border: 1px solid rgba(255, 56, 92, .16) !important;
            box-shadow: 0 10px 24px rgba(255, 56, 92, .075) !important;
            color: #9f1239 !important;
            overflow: hidden !important;
        }.room-suggest-row::before {
            content: "";
            position: absolute;
            inset: 0 auto 0 0;
            width: 4px;
            background: linear-gradient(180deg, #ff385c, #d89d79);
            border-radius: 999px;
        }.room-suggest-text {
            min-width: 0 !important;
            flex: 1 1 auto !important;
            display: block !important;
            color: #9f1239 !important;
            font-size: 12.5px !important;
            font-weight: 900 !important;
            line-height: 1.45 !important;
            letter-spacing: -.15px !important;
            white-space: normal !important;
        }.room-quick-book-btn {
            flex: 0 0 auto !important;
            min-height: 34px !important;
            padding: 9px 13px !important;
            border: 0 !important;
            border-radius: 999px !important;
            background: linear-gradient(135deg, #ff385c 0%, #d89d79 100%) !important;
            color: #fff !important;
            font-size: 11.5px !important;
            font-weight: 900 !important;
            line-height: 1 !important;
            letter-spacing: -.1px !important;
            cursor: pointer !important;
            white-space: nowrap !important;
            box-shadow: 0 10px 22px rgba(255, 56, 92, .22) !important;
            transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease !important;
            -webkit-tap-highlight-color: transparent !important;
        }.room-quick-book-btn:hover {
            transform: translateY(-1px) !important;
            box-shadow: 0 13px 26px rgba(255, 56, 92, .28) !important;
            opacity: .96 !important;
        }.room-quick-book-btn:active {
            transform: translateY(0) scale(.98) !important;
        }.room-suggest-row.tomorrow {
            background: linear-gradient(135deg, #f8fafc 0%, #fffaf4 100%) !important;
            border-color: rgba(17, 24, 39, .12) !important;
            box-shadow: 0 10px 24px rgba(17, 24, 39, .06) !important;
            color: #334155 !important;
        }.room-suggest-row.tomorrow::before {
            background: linear-gradient(180deg, #475569, #d89d79) !important;
        }.room-suggest-row.tomorrow .room-suggest-text {
            color: #334155 !important;
        }@media (max-width: 992px) {.room-slot-row,
            .room-suggest-row {
                border-radius: 16px !important;
                padding: 10px 11px 10px 13px !important;
            }.room-slot-text,
            .room-suggest-text {
                font-size: 12px !important;
            }.room-quick-book-btn {
                min-height: 33px !important;
                padding: 9px 12px !important;
                font-size: 11px !important;
            }}@media (max-width: 520px) {.room-slot-row {
                align-items: flex-start !important;
                flex-direction: column !important;
                gap: 8px !important;
            }.room-status-inline {
                align-self: flex-start !important;
            }.room-suggest-row {
                align-items: stretch !important;
                flex-direction: column !important;
                gap: 9px !important;
                padding: 12px 12px 12px 14px !important;
            }.room-quick-book-btn {
                width: 100% !important;
                min-height: 38px !important;
                font-size: 12px !important;
            }}:root {
            --ui-brown: #875845;
            --ui-brown-dark: #6f4738;
            --ui-terracotta: #d89d79;
            --ui-cream: #fff8f1;
            --ui-paper: rgba(255, 255, 255, .92);
            --ui-line: rgba(135, 88, 69, .12);
            --ui-shadow: 0 18px 45px rgba(87, 53, 38, .10);
            --ui-soft-shadow: 0 10px 28px rgba(87, 53, 38, .075);
        }html {
            scroll-padding-top: 104px;
        }::selection {
            background: rgba(216, 157, 121, .34);
            color: #2f211b;
        }.section-heading,
        .section-header,
        .home-header {
            position: relative;
        }.section-heading h2,
        .section-header h2,
        .section h2,
        .story-header h2 {
            color: #2f211b !important;
            letter-spacing: -.55px;
        }.section-heading h2::after,
        .section-header h2::after,
        .story-header h2::after {
            content: "";
            display: block;
            width: 54px;
            height: 4px;
            margin-top: 10px;
            border-radius: 999px;
            background: linear-gradient(90deg, var(--ui-brown), var(--ui-terracotta));
        }.section-header h2::after {
            margin-left: auto;
            margin-right: auto;
        }.section-header p,
        .section-heading p {
            color: #7b665d !important;
        }.room-card,
        .blog-card,
        .review-card,
        .calendar-wrap,
        .today-deal-box,
        .deal-card,
        .suggest-card-v2 {
            border: 1px solid var(--ui-line) !important;
            box-shadow: var(--ui-soft-shadow) !important;
        }.room-card {
            border-radius: 28px !important;
            overflow: hidden !important;
        }.room-card:hover {
            transform: translateY(-5px) !important;
        }.room-image-wrap::after,
        .gallery-main::after {
            content: "";
            position: absolute;
            inset: auto 0 0 0;
            height: 42%;
            pointer-events: none;
            background: linear-gradient(to top, rgba(0, 0, 0, .28), transparent);
            opacity: .7;
        }.room-image-wrap,
        .gallery-main {
            position: relative;
        }.room-title {
            color: #251a16 !important;
        }.room-location {
            color: #7b665d !important;
        }.room-features span,
        .amenity,
        .amenity-item {
            background: linear-gradient(135deg, #fff, #fff8f1) !important;
            border: 1px solid rgba(135, 88, 69, .10) !important;
            color: #60463d !important;
            box-shadow: 0 6px 16px rgba(87, 53, 38, .045) !important;
        }.room-btn,
        .deal-btn {
            background: linear-gradient(135deg, #251a16, var(--ui-brown)) !important;
            box-shadow: 0 10px 22px rgba(87, 53, 38, .16) !important;
        }.room-btn:hover,
        .deal-btn:hover {
            filter: brightness(1.04);
            box-shadow: 0 14px 30px rgba(87, 53, 38, .20) !important;
        }.calendar-wrap {
            background: rgba(255, 255, 255, .92) !important;
            border-radius: 26px !important;
            backdrop-filter: blur(12px);
        }.calendar-legend {
            padding: 10px 12px;
            border-radius: 18px;
            background: rgba(255, 248, 241, .72);
            border: 1px solid rgba(135, 88, 69, .09);
        }.legend-item {
            color: #60463d !important;
            font-size: 13px;
        }.room-tabs {
            gap: 8px !important;
        }.room-tab {
            background: rgba(255, 255, 255, .86) !important;
            border: 1px solid rgba(135, 88, 69, .10) !important;
            color: #6b5148 !important;
            box-shadow: 0 6px 16px rgba(87, 53, 38, .045) !important;
            font-weight: 800 !important;
        }.room-tab.active {
            color: #fff !important;
            background: linear-gradient(135deg, var(--ui-brown), var(--ui-terracotta)) !important;
            border-color: transparent !important;
            box-shadow: 0 10px 22px rgba(135, 88, 69, .18) !important;
        }.blog-card,
        .review-card {
            border-radius: 26px !important;
            background: rgba(255, 255, 255, .94) !important;
        }.blog-title,
        .review-name {
            color: #2f211b !important;
        }.blog-text,
        .review-text {
            color: #6b5a52 !important;
        }.review-avatar {
            padding: 2px;
            background: linear-gradient(135deg, var(--ui-terracotta), #fb7185);
        }.floating-social a {
            border: 1px solid rgba(255, 255, 255, .58) !important;
            box-shadow: 0 12px 30px rgba(37, 26, 22, .15) !important;
        }.live-activity {
            left: 18px !important;
            bottom: 18px !important;
            border-radius: 20px !important;
            background: rgba(47, 33, 27, .92) !important;
            border: 1px solid rgba(255, 255, 255, .12) !important;
            box-shadow: 0 18px 45px rgba(37, 26, 22, .22) !important;
            font-size: 13px;
            line-height: 1.45;
        }.faq-floating {
            position: fixed !important;
        }.faq-toggle {
            position: fixed !important;
            width: auto !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            animation: aiFloat 3.2s ease-in-out infinite !important;
            transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
            -webkit-tap-highlight-color: transparent !important;
        }.faq-toggle::after {
            line-height: 1;
        }.faq-toggle:hover {
            filter: brightness(1.03) !important;
        }.faq-toggle:active {
            transform: translateY(-1px) scale(.98) !important;
        }.ai-icon {
            flex: 0 0 auto;
        }.ai-ping {
            width: 10px !important;
            height: 10px !important;
        }.faq-box {
            position: fixed !important;
            left: 18px !important;
            bottom: 156px !important;
            width: min(390px, calc(100vw - 36px)) !important;
            max-height: min(76vh, 680px) !important;
            display: flex !important;
            flex-direction: column !important;
            overflow: hidden !important;
            border-radius: 30px !important;
            background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 250, 246, .96)) !important;
            border: 1px solid rgba(135, 88, 69, .14) !important;
            box-shadow: 0 28px 80px rgba(37, 26, 22, .24),
                inset 0 1px 0 rgba(255, 255, 255, .88) !important;
            backdrop-filter: blur(18px) !important;
            opacity: 0 !important;
            visibility: hidden !important;
            transform-origin: left bottom !important;
            transition: opacity .24s ease, visibility .24s ease, transform .24s ease !important;
        }.faq-box.show {
            opacity: 1 !important;
            visibility: visible !important;
        }.faq-header {
            position: sticky !important;
            top: 0 !important;
            z-index: 6 !important;
            display: flex !important;
            justify-content: space-between !important;
            align-items: flex-start !important;
            gap: 14px !important;
        }.faq-header strong::before {
            font-size: 15px;
        }.faq-close {
            border: 1px solid rgba(255, 255, 255, .20) !important;
            font-size: 16px !important;
            transition: background .18s ease, transform .18s ease !important;
        }.faq-close:hover {
            background: rgba(255, 255, 255, .23) !important;
            transform: rotate(6deg) scale(1.04);
        }.faq-questions button {
            position: relative;
            text-align: left !important;
            transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease !important;
        }.faq-questions button:active {
            transform: translateY(0) scale(.99) !important;
        }.faq-answer.has-answer {
            overflow: hidden !important;
        }.faq-actions a {
            transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
        }.faq-actions a:hover {
            transform: translateY(-2px) !important;
            filter: brightness(1.03);
            box-shadow: 0 14px 28px rgba(0, 0, 0, .15) !important;
        }@media (min-width: 769px) and (max-width: 1100px) {.room-card,
            .blog-card,
            .review-card {
                border-radius: 24px !important;
            }.faq-box {
                bottom: 146px !important;
                width: min(380px, calc(100vw - 32px)) !important;
            }}@media (max-width: 768px) {html {
                scroll-padding-top: 132px;
            }.section-heading h2::after,
            .section-header h2::after,
            .story-header h2::after {
                width: 42px;
                height: 3px;
                margin-top: 8px;
            }.calendar-wrap {
                border-radius: 22px !important;
            }.room-card,
            .blog-card,
            .review-card {
                border-radius: 22px !important;
            }.live-activity {
                left: 12px !important;
                right: 12px !important;
                bottom: 12px !important;
                max-width: none !important;
                border-radius: 18px !important;
            }.ai-ping {
                top: 7px !important;
                right: 10px !important;
                width: 8px !important;
                height: 8px !important;
            }.faq-answer {
                padding: 14px !important;
            }}@media (max-width: 430px) {.ai-icon {
                width: 24px !important;
                height: 24px !important;
            }}@media (prefers-reduced-motion: reduce) {.faq-toggle,
            .floating-social a,
            .room-card,
            .blog-card,
            .review-card,
            .story-item,
            .room-image,
            .blog-card img,
            .review-image {
                animation: none !important;
                transition: none !important;
            }}:root {
            --chat-blue: #0084ff;
            --chat-blue-2: #0068ff;
            --chat-cyan: #22c7ff;
            --chat-deep: #075ab8;
            --chat-soft: #eef7ff;
            --chat-line: rgba(0, 132, 255, .16);
            --chat-shadow: 0 22px 60px rgba(0, 104, 255, .24);
        }#roomTabs.room-tabs {
            display: grid !important;
            grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
            gap: 10px !important;
            width: 100% !important;
            margin: 0 0 20px !important;
            padding: 10px !important;
            border-radius: 26px !important;
            background: linear-gradient(135deg, rgba(255, 255, 255, .86), rgba(255, 248, 241, .76)) !important;
            border: 1px solid rgba(135, 88, 69, .10) !important;
            box-shadow: 0 14px 34px rgba(87, 53, 38, .075) !important;
            overflow: visible !important;
        }#roomTabs .room-tab {
            position: relative !important;
            isolation: isolate !important;
            min-width: 0 !important;
            min-height: 54px !important;
            padding: 13px 12px !important;
            border-radius: 18px !important;
            border: 1px solid rgba(135, 88, 69, .12) !important;
            background: radial-gradient(circle at 20% 10%, rgba(255, 255, 255, .92), transparent 34%),
                linear-gradient(135deg, #ffffff, #fff8f1) !important;
            color: #694b41 !important;
            font-size: 14px !important;
            font-weight: 900 !important;
            letter-spacing: .2px !important;
            text-align: center !important;
            box-shadow: 0 8px 18px rgba(87, 53, 38, .055),
                inset 0 1px 0 rgba(255, 255, 255, .85) !important;
            transition: transform .2s ease,
                box-shadow .2s ease,
                border-color .2s ease,
                background .2s ease,
                color .2s ease !important;
            overflow: hidden !important;
            -webkit-tap-highlight-color: transparent !important;
        }#roomTabs .room-tab::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            background: linear-gradient(135deg, rgba(216, 157, 121, .14), rgba(135, 88, 69, .06));
            opacity: 0;
            transition: opacity .2s ease;
        }#roomTabs .room-tab::after {
            content: "";
            position: absolute;
            top: 9px;
            right: 10px;
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: rgba(135, 88, 69, .22);
            box-shadow: 0 0 0 4px rgba(135, 88, 69, .045);
        }#roomTabs .room-tab:hover {
            transform: translateY(-2px) !important;
            border-color: rgba(216, 157, 121, .34) !important;
            box-shadow: 0 14px 28px rgba(87, 53, 38, .10),
                inset 0 1px 0 rgba(255, 255, 255, .92) !important;
        }#roomTabs .room-tab:hover::before {
            opacity: 1;
        }#roomTabs .room-tab.active {
            color: #fff !important;
            border-color: transparent !important;
            background: radial-gradient(circle at 20% 14%, rgba(255, 255, 255, .32), transparent 30%),
                linear-gradient(135deg, #875845 0%, #d89d79 100%) !important;
            box-shadow: 0 16px 30px rgba(135, 88, 69, .24),
                inset 0 1px 0 rgba(255, 255, 255, .28) !important;
            transform: translateY(-1px) !important;
        }#roomTabs .room-tab.active::after {
            background: #fff;
            box-shadow: 0 0 0 4px rgba(255, 255, 255, .18);
        }@media (min-width: 769px) and (max-width: 1100px) {#roomTabs.room-tabs {
                grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
            }}@media (max-width: 768px) {#roomTabs .room-tab::after {
                top: 7px;
                right: 8px;
                width: 6px;
                height: 6px;
            }}.faq-floating {
            left: 18px !important;
            bottom: 86px !important;
            z-index: 100000 !important;
            pointer-events: none !important;
        }.faq-toggle,
        .faq-box {
            pointer-events: auto !important;
        }.faq-toggle {
            left: 18px !important;
            bottom: 86px !important;
            min-width: 158px !important;
            height: 58px !important;
            padding: 0 18px 0 15px !important;
            gap: 9px !important;
            border-radius: 999px !important;
            border: 1px solid rgba(255, 255, 255, .46) !important;
            color: #fff !important;
            background: radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .38), transparent 28%),
                linear-gradient(135deg, var(--chat-blue-2) 0%, var(--chat-blue) 56%, var(--chat-cyan) 100%) !important;
            box-shadow: 0 18px 44px rgba(0, 104, 255, .34),
                inset 0 1px 0 rgba(255, 255, 255, .30) !important;
            backdrop-filter: blur(16px) !important;
            -webkit-backdrop-filter: blur(16px) !important;
        }.faq-toggle::after {
            content: "Hỏi nhanh" !important;
            color: #fff !important;
            font-size: 14px !important;
            font-weight: 900 !important;
            letter-spacing: -.2px !important;
            white-space: nowrap !important;
        }.faq-toggle:hover {
            transform: translateY(-3px) scale(1.02) !important;
            box-shadow: 0 22px 52px rgba(0, 104, 255, .42),
                inset 0 1px 0 rgba(255, 255, 255, .36) !important;
        }.ai-icon {
            width: 27px !important;
            height: 27px !important;
            filter: drop-shadow(0 3px 8px rgba(0, 32, 80, .24)) !important;
        }.ai-ping {
            top: 8px !important;
            right: 12px !important;
            background: #54f7a5 !important;
            box-shadow: 0 0 0 0 rgba(84, 247, 165, .74) !important;
        }.faq-box,
        .faq-box.show {
            left: 18px !important;
            right: auto !important;
            bottom: 156px !important;
            width: min(398px, calc(100vw - 36px)) !important;
            max-height: min(82dvh, 690px) !important;
            border-radius: 30px !important;
            border: 1px solid var(--chat-line) !important;
            background: linear-gradient(180deg, rgba(246, 251, 255, .98), rgba(232, 245, 255, .98)) !important;
            box-shadow: var(--chat-shadow),
                inset 0 1px 0 rgba(255, 255, 255, .90) !important;
            display: flex !important;
            flex-direction: column !important;
            overflow: hidden !important;
            backdrop-filter: blur(18px) !important;
            -webkit-backdrop-filter: blur(18px) !important;
        }.faq-box {
            transform: translateY(14px) scale(.985) !important;
        }.faq-box.show {
            transform: translateY(0) scale(1) !important;
        }.faq-header {
            flex: 0 0 auto !important;
            padding: 19px 19px 17px !important;
            color: #fff !important;
            background: radial-gradient(circle at 18% 10%, rgba(255, 255, 255, .30), transparent 28%),
                linear-gradient(135deg, #005bd8 0%, #0084ff 58%, #20c4ff 100%) !important;
            border-bottom: 1px solid rgba(255, 255, 255, .20) !important;
        }.faq-header strong {
            display: inline-flex !important;
            align-items: center !important;
            gap: 10px !important;
            font-size: 17px !important;
            font-weight: 900 !important;
            letter-spacing: -.25px !important;
        }.faq-header strong::before {
            content: "💬";
            width: 30px;
            height: 30px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 12px;
            background: rgba(255, 255, 255, .18);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
        }.faq-header p {
            margin-top: 7px !important;
            color: rgba(255, 255, 255, .88) !important;
            font-size: 12.8px !important;
            line-height: 1.35 !important;
        }.faq-close {
            width: 34px !important;
            height: 34px !important;
            flex: 0 0 auto !important;
            border-radius: 50% !important;
            background: rgba(255, 255, 255, .16) !important;
            color: #fff !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
        }.faq-questions {
            flex: 0 1 auto !important;
            min-height: 0 !important;
            order: 2 !important;
            display: grid !important;
            grid-template-columns: 1fr !important;
            gap: 9px !important;
            padding: 15px 16px 10px !important;
            max-height: min(34dvh, 285px) !important;
            overflow-y: auto !important;
            overscroll-behavior: contain !important;
            scrollbar-width: thin !important;
            scrollbar-color: rgba(0, 132, 255, .32) transparent !important;
        }.faq-questions::-webkit-scrollbar,
        .faq-answer::-webkit-scrollbar,
        .faq-answer-body::-webkit-scrollbar {
            width: 6px;
        }.faq-questions::-webkit-scrollbar-thumb,
        .faq-answer::-webkit-scrollbar-thumb,
        .faq-answer-body::-webkit-scrollbar-thumb {
            background: rgba(0, 132, 255, .30);
            border-radius: 999px;
        }.faq-questions button {
            min-height: 45px !important;
            padding: 11px 13px !important;
            border-radius: 17px !important;
            border: 1px solid rgba(0, 132, 255, .12) !important;
            background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(236, 247, 255, .96)) !important;
            color: #17456e !important;
            font-size: 13px !important;
            font-weight: 800 !important;
            line-height: 1.34 !important;
            box-shadow: 0 8px 18px rgba(0, 104, 255, .065) !important;
        }.faq-questions button:hover {
            transform: translateY(-2px) !important;
            border-color: rgba(0, 132, 255, .30) !important;
            background: linear-gradient(135deg, #ffffff, #e9f6ff) !important;
            box-shadow: 0 12px 26px rgba(0, 104, 255, .11) !important;
        }.faq-answer {
            flex: 0 1 auto !important;
            min-height: 76px !important;
            max-height: min(31dvh, 245px) !important;
            order: 3 !important;
            margin: 4px 16px 12px !important;
            padding: 15px !important;
            border-radius: 22px !important;
            border: 1px solid rgba(0, 132, 255, .14) !important;
            background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(242, 249, 255, .98)) !important;
            color: #17324d !important;
            font-size: 13.5px !important;
            line-height: 1.68 !important;
            overflow-y: auto !important;
            overscroll-behavior: contain !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82),
                0 10px 24px rgba(0, 104, 255, .07) !important;
        }.faq-answer.has-answer {
            padding: 0 !important;
            overflow-y: auto !important;
        }.faq-answer-card {
            padding: 15px !important;
            margin: 0 !important;
            border: 0 !important;
            background: transparent !important;
        }.faq-answer-header {
            color: #093e7a !important;
            font-weight: 900 !important;
        }.faq-answer-icon {
            width: 32px !important;
            height: 32px !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            border-radius: 13px !important;
            background: linear-gradient(135deg, #e7f4ff, #ffffff) !important;
            box-shadow: 0 7px 18px rgba(0, 104, 255, .11) !important;
        }.faq-answer-body {
            max-height: none !important;
            overflow: visible !important;
            color: #24445f !important;
            font-size: 13.5px !important;
            line-height: 1.7 !important;
        }.faq-close-btn {
            margin-top: 12px !important;
            border-radius: 999px !important;
            color: #fff !important;
            background: linear-gradient(135deg, #0068ff, #22c7ff) !important;
            box-shadow: 0 10px 22px rgba(0, 104, 255, .18) !important;
        }.faq-actions {
            flex: 0 0 auto !important;
            order: 4 !important;
            display: grid !important;
            grid-template-columns: 1fr 1fr !important;
            gap: 10px !important;
            padding: 0 16px 16px !important;
            background: linear-gradient(180deg, rgba(232, 245, 255, 0), rgba(232, 245, 255, .98)) !important;
        }.faq-actions a {
            min-height: 44px !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            border-radius: 16px !important;
            color: #fff !important;
            font-size: 13px !important;
            font-weight: 900 !important;
            text-decoration: none !important;
            box-shadow: 0 10px 22px rgba(0, 104, 255, .16) !important;
        }.faq-actions a:first-child {
            background: linear-gradient(135deg, #00a8ff, #0068ff) !important;
        }.faq-actions a:last-child {
            background: linear-gradient(135deg, #0084ff, #6f7cff) !important;
        }@media (min-width: 769px) and (max-width: 1100px) {.faq-floating {
                left: 16px !important;
                bottom: 82px !important;
            }.faq-toggle {
                left: 16px !important;
                bottom: 82px !important;
                min-width: 142px !important;
                height: 54px !important;
            }.faq-toggle::after {
                font-size: 13px !important;
            }.faq-box,
            .faq-box.show {
                left: 16px !important;
                bottom: 146px !important;
                width: min(384px, calc(100vw - 32px)) !important;
                max-height: min(80dvh, 660px) !important;
            }.faq-questions {
                max-height: min(31dvh, 250px) !important;
            }.faq-answer {
                max-height: min(31dvh, 235px) !important;
            }}@media (max-width: 768px) {.faq-toggle {
                min-width: 130px !important;
                height: 50px !important;
                padding: 0 14px 0 12px !important;
                gap: 8px !important;
            }.faq-toggle::after {
                content: "Hỏi nhanh" !important;
                font-size: 12.5px !important;
            }.ai-icon {
                width: 23px !important;
                height: 23px !important;
            }.faq-box,
            .faq-box.show {
                transform-origin: left bottom !important;
            }.faq-header {
                padding: 16px 16px 14px !important;
            }.faq-header strong {
                font-size: 16px !important;
            }.faq-header strong::before {
                width: 27px;
                height: 27px;
                border-radius: 11px;
            }.faq-questions {
                grid-template-columns: 1fr 1fr !important;
                gap: 8px !important;
                padding: 13px 13px 9px !important;
            }.faq-questions button {
                min-height: 47px !important;
                padding: 10px !important;
                border-radius: 15px !important;
                font-size: 11.8px !important;
                line-height: 1.28 !important;
            }.faq-answer {
                margin: 2px 13px 10px !important;
                border-radius: 19px !important;
                font-size: 13px !important;
            }.faq-answer-card {
                padding: 13px !important;
            }.faq-answer-body {
                font-size: 13px !important;
                line-height: 1.66 !important;
            }.faq-actions {
                padding: 0 13px 13px !important;
            }.faq-actions a {
                min-height: 42px !important;
                border-radius: 14px !important;
                font-size: 12.4px !important;
            }}@media (max-width: 430px) {.faq-toggle {
                min-width: 50px !important;
                width: 50px !important;
                height: 50px !important;
                padding: 0 !important;
                border-radius: 18px !important;
            }.faq-toggle::after {
                content: "" !important;
                display: none !important;
            }.faq-box,
            .faq-box.show {
                left: 8px !important;
                right: 8px !important;
            }.faq-questions {
                grid-template-columns: 1fr !important;
            }.faq-answer {
                max-height: min(34dvh, 235px) !important;
                padding: 13px !important;
            }.faq-answer.has-answer {
                padding: 0 !important;
            }.faq-actions {
                grid-template-columns: 1fr 1fr !important;
            }}@media (max-height: 680px) and (max-width: 768px) {.faq-answer {
                max-height: 180px !important;
            }}.section-heading h2::after,
        .section-header h2::after,
        .story-header h2::after,
        h2::after {
            content: none !important;
            display: none !important;
        }@media (min-width: 769px) and (max-width: 1100px) {#roomTabs.room-tabs {
                gap: 8px !important;
                padding: 8px !important;
                border-radius: 22px !important;
            }#roomTabs .room-tab {
                min-height: 46px !important;
                padding: 10px 9px !important;
                border-radius: 15px !important;
                font-size: 13px !important;
            }}@media (max-width: 768px) {#roomTabs.room-tabs {
                grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
                gap: 6px !important;
                padding: 6px !important;
                border-radius: 18px !important;
                margin-bottom: 12px !important;
                box-shadow: 0 8px 22px rgba(87, 53, 38, .055) !important;
            }#roomTabs .room-tab {
                min-height: 36px !important;
                padding: 7px 5px !important;
                border-radius: 12px !important;
                font-size: 10.8px !important;
                letter-spacing: 0 !important;
                box-shadow: 0 5px 12px rgba(87, 53, 38, .045) !important;
            }#roomTabs .room-tab::after {
                display: none !important;
            }#roomTabs .room-tab:hover {
                transform: translateY(-1px) !important;
            }#roomTabs .room-tab.active {
                transform: none !important;
                box-shadow: 0 8px 16px rgba(135, 88, 69, .18) !important;
            }.faq-box:has(.faq-answer.has-answer) .faq-answer {
                max-height: none !important;
            }.faq-answer.has-answer {
                display: block !important;
            }}@media (max-width: 430px) {#roomTabs.room-tabs {
                gap: 5px !important;
                padding: 5px !important;
                border-radius: 16px !important;
            }#roomTabs .room-tab {
                min-height: 33px !important;
                padding: 6px 4px !important;
                border-radius: 10px !important;
                font-size: 10.2px !important;
            }.faq-box,
            .faq-box.show {
                bottom: 128px !important;
                min-height: 410px !important;
            }.faq-header p {
                font-size: 11.5px !important;
                line-height: 1.35 !important;
            }.faq-questions {
                padding: 10px 10px 7px !important;
            }.faq-questions button {
                min-height: 38px !important;
                padding: 8px 9px !important;
                border-radius: 13px !important;
                font-size: 11.5px !important;
                line-height: 1.24 !important;
            }.faq-box:has(.faq-answer.has-answer) .faq-answer {
                min-height: 205px !important;
            }.faq-answer {
                margin: 2px 10px 8px !important;
                border-radius: 17px !important;
                font-size: 12.6px !important;
                line-height: 1.62 !important;
            }.faq-answer-card {
                padding: 11px !important;
            }.faq-answer-body {
                font-size: 12.6px !important;
                line-height: 1.62 !important;
            }.faq-actions {
                padding: 0 10px 10px !important;
                gap: 7px !important;
            }.faq-actions a {
                min-height: 38px !important;
                border-radius: 13px !important;
                font-size: 11.3px !important;
            }}@media (max-width: 360px) {#roomTabs.room-tabs {
                grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
            }#roomTabs .room-tab {
                min-height: 31px !important;
                font-size: 9.5px !important;
            }.faq-box,
            .faq-box.show {
                bottom: 120px !important;
                height: calc(100dvh - 128px) !important;
                min-height: 390px !important;
            }.faq-header p {
                display: none !important;
            }.faq-box:has(.faq-answer.has-answer) .faq-questions {
                max-height: 92px !important;
            }}@media (max-height: 680px) and (max-width: 768px) {.faq-box,
            .faq-box.show {
                bottom: 112px !important;
                min-height: 0 !important;
            }.faq-box:has(.faq-answer.has-answer) .faq-answer {
                min-height: 170px !important;
            }}@supports not selector(:has(*)) {@media (max-width: 768px) {.faq-questions {
                    max-height: min(18dvh, 128px) !important;
                }.faq-answer {
                    min-height: 190px !important;
                }}}.room-card .room-btn,
        .rooms-grid .room-btn,
        a.room-btn {
            background: linear-gradient(135deg, #ff385c 0%, #ff6f91 100%) !important;
            color: #fff !important;
            border: 1px solid rgba(255, 56, 92, .18) !important;
            box-shadow: 0 10px 22px rgba(255, 56, 92, .22) !important;
        }.room-card .room-btn:hover,
        .rooms-grid .room-btn:hover,
        a.room-btn:hover {
            background: linear-gradient(135deg, #f72f55 0%, #ff7898 100%) !important;
            color: #fff !important;
            transform: translateY(-2px) !important;
            box-shadow: 0 14px 30px rgba(255, 56, 92, .28) !important;
            opacity: 1 !important;
            filter: none !important;
        }.room-card .room-btn:active,
        .rooms-grid .room-btn:active,
        a.room-btn:active {
            transform: translateY(0) scale(.98) !important;
            box-shadow: 0 8px 18px rgba(255, 56, 92, .22) !important;
        }@media (max-width: 768px) {.room-card .room-btn,
            .rooms-grid .room-btn,
            a.room-btn {
                border-radius: 14px !important;
                padding: 10px 14px !important;
                font-size: 13px !important;
                min-height: 40px !important;
            }}@media (max-width: 768px) {.faq-floating {
                left: 0 !important;
                right: 0 !important;
                bottom: 0 !important;
                width: 100% !important;
                height: 0 !important;
                z-index: 100000 !important;
                pointer-events: none !important;
            }.faq-toggle {
                position: fixed !important;
                left: 14px !important;
                right: auto !important;
                bottom: max(76px, calc(74px + env(safe-area-inset-bottom))) !important;
                z-index: 100002 !important;
                pointer-events: auto !important;
            }.faq-box,
            .faq-box.show {
                position: fixed !important;
                top: 50% !important;
                left: 50% !important;
                right: auto !important;
                bottom: auto !important;
                width: min(94vw, 420px) !important;
                height: min(86dvh, 660px) !important;
                min-height: 0 !important;
                max-height: calc(100dvh - 24px) !important;
                border-radius: 26px !important;
                overflow: hidden !important;
                display: flex !important;
                flex-direction: column !important;
                pointer-events: auto !important;
            }.faq-box {
                transform: translate(-50%, -46%) scale(.96) !important;
                opacity: 0 !important;
                visibility: hidden !important;
            }.faq-box.show {
                transform: translate(-50%, -50%) scale(1) !important;
                opacity: 1 !important;
                visibility: visible !important;
            }.faq-header {
                flex: 0 0 auto !important;
            }.faq-questions {
                flex: 0 0 auto !important;
                max-height: min(31dvh, 230px) !important;
                overflow-y: auto !important;
                overscroll-behavior: contain !important;
            }.faq-answer {
                flex: 1 1 auto !important;
                min-height: 150px !important;
                max-height: none !important;
                overflow-y: auto !important;
                overscroll-behavior: contain !important;
            }.faq-box:has(.faq-answer.has-answer) .faq-questions {
                max-height: min(18dvh, 128px) !important;
            }.faq-box:has(.faq-answer.has-answer) .faq-answer {
                min-height: 240px !important;
            }.faq-answer-body {
                max-height: none !important;
                overflow: visible !important;
            }.faq-actions {
                flex: 0 0 auto !important;
            }}@media (max-width: 430px) {.faq-box,
            .faq-box.show {
                width: calc(100vw - 20px) !important;
                height: calc(100dvh - 28px) !important;
                max-height: calc(100dvh - 28px) !important;
                border-radius: 22px !important;
            }.faq-header {
                padding: 13px 14px 11px !important;
            }.faq-questions {
                max-height: 178px !important;
            }.faq-box:has(.faq-answer.has-answer) .faq-questions {
                max-height: 104px !important;
            }.faq-answer,
            .faq-box:has(.faq-answer.has-answer) .faq-answer {
                min-height: 100px !important;
            }.faq-actions {
                padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
            }}@media (max-height: 680px) and (max-width: 768px) {.faq-box,
            .faq-box.show {
                height: calc(100dvh - 18px) !important;
                max-height: calc(100dvh - 18px) !important;
                border-radius: 20px !important;
            }.faq-header p {
                display: none !important;
            }.faq-questions {
                max-height: 400px !important;
            }.faq-box:has(.faq-answer.has-answer) .faq-questions {
                max-height: 80px !important;
            }.faq-answer,
            .faq-box:has(.faq-answer.has-answer) .faq-answer {
                min-height: 180px !important;
            }}:root {
            --h3cn-peach: #f3c7ad;
            --h3cn-pink: #ff5a76;
            --h3cn-green: #16a34a;
        }.site-header {
            backdrop-filter: blur(16px);
        }.header-inner .main-menu a {
            border-radius: 999px;
            padding: 10px 14px;
            transition: background .2s ease, color .2s ease, transform .2s ease;
        }.header-inner .main-menu a:hover {
            background: #f7eee8;
            color: var(--h3cn-brown) !important;
            transform: translateY(-1px);
        }.room-card,
        .blog-card,
        .review-card,
        .suggest-card,
        .suggest-card-v2 {
            border: 1px solid rgba(135, 88, 69, .08) !important;
            box-shadow: var(--h3cn-shadow) !important;
        }.room-card img {
            filter: saturate(1.03) contrast(1.02);
        }#homeName {
            color: var(--h3cn-ink) !important;
            letter-spacing: -.02em;
        }.price,
        .price-preview-value {
            color: var(--h3cn-pink) !important;
        }#pricingPreview .price-preview-card {
            background: linear-gradient(180deg, #fff, #fff7f1) !important;
            border-color: #f1ded3 !important;
            border-radius: 18px !important;
        }.price-row {
            border-bottom-color: #f4e8e0 !important;
        }.website-booking-head {
            backdrop-filter: blur(12px);
        }.website-booking-head h3 {
            font-size: 22px !important;
        }.booking-summary-card,
        .payment-result-card {
            background: linear-gradient(135deg, #fff7ef, #fff) !important;
            border-color: #f0d8ca !important;
            box-shadow: 0 10px 25px rgba(135, 88, 69, .07);
        }.booking-summary-row {
            border-bottom-color: rgba(135, 88, 69, .10) !important;
        }.booking-summary-row span {
            color: var(--h3cn-muted) !important;
        }.booking-summary-row strong {
            color: var(--h3cn-ink) !important;
        }.website-booking-form input,
        .website-booking-form textarea {
            background: #fffdfb !important;
            border-color: #ead7cc !important;
            border-radius: 18px !important;
        }.website-booking-submit {
            background: linear-gradient(135deg, #ff5a76, #d89d79) !important;
            box-shadow: 0 16px 28px rgba(255, 90, 118, .22) !important;
            transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
        }.website-booking-submit:not(:disabled):hover {
            transform: translateY(-2px);
            box-shadow: 0 20px 36px rgba(255, 90, 118, .28) !important;
        }.website-booking-secondary {
            transition: transform .2s ease, background .2s ease;
        }.website-booking-secondary:hover {
            background: #ffe5d6 !important;
            transform: translateY(-1px);
        }.payment-status-pill {
            background: #fff3df !important;
            color: #9a5b00 !important;
            box-shadow: inset 0 0 0 1px rgba(154, 91, 0, .10);
        }.payment-status-pill.paid {
            background: #dcfce7 !important;
            color: #166534 !important;
        }.payment-status-pill.expired {
            background: #ffe4e6 !important;
            color: #be123c !important;
        }.payment-code-box code {
            border-radius: 16px !important;
        }.booking-copy-btn {
            background: linear-gradient(135deg, #875845, #b98367) !important;
        }.floating-social a,
        .floating-contact a {
            box-shadow: 0 12px 28px rgba(47, 31, 24, .16) !important;
        }@media (max-width:520px) {.website-booking-head,
            .website-booking-body {
                padding-left: 18px !important;
                padding-right: 18px !important;
            }.website-booking-form > .website-booking-actions {
                gap: 8px;
                margin-top: 2px;
            }.website-booking-form > .website-booking-actions .website-booking-submit,
            .website-booking-form > .website-booking-actions .website-booking-secondary {
                min-height: 44px !important;
                padding: 9px 14px !important;
                font-size: 13px !important;
                line-height: 1.2;
            }}body {
            background: var(--bg, #f6f4ef) !important;
            color: #222 !important;
        }.page,
        .container,
        .calendar-wrap {
            background-color: transparent;
        }.website-booking-field-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
        }.website-booking-field-grid label:first-child {
            grid-column: 1 / -1;
        }.website-booking-form input[readonly] {
            background: #faf7f3 !important;
            color: #5f463b;
            cursor: default;
        }.website-cccd-alert {
            display: none;
            padding: 12px 14px;
            border-radius: 18px;
            background: #fff7ed;
            border: 1px solid #fed7aa;
            color: #9a3412;
            font-size: 13px;
            line-height: 1.55;
        }.website-cccd-alert strong {
            display: block;
            color: #7c2d12;
            margin-bottom: 3px;
        }.website-payment-countdown {
            margin: 12px 0;
            padding: 14px;
            border-radius: 20px;
            border: 1px solid #fed7aa;
            box-shadow: 0 10px 24px rgba(154, 91, 18, .08);
        }.countdown-top {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 10px;
            margin-bottom: 10px;
        }.countdown-label {
            color: #7c2d12;
            font-size: 13px;
            font-weight: 800;
        }.countdown-time {
            font-size: 24px;
            font-weight: 900;
            color: #9a3412;
            font-variant-numeric: tabular-nums;
            letter-spacing: .02em;
        }.countdown-bar {
            height: 10px;
            border-radius: 999px;
            background: #ffedd5;
            overflow: hidden;
        }.countdown-bar span {
            display: block;
            height: 100%;
            width: 100%;
            border-radius: 999px;
            background: linear-gradient(90deg, #22c55e, #f59e0b, #ef4444);
            transition: width .4s ease;
        }.website-payment-countdown.expired {
            background: #fff1f2;
            border-color: #fecdd3;
        }.website-payment-countdown.expired .countdown-label,
        .website-payment-countdown.expired .countdown-time {
            color: #be123c;
        }.website-payment-countdown.paid {
            background: #ecfdf5;
            border-color: #bbf7d0;
        }.website-payment-countdown.paid .countdown-label,
        .website-payment-countdown.paid .countdown-time {
            color: #166534;
        }@media (max-width: 768px) {body {
                background: var(--bg, #f6f4ef) !important;
                overflow-x: hidden !important;
            }.website-booking-modal {
                padding: 0 !important;
                align-items: flex-end !important;
            }.website-booking-panel {
                width: 100% !important;
                max-height: 94dvh !important;
                border-radius: 26px 26px 0 0 !important;
            }.website-booking-head {
                padding: 16px 16px 12px !important;
            }.website-booking-head h3 {
                font-size: 19px !important;
            }.website-booking-body {
                padding: 15px 16px 18px !important;
            }.website-booking-field-grid {
                grid-template-columns: 1fr;
                gap: 10px;
            }.booking-summary-row {
                align-items: flex-start;
                gap: 10px;
            }.booking-summary-row strong {
                max-width: 58%;
            }.countdown-time {
                font-size: 22px;
            }.website-booking-submit,
            .website-booking-secondary {
                min-height: 50px !important;
            }}@media (min-width: 769px) and (max-width: 1100px) {.website-booking-panel {
                width: min(620px, calc(100vw - 32px)) !important;
            }.website-booking-field-grid {
                grid-template-columns: 1fr 1fr;
            }}.payment-result-card .website-payment-actions {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            flex-wrap: wrap !important;
            gap: 8px !important;
            margin-top: 12px !important;
        }.payment-result-card .website-payment-action-btn,
        .payment-result-card .website-payment-actions .website-booking-submit,
        .payment-result-card .website-payment-actions .website-booking-secondary {
            width: auto !important;
            min-width: 118px !important;
            min-height: 36px !important;
            padding: 0 14px !important;
            border-radius: 999px !important;
            font-size: 12px !important;
            line-height: 1 !important;
            font-weight: 800 !important;
            letter-spacing: -.01em !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 6px !important;
            white-space: nowrap !important;
            box-shadow: none !important;
        }.payment-result-card .website-payment-actions .website-booking-secondary {
            background: #fff4ed !important;
            color: #875845 !important;
            border: 1px solid rgba(135, 88, 69, .14) !important;
        }.payment-result-card .website-payment-actions .website-booking-submit {
            background: linear-gradient(135deg, #875845, #d89d79) !important;
            color: #fff !important;
            border: 1px solid rgba(135, 88, 69, .08) !important;
            box-shadow: 0 8px 18px rgba(135, 88, 69, .14) !important;
        }.payment-result-card .website-payment-actions .website-booking-secondary::before {
            content: "💬";
            font-size: 12px;
            line-height: 1;
        }.payment-result-card .website-payment-actions .website-booking-submit::before {
            content: "✓";
            width: 16px;
            height: 16px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(255, 255, 255, .18);
            font-size: 10px;
            line-height: 1;
        }.payment-result-card .website-payment-actions .website-booking-secondary:hover,
        .payment-result-card .website-payment-actions .website-booking-submit:hover {
            transform: translateY(-1px) !important;
        }.website-booking-submit.is-loading {
            position: relative !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 9px !important;
            cursor: wait !important;
            opacity: .92 !important;
            overflow: hidden !important;
        }.website-booking-submit.is-loading::before {
            content: "" !important;
            width: 16px !important;
            height: 16px !important;
            flex: 0 0 16px !important;
            border-radius: 50% !important;
            border: 2px solid rgba(255, 255, 255, .48) !important;
            border-top-color: #fff !important;
            background: transparent !important;
            animation: h3cnBookingBtnSpin .72s linear infinite !important;
        }.website-booking-submit.is-loading::after {
            content: "" !important;
            position: absolute !important;
            inset: 0 !important;
            background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, .18) 45%, transparent 72%) !important;
            transform: translateX(-100%) !important;
            animation: h3cnBookingBtnShimmer 1.05s ease-in-out infinite !important;
        }.website-booking-message:not(.error) {
            border-radius: 14px;
            padding: 8px 10px;
            background: #fffaf5;
            border: 1px solid rgba(216, 157, 121, .18);
        }@keyframes h3cnBookingBtnSpin {to {
                transform: rotate(360deg);
            }}@keyframes h3cnBookingBtnShimmer {100% {
                transform: translateX(100%);
            }}@media (min-width: 769px) {.payment-result-card .website-payment-actions {
                gap: 10px !important;
            }.payment-result-card .website-payment-action-btn,
            .payment-result-card .website-payment-actions .website-booking-submit,
            .payment-result-card .website-payment-actions .website-booking-secondary {
                min-width: 124px !important;
                min-height: 36px !important;
            }}@media (max-width: 768px) {.payment-result-card .website-payment-actions {
                display: grid !important;
                grid-template-columns: 1fr 84px !important;
                gap: 8px !important;
            }.payment-result-card .website-payment-action-btn,
            .payment-result-card .website-payment-actions .website-booking-submit,
            .payment-result-card .website-payment-actions .website-booking-secondary {
                width: 100% !important;
                min-width: 0 !important;
                min-height: 34px !important;
                padding: 0 10px !important;
                font-size: 11px !important;
            }.payment-result-card .website-payment-actions .website-booking-secondary {
                justify-content: center !important;
            }.website-booking-submit.is-loading::before {
                width: 15px !important;
                height: 15px !important;
                flex-basis: 15px !important;
            }}@media (max-width: 380px) {.payment-result-card .website-payment-actions {
                grid-template-columns: 1fr !important;
            }.payment-result-card .website-payment-action-btn,
            .payment-result-card .website-payment-actions .website-booking-submit,
            .payment-result-card .website-payment-actions .website-booking-secondary {
                min-height: 34px !important;
            }}.payment-result-card .website-payment-actions .website-booking-secondary[href*="zalo.me"]::before {
            content: "Z" !important;
            width: 18px !important;
            height: 18px !important;
            min-width: 18px !important;
            border-radius: 7px !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            background: linear-gradient(135deg, #0068ff, #34a7ff) !important;
            color: #fff !important;
            font-size: 11px !important;
            font-weight: 900 !important;
            line-height: 1 !important;
            letter-spacing: -.04em !important;
            box-shadow: 0 5px 12px rgba(0, 104, 255, .24) !important;
        }.room-card {
            background: linear-gradient(180deg, #ffffff 0%, #fffdfb 100%) !important;
            border: 1px solid rgba(255, 255, 255, .86) !important;
            box-shadow: 0 12px 34px rgba(77, 54, 42, .075) !important;
        }.room-card:hover {
            box-shadow: 0 18px 44px rgba(77, 54, 42, .11) !important;
        }.room-desc {
            position: relative !important;
            margin-top: 8px !important;
            padding: 12px 13px 12px 15px !important;
            border-radius: 16px !important;
            background: linear-gradient(135deg, #fffaf7 0%, #ffffff 68%) !important;
            border: 1px solid rgba(216, 157, 121, .14) !important;
            color: #5f4a41 !important;
            font-size: 13.5px !important;
            line-height: 1.68 !important;
            font-weight: 600 !important;
            letter-spacing: -.01em !important;
            box-shadow: 0 8px 20px rgba(135, 88, 69, .045) !important;
        }.room-desc::before {
            content: "" !important;
            position: absolute !important;
            left: 0 !important;
            top: 13px !important;
            bottom: 13px !important;
            width: 3px !important;
            border-radius: 999px !important;
            background: linear-gradient(180deg, #d89d79, #875845) !important;
        }.room-features span {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            background: #fff !important;
            border: 1px solid rgba(216, 157, 121, .18) !important;
            color: #644234 !important;
            box-shadow: 0 8px 18px rgba(135, 88, 69, .055) !important;
            font-weight: 800 !important;
        }@media (min-width: 1025px) {.room-features {
                display: grid !important;
                grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
                gap: 8px !important;
                align-items: stretch !important;
                width: 100% !important;
            }.room-features span {
                min-width: 0 !important;
                min-height: 34px !important;
                padding: 8px 6px !important;
                border-radius: 999px !important;
                font-size: 10.5px !important;
                white-space: nowrap !important;
                overflow: hidden !important;
                text-overflow: ellipsis !important;
            }}@media (min-width: 769px) and (max-width: 1024px) {.room-features {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 8px !important;
            }.room-features span {
                min-height: 36px !important;
                padding: 8px 10px !important;
                font-size: 11.5px !important;
                white-space: nowrap !important;
                overflow: hidden !important;
                text-overflow: ellipsis !important;
            }}@media (max-width: 768px) {.payment-result-card .website-payment-actions .website-booking-secondary[href*="zalo.me"]::before {
                width: 17px !important;
                height: 17px !important;
                min-width: 17px !important;
                border-radius: 6px !important;
                font-size: 10px !important;
            }.room-card {
                box-shadow: 0 9px 24px rgba(77, 54, 42, .075) !important;
            }.room-desc {
                margin-top: 7px !important;
                padding: 10px 11px 10px 13px !important;
                border-radius: 14px !important;
                font-size: 12.5px !important;
                line-height: 1.58 !important;
            }.room-features {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 7px !important;
            }.room-features span {
                min-height: 32px !important;
                padding: 7px 6px !important;
                border-radius: 999px !important;
                font-size: 10.5px !important;
                white-space: nowrap !important;
                overflow: hidden !important;
                text-overflow: ellipsis !important;
            }}@media (max-width: 380px) {.room-features span {
                font-size: 9.5px !important;
                padding-inline: 5px !important;
            }}.payos-checkout-wrap {
            margin-top: 14px !important;
            padding: 14px !important;
            border-radius: 18px !important;
            text-align: center !important;
        }.payos-checkout-btn {
            width: 100% !important;
            min-height: 46px !important;
            border-radius: 999px !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 8px !important;
            text-decoration: none !important;
            background: linear-gradient(135deg, #0068ff, #35a7ff) !important;
            color: #fff !important;
            font-size: 14px !important;
            font-weight: 900 !important;
            box-shadow: 0 12px 26px rgba(0, 104, 255, .22) !important;
            transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease !important;
        }.payos-checkout-btn::before {
            width: 20px !important;
            height: 20px !important;
            border-radius: 50% !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            background: rgba(255, 255, 255, .2) !important;
            font-size: 12px !important;
            line-height: 1 !important;
        }.payos-checkout-btn:hover {
            transform: translateY(-1px) !important;
            box-shadow: 0 16px 32px rgba(0, 104, 255, .28) !important;
        }.payos-checkout-wrap small {
            display: block !important;
            margin-top: 9px !important;
            color: #5b6472 !important;
            font-size: 12px !important;
            line-height: 1.55 !important;
            font-weight: 600 !important;
        }@media (max-width: 768px) {.payos-checkout-wrap {
                padding: 12px !important;
                border-radius: 16px !important;
            }.payos-checkout-btn {
                min-height: 42px !important;
                font-size: 13px !important;
            }.payos-checkout-wrap small {
                font-size: 11.5px !important;
            }}.room-card,
        .blog-card,
        .review-card,
        .suggest-card,
        .suggest-card-v2,
        .calendar-wrap,
        .booking-summary-card,
        .payment-result-card {
            background: #ffffff !important;
            border-color: rgba(216, 157, 121, .13) !important;
            box-shadow: var(--h3cn-shadow) !important;
        }.website-booking-head p,
        .website-booking-message,
        .payos-checkout-wrap small {
            color: #6b7280 !important;
        }.payos-checkout-wrap {
            border-color: rgba(16, 185, 129, .18) !important;
        }.payos-checkout-btn::before {
            content: "↗" !important;
        }.payment-code-box code {
            background: linear-gradient(135deg, #2d1e14, #875845) !important;
        }.website-payment-countdown {
            background: linear-gradient(135deg, #fff7ed, #ffffff) !important;
        }#liveActivity {
            background: rgba(255, 255, 255, .96) !important;
            border: 1px solid rgba(216, 157, 121, .18) !important;
            box-shadow: 0 16px 40px rgba(67, 42, 29, .12) !important;
        }@media (max-width:520px) {.website-booking-modal {
                padding: 0 !important;
                align-items: flex-end !important;
            }.website-booking-panel {
                border-radius: 26px 26px 0 0 !important;
                max-height: 92dvh !important;
            }}html,
        body {
            color: #1f2937 !important;
        }.story-section,
        .highlights-section,
        .calendar-wrap,
        .room-card,
        .blog-card,
        .review-card,
        .suggest-card,
        .suggest-card-v2,
        .booking-summary-card,
        .payment-result-card {
            background: #ffffff !important;
            box-shadow: 0 12px 28px rgba(31, 41, 55, .065) !important;
            border-color: rgba(148, 163, 184, .16) !important;
        }.payos-qr-wrap {
            margin: 14px 0 12px !important;
            padding: 16px !important;
            border-radius: 22px !important;
            text-align: center !important;
        }.payos-qr-box {
            width: 238px !important;
            min-height: 238px !important;
            margin: 0 auto !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            padding: 12px !important;
            border-radius: 22px !important;
        }.payos-qr-box canvas,
        .payos-qr-box img {
            width: 214px !important;
            height: 214px !important;
            display: block !important;
        }.payos-qr-caption,
        .payos-qr-fallback {
            margin-top: 10px !important;
            color: #64748b !important;
            font-size: 12.5px !important;
            line-height: 1.5 !important;
            font-weight: 600 !important;
        }.website-paid-success {
            text-align: center !important;
            padding: 18px 14px !important;
            border-radius: 24px !important;
            border: 1px solid #bbf7d0 !important;
            box-shadow: 0 10px 24px rgba(22, 163, 74, .08) !important;
            margin-bottom: 14px !important;
        }.paid-success-icon {
            font-size: 38px !important;
            line-height: 1 !important;
            margin-bottom: 8px !important;
        }.paid-success-title {
            color: #166534 !important;
            font-size: 21px !important;
            font-weight: 900 !important;
            letter-spacing: -.02em !important;
        }.paid-success-sub {
            margin-top: 6px !important;
            color: #4b5563 !important;
            font-size: 13px !important;
            line-height: 1.55 !important;
        }.paid-booking-card {
            background: #ffffff !important;
        }.website-payment-countdown.expired+.payment-code-box+.booking-summary-card+.payos-qr-wrap {
            opacity: .58 !important;
            filter: grayscale(.3) !important;
        }@media (max-width:520px) {.payos-qr-box {
                width: 218px !important;
                min-height: 218px !important;
            }.payos-qr-box canvas,
            .payos-qr-box img {
                width: 196px !important;
                height: 196px !important;
            }}:root {
            --bg: #ffffff !important;
            --h3cn-bg: #ffffff !important;
            --h3cn-card: #ffffff !important;
            --h3cn-ink: #111827 !important;
            --h3cn-muted: #64748b !important;
            --h3cn-brown: #7c4f3d !important;
            --h3cn-brown-2: #d89d79 !important;
            --h3cn-shadow: 0 10px 26px rgba(15, 23, 42, .055) !important;
        }html,
        body,
        body.home-route,
        body.calendar-route {
            background: #ffffff !important;
            background-image: radial-gradient(circle at 10% -5%, rgba(216, 157, 121, .055), transparent 28%),
                radial-gradient(circle at 92% 4%, rgba(96, 165, 250, .055), transparent 26%),
                linear-gradient(180deg, #ffffff 0%, #fbfdff 50%, #ffffff 100%) !important;
            color: #111827 !important;
        }main,
        .page,
        .container,
        #homeDetailPage,
        .calendar-page,
        .detail-page,
        .home-detail-container {
            background: transparent !important;
        }.site-header {
            background: rgba(255, 255, 255, .985) !important;
            border-bottom: 1px solid rgba(148, 163, 184, .14) !important;
            box-shadow: 0 8px 22px rgba(15, 23, 42, .045) !important;
        }.room-card,
        .blog-card,
        .review-card,
        .suggest-card,
        .suggest-card-v2,
        .best-deal-card,
        .calendar-wrap,
        .stats-bar,
        .booking-summary-card,
        .payment-result-card {
            background: #ffffff !important;
            border: 1px solid rgba(148, 163, 184, .14) !important;
            box-shadow: 0 10px 26px rgba(15, 23, 42, .055) !important;
        }.website-booking-modal {
            align-items: center !important;
            justify-content: center !important;
            padding: 18px !important;
        }.website-booking-panel {
            width: min(650px, calc(100vw - 28px)) !important;
            max-height: min(92dvh, 820px) !important;
            border-radius: 30px !important;
            overflow: hidden !important;
        }.website-booking-body {
            max-height: calc(min(92dvh, 820px) - 94px) !important;
            overflow: auto !important;
            padding-bottom: 22px !important;
        }.website-booking-head {
            border-bottom: 1px solid rgba(148, 163, 184, .14) !important;
        }.website-booking-head h3 {
            color: #111827 !important;
            letter-spacing: -.02em !important;
        }.website-booking-head p {
            color: #64748b !important;
        }.website-booking-form input,
        .website-booking-form textarea,
        .website-booking-form input[readonly] {
            background: #ffffff !important;
            border: 1px solid rgba(148, 163, 184, .22) !important;
            box-shadow: 0 1px 0 rgba(15, 23, 42, .02) !important;
        }.website-booking-form input:focus,
        .website-booking-form textarea:focus {
            border-color: #d89d79 !important;
            box-shadow: 0 0 0 4px rgba(216, 157, 121, .14) !important;
        }.website-booking-submit,
        .payos-checkout-btn,
        .quick-combo-btn,
        .best-deal-btn,
        .mobile-book-btn {
            background: linear-gradient(135deg, #7c4f3d, #d89d79) !important;
            color: #ffffff !important;
            box-shadow: 0 14px 28px rgba(124, 79, 61, .20) !important;
        }.website-booking-secondary {
            background: #f8fafc !important;
            color: #334155 !important;
            border: 1px solid rgba(148, 163, 184, .20) !important;
        }.website-payment-action-btn {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 8px !important;
        }.zalo-action-icon {
            width: 22px !important;
            height: 22px !important;
            border-radius: 6px !important;
            object-fit: contain !important;
            flex: 0 0 auto !important;
        }.payos-mini-card-grid {
            display: grid !important;
            margin: 12px 0 !important;
        }.payos-mini-card {
            display: flex !important;
            align-items: flex-start !important;
            gap: 10px !important;
            padding: 12px !important;
            border-radius: 18px !important;
        }.payos-mini-card span {
            width: 32px !important;
            height: 32px !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            border-radius: 12px !important;
            flex: 0 0 auto !important;
        }.payos-mini-card b {
            display: block !important;
            color: #111827 !important;
            font-size: 13px !important;
            line-height: 1.25 !important;
        }.payos-mini-card small {
            display: block !important;
            margin-top: 3px !important;
            color: #64748b !important;
            font-size: 11.5px !important;
            line-height: 1.45 !important;
        }.payos-qr-box {
            background: #ffffff !important;
            border: 1px solid rgba(148, 163, 184, .20) !important;
            box-shadow: inset 0 0 0 8px #f8fafc !important;
        }.payos-qr-img {
            width: 214px !important;
            height: 214px !important;
            object-fit: contain !important;
            display: block !important;
            border-radius: 12px !important;
        }.payos-checkout-wrap {
            background: linear-gradient(180deg, #f0fdf4, #ffffff) !important;
            border: 1px solid rgba(34, 197, 94, .20) !important;
            box-shadow: 0 10px 22px rgba(22, 163, 74, .065) !important;
        }.website-paid-success {
            background: linear-gradient(135deg, #ecfdf5, #ffffff) !important;
        }@media (max-width: 640px) {.website-booking-modal {
                padding: 10px !important;
                align-items: center !important;
                justify-content: center !important;
            }.website-booking-panel {
                width: calc(100vw - 20px) !important;
                max-height: 94dvh !important;
                min-height: min(620px, 84dvh) !important;
                border-radius: 28px !important;
                margin: auto !important;
            }.website-booking-body {
                max-height: calc(94dvh - 88px) !important;
                padding-left: 16px !important;
                padding-right: 16px !important;
            }.payos-mini-card-grid {
                grid-template-columns: 1fr !important;
            }.payos-qr-box {
                width: 228px !important;
                min-height: 228px !important;
            }.payos-qr-img,
            .payos-qr-box canvas,
            .payos-qr-box img {
                width: 204px !important;
                height: 204px !important;
            }}@media (max-height: 700px) and (max-width: 640px) {.website-booking-panel {
                min-height: auto !important;
                max-height: 96dvh !important;
            }.website-booking-body {
                max-height: calc(96dvh - 84px) !important;
            }}html,
        body {
            background: #ffffff !important;
            background-image: linear-gradient(180deg, #ffffff 0%, #ffffff 58%, #f9fbff 100%) !important;
        }#homeDetailPage,
        .page,
        .page.active,
        .container,
        .calendar-page,
        .home-detail-container,
        .room-section,
        .story-section,
        .review-section,
        .blog-section {
            background: transparent !important;
        }.highlight-card,
        .highlights-section .highlight-card,
        .highlight-grid .highlight-card {
            border: 0 !important;
            outline: 0 !important;
            box-shadow: 0 10px 24px rgba(15, 23, 42, .055) !important;
            background: #ffffff !important;
        }.website-booking-modal {
            background: rgba(15, 23, 42, .16) !important;
            backdrop-filter: blur(7px) !important;
            -webkit-backdrop-filter: blur(7px) !important;
        }.website-booking-panel {
            background: #ffffff !important;
            border: 1px solid rgba(226, 232, 240, .85) !important;
            box-shadow: 0 22px 74px rgba(15, 23, 42, .16) !important;
        }.website-booking-head {
            background: linear-gradient(135deg, #ffffff 0%, #f9fbff 100%) !important;
        }.payos-mini-card-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: 10px !important;
        }.payos-mini-card {
            background: #ffffff !important;
            border: 1px solid rgba(226, 232, 240, .95) !important;
            box-shadow: 0 8px 20px rgba(15, 23, 42, .045) !important;
        }.payos-mini-card span {
            background: #f8fafc !important;
        }.payos-account-card {
            margin: 12px 0 !important;
            padding: 14px !important;
            border-radius: 20px !important;
            background: linear-gradient(135deg, #ffffff, #f8fbff) !important;
            border: 1px solid rgba(148, 163, 184, .18) !important;
            box-shadow: 0 8px 20px rgba(15, 23, 42, .045) !important;
        }.payos-account-row {
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: 12px !important;
            padding: 7px 0 !important;
            font-size: 13px !important;
            color: #64748b !important;
        }.payos-account-row+.payos-account-row {
            border-top: 1px dashed rgba(148, 163, 184, .24) !important;
        }.payos-account-row strong {
            color: #111827 !important;
            font-weight: 900 !important;
            text-align: right !important;
            word-break: break-all !important;
        }.payos-qr-wrap {
            background: #ffffff !important;
            border: 1px solid rgba(226, 232, 240, .95) !important;
            box-shadow: 0 8px 20px rgba(15, 23, 42, .045) !important;
        }.room-features {
            display: grid !important;
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: 7px !important;
        }.room-features span {
            min-width: 0 !important;
            width: 100% !important;
            padding: 7px 8px !important;
            border-radius: 999px !important;
            font-size: 11px !important;
            line-height: 1.2 !important;
            text-align: center !important;
            white-space: nowrap !important;
            overflow: hidden !important;
            text-overflow: ellipsis !important;
        }.customer-toast {
            position: fixed !important;
            left: 50% !important;
            bottom: max(22px, env(safe-area-inset-bottom)) !important;
            z-index: 2147483647 !important;
            transform: translate(-50%, 18px) scale(.98) !important;
            max-width: min(520px, calc(100vw - 28px)) !important;
            padding: 13px 16px !important;
            border-radius: 18px !important;
            background: #111827 !important;
            color: #ffffff !important;
            box-shadow: 0 18px 50px rgba(15, 23, 42, .24) !important;
            font-size: 14px !important;
            font-weight: 700 !important;
            line-height: 1.45 !important;
            opacity: 0 !important;
            pointer-events: none !important;
            transition: opacity .22s ease, transform .22s ease !important;
        }.customer-toast.show {
            opacity: 1 !important;
            transform: translate(-50%, 0) scale(1) !important;
        }.customer-toast.error {
            background: #b42318 !important;
        }@media (max-width:768px) {.room-features {
                gap: 6px !important;
            }.room-features span {
                font-size: 9.5px !important;
                padding: 6px 6px !important;
            }}@media (max-width:430px) {.room-features span {
                font-size: 8.5px !important;
                padding: 5px 5px !important;
            }.payos-mini-card-grid {
                grid-template-columns: 1fr !important;
            }}html,
        body {
            max-width: 100% !important;
        }html:not(.custom-booking-lock),
        body:not(.custom-booking-lock) {
            overflow-y: auto !important;
            touch-action: pan-y !important;
            overscroll-behavior-y: auto !important;
        }body.home-detail-open:not(.custom-booking-lock) {
            overflow-y: auto !important;
            overflow-x: hidden !important;
            height: auto !important;
            min-height: 100dvh !important;
            position: static !important;
            touch-action: pan-y !important;
            overscroll-behavior-y: auto !important;
        }body.home-detail-open #homeDetailPage {
            overflow: visible !important;
            height: auto !important;
            min-height: 100dvh !important;
            -webkit-overflow-scrolling: touch !important;
        }body.home-detail-open #homeDetailPage .home-detail-container {
            overflow: visible !important;
        }#homeDetailPage {
            background: linear-gradient(180deg, #fffdfb 0%, #fff8f5 42%, #ffffff 100%) !important;
        }.home-header,
        .detail-main .section {
            box-shadow: 0 10px 26px rgba(148, 90, 58, .06) !important;
            border-color: rgba(255, 188, 166, .22) !important;
        }.room-cta a,
        .mobile-book-btn,
        .btn-view-calendar,
        .best-deal-btn,
        .quick-combo-btn,
        .custom-inline-btn,
        .custom-booking-primary {
            -webkit-tap-highlight-color: transparent !important;
        }.quick-combo-btn,
        .quick-combo-btn.primary,
        .best-deal-btn {
            background: linear-gradient(135deg, #ff385c, #ff86a1) !important;
            color: #fff !important;
            border-color: transparent !important;
            box-shadow: 0 8px 18px rgba(255, 56, 92, .16) !important;
        }.quick-combo-btn:not(.primary) {
            background: #fff0f5 !important;
            color: #ff385c !important;
            border: 1px solid rgba(255, 56, 92, .16) !important;
            box-shadow: 0 6px 14px rgba(255, 56, 92, .08) !important;
        }.quick-combo-btn:hover,
        .best-deal-btn:hover,
        .room-cta a:hover {
            transform: none !important;
        }@media (max-width:1024px) {#coverImage.hero-image {
                border-radius: 22px !important;
                max-height: 420px !important;
            }#homeName {
                font-size: clamp(26px, 3.2vw, 34px) !important;
                line-height: 1.18 !important;
                letter-spacing: -.04em !important;
            }.home-header .price,
            #price.price {
                font-size: clamp(18px, 2.4vw, 23px) !important;
                line-height: 1.25 !important;
            }.room-trust {
                font-size: 12.5px !important;
                padding: 8px 11px !important;
                border-radius: 18px !important;
                display: flex !important;
                flex-wrap: wrap !important;
                gap: 5px !important;
            }.room-cta {
                gap: 9px !important;
            }.room-cta a {
                min-height: 40px !important;
                padding: 10px 12px !important;
                border-radius: 12px !important;
                font-size: 12.5px !important;
                font-weight: 700 !important;
            }.best-deal-card {
                padding: 12px !important;
                border-radius: 20px !important;
                gap: 10px !important;
            }.best-deal-eyebrow,
            .custom-booking-kicker {
                font-size: 10px !important;
                padding: 4px 8px !important;
            }.best-deal-title {
                font-size: 14.5px !important;
                line-height: 1.22 !important;
            }.best-deal-meta {
                font-size: 11.5px !important;
                line-height: 1.38 !important;
            }.best-deal-btn {
                min-height: 36px !important;
                padding: 9px 12px !important;
                font-size: 11.5px !important;
            }.detail-custom-inline-card {
                padding: 16px !important;
                border-radius: 22px !important;
                gap: 12px !important;
            }.custom-inline-copy h3 {
                font-size: 18px !important;
                line-height: 1.18 !important;
            }.custom-inline-copy p {
                font-size: 12.4px !important;
                line-height: 1.45 !important;
            }.custom-inline-btn {
                min-height: 40px !important;
                padding: 10px 13px !important;
                font-size: 12.2px !important;
            }}@media (max-width:768px) {body.home-detail-open {
                padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
            }body.home-detail-open #homeDetailPage {
                padding-bottom: 72px !important;
            }body.home-detail-open #homeDetailPage .home-detail-container {
                padding: 10px 10px 12px !important;
            }.back-btn {
                min-height: 34px !important;
                padding: 7px 11px !important;
                font-size: 12px !important;
                box-shadow: 0 6px 16px rgba(15, 23, 42, .07) !important;
            }#coverImage.hero-image {
                border-radius: 18px !important;
                aspect-ratio: 4/3 !important;
                max-height: none !important;
                box-shadow: 0 10px 22px rgba(82, 52, 40, .09) !important;
                margin-bottom: 12px !important;
            }.home-header {
                margin: 12px 0 14px !important;
                padding: 13px !important;
                border-radius: 20px !important;
                backdrop-filter: none !important;
                -webkit-backdrop-filter: none !important;
            }#homeName,
            .home-header #homeName {
                font-size: 22px !important;
                line-height: 1.16 !important;
                margin-bottom: 7px !important;
                letter-spacing: -.04em !important;
            }.home-header .price,
            #price.price {
                font-size: 16.5px !important;
                line-height: 1.25 !important;
                margin-bottom: 7px !important;
            }.room-trust {
                margin-top: 8px !important;
                width: 100% !important;
                padding: 8px 10px !important;
                border-radius: 16px !important;
                font-size: 11.5px !important;
                line-height: 1.35 !important;
                display: block !important;
            }.room-cta {
                margin-top: 10px !important;
                gap: 7px !important;
                flex-direction: row !important;
            }.room-cta a {
                min-height: 36px !important;
                padding: 8px 9px !important;
                border-radius: 11px !important;
                font-size: 11.5px !important;
                line-height: 1.15 !important;
                font-weight: 800 !important;
            }.best-today-deal {
                margin-top: 10px !important;
            }.best-deal-card {
                grid-template-columns: 1fr !important;
                padding: 11px !important;
                border-radius: 18px !important;
                gap: 9px !important;
                box-shadow: 0 8px 18px rgba(255, 56, 92, .07) !important;
            }.best-deal-eyebrow {
                font-size: 9px !important;
                padding: 3px 7px !important;
                margin-bottom: 6px !important;
                background: #ff385c !important;
            }.best-deal-title {
                font-size: 13.5px !important;
                line-height: 1.2 !important;
            }.best-deal-meta {
                font-size: 10.8px !important;
                line-height: 1.35 !important;
            }.best-deal-btn {
                width: 100% !important;
                min-height: 34px !important;
                padding: 8px 10px !important;
                font-size: 11px !important;
                border-radius: 999px !important;
            }.detail-custom-booking-inline {
                margin: 10px 0 2px !important;
            }.detail-custom-inline-card,
            .custom-inline-card {
                padding: 12px !important;
                border-radius: 18px !important;
                gap: 10px !important;
                box-shadow: 0 10px 24px rgba(255, 122, 69, .09) !important;
            }.custom-booking-kicker {
                font-size: 9.5px !important;
                padding: 4px 7px !important;
                margin-bottom: 6px !important;
            }.custom-inline-copy h3 {
                font-size: 15.5px !important;
                line-height: 1.18 !important;
            }.custom-inline-copy p {
                margin-top: 5px !important;
                font-size: 11.4px !important;
                line-height: 1.38 !important;
            }.custom-inline-btn {
                min-height: 36px !important;
                padding: 8px 10px !important;
                font-size: 11.3px !important;
                border-radius: 999px !important;
                box-shadow: 0 8px 18px rgba(255, 122, 69, .14) !important;
            }.section,
            body.home-detail-open #homeDetailPage .section {
                margin-top: 16px !important;
                margin-bottom: 14px !important;
            }.section h2 {
                font-size: 17px !important;
                margin-bottom: 10px !important;
            }.description,
            .home-content {
                font-size: 13.5px !important;
                line-height: 1.65 !important;
            }.amenity {
                font-size: 12px !important;
                padding: 10px 11px !important;
                border-radius: 14px !important;
            }.price-preview-card {
                padding: 9px !important;
                border-radius: 14px !important;
            }.price-preview-value {
                font-size: 15px !important;
            }.mobile-price-wrap span,
            .mobile-price-wrap small {
                font-size: 10px !important;
            }.mobile-price-wrap strong {
                font-size: 14.5px !important;
            }.section.suggested-section h2 {
                font-size: 12.2px !important;
                line-height: 1.35 !important;
                margin-bottom: 9px !important;
            }.suggest-card {
                gap: 7px !important;
                padding: 8px !important;
                border-radius: 16px !important;
            }.package-block {
                padding: 9px 8px !important;
                border-radius: 14px !important;
                box-shadow: 0 6px 14px rgba(15, 23, 42, .04) !important;
            }.package-title {
                font-size: 11.8px !important;
                line-height: 1.2 !important;
            }.package-subcopy {
                font-size: 10.2px !important;
                line-height: 1.32 !important;
                margin-bottom: 6px !important;
            }.package-option {
                font-size: 10.4px !important;
                padding: 6px 7px !important;
                border-radius: 11px !important;
            }.quick-combo-btn {
                width: 100% !important;
                min-height: 31px !important;
                padding: 7px 8px !important;
                font-size: 10.5px !important;
                border-radius: 999px !important;
            }.quick-combo-btn.primary {
                background: linear-gradient(135deg, #ff385c, #ff86a1) !important;
                color: #fff !important;
            }}@media (max-width:390px) {#homeName,
            .home-header #homeName {
                font-size: 20px !important;
            }.home-header .price,
            #price.price {
                font-size: 15px !important;
            }.room-cta a {
                font-size: 10.8px !important;
                padding: 7px 8px !important;
            }.room-trust {
                font-size: 10.7px !important;
            }.best-deal-title {
                font-size: 12.8px !important;
            }.best-deal-meta,
            .custom-inline-copy p {
                font-size: 10.5px !important;
            }.custom-inline-copy h3 {
                font-size: 14.5px !important;
            }.quick-combo-btn,
            .best-deal-btn,
            .custom-inline-btn {
                font-size: 10.2px !important;
            }}@media (hover:none) and (pointer:coarse) {.home-header,
            .custom-booking-panel,
            .website-booking-panel {
                backdrop-filter: none !important;
                -webkit-backdrop-filter: none !important;
            }.room-card,
            .best-deal-card,
            .custom-inline-card,
            .package-block {
                will-change: auto !important;
            }.room-card:hover,
            .room-cta a:hover,
            .quick-combo-btn:hover,
            .best-deal-btn:hover,
            .custom-inline-btn:hover {
                transform: none !important;
            }}@media (prefers-reduced-motion:reduce) {* {
                animation-duration: .01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: .01ms !important;
                scroll-behavior: auto !important;
            }}.room-suggest-row .room-quick-book-btn {
            min-height: 34px !important;
            padding: 8px 12px !important;
            font-size: 10.5px !important;
            line-height: 1.1 !important;
        }@media (max-width:768px) {.room-suggest-row .room-quick-book-btn {
                min-height: 31px !important;
                padding: 7px 10px !important;
                font-size: 10px !important;
            }}@media (max-width:390px) {.room-suggest-row .room-quick-book-btn {
                min-height: 30px !important;
                padding: 7px 9px !important;
                font-size: 9.8px !important;
            }}#liveActivity.live-activity::before {
            content: "";
            width: 10px !important;
            height: 10px !important;
            border-radius: 999px !important;
            background: #34d399 !important;
            box-shadow: 0 0 0 5px rgba(52, 211, 153, .14),
                0 0 18px rgba(52, 211, 153, .58) !important;
            flex: 0 0 auto !important;
        }#liveActivity.live-activity::after {
            content: "";
            position: absolute !important;
            inset: -60% auto auto 22% !important;
            width: 120px !important;
            height: 120px !important;
            border-radius: 50% !important;
            background: rgba(255, 255, 255, .08) !important;
            filter: blur(20px) !important;
            pointer-events: none !important;
        }#liveActivityText {
            position: relative !important;
            z-index: 1 !important;
        }#liveActivity.live-activity:not(.show) {
            opacity: 0 !important;
        }@media (max-width:768px) {#liveActivity.live-activity::before {
                width: 9px !important;
                height: 9px !important;
                box-shadow: 0 0 0 4px rgba(52, 211, 153, .13),
                    0 0 14px rgba(52, 211, 153, .48) !important;
            }}@media (hover:none) and (pointer:coarse) {#liveActivity.live-activity {
                backdrop-filter: blur(10px) !important;
                -webkit-backdrop-filter: blur(10px) !important;
            }}.main-menu {
            justify-content: center !important;
        }#liveActivity.live-activity {
            align-items: center !important;
        }#liveActivity.live-activity::before {
            display: none !important;
        }.live-activity-icon {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            line-height: 1 !important;
            background: radial-gradient(circle at 25% 18%, rgba(255, 255, 255, .38), transparent 34%),
                linear-gradient(135deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .08)) !important;
            border: 1px solid rgba(255, 255, 255, .18) !important;
            position: relative !important;
            z-index: 1 !important;
        }.live-activity-text {
            min-width: 0 !important;
            display: flex !important;
            flex-direction: column !important;
            position: relative !important;
            z-index: 1 !important;
        }.live-proof-title {
            display: block !important;
            color: rgba(255, 255, 255, .78) !important;
            font-weight: 800 !important;
            text-transform: uppercase !important;
        }.live-proof-main {
            color: #ffffff !important;
        }.live-proof-badges {
            flex-wrap: wrap !important;
            gap: 5px !important;
            margin-top: 4px !important;
        }.live-proof-badges b {
            display: inline-flex !important;
            align-items: center !important;
            min-height: 20px !important;
            padding: 3px 7px !important;
            border-radius: 999px !important;
            color: #ffffff !important;
            font-size: 10px !important;
            line-height: 1 !important;
            font-weight: 900 !important;
            background: rgba(255, 255, 255, .14) !important;
            border: 1px solid rgba(255, 255, 255, .14) !important;
        }#liveActivity[data-proof-type="payos"] .live-activity-icon,
        #liveActivity[data-proof-type="paid"] .live-activity-icon {
            background: radial-gradient(circle at 22% 18%, rgba(255, 255, 255, .42), transparent 34%),
                linear-gradient(135deg, rgba(52, 211, 153, .38), rgba(16, 185, 129, .16)) !important;
            box-shadow: 0 10px 24px rgba(16, 185, 129, .18),
                inset 0 1px 0 rgba(255, 255, 255, .18) !important;
        }#liveActivity[data-proof-type="tomorrow"] .live-activity-icon {
            background: radial-gradient(circle at 22% 18%, rgba(255, 255, 255, .42), transparent 34%),
                linear-gradient(135deg, rgba(96, 165, 250, .38), rgba(59, 130, 246, .14)) !important;
        }#liveActivity[data-proof-type="premium"] .live-activity-icon {
            background: radial-gradient(circle at 22% 18%, rgba(255, 255, 255, .42), transparent 34%),
                linear-gradient(135deg, rgba(251, 191, 36, .42), rgba(244, 114, 182, .16)) !important;
        }#liveActivity[data-proof-type="pending"] .live-activity-icon {
            background: radial-gradient(circle at 22% 18%, rgba(255, 255, 255, .42), transparent 34%),
                linear-gradient(135deg, rgba(251, 146, 60, .40), rgba(251, 113, 133, .16)) !important;
        }@media (max-width:768px) {.live-proof-badges b {
                min-height: 18px !important;
                padding: 3px 6px !important;
                font-size: 9px !important;
            }}#liveActivity.live-activity {
            gap: 5px !important;
        }.live-activity-icon {
            width: 16px !important;
            height: 16px !important;
            flex: 0 0 16px !important;
            border-radius: 6px !important;
            font-size: 9px !important;
            box-shadow: 0 3px 8px rgba(0, 0, 0, .12),
                inset 0 1px 0 rgba(255, 255, 255, .10) !important;
        }.live-activity-text {
            gap: 0 !important;
        }.live-proof-title {
            font-size: 6.4px !important;
            line-height: 1 !important;
            letter-spacing: .005em !important;
        }.live-proof-main {
            font-size: 7.8px !important;
            line-height: 1.08 !important;
            font-weight: 700 !important;
            display: -webkit-box !important;
            -webkit-line-clamp: 2 !important;
            -webkit-box-orient: vertical !important;
            overflow: hidden !important;
        }.live-proof-badges {
            display: none !important;
        }#liveActivity.live-activity:not(.show) {
            transform: translateY(7px) scale(.98) !important;
        }@media (max-width:768px) {#liveActivity.live-activity {
                min-height: 19px !important;
                gap: 5px !important;
            }.live-activity-icon {
                width: 15px !important;
                height: 15px !important;
                flex-basis: 15px !important;
                border-radius: 6px !important;
                font-size: 8.5px !important;
            }.live-proof-title {
                font-size: 6px !important;
            }.live-proof-main {
                font-size: 7.4px !important;
                line-height: 1.06 !important;
            }}@media (max-width:390px) {#liveActivity.live-activity {
                max-width: min(190px, calc(100vw - 18px)) !important;
            }.live-proof-main {
                font-size: 7.1px !important;
            }}#liveActivity.live-activity {
            position: fixed !important;
            left: 18px !important;
            bottom: 18px !important;
            background: rgba(20, 20, 20, .92) !important;
            color: white !important;
            padding: 14px 16px !important;
            border-radius: 18px !important;
            z-index: 99999 !important;
            opacity: 0 !important;
            transform: translateY(20px) !important;
            transition: .4s !important;
            max-width: 300px !important;
            min-height: 0 !important;
            width: auto !important;
            display: block !important;
            box-shadow: 0 10px 30px rgba(0, 0, 0, .2) !important;
            backdrop-filter: blur(10px) !important;
            -webkit-backdrop-filter: blur(10px) !important;
            border: 0 !important;
            font-size: 13px !important;
            line-height: 1.45 !important;
            font-weight: 600 !important;
            letter-spacing: 0 !important;
            overflow: visible !important;
            white-space: normal !important;
        }#liveActivity.live-activity.show {
            opacity: 1 !important;
            transform: translateY(0) !important;
        }#liveActivityText {
            color: white !important;
            text-shadow: none !important;
            display: inline !important;
        }#liveActivity.live-activity::before,
        #liveActivity.live-activity::after,
        #liveActivityIcon,
        .live-activity-icon,
        .live-proof-title,
        .live-proof-main,
        .live-proof-badges {
            display: none !important;
        }@media (max-width:768px) {#liveActivity.live-activity {
                left: 12px !important;
                right: 12px !important;
                bottom: 12px !important;
                max-width: unset !important;
                font-size: 13px !important;
                padding: 14px 16px !important;
                border-radius: 18px !important;
                line-height: 1.45 !important;
            }}@media (max-width:768px) {body.home-detail-open #liveActivity.live-activity {
                bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important;
            }}@media (max-width:430px) {body.home-detail-open #liveActivity.live-activity {
                bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
            }}@media (max-width:768px) {.room-features span,
            .room-card .room-features span {
                font-size: 14px !important;
                line-height: 1.25 !important;
                padding: 8px 10px !important;
                min-height: 32px !important;
                border-radius: 999px !important;
            }}@media (max-width:430px) {.room-features span,
            .room-card .room-features span {
                font-size: 12.8px !important;
                line-height: 1.22 !important;
                padding: 7px 9px !important;
                min-height: 30px !important;
            }}@media (max-width:360px) {.room-features span,
            .room-card .room-features span {
                font-size: 12px !important;
                padding: 6px 8px !important;
                min-height: 28px !important;
            }}@media (min-width:769px) {.room-features span,
            .room-card .room-features span {
                font-size: 14px !important;
                line-height: 1.25 !important;
            }}@media (max-width:1024px) {.room-bottom-v32,
            .room-card .room-bottom-v32,
            .room-bottom {
                display: grid !important;
                grid-template-columns: minmax(0, 1fr) auto !important;
                align-items: center !important;
                gap: 10px !important;
            }.room-bottom-v32 .room-price,
            .room-card .room-bottom-v32 .room-price,
            .room-bottom .room-price {
                min-width: 0 !important;
                width: auto !important;
            }.room-bottom-v32 .room-btn,
            .room-card .room-bottom-v32 .room-btn,
            .room-bottom .room-btn {
                width: auto !important;
                min-width: 84px !important;
                justify-self: end !important;
                white-space: nowrap !important;
                text-align: center !important;
                flex: 0 0 auto !important;
            }}@media (max-width:768px) {.room-bottom-v32,
            .room-card .room-bottom-v32,
            .room-bottom {
                grid-template-columns: minmax(0, 1fr) auto !important;
                gap: 8px !important;
            }.room-bottom-v32 .room-price .price,
            .room-card .room-bottom-v32 .room-price .price,
            .room-bottom .room-price .price {
                font-size: 20px !important;
                line-height: 1.1 !important;
                white-space: nowrap !important;
            }.room-bottom-v32 .room-price .night,
            .room-card .room-bottom-v32 .room-price .night,
            .room-bottom .room-price .night {
                font-size: 10.5px !important;
                line-height: 1.15 !important;
                white-space: nowrap !important;
            }.room-bottom-v32 .room-btn,
            .room-card .room-bottom-v32 .room-btn,
            .room-bottom .room-btn {
                min-width: 78px !important;
                min-height: 33px !important;
                padding: 8px 10px !important;
                font-size: 10.8px !important;
                border-radius: 11px !important;
            }}@media (max-width:390px) {.room-bottom-v32,
            .room-card .room-bottom-v32,
            .room-bottom {
                gap: 6px !important;
            }.room-bottom-v32 .room-price .price,
            .room-card .room-bottom-v32 .room-price .price,
            .room-bottom .room-price .price {
                font-size: 18px !important;
            }.room-bottom-v32 .room-btn,
            .room-card .room-bottom-v32 .room-btn,
            .room-bottom .room-btn {
                min-width: 72px !important;
                padding: 7px 9px !important;
                font-size: 10px !important;
            }}img {
            image-rendering: auto;
            -ms-interpolation-mode: bicubic;
        }.room-image,
        #coverImage,
        #homeDetailPage .gallery-airbnb img,
        .blog-card img,
        .review-image,
        .story-avatar img {
            background: linear-gradient(135deg, #eee8e3, #f8f5f2);
        }.room-image-wrap,
        #coverImage,
        #homeDetailPage .gallery-airbnb,
        .blog-card,
        .review-card {
            contain: layout paint;
        }.highlights-section,
        #gallery,
        #blogGallery,
        #reviewGrid,
        #homeDetailPage .section {
            content-visibility: auto;
            contain-intrinsic-size: 420px;
        }#homeDetailPage .section:has(#galleryImages) {
            contain-intrinsic-size: 720px;
        }.gallery-deferred-placeholder {
            min-height: 320px;
            display: grid;
            place-content: center;
            justify-items: center;
            gap: 8px;
            padding: 28px;
            border: 1px solid rgba(216, 157, 121, .16);
            border-radius: 22px;
            background: radial-gradient(circle at 100% 0, rgba(216, 157, 121, .14), transparent 38%),
                linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(248, 244, 240, .88));
            text-align: center;
            color: #6d625d;
        }.gallery-deferred-placeholder>span {
            width: 54px;
            height: 54px;
            border-radius: 18px;
            background: linear-gradient(90deg,
                    rgba(216, 157, 121, .13) 20%,
                    rgba(216, 157, 121, .27) 45%,
                    rgba(216, 157, 121, .13) 70%);
            background-size: 220% 100%;
            animation: h3cnHdShimmer 1.25s linear infinite;
        }.gallery-deferred-placeholder strong {
            color: #302a27;
            font-size: 15px;
            font-weight: 800;
        }.gallery-deferred-placeholder small {
            max-width: 390px;
            font-size: 11px;
            line-height: 1.55;
        }body.home-detail-loading #coverImage {
            opacity: .45;
            filter: blur(4px);
        }#coverImage {
            transition: opacity .24s ease, filter .24s ease;
        }.booking-flow-strip {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 13px;
            padding: 10px 12px;
            border: 1px solid rgba(216, 157, 121, .15);
            border-radius: 15px;
            background: rgba(255, 255, 255, .72);
            color: #625650;
            font-size: 10.5px;
            font-weight: 700;
        }.booking-flow-strip span {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            min-width: 0;
        }.booking-flow-strip b {
            width: 21px;
            height: 21px;
            display: inline-grid;
            place-items: center;
            border-radius: 50%;
            background: linear-gradient(135deg, #d89d79, #875845);
            color: white;
            font-size: 9px;
        }.booking-flow-strip i {
            color: #bd9a85;
            font-style: normal;
            font-size: 16px;
        }@keyframes h3cnHdShimmer {to {
                background-position: -120% 0;
            }}@media (max-width: 768px) {.booking-flow-strip {
                display: grid;
                grid-template-columns: 1fr auto 1fr auto 1.35fr;
                gap: 5px;
                padding: 9px;
                font-size: 8.7px;
            }.booking-flow-strip span {
                display: grid;
                justify-items: center;
                gap: 4px;
                text-align: center;
                line-height: 1.22;
            }.booking-flow-strip b {
                width: 19px;
                height: 19px;
                font-size: 8px;
            }.gallery-deferred-placeholder {
                min-height: 230px;
                padding: 20px 14px;
                border-radius: 17px;
            }.gallery-deferred-placeholder strong {
                font-size: 13px;
            }.gallery-deferred-placeholder small {
                font-size: 9.5px;
            }.room-card,
            .blog-card,
            .review-card,
            .gallery-deferred-placeholder {
                backdrop-filter: none !important;
                -webkit-backdrop-filter: none !important;
            }}@media (prefers-reduced-motion: reduce) {.gallery-deferred-placeholder>span {
                animation: none;
            }#coverImage {
                transition: none;
            }}.secondary-content-loading {
            min-height: 260px;
        }.secondary-skeleton-card {
            min-width: 0;
            overflow: hidden;
            border: 1px solid rgba(216, 157, 121, .13);
            border-radius: 20px;
            background: rgba(255, 255, 255, .9);
            box-shadow: 0 10px 28px rgba(52, 39, 32, .055);
            pointer-events: none;
            user-select: none;
        }.secondary-skeleton-media,
        .secondary-skeleton-line,
        .secondary-media-shell::before,
        .live-activity-skeleton i,
        .live-activity-skeleton em {
            background: linear-gradient(90deg, rgba(229, 220, 213, .72) 10%, rgba(250, 247, 244, .98) 43%, rgba(229, 220, 213, .72) 76%);
            background-size: 220% 100%;
            animation: secondarySkeletonShimmer 1.25s ease-in-out infinite;
        }.secondary-skeleton-media {
            width: 100%;
            aspect-ratio: 4 / 3;
        }.secondary-skeleton-body {
            display: grid;
            gap: 10px;
            padding: 15px;
        }.secondary-skeleton-line {
            display: block;
            width: 100%;
            height: 10px;
            border-radius: 999px;
        }.secondary-skeleton-line.short {
            width: 58%;
        }.secondary-skeleton-line.medium {
            width: 78%;
        }.secondary-content-state {
            min-height: 250px;
            display: grid;
            place-items: center;
            align-content: center;
            gap: 8px;
            padding: 28px 20px;
            border: 1px dashed rgba(216, 157, 121, .26);
            border-radius: 20px;
            background: rgba(255, 255, 255, .72);
            text-align: center;
        }.secondary-content-state strong {
            color: #453832;
            font-size: 14px;
        }.secondary-content-state small {
            max-width: 310px;
            color: #81736c;
            font-size: 10px;
            line-height: 1.55;
        }.secondary-media-shell {
            position: relative;
            min-height: 180px;
            overflow: hidden;
            background: #f3efec;
        }.secondary-media-shell::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 0;
            transition: opacity .2s ease;
        }.secondary-media-shell.is-loaded::before {
            opacity: 0;
        }.secondary-media-shell img {
            position: relative;
            z-index: 1;
            min-height: 180px;
            opacity: 0;
            transition: opacity .24s ease;
        }.secondary-media-shell.is-loaded img {
            opacity: 1;
        }.live-activity-skeleton {
            min-width: 230px;
            display: grid;
            grid-template-columns: 34px minmax(0, 1fr);
            gap: 10px;
            align-items: center;
        }.live-activity-skeleton i {
            width: 34px;
            height: 34px;
            border-radius: 50%;
        }.live-activity-skeleton span {
            display: grid;
            gap: 7px;
        }.live-activity-skeleton em {
            width: 100%;
            height: 8px;
            border-radius: 999px;
        }.live-activity-skeleton em:last-child {
            width: 62%;
        }@keyframes secondarySkeletonShimmer {to {
                background-position: -120% 0;
            }}@media (max-width: 640px) {.secondary-content-loading {
                min-height: 220px;
            }.secondary-skeleton-card {
                border-radius: 16px;
            }.secondary-skeleton-body {
                padding: 12px;
            }.secondary-content-state {
                min-height: 210px;
                padding: 22px 14px;
                border-radius: 17px;
            }.secondary-content-state strong {
                font-size: 13px;
            }.secondary-content-state small {
                font-size: 9.5px;
            }.secondary-media-shell,
            .secondary-media-shell img {
                min-height: 145px;
            }.live-activity.is-loading {
                min-width: 205px;
            }}@media (prefers-reduced-motion: reduce) {.secondary-skeleton-media,
            .secondary-skeleton-line,
            .secondary-media-shell::before,
            .live-activity-skeleton i,
            .live-activity-skeleton em {
                animation: none;
            }.secondary-media-shell::before,
            .secondary-media-shell img {
                transition: none;
            }}:root {
            --about-ink: #222222;
            --about-muted: #626262;
            --about-soft: #f8f8f8;
            --about-line: #e8e8e8;
            --about-accent: #d17b5b;
            --about-accent-dark: #7a4a38;
            --about-peach: #fff3ed;
            --about-sage: #eef7ef;
            --about-sky: #eef6fb;
            --about-lilac: #f5f0fb;
            --about-sun: #fff8e8;
            --about-shadow: 0 10px 30px rgba(34, 34, 34, .065);
        }#about {
            display: none;
        }html.about-route #about,
        body.customer-about-route #about {
            display: block;
        }html.about-route .highlights-section,
        html.about-route .tabs,
        html.about-route .stats-bar,
        html.about-route #homes,
        html.about-route #calendarPage,
        html.about-route #gallery,
        body.customer-about-route .highlights-section,
        body.customer-about-route .tabs,
        body.customer-about-route .stats-bar,
        body.customer-about-route #homes,
        body.customer-about-route #calendarPage,
        body.customer-about-route #gallery {
            display: none !important;
        }html.about-route #hero .flash-sale-card,
        body.customer-about-route #hero .flash-sale-card {
            display: none !important;
        }.main-menu a.is-active {
            position: relative;
            color: var(--about-accent-dark) !important;
            font-weight: 800 !important;
        }.main-menu a.is-active::after {
            content: "";
            position: absolute;
            right: 0;
            bottom: -8px;
            left: 0;
            height: 2px;
            border-radius: 999px;
            background: currentColor;
        }.about-editorial-section {
            padding: clamp(58px, 6vw, 82px) 0 clamp(72px, 8vw, 104px);
            background: radial-gradient(circle at 10% 8%, rgba(255, 232, 219, .5), transparent 28%),
                radial-gradient(circle at 92% 55%, rgba(226, 243, 232, .46), transparent 26%),
                linear-gradient(180deg, #ffffff 0%, #fffdfc 48%, #fbfdfc 100%);
            color: var(--about-ink);
            overflow: clip;
        }#about>.container {
            width: min(calc(100% - 48px), 1120px);
            max-width: none;
            margin-inline: auto;
            padding: 0;
        }.about-editorial-content {
            opacity: 1;
            visibility: visible;
            transition: opacity .22s ease;
        }.about-editorial-section p,
        .about-intro-quote blockquote,
        .about-inspiration-main blockquote {
            text-align: justify;
            text-align-last: left;
            text-justify: inter-word;
            hyphens: auto;
            overflow-wrap: break-word;
        }.about-editorial-skeleton {
            display: none;
        }#about.about-page-loading .about-editorial-content {
            opacity: 0;
            visibility: hidden;
        }#about.about-page-loading .about-editorial-skeleton {
            min-height: 420px;
            display: grid;
            align-content: start;
            gap: 15px;
        }#about.about-page-loading .about-editorial-skeleton>span,
        #about.about-page-loading .about-editorial-skeleton>b,
        #about.about-page-loading .about-editorial-skeleton>i,
        #about.about-page-loading .about-editorial-skeleton em {
            display: block;
            border-radius: 999px;
            background: linear-gradient(90deg, #f0ece9 20%, #faf8f6 48%, #f0ece9 76%);
            background-size: 220% 100%;
            animation: aboutSkeleton 1.15s ease-in-out infinite;
        }#about.about-page-loading .about-editorial-skeleton>span {
            width: 130px;
            height: 12px;
        }#about.about-page-loading .about-editorial-skeleton>b {
            width: min(640px, 90%);
            height: 48px;
        }#about.about-page-loading .about-editorial-skeleton>i {
            width: min(760px, 100%);
            height: 14px;
        }#about.about-page-loading .about-editorial-skeleton>i.short {
            width: min(520px, 72%);
        }#about.about-page-loading .about-editorial-skeleton>div {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px;
            margin-top: 28px;
        }#about.about-page-loading .about-editorial-skeleton em {
            height: 170px;
            border-radius: 22px;
        }@keyframes aboutSkeleton {to {
                background-position: -120% 0;
            }}.about-intro-panel {
            display: grid;
            grid-template-columns: minmax(0, 1.22fr) minmax(300px, .78fr);
            gap: clamp(34px, 5vw, 64px);
            align-items: center;
            padding-bottom: 58px;
            border-bottom: 1px solid var(--about-line);
        }.about-intro-copy {
            min-width: 0;
        }.about-intro-copy>span,
        .about-belief-section>header>span {
            display: inline-flex;
            align-items: center;
            margin-bottom: 14px;
            color: var(--about-accent-dark);
            font-size: 12px;
            font-weight: 800;
            line-height: 1.35;
            letter-spacing: .11em;
        }.about-intro-copy h1 {
            max-width: 680px;
            margin: 0 0 22px;
            color: var(--about-ink);
            font-size: clamp(36px, 4vw, 48px);
            font-weight: 700;
            line-height: 1.12;
            letter-spacing: -.038em;
            text-wrap: balance;
        }.about-intro-copy p {
            max-width: 760px;
            margin: 0 0 17px;
            color: var(--about-muted);
            font-size: 16px;
            font-weight: 400;
            line-height: 1.78;
        }.about-intro-copy p:last-child {
            margin-bottom: 0;
        }.about-intro-copy .about-intro-lead {
            color: #484848;
            font-size: 18px;
            font-weight: 500;
            line-height: 1.7;
        }.about-intro-quote {
            position: relative;
            min-width: 0;
            padding: 30px;
            border: 1px solid var(--about-line);
            border-radius: 26px;
            background: #fff;
            box-shadow: var(--about-shadow);
        }.about-intro-quote>span {
            display: block;
            height: 42px;
            color: #d8a58a;
            font-family: Georgia, serif;
            font-size: 66px;
            line-height: .85;
        }.about-intro-quote blockquote {
            margin: 8px 0 20px;
            color: #343434;
            font-size: 20px;
            font-weight: 600;
            line-height: 1.55;
            letter-spacing: -.018em;
        }.about-intro-quote small {
            display: block;
            color: var(--about-muted);
            font-size: 13px;
            font-weight: 700;
        }.about-journey-section {
            padding-top: 54px;
        }.journey-v51-overview {
            display: grid;
            grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
            gap: clamp(34px, 5vw, 58px);
            align-items: start;
        }.journey-v51-heading {
            min-width: 0;
        }.journey-v51-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin-bottom: 16px;
            color: var(--about-accent-dark);
            font-size: 14px;
            font-weight: 800;
            line-height: 1.35;
            letter-spacing: .11em;
        }.journey-v51-eyebrow>i {
            width: 9px;
            height: 9px;
            flex: 0 0 auto;
            border-radius: 50%;
            background: #d89d79;
            box-shadow: 0 0 0 5px rgba(216, 157, 121, .14);
        }.journey-v51-heading h2 {
            margin: 0;
            color: var(--about-ink);
            font-size: clamp(35px, 4vw, 44px);
            font-weight: 700;
            line-height: 1.1;
            letter-spacing: -.042em;
            text-wrap: balance;
        }.journey-v51-heading>p {
            max-width: 560px;
            margin: 20px 0 0;
            color: var(--about-muted);
            font-size: 16px;
            line-height: 1.76;
        }.journey-v51-signature {
            display: grid;
            grid-template-columns: auto minmax(22px, 1fr) auto minmax(22px, 1fr) auto;
            gap: 10px;
            align-items: center;
            margin-top: 27px;
        }.journey-v51-signature span {
            color: #3d3d3d;
            font-size: 14px;
            font-weight: 800;
            line-height: 1.35;
            white-space: nowrap;
        }.journey-v51-signature i {
            height: 1px;
            background: var(--about-line);
        }.journey-v51-value-panel {
            padding: 24px;
            border: 1px solid #f0ded5;
            border-radius: 26px;
            background: linear-gradient(145deg, #ffffff 0%, #fff9f6 100%);
            box-shadow: 0 14px 34px rgba(122, 74, 56, .075);
        }.journey-v51-panel-title {
            display: grid;
            grid-template-columns: 46px minmax(0, 1fr);
            gap: 14px;
            align-items: center;
            margin-bottom: 16px;
        }.journey-v51-heart,
        .journey-v51-value-icon {
            display: grid;
            place-items: center;
            flex: 0 0 auto;
            color: #fff;
            background: linear-gradient(135deg, #e59a79, #b8664a);
        }.journey-v51-value-grid .journey-v51-value-icon {
            background: var(--value-icon);
            box-shadow: 0 7px 16px color-mix(in srgb, var(--value-icon) 24%, transparent);
        }.journey-v51-heart {
            width: 46px;
            height: 46px;
            border-radius: 15px;
            font-size: 18px;
        }.journey-v51-panel-title>div {
            min-width: 0;
            display: grid;
            gap: 5px;
        }.journey-v51-panel-title small {
            color: var(--about-accent-dark);
            font-size: 12px;
            font-weight: 800;
            line-height: 1.45;
            letter-spacing: .075em;
        }.journey-v51-panel-title strong {
            color: #303030;
            font-size: 18px;
            font-weight: 700;
            line-height: 1.4;
        }.journey-v51-value-grid {
            display: grid;
            gap: 10px;
        }.journey-v51-value-grid article {
            --value-bg: var(--about-peach);
            --value-icon: #d17b5b;
            min-width: 0;
            display: grid;
            grid-template-columns: 42px minmax(0, 1fr);
            gap: 13px;
            align-items: start;
            padding: 16px;
            border: 1px solid rgba(34, 34, 34, .06);
            border-radius: 18px;
            background: linear-gradient(145deg, #ffffff 0%, var(--value-bg) 100%);
        }.journey-v51-value-grid article:nth-child(2) {
            --value-bg: var(--about-sky);
            --value-icon: #5d8fa8;
        }.journey-v51-value-grid article:nth-child(3) {
            --value-bg: var(--about-sage);
            --value-icon: #5f8d67;
        }.journey-v51-value-icon {
            width: 42px;
            height: 42px;
            border-radius: 14px;
            font-size: 16px;
        }.journey-v51-value-grid article>div {
            min-width: 0;
        }.journey-v51-value-grid strong {
            display: block;
            margin-bottom: 5px;
            color: #303030;
            font-size: 15.5px;
            font-weight: 700;
            line-height: 1.4;
        }.journey-v51-value-grid p {
            margin: 0;
            color: var(--about-muted);
            font-size: 14.5px;
            line-height: 1.65;
        }.journey-v51-divider {
            display: grid;
            grid-template-columns: minmax(20px, 1fr) auto minmax(20px, 1fr);
            gap: 20px;
            align-items: center;
            margin: 66px 0 38px;
        }.journey-v51-divider>span {
            height: 1px;
            background: var(--about-line);
        }.journey-v51-divider strong {
            color: #4b4b4b;
            font-size: 19px;
            font-weight: 800;
            line-height: 1.35;
            letter-spacing: .105em;
            text-align: center;
        }.about-journey-timeline {
            position: relative;
            display: grid;
            gap: 28px;
        }.about-journey-timeline::before {
            content: "";
            position: absolute;
            top: 31px;
            bottom: 31px;
            left: 198px;
            width: 3px;
            border-radius: 999px;
            background: linear-gradient(180deg, #e59a79 0%, #7ba5bd 49%, #74a37a 100%);
            opacity: .66;
        }.about-journey-item {
            --stage-accent: #d77b59;
            --stage-dark: #8a4f38;
            --stage-soft: #fff2ec;
            --stage-border: #f2d2c5;
            position: relative;
            display: grid;
            grid-template-columns: 154px 88px minmax(0, 1fr);
            grid-template-areas: "meta marker card";
            align-items: start;
        }.about-journey-item:nth-child(2) {
            --stage-accent: #6394ad;
            --stage-dark: #426f86;
            --stage-soft: #edf7fc;
            --stage-border: #cfe4ee;
        }.about-journey-item:nth-child(3) {
            --stage-accent: #67966d;
            --stage-dark: #4f7d55;
            --stage-soft: #eef8ef;
            --stage-border: #d0e5d2;
        }.about-journey-meta {
            grid-area: meta;
            width: 100%;
            min-width: 0;
            display: grid;
            gap: 4px;
            align-self: start;
            margin: 0 18px 0 0;
            padding: 17px 18px;
            border: 1px solid var(--stage-border);
            border-radius: 20px;
            background: linear-gradient(145deg, #ffffff 0%, var(--stage-soft) 100%);
            box-shadow: 0 10px 24px color-mix(in srgb, var(--stage-accent) 13%, transparent);
            text-align: left;
        }.about-journey-meta time {
            color: var(--stage-dark);
            font-size: 22px;
            font-weight: 800;
            line-height: 1.12;
            letter-spacing: -.03em;
        }.about-journey-meta strong {
            color: #565656;
            font-size: 16.5px;
            font-weight: 700;
            line-height: 1.35;
        }.about-journey-marker {
            grid-area: marker;
            position: relative;
            z-index: 2;
            display: grid;
            place-items: start center;
            padding-top: 10px;
        }.about-journey-marker::after {
            content: "";
            position: absolute;
            top: 42px;
            right: -7px;
            width: 24px;
            height: 2px;
            border-radius: 999px;
            background: var(--stage-border);
        }.about-journey-marker>span {
            width: 66px;
            height: 66px;
            display: grid;
            place-items: center;
            border: 7px solid #fff;
            border-radius: 50%;
            background: var(--stage-accent);
            color: #fff;
            box-shadow: 0 0 0 1px var(--stage-border), 0 8px 20px color-mix(in srgb, var(--stage-accent) 24%, transparent);
            font-size: 19px;
            font-weight: 800;
            letter-spacing: -.02em;
        }.about-journey-card {
            grid-area: card;
            position: relative;
            min-width: 0;
            margin-left: 0;
            padding: 27px 28px 28px;
            border: 1px solid var(--stage-border);
            border-radius: 26px;
            background: linear-gradient(145deg, #ffffff 0%, color-mix(in srgb, var(--stage-soft) 52%, #fff) 100%);
            box-shadow: 0 10px 28px rgba(34, 34, 34, .06);
            transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
        }.about-journey-card::before {
            content: "";
            display: block;
            width: 58px;
            height: 4px;
            margin: 0 0 16px;
            border-radius: 999px;
            background: linear-gradient(90deg, var(--stage-accent), color-mix(in srgb, var(--stage-accent) 55%, #fff));
        }.about-journey-card-head {
            display: block;
            padding-bottom: 18px;
            border-bottom: 1px solid rgba(34, 34, 34, .08);
        }.about-journey-card-head>div {
            min-width: 0;
        }.about-journey-card-head small {
            display: block;
            margin-bottom: 7px;
            color: var(--stage-dark);
            font-size: 12px;
            font-weight: 800;
            line-height: 1.35;
            letter-spacing: .1em;
        }.about-journey-card-head h3 {
            margin: 0;
            color: #292929;
            font-size: 23px;
            font-weight: 700;
            line-height: 1.28;
            letter-spacing: -.026em;
        }.about-journey-card-head p {
            margin: 8px 0 0;
            color: var(--about-muted);
            font-size: 14.5px;
            line-height: 1.55;
        }.about-journey-story {
            display: grid;
            gap: 12px;
            padding: 20px 0;
        }.about-journey-story p {
            margin: 0;
            color: var(--about-muted);
            font-size: 15.5px;
            line-height: 1.74;
        }.about-journey-impact {
            display: flex;
            flex-wrap: wrap;
            gap: 9px;
        }.about-journey-impact span {
            min-height: 35px;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 8px 12px;
            border: 1px solid var(--stage-border);
            border-radius: 999px;
            background: var(--stage-soft);
            color: #4b4b4b;
            font-size: 13px;
            font-weight: 700;
            line-height: 1.35;
        }.about-journey-impact i {
            color: var(--stage-accent);
        }.about-belief-section {
            margin-top: 78px;
            padding-top: 72px;
            border-top: 1px solid var(--about-line);
            content-visibility: auto;
            contain-intrinsic-size: 620px;
        }.about-belief-section>header {
            max-width: 720px;
            margin-bottom: 32px;
        }.about-belief-section>header h2 {
            margin: 0;
            color: var(--about-ink);
            font-size: clamp(31px, 3.4vw, 40px);
            font-weight: 700;
            line-height: 1.15;
            letter-spacing: -.035em;
            text-wrap: balance;
        }.about-belief-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 18px;
        }.about-belief-grid article {
            --belief-accent: #d77b59;
            --belief-bg: #fff3ed;
            --belief-border: #f1d5c9;
            position: relative;
            min-width: 0;
            display: grid;
            grid-template-columns: 52px minmax(0, 1fr);
            column-gap: 17px;
            row-gap: 8px;
            align-items: start;
            padding: 25px;
            border: 1px solid var(--belief-border);
            border-radius: 24px;
            background: linear-gradient(150deg, #ffffff 0%, var(--belief-bg) 100%);
            box-shadow: 0 10px 28px rgba(34, 34, 34, .055);
            overflow: hidden;
            transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
        }.about-belief-grid article:nth-child(2) {
            --belief-accent: #5f91aa;
            --belief-bg: #eef7fb;
            --belief-border: #d3e7f0;
        }.about-belief-grid article:nth-child(3) {
            --belief-accent: #8b73ac;
            --belief-bg: #f5f0fb;
            --belief-border: #e4d9f0;
        }.about-belief-grid article:nth-child(4) {
            --belief-accent: #5f8d67;
            --belief-bg: #eef7ef;
            --belief-border: #d3e6d6;
        }.about-belief-grid article:nth-child(5) {
            --belief-accent: #b18a43;
            --belief-bg: #fff8e8;
            --belief-border: #efe0b9;
            grid-column: 1 / -1;
            width: calc(50% - 9px);
            justify-self: center;
        }.about-belief-grid article::before {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            left: 0;
            height: 4px;
            background: linear-gradient(90deg, var(--belief-accent), color-mix(in srgb, var(--belief-accent) 42%, #fff));
        }.about-belief-grid article>i {
            width: 48px;
            height: 48px;
            display: grid;
            place-items: center;
            grid-row: 1 / span 2;
            margin-bottom: 0;
            border-radius: 16px;
            background: var(--belief-accent);
            color: #fff;
            box-shadow: 0 8px 18px color-mix(in srgb, var(--belief-accent) 22%, transparent);
            font-size: 19px;
        }.about-belief-grid strong {
            grid-column: 2;
            display: block;
            margin-bottom: 0;
            color: #303030;
            font-size: 17px;
            font-weight: 700;
            line-height: 1.42;
        }.about-belief-grid p {
            grid-column: 2;
            margin: 0;
            color: var(--about-muted);
            font-size: 15px;
            line-height: 1.7;
        }.about-inspiration-panel {
            display: grid;
            grid-template-columns: minmax(0, 1.12fr) minmax(250px, .88fr) auto;
            gap: 28px;
            align-items: center;
            margin-top: 72px;
            padding: 32px;
            border: 1px solid var(--about-line);
            border-radius: 28px;
            background: var(--about-soft);
            content-visibility: auto;
            contain-intrinsic-size: 250px;
        }.about-inspiration-main {
            min-width: 0;
            display: grid;
            grid-template-columns: 36px minmax(0, 1fr);
            gap: 13px;
            align-items: start;
        }.about-inspiration-main>span {
            color: #d8a58a;
            font-family: Georgia, serif;
            font-size: 58px;
            line-height: .8;
        }.about-inspiration-main blockquote {
            margin: 0;
            color: #2f2f2f;
            font-size: 26px;
            font-weight: 700;
            line-height: 1.35;
            letter-spacing: -.028em;
        }.about-inspiration-lines {
            display: grid;
            gap: 8px;
        }.about-inspiration-lines p,
        .about-inspiration-lines strong {
            margin: 0;
            font-size: 14.5px;
            line-height: 1.55;
        }.about-inspiration-lines p {
            color: var(--about-muted);
        }.about-inspiration-lines strong {
            color: #3b3b3b;
            font-weight: 700;
        }.about-inspiration-panel>a {
            min-height: 48px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 12px 20px;
            border-radius: 12px;
            background: #222;
            color: #fff;
            text-decoration: none;
            font-size: 14px;
            font-weight: 700;
            white-space: nowrap;
            transition: transform .2s ease, background-color .2s ease;
        }@media (hover: hover) and (pointer: fine) {.about-journey-card:hover,
            .about-belief-grid article:hover {
                transform: translateY(-4px);
                box-shadow: 0 16px 36px rgba(34, 34, 34, .085);
            }.about-inspiration-panel>a:hover {
                transform: translateY(-2px);
                background: #000;
            }}@media (max-width: 900px) {#about>.container {
                width: min(calc(100% - 40px), 760px);
            }.about-editorial-section {
                padding: 56px 0 82px;
            }.about-intro-panel,
            .journey-v51-overview {
                grid-template-columns: 1fr;
            }.about-intro-panel {
                gap: 30px;
                padding-bottom: 48px;
            }.about-intro-quote {
                max-width: 620px;
            }.about-journey-section {
                padding-top: 46px;
            }.journey-v51-value-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }.journey-v51-value-grid article {
                grid-template-columns: 1fr;
            }.about-journey-timeline::before {
                left: 163px;
            }.about-journey-item {
                grid-template-columns: 126px 74px minmax(0, 1fr);
            }.about-journey-meta {
                margin-right: 14px;
                padding: 15px 14px;
                border-radius: 18px;
            }.about-journey-meta time {
                font-size: 19.5px;
            }.about-journey-meta strong {
                font-size: 15.5px;
            }.about-journey-marker {
                padding-top: 9px;
            }.about-journey-marker::after {
                top: 38px;
                right: -6px;
                width: 21px;
            }.about-journey-marker>span {
                width: 58px;
                height: 58px;
                border-width: 6px;
                font-size: 17px;
            }.about-journey-card {
                padding: 23px 24px 24px;
            }.about-belief-grid article {
                padding: 22px;
            }.about-inspiration-panel {
                grid-template-columns: minmax(0, 1fr) minmax(230px, .8fr);
            }.about-inspiration-panel>a {
                grid-column: 1 / -1;
                width: fit-content;
            }}@media (max-width: 640px) {#about>.container {
                width: calc(100% - 28px);
            }.about-editorial-section {
                padding: 42px 0 64px;
            }#about.about-page-loading .about-editorial-skeleton>div {
                grid-template-columns: 1fr;
            }#about.about-page-loading .about-editorial-skeleton em {
                height: 126px;
            }.about-intro-panel {
                gap: 24px;
                padding-bottom: 40px;
            }.about-intro-copy>span,
            .about-belief-section>header>span {
                margin-bottom: 11px;
                font-size: 11px;
            }.about-intro-copy h1 {
                margin-bottom: 18px;
                font-size: clamp(29px, 8.6vw, 35px);
                line-height: 1.15;
            }.about-intro-copy .about-intro-lead {
                font-size: 16.5px;
                line-height: 1.68;
            }.about-intro-copy p {
                margin-bottom: 15px;
                font-size: 15.5px;
                line-height: 1.72;
            }.about-intro-quote {
                padding: 22px;
                border-radius: 21px;
            }.about-intro-quote>span {
                height: 34px;
                font-size: 54px;
            }.about-intro-quote blockquote {
                margin: 7px 0 16px;
                font-size: 18px;
                line-height: 1.52;
            }.about-journey-section {
                padding-top: 38px;
            }.journey-v51-eyebrow {
                margin-bottom: 13px;
                font-size: 12.5px;
            }.journey-v51-heading h2 {
                font-size: clamp(30px, 8.5vw, 35px);
            }.journey-v51-heading>p {
                margin-top: 16px;
                font-size: 15.5px;
                line-height: 1.7;
            }.journey-v51-signature {
                gap: 7px;
                margin-top: 22px;
            }.journey-v51-signature span {
                font-size: 13px;
            }.journey-v51-value-panel {
                padding: 18px;
                border-radius: 22px;
            }.journey-v51-panel-title {
                grid-template-columns: 42px minmax(0, 1fr);
                gap: 12px;
            }.journey-v51-heart {
                width: 42px;
                height: 42px;
                border-radius: 14px;
            }.journey-v51-panel-title small {
                font-size: 10.5px;
            }.journey-v51-panel-title strong {
                font-size: 16px;
            }.journey-v51-value-grid {
                grid-template-columns: 1fr;
            }.journey-v51-value-grid article {
                grid-template-columns: 40px minmax(0, 1fr);
                padding: 14px;
            }.journey-v51-value-icon {
                width: 40px;
                height: 40px;
            }.journey-v51-value-grid strong {
                font-size: 15px;
            }.journey-v51-value-grid p {
                font-size: 14px;
            }.journey-v51-divider {
                gap: 10px;
                margin: 48px 0 28px;
            }.journey-v51-divider strong {
                font-size: 13px;
                letter-spacing: .075em;
            }.about-journey-timeline {
                gap: 22px;
            }.about-journey-timeline::before {
                display: none;
            }.about-journey-item {
                grid-template-columns: minmax(0, 1fr) 56px;
                grid-template-areas: "meta marker"
                    "card card";
                row-gap: 14px;
            }.about-journey-meta {
                width: min(162px, 100%);
                justify-self: start;
                margin: 0;
                padding: 13px 15px;
                border-radius: 17px;
            }.about-journey-meta time {
                font-size: 19px;
            }.about-journey-meta strong {
                font-size: 15.5px;
            }.about-journey-marker {
                align-self: center;
                padding-top: 0;
            }.about-journey-marker::after {
                display: none;
            }.about-journey-marker>span {
                width: 52px;
                height: 52px;
                border-width: 6px;
                font-size: 16px;
            }.about-journey-card {
                padding: 20px;
                border-radius: 21px;
            }.about-journey-card-head {
                padding-bottom: 15px;
            }.about-journey-card-head small {
                font-size: 10.5px;
            }.about-journey-card-head h3 {
                font-size: 19.5px;
            }.about-journey-card-head p {
                font-size: 13.5px;
            }.about-journey-story {
                gap: 10px;
                padding: 16px 0;
            }.about-journey-story p {
                font-size: 14.5px;
                line-height: 1.7;
            }.about-journey-impact {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 8px;
            }.about-journey-impact span {
                width: 100%;
                min-height: 46px;
                justify-content: center;
                padding: 8px 7px;
                border-radius: 13px;
                font-size: 12px;
                text-align: center;
            }.about-belief-section {
                margin-top: 58px;
                padding-top: 52px;
            }.about-belief-section>header {
                margin-bottom: 22px;
            }.about-belief-section>header h2 {
                font-size: clamp(28px, 8vw, 34px);
            }.about-belief-grid {
                grid-template-columns: 1fr;
                gap: 12px;
            }.about-belief-grid article,
            .about-belief-grid article:nth-child(4),
            .about-belief-grid article:nth-child(5) {
                grid-column: 1;
                width: 100%;
                max-width: none;
                padding: 20px;
                border-radius: 20px;
            }.about-belief-grid article>i {
                width: 45px;
                height: 45px;
                margin-bottom: 0;
            }.about-belief-grid strong {
                font-size: 16px;
            }.about-belief-grid p {
                font-size: 14.5px;
            }.about-inspiration-panel {
                grid-template-columns: 1fr;
                gap: 20px;
                margin-top: 52px;
                padding: 22px;
                border-radius: 22px;
            }.about-inspiration-main {
                grid-template-columns: 28px minmax(0, 1fr);
                gap: 9px;
            }.about-inspiration-main>span {
                font-size: 48px;
            }.about-inspiration-main blockquote {
                font-size: 22px;
            }.about-inspiration-lines p,
            .about-inspiration-lines strong {
                font-size: 14px;
            }.about-inspiration-panel>a {
                width: 100%;
            }}@media (max-width: 390px) {#about>.container {
                width: calc(100% - 24px);
            }.about-intro-copy h1 {
                font-size: 28px;
            }.journey-v51-divider strong {
                max-width: 210px;
            }.about-journey-card {
                padding: 17px;
            }}@media (prefers-reduced-motion: reduce) {.about-editorial-content,
            .about-journey-card,
            .about-belief-grid article,
            .about-inspiration-panel>a {
                transition: none;
            }#about.about-page-loading .about-editorial-skeleton>span,
            #about.about-page-loading .about-editorial-skeleton>b,
            #about.about-page-loading .about-editorial-skeleton>i,
            #about.about-page-loading .about-editorial-skeleton em {
                animation: none;
            }}body.home-detail-open #pricingPreview {
            display: grid !important;
            grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
            gap: 7px !important;
            min-height: 0 !important;
            margin-bottom: 12px !important;
        }body.home-detail-open #homeDetailPage .price-preview-card {
            min-width: 0 !important;
            min-height: 64px !important;
            padding: 9px 7px !important;
            border: 1px solid #ece7e3 !important;
            border-radius: 14px !important;
            background: #fff !important;
            box-shadow: 0 4px 12px rgba(44, 32, 27, .045) !important;
            text-align: center !important;
            transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
        }body.home-detail-open #homeDetailPage .price-preview-label {
            margin: 0 0 3px !important;
            color: #7d746f !important;
            font-size: 11px !important;
            font-weight: 700 !important;
            line-height: 1.2 !important;
        }body.home-detail-open #homeDetailPage .price-preview-value {
            max-width: 100% !important;
            color: #e74c6b !important;
            font-size: clamp(13.5px, 1.2vw, 16px) !important;
            font-weight: 800 !important;
            line-height: 1.15 !important;
            letter-spacing: -.35px !important;
            white-space: nowrap !important;
        }body.home-detail-open #homeDetailPage .pricing-details summary {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 38px;
            padding: 8px 12px;
            border: 1px solid #ece7e3;
            border-radius: 12px;
            background: #faf9f8;
            color: #65483b;
            font-size: 12.5px;
            font-weight: 700;
            transition: background .18s ease, transform .18s ease;
        }@media (hover: hover) and (pointer: fine) {body.home-detail-open #homeDetailPage .pricing-details summary:hover {
                background: #f5f2f0;
                transform: translateY(-1px);
            }}@media (max-width: 768px) {body.home-detail-open #pricingPreview {
                gap: 5px !important;
                margin-bottom: 9px !important;
            }body.home-detail-open #homeDetailPage .price-preview-card {
                min-height: 54px !important;
                padding: 7px 4px !important;
                border-radius: 12px !important;
                box-shadow: 0 3px 9px rgba(47, 34, 29, .035) !important;
            }body.home-detail-open #homeDetailPage .price-preview-label {
                margin-bottom: 2px !important;
                font-size: 9.5px !important;
            }body.home-detail-open #homeDetailPage .price-preview-value {
                font-size: clamp(11.5px, 3.4vw, 13.5px) !important;
                letter-spacing: -.45px !important;
            }body.home-detail-open #homeDetailPage .pricing-details summary {
                min-height: 35px;
                padding: 7px 10px;
                border-radius: 11px;
                font-size: 11.5px;
            }}@media (max-width: 390px) {body.home-detail-open #homeDetailPage .price-preview-value {
                font-size: 11px !important;
            }}.footer-policy-block {
            margin-top: 22px;
            padding-top: 20px;
            border-top: 1px solid rgba(255, 255, 255, .16);
        }.footer-policy-title {
            display: block;
            margin-bottom: 12px;
            color: rgba(255, 255, 255, .76);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .08em;
            text-transform: uppercase;
        }.footer-policy-links {
            display: grid;
            gap: 10px;
        }.footer-policy-link {
            display: flex;
            align-items: center;
            gap: 10px;
            min-height: 46px;
            padding: 10px 12px;
            border: 1px solid rgba(255, 255, 255, .12);
            border-radius: 14px;
            background: rgba(255, 255, 255, .08);
            font-size: 13px;
            font-weight: 600;
            line-height: 1.35;
            transition: transform .22s ease, background .22s ease, border-color .22s ease;
        }.footer-policy-link i {
            width: 18px;
            margin: 0;
            color: #ffe0b2;
            font-size: 14px;
            text-align: center;
            flex: 0 0 18px;
        }.footer-policy-link:hover,
        .footer-policy-link:focus-visible {
            transform: translateY(-2px);
            background: rgba(255, 255, 255, .15);
            border-color: rgba(255, 255, 255, .22);
            outline: none;
        }@media (max-width: 768px) {.footer-policy-block {
                margin-top: 18px;
                padding-top: 18px;
            }.footer-policy-links {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }.footer-policy-link {
                justify-content: flex-start;
                min-height: 50px;
                padding: 11px 12px;
                font-size: 12.5px;
            }}@media (max-width: 520px) {.footer-policy-links {
                grid-template-columns: 1fr;
            }.footer-policy-link {
                min-height: 46px;
                font-size: 13px;
            }}:root {
            --booking-ink: #222222;
            --booking-primary: #ff385c;
            --booking-primary-dark: #e31c5f;
            --booking-green: #008a05;
        }.booking-search-shell {
            display: none;
            position: relative;
            z-index: 30;
            padding: 22px 0 8px;
            background: var(--bg);
        }html.home-route .booking-search-shell {
            display: block;
        }.booking-search-card {
            background: #ffffff;
            border: 1px solid rgba(0, 0, 0, .08);
            border-radius: 26px;
            padding: 24px;
            box-shadow: 0 12px 38px rgba(0, 0, 0, .08);
        }.booking-search-top {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 24px;
            margin-bottom: 18px;
        }.booking-search-eyebrow,
        .booking-modal-step {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 7px;
            color: var(--booking-primary-dark);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .09em;
            text-transform: uppercase;
        }.booking-search-copy h2 {
            margin: 0;
            color: var(--booking-ink);
            font-size: clamp(22px, 2.2vw, 31px);
            line-height: 1.2;
            letter-spacing: -.035em;
        }.booking-search-copy p {
            max-width: 680px;
            margin: 7px 0 0;
            color: var(--booking-muted);
            font-size: 14px;
            line-height: 1.55;
        }.booking-search-flow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            flex: 0 0 auto;
            padding: 9px 12px;
            border-radius: 999px;
            background: #f7f7f7;
            color: #4f4f4f;
            font-size: 11px;
            font-weight: 700;
            white-space: nowrap;
        }.booking-search-flow i {
            color: #b0b0b0;
            font-style: normal;
        }.booking-search-grid {
            display: grid;
            grid-template-columns: 1.15fr 1fr 1fr 1fr auto;
            align-items: end;
            gap: 10px;
            padding: 9px;
            border: 1px solid var(--booking-line);
            border-radius: 20px;
            background: #ffffff;
        }.booking-search-field {
            position: relative;
            min-width: 0;
            padding: 8px 13px;
            border-radius: 14px;
            transition: background .18s ease, box-shadow .18s ease;
        }.booking-search-field:hover,
        .booking-search-field:focus-within {
            background: var(--booking-soft);
        }.booking-search-field:not(:first-child)::before {
            content: "";
            position: absolute;
            left: -5px;
            top: 15%;
            width: 1px;
            height: 70%;
            background: #ebebeb;
        }.booking-search-field span {
            display: block;
            margin-bottom: 4px;
            color: var(--booking-ink);
            font-size: 11px;
            font-weight: 800;
        }.booking-search-field select,
        .booking-search-field input {
            width: 100%;
            min-width: 0;
            padding: 0;
            border: 0;
            outline: 0;
            background: transparent;
            color: #484848;
            font: inherit;
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
        }.booking-time-hint {
            display: inline !important;
            margin-left: 4px !important;
            color: #8b8b8b !important;
            font-size: .86em !important;
            font-weight: 600 !important;
            white-space: nowrap;
        }.booking-time-input {
            color-scheme: light;
            font-variant-numeric: tabular-nums;
        }.booking-search-field .booking-time-input {
            min-height: 22px;
        }.booking-time-input::-webkit-calendar-picker-indicator {
            margin: 0;
            padding: 3px;
            cursor: pointer;
            opacity: .68;
        }.booking-time-input:focus::-webkit-calendar-picker-indicator,
        .booking-time-input:hover::-webkit-calendar-picker-indicator {
            opacity: 1;
        }.booking-search-primary,
        .booking-unified-cta {
            border: 0;
            border-radius: 14px;
            background: linear-gradient(135deg, var(--booking-primary), var(--booking-primary-dark));
            color: #ffffff;
            font-weight: 800;
            text-decoration: none;
            cursor: pointer;
            box-shadow: 0 8px 20px rgba(227, 28, 95, .22);
            transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
        }.booking-search-primary {
            min-height: 54px;
            padding: 0 20px;
            white-space: nowrap;
            font-size: 13px;
        }.booking-search-primary:hover,
        .booking-unified-cta:hover {
            transform: translateY(-1px);
            filter: brightness(1.02);
            box-shadow: 0 11px 25px rgba(227, 28, 95, .27);
        }.booking-search-price {
            display: grid;
            gap: 10px;
            margin-top: 13px;
        }.booking-price-item,
        .booking-price-note {
            min-width: 0;
            padding: 13px 14px;
            border: 1px solid #ebebeb;
            border-radius: 16px;
            background: #ffffff;
        }.booking-price-item span {
            display: block;
            margin-bottom: 4px;
            color: var(--booking-muted);
            font-size: 10.5px;
            font-weight: 700;
        }.booking-price-item strong {
            display: block;
            color: var(--booking-ink);
            font-size: 18px;
            line-height: 1.2;
            letter-spacing: -.02em;
        }.booking-price-item.deposit {
            background: #fff8f9;
            border-color: rgba(255, 56, 92, .18);
        }.booking-price-item.deposit strong {
            color: var(--booking-primary-dark);
        }.booking-price-note {
            display: flex;
            align-items: center;
            gap: 10px;
            background: #f7f7f7;
            color: #545454;
            font-size: 11px;
            line-height: 1.45;
        }.booking-price-note i {
            color: var(--booking-green);
            font-size: 15px;
        }.booking-search-loading {
            grid-column: 1 / -1;
            padding: 14px;
            border-radius: 15px;
            background: #f7f7f7;
            color: var(--booking-muted);
            font-size: 12px;
            text-align: center;
        }body.home-detail-open .room-cta {
            display: flex !important;
        }body.home-detail-open .room-cta .booking-unified-cta {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            min-height: 44px !important;
            padding: 11px 19px !important;
        }.detail-custom-booking-inline {
            display: none !important;
        }.pricing-condition-list {
            display: grid;
            gap: 8px;
            margin-top: 15px;
            padding: 13px;
            border-radius: 16px;
            background: #f7f7f7;
        }.pricing-condition-list div {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            color: #4f4f4f;
            font-size: 11px;
            line-height: 1.45;
        }.pricing-condition-list i {
            width: 16px;
            margin-top: 2px;
            color: var(--booking-green);
            text-align: center;
        }.booking-summary-card .booking-summary-row.booking-summary-total,
        .booking-summary-card .booking-summary-row.booking-summary-deposit {
            padding: 11px 0;
        }.booking-summary-card .booking-summary-row.booking-summary-total strong {
            color: var(--booking-ink);
            font-size: 17px;
        }.booking-summary-card .booking-summary-row.booking-summary-deposit strong {
            color: var(--booking-primary-dark);
            font-size: 18px;
        }.booking-summary-condition {
            margin-top: 10px;
            padding: 11px 12px;
            border-radius: 14px;
            background: #f7f7f7;
            color: #545454;
            font-size: 11px;
            line-height: 1.5;
        }@media (max-width: 1024px) {.booking-search-shell {
                padding: 18px 0 6px;
            }.booking-search-card {
                padding: 20px;
                border-radius: 23px;
            }.booking-search-top {
                align-items: flex-start;
            }.booking-search-flow {
                display: none;
            }.booking-search-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 8px;
                padding: 10px;
            }.booking-search-field::before {
                display: none;
            }.booking-search-field {
                border: 1px solid #ebebeb;
                background: #ffffff;
            }.booking-search-primary {
                grid-column: 1 / -1;
                width: 100%;
            }.booking-price-note {
                grid-column: 1 / -1;
            }}@media (max-width: 768px) {.booking-search-shell {
                padding: 12px 0 4px;
            }.booking-search-shell .container {
                padding-left: 12px !important;
                padding-right: 12px !important;
            }.booking-search-card {
                padding: 15px;
                border-radius: 20px;
                box-shadow: 0 8px 24px rgba(0, 0, 0, .07);
            }.booking-search-top {
                margin-bottom: 13px;
            }.booking-search-copy h2 {
                font-size: 20px;
            }.booking-search-copy p {
                font-size: 12px;
                line-height: 1.5;
            }.booking-search-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                padding: 0;
                border: 0;
                background: transparent;
            }.booking-search-field {
                padding: 10px 11px;
                border-radius: 14px;
            }.booking-search-field span {
                font-size: 10px;
            }.booking-search-field select,
            .booking-search-field input {
                font-size: 11.5px;
            }.booking-search-primary {
                min-height: 46px;
                border-radius: 13px;
                font-size: 12px;
            }.booking-search-price {
                gap: 7px;
                margin-top: 10px;
            }.booking-price-item {
                padding: 10px 8px;
                border-radius: 13px;
                text-align: center;
            }.booking-price-item span {
                font-size: 9px;
            }.booking-price-item strong {
                font-size: 14px;
            }.booking-price-note {
                padding: 10px 11px;
                border-radius: 13px;
                font-size: 10px;
            }body.home-detail-open .room-cta .booking-unified-cta {
                width: 100% !important;
            }}@media (max-width: 430px) {.booking-search-card {
                padding: 13px;
            }.booking-search-grid {
                grid-template-columns: 1fr 1fr;
                gap: 7px;
            }.booking-search-field {
                padding: 9px;
            }.booking-search-price {
                grid-template-columns: 1fr 1fr;
            }.booking-price-item:first-child {
                grid-column: 1 / -1;
                display: flex;
                align-items: center;
                justify-content: space-between;
                text-align: left;
            }.booking-price-item:first-child span {
                margin: 0;
            }.booking-price-note {
                grid-column: 1 / -1;
            }}body.home-detail-open #homeDetailPage .detail-custom-booking-inline {
            display: block !important;
            margin: 22px 0 4px !important;
        }.custom-inline-card {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) auto !important;
            align-items: center !important;
            gap: 22px !important;
            padding: 22px !important;
            border: 1px solid #e7e7e7 !important;
            border-radius: 24px !important;
            background: radial-gradient(circle at 100% 0, rgba(255, 56, 92, .075), transparent 34%),
                #ffffff !important;
            box-shadow: 0 10px 32px rgba(34, 34, 34, .07) !important;
        }.custom-inline-main {
            display: flex;
            align-items: flex-start;
            min-width: 0;
            gap: 15px;
        }.custom-inline-icon {
            display: inline-flex;
            width: 48px;
            height: 48px;
            flex: 0 0 48px;
            align-items: center;
            justify-content: center;
            border-radius: 15px;
            background: #fff0f3;
            color: #e03155;
            font-size: 21px;
        }.custom-inline-copy {
            min-width: 0;
        }.custom-inline-copy .custom-booking-kicker {
            display: block;
            margin: 0 0 5px;
            color: #9f5d4d;
            font-size: 10.5px;
            font-weight: 800;
            letter-spacing: .11em;
        }.custom-inline-copy h3 {
            margin: 0 0 7px !important;
            color: #222222 !important;
            font-size: clamp(19px, 1.7vw, 24px) !important;
            line-height: 1.25 !important;
            letter-spacing: -.45px !important;
        }.custom-inline-copy p {
            max-width: 720px;
            margin: 0 !important;
            color: #6a6a6a !important;
            font-size: 13.5px !important;
            line-height: 1.6 !important;
        }.custom-inline-benefits {
            display: flex;
            flex-wrap: wrap;
            gap: 8px 14px;
            margin-top: 11px;
        }.custom-inline-benefits span {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: #4f4f4f;
            font-size: 11.5px;
            font-weight: 700;
        }.custom-inline-benefits i {
            color: #16835d;
            font-size: 10px;
        }.custom-inline-btn,
        .booking-search-primary,
        body.home-detail-open .mobile-book-btn {
            border: 0 !important;
            background: linear-gradient(135deg, #ff385c 0%, #e61e4d 100%) !important;
            color: #ffffff !important;
            box-shadow: 0 8px 20px rgba(230, 30, 77, .21) !important;
            cursor: pointer;
        }.custom-inline-btn {
            min-width: 220px !important;
            min-height: 48px !important;
            padding: 12px 18px !important;
            border-radius: 14px !important;
            font-size: 13px !important;
            font-weight: 800 !important;
            white-space: nowrap !important;
            cursor: pointer;
            transition: transform .18s ease, box-shadow .18s ease !important;
        }.custom-inline-btn:hover,
        .booking-search-primary:hover {
            transform: translateY(-2px) !important;
            box-shadow: 0 12px 26px rgba(230, 30, 77, .27) !important;
        }.booking-search-price {
            grid-template-columns: minmax(190px, .72fr) minmax(0, 1.28fr) !important;
            align-items: stretch !important;
        }.booking-price-total {
            display: flex !important;
            flex-direction: column !important;
            justify-content: center !important;
            min-height: 74px !important;
            border-color: rgba(255, 56, 92, .16) !important;
            background: #fff8fa !important;
        }.booking-price-total strong {
            color: #d91445 !important;
            font-size: clamp(21px, 2vw, 27px) !important;
        }.booking-price-note {
            min-height: 74px;
            padding: 14px 16px !important;
        }.booking-summary-card .booking-summary-payment {
            margin: 8px -4px 0;
            padding: 15px 14px !important;
            border: 1px solid rgba(255, 56, 92, .16);
            border-radius: 16px;
            background: #fff8fa;
        }.booking-summary-card .booking-summary-payment strong {
            color: #d91445 !important;
            font-size: 21px !important;
        }.best-deal-btn {
            white-space: nowrap;
        }@media (max-width: 1024px) {.custom-inline-card {
                grid-template-columns: minmax(0, 1fr) !important;
                gap: 16px !important;
                padding: 20px !important;
            }.custom-inline-btn {
                width: 100% !important;
                min-width: 0 !important;
            }.booking-search-price {
                grid-template-columns: minmax(170px, .8fr) minmax(0, 1.2fr) !important;
            }}@media (max-width: 768px) {body.home-detail-open #homeDetailPage .detail-custom-booking-inline {
                margin-top: 17px !important;
            }.custom-inline-card {
                gap: 14px !important;
                padding: 17px !important;
                border-radius: 20px !important;
            }.custom-inline-main {
                gap: 12px;
            }.custom-inline-icon {
                width: 42px;
                height: 42px;
                flex-basis: 42px;
                border-radius: 13px;
                font-size: 18px;
            }.custom-inline-copy h3 {
                font-size: 19px !important;
            }.custom-inline-copy p {
                font-size: 12.5px !important;
            }.custom-inline-benefits {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 7px;
            }.custom-inline-benefits span {
                font-size: 10.5px;
            }.custom-inline-btn {
                min-height: 47px !important;
                border-radius: 13px !important;
                font-size: 12.5px !important;
            }.booking-search-price {
                grid-template-columns: 1fr !important;
            }.booking-price-total,
            .booking-price-note {
                min-height: 0 !important;
            }.booking-price-total {
                flex-direction: row !important;
                align-items: center !important;
                justify-content: space-between !important;
                text-align: left !important;
            }}@media (max-width: 430px) {.custom-inline-card {
                padding: 15px !important;
            }.custom-inline-main {
                align-items: flex-start;
            }.custom-inline-benefits {
                grid-template-columns: 1fr;
            }.booking-summary-card .booking-summary-payment {
                align-items: flex-start !important;
                gap: 8px;
            }}@media (prefers-reduced-motion: reduce) {.custom-inline-btn,
            .booking-search-primary {
                transition: none !important;
            }}body.home-detail-open #homeDetailPage .detail-custom-booking-inline {
            margin-top: 20px !important;
        }body.home-detail-open #homeDetailPage .detail-custom-booking-inline .custom-inline-card {
            border-color: #e5e5e5 !important;
            background: linear-gradient(180deg, #fff 0%, #fffafa 100%) !important;
            box-shadow: 0 9px 26px rgba(34, 34, 34, .055) !important;
        }body.home-detail-open #homeDetailPage .detail-custom-booking-inline .custom-inline-icon {
            border: 1px solid #ffd7df;
            background: #fff0f3 !important;
            color: #d91445 !important;
        }body.home-detail-open #homeDetailPage .detail-custom-booking-inline .custom-inline-btn {
            background: linear-gradient(135deg, #ff385c, #e61e4d) !important;
            box-shadow: 0 8px 20px rgba(230, 30, 77, .2) !important;
        }:root {
            --booking-accent: #ff385c;
            --booking-accent-dark: #df1644;
            --booking-text: #222222;
            --booking-muted: #6a6a6a;
            --booking-line: #e7e7e7;
            --booking-soft: #fff7f8;
            --booking-success: #16835d;
            --booking-shadow: 0 18px 50px rgba(34, 34, 34, 0.10);
        }.custom-booking-head>div {
            min-width: 0 !important;
        }.custom-booking-head .custom-booking-kicker {
            display: inline-flex !important;
            margin-bottom: 8px !important;
            color: #c3133d !important;
            font-size: 10px !important;
            font-weight: 900 !important;
            letter-spacing: 0.09em !important;
        }.custom-booking-head p {
            max-width: 610px !important;
        }.custom-booking-close {
            cursor: pointer !important;
        }.custom-booking-grid label {
            min-width: 0 !important;
        }.custom-booking-grid input,
        .custom-booking-grid select {
            width: 100% !important;
            min-width: 0 !important;
            min-height: 50px !important;
            padding: 0 14px !important;
            border: 1px solid #dcdcdc !important;
            border-radius: 15px !important;
            outline: none !important;
            background: #ffffff !important;
            color: #222222 !important;
            font-family: inherit !important;
            font-size: 14px !important;
            font-weight: 700 !important;
            box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset !important;
            transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
        }.custom-booking-grid input:hover,
        .custom-booking-grid select:hover {
            border-color: #bdbdbd !important;
        }.custom-booking-grid input:focus,
        .custom-booking-grid select:focus {
            border-color: var(--booking-accent) !important;
            background: #ffffff !important;
            box-shadow: 0 0 0 4px rgba(255, 56, 92, 0.11) !important;
        }.custom-booking-grid input[aria-invalid="true"],
        .custom-booking-grid select[aria-invalid="true"] {
            border-color: #dc2626 !important;
            box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.09) !important;
        }.custom-booking-actions {
            backdrop-filter: blur(12px) !important;
            -webkit-backdrop-filter: blur(12px) !important;
        }.custom-booking-primary,
        .custom-booking-secondary {
            padding: 11px 16px !important;
            line-height: 1.25 !important;
            cursor: pointer !important;
        }.custom-booking-primary {
            border: 1px solid transparent !important;
            background: linear-gradient(135deg, var(--booking-accent), var(--booking-accent-dark)) !important;
            color: #ffffff !important;
            box-shadow: 0 9px 22px rgba(223, 22, 68, 0.22) !important;
        }.custom-booking-secondary {
            border: 1px solid #dddddd !important;
            background: #ffffff !important;
            color: #333333 !important;
        }.custom-booking-primary:disabled {
            opacity: 0.5 !important;
            box-shadow: none !important;
            cursor: not-allowed !important;
        }.free-cell.booking-slot-selectable {
            cursor: pointer !important;
            touch-action: manipulation !important;
        }.free-cell.booking-slot-selectable:focus-visible {
            z-index: 4 !important;
            outline: 3px solid rgba(255, 56, 92, 0.28) !important;
            outline-offset: -3px !important;
        }@media (min-width: 641px) and (max-width: 980px) {.custom-booking-panel {
                width: min(720px, calc(100vw - 28px)) !important;
                max-height: 92dvh !important;
            }.custom-booking-head {
                padding: 21px 21px 16px !important;
            }.custom-booking-body {
                padding: 19px 21px 22px !important;
            }.custom-booking-actions {
                bottom: -22px !important;
                margin: 17px -21px -22px !important;
                padding-left: 21px !important;
                padding-right: 21px !important;
            }}@media (max-width: 640px) {.custom-booking-modal {
                align-items: flex-end !important;
                padding: 0 !important;
                background: rgba(15, 23, 42, 0.58) !important;
                backdrop-filter: none !important;
                -webkit-backdrop-filter: none !important;
            }.custom-booking-panel {
                width: 100% !important;
                max-width: none !important;
                max-height: 92dvh !important;
                border: 0 !important;
                border-radius: 25px 25px 0 0 !important;
                box-shadow: 0 -18px 58px rgba(15, 23, 42, 0.25) !important;
            }.custom-booking-head {
                position: sticky !important;
                top: 0 !important;
                z-index: 5 !important;
                grid-template-columns: minmax(0, 1fr) 40px !important;
                gap: 11px !important;
                padding: 17px 15px 13px !important;
            }.custom-booking-head h3 {
                font-size: 19px !important;
                line-height: 1.25 !important;
            }.custom-booking-head p {
                margin-top: 5px !important;
                font-size: 11.5px !important;
                line-height: 1.52 !important;
            }.custom-booking-close {
                width: 40px !important;
                height: 40px !important;
                min-width: 40px !important;
            }.custom-booking-body {
                padding: 14px 14px 18px !important;
            }.custom-booking-grid {
                grid-template-columns: 1fr !important;
                gap: 10px !important;
            }.custom-booking-grid label {
                gap: 6px !important;
                font-size: 11px !important;
            }.custom-booking-grid input,
            .custom-booking-grid select {
                min-height: 48px !important;
                padding: 0 13px !important;
                border-radius: 14px !important;
                font-size: 16px !important;
            }.custom-booking-actions {
                bottom: -18px !important;
                grid-template-columns: 0.72fr 1.28fr !important;
                gap: 8px !important;
                margin: 15px -14px -18px !important;
                padding: 12px 14px calc(12px + env(safe-area-inset-bottom)) !important;
            }.custom-booking-primary,
            .custom-booking-secondary {
                min-height: 46px !important;
                padding: 10px 9px !important;
                border-radius: 13px !important;
                font-size: 12px !important;
            }}@media (max-width: 380px) {.custom-booking-actions {
                grid-template-columns: 1fr !important;
            }}.free-cell.booking-slot-selectable {
            position: relative !important;
            -webkit-tap-highlight-color: rgba(22, 131, 93, 0.12) !important;
            transition: background-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
        }.free-cell.booking-slot-selectable:hover,
        .free-cell.booking-slot-selectable:focus-visible {
            background: #dff7e7 !important;
            box-shadow: inset 0 0 0 2px rgba(22, 131, 93, .34) !important;
            outline: none !important;
        }.free-cell.booking-slot-selectable:active {
            transform: scale(.96) !important;
        }:root {
            --v66-ink: #26211f;
            --v66-muted: #70665f;
            --v66-line: rgba(135, 88, 69, .15);
            --v66-soft: #fbf7f4;
            --v66-brand: #875845;
            --v66-accent: #d89d79;
            --v66-pink: #ff385c;
            --v66-green: #e8f8ee;
            --v66-shadow: 0 16px 42px rgba(75, 49, 39, .09);
        }.detail-route-skeleton {
            display: none;
        }html.detail-route:not(.app-ready) #homeDetailPage {
            display: block !important;
            min-height: 100vh !important;
            background: #fff !important;
        }html.detail-route:not(.app-ready) #homeDetailPage>.home-detail-container,
        html.detail-route:not(.app-ready) .hero,
        html.detail-route:not(.app-ready) .tabs,
        html.detail-route:not(.app-ready) #homes,
        html.detail-route:not(.app-ready) #calendarPage,
        html.detail-route:not(.app-ready) #gallery,
        html.detail-route:not(.app-ready) .stats-bar {
            display: none !important;
        }html.detail-route:not(.app-ready) .detail-route-skeleton {
            display: block !important;
        }.detail-route-skeleton-inner {
            max-width: 1200px;
            margin: 0 auto;
            padding: 28px 24px 72px;
        }.detail-skeleton-back,
        .detail-skeleton-cover,
        .detail-skeleton-line,
        .detail-skeleton-card,
        .detail-skeleton-pills i {
            background: linear-gradient(90deg, #f1efed 20%, #faf9f8 40%, #f1efed 60%);
            background-size: 220% 100%;
            animation: v66Shimmer 1.15s ease-in-out infinite;
        }.detail-skeleton-back {
            width: 116px;
            height: 38px;
            border-radius: 999px;
            margin-bottom: 16px;
        }.detail-skeleton-cover {
            width: 100%;
            height: 430px;
            border-radius: 26px;
        }.detail-skeleton-line {
            width: 100%;
            height: 14px;
            border-radius: 999px;
            margin-top: 12px;
        }.detail-skeleton-title {
            width: min(420px, 70%);
            height: 34px;
            margin-top: 22px;
        }.detail-skeleton-price {
            width: 190px;
            height: 20px;
        }.detail-skeleton-short {
            width: 62%;
        }.detail-skeleton-layout {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 360px;
            gap: 32px;
            margin-top: 28px;
        }.detail-skeleton-card {
            min-height: 310px;
            border-radius: 24px;
        }.detail-skeleton-pills {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 20px;
        }.detail-skeleton-pills i {
            width: 118px;
            height: 42px;
            border-radius: 14px;
        }@keyframes v66Shimmer {from {
                background-position: 100% 0;
            }to {
                background-position: -100% 0;
            }}html.calendar-route #calendarPage {
            display: block !important;
        }.calendar-route #calendarPage {
            color: var(--v66-ink);
            padding-bottom: 28px;
        }.calendar-route #calendarPage .suggested-section {
            margin: 0 0 10px !important;
            padding: 22px !important;
            border: 1px solid var(--v66-line);
            border-radius: 25px;
            background: linear-gradient(145deg, #fff, var(--v66-soft));
            box-shadow: var(--v66-shadow);
        }.calendar-route .room-tabs {
            display: grid !important;
            grid-template-columns: repeat(6, minmax(0, 1fr));
            gap: 9px !important;
            margin: 18px 0 12px !important;
            overflow: visible !important;
        }.calendar-route .room-tab {
            min-width: 0 !important;
            min-height: 44px;
            padding: 9px 10px !important;
            border: 1px solid var(--v66-line) !important;
            border-radius: 14px !important;
            background: #fff !important;
            color: #60493f !important;
            font-size: 13px !important;
            font-weight: 800 !important;
            box-shadow: 0 6px 16px rgba(76, 51, 41, .045) !important;
        }.calendar-route .room-tab.active {
            border-color: transparent !important;
            color: #fff !important;
            background: linear-gradient(135deg, var(--v66-brand), var(--v66-accent)) !important;
            box-shadow: 0 11px 24px rgba(135, 88, 69, .20) !important;
        }.calendar-route .calendar-wrap {
            width: 100%;
            max-width: 100%;
            padding: 12px !important;
            border: 1px solid var(--v66-line) !important;
            border-radius: 24px !important;
            background: #fff !important;
            box-shadow: var(--v66-shadow) !important;
            overflow-x: hidden !important;
            overflow-y: visible !important;
        }.calendar-route .availability-grid {
            display: grid !important;
            grid-template-columns: 58px repeat(7, minmax(0, 1fr)) !important;
            width: 100% !important;
            min-width: 0 !important;
        }.calendar-route .sticky-corner,
        .calendar-route .hour-cell {
            position: sticky !important;
            left: 0 !important;
            z-index: 8 !important;
            width: 58px !important;
            min-width: 58px !important;
            background: #fff !important;
        }.calendar-route .sticky-corner {
            z-index: 18 !important;
        }.calendar-route .day-header {
            min-width: 0 !important;
            min-height: 52px;
            padding: 8px 4px !important;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            color: #59443b;
            font-size: 11.5px !important;
            line-height: 1.25;
            background: #fff !important;
        }.calendar-route .day-header.today {
            margin: 3px;
            min-height: 46px;
            color: #fff !important;
            background: linear-gradient(135deg, var(--v66-brand), var(--v66-accent)) !important;
            border-radius: 12px !important;
        }.calendar-route .hour-cell,
        .calendar-route .slot-cell {
            height: 42px !important;
            min-height: 42px !important;
        }.calendar-route .hour-cell {
            color: #77635a;
            font-size: 10.5px !important;
            font-weight: 800;
        }.calendar-route .free-cell {
            background: #f8fffa !important;
        }.calendar-route .free-cell.booking-slot-selectable {
            cursor: pointer;
            touch-action: manipulation;
        }.calendar-route .free-cell.booking-slot-selectable:hover,
        .calendar-route .free-cell.booking-slot-selectable:focus-visible {
            background: var(--v66-green) !important;
            box-shadow: inset 0 0 0 2px rgba(31, 138, 91, .28) !important;
            outline: none !important;
        }.calendar-route .booked-cell {
            color: #a33d3d !important;
        }.calendar-route .calendar-pagination {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            margin: 14px auto 0 !important;
            padding: 0 !important;
            background: transparent !important;
            border: 0 !important;
            box-shadow: none !important;
        }.calendar-route .calendar-page-list {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            padding: 5px;
            border: 1px solid rgba(255, 77, 125, .16);
            border-radius: 999px;
            background: #fff7fa;
            box-shadow: 0 8px 22px rgba(255, 56, 92, .08);
        }.calendar-route .calendar-page-button {
            appearance: none;
            -webkit-appearance: none;
            width: 38px;
            height: 38px;
            min-width: 38px;
            min-height: 38px;
            padding: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 0;
            border-radius: 50%;
            background: transparent;
            color: #b34c69;
            font-family: inherit;
            font-size: 13px;
            font-weight: 900;
            line-height: 1;
            cursor: pointer;
            transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
        }.calendar-route .calendar-page-button:hover,
        .calendar-route .calendar-page-button:focus-visible {
            background: #ffe5ed;
            color: #e72e62;
            outline: none;
        }.calendar-route .calendar-page-button.active {
            color: #fff;
            background: linear-gradient(135deg, #ff5b8a, #ff2f68);
            box-shadow: 0 8px 18px rgba(255, 47, 104, .28);
        }.calendar-route .calendar-page-button:active {
            transform: scale(.94);
        }#homeDetailPage .pricing-details {
            margin-top: 4px !important;
            border: 1px solid #ebe6e3 !important;
            border-radius: 15px !important;
            background: #fff !important;
            overflow: hidden !important;
        }#homeDetailPage .pricing-details summary {
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: 10px !important;
            min-height: 48px !important;
            margin: 0 !important;
            padding: 11px 13px !important;
            color: #3d3531 !important;
            font-size: 12.5px !important;
            font-weight: 800 !important;
            list-style: none !important;
            cursor: pointer !important;
            user-select: none !important;
            transition: background .18s ease !important;
        }#homeDetailPage .pricing-details summary:hover {
            background: #fcfaf9 !important;
        }#homeDetailPage .pricing-details summary::-webkit-details-marker {
            display: none !important;
        }#homeDetailPage .pricing-details summary::before,
        #homeDetailPage .pricing-details summary::after {
            content: none !important;
            display: none !important;
        }#homeDetailPage .pricing-details summary i {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 30px !important;
            height: 30px !important;
            flex: 0 0 30px !important;
            border-radius: 50% !important;
            background: #f7f1ed !important;
            color: #875845 !important;
            font-size: 11px !important;
            transition: transform .22s ease !important;
        }#homeDetailPage .pricing-details[open] summary {
            border-bottom: 1px solid #eee8e5 !important;
        }#homeDetailPage .pricing-details[open] summary i {
            transform: rotate(180deg) !important;
        }#homeDetailPage .pricing-condition-list {
            display: grid !important;
            gap: 8px !important;
            margin-top: 14px !important;
            padding-top: 14px !important;
            border-top: 1px solid #eee8e5 !important;
        }#homeDetailPage .pricing-condition-list div {
            display: grid !important;
            grid-template-columns: 22px minmax(0, 1fr) !important;
            gap: 8px !important;
            align-items: start !important;
            color: #615751 !important;
            font-size: 11px !important;
            line-height: 1.5 !important;
        }#homeDetailPage .pricing-condition-list i {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 22px !important;
            height: 22px !important;
            border-radius: 50% !important;
            background: #eaf7f0 !important;
            color: #16835d !important;
            font-size: 9px !important;
        }.custom-booking-modal {
            position: fixed !important;
            inset: 0 !important;
            z-index: 1000000 !important;
            display: none !important;
            align-items: center !important;
            justify-content: center !important;
            width: 100vw !important;
            max-width: 100vw !important;
            height: 100dvh !important;
            padding: 18px !important;
            overflow: hidden !important;
            background: rgba(24, 31, 43, .52) !important;
            backdrop-filter: blur(9px) !important;
            -webkit-backdrop-filter: blur(9px) !important;
        }.custom-booking-modal.show {
            display: flex !important;
        }.custom-booking-panel {
            display: flex !important;
            flex-direction: column !important;
            width: min(720px, calc(100vw - 36px)) !important;
            max-width: 720px !important;
            max-height: min(88dvh, 760px) !important;
            margin: 0 auto !important;
            border: 1px solid rgba(255, 255, 255, .86) !important;
            border-radius: 27px !important;
            background: #fff !important;
            box-shadow: 0 28px 90px rgba(17, 24, 39, .27) !important;
            overflow: hidden !important;
            transform: none !important;
        }.custom-booking-head {
            position: relative !important;
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) 42px !important;
            gap: 16px !important;
            align-items: start !important;
            flex: 0 0 auto !important;
            padding: 22px 24px 18px !important;
            border-bottom: 1px solid rgba(148, 163, 184, .18) !important;
            background: linear-gradient(145deg, #fff, #fbf7f4) !important;
        }.custom-booking-head>div,
        .custom-booking-grid label {
            min-width: 0 !important;
        }.custom-booking-head h3 {
            margin: 5px 0 7px !important;
            color: var(--v66-ink) !important;
            font-size: 25px !important;
            line-height: 1.2 !important;
            letter-spacing: -.035em !important;
        }.custom-booking-head p {
            max-width: 570px;
            margin: 0 !important;
            color: #6b7280 !important;
            font-size: 13px !important;
            line-height: 1.55 !important;
        }.custom-booking-close {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 42px !important;
            height: 42px !important;
            min-width: 42px !important;
            padding: 0 !important;
            border: 1px solid rgba(148, 163, 184, .20) !important;
            border-radius: 50% !important;
            background: #fff !important;
            color: #475467 !important;
            font-size: 25px !important;
            line-height: 1 !important;
        }.custom-booking-body {
            flex: 1 1 auto !important;
            min-height: 0 !important;
            max-width: 100% !important;
            padding: 21px 24px 24px !important;
            overflow-y: auto !important;
            overflow-x: hidden !important;
            overscroll-behavior: contain !important;
            -webkit-overflow-scrolling: touch !important;
        }.custom-booking-grid {
            display: grid !important;
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: 14px !important;
            max-width: 100% !important;
        }.custom-booking-grid label {
            display: grid !important;
            gap: 7px !important;
            color: #475467 !important;
            font-size: 12px !important;
            font-weight: 800 !important;
        }.custom-booking-grid select,
        .custom-booking-grid input {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            min-height: 51px !important;
            padding: 0 14px !important;
            border: 1px solid rgba(148, 163, 184, .28) !important;
            border-radius: 14px !important;
            background: #fff !important;
            color: var(--v66-ink) !important;
            font-family: inherit !important;
            font-size: 15px !important;
            font-weight: 700 !important;
            outline: none !important;
        }.custom-booking-grid select:focus,
        .custom-booking-grid input:focus {
            border-color: var(--v66-accent) !important;
            box-shadow: 0 0 0 4px rgba(216, 157, 121, .15) !important;
        }.custom-booking-actions {
            position: sticky !important;
            bottom: -24px !important;
            z-index: 3 !important;
            display: grid !important;
            grid-template-columns: minmax(120px, .42fr) minmax(190px, 1fr) !important;
            gap: 10px !important;
            margin: 18px -24px -24px !important;
            padding: 15px 24px calc(15px + env(safe-area-inset-bottom)) !important;
            border-top: 1px solid #eee !important;
            background: rgba(255, 255, 255, .97) !important;
        }.custom-booking-primary,
        .custom-booking-secondary {
            width: 100% !important;
            min-height: 49px !important;
            border-radius: 14px !important;
            font-family: inherit !important;
            font-size: 13.5px !important;
            font-weight: 800 !important;
        }html.custom-booking-lock,
        body.custom-booking-lock {
            width: 100% !important;
            max-width: 100% !important;
            overflow: hidden !important;
            overscroll-behavior: none !important;
        }@media (max-width: 768px) {body.home-detail-open {
                padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important;
            }.calendar-route .container {
                padding-inline: 12px !important;
            }.calendar-route .room-tabs {
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 7px !important;
            }.calendar-route .room-tab {
                min-height: 40px;
                padding: 7px 5px !important;
                font-size: 11.5px !important;
                border-radius: 12px !important;
            }.calendar-route .calendar-wrap {
                padding: 6px !important;
                border-radius: 18px !important;
                overflow-x: hidden !important;
            }.calendar-route .availability-grid {
                grid-template-columns: 42px repeat(7, minmax(0, 1fr)) !important;
                width: 100% !important;
                min-width: 0 !important;
            }.calendar-route .sticky-corner,
            .calendar-route .hour-cell {
                width: 42px !important;
                min-width: 42px !important;
            }.calendar-route .day-header {
                min-height: 44px;
                padding: 5px 1px !important;
                font-size: 9px !important;
                letter-spacing: -.02em !important;
            }.calendar-route .day-header.today {
                margin: 2px !important;
                min-height: 40px !important;
                border-radius: 9px !important;
            }.calendar-route .hour-cell,
            .calendar-route .slot-cell {
                height: 37px !important;
                min-height: 37px !important;
            }.calendar-route .hour-cell {
                font-size: 8.5px !important;
            }.custom-booking-modal {
                align-items: center !important;
                justify-content: center !important;
                padding: 12px !important;
                height: 100dvh !important;
                overflow: hidden !important;
            }.custom-booking-panel {
                width: calc(100vw - 24px) !important;
                max-width: calc(100vw - 24px) !important;
                max-height: min(86dvh, 680px) !important;
                margin: auto !important;
                border-radius: 24px !important;
                border-bottom: 1px solid rgba(255, 255, 255, .86) !important;
            }.custom-booking-head {
                grid-template-columns: minmax(0, 1fr) 38px !important;
                gap: 10px !important;
                padding: 16px 16px 13px !important;
            }.custom-booking-head h3 {
                font-size: 21px !important;
            }.custom-booking-head p {
                font-size: 11.5px !important;
                line-height: 1.48 !important;
            }.custom-booking-close {
                width: 38px !important;
                height: 38px !important;
                min-width: 38px !important;
                font-size: 22px !important;
            }.custom-booking-body {
                padding: 14px 16px 16px !important;
                overflow-x: hidden !important;
            }.custom-booking-grid {
                grid-template-columns: 1fr !important;
                gap: 10px !important;
            }.custom-booking-grid select,
            .custom-booking-grid input {
                min-height: 48px !important;
                font-size: 16px !important;
            }.custom-booking-actions {
                bottom: -16px !important;
                grid-template-columns: 102px minmax(0, 1fr) !important;
                margin: 14px -16px -16px !important;
                padding: 11px 16px calc(11px + env(safe-area-inset-bottom)) !important;
            }.detail-route-skeleton-inner {
                padding: 16px 14px 56px;
            }.detail-skeleton-cover {
                height: 250px;
                border-radius: 20px;
            }.detail-skeleton-layout {
                grid-template-columns: 1fr;
                gap: 20px;
                margin-top: 22px;
            }.detail-skeleton-card {
                min-height: 220px;
            }}@media (min-width: 769px) and (max-width: 1100px) {.calendar-route .calendar-wrap {
                overflow-x: hidden !important;
            }.calendar-route .availability-grid {
                grid-template-columns: 52px repeat(7, minmax(0, 1fr)) !important;
                width: 100% !important;
                min-width: 0 !important;
            }.calendar-route .sticky-corner,
            .calendar-route .hour-cell {
                width: 52px !important;
                min-width: 52px !important;
            }.calendar-route .day-header {
                font-size: 10px !important;
            }.detail-skeleton-cover {
                height: 350px;
            }.detail-skeleton-layout {
                grid-template-columns: minmax(0, 1fr) 290px;
                gap: 22px;
            }}@media (max-width: 390px) {.custom-booking-actions {
                grid-template-columns: 90px minmax(0, 1fr) !important;
            }}@media (prefers-reduced-motion: reduce) {.detail-skeleton-back,
            .detail-skeleton-cover,
            .detail-skeleton-line,
            .detail-skeleton-card,
            .detail-skeleton-pills i {
                animation: none !important;
            }}.booking-search-calendar-pill {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            width: fit-content;
            max-width: 100%;
            margin-top: 12px;
            padding: 9px 13px;
            border: 1px solid rgba(255, 56, 92, .18);
            border-radius: 999px;
            background: linear-gradient(135deg, #fff5f8 0%, #fff 100%);
            color: #d92e55;
            box-shadow: 0 7px 18px rgba(255, 56, 92, .08);
            font-size: 12px;
            font-weight: 800;
            line-height: 1.2;
            text-decoration: none;
            transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
        }.booking-search-calendar-pill>i:first-child {
            font-size: 13px;
        }.booking-search-calendar-pill-arrow {
            margin-left: 1px;
            font-size: 9px;
            transition: transform .18s ease;
        }@media (hover: hover) and (pointer: fine) {.booking-search-calendar-pill:hover {
                transform: translateY(-1px);
                border-color: rgba(255, 56, 92, .30);
                background: #fff0f5;
                box-shadow: 0 10px 24px rgba(255, 56, 92, .13);
            }.booking-search-calendar-pill:hover .booking-search-calendar-pill-arrow {
                transform: translateX(2px);
            }}.detail-gallery-section {
            position: relative;
            padding: 0;
            border: 0;
            background: transparent;
            box-shadow: none;
        }.detail-gallery-heading {
            display: grid;
            grid-template-columns: auto minmax(0, 1fr) auto;
            align-items: center;
            gap: 14px;
            margin-bottom: 18px;
            padding: 18px 20px;
            border: 1px solid rgba(255, 56, 92, .12);
            border-radius: 22px;
            background: radial-gradient(circle at 92% 14%, rgba(255, 178, 198, .24), transparent 34%),
                linear-gradient(135deg, #fff8fa 0%, #ffffff 72%);
            box-shadow: 0 12px 30px rgba(91, 47, 58, .07);
        }.detail-gallery-heading-icon {
            display: grid;
            place-items: center;
            width: 48px;
            height: 48px;
            border-radius: 15px;
            background: linear-gradient(135deg, #ff4f78, #ff8cab);
            color: #fff;
            box-shadow: 0 10px 22px rgba(255, 79, 120, .22);
            font-size: 20px;
        }.detail-gallery-heading-copy {
            min-width: 0;
        }.detail-gallery-kicker {
            display: block;
            margin-bottom: 4px;
            color: #d92e55;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: .12em;
            line-height: 1.2;
        }.detail-gallery-heading h2 {
            margin: 0;
            color: #2a2023;
            font-size: clamp(21px, 2vw, 27px);
            font-weight: 800;
            letter-spacing: -.035em;
            line-height: 1.15;
        }.detail-gallery-heading p {
            margin: 5px 0 0;
            color: #75666b;
            font-size: 13px;
            line-height: 1.5;
        }.detail-gallery-heading-action {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 8px 11px;
            border: 1px solid rgba(44, 32, 36, .08);
            border-radius: 999px;
            background: rgba(255, 255, 255, .82);
            color: #5f5055;
            font-size: 11px;
            font-weight: 700;
            white-space: nowrap;
        }.detail-gallery-heading-action i {
            color: #ec4d72;
            font-size: 10px;
        }@media (max-width: 1024px) {.detail-gallery-heading {
                gap: 12px;
                padding: 16px 17px;
                border-radius: 19px;
            }.detail-gallery-heading-icon {
                width: 44px;
                height: 44px;
                border-radius: 14px;
                font-size: 18px;
            }.detail-gallery-heading h2 {
                font-size: 22px;
            }.detail-gallery-heading-action {
                padding: 7px 9px;
                font-size: 10.5px;
            }}@media (max-width: 768px) {.booking-search-calendar-pill {
                margin-top: 9px;
                padding: 8px 11px;
                font-size: 11px;
            }.detail-gallery-heading {
                grid-template-columns: auto minmax(0, 1fr);
                gap: 11px;
                margin-bottom: 13px;
                padding: 14px;
                border-radius: 17px;
            }.detail-gallery-heading-icon {
                width: 40px;
                height: 40px;
                border-radius: 12px;
                font-size: 16px;
            }.detail-gallery-kicker {
                margin-bottom: 3px;
                font-size: 8.5px;
                letter-spacing: .10em;
            }.detail-gallery-heading h2 {
                font-size: 19px;
            }.detail-gallery-heading p {
                margin-top: 4px;
                font-size: 11.5px;
                line-height: 1.45;
            }.detail-gallery-heading-action {
                display: none;
            }}@media (max-width: 430px) {.detail-gallery-heading {
                align-items: start;
                gap: 10px;
                padding: 12px;
                border-radius: 15px;
            }.detail-gallery-heading-icon {
                width: 36px;
                height: 36px;
                border-radius: 11px;
                font-size: 15px;
            }.detail-gallery-heading h2 {
                font-size: 18px;
            }.detail-gallery-heading p {
                font-size: 11px;
            }}.booking-process-section {
            --process-pink: #ff385c;
            --process-pink-dark: #df1644;
            position: relative;
            overflow: hidden;
            margin-top: 42px;
            padding: 28px;
            border: 1px solid #ece7e5;
            border-radius: 26px;
            background: #fff;
            box-shadow: 0 16px 42px rgba(74, 47, 38, .07);
        }.booking-process-section::before {
            content: "";
            position: absolute;
            inset: 0 0 auto;
            height: 4px;
            background: linear-gradient(90deg, var(--process-pink), #ff7890 58%, #ffdbe2);
        }.booking-process-heading {
            max-width: 820px;
            margin-bottom: 20px;
        }.booking-process-kicker {
            display: inline-flex;
            margin-bottom: 7px;
            color: #a14f61;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: .12em;
        }.booking-process-heading h2 {
            margin: 0 0 8px;
            color: #27211f;
            font-size: clamp(24px, 2.4vw, 32px);
            line-height: 1.22;
            letter-spacing: -.035em;
        }.booking-process-heading p {
            margin: 0;
            color: #6f6661;
            font-size: 13.5px;
            line-height: 1.65;
        }.booking-process-calendar-hint {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin: 0 3px;
            padding: 4px 9px;
            border: 1px solid rgba(255, 56, 92, .22);
            border-radius: 999px;
            background: #fff3f6;
            color: #d91f4c;
            font-weight: 800;
            text-decoration: none;
            white-space: nowrap;
        }.booking-process-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
        }.booking-step-card {
            --step-color: #a66b58;
            display: flex;
            min-width: 0;
            min-height: 218px;
            flex-direction: column;
            padding: 18px;
            border: 1px solid #eee9e7;
            border-radius: 20px;
            background: linear-gradient(180deg, #fff 0%, #fdfbf9 100%);
        }.booking-step-payment {
            --step-color: #238362;
        }.booking-step-info {
            --step-color: #6a6fb0;
        }.booking-step-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }.booking-step-number {
            color: #9a918d;
            font-size: 10.5px;
            font-weight: 800;
            letter-spacing: .09em;
        }.booking-step-icon {
            display: inline-flex;
            width: 42px;
            height: 42px;
            flex: 0 0 42px;
            align-items: center;
            justify-content: center;
            border-radius: 13px;
            background: color-mix(in srgb, var(--step-color) 12%, white);
            color: var(--step-color);
            font-size: 17px;
        }.booking-step-card h3 {
            margin: 16px 0 0;
            color: #2c2725;
            font-size: 17px;
            line-height: 1.35;
        }.booking-step-card p {
            margin: 8px 0 0;
            color: #706762;
            font-size: 12.5px;
            line-height: 1.58;
        }.booking-step-actions {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 8px;
            margin-top: auto;
            padding-top: 15px;
        }.booking-step-link,
        .booking-step-button {
            display: inline-flex;
            min-height: 42px;
            align-items: center;
            justify-content: center;
            gap: 6px;
            padding: 9px 10px;
            border-radius: 12px;
            font: inherit;
            font-size: 11px;
            font-weight: 800;
            text-align: center;
            text-decoration: none;
            cursor: pointer;
        }.booking-step-link-primary {
            border: 1px solid transparent;
            background: linear-gradient(135deg, #ff5270, #e82650);
            color: #fff;
        }.booking-step-button-secondary {
            border: 1px solid #e3dcd9;
            background: #fff;
            color: #554b47;
        }.booking-process-assurance {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 9px;
            margin-top: 14px;
            padding-top: 14px;
            border-top: 1px solid #f0ecea;
        }.booking-process-assurance span {
            display: flex;
            min-width: 0;
            align-items: center;
            justify-content: center;
            gap: 6px;
            padding: 9px 8px;
            border-radius: 12px;
            background: #f8f6f5;
            color: #554c48;
            font-size: 10.5px;
            font-weight: 700;
            line-height: 1.3;
            text-align: center;
        }.booking-process-assurance i {
            color: #1c8a63;
        }.custom-booking-preview {
            margin-top: 14px;
        }.custom-preview-empty {
            padding: 16px;
            border: 1px dashed #ddd4d0;
            border-radius: 16px;
            background: #faf8f7;
            color: #746a65;
            font-size: 12px;
            line-height: 1.55;
            text-align: center;
        }.custom-preview-empty.custom-error-box {
            border-color: #f1b8c5;
            background: #fff4f6;
            color: #b42346;
        }.custom-price-card {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 12px;
            align-items: center;
            padding: 14px;
            border: 1px solid rgba(255, 56, 92, .16);
            border-radius: 18px;
            background: linear-gradient(135deg, #fff8fa 0%, #fff 72%);
        }.custom-price-breakdown {
            min-width: 0;
        }.custom-price-total {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 4px 12px;
            align-items: center;
        }.custom-price-total span {
            color: #766b66;
            font-size: 11px;
            font-weight: 700;
        }.custom-price-total strong {
            grid-column: 2;
            grid-row: 1 / span 2;
            color: #d91445;
            font-size: clamp(23px, 2.3vw, 29px);
            line-height: 1.1;
            white-space: nowrap;
        }.custom-price-total small {
            color: #8a7f79;
            font-size: 10px;
            line-height: 1.35;
        }.custom-status-pill {
            display: inline-flex;
            max-width: 190px;
            align-items: center;
            justify-content: center;
            padding: 8px 11px;
            border-radius: 999px;
            font-size: 10.5px;
            font-weight: 800;
            line-height: 1.25;
            text-align: center;
        }.custom-status-pill.idle {
            background: #f2efed;
            color: #675e59;
        }.custom-status-pill.checking {
            background: #fff4d8;
            color: #8b6200;
        }.custom-status-pill.available {
            background: #e8f8ef;
            color: #187653;
        }.custom-status-pill.unavailable {
            background: #fff0f3;
            color: #bd2144;
        }.custom-detail-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 8px;
            margin-top: 10px;
        }.custom-detail-grid>div {
            min-width: 0;
            padding: 11px 12px;
            border: 1px solid #eee9e7;
            border-radius: 14px;
            background: #fff;
        }.custom-detail-grid span {
            display: block;
            margin-bottom: 4px;
            color: #968c87;
            font-size: 9.5px;
            font-weight: 800;
            letter-spacing: .04em;
        }.custom-detail-grid b {
            display: block;
            overflow-wrap: anywhere;
            color: #39322f;
            font-size: 12px;
            line-height: 1.35;
        }.custom-booking-note {
            margin-top: 10px;
            padding: 11px 13px;
            border-radius: 14px;
            font-size: 11px;
            line-height: 1.5;
        }.custom-booking-note.checking,
        .custom-booking-note.idle {
            background: #f8f6f4;
            color: #6d635e;
        }.custom-booking-note.available {
            background: #eaf8f0;
            color: #176d4e;
        }.custom-booking-note.unavailable {
            border: 1px solid #f4c4ce;
            background: #fff2f5;
            color: #ad1e40;
        }.image-modal {
            position: fixed;
            inset: 0;
            z-index: 999999;
            display: none;
            align-items: center;
            justify-content: center;
            padding: clamp(56px, 7vh, 82px) clamp(58px, 6vw, 96px) clamp(72px, 9vh, 98px);
            overflow: hidden;
            overscroll-behavior: contain;
            background: rgba(8, 9, 12, .965);
            backdrop-filter: blur(14px) saturate(.82);
            -webkit-backdrop-filter: blur(14px) saturate(.82);
        }body.image-modal-open {
            overflow: hidden;
            overscroll-behavior: none;
        }.image-zoom-stage {
            position: relative;
            display: flex;
            width: 100%;
            height: 100%;
            min-width: 0;
            min-height: 0;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            border-radius: 20px;
            touch-action: none;
            user-select: none;
            -webkit-user-select: none;
            -webkit-touch-callout: none;
        }.image-zoom-stage::after {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            border: 1px solid rgba(255, 255, 255, .08);
            border-radius: inherit;
        }.image-zoom-stage img {
            display: block;
            max-width: 100%;
            max-height: 100%;
            width: auto;
            height: auto;
            object-fit: contain;
            border-radius: 16px;
            box-shadow: 0 24px 80px rgba(0, 0, 0, .52);
            transform: translate3d(0, 0, 0) scale(1);
            transform-origin: center center;
            transition: transform .22s cubic-bezier(.2, .72, .25, 1);
            cursor: zoom-in;
            will-change: transform;
            -webkit-user-drag: none;
        }.image-zoom-stage.is-zoomed img {
            cursor: grab;
            transition: none;
        }.image-zoom-stage.is-dragging img {
            cursor: grabbing;
        }.image-zoom-stage.is-gesturing img {
            transition: none;
        }.image-modal-close,
        .modal-prev,
        .modal-next {
            position: absolute;
            z-index: 7;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(255, 255, 255, .16);
            background: rgba(22, 23, 28, .68);
            color: #fff;
            box-shadow: 0 8px 28px rgba(0, 0, 0, .28);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            cursor: pointer;
            transition: background .18s ease, transform .18s ease, opacity .18s ease;
            -webkit-tap-highlight-color: transparent;
        }.image-modal-close:hover,
        .modal-prev:hover,
        .modal-next:hover {
            background: rgba(255, 255, 255, .18);
        }.image-modal-close:active,
        .modal-prev:active,
        .modal-next:active {
            transform: scale(.94);
        }.image-modal-close {
            top: max(16px, env(safe-area-inset-top));
            right: max(18px, env(safe-area-inset-right));
            width: 44px;
            height: 44px;
            border-radius: 50%;
            font-size: 21px;
        }.modal-prev,
        .modal-next {
            top: 50%;
            width: 46px;
            height: 46px;
            border-radius: 50%;
            transform: translateY(-50%);
            font-size: 20px;
        }.modal-prev:active,
        .modal-next:active {
            transform: translateY(-50%) scale(.94);
        }.modal-prev {
            left: 16px;
        }.modal-next {
            right: 16px;
        }.image-modal.is-image-zoomed .modal-prev,
        .image-modal.is-image-zoomed .modal-next {
            opacity: .28;
            pointer-events: none;
        }.image-zoom-toolbar {
            position: absolute;
            z-index: 8;
            left: 50%;
            bottom: max(18px, env(safe-area-inset-bottom));
            display: grid;
            grid-template-columns: 42px 72px 42px;
            gap: 3px;
            padding: 5px;
            border: 1px solid rgba(255, 255, 255, .16);
            border-radius: 999px;
            background: rgba(20, 21, 25, .76);
            box-shadow: 0 12px 38px rgba(0, 0, 0, .34);
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
            transform: translateX(-50%);
        }.image-zoom-toolbar button {
            min-width: 0;
            min-height: 38px;
            border: 0;
            border-radius: 999px;
            background: transparent;
            color: #fff;
            font: inherit;
            font-size: 19px;
            font-weight: 700;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
            transition: background .16s ease, transform .16s ease;
        }.image-zoom-toolbar button:hover {
            background: rgba(255, 255, 255, .12);
        }.image-zoom-toolbar button:active {
            background: rgba(255, 255, 255, .18);
            transform: scale(.94);
        }.image-zoom-toolbar .image-zoom-level {
            font-size: 11px;
            letter-spacing: .02em;
        }.image-zoom-mobile-hint {
            position: absolute;
            z-index: 6;
            left: 50%;
            top: max(18px, env(safe-area-inset-top));
            display: none;
            max-width: calc(100vw - 130px);
            padding: 8px 12px;
            border: 1px solid rgba(255, 255, 255, .12);
            border-radius: 999px;
            background: rgba(20, 21, 25, .58);
            color: rgba(255, 255, 255, .86);
            font-size: 10.5px;
            font-weight: 600;
            line-height: 1.25;
            text-align: center;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            transform: translateX(-50%);
            pointer-events: none;
        }@media (max-width:1024px) {.booking-process-section {
                padding: 23px;
            }.booking-process-grid {
                grid-template-columns: 1fr;
                gap: 10px;
            }.booking-step-card {
                display: grid;
                min-height: 0;
                grid-template-columns: auto minmax(0, 1fr);
                grid-template-areas: "number number" "icon title" "copy copy" "actions actions";
                column-gap: 10px;
                padding: 16px;
            }.booking-step-top {
                display: contents;
            }.booking-step-number {
                grid-area: number;
                justify-self: start;
                margin-bottom: 9px;
            }.booking-step-icon {
                grid-area: icon;
                align-self: center;
            }.booking-step-card h3 {
                grid-area: title;
                align-self: center;
                margin: 0;
            }.booking-step-card p {
                grid-area: copy;
                margin-top: 10px;
            }.booking-step-actions {
                grid-area: actions;
                margin-top: 0;
            }.custom-detail-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }}.image-zoom-mobile-hint.is-hidden {
            opacity: 0;
            transition: opacity .28s ease;
        }@media (min-width:641px) and (max-width:1024px) {.image-modal {
                padding: 68px 54px 82px;
            }.image-zoom-stage {
                border-radius: 18px;
            }.image-modal-close {
                width: 42px;
                height: 42px;
            }.modal-prev,
            .modal-next {
                width: 42px;
                height: 42px;
            }.image-zoom-toolbar {
                bottom: max(16px, env(safe-area-inset-bottom));
            }.image-zoom-mobile-hint {
                display: block;
                top: max(16px, env(safe-area-inset-top));
            }}@media (max-width:640px) {.booking-process-section {
                margin-top: 30px;
                padding: 19px 14px 15px;
                border-radius: 21px;
            }.booking-process-heading {
                margin-bottom: 15px;
            }.booking-process-heading h2 {
                font-size: 22px;
            }.booking-process-heading p {
                font-size: 12px;
            }.booking-process-calendar-hint {
                margin: 3px 1px;
                padding: 4px 8px;
                font-size: 10.5px;
            }.booking-step-card {
                padding: 14px;
                border-radius: 16px;
            }.booking-step-icon {
                width: 37px;
                height: 37px;
                flex-basis: 37px;
                border-radius: 11px;
                font-size: 14px;
            }.booking-step-card h3 {
                font-size: 15px;
                line-height: 1.3;
            }.booking-step-card p {
                font-size: 11.5px;
                line-height: 1.52;
            }.booking-step-link,
            .booking-step-button {
                min-height: 40px;
                padding: 8px;
                font-size: 10.5px;
            }.booking-process-assurance {
                gap: 5px;
                margin-top: 12px;
                padding-top: 12px;
            }.booking-process-assurance span {
                min-height: 48px;
                flex-direction: column;
                gap: 3px;
                padding: 7px 3px;
                border-radius: 11px;
                font-size: 9px;
            }.custom-price-card {
                grid-template-columns: 1fr;
                gap: 9px;
                padding: 12px;
                border-radius: 16px;
            }.custom-status-pill {
                max-width: none;
                justify-self: start;
            }.custom-price-total strong {
                font-size: 24px;
            }.custom-detail-grid>div {
                padding: 10px;
            }.custom-detail-grid b {
                font-size: 11px;
            }.image-modal {
                padding: calc(52px + env(safe-area-inset-top)) 0 calc(70px + env(safe-area-inset-bottom));
                background: rgba(6, 7, 10, .985);
                backdrop-filter: none;
                -webkit-backdrop-filter: none;
            }.image-zoom-stage {
                border-radius: 0;
            }.image-zoom-stage::after {
                display: none;
            }.image-zoom-stage img {
                max-width: 100vw;
                max-height: calc(100dvh - 122px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
                border-radius: 0;
                box-shadow: none;
            }.image-modal-close {
                top: max(10px, env(safe-area-inset-top));
                right: max(10px, env(safe-area-inset-right));
                width: 40px;
                height: 40px;
                background: rgba(18, 19, 23, .76);
            }.modal-prev,
            .modal-next {
                width: 34px;
                height: 42px;
                border-radius: 12px;
                font-size: 15px;
                background: rgba(18, 19, 23, .48);
            }.modal-prev {
                left: max(5px, env(safe-area-inset-left));
            }.modal-next {
                right: max(5px, env(safe-area-inset-right));
            }.image-zoom-toolbar {
                bottom: max(10px, env(safe-area-inset-bottom));
                grid-template-columns: 38px 64px 38px;
                padding: 4px;
                background: rgba(18, 19, 23, .82);
            }.image-zoom-toolbar button {
                min-height: 34px;
                font-size: 17px;
            }.image-zoom-toolbar .image-zoom-level {
                font-size: 10px;
            }.image-zoom-mobile-hint {
                display: block;
            }}@media (max-width:360px) {.booking-process-assurance span {
                font-size: 8.3px;
            }.booking-step-actions {
                grid-template-columns: 1fr;
            }.custom-detail-grid {
                grid-template-columns: 1fr;
            }}.hero-image {
            cursor: zoom-in;
        }@media (prefers-reduced-motion:reduce) {.image-zoom-stage img {
                transition: none;
            }}html.calendar-route {
            --calendar-space-xl: 24px;
            --calendar-space-lg: 20px;
            --calendar-space-md: 16px;
            --calendar-space-sm: 12px;
        }html.calendar-route #bookingSearch,
        html.calendar-route .about-editorial-section,
        html.calendar-route .about-section,
        html.calendar-route .why-section,
        html.calendar-route .highlights-section,
        html.calendar-route #homes,
        html.calendar-route #gallery,
        html.calendar-route .stats-bar {
            display: none !important;
        }html.calendar-route .container>.tabs {
            margin: 10px 0 18px;
        }html.calendar-route #calendarPage.page.active {
            display: block;
            padding: 0 0 34px;
        }html.calendar-route #calendarPage .suggested-section {
            margin: 0 0 var(--calendar-space-lg) !important;
            padding: 20px;
            border-radius: 24px;
        }html.calendar-route #calendarPage .suggested-section h2 {
            margin: 0 0 12px;
            line-height: 1.4;
        }html.calendar-route #customBookingInline {
            display: block;
            margin: 0 0 var(--calendar-space-xl) !important;
        }html.calendar-route #roomTabs.room-tabs {
            margin: 0 0 var(--calendar-space-md) !important;
            padding: 2px 0;
        }html.calendar-route .calendar-wrap {
            margin: 0 !important;
            padding: 12px;
            border-radius: 22px;
        }html.calendar-route .calendar-legend {
            margin: 0 0 12px !important;
        }html.calendar-route .calendar-pagination {
            margin-top: 16px !important;
        }html.calendar-route .day-header.selected,
        html.calendar-route .day-header.selected:not(.today),
        html.calendar-route .day-header.today.selected {
            color: #fff !important;
            background: linear-gradient(135deg, #ff8fb0 0%, #ff5b8b 55%, #ef3e72 100%) !important;
            border-radius: 12px !important;
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .32),
                0 7px 18px rgba(239, 62, 114, .23) !important;
        }html.calendar-route .day-header.selected strong,
        html.calendar-route .day-header.selected div {
            color: inherit !important;
        }html.calendar-route .no-package {
            width: 100%;
            line-height: 1.5;
        }html.calendar-route .no-package::before {
            display: none !important;
            content: none !important;
        }html.calendar-route .no-package-loading {
            display: grid;
            justify-items: center;
            gap: 6px;
            padding: 18px;
            border: 1px solid rgba(216, 157, 121, .24);
            border-radius: 18px;
            color: #71594e;
            text-align: center;
            background: linear-gradient(135deg, #fffaf6, #fff);
            box-shadow: 0 8px 22px rgba(92, 60, 44, .06);
        }html.calendar-route .no-package-empty {
            position: relative;
            display: grid;
            justify-items: center;
            gap: 7px;
            width: 100%;
            margin-top: 4px;
            padding: 20px 22px;
            overflow: hidden;
            border: 1px solid rgba(236, 183, 54, .58);
            border-radius: 20px;
            text-align: center;
            background: radial-gradient(circle at 50% -38%, rgba(255, 210, 74, .35), transparent 48%),
                linear-gradient(145deg, #fff0a8 0%, #fff7d4 48%, #fffdf4 100%);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82),
                0 12px 28px rgba(185, 130, 15, .12);
        }html.calendar-route .no-package-empty::after {
            content: "";
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background: linear-gradient(105deg, rgba(255, 255, 255, .28), transparent 38%, rgba(255, 255, 255, .16));
            pointer-events: none;
        }html.calendar-route .no-package-empty strong {
            position: relative;
            z-index: 1;
            color: #d93670;
            font-size: 15px;
            font-weight: 800;
            line-height: 1.4;
            letter-spacing: -.01em;
        }html.calendar-route .no-package-empty span {
            position: relative;
            z-index: 1;
            max-width: 660px;
            color: #7b5a52;
            font-size: 12.8px;
            font-weight: 500;
            line-height: 1.55;
        }@media (min-width: 641px) and (max-width: 1100px) {html.calendar-route {
                --calendar-space-xl: 20px;
                --calendar-space-lg: 17px;
                --calendar-space-md: 14px;
            }html.calendar-route .container>.tabs {
                margin: 8px 0 15px;
            }html.calendar-route #calendarPage.page.active {
                padding-bottom: 28px;
            }html.calendar-route #calendarPage .suggested-section {
                padding: 17px;
                border-radius: 21px;
            }html.calendar-route .calendar-wrap {
                padding: 10px;
                border-radius: 20px;
            }html.calendar-route .no-package-empty {
                gap: 6px;
                padding: 17px 18px;
                border-radius: 18px;
            }html.calendar-route .custom-inline-card {
                grid-template-columns: minmax(0, 1fr) 142px !important;
                gap: 13px !important;
                padding: 14px 15px !important;
                border-radius: 18px !important;
            }html.calendar-route .custom-inline-main {
                gap: 10px;
            }html.calendar-route .custom-inline-icon {
                width: 38px;
                height: 38px;
                flex-basis: 38px;
                border-radius: 11px;
                font-size: 16px;
            }html.calendar-route .custom-inline-copy .custom-booking-kicker {
                margin-bottom: 2px;
                font-size: 9px;
            }html.calendar-route .custom-inline-copy h3 {
                margin-bottom: 3px !important;
                font-size: 16px !important;
            }html.calendar-route .custom-inline-copy p {
                font-size: 11px !important;
                line-height: 1.45 !important;
            }html.calendar-route .custom-inline-benefits {
                gap: 5px 9px;
                margin-top: 6px;
            }html.calendar-route .custom-inline-benefits span {
                font-size: 9px;
            }html.calendar-route .custom-inline-btn {
                width: 100% !important;
                min-width: 0 !important;
                min-height: 39px !important;
                padding: 8px 11px !important;
                border-radius: 11px !important;
                font-size: 11px !important;
            }}@media (max-width: 768px) {html.calendar-route {
                --calendar-space-xl: 18px;
                --calendar-space-lg: 14px;
                --calendar-space-md: 12px;
            }html.calendar-route .container>.tabs {
                margin: 7px 0 12px !important;
                padding-bottom: 1px;
            }html.calendar-route #calendarPage.page.active {
                padding-bottom: 22px;
            }html.calendar-route #calendarPage .suggested-section {
                padding: 14px;
                border-radius: 18px;
            }html.calendar-route #calendarPage .suggested-section h2 {
                margin-bottom: 9px;
                font-size: 16px;
                line-height: 1.38;
            }html.calendar-route #customBookingInline {
                margin-bottom: 18px !important;
            }html.calendar-route #roomTabs.room-tabs {
                margin-bottom: 12px !important;
            }html.calendar-route .calendar-wrap {
                padding: 7px !important;
                border-radius: 17px !important;
            }html.calendar-route .calendar-legend {
                margin-bottom: 9px !important;
            }html.calendar-route .day-header.selected,
            html.calendar-route .day-header.selected:not(.today),
            html.calendar-route .day-header.today.selected {
                border-radius: 10px !important;
                box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25),
                    0 5px 12px rgba(201, 78, 114, .19) !important;
            }html.calendar-route .no-package-empty {
                gap: 5px;
                margin-top: 2px;
                padding: 14px 12px;
                border-radius: 16px;
            }html.calendar-route .no-package-empty strong {
                font-size: 13.5px;
            }html.calendar-route .no-package-empty span {
                max-width: 34rem;
                font-size: 11.5px;
                line-height: 1.5;
            }}@media (max-width: 640px) {html.calendar-route .custom-inline-card {
                grid-template-columns: 1fr !important;
                gap: 8px !important;
                padding: 11px 12px !important;
                border-radius: 15px !important;
            }html.calendar-route .custom-inline-main {
                gap: 8px;
            }html.calendar-route .custom-inline-icon {
                width: 33px;
                height: 33px;
                flex-basis: 33px;
                border-radius: 10px;
                font-size: 14px;
            }html.calendar-route .custom-inline-copy .custom-booking-kicker {
                margin-bottom: 1px;
                font-size: 7.5px;
                letter-spacing: .08em;
            }html.calendar-route .custom-inline-copy h3 {
                margin-bottom: 2px !important;
                font-size: 14px !important;
                line-height: 1.22 !important;
            }html.calendar-route .custom-inline-copy p {
                font-size: 10.5px !important;
                line-height: 1.42 !important;
            }html.calendar-route .custom-inline-benefits {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 4px 7px;
                margin-top: 6px;
            }html.calendar-route .custom-inline-benefits span {
                min-width: 0;
                font-size: 8.5px;
                line-height: 1.3;
            }html.calendar-route .custom-inline-btn {
                width: 100% !important;
                min-width: 0 !important;
                min-height: 36px !important;
                padding: 7px 10px !important;
                border-radius: 10px !important;
                font-size: 10.5px !important;
                box-shadow: 0 6px 14px rgba(230, 30, 77, .18) !important;
            }}@media (max-width: 520px) {html.calendar-route #calendarPage .suggested-section {
                padding: 12px;
            }html.calendar-route #calendarPage .suggested-section h2 {
                font-size: 14.5px;
            }html.calendar-route #customBookingInline {
                margin-bottom: 16px !important;
            }html.calendar-route .calendar-wrap {
                padding: 6px !important;
            }}@media (max-width: 380px) {html.calendar-route .custom-inline-card {
                padding: 10px !important;
            }html.calendar-route .custom-inline-benefits {
                grid-template-columns: 1fr 1fr;
            }html.calendar-route .custom-inline-copy h3 {
                font-size: 13.5px !important;
            }.calendar-route #calendarPage .suggested-section {
                padding-bottom: 0px !important;
            }}html.calendar-route #suggestedPackages .no-package-empty {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 7px;
            width: 100%;
            margin: 4px 0 0;
            padding: 20px 22px;
            border: 1px solid #f0bd3e;
            border-radius: 20px;
            text-align: center;
            background: linear-gradient(135deg, #fff0a6 0%, #ffe6a8 48%, #ffd9e5 100%);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78), 0 12px 28px rgba(185, 130, 15, .14);
            background: #FFE4ED !important;
        }html.calendar-route #suggestedPackages .no-package-empty::before,
        html.calendar-route #suggestedPackages .no-package-empty::after {
            display: none;
            content: none
        }html.calendar-route #suggestedPackages .no-package-empty strong {
            color: #d92f6b;
            font-size: 15px;
            font-weight: 800;
            line-height: 1.4
        }html.calendar-route #suggestedPackages .no-package-empty span {
            max-width: 650px;
            color: #76514c;
            font-size: 12.8px;
            font-weight: 500;
            line-height: 1.55
        }.booking-step-calendar .booking-step-actions {
            display: none
        }.mobile-book-bar {
            display: none
        }@media(max-width:768px) {body.home-detail-open {
                padding-bottom: calc(78px + env(safe-area-inset-bottom))
            }body.home-detail-open .mobile-book-bar {
                position: fixed;
                inset: auto 0 0;
                z-index: 100050;
                display: grid;
                grid-template-columns: minmax(0, 1fr) minmax(116px, auto);
                align-items: center;
                gap: 10px;
                padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
                border-top: 1px solid #ece7e4;
                border-radius: 18px 18px 0 0;
                background: rgba(255, 255, 255, .97);
                box-shadow: 0 -10px 28px rgba(30, 20, 16, .1);
                backdrop-filter: blur(16px);
                transform: translateZ(0);
                justify-content: space-between;
            }body.home-detail-open .mobile-book-bar .mobile-price-wrap {
                min-width: 0
            }body.home-detail-open .mobile-book-bar .mobile-price-wrap span {
                display: block;
                margin: 0 0 2px;
                color: #777;
                font-size: 10px;
                font-weight: 700
            }body.home-detail-open .mobile-book-bar .mobile-price-wrap strong {
                display: block;
                color: #222;
                font-size: 15px;
                font-weight: 800;
                line-height: 1.2;
                white-space: nowrap
            }body.home-detail-open .mobile-book-bar .mobile-book-btn {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: auto;
                min-width: 116px;
                min-height: 44px;
                padding: 10px 16px;
                border: 0;
                border-radius: 13px;
                background: linear-gradient(135deg, #ff668e, #ed3d70);
                color: #fff;
                font-size: 12.5px;
                font-weight: 800;
                white-space: nowrap;
                box-shadow: 0 8px 18px rgba(237, 61, 112, .24)
            }.calendar-route #calendarPage .suggested-section {
                padding-bottom: 0px !important;
            }}@media(max-width:390px) {body.home-detail-open .mobile-book-bar {
                grid-template-columns: minmax(0, 1fr) 102px;
                gap: 7px;
                padding-inline: 11px
            }body.home-detail-open .mobile-book-bar .mobile-price-wrap strong {
                font-size: 13.5px
            }body.home-detail-open .mobile-book-bar .mobile-book-btn {
                min-width: 102px;
                min-height: 40px;
                padding: 8px 10px;
                font-size: 10.5px
            }}#homeDetailPage .pricing-card {
            position: sticky;
            top: 104px;
            width: 100%;
            max-width: 390px;
            padding: 20px;
            overflow: hidden;
            border: 1px solid rgba(135, 88, 69, .14);
            border-radius: 24px;
            background: radial-gradient(circle at 100% 0, rgba(216, 157, 121, .17), transparent 34%), #fff;
            box-shadow: 0 18px 50px rgba(74, 48, 37, .1);
            align-self: start
        }#homeDetailPage .pricing-card-header {
            display: flex;
            align-items: center;
            gap: 13px;
            margin-bottom: 13px
        }#homeDetailPage .pricing-card-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 46px;
            height: 46px;
            flex: 0 0 46px;
            border-radius: 15px;
            background: linear-gradient(135deg, #fff1f3, #fce2e7);
            color: #d92b50;
            font-size: 17px
        }#homeDetailPage .pricing-card-eyebrow {
            display: block;
            margin-bottom: 3px;
            color: #9b6c59;
            font-size: 9.5px;
            font-weight: 900;
            letter-spacing: .11em
        }#homeDetailPage .pricing-card .pricing-card-title {
            margin: 0;
            padding: 0;
            border: 0;
            text-align: left;
            color: #24211f;
            font-size: 22px;
            font-weight: 800;
            line-height: 1.2;
            letter-spacing: -.03em
        }#homeDetailPage .pricing-card-subtitle {
            display: grid;
            grid-template-columns: 30px minmax(0, 1fr);
            gap: 10px;
            align-items: start;
            margin: 0 0 14px;
            padding: 12px;
            border: 1px solid #f0e5df;
            border-radius: 16px;
            background: rgba(255, 250, 247, .94);
            color: #655952;
            font-size: 12.5px;
            line-height: 1.58
        }#homeDetailPage .pricing-card-subtitle>i {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 30px;
            height: 30px;
            border-radius: 10px;
            background: #fff;
            color: #d92b50;
            box-shadow: 0 4px 12px rgba(89, 57, 44, .08)
        }#homeDetailPage .pricing-card #pricingPreview {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 8px;
            margin: 0 0 13px
        }#homeDetailPage .pricing-card .price-preview-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            min-width: 0;
            min-height: 76px;
            padding: 10px 7px;
            border: 1px solid #ece7e4;
            border-radius: 15px;
            background: #fff;
            box-shadow: 0 6px 18px rgba(73, 48, 38, .055);
            text-align: center
        }#homeDetailPage .pricing-card .price-preview-label {
            margin-bottom: 5px;
            color: #766a64;
            font-size: 10.5px;
            font-weight: 800
        }#homeDetailPage .pricing-card .price-preview-value {
            color: #e2274f;
            font-size: 15px;
            font-weight: 900;
            line-height: 1.15;
            white-space: nowrap
        }#homeDetailPage .pricing-card .pricing-details {
            margin-top: 2px;
            border: 1px solid #eee6e1;
            border-radius: 14px;
            background: #fff
        }#homeDetailPage .pricing-card .pricing-details summary {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            padding: 12px 13px;
            color: #704b3c;
            font-size: 12px;
            font-weight: 800;
            list-style: none;
            cursor: pointer
        }#homeDetailPage .pricing-card .pricing-details summary::-webkit-details-marker {
            display: none
        }#homeDetailPage .pricing-card .pricing-details summary i {
            transition: transform .22s ease
        }#homeDetailPage .pricing-card .pricing-details[open] summary i {
            transform: rotate(180deg)
        }#homeDetailPage .pricing-card #pricingTable {
            padding: 2px 13px 10px
        }#homeDetailPage .pricing-card .pricing-condition-list {
            display: grid;
            gap: 8px;
            margin-top: 13px
        }#homeDetailPage .pricing-card .pricing-condition-list>div {
            display: grid;
            grid-template-columns: 18px minmax(0, 1fr);
            gap: 7px;
            align-items: start;
            color: #665d58;
            font-size: 11px;
            line-height: 1.5
        }#homeDetailPage .pricing-card .pricing-condition-list i {
            color: #d92b50;
            margin-top: 2px
        }@media(max-width:1100px) {#homeDetailPage .pricing-card {
                position: static;
                max-width: none
            }}@media(max-width:768px) {html.calendar-route #suggestedPackages .no-package-empty {
                gap: 5px;
                padding: 14px 12px;
                border-radius: 16px
            }html.calendar-route #suggestedPackages .no-package-empty strong {
                font-size: 13.5px
            }html.calendar-route #suggestedPackages .no-package-empty span {
                font-size: 11.5px
            }#homeDetailPage .pricing-card {
                padding: 16px;
                border-radius: 21px
            }#homeDetailPage .pricing-card #pricingPreview {
                gap: 6px
            }#homeDetailPage .pricing-card .price-preview-card {
                min-height: 68px;
                padding: 8px 4px;
                border-radius: 13px
            }#homeDetailPage .pricing-card .price-preview-label {
                font-size: 9.5px
            }#homeDetailPage .pricing-card .price-preview-value {
                font-size: 13px
            }}html.calendar-route #hero,
        html.calendar-route .story-section {
            display: flex !important;
        }html.calendar-route .story-section {
            display: block !important;
        }#hero.site-hero-media,
        html.home-route #hero.site-hero-media,
        html.calendar-route #hero.site-hero-media,
        html.gallery-route #hero.site-hero-media {
            box-sizing: border-box !important;
            width: 100% !important;
            height: clamp(420px, 43.75vw, 620px) !important;
            min-height: 0 !important;
            max-height: none !important;
            padding: 32px 20px !important;
            flex: 0 0 auto !important;
            background-size: cover !important;
            background-position: center center !important;
            background-repeat: no-repeat !important;
        }html.calendar-route #calendarTab.tab,
        html.calendar-route #calendarTab.tab.active {
            background: linear-gradient(135deg, var(--brand-brown, #875845), var(--brand-terracotta, #d89d79)) !important;
            color: #fff !important;
            box-shadow: 0 10px 22px rgba(135, 88, 69, .18) !important;
        }@media (max-width: 992px) {#hero.site-hero-media,
            html.home-route #hero.site-hero-media,
            html.calendar-route #hero.site-hero-media,
            html.gallery-route #hero.site-hero-media {
                height: clamp(340px, 50vw, 430px) !important;
                padding: 24px 18px !important;
            }}@media (max-width: 520px) {#hero.site-hero-media,
            html.home-route #hero.site-hero-media,
            html.calendar-route #hero.site-hero-media,
            html.gallery-route #hero.site-hero-media {
                height: clamp(300px, 78vw, 350px) !important;
                padding: 18px 14px !important;
                background-position: center center !important;
            }}#hero.site-hero-media {
            position: relative !important;
            justify-content: flex-start !important;
            align-items: center !important;
            isolation: isolate;
            overflow: hidden;
        }#hero.site-hero-media::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 0;
            background: linear-gradient(90deg,
                    rgba(24, 17, 14, .68) 0%,
                    rgba(24, 17, 14, .34) 44%,
                    rgba(24, 17, 14, .08) 72%,
                    rgba(24, 17, 14, .18) 100%);
            pointer-events: none;
        }#hero .hero-value-card {
            position: relative;
            z-index: 4;
            width: min(620px, calc(100% - 390px));
            margin-left: clamp(10px, 4vw, 54px);
            padding: clamp(22px, 2.6vw, 34px);
            border: 1px solid rgba(255, 255, 255, .23);
            border-radius: 28px;
            background: rgba(35, 25, 21, .52);
            color: #fff;
            text-align: left;
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
            box-shadow: 0 24px 60px rgba(0, 0, 0, .24);
        }#hero .hero-location-chip {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 14px;
            padding: 8px 12px;
            border: 1px solid rgba(255, 255, 255, .2);
            border-radius: 999px;
            background: rgba(255, 255, 255, .13);
            color: #fff4ec;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .1px;
        }#hero .hero-value-card h1 {
            max-width: 570px;
            margin: 0 0 12px;
            color: #fff;
            font-size: clamp(32px, 4vw, 54px);
            font-weight: 900;
            line-height: 1.08;
            letter-spacing: -1.8px;
            text-shadow: 0 3px 18px rgba(0, 0, 0, .24);
        }#hero .hero-value-card>p {
            max-width: 560px;
            margin: 0;
            color: rgba(255, 255, 255, .91);
            font-size: clamp(14px, 1.4vw, 17px);
            line-height: 1.68;
        }#hero .hero-audience {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 16px;
        }#hero .hero-audience span {
            padding: 7px 10px;
            border-radius: 999px;
            background: rgba(255, 244, 235, .14);
            color: #fff8f2;
            font-size: 11px;
            font-weight: 750;
        }#hero .hero-conversion-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            margin-top: 20px;
        }#hero .hero-starting-price {
            min-width: 0;
        }#hero .hero-starting-price small {
            display: block;
            margin-bottom: 3px;
            color: rgba(255, 255, 255, .72);
            font-size: 11px;
            font-weight: 700;
        }#hero .hero-starting-price strong {
            display: block;
            color: #ffe0a8;
            font-size: clamp(17px, 1.8vw, 22px);
            font-weight: 900;
            white-space: nowrap;
        }#hero .hero-primary-cta {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            min-height: 48px;
            padding: 12px 18px;
            border: 0;
            border-radius: 15px;
            background: linear-gradient(135deg, #ff759a, #e84272);
            color: #fff;
            font: inherit;
            font-size: 13px;
            font-weight: 900;
            white-space: nowrap;
            cursor: pointer;
            box-shadow: 0 12px 26px rgba(232, 66, 114, .28);
            transition: transform .2s ease, box-shadow .2s ease;
        }#hero .hero-primary-cta:hover {
            transform: translateY(-2px);
            box-shadow: 0 16px 30px rgba(232, 66, 114, .34);
        }#hero .flash-sale-card {
            right: clamp(18px, 3vw, 46px) !important;
            left: auto !important;
            bottom: clamp(18px, 3vw, 38px) !important;
        }#sharedCustomerReviews {
            width: min(calc(100% - 100px), 1400px);
            margin: clamp(36px, 5vw, 66px) auto 0;
        }#sharedCustomerReviews.route-hidden {
            display: none !important;
        }html.home-route #sharedCustomerReviews,
        html.gallery-route #sharedCustomerReviews {
            display: block;
        }html.calendar-route #sharedCustomerReviews,
        html.about-route #sharedCustomerReviews,
        html.detail-route #sharedCustomerReviews {
            display: none !important;
        }html.home-route #bookingSearch {
            margin-top: clamp(24px, 4vw, 48px);
        }html.home-route body>.container:has(#roomGrid) {
            /* margin-top: clamp(26px, 3vw, 42px); */
        }html.home-route body>.container:has(#roomGrid)>.tabs {
            margin-top: 0;
        }html.home-route .story-section {
            margin-top: clamp(34px, 5vw, 62px) !important;
        }@media (max-width: 992px) {#hero .hero-value-card {
                width: min(610px, calc(100% - 300px));
                margin-left: 4px;
                padding: 22px;
                border-radius: 23px;
            }#hero .hero-value-card h1 {
                font-size: clamp(28px, 4.6vw, 40px);
            }#hero .flash-sale-card {
                right: 14px !important;
                bottom: 14px !important;
                width: 260px;
            }#sharedCustomerReviews {
                width: min(calc(100% - 36px), 1400px);
            }}@media (max-width: 768px) {#hero.site-hero-media,
            html.home-route #hero.site-hero-media,
            html.calendar-route #hero.site-hero-media,
            html.gallery-route #hero.site-hero-media {
                height: clamp(380px, 103vw, 430px) !important;
                padding: 16px 14px !important;
                align-items: flex-end !important;
            }#hero.site-hero-media::before {
                background: linear-gradient(180deg,
                        rgba(24, 17, 14, .08) 0%,
                        rgba(24, 17, 14, .24) 34%,
                        rgba(24, 17, 14, .76) 100%);
            }#hero .hero-value-card {
                width: 100%;
                margin: 0;
                padding: 17px;
                border-radius: 21px;
                background: rgba(35, 25, 21, .58);
            }#hero .hero-location-chip {
                margin-bottom: 9px;
                padding: 6px 9px;
                font-size: 9.5px;
            }#hero .hero-value-card h1 {
                margin-bottom: 8px;
                font-size: clamp(25px, 7.6vw, 31px) !important;
                line-height: 1.12;
                letter-spacing: -1px;
            }#hero .hero-value-card>p {
                font-size: 12px !important;
                line-height: 1.55;
            }#hero .hero-audience {
                gap: 6px;
                margin-top: 10px;
            }#hero .hero-audience span {
                padding: 5px 8px;
                font-size: 9px;
            }#hero .hero-conversion-row {
                gap: 10px;
                margin-top: 13px;
            }#hero .hero-starting-price small {
                font-size: 9px;
            }#hero .hero-starting-price strong {
                font-size: 15px;
            }#hero .hero-primary-cta {
                min-height: 40px;
                padding: 9px 12px;
                border-radius: 12px;
                font-size: 10.5px;
            }#hero .flash-sale-card {
                top: 12px !important;
                right: 12px !important;
                bottom: auto !important;
                width: auto !important;
                max-width: 165px;
                padding: 9px !important;
                border-radius: 14px !important;
            }#hero .flash-sale-card .flash-sub,
            #hero .flash-sale-card .flash-info,
            #hero .flash-sale-card .flash-guide,
            #hero .flash-sale-card .flash-social-proof {
                display: none !important;
            }#hero .flash-sale-card .flash-badge {
                margin-bottom: 4px;
                padding: 4px 7px;
                font-size: 8.5px;
            }#hero .flash-sale-card .flash-head {
                margin-bottom: 5px;
                font-size: 11px;
            }#hero .flash-sale-card .flash-btn {
                padding: 6px 8px;
                border-radius: 9px;
                font-size: 9px;
            }#sharedCustomerReviews {
                width: calc(100% - 28px);
                margin-top: 30px;
            }#sharedCustomerReviews .section-header {
                margin-bottom: 18px;
            }#sharedCustomerReviews .section-header h2 {
                font-size: 22px;
            }#sharedCustomerReviews .section-header p {
                font-size: 12px;
            }body.home-detail-open .mobile-book-bar .mobile-price-wrap strong {
                font-size: 14px;
            }}@media (max-width: 390px) {#hero .hero-audience span:nth-child(2) {
                display: none;
            }#hero .hero-primary-cta {
                padding-inline: 10px;
            }}#hero .hero-value-card {
            width: min(500px, calc(100% - 410px)) !important;
            margin-left: clamp(8px, 3vw, 38px) !important;
            padding: clamp(16px, 1.8vw, 22px) !important;
            border-radius: 22px !important;
            background: rgba(38, 27, 23, .38) !important;
            border-color: rgba(255, 255, 255, .18) !important;
            backdrop-filter: blur(9px) !important;
            -webkit-backdrop-filter: blur(9px) !important;
            box-shadow: 0 16px 38px rgba(0, 0, 0, .18) !important;
        }#hero .hero-location-chip {
            margin-bottom: 10px !important;
            padding: 6px 10px !important;
            font-size: 10.5px !important;
            background: rgba(255, 255, 255, .10) !important;
        }#hero .hero-value-card h1 {
            max-width: 460px !important;
            margin-bottom: 8px !important;
            font-size: clamp(27px, 3.1vw, 42px) !important;
            line-height: 1.08 !important;
            letter-spacing: -1.2px !important;
        }#hero .hero-value-card>p {
            max-width: 450px !important;
            font-size: clamp(12px, 1.05vw, 14px) !important;
            line-height: 1.5 !important;
        }#hero .hero-audience {
            gap: 6px !important;
            margin-top: 11px !important;
        }#hero .hero-audience span {
            padding: 5px 8px !important;
            font-size: 9.5px !important;
            background: rgba(255, 244, 235, .11) !important;
        }#hero .hero-conversion-row {
            gap: 12px !important;
            margin-top: 14px !important;
        }#hero .hero-starting-price small {
            font-size: 9.5px !important;
        }#hero .hero-starting-price strong {
            font-size: clamp(15px, 1.45vw, 19px) !important;
        }#hero .hero-primary-cta {
            min-height: 42px !important;
            padding: 10px 14px !important;
            border-radius: 13px !important;
            font-size: 11.5px !important;
            box-shadow: 0 9px 20px rgba(232, 66, 114, .22) !important;
        }@media (max-width: 1100px) {#hero .hero-value-card {
                width: min(470px, calc(100% - 300px)) !important;
                margin-left: 0 !important;
                padding: 17px !important;
            }#hero .hero-value-card h1 {
                font-size: clamp(25px, 3.8vw, 34px) !important;
            }}@media (max-width: 768px) {#hero.site-hero-media,
            html.home-route #hero.site-hero-media,
            html.calendar-route #hero.site-hero-media,
            html.gallery-route #hero.site-hero-media {
                height: clamp(330px, 88vw, 380px) !important;
                padding: 12px !important;
            }#hero .hero-value-card {
                width: min(100%, 430px) !important;
                margin: 0 auto !important;
                padding: 13px 14px !important;
                border-radius: 17px !important;
                background: rgba(38, 27, 23, .46) !important;
                backdrop-filter: blur(7px) !important;
                -webkit-backdrop-filter: blur(7px) !important;
            }#hero .hero-location-chip {
                margin-bottom: 6px !important;
                padding: 4px 7px !important;
                font-size: 8px !important;
            }#hero .hero-value-card h1 {
                margin-bottom: 5px !important;
                font-size: clamp(20px, 6vw, 25px) !important;
                letter-spacing: -.7px !important;
            }#hero .hero-value-card>p {
                font-size: 10px !important;
                line-height: 1.4 !important;
            }#hero .hero-audience {
                margin-top: 7px !important;
                gap: 4px !important;
            }#hero .hero-audience span {
                padding: 4px 6px !important;
                font-size: 7.8px !important;
            }#hero .hero-conversion-row {
                margin-top: 9px !important;
                gap: 8px !important;
            }#hero .hero-starting-price small {
                font-size: 7.8px !important;
            }#hero .hero-starting-price strong {
                font-size: 13px !important;
            }#hero .hero-primary-cta {
                min-height: 34px !important;
                padding: 7px 9px !important;
                border-radius: 10px !important;
                font-size: 8.8px !important;
                gap: 5px !important;
            }}@media (max-width: 390px) {#hero .hero-value-card>p {
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }#hero .hero-audience span:last-child {
                display: none !important;
            }}#hero .hero-value-card {
            width: min(430px, calc(100% - 430px)) !important;
            margin-left: clamp(8px, 2.6vw, 34px) !important;
            padding: 14px 16px !important;
            border: 1px solid rgba(255, 255, 255, .17) !important;
            border-radius: 18px !important;
            background: linear-gradient(135deg, rgba(32, 23, 20, .38), rgba(32, 23, 20, .22)) !important;
            backdrop-filter: blur(7px) !important;
            -webkit-backdrop-filter: blur(7px) !important;
            box-shadow: 0 14px 34px rgba(0, 0, 0, .16) !important;
        }#hero .hero-location-chip {
            display: inline-flex !important;
            align-items: center !important;
            gap: 5px !important;
            margin: 0 0 6px !important;
            padding: 0 !important;
            border: 0 !important;
            background: transparent !important;
            color: rgba(255, 255, 255, .82) !important;
            font-size: 9.5px !important;
            font-weight: 700 !important;
        }#hero .hero-location-chip i {
            color: #ffd4df !important;
            font-size: 9px !important;
        }#hero .hero-value-card h1 {
            max-width: 390px !important;
            margin: 0 0 5px !important;
            font-size: clamp(25px, 2.7vw, 37px) !important;
            line-height: 1.08 !important;
            letter-spacing: -1px !important;
        }#hero .hero-value-card>p {
            max-width: 390px !important;
            margin: 0 !important;
            color: rgba(255, 255, 255, .87) !important;
            font-size: clamp(11px, .96vw, 13px) !important;
            line-height: 1.42 !important;
        }#hero .hero-audience {
            display: none !important;
        }#hero .hero-conversion-row {
            justify-content: flex-start !important;
            gap: 10px !important;
            margin-top: 10px !important;
        }#hero .hero-starting-price {
            display: none !important;
            flex: 0 0 auto;
        }#hero .hero-starting-price.is-ready {
            display: block !important;
        }#hero .hero-starting-price small {
            margin-bottom: 1px !important;
            font-size: 8px !important;
        }#hero .hero-starting-price strong {
            font-size: clamp(13px, 1.2vw, 16px) !important;
        }#hero .hero-primary-cta {
            min-height: 36px !important;
            padding: 8px 12px !important;
            border-radius: 11px !important;
            font-size: 10px !important;
            gap: 6px !important;
            box-shadow: 0 8px 18px rgba(232, 66, 114, .2) !important;
        }@media (max-width: 1100px) {#hero .hero-value-card {
                width: min(400px, calc(100% - 300px)) !important;
                margin-left: 0 !important;
                padding: 13px 15px !important;
            }#hero .hero-value-card h1 {
                font-size: clamp(23px, 3.3vw, 31px) !important;
            }}@media (max-width: 768px) {#hero.site-hero-media,
            html.home-route #hero.site-hero-media,
            html.calendar-route #hero.site-hero-media,
            html.gallery-route #hero.site-hero-media {
                height: clamp(300px, 80vw, 350px) !important;
                padding: 10px !important;
            }#hero .hero-value-card {
                width: min(100%, 355px) !important;
                margin: 0 auto !important;
                padding: 10px 11px !important;
                border-radius: 14px !important;
                background: linear-gradient(135deg, rgba(32, 23, 20, .45), rgba(32, 23, 20, .28)) !important;
                backdrop-filter: blur(5px) !important;
                -webkit-backdrop-filter: blur(5px) !important;
            }#hero .hero-location-chip {
                margin-bottom: 4px !important;
                font-size: 7.4px !important;
                gap: 4px !important;
            }#hero .hero-location-chip i {
                font-size: 7px !important;
            }#hero .hero-value-card h1 {
                margin-bottom: 4px !important;
                font-size: clamp(18px, 5.4vw, 22px) !important;
                letter-spacing: -.55px !important;
            }#hero .hero-value-card>p {
                font-size: 8.8px !important;
                line-height: 1.34 !important;
            }#hero .hero-conversion-row {
                gap: 7px !important;
                margin-top: 7px !important;
            }#hero .hero-starting-price small {
                font-size: 6.8px !important;
            }#hero .hero-starting-price strong {
                font-size: 11px !important;
            }#hero .hero-primary-cta {
                min-height: 30px !important;
                padding: 6px 9px !important;
                border-radius: 9px !important;
                font-size: 8px !important;
                gap: 4px !important;
            }}@media (max-width: 390px) {#hero .hero-value-card {
                width: min(100%, 330px) !important;
            }#hero .hero-value-card>p {
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }}#hero.site-hero-media,
        html.home-route #hero.site-hero-media,
        html.calendar-route #hero.site-hero-media,
        html.gallery-route #hero.site-hero-media {
            height: clamp(360px, 34vw, 480px) !important;
            padding: 22px 20px !important;
        }#hero .hero-value-card {
            width: min(500px, calc(100% - 430px)) !important;
            margin-left: clamp(8px, 2.4vw, 32px) !important;
            padding: 12px 14px 13px !important;
            border: 1px solid rgba(255, 255, 255, .15) !important;
            border-radius: 17px !important;
            background: linear-gradient(135deg,
                    rgba(31, 22, 19, .32),
                    rgba(31, 22, 19, .16)) !important;
            backdrop-filter: blur(6px) !important;
            -webkit-backdrop-filter: blur(6px) !important;
            box-shadow: 0 12px 30px rgba(0, 0, 0, .14) !important;
        }#hero .hero-location-chip {
            display: inline-flex !important;
            width: fit-content !important;
            max-width: 100% !important;
            align-items: center !important;
            gap: 6px !important;
            margin: 0 0 7px !important;
            padding: 6px 10px !important;
            border: 1px solid rgba(255, 224, 232, .34) !important;
            border-radius: 999px !important;
            background: linear-gradient(135deg,
                    rgba(255, 239, 229, .18),
                    rgba(255, 219, 231, .16)) !important;
            color: #fff8f5 !important;
            font-size: 10px !important;
            font-weight: 800 !important;
            line-height: 1.2 !important;
            white-space: nowrap !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12) !important;
        }#hero .hero-location-chip i {
            color: #ffd5df !important;
            font-size: 9px !important;
        }#hero .hero-value-card h1 {
            max-width: none !important;
            margin: 0 0 7px !important;
            color: #fff !important;
            font-size: clamp(23px, 2.15vw, 29px) !important;
            font-weight: 900 !important;
            line-height: 1.08 !important;
            letter-spacing: -.85px !important;
            white-space: nowrap !important;
            text-wrap: nowrap !important;
        }#hero .hero-feature-pill,
        #hero .hero-value-card>p.hero-feature-pill {
            display: inline-flex !important;
            width: fit-content !important;
            max-width: 100% !important;
            margin: 0 !important;
            padding: 7px 10px !important;
            border: 1px solid rgba(255, 255, 255, .16) !important;
            border-radius: 12px !important;
            background: rgba(255, 255, 255, .11) !important;
            color: rgba(255, 255, 255, .92) !important;
            font-size: 10.5px !important;
            font-weight: 700 !important;
            line-height: 1.35 !important;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08) !important;
        }#hero .hero-conversion-row {
            gap: 9px !important;
            margin-top: 9px !important;
        }#hero .hero-primary-cta {
            min-height: 34px !important;
            padding: 7px 11px !important;
            border-radius: 10px !important;
            font-size: 9.5px !important;
        }#hero .hero-starting-price small {
            font-size: 7.5px !important;
        }#hero .hero-starting-price strong {
            font-size: 13px !important;
        }@media (max-width: 1100px) {#hero.site-hero-media,
            html.home-route #hero.site-hero-media,
            html.calendar-route #hero.site-hero-media,
            html.gallery-route #hero.site-hero-media {
                height: clamp(330px, 43vw, 400px) !important;
                padding: 18px 16px !important;
            }#hero .hero-value-card {
                width: min(450px, calc(100% - 285px)) !important;
                margin-left: 0 !important;
                padding: 11px 12px 12px !important;
            }#hero .hero-value-card h1 {
                font-size: clamp(20px, 2.65vw, 25px) !important;
            }#hero .hero-feature-pill,
            #hero .hero-value-card>p.hero-feature-pill {
                font-size: 9.5px !important;
            }}@media (max-width: 768px) {#hero.site-hero-media,
            html.home-route #hero.site-hero-media,
            html.calendar-route #hero.site-hero-media,
            html.gallery-route #hero.site-hero-media {
                height: clamp(285px, 76vw, 330px) !important;
                padding: 9px !important;
            }#hero .hero-value-card {
                width: min(100%, 355px) !important;
                margin: 0 auto !important;
                padding: 9px 10px 10px !important;
                border-radius: 14px !important;
                background: linear-gradient(135deg,
                        rgba(31, 22, 19, .42),
                        rgba(31, 22, 19, .24)) !important;
            }#hero .hero-location-chip {
                margin-bottom: 5px !important;
                padding: 4px 7px !important;
                font-size: 7.6px !important;
                gap: 4px !important;
            }#hero .hero-location-chip i {
                font-size: 7px !important;
            }#hero .hero-value-card h1 {
                margin-bottom: 5px !important;
                font-size: clamp(17px, 5vw, 20px) !important;
                letter-spacing: -.45px !important;
            }#hero .hero-feature-pill,
            #hero .hero-value-card>p.hero-feature-pill {
                padding: 5px 7px !important;
                border-radius: 9px !important;
                font-size: 7.8px !important;
                line-height: 1.3 !important;
            }#hero .hero-conversion-row {
                gap: 6px !important;
                margin-top: 6px !important;
            }#hero .hero-primary-cta {
                min-height: 29px !important;
                padding: 6px 8px !important;
                border-radius: 8px !important;
                font-size: 7.7px !important;
            }#hero .hero-starting-price small {
                font-size: 6.4px !important;
            }#hero .hero-starting-price strong {
                font-size: 10.5px !important;
            }}@media (max-width: 390px) {#hero .hero-value-card {
                width: min(100%, 330px) !important;
            }#hero .hero-value-card h1 {
                font-size: clamp(15.5px, 4.75vw, 18px) !important;
            }#hero .hero-feature-pill,
            #hero .hero-value-card>p.hero-feature-pill {
                display: -webkit-box !important;
                width: 100% !important;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
                overflow: hidden;
            }}#hero .hero-starting-price.is-loading,
        #hero .hero-starting-price.is-ready,
        #hero .hero-starting-price.is-unavailable {
            display: block !important;
        }#hero .hero-starting-price strong {
            min-height: 1.2em;
        }#hero .hero-price-loading {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: #ffe0a8;
            white-space: nowrap;
        }#hero .hero-price-spinner {
            width: 11px;
            height: 11px;
            flex: 0 0 11px;
            border: 2px solid rgba(255, 224, 168, .34);
            border-top-color: #ffe0a8;
            border-radius: 50%;
            animation: heroPriceSpin .72s linear infinite;
        }#hero .hero-starting-price.is-unavailable strong {
            color: rgba(255, 255, 255, .82);
        }@keyframes heroPriceSpin {to {
                transform: rotate(360deg);
            }}@media (max-width: 768px) {#hero .hero-price-loading {
                gap: 4px;
            }#hero .hero-price-spinner {
                width: 9px;
                height: 9px;
                flex-basis: 9px;
                border-width: 1.5px;
            }}@media (prefers-reduced-motion: reduce) {#hero .hero-price-spinner {
                animation: none;
            }}html.detail-route:not(.app-ready) body {
            background: #fff !important;
        }html.detail-route:not(.app-ready) #pageLoader,
        html.detail-route:not(.app-ready) #hero.site-hero-media,
        html.detail-route:not(.app-ready) #bookingSearch,
        html.detail-route:not(.app-ready) .story-section,
        html.detail-route:not(.app-ready) #about,
        html.detail-route:not(.app-ready) .highlights-section,
        html.detail-route:not(.app-ready) body > .container,
        html.detail-route:not(.app-ready) #sharedCustomerReviews,
        html.detail-route:not(.app-ready) .stats-bar,
        html.detail-route:not(.app-ready) .footer,
        html.detail-route:not(.app-ready) .floating-social,
        html.detail-route:not(.app-ready) .floating-contact,
        html.detail-route:not(.app-ready) #faqToggle,
        html.detail-route:not(.app-ready) #faqBox {
            display: none !important;
        }html.detail-route:not(.app-ready) #homeDetailPage {
            display: block !important;
            min-height: calc(100vh - 76px) !important;
        }html.gallery-route:not(.app-ready) #bookingSearch,
        html.gallery-route:not(.app-ready) .story-section,
        html.gallery-route:not(.app-ready) #about,
        html.gallery-route:not(.app-ready) .highlights-section,
        html.gallery-route:not(.app-ready) #homes,
        html.gallery-route:not(.app-ready) #calendarPage,
        html.gallery-route:not(.app-ready) #sharedCustomerReviews,
        html.gallery-route:not(.app-ready) .stats-bar,
        html.gallery-route:not(.app-ready) body > .container > .tabs {
            display: none !important;
        }html.gallery-route:not(.app-ready) #gallery {
            display: block !important;
        }html.about-route:not(.app-ready) #bookingSearch,
        html.about-route:not(.app-ready) body > .container,
        html.about-route:not(.app-ready) #sharedCustomerReviews,
        html.about-route:not(.app-ready) .stats-bar {
            display: none !important;
        }html.about-route:not(.app-ready) #about {
            display: block !important;
        }@media (max-width: 768px) {.detail-route-skeleton-inner {
                padding: 18px 14px 48px !important;
            }.detail-skeleton-cover {
                height: 240px !important;
                border-radius: 18px !important;
            }.detail-skeleton-layout {
                grid-template-columns: 1fr !important;
                gap: 18px !important;
            }.detail-skeleton-card {
                min-height: 210px !important;
            }}html.detail-route #hero,
        html.detail-route #bookingSearch,
        html.detail-route .story-section,
        html.detail-route #about,
        html.detail-route .highlights-section,
        html.detail-route body > .container,
        html.detail-route #sharedCustomerReviews,
        html.detail-route .stats-bar {
            display: none !important;
        }html.detail-route #homeDetailPage {
            display: block !important;
        }html.detail-route:not(.app-ready) #homeDetailPage > .home-detail-container {
            display: none !important;
        }html.detail-route:not(.app-ready) #homeDetailPage .detail-route-skeleton {
            display: block !important;
        }html.detail-route.app-ready #homeDetailPage > .home-detail-container {
            display: block !important;
        }html.detail-route.app-ready #homeDetailPage .detail-route-skeleton {
            display: none !important;
        }#routeRestoreLoader {
            position: fixed;
            inset: 0;
            z-index: 1000000;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 20px;
            background: rgba(255, 255, 255, .78);
            backdrop-filter: blur(7px);
            -webkit-backdrop-filter: blur(7px);
        }html.is-restoring-route-scroll #routeRestoreLoader {
            display: flex;
        }.route-restore-card {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            padding: 13px 17px;
            border: 1px solid rgba(135, 88, 69, .14);
            border-radius: 999px;
            background: rgba(255, 255, 255, .96);
            color: #4b3b34;
            font-size: 13px;
            font-weight: 800;
            box-shadow: 0 14px 40px rgba(75, 49, 39, .14);
        }.route-restore-spinner {
            width: 17px;
            height: 17px;
            flex: 0 0 17px;
            border: 2px solid rgba(135, 88, 69, .20);
            border-top-color: #875845;
            border-radius: 50%;
            animation: routeRestoreSpin .72s linear infinite;
        }@keyframes routeRestoreSpin {to { transform: rotate(360deg); }}@media (prefers-reduced-motion: reduce) {.route-restore-spinner { animation: none; }}.ttlock-confirmation-card {
            margin-top: 14px;
            padding: 18px;
            border: 1px solid rgba(135, 88, 69, .16);
            border-radius: 24px;
            background:
                radial-gradient(circle at top right, rgba(255, 226, 208, .52), transparent 34%),
                linear-gradient(145deg, #fffdfb 0%, #fff8f4 100%);
            box-shadow: 0 16px 42px rgba(91, 58, 45, .08);
            overflow: hidden;
        }.ttlock-confirmation-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 16px;
            margin-bottom: 15px;
        }.ttlock-confirmation-title-wrap {
            min-width: 0;
        }.ttlock-confirmation-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            min-height: 27px;
            padding: 5px 10px;
            border-radius: 999px;
            background: rgba(34, 197, 94, .11);
            color: #17763b;
            font-size: 10px;
            font-weight: 900;
            letter-spacing: .08em;
        }.ttlock-confirmation-title {
            margin: 9px 0 5px;
            color: #30241f;
            font-size: 19px;
            font-weight: 900;
            line-height: 1.35;
            letter-spacing: -.35px;
        }.ttlock-confirmation-sub {
            margin: 0;
            color: #74645d;
            font-size: 12px;
            line-height: 1.65;
        }.ttlock-confirmation-security {
            flex: 0 0 auto;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 8px 10px;
            border: 1px solid rgba(135, 88, 69, .12);
            border-radius: 999px;
            background: rgba(255, 255, 255, .78);
            color: #6d5146;
            font-size: 10px;
            font-weight: 800;
            white-space: nowrap;
        }.ttlock-keypad-warning {
            display: flex;
            align-items: center;
            gap: 11px;
            margin-bottom: 12px;
            padding: 12px 13px;
            border: 1px solid rgba(180, 83, 9, .18);
            border-radius: 17px;
            background: linear-gradient(135deg, rgba(255, 247, 237, .98), rgba(255, 251, 235, .98));
            color: #7c3f12;
            box-shadow: 0 9px 24px rgba(146, 64, 14, .07);
        }.ttlock-keypad-warning-icon {
            width: 38px;
            height: 38px;
            flex: 0 0 38px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 13px;
            background: #fff;
            color: #b45309;
            font-size: 16px;
            line-height: 1;
            box-shadow: 0 6px 15px rgba(146, 64, 14, .10);
        }.ttlock-keypad-warning-copy {
            min-width: 0;
            display: grid;
            gap: 3px;
        }.ttlock-keypad-warning-copy strong {
            color: #78350f;
            font-size: 13px;
            font-weight: 900;
            line-height: 1.35;
        }.ttlock-keypad-warning-copy span {
            color: #8a4b20;
            font-size: 11px;
            font-weight: 650;
            line-height: 1.5;
        }.ttlock-keypad-warning-copy kbd {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 21px;
            min-height: 21px;
            padding: 1px 6px;
            border: 1px solid rgba(180, 83, 9, .24);
            border-bottom-width: 2px;
            border-radius: 7px;
            background: #fff;
            color: #9a4407;
            font: inherit;
            font-weight: 900;
            line-height: 1;
            vertical-align: middle;
        }.ttlock-passcode-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
        }.ttlock-passcode-card {
            position: relative;
            min-width: 0;
            padding: 15px;
            border: 1px solid rgba(135, 88, 69, .13);
            border-radius: 20px;
            background: rgba(255, 255, 255, .92);
            box-shadow: 0 10px 25px rgba(80, 49, 37, .06);
        }.ttlock-passcode-card.checkin {
            background:
                linear-gradient(180deg, rgba(239, 250, 244, .97), rgba(255, 255, 255, .96));
        }.ttlock-passcode-card.checkout {
            background:
                linear-gradient(180deg, rgba(255, 246, 234, .97), rgba(255, 255, 255, .96));
        }.ttlock-passcode-top {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 12px;
        }.ttlock-passcode-icon {
            width: 38px;
            height: 38px;
            flex: 0 0 38px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 13px;
            background: #fff;
            color: #875845;
            font-size: 17px;
            box-shadow: 0 7px 18px rgba(74, 47, 37, .08);
        }.ttlock-passcode-meta {
            min-width: 0;
        }.ttlock-passcode-label {
            display: block;
            color: #30241f;
            font-size: 13px;
            font-weight: 900;
            line-height: 1.35;
        }.ttlock-passcode-door {
            display: block;
            margin-top: 2px;
            color: #89766e;
            font-size: 10px;
            font-weight: 700;
        }.ttlock-passcode-code-row {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: center;
            gap: 9px;
            margin-bottom: 11px;
        }.ttlock-passcode-code {
            display: flex;
            align-items: center;
            justify-content: center;
            min-width: 0;
            min-height: 51px;
            padding: 10px 12px;
            border: 1px dashed rgba(135, 88, 69, .28);
            border-radius: 15px;
            background: #fff;
            color: #3f2b23;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            font-size: 24px;
            font-weight: 900;
            line-height: 1;
            letter-spacing: .13em;
            user-select: all;
            overflow-wrap: anywhere;
        }.ttlock-passcode-submit-key {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-left: .04em;
            color: #b45309;
            font-weight: 950;
            transform: translateY(-.02em);
        }.ttlock-passcode-copy {
            min-width: 46px;
            min-height: 46px;
            padding: 0 11px;
            border: 0;
            border-radius: 14px;
            background: #875845;
            color: #fff;
            cursor: pointer;
            font-size: 14px;
            font-weight: 900;
            transition: transform .2s ease, box-shadow .2s ease;
        }.ttlock-passcode-copy:hover {
            transform: translateY(-2px);
            box-shadow: 0 9px 18px rgba(135, 88, 69, .24);
        }.ttlock-passcode-validity {
            display: grid;
            gap: 4px;
            padding-top: 10px;
            border-top: 1px solid rgba(135, 88, 69, .10);
        }.ttlock-passcode-validity span {
            color: #8a7770;
            font-size: 10px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .04em;
        }.ttlock-passcode-validity strong {
            color: #49372f;
            font-size: 11px;
            line-height: 1.55;
        }.ttlock-confirmation-rule {
            display: flex;
            align-items: flex-start;
            gap: 9px;
            margin-top: 12px;
            padding: 11px 12px;
            border-radius: 15px;
            background: rgba(135, 88, 69, .07);
            color: #6b554c;
            font-size: 11px;
            line-height: 1.6;
        }.ttlock-confirmation-rule i {
            margin-top: 2px;
            color: #875845;
        }.ttlock-confirmation-actions {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 10px;
            margin-top: 12px;
        }.ttlock-confirmation-copy-all,
        .ttlock-confirmation-retry {
            min-height: 43px;
            border: 0;
            border-radius: 14px;
            padding: 10px 14px;
            cursor: pointer;
            font: inherit;
            font-size: 12px;
            font-weight: 900;
        }.ttlock-confirmation-copy-all {
            background: linear-gradient(135deg, #875845, #ab7661);
            color: #fff;
        }.ttlock-confirmation-retry {
            border: 1px solid rgba(135, 88, 69, .16);
            background: #fff;
            color: #6f4b3d;
        }.ttlock-confirmation-loading,
        .ttlock-confirmation-error {
            display: flex;
            align-items: flex-start;
            gap: 11px;
            padding: 14px;
            border-radius: 17px;
            background: rgba(255, 255, 255, .84);
            color: #6c5a52;
            font-size: 12px;
            line-height: 1.65;
        }.ttlock-confirmation-error {
            border: 1px solid rgba(220, 38, 38, .12);
            background: rgba(254, 242, 242, .92);
            color: #9f2929;
        }.ttlock-confirmation-spinner {
            width: 18px;
            height: 18px;
            flex: 0 0 18px;
            margin-top: 1px;
            border: 2px solid rgba(135, 88, 69, .18);
            border-top-color: #875845;
            border-radius: 50%;
            animation: ttlockConfirmationSpin .75s linear infinite;
        }@keyframes ttlockConfirmationSpin {to { transform: rotate(360deg); }}@media (max-width: 820px) {.ttlock-confirmation-card {
                padding: 16px;
                border-radius: 21px;
            }.ttlock-confirmation-head {
                gap: 12px;
            }.ttlock-confirmation-title {
                font-size: 17px;
            }.ttlock-confirmation-security {
                display: none;
            }.ttlock-passcode-grid {
                gap: 10px;
            }.ttlock-passcode-card {
                padding: 13px;
            }.ttlock-passcode-code {
                font-size: 20px;
                letter-spacing: .10em;
            }}@media (max-width: 620px) {.ttlock-confirmation-card {
                margin-top: 12px;
                padding: 14px;
                border-radius: 20px;
            }.ttlock-confirmation-head {
                margin-bottom: 12px;
            }.ttlock-confirmation-title {
                font-size: 16px;
            }.ttlock-confirmation-sub {
                font-size: 11px;
            }.ttlock-keypad-warning {
                align-items: flex-start;
                gap: 9px;
                margin-bottom: 10px;
                padding: 10px 11px;
                border-radius: 15px;
            }.ttlock-keypad-warning-icon {
                width: 34px;
                height: 34px;
                flex-basis: 34px;
                border-radius: 11px;
                font-size: 14px;
            }.ttlock-keypad-warning-copy strong {
                font-size: 12px;
            }.ttlock-keypad-warning-copy span {
                font-size: 10.5px;
                line-height: 1.45;
            }.ttlock-passcode-grid {
                grid-template-columns: 1fr;
            }.ttlock-passcode-card {
                border-radius: 18px;
            }.ttlock-passcode-code {
                min-height: 48px;
                font-size: 23px;
            }.ttlock-confirmation-actions {
                grid-template-columns: 1fr;
            }.ttlock-confirmation-copy-all,
            .ttlock-confirmation-retry {
                width: 100%;
            }}@media (prefers-reduced-motion: reduce) {.ttlock-confirmation-spinner {
                animation: none;
            }.ttlock-passcode-copy {
                transition: none;
            }}.booking-guide-card {
            margin-top: 16px;
            padding: 22px;
            border: 1px solid rgba(34, 34, 34, .09);
            border-radius: 24px;
            background: linear-gradient(180deg, #fff 0%, #fffaf8 100%);
            box-shadow: 0 14px 40px rgba(34, 34, 34, .08);
            color: #222;
            overflow: hidden;
        }.booking-guide-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 18px;
            margin-bottom: 18px;
        }.booking-guide-title-wrap {
            min-width: 0;
        }.booking-guide-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 7px;
            color: #e31c5f;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .08em;
            text-transform: uppercase;
        }.booking-guide-title {
            margin: 0;
            font-size: clamp(20px, 2.5vw, 27px);
            line-height: 1.2;
            letter-spacing: -.025em;
            color: #222;
        }.booking-guide-sub {
            margin: 7px 0 0;
            max-width: 620px;
            color: #6a6a6a;
            font-size: 14px;
            line-height: 1.55;
        }.booking-guide-paid-badge {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            flex: 0 0 auto;
            padding: 8px 11px;
            border-radius: 999px;
            background: #eaf8ef;
            color: #18794e;
            font-size: 12px;
            font-weight: 800;
            white-space: nowrap;
        }.booking-guide-loading,
        .booking-guide-error,
        .booking-guide-empty {
            display: flex;
            align-items: center;
            gap: 12px;
            min-height: 88px;
            padding: 16px;
            border-radius: 18px;
            background: #f7f7f7;
            color: #595959;
            font-size: 14px;
            line-height: 1.5;
        }.booking-guide-error {
            align-items: flex-start;
            background: #fff1f3;
            color: #9f1239;
        }.booking-guide-spinner {
            width: 23px;
            height: 23px;
            flex: 0 0 23px;
            border: 3px solid rgba(227, 28, 95, .16);
            border-top-color: #e31c5f;
            border-radius: 50%;
            animation: bookingGuideSpin .75s linear infinite;
        }@keyframes bookingGuideSpin {to { transform: rotate(360deg); }}.booking-guide-direction {
            display: grid;
            grid-template-columns: minmax(0, 1.35fr) minmax(230px, .65fr);
            gap: 18px;
            padding: 14px;
            border: 1px solid rgba(34, 34, 34, .08);
            border-radius: 20px;
            background: #fff;
        }.booking-guide-direction-media {
            min-height: 250px;
            border-radius: 16px;
            overflow: hidden;
            background: #f2f2f2;
        }.booking-guide-direction-media img {
            display: block;
            width: 100%;
            height: 100%;
            min-height: 250px;
            max-height: 430px;
            object-fit: cover;
        }.booking-guide-direction-placeholder {
            display: grid;
            place-items: center;
            min-height: 250px;
            padding: 24px;
            color: #717171;
            text-align: center;
        }.booking-guide-direction-info {
            display: flex;
            flex-direction: column;
            justify-content: center;
            min-width: 0;
            padding: 8px 8px 8px 2px;
        }.booking-guide-kicker {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            color: #e31c5f;
            font-size: 12px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .06em;
        }.booking-guide-branch-name {
            margin: 9px 0 6px;
            color: #222;
            font-size: 20px;
            line-height: 1.3;
        }.booking-guide-address {
            margin: 0;
            color: #5e5e5e;
            font-size: 14px;
            line-height: 1.55;
            overflow-wrap: anywhere;
        }.booking-guide-map-btn,
        .booking-guide-retry-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            width: fit-content;
            min-height: 44px;
            margin-top: 16px;
            padding: 10px 16px;
            border: 1px solid #222;
            border-radius: 12px;
            background: #222;
            color: #fff;
            font: inherit;
            font-size: 14px;
            font-weight: 750;
            text-decoration: none;
            cursor: pointer;
            transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
        }.booking-guide-map-btn:hover,
        .booking-guide-retry-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 8px 20px rgba(34, 34, 34, .15);
        }.booking-guide-video-section {
            margin-top: 18px;
        }.booking-guide-section-title {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin: 0 0 12px;
            color: #222;
            font-size: 16px;
            font-weight: 800;
        }.booking-guide-section-title small {
            color: #717171;
            font-size: 12px;
            font-weight: 600;
        }.booking-guide-video-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px;
        }.booking-guide-video-card {
            min-width: 0;
            padding: 10px;
            border: 1px solid rgba(34, 34, 34, .08);
            border-radius: 18px;
            background: #fff;
            box-shadow: 0 8px 22px rgba(34, 34, 34, .05);
        }.booking-guide-video-frame {
            position: relative;
            aspect-ratio: 16 / 9;
            overflow: hidden;
            border-radius: 13px;
            background: #111;
        }.booking-guide-video-frame video {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: contain;
            background: #111;
        }.booking-guide-video-label {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            padding: 12px 4px 4px;
        }.booking-guide-video-label i {
            display: grid;
            place-items: center;
            width: 32px;
            height: 32px;
            flex: 0 0 32px;
            border-radius: 10px;
            background: #fff0f3;
            color: #e31c5f;
        }.booking-guide-video-label strong,
        .booking-guide-video-label span {
            display: block;
        }.booking-guide-video-label strong {
            color: #222;
            font-size: 14px;
        }.booking-guide-video-label span {
            margin-top: 3px;
            color: #717171;
            font-size: 12px;
            line-height: 1.4;
        }.booking-guide-note {
            display: flex;
            align-items: flex-start;
            gap: 9px;
            margin-top: 14px;
            padding: 12px 14px;
            border-radius: 14px;
            background: #f7f7f7;
            color: #5b5b5b;
            font-size: 12px;
            line-height: 1.5;
        }@media (max-width: 820px) {.booking-guide-card {
                padding: 18px;
                border-radius: 21px;
            }.booking-guide-direction {
                grid-template-columns: 1fr;
            }.booking-guide-direction-info {
                padding: 4px 4px 6px;
            }.booking-guide-direction-media,
            .booking-guide-direction-media img,
            .booking-guide-direction-placeholder {
                min-height: 220px;
            }}@media (max-width: 620px) {.booking-guide-card {
                margin-top: 13px;
                padding: 14px;
                border-radius: 18px;
                box-shadow: 0 10px 28px rgba(34, 34, 34, .07);
            }.booking-guide-head {
                display: block;
                margin-bottom: 14px;
            }.booking-guide-paid-badge {
                margin-top: 11px;
            }.booking-guide-title {
                font-size: 20px;
            }.booking-guide-sub {
                font-size: 13px;
            }.booking-guide-direction {
                gap: 12px;
                padding: 9px;
                border-radius: 16px;
            }.booking-guide-direction-media,
            .booking-guide-direction-media img,
            .booking-guide-direction-placeholder {
                min-height: 190px;
            }.booking-guide-direction-media img {
                max-height: 300px;
            }.booking-guide-branch-name {
                font-size: 18px;
            }.booking-guide-map-btn,
            .booking-guide-retry-btn {
                width: 100%;
            }.booking-guide-section-title {
                align-items: flex-start;
                flex-direction: column;
                gap: 3px;
            }.booking-guide-video-grid {
                grid-template-columns: 1fr;
            }.booking-guide-video-card {
                padding: 8px;
                border-radius: 15px;
            }}@media (prefers-reduced-motion: reduce) {.booking-guide-spinner { animation: none; }.booking-guide-map-btn,
            .booking-guide-retry-btn { transition: none; }}html.website-booking-lock {
            overflow: hidden !important;
            overscroll-behavior: none !important;
        }html.website-booking-lock body.website-booking-lock {
            position: fixed !important;
            top: var(--website-booking-scroll-offset, 0) !important;
            right: 0 !important;
            left: 0 !important;
            width: 100% !important;
            max-width: 100% !important;
            overflow: hidden !important;
            overscroll-behavior: none !important;
        }.website-booking-modal,
        .website-booking-panel,
        .website-booking-head,
        .website-booking-body,
        .payment-result-card,
        .website-payment-actions {
            min-width: 0 !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }.website-booking-modal {
            width: 100% !important;
            height: 100vh !important;
            height: 100dvh !important;
            overflow: hidden !important;
            overscroll-behavior: contain !important;
        }.website-booking-panel {
            width: min(650px, calc(100vw - 28px)) !important;
            min-height: 0 !important;
            overflow-x: hidden !important;
            overflow-y: auto !important;
            overscroll-behavior-x: none !important;
            overscroll-behavior-y: contain !important;
            -webkit-overflow-scrolling: touch !important;
            touch-action: pan-y !important;
            scrollbar-gutter: stable;
        }.website-booking-head {
            position: sticky !important;
            top: 0 !important;
            flex: none !important;
        }.website-booking-body {
            width: 100% !important;
            min-height: 0 !important;
            height: auto !important;
            max-height: none !important;
            overflow: visible !important;
            overscroll-behavior: auto !important;
            -webkit-overflow-scrolling: auto !important;
            touch-action: pan-y !important;
        }.website-booking-form input,
        .website-booking-form textarea {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
        }.payment-result-card .website-payment-actions {
            display: grid !important;
            width: 100% !important;
            align-items: stretch !important;
            justify-content: stretch !important;
            gap: 10px !important;
        }.payment-result-card .website-payment-actions.is-paid {
            grid-template-columns: minmax(0, 1.45fr) repeat(2, minmax(0, 1fr)) !important;
        }.payment-result-card .website-payment-actions.is-pending {
            grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) !important;
        }.payment-result-card .website-payment-action-btn,
        .payment-result-card .website-payment-actions .website-booking-submit,
        .payment-result-card .website-payment-actions .website-booking-secondary {
            width: 100% !important;
            min-width: 0 !important;
            min-height: 44px !important;
            padding: 9px 12px !important;
            font-size: 12.5px !important;
            line-height: 1.25 !important;
            white-space: normal !important;
            text-align: center !important;
            overflow-wrap: anywhere !important;
        }.payment-result-card .website-payment-actions .website-booking-secondary::before,
        .payment-result-card .website-payment-actions .website-booking-secondary[href*="zalo.me"]::before {
            content: none !important;
            display: none !important;
        }.zalo-action-icon {
            width: 21px !important;
            height: 21px !important;
            min-width: 21px !important;
        }.ttlock-confirmation-loading {
            align-items: flex-start !important;
        }.ttlock-loading-copy {
            min-width: 0;
            flex: 1 1 auto;
        }.ttlock-wait-meta {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-top: 10px;
            padding: 9px 11px;
            border-radius: 13px;
            background: rgba(255, 255, 255, .72);
            border: 1px solid rgba(135, 88, 69, .10);
            color: #6b7280;
            font-size: 11.5px;
            line-height: 1.35;
        }.ttlock-wait-meta strong {
            flex: 0 0 auto;
            color: #875845;
            font-size: 13px;
            font-variant-numeric: tabular-nums;
        }@media (max-width: 1100px) {.website-booking-form input,
            .website-booking-form textarea {
                font-size: 16px !important;
                line-height: 1.35 !important;
            }}@media (max-width: 768px) {.website-booking-modal {
                padding:
                    max(8px, env(safe-area-inset-top))
                    max(8px, env(safe-area-inset-right))
                    max(8px, env(safe-area-inset-bottom))
                    max(8px, env(safe-area-inset-left)) !important;
            }.website-booking-panel {
                width: 100% !important;
                max-height: calc(100dvh - max(16px, env(safe-area-inset-top) + env(safe-area-inset-bottom))) !important;
                min-height: 0 !important;
                margin: 0 !important;
                border-radius: 24px !important;
            }.website-booking-body {
                max-height: none !important;
                padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important;
            }.payment-result-card .website-payment-actions.is-paid {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            }.payment-result-card .website-payment-actions.is-paid > a[href*="zalo.me"] {
                grid-column: 1 / -1 !important;
            }.payment-result-card .website-payment-actions.is-pending {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            }.payment-result-card .website-payment-action-btn,
            .payment-result-card .website-payment-actions .website-booking-submit,
            .payment-result-card .website-payment-actions .website-booking-secondary {
                min-height: 46px !important;
                padding: 10px !important;
                font-size: 13px !important;
            }}@media (max-width: 420px) {.website-booking-modal {
                padding: 0 !important;
                align-items: stretch !important;
            }.website-booking-panel {
                height: 100vh !important;
                height: 100dvh !important;
                max-height: 100vh !important;
                max-height: 100dvh !important;
                border-radius: 0 !important;
                border: 0 !important;
            }.website-booking-body {
                max-height: none !important;
            }.payment-result-card .website-payment-actions.is-paid,
            .payment-result-card .website-payment-actions.is-pending {
                grid-template-columns: 1fr !important;
            }.payment-result-card .website-payment-actions.is-paid > a[href*="zalo.me"] {
                grid-column: auto !important;
            }.ttlock-wait-meta {
                align-items: flex-start;
                flex-direction: column;
                gap: 4px;
            }}:root {
            --booking-confirmation-ink: #222222;
            --booking-confirmation-muted: #6a6a6a;
            --booking-confirmation-line: #dddddd;
            --booking-confirmation-surface: #ffffff;
            --booking-confirmation-canvas: #f7f7f7;
            --booking-confirmation-accent: #ff385c;
            --booking-confirmation-accent-dark: #d90b3e;
            --booking-confirmation-success: #008a05;
            --booking-confirmation-shadow: 0 18px 55px rgba(0, 0, 0, .09);
        }html.booking-confirmation-route-pending,
        html.booking-confirmation-route-pending body,
        body.booking-confirmation-open {
            min-height: 100%;
            background: #f7f7f7 !important;
        }html.booking-confirmation-route-pending body {
            margin: 0;
        }html.booking-confirmation-route-pending body > *:not(#bookingConfirmationPage):not(script):not(style),
        body.booking-confirmation-open > *:not(#bookingConfirmationPage):not(#customerToast):not(script):not(style) {
            display: none !important;
        }html.booking-confirmation-route-pending #bookingConfirmationPage {
            display: block !important;
        }body.booking-confirmation-open {
            overflow-x: hidden !important;
            overflow-y: auto !important;
            overscroll-behavior-y: auto !important;
        }.booking-confirmation-page[hidden],
        .booking-confirmation-reopen[hidden] {
            display: none !important;
        }.booking-confirmation-page {
            position: relative;
            z-index: auto;
            display: none;
            width: 100%;
            min-height: 100dvh;
            color: var(--booking-confirmation-ink);
            background: #f7f7f7 !important;
            overflow-x: hidden;
            overflow-y: visible;
            font-family: inherit;
            isolation: isolate;
            box-sizing: border-box;
        }.booking-confirmation-page.show {
            display: block;
        }.booking-confirmation-shell {
            min-height: 100dvh;
            background: #f7f7f7;
        }.booking-confirmation-route-loading {
            display: grid;
            place-items: center;
            min-height: 100dvh;
            padding: 24px;
            color: #6a6a6a;
            background: #f7f7f7;
            box-sizing: border-box;
            text-align: center;
        }.booking-confirmation-route-loading-card {
            display: grid;
            justify-items: center;
            gap: 13px;
        }.booking-confirmation-route-loading-spinner {
            width: 34px;
            height: 34px;
            border: 3px solid #e4e4e4;
            border-top-color: var(--booking-confirmation-accent);
            border-radius: 50%;
            animation: booking-confirmation-route-spin .8s linear infinite;
        }.booking-confirmation-route-loading strong {
            color: #222222;
            font-size: 14px;
        }@keyframes booking-confirmation-route-spin {to { transform: rotate(360deg); }}.booking-confirmation-header {
            position: sticky;
            z-index: 20;
            top: 0;
            display: flex;
            align-items: center;
            justify-content: space-between;
            min-height: 76px;
            padding:
                max(12px, env(safe-area-inset-top))
                max(28px, env(safe-area-inset-right))
                12px
                max(28px, env(safe-area-inset-left));
            border-bottom: 1px solid #dddddd;
            background: #ffffff;
            box-sizing: border-box;
        }.booking-confirmation-brand {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            min-width: 0;
            color: var(--booking-confirmation-ink);
            text-decoration: none;
        }.booking-confirmation-brand img {
            width: 44px;
            height: 44px;
            flex: 0 0 44px;
            border-radius: 14px;
            object-fit: cover;
            box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
        }.booking-confirmation-brand-copy {
            display: grid;
            gap: 1px;
            min-width: 0;
        }.booking-confirmation-brand-copy strong {
            color: var(--booking-confirmation-ink);
            font-size: 15px;
            line-height: 1.25;
        }.booking-confirmation-brand-copy span {
            color: var(--booking-confirmation-muted);
            font-size: 12px;
            line-height: 1.25;
        }.booking-confirmation-header-actions {
            display: flex;
            align-items: center;
            gap: 10px;
        }.booking-confirmation-status {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            min-height: 40px;
            padding: 0 13px;
            border-radius: 999px;
            color: #006c04;
            background: #ebfaec;
            border: 1px solid #c8ebca;
            font-size: 12.5px;
            font-weight: 800;
            white-space: nowrap;
        }.booking-confirmation-status i {
            font-size: 14px;
        }.booking-confirmation-btn {
            appearance: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 46px;
            padding: 0 18px;
            border: 1px solid var(--booking-confirmation-ink);
            border-radius: 12px;
            color: var(--booking-confirmation-ink);
            background: var(--booking-confirmation-surface);
            font: inherit;
            font-size: 13.5px;
            font-weight: 800;
            line-height: 1.2;
            text-align: center;
            text-decoration: none;
            cursor: pointer;
            box-sizing: border-box;
            transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
        }.booking-confirmation-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 7px 18px rgba(0, 0, 0, .08);
        }.booking-confirmation-btn.primary {
            color: #ffffff;
            border-color: var(--booking-confirmation-accent);
            background: linear-gradient(135deg, var(--booking-confirmation-accent), var(--booking-confirmation-accent-dark));
        }.booking-confirmation-btn.soft {
            border-color: var(--booking-confirmation-line);
            background: #ffffff;
        }.booking-confirmation-content {
            width: min(1180px, calc(100% - 48px));
            margin: 0 auto;
            padding: 38px 0 calc(54px + env(safe-area-inset-bottom));
            box-sizing: border-box;
        }.booking-confirmation-hero {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: end;
            gap: 32px;
            margin-bottom: 24px;
        }.booking-confirmation-hero-copy {
            min-width: 0;
        }.booking-confirmation-kicker {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 13px;
            color: var(--booking-confirmation-success);
            font-size: 13px;
            font-weight: 850;
            letter-spacing: .02em;
        }.booking-confirmation-kicker-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 28px;
            height: 28px;
            border-radius: 50%;
            color: #ffffff;
            background: var(--booking-confirmation-success);
        }.booking-confirmation-title {
            max-width: 720px;
            margin: 0;
            color: var(--booking-confirmation-ink);
            font-size: clamp(30px, 3.4vw, 46px);
            font-weight: 800;
            line-height: 1.04;
            letter-spacing: -.045em;
        }.booking-confirmation-lead {
            max-width: 680px;
            margin: 16px 0 0;
            color: var(--booking-confirmation-muted);
            font-size: 16px;
            line-height: 1.65;
        }.booking-confirmation-order {
            min-width: 218px;
            padding: 17px 19px;
            border: 1px solid var(--booking-confirmation-line);
            border-radius: 18px;
            background: var(--booking-confirmation-surface);
            box-shadow: 0 8px 28px rgba(0, 0, 0, .045);
            box-sizing: border-box;
        }.booking-confirmation-order span {
            display: block;
            margin-bottom: 6px;
            color: var(--booking-confirmation-muted);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .08em;
            text-transform: uppercase;
        }.booking-confirmation-order strong {
            display: block;
            max-width: 100%;
            overflow-wrap: anywhere;
            color: var(--booking-confirmation-ink);
            font-size: 17px;
            font-variant-numeric: tabular-nums;
            line-height: 1.3;
        }.booking-confirmation-summary {
            display: grid;
            grid-template-columns: 1.05fr 1fr 1fr 1fr;
            gap: 12px;
            margin-bottom: 18px;
        }.booking-confirmation-summary-item {
            min-width: 0;
            padding: 18px;
            border: 1px solid var(--booking-confirmation-line);
            border-radius: 18px;
            background: var(--booking-confirmation-surface);
            box-sizing: border-box;
        }.booking-confirmation-summary-item span {
            display: flex;
            align-items: center;
            gap: 7px;
            margin-bottom: 9px;
            color: var(--booking-confirmation-muted);
            font-size: 12px;
            font-weight: 750;
        }.booking-confirmation-summary-item span i {
            color: var(--booking-confirmation-accent);
        }.booking-confirmation-summary-item strong {
            display: block;
            min-width: 0;
            color: var(--booking-confirmation-ink);
            font-size: 15px;
            line-height: 1.45;
            overflow-wrap: anywhere;
        }.booking-confirmation-layout {
            display: grid;
            grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr);
            align-items: start;
            gap: 18px;
        }.booking-confirmation-main,
        .booking-confirmation-side {
            display: grid;
            gap: 18px;
            min-width: 0;
        }.booking-confirmation-page .ttlock-confirmation-card,
        .booking-confirmation-page .booking-guide-card,
        .booking-confirmation-help-card,
        .booking-confirmation-note-card {
            margin: 0;
            border: 1px solid var(--booking-confirmation-line);
            border-radius: 22px;
            background: var(--booking-confirmation-surface);
            box-shadow: none;
            box-sizing: border-box;
        }.booking-confirmation-page .ttlock-confirmation-card,
        .booking-confirmation-page .booking-guide-card {
            padding: 24px;
        }.booking-confirmation-help-card,
        .booking-confirmation-note-card {
            padding: 22px;
        }.booking-confirmation-help-card h3,
        .booking-confirmation-note-card h3 {
            margin: 0 0 9px;
            color: var(--booking-confirmation-ink);
            font-size: 18px;
            line-height: 1.3;
        }.booking-confirmation-help-card p,
        .booking-confirmation-note-card p {
            margin: 0;
            color: var(--booking-confirmation-muted);
            font-size: 13.5px;
            line-height: 1.6;
        }.booking-confirmation-help-actions {
            display: grid;
            gap: 10px;
            margin-top: 17px;
        }.booking-confirmation-help-actions .booking-confirmation-btn {
            width: 100%;
        }.booking-confirmation-note-list {
            display: grid;
            gap: 13px;
            margin-top: 17px;
        }.booking-confirmation-note {
            display: grid;
            grid-template-columns: 34px minmax(0, 1fr);
            gap: 11px;
            align-items: start;
        }.booking-confirmation-note-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 34px;
            height: 34px;
            border-radius: 11px;
            color: var(--booking-confirmation-accent);
            background: #fff0f3;
        }.booking-confirmation-note strong {
            display: block;
            margin: 1px 0 3px;
            color: var(--booking-confirmation-ink);
            font-size: 13px;
            line-height: 1.35;
        }.booking-confirmation-note > span:last-child > span {
            display: block;
            color: var(--booking-confirmation-muted);
            font-size: 12.5px;
            line-height: 1.5;
        }.booking-confirmation-note > span:last-child > span a {
            color: var(--booking-confirmation-ink);
            font-weight: 800;
            text-decoration: underline;
            text-decoration-color: rgba(255, 56, 92, .45);
            text-underline-offset: 2px;
        }.booking-confirmation-full {
            grid-column: 1 / -1;
        }.booking-confirmation-mobile-bar {
            display: none;
        }.booking-confirmation-reopen {
            position: fixed;
            z-index: 999990;
            right: auto;
            left: max(18px, env(safe-area-inset-left));
            bottom: max(18px, env(safe-area-inset-bottom));
            display: inline-flex;
            align-items: center;
            gap: 9px;
            min-height: 52px;
            padding: 0 18px;
            color: #ffffff;
            border: 0;
            border-radius: 999px;
            background: linear-gradient(135deg, var(--booking-confirmation-accent), var(--booking-confirmation-accent-dark));
            box-shadow: 0 15px 38px rgba(217, 11, 62, .3);
            font: inherit;
            font-size: 13.5px;
            font-weight: 850;
            max-width: calc(100vw - 92px);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            cursor: pointer;
        }.booking-confirmation-unavailable {
            display: grid;
            place-items: center;
            min-height: calc(100dvh - 76px);
            padding: 32px 20px calc(48px + env(safe-area-inset-bottom));
            box-sizing: border-box;
        }.booking-confirmation-unavailable-card {
            width: min(520px, 100%);
            padding: clamp(28px, 6vw, 48px);
            border: 1px solid var(--booking-confirmation-line);
            border-radius: 26px;
            background: #ffffff;
            box-shadow: var(--booking-confirmation-shadow);
            text-align: center;
            box-sizing: border-box;
        }.booking-confirmation-unavailable-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 64px;
            height: 64px;
            margin-bottom: 20px;
            border-radius: 22px;
            color: var(--booking-confirmation-accent);
            background: #fff0f3;
            font-size: 25px;
        }.booking-confirmation-unavailable-card h1 {
            margin: 0 0 10px;
            color: var(--booking-confirmation-ink);
            font-size: clamp(26px, 5vw, 36px);
            line-height: 1.14;
            letter-spacing: -.025em;
        }.booking-confirmation-unavailable-card p {
            margin: 0;
            color: var(--booking-confirmation-muted);
            font-size: 14px;
            line-height: 1.65;
        }.booking-confirmation-unavailable-actions {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
            margin-top: 23px;
        }@media (max-width: 1024px) {.booking-confirmation-content {
                width: min(100% - 36px, 920px);
                padding-top: 30px;
            }.booking-confirmation-summary {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }.booking-confirmation-layout {
                grid-template-columns: minmax(0, 1fr);
            }.booking-confirmation-side {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }.booking-confirmation-page .booking-guide-card {
                grid-column: auto;
            }}@media (max-width: 767px) {.booking-confirmation-header {
                min-height: 66px;
                padding:
                    max(9px, env(safe-area-inset-top))
                    max(14px, env(safe-area-inset-right))
                    9px
                    max(14px, env(safe-area-inset-left));
            }.booking-confirmation-brand {
                gap: 9px;
            }.booking-confirmation-brand img {
                width: 38px;
                height: 38px;
                flex-basis: 38px;
                border-radius: 12px;
            }.booking-confirmation-brand-copy span,
            .booking-confirmation-status {
                display: none;
            }.booking-confirmation-header .booking-confirmation-btn {
                min-height: 42px;
                padding: 0 13px;
                border-radius: 11px;
                font-size: 12px;
            }.booking-confirmation-content {
                width: min(100% - 24px, 620px);
                padding: 24px 0 calc(92px + env(safe-area-inset-bottom));
            }.booking-confirmation-hero {
                grid-template-columns: 1fr;
                gap: 17px;
                margin-bottom: 18px;
            }.booking-confirmation-title {
                font-size: clamp(27px, 8.5vw, 36px);
            }.booking-confirmation-lead {
                margin-top: 12px;
                font-size: 14px;
                line-height: 1.6;
            }.booking-confirmation-order {
                min-width: 0;
                width: 100%;
                padding: 14px 16px;
            }.booking-confirmation-summary {
                grid-template-columns: 1fr;
                gap: 9px;
            }.booking-confirmation-summary-item {
                display: grid;
                grid-template-columns: minmax(90px, .7fr) minmax(0, 1.3fr);
                align-items: center;
                gap: 12px;
                padding: 14px 15px;
                border-radius: 15px;
            }.booking-confirmation-summary-item span {
                margin: 0;
            }.booking-confirmation-summary-item strong {
                text-align: right;
                font-size: 13.5px;
            }.booking-confirmation-layout,
            .booking-confirmation-main,
            .booking-confirmation-side {
                gap: 12px;
            }.booking-confirmation-side {
                grid-template-columns: 1fr;
            }.booking-confirmation-page .ttlock-confirmation-card,
            .booking-confirmation-page .booking-guide-card,
            .booking-confirmation-help-card,
            .booking-confirmation-note-card {
                padding: 17px;
                border-radius: 18px;
            }.booking-confirmation-page .ttlock-confirmation-head,
            .booking-confirmation-page .booking-guide-head {
                gap: 11px;
            }.booking-confirmation-page .ttlock-confirmation-security,
            .booking-confirmation-page .booking-guide-paid-badge {
                align-self: flex-start;
            }.booking-confirmation-help-card .booking-confirmation-help-actions {
                display: none;
            }.booking-confirmation-mobile-bar {
                position: fixed;
                z-index: 30;
                right: 0;
                bottom: 0;
                left: 0;
                display: grid;
                grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
                gap: 9px;
                padding:
                    10px
                    max(12px, env(safe-area-inset-right))
                    max(10px, env(safe-area-inset-bottom))
                    max(12px, env(safe-area-inset-left));
                border-top: 1px solid #dddddd;
                background: #ffffff;
                box-shadow: 0 -10px 30px rgba(0, 0, 0, .08);
            }.booking-confirmation-mobile-bar .booking-confirmation-btn {
                min-width: 0;
                min-height: 48px;
                padding: 0 10px;
                font-size: 12.5px;
            }.booking-confirmation-reopen {
                right: auto;
                left: max(12px, env(safe-area-inset-left));
                bottom: max(12px, env(safe-area-inset-bottom));
                min-height: 48px;
                padding: 0 15px;
                font-size: 12.5px;
            }}@media (max-width: 390px) {.booking-confirmation-brand-copy strong {
                max-width: 112px;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }.booking-confirmation-header .booking-confirmation-btn span {
                display: none;
            }.booking-confirmation-header .booking-confirmation-btn {
                width: 42px;
                padding: 0;
            }.booking-confirmation-unavailable-actions {
                grid-template-columns: 1fr;
            }}@media (prefers-reduced-motion: reduce) {.booking-confirmation-btn,
            .booking-confirmation-route-loading-spinner {
                transition: none;
                animation: none;
            }}.website-cccd-section {
            display: none;
            gap: 14px;
            padding: 16px;
            border: 1px solid #e6e2df;
            border-radius: 20px;
            background: #fff;
            box-shadow: 0 8px 24px rgba(34, 34, 34, .05);
        }.website-cccd-section.is-visible {
            display: grid;
        }.website-cccd-heading {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px;
        }.website-cccd-heading-copy {
            display: grid;
            gap: 4px;
            min-width: 0;
        }.website-cccd-heading-copy strong {
            color: #222;
            font-size: 15px;
            line-height: 1.35;
        }.website-cccd-heading-copy span {
            color: #6a6a6a;
            font-size: 13px;
            line-height: 1.5;
        }.website-cccd-optional-pill {
            flex: 0 0 auto;
            display: inline-flex;
            align-items: center;
            min-height: 26px;
            padding: 4px 9px;
            border-radius: 999px;
            background: #f7f7f7;
            color: #5d5d5d;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .01em;
            white-space: nowrap;
        }.website-cccd-legal-note {
            display: grid;
            grid-template-columns: 34px minmax(0, 1fr);
            gap: 10px;
            align-items: flex-start;
            padding: 12px;
            border-radius: 16px;
            background: #f7f7f7;
            color: #484848;
        }.website-cccd-legal-icon {
            display: grid;
            place-items: center;
            width: 34px;
            height: 34px;
            border-radius: 12px;
            background: #fff;
            color: #ff385c;
            box-shadow: 0 4px 14px rgba(34, 34, 34, .08);
        }.website-cccd-legal-note p {
            margin: 0;
            font-size: 12.5px;
            line-height: 1.55;
        }.website-cccd-dropzone {
            position: relative;
            display: grid;
            grid-template-columns: 42px minmax(0, 1fr) auto;
            gap: 12px;
            align-items: center;
            min-height: 82px;
            padding: 14px;
            border: 1.5px dashed #b0b0b0;
            border-radius: 18px;
            background: #fff;
            cursor: pointer;
            transition: border-color .18s ease, background .18s ease, transform .18s ease;
        }.website-cccd-dropzone:hover,
        .website-cccd-dropzone.is-dragging {
            border-color: #222;
            background: #fafafa;
            transform: translateY(-1px);
        }.website-cccd-dropzone.is-busy {
            cursor: wait;
            opacity: .72;
            pointer-events: none;
        }.website-cccd-dropzone-icon {
            display: grid;
            place-items: center;
            width: 42px;
            height: 42px;
            border-radius: 14px;
            background: #fff0f3;
            color: #e31c5f;
            font-size: 17px;
        }.website-cccd-dropzone-copy {
            display: grid;
            gap: 3px;
            min-width: 0;
        }.website-cccd-dropzone-copy strong {
            color: #222;
            font-size: 13.5px;
            line-height: 1.35;
        }.website-cccd-dropzone-copy span {
            color: #717171;
            font-size: 12px;
            line-height: 1.45;
        }.website-cccd-choose-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 38px;
            padding: 9px 13px;
            border: 1px solid #222;
            border-radius: 12px;
            background: #fff;
            color: #222;
            font-size: 12px;
            font-weight: 800;
            white-space: nowrap;
        }.website-cccd-input {
            position: absolute !important;
            width: 1px !important;
            height: 1px !important;
            overflow: hidden !important;
            clip: rect(0, 0, 0, 0) !important;
            white-space: nowrap !important;
            clip-path: inset(50%) !important;
        }.website-cccd-preview-wrap {
            display: none;
            gap: 10px;
        }.website-cccd-preview-wrap.has-images {
            display: grid;
        }.website-cccd-preview-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            color: #484848;
            font-size: 12px;
            font-weight: 700;
        }.website-cccd-clear {
            border: 0;
            padding: 0;
            background: transparent;
            color: #717171;
            font: inherit;
            text-decoration: underline;
            cursor: pointer;
        }.website-cccd-preview-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 9px;
        }.website-cccd-preview-item {
            position: relative;
            min-width: 0;
            aspect-ratio: 4 / 3;
            overflow: hidden;
            border: 1px solid #e4e4e4;
            border-radius: 14px;
            background: #f7f7f7;
        }.website-cccd-preview-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }.website-cccd-remove {
            position: absolute;
            top: 6px;
            right: 6px;
            display: grid;
            place-items: center;
            width: 27px;
            height: 27px;
            border: 0;
            border-radius: 999px;
            background: rgba(34, 34, 34, .84);
            color: #fff;
            cursor: pointer;
            box-shadow: 0 3px 12px rgba(0, 0, 0, .18);
        }.website-cccd-preview-size {
            position: absolute;
            left: 6px;
            bottom: 6px;
            max-width: calc(100% - 12px);
            padding: 3px 7px;
            border-radius: 999px;
            background: rgba(255, 255, 255, .9);
            color: #484848;
            font-size: 10px;
            font-weight: 800;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }.website-cccd-status {
            min-height: 18px;
            color: #717171;
            font-size: 12px;
            line-height: 1.45;
        }.website-cccd-status.is-error {
            color: #b32525;
        }.website-cccd-payment-notice {
            display: grid;
            grid-template-columns: 30px minmax(0, 1fr);
            gap: 9px;
            align-items: center;
            margin: 10px 0 12px;
            padding: 11px 12px;
            border: 1px solid #d8eee3;
            border-radius: 15px;
            background: #f2fbf6;
            color: #22543d;
            font-size: 12px;
            line-height: 1.45;
        }.website-cccd-payment-notice.is-warning {
            border-color: #f4d6a3;
            background: #fff9ef;
            color: #7a4b11;
        }.website-cccd-payment-notice i {
            font-size: 16px;
            text-align: center;
        }@media (max-width: 900px) {.website-cccd-preview-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }}@media (max-width: 640px) {.website-cccd-section {
                padding: 14px;
                border-radius: 18px;
            }.website-cccd-heading {
                align-items: flex-start;
            }.website-cccd-dropzone {
                grid-template-columns: 40px minmax(0, 1fr);
                min-height: 88px;
                padding: 13px;
            }.website-cccd-choose-btn {
                grid-column: 1 / -1;
                width: 100%;
            }.website-cccd-preview-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }}@media (max-width: 380px) {.website-cccd-heading {
                display: grid;
            }.website-cccd-optional-pill {
                justify-self: start;
            }}.website-guest-card {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 14px 18px;
            align-items: center;
            padding: 16px;
            border: 1px solid #ead7cc;
            border-radius: 20px;
            background: linear-gradient(145deg, #fffdfb, #fff7f1);
            box-shadow: 0 10px 24px rgba(135, 88, 69, .06);
        }.website-guest-copy {
            display: grid;
            gap: 4px;
            min-width: 0;
        }.website-guest-copy strong {
            color: #2f1f18;
            font-size: 14px;
        }.website-guest-copy span {
            color: #6b7280;
            font-size: 12px;
            line-height: 1.5;
        }.website-guest-controls {
            display: grid;
            grid-template-columns: 42px 58px 42px;
            align-items: center;
            gap: 7px;
        }.website-guest-step {
            width: 42px;
            height: 42px;
            border: 1px solid #e6cfc1;
            border-radius: 50%;
            background: #fff;
            color: #875845;
            font: inherit;
            font-size: 22px;
            font-weight: 700;
            cursor: pointer;
            transition: transform .18s ease, background .18s ease, border-color .18s ease;
        }.website-guest-step:hover {
            transform: translateY(-1px);
            background: #fff3eb;
            border-color: #d89d79;
        }.website-guest-count-label {
            display: block !important;
        }.website-guest-count-label input {
            width: 58px !important;
            height: 42px;
            padding: 0 4px !important;
            text-align: center;
            font-weight: 800 !important;
            color: #2f1f18 !important;
            appearance: textfield;
        }.website-guest-count-label input::-webkit-inner-spin-button,
        .website-guest-count-label input::-webkit-outer-spin-button {
            margin: 0;
            appearance: none;
        }.website-guest-pricing {
            grid-column: 1 / -1;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 8px;
            padding-top: 12px;
            border-top: 1px solid rgba(135, 88, 69, .10);
        }.website-guest-pricing span {
            display: flex;
            justify-content: space-between;
            gap: 8px;
            padding: 9px 10px;
            border-radius: 12px;
            background: rgba(255,255,255,.76);
            color: #6b7280;
            font-size: 11.5px;
        }.website-guest-pricing strong {
            color: #2f1f18;
            white-space: nowrap;
        }.website-guest-pricing .website-guest-total {
            background: #fff0ea;
            color: #875845;
            font-weight: 700;
        }.booking-summary-surcharge strong {
            color: #b45309 !important;
        }.sr-only {
            position: absolute !important;
            width: 1px !important;
            height: 1px !important;
            padding: 0 !important;
            margin: -1px !important;
            overflow: hidden !important;
            clip: rect(0, 0, 0, 0) !important;
            white-space: nowrap !important;
            border: 0 !important;
        }@media (max-width: 768px) {.website-guest-card {
                grid-template-columns: minmax(0, 1fr) auto;
                padding: 14px;
            }.website-guest-pricing {
                grid-template-columns: 1fr 1fr;
            }.website-guest-pricing .website-guest-total {
                grid-column: 1 / -1;
            }}@media (max-width: 480px) {.website-guest-card {
                grid-template-columns: 1fr;
                gap: 11px;
                padding: 13px;
            }.website-guest-controls {
                justify-self: stretch;
                grid-template-columns: 38px minmax(56px, 1fr) 38px;
                gap: 6px;
            }.website-guest-step {
                width: 38px;
                height: 38px;
                font-size: 19px;
            }.website-guest-count-label input {
                width: 100% !important;
                height: 38px;
                min-height: 38px !important;
                padding: 0 3px !important;
                font-size: 14px !important;
                border-radius: 14px !important;
            }.website-guest-pricing {
                grid-template-columns: 1fr;
            }.website-guest-pricing .website-guest-total {
                grid-column: auto;
            }}.website-cccd-optional-pill{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;box-shadow:0 4px 12px rgba(190,24,93,.08)}

@media (max-width: 767px) {
    .website-booking-close {
        flex-basis: 36px !important;
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        font-size: 23px !important;
    }
    .booking-time-hint {
        font-size: .8em !important;
    }
}


/* V7 — Chỉ cho phép giờ bắt đầu theo mốc :00 hoặc :30 */
.booking-time-warning {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    width: 100%;
    margin-top: 7px;
    padding: 8px 10px;
    border: 1px solid #fecaca;
    border-radius: 10px;
    background: #fff7f7;
    color: #b42318;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.42;
    text-align: left;
}
.booking-time-warning[hidden] {
    display: none !important;
}
.booking-time-warning i {
    flex: 0 0 auto;
    margin-top: 2px;
    font-size: 12px;
}
.booking-time-warning span {
    display: inline !important;
    margin: 0 !important;
    color: inherit !important;
    font: inherit !important;
}
.booking-time-input.booking-time-invalid {
    color: #b42318 !important;
}
.booking-search-field.has-time-warning {
    border-color: #f04438 !important;
    box-shadow: 0 0 0 3px rgba(240, 68, 56, .10) !important;
}
.custom-booking-grid label.has-time-warning .booking-time-input {
    border-color: #f04438 !important;
    box-shadow: 0 0 0 3px rgba(240, 68, 56, .10) !important;
}
@media (max-width: 767px) {
    .booking-time-warning {
        padding: 8px 9px;
        border-radius: 9px;
        font-size: 10.5px;
    }
}

/* V8 — Mobile compact controls + Firebase contact states */
.footer-links a[aria-disabled="true"],
.floating-contact a[aria-disabled="true"],
.website-booking-secondary[aria-disabled="true"] {
    cursor: default;
    opacity: .72;
}

@media (max-width: 480px) {
    .website-guest-controls {
        justify-self: center;
        grid-template-columns: 34px 50px 34px;
        gap: 5px;
        width: auto;
    }

    .website-guest-step {
        width: 34px;
        height: 34px;
        min-width: 34px;
        min-height: 34px;
        font-size: 18px;
        line-height: 1;
    }

    .website-guest-count-label input {
        width: 50px !important;
        height: 34px;
        min-height: 34px !important;
        padding: 0 2px !important;
        font-size: 13px !important;
        border-radius: 12px !important;
    }

    .website-booking-form > .website-booking-actions {
        gap: 7px;
        margin-top: 0;
    }

    .website-booking-form > .website-booking-actions .website-booking-submit,
    .website-booking-form > .website-booking-actions .website-booking-secondary {
        min-height: 40px !important;
        padding: 8px 12px !important;
        font-size: 12.5px !important;
        line-height: 1.15;
    }
}


/* =========================================================
   GIFT BASKET CUSTOMER PAGE · V343
   Dynamic route from businessProfile/giftBasketPage.path
========================================================= */
:root {
    --gift-ink: #3f2d28;
    --gift-brown: #875845;
    --gift-brown-deep: #654237;
    --gift-coral: #d89d79;
    --gift-rose: #e6b8be;
    --gift-blush: #fff3f0;
    --gift-cream: #fffaf5;
    --gift-sage: #8ca68e;
    --gift-line: rgba(108, 72, 57, .12);
    --gift-shadow: 0 24px 70px rgba(92, 57, 42, .13);
}

#menuGiftBasket[hidden],
#giftBasketCustomerPage[hidden],
#giftCustomerGallerySection[hidden],
#giftCustomerProductEmpty[hidden],
#giftCustomerLightbox[hidden],
.gift-market-cover-empty[hidden],
#giftCustomerCover[hidden] { display: none !important; }

body.customer-gift-route {
    background:
        radial-gradient(circle at 12% 8%, rgba(230, 184, 190, .17), transparent 27%),
        radial-gradient(circle at 88% 20%, rgba(216, 157, 121, .17), transparent 30%),
        #fffdfb;
}
body.customer-gift-route .hero,
body.customer-gift-route .story-section,
body.customer-gift-route .about-editorial-section,
body.customer-gift-route .highlights-section,
body.customer-gift-route .container > .tabs,
body.customer-gift-route #homes,
body.customer-gift-route #calendarPage,
body.customer-gift-route #gallery,
body.customer-gift-route #sharedCustomerReviews,
body.customer-gift-route .stats-bar,
body.customer-gift-route #homeDetailPage,
body.customer-gift-route #mobileBookBar { display: none !important; }

.gift-basket-route #menuGiftBasket,
.header-inner .main-menu #menuGiftBasket.is-active {
    color: #fff !important;
    background: linear-gradient(135deg, #8a5848 0%, #d8927e 56%, #c98793 100%) !important;
    border-color: transparent !important;
    box-shadow: 0 10px 24px rgba(153, 91, 82, .24) !important;
}
.gift-basket-menu-link .menu-ico { transform: translateY(-1px); }

.gift-market-page {
    position: relative;
    overflow: clip;
    color: var(--gift-ink);
    min-height: 65vh;
}
.gift-market-page * { box-sizing: border-box; }
.gift-market-hero {
    position: relative;
    min-height: min(760px, calc(100vh - 80px));
    padding: clamp(58px, 7vw, 104px) 0 clamp(66px, 8vw, 112px);
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        linear-gradient(118deg, rgba(255, 250, 245, .98), rgba(255, 245, 242, .92) 52%, rgba(248, 235, 231, .90)),
        repeating-linear-gradient(135deg, rgba(135,88,69,.024) 0 1px, transparent 1px 12px);
    border-bottom: 1px solid rgba(135, 88, 69, .08);
}
.gift-market-hero::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -170px;
    top: -185px;
    border-radius: 50%;
    border: 80px solid rgba(255,255,255,.45);
    box-shadow: 0 0 0 1px rgba(135,88,69,.04);
}
.gift-market-orb { position:absolute; border-radius:50%; pointer-events:none; filter: blur(2px); }
.gift-market-orb-one { width:260px; height:260px; left:-140px; bottom:5%; background:rgba(230,184,190,.20); }
.gift-market-orb-two { width:180px; height:180px; right:42%; top:-80px; background:rgba(140,166,142,.11); }
.gift-market-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(390px, .98fr);
    gap: clamp(44px, 6vw, 86px);
    align-items: center;
}
.gift-market-copy { max-width: 720px; }
.gift-market-kicker-row { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:20px; }
.gift-market-kicker,
.gift-market-status-pill {
    display:inline-flex;
    align-items:center;
    min-height:34px;
    border-radius:999px;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.15px;
    text-transform:uppercase;
}
.gift-market-kicker { padding:0 14px; color:var(--gift-brown); background:rgba(255,255,255,.78); border:1px solid rgba(135,88,69,.12); box-shadow:0 8px 22px rgba(100,63,47,.06); }
.gift-market-status-pill { gap:7px; padding:0 13px; color:#5d775f; background:rgba(237,247,238,.84); border:1px solid rgba(93,119,95,.12); letter-spacing:.2px; text-transform:none; }
.gift-market-copy h1 {
    margin:0;
    max-width:760px;
    color:#3d2a25;
    font-size:clamp(42px, 5.25vw, 76px);
    line-height:.99;
    letter-spacing:-3.1px;
    font-weight:900;
    text-wrap:balance;
}
.gift-market-copy > p {
    margin:24px 0 0;
    max-width:680px;
    color:#765d54;
    font-size:clamp(16px,1.6vw,20px);
    line-height:1.72;
    font-weight:500;
}
.gift-market-pills { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.gift-market-pills span {
    display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:0 14px;
    border-radius:999px; color:#5d4740; background:rgba(255,255,255,.78); border:1px solid rgba(135,88,69,.10);
    font-size:13px; font-weight:800; box-shadow:0 8px 20px rgba(81,50,38,.045);
}
.gift-market-pills i { color:#b8796f; }
.gift-market-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.gift-market-primary,
.gift-market-secondary {
    min-height:52px; border-radius:17px; padding:0 20px; display:inline-flex; align-items:center; justify-content:center; gap:11px;
    font-size:14px; font-weight:900; text-decoration:none; border:0; cursor:pointer; transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.gift-market-primary { color:#fff; background:linear-gradient(135deg,#80503f,#d08f78 62%,#d1979f); box-shadow:0 16px 34px rgba(129,79,64,.22); }
.gift-market-secondary { color:#6a4d43; background:rgba(255,255,255,.82); border:1px solid rgba(135,88,69,.13); box-shadow:0 12px 28px rgba(93,58,44,.07); }
.gift-market-primary:hover,.gift-market-secondary:hover { transform:translateY(-2px); }
.gift-market-primary:hover { box-shadow:0 20px 42px rgba(129,79,64,.28); }
.gift-market-trust-row { margin-top:36px; display:flex; align-items:center; gap:15px; color:#786058; }
.gift-market-trust-row > div { display:flex; align-items:center; gap:7px; }
.gift-market-trust-row strong { width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid rgba(135,88,69,.1);font-size:10px;color:#9b6957;box-shadow:0 6px 15px rgba(87,53,38,.05); }
.gift-market-trust-row span { font-size:11px;font-weight:800;white-space:nowrap; }
.gift-market-trust-row > i { width:28px;height:1px;background:linear-gradient(90deg,rgba(135,88,69,.12),rgba(135,88,69,.34),rgba(135,88,69,.12)); }

.gift-market-cover-shell { position:relative; width:min(100%,580px); justify-self:end; padding:24px; }
.gift-market-cover-shell::before { content:"";position:absolute;inset:5% 4% 3% 8%;border-radius:46% 54% 44% 56% / 54% 42% 58% 46%;background:linear-gradient(145deg,rgba(225,175,162,.25),rgba(230,184,190,.42));transform:rotate(5deg); }
.gift-market-cover-card {
    position:relative;z-index:2;aspect-ratio:4/5;overflow:hidden;border-radius:40px 40px 110px 40px;
    background:linear-gradient(145deg,#f2dfd8,#ecd3d0);border:1px solid rgba(255,255,255,.74);
    box-shadow:0 38px 80px rgba(91,55,42,.20), inset 0 0 0 1px rgba(135,88,69,.05);
}
.gift-market-cover-card::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(54,33,27,.16));pointer-events:none; }
.gift-market-cover-card img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.gift-market-cover-card:hover img { transform:scale(1.035); }
.gift-market-cover-empty { height:100%; display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px;color:#7a5a50; }
.gift-market-cover-empty span { font-size:64px;filter:drop-shadow(0 12px 18px rgba(99,59,45,.12)); }
.gift-market-cover-empty b { margin-top:18px;font-size:19px; }
.gift-market-cover-empty small { margin-top:7px;max-width:260px;line-height:1.5;font-size:12px; }
.gift-market-float-note { position:absolute;z-index:4;display:flex;gap:11px;align-items:center;padding:12px 14px 12px 12px;border-radius:18px;background:rgba(255,255,255,.91);border:1px solid rgba(135,88,69,.09);box-shadow:0 18px 42px rgba(83,50,38,.13);backdrop-filter:blur(12px); }
.gift-market-float-note > span { width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:#fff4ef;font-size:20px; }
.gift-market-float-note div { display:flex;flex-direction:column;gap:2px; }
.gift-market-float-note b { color:#60463d;font-size:12px; }
.gift-market-float-note small { color:#97766b;font-size:9.5px; }
.gift-market-float-note.note-one { left:-9px;bottom:20%; }
.gift-market-float-note.note-two { right:-4px;top:19%; }

.gift-market-gallery-section,
.gift-market-products-section,
.gift-market-note-section { padding:clamp(70px,8vw,116px) 0; }
.gift-market-gallery-section { background:linear-gradient(180deg,#fffdfb,#fff8f4); }
.gift-market-products-section { position:relative;background:#fffdfb; }
.gift-market-products-section::before { content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(135,88,69,.14),transparent); }
.gift-market-section-heading > span { color:#b27767;font-size:11px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase; }
.gift-market-section-heading h2 { margin:10px 0 0;color:#46302a;font-size:clamp(30px,3.6vw,50px);line-height:1.08;letter-spacing:-1.8px;font-weight:900;text-wrap:balance; }
.gift-market-section-heading p { margin:15px 0 0;color:#82685e;line-height:1.7;font-size:14px; }
.gift-market-heading-split { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:52px;align-items:end;margin-bottom:34px; }
.gift-market-heading-split p { max-width:440px;justify-self:end; }
.gift-market-section-heading.centered { max-width:760px;margin:0 auto 42px;text-align:center; }

.gift-market-gallery { display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:125px;gap:12px; }
.gift-market-gallery-item { position:relative;overflow:hidden;border:0;padding:0;border-radius:24px;background:#f3e5df;cursor:zoom-in;box-shadow:0 14px 36px rgba(91,55,42,.08); }
.gift-market-gallery-item:nth-child(5n+1) { grid-column:span 5;grid-row:span 3; }
.gift-market-gallery-item:nth-child(5n+2) { grid-column:span 4;grid-row:span 2; }
.gift-market-gallery-item:nth-child(5n+3) { grid-column:span 3;grid-row:span 2; }
.gift-market-gallery-item:nth-child(5n+4) { grid-column:span 4;grid-row:span 2; }
.gift-market-gallery-item:nth-child(5n+5) { grid-column:span 3;grid-row:span 2; }
.gift-market-gallery-item img { width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .4s ease; }
.gift-market-gallery-item::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(45,29,24,.28));opacity:.7;transition:opacity .3s; }
.gift-market-gallery-item:hover img { transform:scale(1.055);filter:saturate(1.05); }
.gift-market-gallery-item:hover::after { opacity:1; }
.gift-market-gallery-item > span { position:absolute;z-index:2;left:14px;right:14px;bottom:12px;display:flex;align-items:center;justify-content:space-between;color:#fff; }
.gift-market-gallery-item > span b { font-size:11px;letter-spacing:1px; }
.gift-market-gallery-item > span i { font-size:11px; }

.gift-market-product-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.gift-market-product-card { overflow:hidden;border-radius:26px;background:#fff;border:1px solid rgba(135,88,69,.10);box-shadow:0 18px 48px rgba(87,53,38,.08);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;animation:giftCardRise .5s both;animation-delay:calc(var(--gift-card-index,0) * 55ms); }
.gift-market-product-card:hover { transform:translateY(-7px);box-shadow:0 28px 62px rgba(87,53,38,.14);border-color:rgba(135,88,69,.18); }
@keyframes giftCardRise { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:none} }
.gift-market-product-media { position:relative;aspect-ratio:1.08/1;overflow:hidden;background:linear-gradient(145deg,#f7ebe5,#f3ddda); }
.gift-market-product-media img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease; }
.gift-market-product-card:hover .gift-market-product-media img { transform:scale(1.045); }
.gift-market-product-media::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(55,34,28,.15));pointer-events:none; }
.gift-market-product-placeholder { width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#9b7467; }
.gift-market-product-placeholder span { font-size:48px; }
.gift-market-product-placeholder small { font-weight:800;font-size:11px; }
.gift-market-product-badges { position:absolute;z-index:2;top:14px;left:14px;right:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px; }
.gift-market-badge { max-width:78%;min-height:28px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;font-size:10px;font-weight:900;line-height:1.1;box-shadow:0 7px 18px rgba(75,43,32,.09); }
.gift-market-badge.editorial { color:#724b40;background:rgba(255,250,245,.92);border:1px solid rgba(135,88,69,.08); }
.gift-market-badge.discount { margin-left:auto;color:#fff;background:#b95f66; }
.gift-market-product-number { position:absolute;z-index:2;right:14px;bottom:12px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.88);color:#825d50;font-size:10px;font-weight:900;backdrop-filter:blur(9px); }
.gift-market-product-body { padding:20px 20px 19px; }
.gift-market-product-top { display:flex;justify-content:space-between;align-items:center;color:#b48677;font-size:9.5px;font-weight:900;letter-spacing:1px; }
.gift-market-product-top i { font-size:15px;color:#c99396; }
.gift-market-product-body h3 { margin:10px 0 0;color:#4d352e;font-size:20px;line-height:1.23;letter-spacing:-.55px;font-weight:900; }
.gift-market-product-body p { margin:10px 0 0;min-height:66px;color:#80685e;font-size:12.5px;line-height:1.65; }
.gift-market-product-footer { margin-top:18px;padding-top:16px;border-top:1px solid rgba(135,88,69,.09);display:flex;align-items:flex-end;justify-content:space-between;gap:14px; }
.gift-market-price { display:flex;flex-direction:column;gap:2px; }
.gift-market-price del { color:#aa948b;font-size:11px;font-weight:700; }
.gift-market-price strong { color:#7e4f40;font-size:20px;letter-spacing:-.45px; }
.gift-market-product-footer button { flex:0 0 auto;min-height:39px;padding:0 13px;border-radius:13px;border:0;background:#f7ebe5;color:#784f42;font-size:11px;font-weight:900;cursor:pointer;transition:.2s ease; }
.gift-market-product-footer button:hover { color:#fff;background:linear-gradient(135deg,#875845,#d89d79);transform:translateY(-1px); }
.gift-market-empty-products { max-width:620px;margin:0 auto;padding:50px 28px;text-align:center;border-radius:30px;background:linear-gradient(145deg,#fff8f4,#f9ece8);border:1px dashed rgba(135,88,69,.18); }
.gift-market-empty-products > span { font-size:52px; }
.gift-market-empty-products h3 { margin:12px 0 0;color:#563c34;font-size:24px; }
.gift-market-empty-products p { margin:9px auto 18px;max-width:470px;color:#816960;font-size:13px;line-height:1.65; }
.gift-market-empty-products a { display:inline-flex;min-height:42px;padding:0 16px;align-items:center;border-radius:14px;background:#875845;color:#fff;text-decoration:none;font-size:12px;font-weight:900; }

.gift-market-note-section { padding-top:22px;background:linear-gradient(180deg,#fffdfb,#fff8f4); }
.gift-market-note-card { display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:30px 32px;border-radius:30px;background:linear-gradient(135deg,#5f4138,#875845 45%,#c88579);color:#fff;box-shadow:0 24px 60px rgba(88,54,42,.18);overflow:hidden;position:relative; }
.gift-market-note-card::after { content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-100px;top:-120px;background:rgba(255,255,255,.08); }
.gift-market-note-icon { width:58px;height:58px;border-radius:19px;display:grid;place-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);font-size:29px; }
.gift-market-note-card span { font-size:9px;font-weight:900;letter-spacing:1.3px;opacity:.72; }
.gift-market-note-card h2 { margin:4px 0 0;font-size:23px;letter-spacing:-.5px; }
.gift-market-note-card p { margin:6px 0 0;max-width:730px;font-size:12px;line-height:1.6;color:rgba(255,255,255,.78); }
.gift-market-note-card a { position:relative;z-index:2;min-height:44px;padding:0 17px;border-radius:14px;display:inline-flex;align-items:center;gap:9px;background:#fff;color:#69483e;text-decoration:none;font-size:11px;font-weight:900;white-space:nowrap; }

.gift-market-lightbox { position:fixed;inset:0;z-index:1000002;background:rgba(31,20,17,.88);backdrop-filter:blur(16px);padding:32px;align-items:center;justify-content:center; }
.gift-market-lightbox:not([hidden]) { display:flex; }
.gift-market-lightbox figure { margin:0;max-width:min(1050px,82vw);max-height:86vh;display:flex;flex-direction:column;align-items:center;gap:12px; }
.gift-market-lightbox img { max-width:100%;max-height:80vh;object-fit:contain;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.35); }
.gift-market-lightbox figcaption { color:rgba(255,255,255,.7);font-size:11px;font-weight:800;letter-spacing:.5px; }
.gift-market-lightbox-close,.gift-market-lightbox-nav { position:absolute;border:0;color:#fff;background:rgba(255,255,255,.11);backdrop-filter:blur(10px);cursor:pointer; }
.gift-market-lightbox-close { width:46px;height:46px;border-radius:50%;right:24px;top:24px;font-size:28px; }
.gift-market-lightbox-nav { width:48px;height:62px;border-radius:18px;top:50%;transform:translateY(-50%);font-size:36px; }
.gift-market-lightbox-nav.prev { left:24px; }.gift-market-lightbox-nav.next { right:24px; }
body.gift-market-lightbox-open { overflow:hidden; }

@media (max-width: 1100px) {
    .gift-market-hero-grid { grid-template-columns:minmax(0,1fr) minmax(330px,.78fr);gap:38px; }
    .gift-market-copy h1 { font-size:clamp(40px,5.4vw,60px);letter-spacing:-2.2px; }
    .gift-market-cover-shell { padding:16px; }
    .gift-market-float-note.note-one { left:-16px; }.gift-market-float-note.note-two { right:-14px; }
    .gift-market-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .gift-market-gallery { grid-auto-rows:105px; }
    .gift-market-note-card { grid-template-columns:auto minmax(0,1fr); }
    .gift-market-note-card a { grid-column:2;justify-self:start; }
}

@media (max-width: 768px) {
    body.customer-gift-route { padding-bottom:76px; }
    .gift-market-hero { min-height:0;padding:34px 0 62px; }
    .gift-market-hero-grid { grid-template-columns:1fr;gap:34px; }
    .gift-market-copy { text-align:left; }
    .gift-market-kicker-row { gap:7px;margin-bottom:15px; }
    .gift-market-kicker,.gift-market-status-pill { min-height:30px;font-size:9px;padding:0 10px; }
    .gift-market-copy h1 { font-size:clamp(36px,11.2vw,54px);line-height:1.02;letter-spacing:-2px; }
    .gift-market-copy > p { margin-top:17px;font-size:14px;line-height:1.65; }
    .gift-market-pills { margin-top:20px;gap:7px; }
    .gift-market-pills span { min-height:34px;padding:0 11px;font-size:11px; }
    .gift-market-actions { margin-top:24px;display:grid;grid-template-columns:1fr 1fr; }
    .gift-market-primary,.gift-market-secondary { min-height:47px;padding:0 12px;border-radius:15px;font-size:12px; }
    .gift-market-trust-row { margin-top:24px;gap:7px;justify-content:space-between; }
    .gift-market-trust-row > i { flex:1;min-width:8px; }
    .gift-market-trust-row span { font-size:9px; }.gift-market-trust-row strong{width:27px;height:27px;font-size:9px;}
    .gift-market-cover-shell { width:min(94%,520px);justify-self:center;padding:10px; }
    .gift-market-cover-card { border-radius:30px 30px 82px 30px; }
    .gift-market-float-note { padding:9px 10px;border-radius:15px;gap:8px; }
    .gift-market-float-note > span { width:34px;height:34px;border-radius:11px;font-size:17px; }
    .gift-market-float-note b { font-size:10px; }.gift-market-float-note small{font-size:8px;}
    .gift-market-float-note.note-one { left:-8px;bottom:14%; }.gift-market-float-note.note-two { right:-8px;top:15%; }
    .gift-market-gallery-section,.gift-market-products-section,.gift-market-note-section { padding:62px 0; }
    .gift-market-heading-split { grid-template-columns:1fr;gap:6px;margin-bottom:24px; }
    .gift-market-heading-split p { justify-self:start; }
    .gift-market-section-heading h2 { font-size:33px;letter-spacing:-1.1px; }
    .gift-market-section-heading p { font-size:12.5px;margin-top:10px; }
    .gift-market-gallery { grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:9px; }
    .gift-market-gallery-item:nth-child(n) { grid-column:auto;grid-row:auto;aspect-ratio:1/1.08;border-radius:18px; }
    .gift-market-gallery-item:first-child { grid-column:1/-1;aspect-ratio:1.75/1; }
    .gift-market-product-grid { grid-template-columns:1fr;gap:16px; }
    .gift-market-product-card { border-radius:22px; }
    .gift-market-product-media { aspect-ratio:1.22/1; }
    .gift-market-product-body { padding:17px; }
    .gift-market-product-body h3 { font-size:19px; }
    .gift-market-product-body p { min-height:0;font-size:12px; }
    .gift-market-product-footer { align-items:center; }
    .gift-market-note-section { padding-top:10px; }
    .gift-market-note-card { grid-template-columns:1fr;padding:25px 22px;border-radius:24px;gap:12px; }
    .gift-market-note-icon { width:48px;height:48px;border-radius:16px; }
    .gift-market-note-card a { grid-column:auto;justify-self:stretch;justify-content:center;margin-top:4px; }
    .gift-market-lightbox { padding:18px; }.gift-market-lightbox figure{max-width:92vw;}.gift-market-lightbox-nav{width:40px;height:54px;border-radius:14px;font-size:30px;}.gift-market-lightbox-nav.prev{left:8px}.gift-market-lightbox-nav.next{right:8px}.gift-market-lightbox-close{right:10px;top:10px;width:42px;height:42px;}
}

@media (max-width: 420px) {
    .gift-market-hero { padding-top:27px; }
    .gift-market-status-pill { display:none; }
    .gift-market-copy h1 { font-size:38px;letter-spacing:-1.7px; }
    .gift-market-actions { grid-template-columns:1fr;gap:8px; }
    .gift-market-secondary { display:none; }
    .gift-market-trust-row span { display:none; }
    .gift-market-trust-row > div { gap:0; }
    .gift-market-cover-shell { width:100%; }
    .gift-market-float-note.note-two { display:none; }
    .gift-market-float-note.note-one { left:-3px;bottom:10%; }
    .gift-market-section-heading h2 { font-size:30px; }
    .gift-market-gallery { grid-template-columns:1fr 1fr; }
    .gift-market-product-footer { gap:9px; }
    .gift-market-price strong { font-size:18px; }
    .gift-market-product-footer button { padding:0 11px; }
}

@media (prefers-reduced-motion: reduce) {
    .gift-market-page *, .gift-market-page *::before, .gift-market-page *::after { scroll-behavior:auto !important;animation:none !important;transition:none !important; }
}

/* =========================================================
   GIFT BASKET CUSTOMER · V344 POLISH + PERFORMANCE
   - stronger discount badge
   - calmer typography hierarchy
   - one-line compact mobile header
   - defer below-the-fold rendering where supported
   ========================================================= */

.gift-market-copy h1 {
    max-width: 690px;
    font-size: clamp(38px, 4.55vw, 62px);
    line-height: 1.035;
    letter-spacing: -2.35px;
}
.gift-market-copy > p {
    max-width: 620px;
    margin-top: 19px;
    font-size: clamp(14px, 1.25vw, 17px);
    line-height: 1.66;
    font-weight: 500;
}
.gift-market-kicker-row { margin-bottom: 17px; }
.gift-market-kicker,
.gift-market-status-pill { font-size: 10px; }
.gift-market-pills { margin-top: 23px; }
.gift-market-actions { margin-top: 28px; }
.gift-market-trust-row { margin-top: 29px; }

.gift-market-product-card {
    contain: layout paint style;
}
.gift-market-product-top {
    gap: 10px;
    color: #a87a6b;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .15px;
    text-transform: none;
}
.gift-market-product-top > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.gift-market-product-body h3 {
    margin-top: 8px;
    font-size: 19px;
    line-height: 1.26;
    letter-spacing: -.42px;
}
.gift-market-product-body p {
    margin-top: 8px;
    color: #806a61;
    font-size: 12px;
    line-height: 1.62;
}
.gift-market-product-badges {
    top: 13px;
    left: 13px;
    right: 13px;
    gap: 9px;
}
.gift-market-badge.discount {
    min-height: 40px;
    margin-left: auto;
    padding: 5px 13px 5px 12px;
    gap: 4px;
    border: 2px solid rgba(255,255,255,.84);
    background: linear-gradient(135deg, #ad4e5b 0%, #cf6d76 60%, #d98a83 100%);
    color: #fff;
    box-shadow: 0 13px 28px rgba(145, 65, 75, .28), inset 0 1px 0 rgba(255,255,255,.22);
    transform: rotate(1.5deg);
    text-shadow: 0 1px 1px rgba(91,34,43,.18);
}
.gift-market-badge.discount span {
    font-size: 8px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .8px;
}
.gift-market-badge.discount strong {
    font-size: 14px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.25px;
}
.gift-market-price strong {
    font-size: 22px;
    line-height: 1.08;
}
.gift-market-price del {
    margin-bottom: 1px;
    font-size: 10.5px;
}

/* Defer heavier below-the-fold sections until near viewport. */
@supports (content-visibility: auto) {
    .gift-market-gallery-section,
    .gift-market-products-section,
    .gift-market-note-section {
        content-visibility: auto;
        contain-intrinsic-size: 1px 760px;
    }
}
.gift-market-gallery-item {
    contain: layout paint style;
}
.gift-market-gallery-item img,
.gift-market-product-media img {
    backface-visibility: hidden;
}

@media (max-width: 1100px) {
    .gift-market-copy h1 {
        font-size: clamp(36px, 5vw, 52px);
        letter-spacing: -1.85px;
    }
    .gift-market-copy > p { font-size: 14.5px; }
}

@media (max-width: 768px) {
    /* One compact header row: logo + horizontally scrollable menu. */
    .site-header {
        background: rgba(255, 250, 245, .965) !important;
        -webkit-backdrop-filter: blur(10px) saturate(1.08) !important;
        backdrop-filter: blur(10px) saturate(1.08) !important;
        border-bottom: 1px solid rgba(135,88,69,.07);
    }
    .header-inner {
        height: 58px !important;
        min-height: 58px !important;
        padding: 6px 9px !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        overflow: hidden;
    }
    .logo-wrap {
        flex: 0 0 auto !important;
        align-self: auto !important;
        min-width: 0;
        padding: 3px 7px 3px 3px !important;
        gap: 6px !important;
        box-shadow: 0 5px 14px rgba(87,53,38,.06) !important;
    }
    .logo-mark {
        width: 34px;
        height: 34px;
    }
    .logo-wrap img {
        width: 29px !important;
        height: 29px !important;
    }
    .logo-text strong {
        font-size: 15px !important;
        letter-spacing: -.35px !important;
    }
    .logo-text span { display: none !important; }
    .main-menu {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 42px;
        padding: 3px 1px 4px !important;
        gap: 5px !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
        mask-image: linear-gradient(90deg, transparent 0, #000 8px, #000 calc(100% - 14px), transparent 100%);
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8px, #000 calc(100% - 14px), transparent 100%);
    }
    .header-inner .main-menu a {
        flex: 0 0 auto !important;
        min-height: 33px !important;
        height: 33px !important;
        padding: 0 9px !important;
        gap: 4px !important;
        border-radius: 999px !important;
        font-size: 11.5px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        scroll-snap-align: center;
        box-shadow: 0 4px 11px rgba(87,53,38,.045) !important;
    }
    .header-inner .main-menu a .menu-ico {
        font-size: 13px;
    }

    .gift-market-hero {
        padding-top: 28px;
        padding-bottom: 54px;
    }
    .gift-market-hero::before {
        width: 300px;
        height: 300px;
        right: -155px;
        top: -125px;
        border-width: 46px;
    }
    .gift-market-orb { filter: none; }
    .gift-market-orb-two { display: none; }
    .gift-market-kicker-row { margin-bottom: 12px; }
    .gift-market-kicker,
    .gift-market-status-pill {
        min-height: 27px;
        padding: 0 9px;
        font-size: 8.5px;
    }
    .gift-market-copy h1 {
        max-width: 540px;
        font-size: clamp(30px, 8.9vw, 42px);
        line-height: 1.055;
        letter-spacing: -1.45px;
    }
    .gift-market-copy > p {
        max-width: 520px;
        margin-top: 13px;
        font-size: 12.8px;
        line-height: 1.62;
    }
    .gift-market-pills { margin-top: 17px; }
    .gift-market-pills span {
        min-height: 31px;
        padding: 0 9px;
        gap: 6px;
        font-size: 10px;
    }
    .gift-market-actions { margin-top: 20px; }
    .gift-market-trust-row { margin-top: 20px; }

    .gift-market-product-badges {
        top: 11px;
        left: 11px;
        right: 11px;
    }
    .gift-market-badge.discount {
        min-height: 38px;
        padding: 5px 12px;
    }
    .gift-market-badge.discount strong { font-size: 13.5px; }
    .gift-market-product-body h3 { font-size: 18px; }
    .gift-market-product-body p { font-size: 11.5px; line-height: 1.58; }
    .gift-market-price strong { font-size: 20px; }
}

@media (max-width: 430px) {
    .header-inner {
        height: 54px !important;
        min-height: 54px !important;
        padding: 5px 7px !important;
        gap: 5px !important;
    }
    .logo-wrap {
        padding: 3px !important;
        border-radius: 50% !important;
    }
    .logo-mark {
        width: 33px;
        height: 33px;
    }
    .logo-text { display: none !important; }
    .main-menu { height: 39px; gap: 4px !important; }
    .header-inner .main-menu a {
        min-height: 31px !important;
        height: 31px !important;
        padding: 0 8px !important;
        font-size: 10.8px !important;
    }
    .header-inner .main-menu .gift-basket-menu-link .menu-ico { display: none !important; }

    .gift-market-hero { padding-top: 23px; }
    .gift-market-copy h1 {
        font-size: clamp(29px, 9.4vw, 35px);
        line-height: 1.07;
        letter-spacing: -1.15px;
    }
    .gift-market-copy > p {
        margin-top: 11px;
        font-size: 12.2px;
        line-height: 1.58;
    }
    .gift-market-status-pill { display:none; }
    .gift-market-product-body { padding: 16px; }
    .gift-market-product-top { font-size: 8.5px; }
    .gift-market-badge.discount {
        min-height: 37px;
        padding: 5px 11px;
        transform: rotate(1deg);
    }
    .gift-market-badge.discount span { font-size: 7.5px; }
    .gift-market-badge.discount strong { font-size: 13px; }
}


/* =========================================================
   GIFT BASKET CUSTOMER · V345 MOBILE HEADER + POLISH
   - keep logo + "3 Cây Non" visible on small screens
   - hide Contact nav on mobile to preserve a true one-row header
   - remove mobile fixed CTA spacing
   - calmer mobile typography + lighter rendering cost
   ========================================================= */

/* Fixed mobile CTA was removed from DOM in V345. */
body.customer-gift-route { padding-bottom: 0 !important; }

/* Slightly calmer visual rhythm and cheaper card painting. */
.gift-market-product-card {
    contain: layout paint style;
}
.gift-market-product-media {
    overflow: hidden;
    background: linear-gradient(145deg, #fbf4ef, #f7ece7);
}
.gift-market-section-heading h2 {
    text-wrap: balance;
}
.gift-market-copy h1,
.gift-market-copy > p {
    text-wrap: pretty;
}

@media (max-width: 768px) {
    /* True one-line header. Keep brand logo + name; remove only low-priority Contact. */
    .site-header {
        background: rgba(255, 250, 245, .98) !important;
        -webkit-backdrop-filter: blur(8px) saturate(1.04) !important;
        backdrop-filter: blur(8px) saturate(1.04) !important;
        border-bottom-color: rgba(135, 88, 69, .08) !important;
    }
    .header-inner {
        height: 56px !important;
        min-height: 56px !important;
        padding: 5px 8px !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        overflow: hidden !important;
    }
    .logo-wrap {
        flex: 0 0 auto !important;
        align-self: center !important;
        min-width: 0 !important;
        height: 44px !important;
        padding: 3px 8px 3px 3px !important;
        gap: 5px !important;
        border-radius: 999px !important;
        box-shadow: 0 4px 12px rgba(87,53,38,.055) !important;
    }
    .logo-mark {
        flex: 0 0 auto !important;
        width: 34px !important;
        height: 34px !important;
        box-shadow: inset 0 0 0 1px rgba(135,88,69,.08) !important;
    }
    .logo-wrap img {
        width: 30px !important;
        height: 30px !important;
    }
    .logo-text {
        display: flex !important;
        min-width: 0 !important;
    }
    .logo-text strong {
        display: block !important;
        font-size: 13.5px !important;
        line-height: 1 !important;
        letter-spacing: -.35px !important;
        white-space: nowrap !important;
    }
    .logo-text span { display: none !important; }

    .main-menu {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 42px !important;
        padding: 3px 0 !important;
        gap: 4px !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
        -webkit-mask-image: linear-gradient(90deg,#000 0,#000 calc(100% - 10px),transparent 100%);
        mask-image: linear-gradient(90deg,#000 0,#000 calc(100% - 10px),transparent 100%);
    }
    .main-menu::-webkit-scrollbar { display: none !important; }
    .header-inner .main-menu a {
        flex: 0 0 auto !important;
        min-height: 32px !important;
        height: 32px !important;
        padding: 0 7px !important;
        gap: 3px !important;
        border-radius: 999px !important;
        font-size: 10.5px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        background: rgba(255,255,255,.74) !important;
        border: 1px solid rgba(135,88,69,.075) !important;
        box-shadow: none !important;
        scroll-snap-align: start;
    }
    .header-inner .main-menu a .menu-ico { font-size: 11px !important; }
    #menuContact { display: none !important; }
    .call-btn { display: none !important; }

    /* Smaller hero type on phones/tablets, as requested. */
    .gift-market-hero {
        padding: 24px 0 46px !important;
    }
    .gift-market-hero-grid { gap: 27px !important; }
    .gift-market-kicker-row {
        margin-bottom: 10px !important;
        gap: 6px !important;
    }
    .gift-market-kicker,
    .gift-market-status-pill {
        min-height: 25px !important;
        padding: 0 8px !important;
        font-size: 8px !important;
    }
    .gift-market-copy h1 {
        max-width: 480px !important;
        font-size: clamp(27px, 7.8vw, 34px) !important;
        line-height: 1.075 !important;
        letter-spacing: -.95px !important;
    }
    .gift-market-copy > p {
        max-width: 470px !important;
        margin-top: 10px !important;
        font-size: 11.8px !important;
        line-height: 1.55 !important;
    }
    .gift-market-pills {
        margin-top: 14px !important;
        gap: 6px !important;
    }
    .gift-market-pills span {
        min-height: 29px !important;
        padding: 0 8px !important;
        font-size: 9.3px !important;
    }
    .gift-market-actions { margin-top: 17px !important; }
    .gift-market-primary,
    .gift-market-secondary {
        min-height: 43px !important;
        border-radius: 14px !important;
        font-size: 11px !important;
    }
    .gift-market-trust-row { margin-top: 17px !important; }

    /* More balanced lower sections on small screens. */
    .gift-market-gallery-section,
    .gift-market-products-section,
    .gift-market-note-section {
        padding: 48px 0 !important;
    }
    .gift-market-section-heading h2 {
        font-size: clamp(25px, 7.4vw, 29px) !important;
        line-height: 1.1 !important;
        letter-spacing: -.75px !important;
    }
    .gift-market-section-heading p {
        margin-top: 8px !important;
        font-size: 11.4px !important;
        line-height: 1.58 !important;
    }
    .gift-market-product-grid { gap: 14px !important; }
    .gift-market-product-card {
        border-radius: 20px !important;
        box-shadow: 0 10px 28px rgba(87,53,38,.065) !important;
        animation: none !important;
        transition: none !important;
    }
    .gift-market-product-body { padding: 15px !important; }
    .gift-market-product-body h3 { font-size: 17px !important; }
    .gift-market-product-body p {
        margin-top: 7px !important;
        font-size: 11.2px !important;
        line-height: 1.55 !important;
    }
    .gift-market-product-footer { margin-top: 14px !important; padding-top: 13px !important; }
    .gift-market-price strong { font-size: 19px !important; }
    .gift-market-note-card {
        padding: 22px 19px !important;
        border-radius: 22px !important;
        box-shadow: 0 14px 36px rgba(88,54,42,.14) !important;
    }
    .gift-market-note-card h2 { font-size: 20px !important; }
    .gift-market-note-card p { font-size: 11.2px !important; }

    /* Avoid GPU-heavy filters in the normal mobile page. */
    .gift-market-float-note,
    .gift-market-product-number {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }
}

@media (max-width: 430px) {
    .header-inner {
        height: 54px !important;
        min-height: 54px !important;
        padding: 5px 6px !important;
        gap: 4px !important;
    }
    .logo-wrap {
        height: 42px !important;
        padding: 3px 6px 3px 3px !important;
        gap: 4px !important;
        border-radius: 999px !important;
    }
    .logo-mark {
        width: 32px !important;
        height: 32px !important;
    }
    .logo-wrap img {
        width: 28px !important;
        height: 28px !important;
    }
    .logo-text { display: flex !important; }
    .logo-text strong {
        display: block !important;
        font-size: 12px !important;
        letter-spacing: -.3px !important;
    }
    .main-menu { height: 39px !important; gap: 3px !important; }
    .header-inner .main-menu a {
        min-height: 30px !important;
        height: 30px !important;
        padding: 0 6px !important;
        font-size: 9.7px !important;
    }
    .header-inner .main-menu .gift-basket-menu-link .menu-ico { display: none !important; }

    .gift-market-hero { padding-top: 20px !important; }
    .gift-market-status-pill { display: none !important; }
    .gift-market-copy h1 {
        font-size: clamp(26px, 7.5vw, 30px) !important;
        line-height: 1.08 !important;
        letter-spacing: -.8px !important;
    }
    .gift-market-copy > p {
        margin-top: 9px !important;
        font-size: 11.2px !important;
        line-height: 1.52 !important;
    }
    .gift-market-pills span { font-size: 8.8px !important; }
    .gift-market-section-heading h2 { font-size: 25px !important; }
    .gift-market-section-heading p { font-size: 11px !important; }
}

@media (max-width: 360px) {
    /* Keep logo, but make the brand label ultra-compact instead of deleting it. */
    .logo-text strong { font-size: 10.5px !important; }
    .logo-wrap { padding-right: 5px !important; }
    .header-inner .main-menu a {
        padding: 0 5px !important;
        font-size: 9.2px !important;
    }
}


/* =========================================================
   V350 · SAFE TWO-ROW MOBILE HEADER
   Visual baseline = V345. Only mobile header geometry changes.
   ========================================================= */
@media (max-width: 768px) {
  .site-header { background: rgba(255,250,245,.98) !important; }
  .header-inner {
    height: auto !important;
    min-height: 94px !important;
    padding: 6px 8px 7px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
    overflow: visible !important;
  }
  .logo-wrap {
    align-self: center !important;
    flex: 0 0 46px !important;
    height: 46px !important;
    min-width: 0 !important;
    padding: 3px 9px 3px 4px !important;
    gap: 6px !important;
  }
  .logo-mark { width: 36px !important; height: 36px !important; }
  .logo-wrap img { width: 32px !important; height: 32px !important; }
  .logo-text { display: flex !important; }
  .logo-text strong { display:block !important; font-size:15px !important; white-space:nowrap !important; }
  .logo-text span { display:block !important; margin-top:2px !important; font-size:7px !important; white-space:nowrap !important; }
  .main-menu {
    width:100% !important;
    min-width:0 !important;
    height:35px !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    align-items:stretch !important;
    gap:4px !important;
    overflow:hidden !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .header-inner .main-menu a {
    width:auto !important;
    min-width:0 !important;
    height:35px !important;
    min-height:35px !important;
    padding:0 4px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    overflow:hidden !important;
    border-radius:11px !important;
    font-size:10px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
  }
  .header-inner .main-menu a > span:not(.menu-ico), #menuGiftBasketLabel {
    min-width:0 !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important;
  }
  #menuContact, .call-btn { display:none !important; }
}
@media (max-width: 430px) {
  .header-inner { min-height:90px !important; padding:5px 6px 6px !important; gap:4px !important; }
  .logo-wrap { flex-basis:44px !important; height:44px !important; }
  .logo-mark { width:34px !important; height:34px !important; }
  .logo-wrap img { width:30px !important; height:30px !important; }
  .logo-text strong { font-size:14px !important; }
  .logo-text span { font-size:6.7px !important; }
  .main-menu { height:33px !important; gap:3px !important; }
  .header-inner .main-menu a { height:33px !important; min-height:33px !important; padding:0 3px !important; font-size:9.3px !important; }
  .header-inner .main-menu .gift-basket-menu-link .menu-ico { display:none !important; }
}
@media (max-width: 360px) {
  .header-inner .main-menu a { font-size:8.7px !important; padding:0 2px !important; }
  .logo-text strong { font-size:13.5px !important; }
}

   V347 · BOOKING GIFT UPSELL + CONFIRMATION MOBILE POLISH
   Performance: reuses already-loaded businessProfile data;
   product images remain original quality and lazy-load only.
========================================================= */
.website-gift-upsell {
    position: relative;
    display: grid;
    gap: 14px;
    padding: 17px;
    border: 1px solid rgba(208, 98, 125, .18);
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0, rgba(255, 213, 224, .36), transparent 35%),
        linear-gradient(145deg, #fffdfc 0%, #fff8f9 58%, #fffaf3 100%);
    box-shadow: 0 12px 32px rgba(108, 61, 71, .06);
    overflow: hidden;
    content-visibility: auto;
    contain-intrinsic-size: 420px;
}
.website-gift-upsell[hidden] { display: none !important; }
.website-gift-upsell::before {
    content: "";
    position: absolute;
    width: 130px;
    height: 130px;
    right: -70px;
    top: -76px;
    border-radius: 50%;
    background: rgba(255, 182, 198, .18);
    pointer-events: none;
}
.website-gift-upsell-head,
.website-gift-upsell-foot,
.website-gift-upsell-selected {
    position: relative;
    z-index: 1;
}
.website-gift-upsell-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}
.website-gift-upsell-copy { min-width: 0; }
.website-gift-upsell-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 5px;
    color: #a24d63;
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: .075em;
}
.website-gift-upsell-copy h4 {
    margin: 0;
    color: #2f2527;
    font-size: 17px;
    line-height: 1.25;
    letter-spacing: -.015em;
}
.website-gift-upsell-copy p {
    margin: 5px 0 0;
    max-width: 620px;
    color: #75696b;
    font-size: 12px;
    line-height: 1.5;
}
.website-gift-upsell-pill {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 0 10px;
    border: 1px solid rgba(197, 87, 114, .18);
    border-radius: 999px;
    color: #99445a;
    background: rgba(255,255,255,.82);
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}
.website-gift-upsell-products {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.website-gift-upsell-card {
    appearance: none;
    min-width: 0;
    padding: 0;
    border: 1px solid rgba(91, 68, 73, .11);
    border-radius: 17px;
    background: rgba(255,255,255,.92);
    color: inherit;
    text-align: left;
    overflow: hidden;
    cursor: pointer;
    contain: layout paint style;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.website-gift-upsell-card:hover {
    transform: translateY(-2px);
    border-color: rgba(197, 87, 114, .32);
    box-shadow: 0 10px 24px rgba(92, 55, 64, .09);
}
.website-gift-upsell-card.is-selected {
    border-color: rgba(190, 65, 97, .65);
    box-shadow: 0 0 0 2px rgba(224, 106, 135, .12), 0 12px 28px rgba(104, 53, 66, .09);
}
.website-gift-upsell-media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    background: #f7efed;
    overflow: hidden;
}
.website-gift-upsell-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.website-gift-upsell-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    font-size: 32px;
}
.website-gift-upsell-discount,
.website-gift-upsell-badge {
    position: absolute;
    top: 8px;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 950;
    line-height: 1;
    box-shadow: 0 5px 13px rgba(48, 27, 31, .11);
}
.website-gift-upsell-discount {
    left: 8px;
    color: #fff;
    background: linear-gradient(135deg, #e74268, #bd294e);
}
.website-gift-upsell-badge {
    right: 8px;
    max-width: 48%;
    color: #583f37;
    background: rgba(255,255,255,.9);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.website-gift-upsell-card-body {
    display: grid;
    gap: 8px;
    padding: 11px;
}
.website-gift-upsell-card-body > strong {
    display: -webkit-box;
    min-height: 2.55em;
    overflow: hidden;
    color: #33282a;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.28;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.website-gift-upsell-card-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px;
}
.website-gift-upsell-card-price del {
    color: #a09698;
    font-size: 9.5px;
}
.website-gift-upsell-card-price b {
    color: #bc3155;
    font-size: 13px;
    font-weight: 950;
}
.website-gift-upsell-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 31px;
    padding: 0 10px;
    border-radius: 10px;
    color: #774657;
    background: #fff0f4;
    font-size: 10.5px;
    font-weight: 900;
}
.website-gift-upsell-card.is-selected .website-gift-upsell-action {
    color: #fff;
    background: linear-gradient(135deg, #c43d60, #a72b4d);
}
.website-gift-upsell-selected {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 12px;
    border: 1px solid rgba(72, 124, 93, .16);
    border-radius: 15px;
    background: rgba(242, 250, 245, .92);
}
.website-gift-upsell-selected[hidden] { display: none !important; }
.website-gift-upsell-selected-copy {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.website-gift-upsell-selected-icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 11px;
    color: #397653;
    background: #fff;
}
.website-gift-upsell-selected-copy div { min-width: 0; }
.website-gift-upsell-selected-copy small,
.website-gift-upsell-selected-copy strong { display: block; }
.website-gift-upsell-selected-copy small {
    margin-bottom: 2px;
    color: #658171;
    font-size: 9.5px;
    font-weight: 800;
}
.website-gift-upsell-selected-copy strong {
    overflow: hidden;
    color: #345442;
    font-size: 11.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.website-gift-upsell-selected-price {
    display: flex;
    align-items: center;
    gap: 9px;
    flex: 0 0 auto;
}
.website-gift-upsell-selected-price strong {
    color: #397653;
    font-size: 12.5px;
}
.website-gift-upsell-selected-price button {
    appearance: none;
    min-height: 29px;
    padding: 0 9px;
    border: 1px solid rgba(65, 96, 75, .16);
    border-radius: 9px;
    background: #fff;
    color: #5c6e62;
    font: inherit;
    font-size: 9.5px;
    font-weight: 850;
    cursor: pointer;
}
.website-gift-upsell-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #817578;
    font-size: 10.5px;
    line-height: 1.4;
}
.website-gift-upsell-foot span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.website-gift-upsell-foot i { color: #4f8c68; }
.website-gift-upsell-foot a {
    flex: 0 0 auto;
    color: #9c4159;
    font-weight: 900;
    text-underline-offset: 3px;
}
.booking-summary-gift {
    color: #9c4159;
    background: linear-gradient(90deg, rgba(255, 242, 246, .78), transparent);
}
.booking-summary-gift span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.booking-summary-gift strong { color: #b53759; }
.booking-confirmation-summary.has-gift {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.booking-confirmation-gift-summary {
    border-color: rgba(203, 86, 116, .2);
    background: linear-gradient(145deg, #fffafb, #fff5f7);
}
.booking-confirmation-gift-summary span i { color: #c44667; }
.booking-confirmation-gift-summary strong { color: #6f3446; }

@media (max-width: 1024px) {
    .website-gift-upsell-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .booking-confirmation-summary.has-gift { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .website-gift-upsell {
        gap: 11px;
        padding: 13px;
        border-radius: 18px;
        box-shadow: none;
        contain-intrinsic-size: 340px;
    }
    .website-gift-upsell-head { gap: 9px; }
    .website-gift-upsell-kicker { font-size: 9px; }
    .website-gift-upsell-copy h4 { font-size: 14px; }
    .website-gift-upsell-copy p { font-size: 10.5px; line-height: 1.45; }
    .website-gift-upsell-pill { min-height: 25px; padding: 0 8px; font-size: 9px; }
    .website-gift-upsell-products {
        display: flex;
        gap: 9px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        margin-inline: -2px;
        padding: 2px 2px 6px;
    }
    .website-gift-upsell-products::-webkit-scrollbar { display: none; }
    .website-gift-upsell-card {
        flex: 0 0 clamp(142px, 45vw, 176px);
        scroll-snap-align: start;
        border-radius: 15px;
        transition: border-color .15s ease, box-shadow .15s ease;
    }
    .website-gift-upsell-card:hover { transform: none; }
    .website-gift-upsell-card-body { gap: 6px; padding: 9px; }
    .website-gift-upsell-card-body > strong { font-size: 10.8px; }
    .website-gift-upsell-card-price b { font-size: 11.5px; }
    .website-gift-upsell-card-price del { font-size: 8.5px; }
    .website-gift-upsell-action { min-height: 28px; font-size: 9.5px; }
    .website-gift-upsell-discount,
    .website-gift-upsell-badge { top: 6px; min-height: 21px; font-size: 8px; }
    .website-gift-upsell-discount { left: 6px; }
    .website-gift-upsell-badge { right: 6px; }
    .website-gift-upsell-selected { gap: 8px; padding: 9px 10px; }
    .website-gift-upsell-selected-icon { width: 30px; height: 30px; flex-basis: 30px; }
    .website-gift-upsell-selected-copy small { font-size: 8.5px; }
    .website-gift-upsell-selected-copy strong { font-size: 10.5px; max-width: 36vw; }
    .website-gift-upsell-selected-price { gap: 6px; }
    .website-gift-upsell-selected-price strong { font-size: 11px; }
    .website-gift-upsell-selected-price button { min-height: 27px; font-size: 9px; }
    .website-gift-upsell-foot { font-size: 9.5px; }
    .website-gift-upsell-foot > span { min-width: 0; }

    /* Requested: confirmation headline two visual steps smaller on mobile. */
    .booking-confirmation-title {
        max-width: 100%;
        font-size: clamp(22px, 6.4vw, 28px);
        line-height: 1.08;
        letter-spacing: -.032em;
    }
    .booking-confirmation-lead {
        margin-top: 9px;
        font-size: 12.5px;
        line-height: 1.55;
    }
    .booking-confirmation-kicker {
        margin-bottom: 9px;
        font-size: 11px;
    }
    .booking-confirmation-kicker-icon { width: 25px; height: 25px; }
    .booking-confirmation-hero {
        gap: 12px;
        padding: 15px;
        border: 1px solid #eee4e6;
        border-radius: 18px;
        background: linear-gradient(145deg, #fff, #fff9fa);
    }
    .booking-confirmation-order {
        padding: 11px 13px;
        border-radius: 13px;
        box-shadow: none;
        background: rgba(255,255,255,.8);
    }
    .booking-confirmation-order span { margin-bottom: 3px; font-size: 9px; }
    .booking-confirmation-order strong { font-size: 13px; }
    .booking-confirmation-summary.has-gift { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
    .website-gift-upsell-copy h4 { font-size: 13px; }
    .website-gift-upsell-copy p { font-size: 10px; }
    .website-gift-upsell-pill { display: none; }
    .website-gift-upsell-card { flex-basis: 145px; }
    .website-gift-upsell-foot a { font-size: 9px; }
    .booking-confirmation-title { font-size: 21px; }
    .booking-confirmation-lead { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .website-gift-upsell-card { transition: none; }
}


/* =========================================================
   V348 · GIFT UPSELL CONFIRM + RESPONSIVE POLISH + PERF
   Keeps original image URLs/quality; optimizes presentation only.
========================================================= */
.website-gift-confirm-modal[hidden] { display: none !important; }
.website-gift-confirm-modal {
    position: fixed;
    inset: 0;
    z-index: 1000015;
    display: grid;
    place-items: center;
    padding: 20px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .16s ease;
}
.website-gift-confirm-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}
.website-gift-confirm-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(38, 27, 30, .48);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    cursor: default;
}
.website-gift-confirm-sheet {
    position: relative;
    width: min(470px, 100%);
    max-height: min(720px, calc(100dvh - 40px));
    overflow: auto;
    padding: 22px;
    border: 1px solid rgba(180, 88, 112, .17);
    border-radius: 25px;
    background:
        radial-gradient(circle at 100% 0, rgba(255, 226, 233, .8), transparent 32%),
        linear-gradient(160deg, #fffdfd, #fff8fa 54%, #fffdf9);
    box-shadow: 0 26px 70px rgba(73, 38, 48, .22);
    transform: translateY(10px) scale(.985);
    transition: transform .18s ease;
    contain: layout paint style;
}
.website-gift-confirm-modal.is-open .website-gift-confirm-sheet { transform: translateY(0) scale(1); }
.website-gift-confirm-accent {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #d95073, #e7a25e, #7ba287);
}
.website-gift-confirm-close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(95, 67, 74, .10);
    border-radius: 50%;
    background: rgba(255,255,255,.82);
    color: #725963;
    font: inherit;
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
}
.website-gift-confirm-top {
    display: grid;
    grid-template-columns: 43px minmax(0, 1fr);
    gap: 12px;
    padding-right: 30px;
}
.website-gift-confirm-icon {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    border-radius: 14px;
    color: #b7395b;
    background: #fff;
    box-shadow: 0 8px 20px rgba(151, 65, 88, .10);
}
.website-gift-confirm-kicker {
    display: block;
    margin-bottom: 4px;
    color: #a3445e;
    font-size: 9.5px;
    font-weight: 950;
    letter-spacing: .10em;
}
.website-gift-confirm-top h3 {
    margin: 0;
    color: #392b2f;
    font-size: 19px;
    font-weight: 950;
    line-height: 1.22;
    letter-spacing: -.025em;
}
.website-gift-confirm-top p {
    margin: 7px 0 0;
    color: #806f74;
    font-size: 11.5px;
    line-height: 1.55;
}
.website-gift-confirm-product {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    margin-top: 17px;
    padding: 11px;
    border: 1px solid rgba(178, 90, 113, .13);
    border-radius: 18px;
    background: rgba(255,255,255,.83);
}
.website-gift-confirm-media {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 14px;
    background: #f8eff1;
}
.website-gift-confirm-media[hidden] { display: none !important; }
.website-gift-confirm-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.website-gift-confirm-discount {
    position: absolute;
    left: 6px;
    bottom: 6px;
    min-height: 22px;
    display: inline-flex;
    align-items: center;
    padding: 0 8px;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #d53e62, #b52c4d);
    box-shadow: 0 5px 13px rgba(181,44,77,.22);
    font-size: 8px;
    font-weight: 950;
}
.website-gift-confirm-discount[hidden] { display: none !important; }
.website-gift-confirm-product-copy { min-width: 0; }
.website-gift-confirm-product-copy > strong {
    display: block;
    color: #3d2d32;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.35;
}
.website-gift-confirm-prices {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin-top: 7px;
}
.website-gift-confirm-prices del { color: #a18f94; font-size: 10px; }
.website-gift-confirm-prices del[hidden] { display: none !important; }
.website-gift-confirm-prices b { color: #bd3558; font-size: 16px; font-weight: 950; }
.website-gift-confirm-product-copy > span {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-top: 8px;
    color: #68796d;
    font-size: 9.5px;
    font-weight: 750;
    line-height: 1.45;
}
.website-gift-confirm-product-copy > span i { margin-top: 2px; color: #4f8b67; }
.website-gift-confirm-actions {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 9px;
    margin-top: 16px;
}
.website-gift-confirm-actions button {
    min-height: 43px;
    border-radius: 13px;
    padding: 0 13px;
    font: inherit;
    font-size: 10.5px;
    font-weight: 900;
    cursor: pointer;
}
.website-gift-confirm-cancel {
    border: 1px solid rgba(95, 72, 78, .14);
    color: #74646a;
    background: #fff;
}
.website-gift-confirm-accept {
    border: 0;
    color: #fff;
    background: linear-gradient(135deg, #ca3d61, #a92c4e);
    box-shadow: 0 9px 20px rgba(169, 44, 78, .18);
}
.website-gift-confirm-accept i { margin-right: 5px; }

/* Polish the quick upsell hierarchy without adding heavier effects. */
.website-gift-upsell {
    border-color: rgba(201, 86, 116, .15);
    background:
        radial-gradient(circle at 100% 0, rgba(255, 229, 235, .66), transparent 31%),
        linear-gradient(145deg, #fffdfd, #fff8fa);
}
.website-gift-upsell-copy h4 { letter-spacing: -.018em; }
.website-gift-upsell-card { contain: layout paint style; }
.website-gift-upsell-card:focus-visible,
.website-gift-confirm-actions button:focus-visible,
.website-gift-confirm-close:focus-visible {
    outline: 3px solid rgba(196, 61, 96, .22);
    outline-offset: 2px;
}

/* Confirmation page: softer hierarchy and less paint below the fold. */
.booking-confirmation-summary-item,
.booking-confirmation-page .ttlock-confirmation-card,
.booking-confirmation-page .booking-guide-card,
.booking-confirmation-help-card,
.booking-confirmation-note-card {
    contain: layout paint style;
}
@supports (content-visibility: auto) {
    .booking-confirmation-layout { content-visibility: auto; contain-intrinsic-size: 900px; }
}

@media (max-width: 1024px) {
    .website-gift-confirm-sheet { width: min(500px, calc(100vw - 42px)); }
    .website-gift-upsell { padding: 16px; }
}

@media (max-width: 767px) {
    .website-gift-confirm-modal {
        place-items: end center;
        padding: 0;
    }
    .website-gift-confirm-backdrop {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        background: rgba(38, 27, 30, .43);
    }
    .website-gift-confirm-sheet {
        width: 100%;
        max-height: min(82dvh, 620px);
        padding: 17px 15px calc(15px + env(safe-area-inset-bottom));
        border-width: 1px 0 0;
        border-radius: 23px 23px 0 0;
        box-shadow: 0 -14px 40px rgba(61, 36, 43, .18);
        transform: translateY(24px);
    }
    .website-gift-confirm-modal.is-open .website-gift-confirm-sheet { transform: translateY(0); }
    .website-gift-confirm-accent {
        inset: 0 50% auto;
        width: 42px;
        height: 4px;
        border-radius: 999px;
        transform: translateX(-50%);
        background: #e2c3cb;
    }
    .website-gift-confirm-close { top: 11px; right: 11px; width: 31px; height: 31px; font-size: 19px; }
    .website-gift-confirm-top { grid-template-columns: 37px minmax(0, 1fr); gap: 10px; padding-right: 27px; }
    .website-gift-confirm-icon { width: 37px; height: 37px; border-radius: 12px; }
    .website-gift-confirm-kicker { font-size: 8.5px; }
    .website-gift-confirm-top h3 { font-size: 15.5px; }
    .website-gift-confirm-top p { margin-top: 5px; font-size: 10.2px; line-height: 1.45; }
    .website-gift-confirm-product { grid-template-columns: 78px minmax(0,1fr); gap: 10px; margin-top: 13px; padding: 9px; border-radius: 15px; }
    .website-gift-confirm-media { border-radius: 12px; }
    .website-gift-confirm-product-copy > strong { font-size: 11.2px; }
    .website-gift-confirm-prices { margin-top: 5px; }
    .website-gift-confirm-prices del { font-size: 8.8px; }
    .website-gift-confirm-prices b { font-size: 13.5px; }
    .website-gift-confirm-product-copy > span { margin-top: 6px; font-size: 8.6px; }
    .website-gift-confirm-actions { gap: 8px; margin-top: 13px; }
    .website-gift-confirm-actions button { min-height: 41px; padding: 0 9px; font-size: 9.6px; }

    .website-gift-upsell-head { align-items: flex-start; }
    .website-gift-upsell-selected { border-radius: 13px; }
    .booking-confirmation-title { font-size: clamp(20px, 5.7vw, 24px); }
    .booking-confirmation-lead { max-width: 34em; font-size: 11.5px; line-height: 1.5; }
    .booking-confirmation-hero { padding: 14px; }
}

@media (max-width: 390px) {
    .website-gift-confirm-sheet { padding-inline: 13px; }
    .website-gift-confirm-top h3 { font-size: 15px; }
    .website-gift-confirm-product { grid-template-columns: 70px minmax(0,1fr); }
    .website-gift-confirm-actions { grid-template-columns: .75fr 1.25fr; }
    .booking-confirmation-title { font-size: 19px; }
    .booking-confirmation-lead { font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
    .website-gift-confirm-modal,
    .website-gift-confirm-sheet { transition: none; }
}


/* =========================================================


/* =========================================================
   V350 · SAFE DYNAMIC ROUTE LOADER
   Overlay only: never mutates/hides the V345 page layout.
   ========================================================= */
#dynamicRouteLoader {
  display:none;
  position:fixed;
  inset:0;
  z-index:2147482000;
  overflow:auto;
  background:#fffdfb;
  color:#4b342d;
}
html.dynamic-route-pending:not(.app-ready) #dynamicRouteLoader { display:block; }
html.dynamic-route-pending:not(.app-ready),
html.dynamic-route-pending:not(.app-ready) body { overflow:hidden; }
.dynamic-route-loader-inner {
  min-height:100svh;
  width:min(1180px,100%);
  margin:0 auto;
  padding:clamp(112px,13vw,150px) 20px 64px;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);
  gap:clamp(34px,6vw,76px);
  align-items:center;
}
.dynamic-route-loader-copy { min-width:0; }
.dynamic-route-loader-kicker {
  display:inline-flex; align-items:center; min-height:27px; padding:6px 11px;
  border:1px solid rgba(135,88,69,.10); border-radius:999px; background:#fff;
  font-size:10px; font-weight:800; letter-spacing:.11em; color:#875845; margin-bottom:20px;
}
.dynamic-route-skeleton-line,.dynamic-route-loader-pills span,.dynamic-route-loader-media,.dynamic-route-loader-products span {
  background:linear-gradient(100deg,#f1e7e1 18%,#fff8f4 40%,#f1e7e1 62%);
  background-size:220% 100%; animation:v350Skeleton 1.25s ease-in-out infinite;
}
.dynamic-route-skeleton-line { display:block; height:12px; border-radius:999px; margin-bottom:10px; }
.dynamic-route-skeleton-line.line-title { width:92%; height:46px; }
.dynamic-route-skeleton-line.line-title.short { width:68%; }
.dynamic-route-skeleton-line.line-copy { width:88%; margin-top:20px; }
.dynamic-route-skeleton-line.line-copy.medium { width:72%; margin-top:0; }
.dynamic-route-loader-pills { display:flex; gap:8px; margin-top:20px; }
.dynamic-route-loader-pills span { width:90px; height:28px; border-radius:999px; }
.dynamic-route-loader-pills span:nth-child(2){width:106px}.dynamic-route-loader-pills span:nth-child(3){width:80px}
.dynamic-route-loader-status { display:inline-flex; align-items:center; gap:8px; margin-top:24px; font-size:11px; font-weight:700; color:#765043; }
.dynamic-route-loader-spinner { width:14px; height:14px; border-radius:50%; border:2px solid rgba(135,88,69,.14); border-top-color:#c98793; animation:v350Spin .8s linear infinite; }
.dynamic-route-loader-media { min-height:500px; border-radius:30px 86px 30px 30px; position:relative; overflow:hidden; }
.dynamic-route-loader-media-mark { position:absolute; inset:auto 24px 24px auto; width:58px; height:58px; border-radius:20px; background:rgba(255,255,255,.78); display:grid; place-items:center; font-size:24px; }
.dynamic-route-loader-products { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:14px; }
.dynamic-route-loader-products span { height:9px; border-radius:999px; }
@keyframes v350Skeleton { 0%{background-position:100% 0}100%{background-position:-110% 0} }
@keyframes v350Spin { to{transform:rotate(360deg)} }
@media (max-width: 900px) {
  .dynamic-route-loader-inner { grid-template-columns:1fr 1fr; gap:24px; padding-top:128px; }
  .dynamic-route-loader-media { min-height:390px; }
}
@media (max-width: 640px) {
  .dynamic-route-loader-inner { min-height:100svh; grid-template-columns:1fr; padding:118px 16px 34px; gap:22px; align-content:center; }
  .dynamic-route-loader-kicker { margin-bottom:14px; font-size:8.5px; min-height:24px; }
  .dynamic-route-skeleton-line.line-title { height:29px; }
  .dynamic-route-skeleton-line.line-copy { margin-top:16px; height:9px; }
  .dynamic-route-loader-pills { margin-top:15px; gap:6px; }
  .dynamic-route-loader-pills span { height:24px; width:76px; }
  .dynamic-route-loader-pills span:nth-child(2){width:90px}.dynamic-route-loader-pills span:nth-child(3){width:68px}
  .dynamic-route-loader-status { margin-top:18px; font-size:10px; }
  .dynamic-route-loader-media { min-height:240px; border-radius:22px 56px 22px 22px; }
  .dynamic-route-loader-media-mark { width:46px; height:46px; border-radius:15px; right:16px; bottom:16px; font-size:20px; }
}
@media (prefers-reduced-motion: reduce) {
  .dynamic-route-skeleton-line,.dynamic-route-loader-pills span,.dynamic-route-loader-media,.dynamic-route-loader-products span,.dynamic-route-loader-spinner { animation:none !important; }
}

/* =========================================================
   V351 · HEADER SCALE REFERENCE = CUSTOMER V342
   - Preserve V350/V345 two-row geometry
   - Restore V342 logo/menu typography on mobile + tablet
   - One consistent pill radius for every header category
   - Mobile GPU polish: opaque header => no expensive backdrop blur
   ========================================================= */

/* Every header destination uses the same pill silhouette, including active routes. */
.header-inner .main-menu a,
.header-inner .main-menu a.is-active,
.home-route #menuHomes,
.calendar-route #menuCalendar,
.about-route #menuAbout,
.gift-basket-route #menuGiftBasket,
.header-inner .main-menu #menuGiftBasket.is-active {
    border-radius: 999px !important;
}
.header-inner .main-menu a.is-active::after {
    display: none !important;
    content: none !important;
}

/* Tablet sizing mirrors V342. Keep current desktop layout and dynamic Gift link. */
@media (min-width: 769px) and (max-width: 1100px) {
    .site-header {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        background: rgba(255,250,245,.98) !important;
    }
    .header-inner {
        height: 76px !important;
        gap: 14px !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
    .logo-wrap {
        padding: 6px 12px 6px 6px !important;
        gap: 10px !important;
    }
    .logo-mark { width: 48px !important; height: 48px !important; }
    .logo-wrap img { width: 40px !important; height: 40px !important; }
    .logo-text strong { font-size: 21px !important; }
    .logo-text span { font-size: 9.5px !important; }
    .main-menu { gap: 5px !important; padding: 6px !important; }
    .header-inner .main-menu a {
        min-height: 38px !important;
        height: 38px !important;
        padding: 0 10px !important;
        font-size: 14px !important;
        border-radius: 999px !important;
    }
}

/* Mobile remains two rows, but visual scale comes directly from V342. */
@media (max-width: 768px) {
    .site-header {
        background: rgba(255,250,245,.985) !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }
    .header-inner {
        min-height: 112px !important;
        padding: 8px 10px 9px !important;
        gap: 8px !important;
    }
    .logo-wrap {
        align-self: center !important;
        flex: 0 0 auto !important;
        height: 56px !important;
        min-height: 56px !important;
        padding: 6px 13px 6px 6px !important;
        gap: 10px !important;
        border-radius: 999px !important;
    }
    .logo-mark { width: 44px !important; height: 44px !important; }
    .logo-wrap img { width: 37px !important; height: 37px !important; }
    .logo-text { display: flex !important; }
    .logo-text strong {
        display: block !important;
        font-size: 20px !important;
        line-height: 1 !important;
        letter-spacing: -.45px !important;
    }
    .logo-text span {
        display: block !important;
        margin-top: 4px !important;
        font-size: 9.5px !important;
        line-height: 1 !important;
    }
    .main-menu {
        width: 100% !important;
        height: 38px !important;
        display: grid !important;
        grid-template-columns: repeat(4,minmax(0,1fr)) !important;
        align-items: stretch !important;
        gap: 6px !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }
    .header-inner .main-menu a {
        width: 100% !important;
        min-width: 0 !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 5px !important;
        gap: 3px !important;
        border-radius: 999px !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        background: rgba(255,255,255,.84) !important;
        border: 1px solid rgba(135,88,69,.10) !important;
        box-shadow: 0 5px 14px rgba(87,53,38,.05) !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }
    .header-inner .main-menu a > span:not(.menu-ico),
    #menuGiftBasketLabel {
        min-width: 0 !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }
    .header-inner .main-menu a .menu-ico { font-size: 12px !important; }
    .home-route:not(.contact-route) #menuHomes,
    .calendar-route:not(.contact-route) #menuCalendar,
    .about-route:not(.contact-route) #menuAbout,
    .gift-basket-route:not(.contact-route) #menuGiftBasket,
    .contact-route #menuContact,
    .header-inner .main-menu a.is-active {
        border-color: transparent !important;
    }
    #menuContact, .call-btn { display: none !important; }

    /* No hover transforms on coarse pointers: avoids needless compositing/repaint. */
    .logo-wrap:hover,
    .header-inner .main-menu a:hover {
        transform: none !important;
    }
}

/* V342 phone typography: 20px brand; 12.5px navigation on narrow phones. */
@media (max-width: 430px) {
    .header-inner {
        min-height: 108px !important;
        padding: 7px 8px 8px !important;
        gap: 7px !important;
    }
    .logo-wrap {
        height: 54px !important;
        min-height: 54px !important;
    }
    .logo-mark { width: 44px !important; height: 44px !important; }
    .logo-wrap img { width: 37px !important; height: 37px !important; }
    .logo-text strong { font-size: 20px !important; }
    .logo-text span { font-size: 9.5px !important; }
    .main-menu { height: 38px !important; gap: 4px !important; }
    .header-inner .main-menu a {
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 3px !important;
        font-size: 12.5px !important;
        border-radius: 999px !important;
    }
    .header-inner .main-menu .gift-basket-menu-link .menu-ico { display: none !important; }
}
@media (max-width: 390px) {
    .logo-text span { display: none !important; }
    .logo-text strong { font-size: 20px !important; }
    .header-inner .main-menu a { font-size: 12.5px !important; padding: 0 2px !important; }
}
@media (max-width: 350px) {
    .header-inner { padding-left: 5px !important; padding-right: 5px !important; }
    .main-menu { gap: 3px !important; }
    .header-inner .main-menu a { font-size: 11.8px !important; letter-spacing: -.2px !important; }
}

/* Emotional cue for the booking upsell: persuasive but still calm / optional. */
.website-gift-upsell-emotion {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    max-width: 100%;
    margin-top: 9px;
    padding: 7px 10px;
    border-radius: 999px;
    color: #9b5365;
    background: linear-gradient(135deg, rgba(255,235,240,.92), rgba(255,247,238,.92));
    border: 1px solid rgba(190,92,116,.13);
    font-size: 11px;
    font-weight: 750;
    line-height: 1.35;
}
.website-gift-upsell-emotion i {
    flex: 0 0 auto;
    color: #c6677d;
    font-size: 10px;
}
@media (max-width: 768px) {
    .website-gift-upsell-emotion {
        margin-top: 8px;
        padding: 7px 9px;
        border-radius: 14px;
        font-size: 10.5px;
    }
}



/* =========================================================
 * V356 · Customer check-in / checkout code presentation
 * Backend can share one passcode; UI keeps two clear moments.
 * ======================================================= */
.customer-door-code-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.customer-door-code-grid .ttlock-passcode-card {
    min-height: 100%;
}
.customer-door-code-grid .ttlock-passcode-card.checkin {
    border-color: rgba(34, 197, 94, .16);
    background:
        radial-gradient(circle at 100% 0%, rgba(34, 197, 94, .08), transparent 34%),
        linear-gradient(180deg, rgba(245, 253, 248, .99), rgba(255, 255, 255, .98));
}
.customer-door-code-grid .ttlock-passcode-card.checkout {
    border-color: rgba(217, 119, 6, .16);
    background:
        radial-gradient(circle at 100% 0%, rgba(245, 158, 11, .08), transparent 34%),
        linear-gradient(180deg, rgba(255, 249, 239, .99), rgba(255, 255, 255, .98));
}
.customer-door-code-grid .ttlock-passcode-label {
    font-size: 13.5px;
}
.customer-door-code-grid .ttlock-passcode-validity strong {
    font-size: 11.5px;
}
.ttlock-loading-copy .ttlock-wait-meta {
    margin-top: 7px;
}
@media (max-width: 820px) {
    .customer-door-code-grid { gap: 10px; }
    .customer-door-code-grid .ttlock-passcode-card { padding: 13px; }
}
@media (max-width: 620px) {
    .customer-door-code-grid { grid-template-columns: 1fr; gap: 9px; }
    .customer-door-code-grid .ttlock-passcode-card { padding: 12px; }
    .customer-door-code-grid .ttlock-passcode-top { margin-bottom: 9px; }
    .customer-door-code-grid .ttlock-passcode-code-row { margin-bottom: 9px; }
    .customer-door-code-grid .ttlock-passcode-code { min-height: 46px; }
}

/* V358 · Booking confirmation: room access + Wi-Fi after door codes */
.booking-confirmation-page .booking-room-access-card {
    position: relative;
    overflow: hidden;
    padding: 22px;
    border: 1px solid #e4e4e4;
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0, rgba(0, 138, 5, .07), transparent 34%),
        #ffffff;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .055);
}
.booking-room-access-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 15px;
}
.booking-room-access-title-wrap {
    min-width: 0;
}
.booking-room-access-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #008a05;
    font-size: 10.5px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .11em;
}
.booking-room-access-title {
    margin: 6px 0 0;
    color: #222222;
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 850;
    line-height: 1.25;
    letter-spacing: -.015em;
}
.booking-room-access-home-pill {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 29px;
    padding: 5px 10px;
    border: 1px solid rgba(0, 138, 5, .16);
    border-radius: 999px;
    background: #eefaf0;
    color: #087b0d;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .03em;
}
.booking-room-access-content {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(245px, .85fr);
    gap: 12px;
    align-items: stretch;
}
.booking-room-access-content.wifi-only {
    grid-template-columns: minmax(0, 1fr);
}
.booking-room-access-route,
.booking-room-access-wifi {
    min-width: 0;
    border: 1px solid #ededed;
    border-radius: 17px;
    background: #fafafa;
}
.booking-room-access-route {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px 15px;
}
.booking-room-access-route-icon,
.booking-room-access-wifi-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 13px;
    background: #ffffff;
    color: #e31c5f;
    box-shadow: 0 5px 16px rgba(0, 0, 0, .07);
}
.booking-room-access-route-copy p {
    margin: 0;
    color: #666666;
    font-size: 13px;
    line-height: 1.5;
}
.booking-room-access-route-copy .booking-room-access-direction {
    margin-top: 5px;
    color: #292929;
    font-weight: 760;
}
.booking-room-access-direction > span {
    color: #e31c5f;
    font-weight: 950;
}
.booking-room-access-wifi {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px 12px;
    align-content: center;
    padding: 13px 14px;
    background: linear-gradient(135deg, #f7fbff, #ffffff);
}
.booking-room-access-wifi-icon {
    grid-row: 1 / span 2;
    color: #2463eb;
    background: #ffffff;
}
.booking-room-access-wifi-name,
.booking-room-access-wifi-pass {
    min-width: 0;
}
.booking-room-access-wifi-name > span,
.booking-room-access-wifi-pass > span {
    display: block;
    margin-bottom: 2px;
    color: #7a7a7a;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.booking-room-access-wifi-name strong {
    display: block;
    overflow: hidden;
    color: #222222;
    font-size: 12.5px;
    font-weight: 850;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.booking-room-access-wifi-pass {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32px;
    column-gap: 6px;
    align-items: center;
}
.booking-room-access-wifi-pass > span {
    grid-column: 1 / -1;
}
.booking-room-access-wifi-pass code {
    overflow: hidden;
    color: #1649a7;
    font-family: inherit;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.booking-room-access-wifi-pass button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #dce5f6;
    border-radius: 10px;
    background: #ffffff;
    color: #2463eb;
    cursor: pointer;
}
.booking-room-access-wifi-pass button:hover {
    background: #f0f5ff;
}
@media (max-width: 1024px) {
    .booking-room-access-content {
        grid-template-columns: minmax(0, 1.35fr) minmax(220px, .85fr);
    }
}
@media (max-width: 720px) {
    .booking-confirmation-page .booking-room-access-card {
        padding: 16px;
        border-radius: 18px;
    }
    .booking-room-access-head {
        align-items: center;
        gap: 10px;
        margin-bottom: 11px;
    }
    .booking-room-access-eyebrow {
        font-size: 9.5px;
    }
    .booking-room-access-title {
        margin-top: 4px;
        font-size: 17px;
    }
    .booking-room-access-home-pill {
        min-height: 26px;
        padding: 4px 8px;
        font-size: 10px;
    }
    .booking-room-access-content {
        grid-template-columns: minmax(0, 1fr);
        gap: 9px;
    }
    .booking-room-access-route {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 10px;
        padding: 11px 12px;
        border-radius: 14px;
    }
    .booking-room-access-route-icon {
        width: 34px;
        height: 34px;
        border-radius: 11px;
        font-size: 13px;
    }
    .booking-room-access-route-copy p {
        font-size: 12.25px;
        line-height: 1.45;
    }
    .booking-room-access-route-copy .booking-room-access-direction {
        margin-top: 3px;
    }
    .booking-room-access-wifi {
        grid-template-columns: 32px minmax(0, 1.2fr) minmax(92px, .8fr);
        gap: 8px 10px;
        align-items: center;
        padding: 10px 11px;
        border-radius: 14px;
    }
    .booking-room-access-wifi-icon {
        grid-row: auto;
        width: 32px;
        height: 32px;
        border-radius: 10px;
        font-size: 12px;
    }
    .booking-room-access-wifi-name > span,
    .booking-room-access-wifi-pass > span {
        font-size: 9px;
    }
    .booking-room-access-wifi-name strong,
    .booking-room-access-wifi-pass code {
        font-size: 11.5px;
    }
    .booking-room-access-wifi-pass {
        grid-template-columns: minmax(0, 1fr) 28px;
        column-gap: 4px;
    }
    .booking-room-access-wifi-pass button {
        width: 28px;
        height: 28px;
        border-radius: 9px;
        font-size: 11px;
    }
}
@media (max-width: 390px) {
    .booking-room-access-wifi {
        grid-template-columns: 30px minmax(0, 1fr) auto;
        gap: 7px;
        padding: 9px 10px;
    }
    .booking-room-access-wifi-icon {
        width: 30px;
        height: 30px;
    }
    .booking-room-access-wifi-name strong {
        max-width: 138px;
    }
}
