
/* ដើម្បីឱ្យពេលភ្ញៀវចុចលើ Menu ហើយវាអូសចុះមកក្រោមតិចៗ (មិនលោតឌឹប) */
html {
    scroll-behavior: smooth;
}
/* ពណ៌មូលដ្ឋាន និងការកំណត់ទូទៅ */
:root {
    --booking-blue: #003580;
    --booking-light-blue: #006ce4;
}

/* Card នីមួយៗ */
.room-card-link {
    text-decoration: none;
    /* ដកបន្ទាត់ពីក្រោមអក្សរ */
    display: block;
}

.room-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* ផ្នែករូបភាព */
.room-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.room-info {
    padding: 20px;
    flex-grow: 1;
    /* ឱ្យផ្នែកនេះរីកធំដើម្បីបំពេញចន្លោះទំនេរ */
    display: flex;
    flex-direction: column;
}

.room-info h3 {
    margin: 0 0 10px 0;
    font-size: 18px;
    color: #003580;
    /* បច្ចេកទេសកាត់អក្សរត្រឹម ២ ជួរ */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 2.6em;
    /* កម្ពស់ថេរសម្រាប់អក្សរ ២ ជួរ */
}

.room-info h4 {
    margin: 0 0 10px 0;
    font-size: 18px;
    color: #0462e6;
    text-transform: uppercase;
    /* បច្ចេកទេសកាត់អក្សរត្រឹម ២ ជួរ */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 2.6em;
}

.room-info .location {
    color: #888;
    font-size: 14px;
    margin-bottom: 15px;
}

/* ផ្នែកតម្លៃនៅខាងក្រោមបង្អស់ */
.price-section {
    margin-top: auto;
    /* រុញតម្លៃឱ្យនៅបាត Card ជានិច្ច */
    text-align: right;
}

.old-price {
    text-decoration: line-through;
    color: #ff4d4f;
    font-size: 14px;
}

.current-price {
    color: #003580;
    font-size: 20px;
    font-weight: bold;
    display: block;
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: #444;
    background-color: #f9f9f9;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    box-sizing: border-box;
}

.main-header {
    background-color: #003580;
    color: white;
    width: 100%;
    z-index: 1000;
    padding-bottom: 10px;
}

.header-top .container {
    justify-content: flex-start !important; /* បង្ខំឱ្យ Logo នៅឆ្វេងបំផុត */
    padding: 15px 20px;
}

.logo a {
    color: white;
    text-decoration: none;
    font-size: 24px;
    font-weight: bold;
}

.user-actions {
    display: flex;
    align-items: center;
    gap: 20px;
}

.user-actions a, .user-actions span {
    color: white;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}

.btn-light {
    background: white;
    color: var(--booking-light-blue) !important;
    padding: 8px 16px;
    border-radius: 4px;
}

.btn-light:hover {
    background: #f2f2f2;
}

.btn-booking:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    opacity: 0.9;
}

