:root {
    --primary-color: #1d1d1f;
    --text-color: #1d1d1f;
    --text-secondary: #86868b;
    --bg-color: #ffffff;
    --bg-gray: #f5f5f7;
    --border-color: #d2d2d7;
    --nav-height: 48px;
    --border-radius: 18px;
    --transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* WeChat & iOS Compatibility Reset */
* {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
}

/* Enhanced Mobile Reset for WeChat */
button, input, select, textarea {
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    border: none;
    background: transparent;
    font-family: inherit;
}

/* Flexbox collapsing fix */
.flex-child-fix {
    min-width: 0;
}

body {
    -webkit-text-size-adjust: 100%;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-family);
    color: var(--text-color);
    background-color: var(--bg-color);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    display: block;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.section {
    padding: 100px 0;
}

.bg-gray {
    background-color: var(--bg-gray);
}

.section-title {
    font-size: 40px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 60px;
    letter-spacing: -0.015em;
}

.btn {
    display: inline-block;
    padding: 12px 24px;
    border-radius: 980px;
    font-size: 17px;
    font-weight: 400;
    cursor: pointer;
    transition: var(--transition);
    text-align: center;
}

.btn-primary {
    background-color: var(--primary-color);
    color: white;
}

.btn-primary:hover {
    background-color: #000000;
    transform: scale(1.02);
}

.btn-link {
    color: var(--primary-color); /* Hero link should be dark on light bg */
    background: transparent;
}

.btn-link:hover {
    text-decoration: underline;
}

.btn-block {
    display: block;
    width: 100%;
}

/* Header */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--nav-height);
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    z-index: 1000;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.header-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    height: 100%;
}

.logo {
    font-weight: 600;
    font-size: 18px;
    letter-spacing: -0.01em;
}

.nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 30px;
}

.nav-list a {
    font-size: 12px;
    color: var(--text-color);
    opacity: 0.8;
}

.nav-list a:hover {
    opacity: 1;
    color: var(--primary-color);
}

/* Language Switcher */
.lang-switch {
    display: flex;
    align-items: center;
    margin-left: 30px;
    font-size: 12px;
}

.lang-link {
    color: var(--text-color);
    opacity: 0.8;
    font-weight: 500;
    transition: opacity 0.2s;
}

.lang-link:hover {
    opacity: 1;
    color: var(--primary-color);
}

.lang-divider {
    margin: 0 8px;
    color: #d2d2d7;
}

.mobile-lang-switch {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #f5f5f7;
    display: flex;
    align-items: center;
    gap: 15px;
}

.mobile-lang-switch a {
    font-size: 16px;
    font-weight: 500;
    color: var(--text-secondary);
}

.mobile-lang-switch .divider {
    color: #d2d2d7;
}

@media (max-width: 768px) {
    .desktop-only {
        display: none;
    }
}

.menu-toggle {
    display: none;
    flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    width: 20px;
    height: 12px;
    cursor: pointer;
}

.menu-toggle span {
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--text-color);
    transition: var(--transition);
}

/* Mobile Menu */
.mobile-menu {
    position: fixed;
    top: var(--nav-height);
    left: 0;
    width: 100%;
    height: 0;
    background: white;
    overflow: hidden;
    transition: height 0.4s ease;
    z-index: 999;
}

.mobile-menu.active {
    height: calc(100vh - var(--nav-height));
}

.mobile-nav-list {
    padding: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    /* gap: 20px; - Removed for compatibility */
}

.mobile-nav-list > li {
    margin-bottom: 20px;
}

.mobile-nav-list > li:last-child {
    margin-bottom: 0;
}

.mobile-nav-list a {
    font-size: 24px;
    font-weight: 600;
}

/* Hero */
.hero {
    position: relative;
    padding-top: 120px;
    padding-bottom: 60px;
    text-align: center;
    overflow: hidden;
}

.hero-content {
    max-width: 800px;
    margin: 0 auto 60px;
    padding: 0 20px;
}

.hero-title {
    font-size: 56px;
    font-weight: 600;
    line-height: 1.1;
    margin-bottom: 20px;
    letter-spacing: -0.02em;
}

.hero-subtitle {
    font-size: 24px;
    color: var(--text-secondary);
    margin-bottom: 30px;
    font-weight: 400;
}


.hero-cta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    gap: 20px;
    margin-top: 30px;
}

.hero-image-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.hero-image {
    width: 100%;
    height: auto;
    transition: transform 1s ease;
}