.btn-outline {
    display: inline-block;
    padding: 10px 40px;
    border: 1px solid var(--booking-blue);
    color: var(--booking-blue);
    text-decoration: none;
    border-radius: 4px;
    font-weight: 500;
    transition: 0.3s;
}
.btn-outline:hover { background: #f0f6ff; }
.view-all-container { text-align: center; margin-top: 30px; }
.price-label { color: #666; font-size: 14px; display: block; }
.offer-badge { background:#ff4d4f; color:#fff; padding:4px 12px; border-radius:4px; font-size:11px; width:fit-content; font-weight:bold; }

/* Header ផ្នែកម៉ឺនុយ (Navigation) */
.header-nav {
    margin-top: 10px;
}

.nav-list {
    list-style: none;
    display: flex;
    padding: 0;
    margin: 0;
    width: 100%;
    /* ឱ្យវាប្រើទំហំពេញ container */
    align-items: center;
}

.nav-list li a {
    color: white;
    text-decoration: none;
    padding: 10px 15px;
    border-radius: 20px;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid transparent;
}

/* ម៉ឺនុយដែលកំពុងជ្រើសរើស (Active) */
.nav-list li.active a {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid white;
}

.nav-list li a:hover {
    background: rgba(255, 255, 255, 0.1);
}

.flag img {
    width: 20px;
    height: auto;
    border-radius: 2px;
}



.homes-section {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 15px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.discover-link {
    color: #006ce4;
    text-decoration: none;
    font-weight: 500;
}




.truncate-single-line {
    white-space: nowrap;
    /* Prevents text from wrapping to the next line */
    overflow: hidden;
    /* Hides the text that overflows the container */
    text-overflow: ellipsis;
    /* Adds the '...' at the end */
    display: block;
    /* Ensures the element behaves like a block */
    max-width: 100%;
    /* Limits width to the container */
}

.location {
    font-size: 13px;
    color: #666;
    margin-bottom: 10px;
}

/* ការរៀបចំ Rating */
.rating-container {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 15px;
}

.rating-box {
    background: #003580;
    color: white;
    font-weight: bold;
    padding: 4px 6px;
    border-radius: 5px 5px 5px 0;
    font-size: 13px;
}

.rating-details {
    display: flex;
    flex-direction: column;
    font-size: 12px;
}

/* តម្លៃ */
.price-section {
    text-align: right;
    font-size: 14px;
}

.price-section strong {
    font-size: 16px;
}



/* Container មេ */
.offers-container {
    max-width: 1200px;
    margin: 50px auto;
    padding: 0 20px;
}

.offer-card {
        display: flex;
        background: #fff;
        border-radius: 15px;
        overflow: hidden;
        box-shadow: 0 10px 25px rgba(0,0,0,0.08);
        margin-top: 30px;
        border: 1px solid #eee;
    }

    .offer-content {
        flex: 1.5; 
        padding: 40px;
    }

    /* កំណត់ឱ្យប្រអប់រូបភាពមានទំហំច្បាស់លាស់ */
    .offer-image {
        flex: 1;
        width: 100%;
        min-height: 220px; /* កម្ពស់នេះអ្នកអាចសារ៉េតាមចិត្ត */
        display: flex;
    }

    /* បង្ខំឱ្យរូបភាព Fit ក្នុងប្រអប់ */
    .offer-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;    /* រក្សា Ratio រូបភាពឱ្យនៅស្អាត និងពេញប្រអប់ */
        object-position: center; /* ឱ្យរូបភាពនៅចំកណ្តាលជានិច្ច */
        display: block;
    }

    @media (max-width: 768px) {
        .offer-card { flex-direction: column-reverse; }
        .offer-image { min-height: 250px; }
    }

.deals-section { max-width: 1200px; margin: 40px auto; padding: 0 20px; }

.deals-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.deal-card {
    border: 1px solid #e7e7e7;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.2s;
}

.image-container { position: relative; height: 200px; }
.image-container img { width: 100%; height: 100%; object-fit: cover; }

.wishlist-btn {
    position: absolute; top: 10px; right: 10px;
    background: white; border-radius: 50%; border: none;
    width: 30px; height: 30px; cursor: pointer;
}

.deal-info { padding: 12px; }

.genius-badge { 
    background: #003580; color: #fff; 
    font-size: 10px; padding: 2px 6px; border-radius: 3px;
}

.deal-info h3 { font-size: 16px; margin: 8px 0 4px; }
.loc { font-size: 12px; color: #666; margin-bottom: 10px; }

/* Rating Box Style */
.rating-row { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.score { 
    background: #003580; color: #fff; 
    padding: 4px 8px; border-radius: 5px 5px 5px 0; font-weight: bold; 
}
.rating-text { font-size: 12px; display: flex; flex-direction: column; }

/* Promo Badges (Green) */
.promo-badge {
    background: #008009; color: white;
    font-size: 11px; padding: 4px 8px;
    border-radius: 4px; display: inline-block; margin-bottom: 10px;
}

/* Price Alignment */
.price-box { text-align: right; }
.nights { font-size: 11px; color: #666; display: block; }
.old-price { text-decoration: line-through; color: #d4111e; font-size: 12px; }
.new-price { font-weight: bold; font-size: 16px; display: block; }


.trending-container {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 15px;
}

.header-text h2 { font-size: 24px; margin-bottom: 5px; }
.header-text p { color: #666; margin-bottom: 20px; }

/* រៀបចំ Grid */
.destination-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr); /* បែងចែកជា ៦ ចំណែក */
    gap: 15px;
}

/* រូបភាព ២ ខាងលើ (រូបធំ) - យកម្នាក់ ៣ ចំណែក */
.big-card {
    grid-column: span 3;
    height: 280px;
}

/* រូបភាព ៣ ខាងក្រោម (រូបតូច) - យកម្នាក់ ២ ចំណែក */
.small-card {
    grid-column: span 2;
    height: 220px;
}

.dest-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    display: block;
    text-decoration: none;
}

.dest-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

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

/* បង្កើតស្រមោលខ្មៅពីលើរូបភាពដើម្បីឱ្យអក្សរច្បាស់ */
.overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.4) 0%, rgba(0,0,0,0) 40%);
    padding: 20px;
}

.overlay h3 {
    color: white;
    margin: 0;
    font-size: 22px;
    display: flex;
    align-items: center;
    gap: 8px;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.5);
}

.flag {
    width: 25px !important;
    height: auto !important;
    border-radius: 2px;
}





.main-footer {
    background-color: #f5f5f5; /* ពណ៌ប្រផេះស្រាលដូចក្នុងរូបភាព */
    padding: 40px 0;
    font-family: Arial, sans-serif;
    color: #444;
    border-top: 1px solid #e7e7e7;
}

.footer-container {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center; /* ដាក់គ្រប់យ៉ាងនៅកណ្តាល */
}

/* ស្ទីលសម្រាប់អត្ថបទ */
.footer-copyright {
    margin-bottom: 30px;
}

.footer-copyright p {
    font-size: 13px;
    margin: 5px 0;
    line-height: 1.5;
}

/* ស្ទីលសម្រាប់ Logo ដៃគូ */
.partner-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px; /* ចន្លោះរវាង Logo នីមួយៗ */
    flex-wrap: wrap; /* ឱ្យវាចុះបន្ទាត់បើអេក្រង់តូច */
}

.partner-img {
    height: 24px; /* កំណត់កម្ពស់ឱ្យស្មើគ្នា */
    width: auto;
    opacity: 0.8; /* ឱ្យវាមានពណ៌រាងស្រាលបន្តិច */
    filter: grayscale(0%); /* រក្សាពណ៌ដើម ឬប្តូរជា grayscale(100%) បើចង់បានពណ៌សខ្មៅ */
    transition: opacity 0.3s;
}

.partner-img:hover {
    opacity: 1; /* ភ្លឺច្បាស់ពេល Hover */
}

    /* បន្ថយទំហំអក្សរចំណងជើងបន្តិចដើម្បីឱ្យសមនឹង Card តូច */
    .room-info h4,
    .room-card h4 {
        font-size: 14px;
        height: 2.8em;
    }

    /* បន្ថយកម្ពស់រូបភាពបន្តិច កុំឱ្យ Card វែងពេក */
    .room-image img,
    .room-card img {
        height: 150px;
    }

    .current-price {
        font-size: 16px;
    }


.package-name {
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
    /* From our first step: Keeps title to one line */
    overflow: hidden;
    text-overflow: ellipsis;
    display: flex;
    align-items: center;
    gap: 8px;
}

.mini-flag {
    width: 20px;
    height: auto;
    border-radius: 2px;
}

.package-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    /* The frame shadow we added */
}