.hero:hover .hero-image {
    transform: scale(1.02);
}

/* Animations */
.fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    animation: fadeInUp 0.8s forwards;
}

.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Highlights */
.highlights-scroll-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow-x: auto;
    /* gap: 30px; - Removed for compatibility */
    padding-bottom: 20px;
    scroll-snap-type: x mandatory;
    -webkit-scroll-snap-type: x mandatory;
    /* Hide scrollbar for cleaner look but allow scrolling */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none;  /* IE 10+ */
    -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
}

/* Add margin to cards instead of gap for older WebKit support */
.highlights-scroll-container > .highlight-card {
    margin-right: 20px;
    /* Responsive width for mobile */
    min-width: 85vw; 
    width: 85vw;
}

@media (min-width: 768px) {
    .highlights-scroll-container > .highlight-card {
        min-width: 350px;
        width: 350px;
        margin-right: 30px;
    }
}

.highlights-scroll-container > .highlight-card:last-child {
    margin-right: 0;
}

.highlights-wrapper {
    position: relative;
    /* Removed display: flex; align-items: center; which was for arrows alignment */
    /* Wait, we need it back relative, but arrows are absolute */
}

.scroll-arrow {
    position: absolute;
    top: calc(50% - 10px); /* Moved up by 10px as requested */
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    cursor: pointer;
    z-index: 100;
    font-size: 20px;
    color: #1d1d1f;
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    opacity: 0;
    /* Removed pointer-events: none to prevent hover flickering issues when button is outside container */
}

/* On mobile/tablet, show arrows if user has a mouse (rare but possible), or just rely on touch.
   Actually, standard behavior is to hide arrows on touch devices and show on desktop.
   We will show arrows on devices larger than 768px (tablets landscape and desktops) PERMANENTLY.
   This removes all flickering caused by hover states. */

@media (min-width: 768px) {
    .scroll-arrow {
        opacity: 1;
        pointer-events: auto;
    }
}

/* Responsive adjustments for arrows to prevent clipping on smaller desktop screens */
@media (max-width: 1300px) {
    .scroll-left {
        left: -20px !important;
    }
    .scroll-right {
        right: -20px !important;
    }
}

.scroll-arrow:hover {
    background: #1d1d1f;
    color: white;
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 8px 24px rgba(0,0,0,0.2);
    border-color: #1d1d1f;
}

.scroll-arrow.disabled {
    opacity: 0.3 !important; /* Dimmed instead of hidden to prevent flickering/confusion */
    pointer-events: none !important;
    cursor: default;
}

/* Invisible bridge to prevent hover loss when moving from container to outside arrow */
.scroll-left::before {
    content: '';
    position: absolute;
    left: 100%;
    top: -20px;
    bottom: -20px;
    width: 60px; /* Adjusted width */
    background: transparent;
}

.scroll-right::before {
    content: '';
    position: absolute;
    right: 100%;
    top: -20px;
    bottom: -20px;
    width: 60px; /* Adjusted width */
    background: transparent;
}

.scroll-left {
    left: -60px;
}

.scroll-right {
    right: -60px;
}

.highlights-scroll-container::-webkit-scrollbar {
    display: none; /* WebKit */
}

.highlight-card {
    min-width: 350px;
    flex: 0 0 auto;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    scroll-snap-align: start;
    -webkit-scroll-snap-align: start;
    background: white;
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transition: var(--transition);
}

.highlight-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.1);
}

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

.card-content {
    padding: 30px;
}

.card-content h3 {
    font-size: 24px;
    margin-bottom: 10px;
}

.card-content p {
    color: var(--text-secondary);
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Mobile spacing optimizations */
@media (max-width: 768px) {
    .section {
        padding: 40px 0; /* Reduced from 100px for all sections on mobile */
    }
    
    .section-title {
        font-size: 28px;
        margin-bottom: 30px;
    }

    /* Specific tighter gap between highlights and map */
    #highlights {
        padding-bottom: 20px;
    }
    #map {
        padding-top: 20px;
    }
}

.map-image {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.5s ease;
}

.map-container:hover .map-image {
    transform: scale(1.02);
}

.btn-outline {
    background: transparent;
    border: 1px solid #1d1d1f;
    color: #1d1d1f;
}

.pricing-content .btn-outline:hover {
    background: #1d1d1f;
    color: white;
    transform: scale(1.02);
}

.btn-outline {
    background: transparent;
    border: 1px solid var(--text-color);
    color: var(--text-color);
}

.btn-outline:hover {
    border-color: var(--text-color);
    background: var(--text-color);
    color: white;
}

.text-center {
    text-align: center;
}

/* About Us */
.about-content {
    max-width: 800px;
    margin: 0 auto;
}

.about-text {
    font-size: 18px;
    line-height: 1.8;
    color: #424245;
    font-weight: 400;
}

/* Footer */
.footer {
    background: #f5f5f7;
    padding: 60px 0 30px;
    border-top: 1px solid var(--border-color);
}

.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.footer-logo {
    font-weight: 600;
    font-size: 18px;
}

.footer-links {
    display: flex;
    gap: 20px;
}

.footer-links a {
    font-size: 12px;
    color: var(--text-secondary);
}

.copyright {
    font-size: 12px;
    color: #999;
}

/* Discount Policy */
.policy-grid {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    justify-content: center;
}

.policy-card {
    flex: 1;
    min-width: 250px;
    background: #fff;
    padding: 30px;
    border-radius: var(--border-radius);
    text-align: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #f0f0f0;
}

.policy-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.policy-icon {
    margin-bottom: 20px;
    color: #1d1d1f; /* Use main text color for minimalist look */
    display: flex;
    justify-content: center;
}

.policy-icon svg {
    stroke-width: 1.2px; /* Thinner stroke for Apple minimalist feel */
    width: 40px;
    height: 40px;
}

.policy-card h3 {
    font-size: 20px;
    margin-bottom: 15px;
    color: #1d1d1f;
    font-weight: 600;
}

.policy-card p {
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Responsive */
@media (max-width: 768px) {
    .section-title {
        font-size: 32px;
        margin-bottom: 40px;
    }
    
    .nav { display: none; }
    .menu-toggle { display: flex; }
    
    .hero-title { font-size: 40px; }
    .hero-subtitle { font-size: 18px; }
    
    /* Flexbox mobile stacking */
    .grid-2 { 
        flex-direction: column; 
    }

    .grid-2 > * {
        margin: 0 0 30px 0;
    }

    .grid-2 > *:last-child {
        margin-bottom: 0;
    }
    
    .hotel-tag {
        padding: 4px 10px; /* Even smaller on mobile */
        font-size: 11px;
    }
}

/* =========================================
   Homepage Specific Styles (Added 2024)
   ========================================= */

/* Homepage Hero Override */
.homepage-hero {
    height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-position: center;
    position: relative;
    color: white;
    padding: 0;
    margin-bottom: 0;
}

.homepage-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.3);
    z-index: 1;
}

.homepage-hero .hero-content {
    position: relative;
    z-index: 2;
    color: white;
    margin: 0;
    max-width: 900px;
}

.homepage-hero .hero-title {
    color: white;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.homepage-hero .hero-subtitle {
    color: rgba(255,255,255,0.9);
    text-shadow: 0 1px 5px rgba(0,0,0,0.3);
}

/* Footer */
.site-footer {
    background: #f5f5f7;
    padding: 60px 0;
    margin-top: 80px;
    border-top: 1px solid rgba(0,0,0,0.05);
    text-align: center;
    color: var(--text-secondary);
    font-size: 14px;
}

@media (max-width: 768px) {
    .homepage-hero {
        height: 60vh;
    }
    .homepage-hero .hero-title {
        font-size: 36px;
    }
}

/* Destinations Section */
.destinations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
}

.destination-card {
    background: white;
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transition: var(--transition);
}

.destination-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.1);
}

.destination-image {
    height: 200px;
    position: relative;
    overflow: hidden;
}

.destination-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.destination-card:hover .destination-image img {
    transform: scale(1.1);
}

.destination-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
    color: white;
}

.destination-overlay h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.destination-content {
    padding: 20px;
}

.destination-content p {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

/* Enhanced Footer */
.site-footer {
    text-align: left; /* Override previous center alignment */
}

.footer-content {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
}

.footer-col h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
    color: var(--primary-color);
}

/* Features Section (Why Choose Us) - Apple Style */
.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 60px;
}

.feature-card {
    background: #ffffff;
    padding: 40px 30px;
    border-radius: 24px;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    border: 1px solid rgba(0,0,0,0.03);
    position: relative;
    overflow: hidden;
}

.feature-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
    border-color: rgba(0,0,0,0);
}

.feature-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 16px;
    color: var(--text-color);
    letter-spacing: -0.5px;
}

.feature-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--text-secondary);
    max-width: 280px;
    margin: 0 auto;
}