/* ១. ការកំណត់លើ Card ទាំងមូល (រៀបរយ និងមាន Hover effect) */
.dest-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    height: 100%;
}

.dest-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.3);
}

.dest-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ២. Overlay ខ្មៅស្រាល ដើម្បីឱ្យអក្សរសមើលឃើញច្បាស់ ( gradient ពីខ្មៅទៅថ្លា) */
.overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 15px;
    /* ខ្មៅខ្លាំងនៅខាងក្រោម ដើម្បីអានតម្លៃដាច់ */
    background: linear-gradient(to top, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0) 100%);
    z-index: 2;
}

/* ៣. អក្សរចំណងជើង និងតម្លៃ (ពណ៌ស និងមានស្រមោល) */
.overlay h3 {
    margin: 0;
    color: white;
    font-size: 18px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

.price-text {
    color: #ffffff !important;
    margin-top: 5px;
    font-weight: 700;
    font-size: 16px;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
}

/* ៤. Badges (Alert & Sale) */
.new-post-alert {
    background-color: #ff0000;
    color: #ffffff;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 900;
    display: inline-block;
    margin-bottom: 8px;
    width: fit-content;
    z-index: 3;
    animation: pulse-red 2s infinite;
}

.sale-badge {
    background-color: #ffcc00;
    color: #000000;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 800;
    display: inline-block;
    margin-bottom: 8px;
    width: fit-content;
    z-index: 3;
}

/* ៥. Stretched Link (បច្ចេកទេសធ្វើឱ្យចុចបានពេញ card) */
.stretched-link::after {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    z-index: 5;
    content: "";
}

/* ៦. Animation សម្រាប់ New Posting (ញាក់ៗឱ្យភ្ញៀវចាប់អារម្មណ៍) */
@keyframes pulse-red {
    0% { opacity: 1; }
    50% { opacity: 0.7; }
    100% { opacity: 1; }
}


/* Container សម្រាប់ប៊ូតុងអណ្តែត */
.floating-chat-container {
    position: fixed;
    bottom: 30px;
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    z-index: 9999;
}

/* ស្ទីលរួមសម្រាប់ប៊ូតុងនីមួយៗ */
.chat-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    text-decoration: none;
    font-size: 24px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
}

/* ពណ៌តាម App នីមួយៗ */
.whatsapp { background-color: #25D366; }
.telegram { background-color: #0088cc; }
.wechat   { background-color: #09BB07; }

/* Hover Effect */
.chat-btn:hover {
    transform: scale(1.1) translateX(-5px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.3);
}

/* ចលនាសម្រាប់ប៊ូតុង WhatsApp ឱ្យញាក់តិចៗ */
.whatsapp {
    animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
    0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7); }
    70% { box-shadow: 0 0 0 15px rgba(37, 211, 102, 0); }
    100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}


/* CSS សម្រាប់ admin page */
.sidebar {
    width: 260px;
    background: #001529; /* ពណ៌ខ្មៅរលោងបែប Premium */
    height: 100vh;
    position: fixed;
    padding: 20px;
    color: white;
}

.admin-nav a {
    display: block;
    color: #a6adb4;
    text-decoration: none;
    padding: 12px 15px;
    border-radius: 8px;
    margin-bottom: 5px;
    transition: all 0.3s;
}

.admin-nav a:hover, .admin-nav a.active {
    background: #1890ff; /* ពណ៌ខៀវភ្លឺ */
    color: white;
}

.admin-nav a i {
    margin-right: 10px;
    width: 20px;
}

.rooms-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    /* កែពី 160px មក 280px ឱ្យសមរម្យ */
    gap: 25px;
    align-items: stretch;
    /* បង្ខំឱ្យ Card កម្ពស់ស្មើគ្នាជានិច្ច */
}

.room-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    /* រុញកម្ពស់ឱ្យពេញ */
    transition: 0.3s;
    border: 1px solid #eee;
    text-decoration: none;
    /* ជំនួសឱ្យ room-card-link */
}