/* Feature Icon Placeholder (if needed in future) */
.feature-icon {
    width: 60px;
    height: 60px;
    background: #f5f5f7;
    border-radius: 16px;
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 24px;
}

@media (max-width: 768px) {
    .features-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .feature-card {
        padding: 30px 20px;
    }
}

/* Footer Styles */
.footer-col h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 20px;
    color: var(--primary-color);
}

.footer-col p {
    color: var(--text-secondary);
    line-height: 1.6;
    font-size: 14px;
    max-width: 300px;
}

.footer-col ul li {
    margin-bottom: 12px;
}

.footer-col ul li a, .footer-col ul li {
    color: var(--text-secondary);
    font-size: 14px;
    transition: color 0.2s;
}

.footer-col ul li a:hover {
    color: var(--primary-color);
    text-decoration: underline;
}

.footer-bottom {
    padding-top: 30px;
    border-top: 1px solid rgba(0,0,0,0.05);
    text-align: center;
    color: #999;
    font-size: 12px;
}

/* Re-configure grid for better proportions (Desktop) */
.footer-content {
    grid-template-columns: 2fr 1fr 1fr 1.5fr; /* 4 columns: Brand | Links | Culture | Contact */
    gap: 40px;
    padding-bottom: 20px;
    align-items: start; /* Ensure top alignment */
}

/* Mobile Media Query must come AFTER desktop styles to override them */
@media (max-width: 768px) {
    .site-footer {
        padding: 40px 0 20px;
    }

    .footer-content {
        grid-template-columns: 1fr 1fr; /* Side by side links */
        gap: 30px 20px;
        text-align: left;
    }
    
    /* Brand Section - Full Width & Centered */
    .brand-col {
        grid-column: 1 / -1;
        text-align: center;
        padding-bottom: 10px;
        border-bottom: 1px solid rgba(0,0,0,0.05);
    }
    
    .footer-logo {
        margin: 0 auto 15px;
        height: 40px;
    }

    .footer-desc {
        margin: 0 auto;
        font-size: 13px;
        max-width: 100%;
    }
    
    /* Links Columns - Compact */
    .links-col {
        padding-left: 10px;
    }
    
    .links-col h4 {
        margin-bottom: 15px;
        font-size: 15px;
    }
    
    .links-col ul li {
        margin-bottom: 10px;
    }

    /* Contact Section - Full Width & Highlighted */
    .contact-col {
        grid-column: 1 / -1;
        background: #ffffff;
        padding: 20px;
        border-radius: 16px;
        margin-top: 10px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    }
    
    .contact-col h4 {
        margin-bottom: 15px;
    }
    
    .contact-list li {
        margin-bottom: 12px;
    }
    
    .footer-col p {
        margin: 0 auto;
    }
}

.footer-col h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 25px;
    color: var(--primary-color);
    letter-spacing: 0.5px;
    height: 24px; /* Fixed height for alignment */
    line-height: 24px;
    margin-top: 10px; /* Align with Logo visual center approx */
}

.footer-logo {
    height: 44px; /* Slightly reduced to match text flow better */
    width: auto;
    margin-bottom: 20px;
    display: block;
}

/* Header Logo Styles */
.header-logo {
    height: 36px; /* Adjusted height for header */
    width: auto;
    display: block;
    object-fit: contain;
}

/* Ensure logo container doesn't shrink improperly */
.logo {
    display: flex;
    align-items: center;
}

/* Footer Logo Adjustment */
.footer-logo {
    height: 50px; /* Slightly smaller for footer balance */
    margin-bottom: 20px;
}

.links-col ul li {
    margin-bottom: 14px;
}

.links-col ul li a {
    color: var(--text-secondary);
    font-size: 14px;
    transition: color 0.2s ease;
}

.links-col ul li a:hover {
    color: var(--primary-color);
    padding-left: 5px;
}

.contact-list li {
    display: flex;
    margin-bottom: 16px;
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.6;
}

.contact-label {
    min-width: 50px;
    color: var(--primary-color);
    font-weight: 500;
}

.contact-value {
    color: var(--text-secondary);
}

.contact-value:hover {
    color: var(--primary-color);
}

.footer-bottom {
    padding-top: 30px;
    border-top: 1px solid rgba(0,0,0,0.06);
    margin-top: 0;
    font-size: 13px;
    color: #999;
}

.footer-bottom a {
    color: #999;
    margin: 0 5px;
}

.footer-bottom a:hover {
    color: var(--primary-color);
    text-decoration: underline;
}

/* Removed duplicate media query */