/* ផ្នែកព័ត៌មានក្នុង Card */
.room-card .card-content {
    padding: 15px;
    flex-grow: 1;
    /* ឱ្យផ្នែកនេះរីកធំដើម្បីបំពេញចន្លោះទំនេរ */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* កំណត់ចំណងជើងឱ្យមានកម្ពស់ថេរ និងកាត់អក្សរដែលលើស (Line Clamp) */
.room-card h4 {
    margin: 0 0 10px 0;
    font-size: 18px;
    line-height: 1.4;
    color: #333;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    /* កំណត់ឱ្យបង្ហាញត្រឹម 2 ជួរ បើលើសវានឹងដាក់សញ្ញា ... */
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 2.8em;
    /* កំណត់កម្ពស់ឱ្យថេរស្មើនឹងអក្សរ 2 ជួរ */
}

.room-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

/* Responsive សម្រាប់ Tablet និង Mobile */
@media (max-width: 992px) {
    .rooms-grid {
        grid-template-columns: repeat(2, 1fr);
        /* Tablet ចេញ ២ */
        gap: 15px;
        /* បន្ថយចន្លោះបន្តិចដើម្បីកុំឱ្យចង្អៀត */
    }
}

@media (max-width: 600px) {
    .rooms-grid {
        grid-template-columns: repeat(2, 1fr);
        /* Mobile ក៏ចេញ ២ ដែរ */
        gap: 10px;
        /* ចន្លោះតូចជាងមុនបន្តិចសម្រាប់អេក្រង់ទូរស័ព្ទ */
        padding: 10px;
        /* បន្ថែមគម្លាតសងខាងបន្តិច */
    }
}

/* --- Why Choose Us Section --- */
.features-section {
    padding: 60px 0;
    background-color: #ffffff;
    border-bottom: 1px solid #eee;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    width: 100%;
}

.feature-item {
    text-align: center;
    padding: 20px;
    transition: transform 0.3s ease;
}

.feature-item:hover {
    transform: translateY(-5px);
}

.feature-icon {
    font-size: 40px;
    color: #003580;
    /* ពណ៌ខៀវដូច Header បង */
    margin-bottom: 20px;
}

.feature-item h3 {
    font-size: 20px;
    color: #333;
    margin-bottom: 15px;
    font-weight: bold;
}

.feature-item p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
}

/* បន្ថែមក្នុង style.css បើបងចង់បានរង្វង់ពីក្រោយ Icon */
.feature-icon {
    width: 80px;
    height: 80px;
    background: #f0f6ff;
    /* ពណ៌ខៀវខ្ចីបំផុត */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 20px;
    color: #003580;
    font-size: 32px;
}

/* --- Testimonials: ចំណងជើង ១ ចំណែក Widget ៤ ចំណែក --- */
.testimonials-section {
    padding: 80px 0;
    background-color: #f0f6ff;
}

.testimonials-flex-container {
    display: flex;
    align-items: center;
    /* ឱ្យអក្សរនៅចំកណ្តាលកម្ពស់ Widget */
    gap: 30px;
}

.testimonial-intro {
    flex: 1;
    /* យកទំហំ ១ ភាគ */
    text-align: left;
}

.testimonial-display {
    flex: 4;
    /* យកទំហំ ៤ ភាគ (ធំខ្លាំង) */
    min-width: 0;
    /* បង្ការកុំឱ្យ Widget រុញ Layout ឱ្យហៀរ */
}

.testimonial-intro h2 {
    color: #003580;
    font-size: 28px;
    margin-bottom: 10px;
    line-height: 1.2;
}

/* សម្រាប់អេក្រង់ទូរស័ព្ទ៖ ឱ្យវាធ្លាក់មកនៅម្នាក់មួយជួរវិញដើម្បីកុំឱ្យចង្អៀត */
@media (max-width: 992px) {
    .testimonials-flex-container {
        flex-direction: column;
        text-align: center;
    }

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

/* --- Search Bar ឱ្យស្មើជួរជាមួយ Menu --- */
.search-section {
    position: relative;
    margin-top: -45px;
    /* រុញឱ្យអណ្តែតលើផ្នែកខាងក្រោម */
    z-index: 100;
    width: 100%;
}

.search-section .container {
    /* កំណត់ឱ្យស្មើនឹងទំហំ Menu/Header របស់បង */
    max-width: 1200px !important;
    margin: 0 auto;
    padding: 0 20px;
    display: block;
    /* ប្តូរពី flex មក block វិញដើម្បីឱ្យ wrapper ដើរតួជាអ្នករៀបជួរ */
}

.search-wrapper {
    background: #ffffff;
    padding: 20px 30px;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: flex-end;
    gap: 15px;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #f0f0f0;
}

.search-group {
    flex: 1;
    /* ឱ្យប្រអប់ input នីមួយៗចែកទំហំគ្នាស្មើៗក្នុង ១២០០ភិចសែល */
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.search-group label {
    font-size: 14px;
    font-weight: 600;
    color: #444;
}

.search-input {
    width: 100%;
    padding: 12px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    font-size: 15px;
    outline: none;
}

.search-action {
    /* កំណត់ទំហំប៊ូតុងកុំឱ្យវែងពេក */
    min-width: 150px;
}

.btn-search-main {
    width: 100%;
    background-color: #3b82f6;
    color: white;
    padding: 12px;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

.btn-search-main:hover {
    background-color: #2563eb;
}

/* សម្រាប់អេក្រង់ Mobile */
@media (max-width: 992px) {
    .search-wrapper {
        flex-direction: column;
        align-items: stretch;
    }

    .search-section {
        margin-top: 20px;
    }
}


/* បង្ខំឱ្យ Container ក្នុងទំព័រ Search រៀបជួរពីលើចុះក្រោម */
.results-page-container .container {
    display: block !important;
}

/* ផ្នែកចំណងជើង និងថ្ងៃខែឱ្យនៅខាងលើគេបង្អស់ */
.page-title-area {
    width: 100%;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ddd;
    display: block;
    /* បង្ខំឱ្យវាដាច់ដោយឡែកពី Card បន្ទប់ */
}

.page-title-area h2 {
    color: #003580;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 8px;
}

.search-summary {
    font-size: 15px;
    color: #555;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* --- Today's Update Layout (New & Fixed) --- */
.trending-container {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 15px;
}

/* ប្តូរពី Grid មកជា Flex ដើម្បីងាយស្រួលតម្រៀបលើក្រោម */
.today-update-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ប្រអប់ Slideshow ធំវែង */
.big-wide-card {
    width: 100%;
    height: 450px;
    /* កម្ពស់រូបធំវែង */
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* ប្រអប់តូចៗ ៣ នៅខាងក្រោម */
.bottom-small-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.small-flat-card {
    height: 250px;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
}

/* ដក Overlay ខ្មៅចេញពី Slideshow ដើម្បីឱ្យឃើញរូបច្បាស់ */
.pool-slide .no-overlay {
    background: none !important;
}

/* Slideshow Animation */
.pool-slide {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    display: none;
}

.pool-slide.active {
    opacity: 1;
    display: block;
}

.pool-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ប៊ូតុងឆ្វេងស្តាំ */
.slide-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 53, 128, 0.5);
    color: white;
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    transition: 0.3s;
}

.slide-btn:hover {
    background: #003580;
}

.slide-btn.next {
    right: 20px;
}

.slide-btn.prev {
    left: 20px;
}

/* Responsive សម្រាប់ទូរស័ព្ទ */
@media (max-width: 768px) {
    .big-wide-card {
        height: 280px;
    }

    .bottom-small-grid {
        grid-template-columns: 1fr;
    }

    /* ចេញតែមួយជួរវិញលើទូរស័ព្ទ */
}