/* 春晓农场产品自定义样式 - 优化版 v2 */
:root {
    --primary-color: #6ab04c; /* Primary green - kept */
    --primary-hover: #5c9b43; /* Darker green for hover - kept */
    --secondary-color: #d4a373; /* New: Earthy tan/light brown for accents */
    --dark-color: #3d3d3d; /* Dark grey for text - kept */
    --light-color: #fdfaf3; /* New: Light beige for backgrounds */
    --warm-beige: #f5e5d5; /* New: Warmer beige for specific sections */
    --earthy-brown: #8a5a44; /* New: Earthy brown for text accents or borders */
    --white-color: #ffffff; /* White - kept */

    --border-radius: 15px;
    --box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    --box-shadow-hover: 0 10px 25px rgba(0, 0, 0, 0.1);
    --transition: all 0.3s ease;
    --navbar-height: 80px;
}

.hero-section {
    padding-top: var(--navbar-height);
}
html {
    scroll-padding-top: 80px;
}

/* 基础样式 */
body {
    /* Optional: Consider a rustic font like 'Amatic SC' for headings and a classic serif like 'Merriweather' for body text.
       Ensure good Chinese character support. For now, keeping current fonts for broad compatibility.
       Example for headings (needs to be applied to h1, h2, h3 etc.):
       font-family: 'YourChosenRusticFont', 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', sans-serif;
    */
    font-family: 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', sans-serif;
    color: var(--dark-color); /* Changed from #333 to use variable */
    background-color: var(--white-color);
    overflow-x: hidden;
    scroll-behavior: smooth;
}

html {
    font-size: 16px;
}

/* 导航栏样式 */
.navbar {
    background-color: rgba(255, 255, 255, 0.97); /* Slightly more opaque */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08); /* Softer shadow */
    transition: var(--transition);
    padding: 15px 0;
    z-index: 1030;
    /* Optional: border-bottom: 1px solid var(--warm-beige); */
}

.navbar-brand {
    font-weight: 700;
    color: var(--primary-color);
    font-size: 1.5rem;
    /* Optional: text-shadow: 1px 1px 0px var(--white-color); */
}

.navbar-brand:hover {
    color: var(--primary-hover);
}

.nav-link {
    font-weight: 500;
    color: var(--dark-color);
    margin: 0 10px;
    transition: var(--transition);
    position: relative;
}

.nav-link:hover {
    color: var(--primary-color);
}

.nav-link.active {
    color: var(--primary-color);
    font-weight: 600; /* Emphasize active link */
}

.nav-link.active:after {
    content: '';
    position: absolute;
    width: 40%; /* Slightly wider */
    height: 2px;
    background-color: var(--primary-color);
    bottom: -2px; /* Position slightly below */
    left: 50%;
    transform: translateX(-50%);
}

/* 首页hero区域样式优化 */
.hero-section {
    /* padding-top: var(--navbar-height); */ /* <--- 移除此行 */
    margin-top: var(--navbar-height);      /* <--- 添加此行，使整个区域下移 */
    position: relative;
    height: calc(100vh - var(--navbar-height)); /* <--- 修改此行，调整高度为剩余视窗 */
    min-height: 600px; /* 保留或调整此值，作为英雄区域在导航栏下方的最小可见高度 */
                       /* 如果之前的600px是期望的最小可见内容区高度，那么此值合适 */
    display: flex;
    align-items: center; /* 垂直居中内容 */
    justify-content: center; /* 水平居中内容 (如果hero-content不是块级占满) */
    color: white;
    text-align: center; /* 确保内部文本居中 */
    overflow: hidden;
}

.hero-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* TODO: Replace this background URL with your high-quality farm/product hero image */
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.55)), url('https://pic.imgdd.cc/item/682002f33c3a6234d31f7251.jpg') no-repeat center center;
    background-size: cover;
    animation: heroBgZoom 20s ease-in-out infinite alternate; /* Slower zoom */
    z-index: -1;
}

@keyframes heroBgZoom {
    0% {
        transform: scale(1);
        filter: brightness(0.95);
    }
    100% {
        transform: scale(1.1); /* More pronounced zoom */
        filter: brightness(1.05);
    }
}

.hero-content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 0 20px;
    max-width: 900px;
    margin: 0 auto;
}

.hero-content h1 {
    font-size: clamp(2.8rem, 6vw, 4.5rem); /* Slightly larger */
    font-weight: 700;
    margin-bottom: 25px;
    text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.6);
    animation: fadeInDown 1s ease-out;
    /* Optional: color: var(--white-color); Consider if a very light off-white or light earthy tone could work for H1 if bg allows */
}

.hero-content p {
    font-size: clamp(1.1rem, 2.2vw, 1.4rem); /* Slightly larger */
    margin-bottom: 35px;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
    animation: fadeInUp 1s ease-out 0.3s; /* Delayed animation */
    animation-fill-mode: backwards;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.7;
}

/* 按钮样式优化 */
.btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    padding: 12px 30px; /* Slightly larger padding */
    font-weight: 600;
    border-radius: 30px;
    transition: var(--transition);
    text-transform: uppercase; /* Optional: for a more distinct button style */
    letter-spacing: 0.5px; /* Optional */
}

.btn-primary:hover, .btn-primary:focus {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    transform: translateY(-3px) scale(1.02); /* Added subtle scale */
    box-shadow: 0 6px 12px rgba(0,0,0,0.25); /* Enhanced shadow */
}

/* 标题样式优化 */
.section-title {
    text-align: center;
    margin-bottom: 60px; /* Increased margin */
    animation: fadeIn 1s ease;
}

.section-title h2 {
    font-weight: 700;
    position: relative;
    display: inline-block;
    margin-bottom: 20px; /* Increased margin */
    padding-bottom: 20px; /* Increased padding */
    font-size: clamp(2rem, 3.5vw, 2.8rem); /* Slightly larger */
    color: var(--earthy-brown); /* Using earthy brown for titles */
}

.section-title h2::after {
    content: '';
    position: absolute;
    display: block;
    width: 60px; /* Wider underline */
    height: 3px;
    background-color: var(--primary-color);
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.section-title p {
    max-width: 750px; /* Slightly wider */
    margin-left: auto;
    margin-right: auto;
    color: #555; /* Darker grey for subtitle */
    font-size: 1.1rem; /* Slightly larger */
    line-height: 1.6;
}

/* 特色服务样式优化 */
#features {
    padding: 80px 0;
    background-color: var(--light-color); /* Using new light beige */
    /* Optional: Consider a subtle background texture (e.g., very light wood grain, burlap)
       using background-image and opacity for a more rustic feel.
       Example: background-image: url('path/to/your/light_texture.png');
    */
}

.feature-box {
    text-align: center;
    padding: 40px 30px; /* Increased padding */
    border-radius: var(--border-radius);
    transition: var(--transition);
    margin-bottom: 30px;
    background-color: var(--white-color);
    box-shadow: var(--box-shadow);
    height: 100%;
    border-bottom: 4px solid transparent; /* Thicker transparent border for smoother transition */
    display: flex;
    flex-direction: column; /* Align items vertically */
    justify-content: center; /* Center content if height varies */
}

.feature-box:hover {
    transform: translateY(-12px); /* More pronounced lift */
    box-shadow: var(--box-shadow-hover);
    border-bottom-color: var(--secondary-color); /* Using new secondary color for hover border */
}

.feature-box i {
    font-size: 3.5rem; /* Larger icon */
    color: var(--primary-color);
    margin-bottom: 25px; /* Increased margin */
    transition: var(--transition);
}

.feature-box:hover i {
    transform: scale(1.15); /* More pronounced icon scale */
    color: var(--primary-hover);
}

.feature-box h3 {
    font-size: 1.6rem; /* Larger heading */
    font-weight: 600;
    margin-bottom: 15px;
    color: var(--earthy-brown);
}
.feature-box p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #444; /* Slightly darker text for readability */
}


/* 产品卡片样式优化 */
#properties {
    padding: 80px 0;
    background-color: var(--warm-beige); /* Using new warm beige */
    /* Optional: Consider a subtle background texture (e.g., very light wood grain, burlap)
      using background-image and opacity for a more rustic feel.
      Example: background-image: url('path/to/your/light_texture.png');
   */
}

.property-card {
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: var(--box-shadow);
    margin-bottom: 30px;
    transition: var(--transition);
    height: 100%;
    background-color: var(--white-color);
    position: relative;
    display: flex; /* For better control over content flow */
    flex-direction: column;
}

.property-card:hover {
    transform: translateY(-12px); /* More lift */
    box-shadow: var(--box-shadow-hover);
}

.property-img {
    height: 280px; /* Increased height */
    background-size: cover;
    background-position: center;
    transition: all 0.5s ease;
    position: relative;
}

.property-img::after { /* Subtle gradient for text overlay potential */
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 60%, rgba(0,0,0,0.25) 100%);
    opacity: 0.6; /* Make it slightly visible by default */
    transition: opacity 0.3s ease;
}

.property-card:hover .property-img {
    transform: scale(1.08); /* More zoom */
}

.property-card:hover .property-img::after {
    opacity: 1; /* Full opacity on hover */
}

.property-info {
    padding: 25px;
    flex-grow: 1; /* Allow info to take remaining space */
    display: flex;
    flex-direction: column;
}

.property-info h3 {
    font-size: 1.4rem; /* Larger product name */
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--earthy-brown);
}

.property-price { /* Not used in current HTML, but good to have */
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 10px;
}

.property-address { /* Used for product description */
    color: #555;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    font-size: 0.95rem;
    line-height: 1.5;
}

.property-address i {
    color: var(--primary-color);
    margin-right: 8px;
    font-size: 1.1em;
}

.property-features {
    display: flex;
    justify-content: space-around; /* Better spacing */
    border-top: 1px solid #eee;
    padding-top: 15px;
    margin-top: auto; /* Pushes features to the bottom */
    flex-wrap: wrap;
}

.property-features span {
    font-size: 0.9rem;
    color: #555;
    margin-right: 10px;
    margin-bottom: 8px; /* Space for wrapping */
    display: flex;
    align-items: center;
}

.property-features span i {
    color: var(--secondary-color); /* Use secondary for these icons */
    margin-right: 6px;
    font-size: 1em;
}

/* 客户评价样式优化 */
#testimonials {
    padding: 80px 0;
    background-color: var(--light-color); /* Using new light beige */
    position: relative;
    /* Optional: Consider a subtle background texture
       Example: background-image: url('path/to/your/light_texture.png');
    */
}

#testimonials::before { /* Subtle background pattern */
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Using a more farm-like SVG - e.g., a very faint leaf or seed pattern */
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 100 100"><path d="M50 0 L60 10 L50 20 L40 10 Z M10 40 L20 50 L10 60 L0 50 Z M90 40 L100 50 L90 60 L80 50 Z M50 80 L60 90 L50 100 L40 90 Z" fill="%23e0e0e0" opacity="0.2"/></svg>') repeat;
    opacity: 0.5; /* Make it more subtle */
    z-index: 0;
}

.testimonial-card {
    background-color: var(--white-color);
    border-radius: var(--border-radius);
    padding: 35px; /* Increased padding */
    box-shadow: var(--box-shadow);
    margin-bottom: 30px;
    height: 100%;
    transition: var(--transition);
    position: relative;
    z-index: 1;
    border-left: 5px solid var(--secondary-color); /* Using secondary color for accent */
}

.testimonial-card:hover {
    transform: translateY(-8px) scale(1.02); /* Added scale */
    box-shadow: var(--box-shadow-hover);
}

.testimonial-text {
    font-style: italic;
    margin-bottom: 25px; /* Increased margin */
    position: relative;
    padding-left: 0; /* Removed left padding as border is on card */
    border-left: none; /* Removed original border */
    font-size: 1.05rem;
    line-height: 1.7;
    color: #444;
}

.testimonial-text::before { /* Quotation mark style */
    content: '“';
    font-family: Georgia, serif; /* Serif for quotes */
    font-size: 3rem;
    color: var(--secondary-color);
    position: absolute;
    left: -15px;
    top: -10px;
    opacity: 0.7;
}


.testimonial-author {
    display: flex;
    align-items: center;
    margin-top: auto; /* Push author to bottom if card height varies */
}

.testimonial-author img {
    width: 65px; /* Slightly larger */
    height: 65px;
    border-radius: 50%;
    margin-right: 15px;
    border: 3px solid var(--primary-color); /* Primary color border */
    object-fit: cover;
    /* TODO: Replace with actual customer photos or consistent styled placeholders */
}

.author-info h5 {
    margin-bottom: 3px; /* Reduced margin */
    font-weight: 600;
    color: var(--earthy-brown);
    font-size: 1.1rem;
}

.author-info p {
    color: #666;
    margin: 0;
    font-size: 0.9rem;
}

/* 联系我们样式优化 */
#contact {
    padding: 80px 0;
    background-color: var(--white-color);
    position: relative;
}

.contact-info-card {
    background: var(--light-color); /* Use light beige */
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    margin-bottom: 30px;
    padding: 30px;
    transition: var(--transition);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border: 1px solid #e0e0e0; /* Add subtle border */
}

.contact-info-card:hover {
    box-shadow: var(--box-shadow-hover);
}

.contact-item {
    font-size: 1.05rem; /* Slightly smaller for better fit */
    color: var(--dark-color);
    display: flex;
    align-items: center;
    padding: 12px 18px; /* Adjusted padding */
    margin-bottom: 10px;
    background: rgba(106, 176, 76, 0.03); /* Very subtle primary bg */
    border-radius: 8px;
    transition: background 0.2s;
    flex: 1 1 48%; /* Allow wrapping with slight gap */
    min-width: 250px;
    margin: 5px;
    border: 1px solid transparent;
}

.contact-item:hover {
    background: rgba(106, 176, 76, 0.08); /* Slightly darker on hover */
    border-color: var(--primary-color);
}

.contact-item i {
    color: var(--primary-color);
    font-size: 1.3rem; /* Slightly larger icon */
    margin-right: 15px; /* Increased spacing */
    width: 25px; /* Fixed width for alignment */
    text-align: center;
}

/* 页脚样式优化 */
footer {
    background-color: #333; /* Darker footer background */
    color: #ccc; /* Lighter text color for footer */
    padding: 70px 0 30px; /* Adjusted padding */
}

.footer-about h3 {
    font-weight: 700;
    margin-bottom: 25px; /* Increased margin */
    color: var(--primary-color); /* Primary color for footer titles */
    font-size: 1.6rem;
}

.footer-about p {
    margin-bottom: 25px;
    color: #bbb; /* Slightly lighter than default footer text */
    line-height: 1.7;
    font-size: 0.95rem;
}

.footer-links h5 {
    font-weight: 600;
    margin-bottom: 20px;
    color: var(--white-color); /* White for link titles */
    position: relative;
    padding-bottom: 12px; /* Increased padding */
    font-size: 1.2rem;
}

.footer-links h5::after {
    content: '';
    position: absolute;
    width: 45px; /* Wider */
    height: 2px;
    background-color: var(--primary-color);
    bottom: 0;
    left: 0;
}

.footer-links ul {
    list-style: none;
    padding-left: 0;
}

.footer-links ul li {
    margin-bottom: 12px; /* Increased margin */
}

.footer-links ul li a {
    color: #bbb;
    text-decoration: none;
    transition: var(--transition);
    display: block;
    padding: 6px 0; /* Increased padding */
    position: relative;
    font-size: 0.95rem;
}

.footer-links ul li a::before {
    content: '›';
    font-weight: bold;
    position: absolute;
    left: -5px; /* Start hidden */
    opacity: 0;
    transition: var(--transition);
    color: var(--primary-color);
}

.footer-links ul li a:hover {
    color: var(--primary-color);
    padding-left: 18px; /* More indent on hover */
}

.footer-links ul li a:hover::before {
    opacity: 1;
    left: 0px; /* Move in on hover */
}

.social-links {
    margin-top: 25px; /* Increased margin */
}

.social-links a {
    display: inline-block;
    width: 42px; /* Slightly larger */
    height: 42px;
    background-color: rgba(255, 255, 255, 0.08); /* More subtle */
    text-align: center;
    line-height: 42px;
    border-radius: 50%;
    color: var(--white-color);
    margin-right: 12px; /* Increased spacing */
    transition: var(--transition);
    font-size: 1.1rem;
}

.social-links a:hover {
    background-color: var(--primary-color);
    transform: translateY(-5px) scale(1.1); /* Added scale */
}

.copyright {
    border-top: 1px solid rgba(255, 255, 255, 0.15); /* More visible border */
    padding-top: 25px; /* Increased padding */
    margin-top: 50px;
    text-align: center;
    color: #999; /* Lighter copyright text */
    font-size: 0.9rem;
}

/* 返回顶部按钮优化 */
.back-to-top {
    position: fixed;
    bottom: 25px; /* Adjusted position */
    right: 25px;
    background-color: var(--primary-color);
    color: white;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px; /* Ensure icon is centered */
    font-size: 1.2rem; /* Ensure icon is visible */
    border-radius: 50%;
    z-index: 99;
    transition: var(--transition);
    display: none;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.25); /* Enhanced shadow */
    opacity: 0.85;
}
.back-to-top i { /* Explicitly style icon if needed */
    line-height: inherit;
}


.back-to-top:hover {
    background-color: var(--earthy-brown); /* Using earthy brown for hover */
    transform: translateY(-5px) scale(1.1); /* Added scale */
    opacity: 1;
}

/* 动画效果优化 (kept as is, good foundation) */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

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

@keyframes fadeInDown {
    from { transform: translateY(-30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.animate-fade-in {
    animation: fadeIn 1s ease-in-out;
}

.animate-slide-up {
    animation: fadeInUp 0.8s ease-in-out;
}

/* 响应式优化 - 移动端布局 */
@media (max-width: 991.98px) {
    section, #features, #properties, #testimonials, #contact { /* Ensure consistent padding */
        padding: 60px 0;
    }

    .contact-info-card {
        flex-direction: column;
    }

    .contact-item {
        width: 100%;
        flex: 1 0 100%;
        margin-bottom: 10px;
    }

    .navbar-collapse {
        background-color: rgba(255, 255, 255, 0.99); /* More opaque on mobile */
        border-radius: 10px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        padding: 20px;
        margin-top: 15px;
        z-index: 1029;
        border-top: 2px solid var(--primary-color); /* Add top border for emphasis */
    }

    .navbar-nav {
        align-items: flex-start;
    }

    .navbar-nav .nav-item {
        width: 100%;
    }

    .navbar-nav .nav-link {
        padding: 12px 15px;
        border-radius: 5px;
        margin: 5px 0;
        width: 100%; /* Make link fill width */
        display: block;
    }

    .navbar-nav .nav-link:hover {
        background-color: var(--light-color); /* Use light-color for hover bg */
        color: var(--primary-hover);
    }

    .navbar-nav .nav-link.active {
        background-color: var(--primary-color);
        color: var(--white-color);
    }

    .navbar-nav .nav-link.active:after {
        display: none; /* Hide underline for mobile active link */
    }

    .hero-content {
        padding: 0 15px;
    }
    .section-title h2 {
        font-size: clamp(1.8rem, 4vw, 2.2rem);
    }
    .footer-about, .footer-links {
        text-align: center; /* Center footer content on smaller screens */
        margin-bottom: 40px;
    }
    .footer-links h5::after {
        left: 50%;
        transform: translateX(-50%); /* Center underline for footer links on mobile */
    }
    .social-links {
        text-align: center; /* Center social links */
    }
}

@media (max-width: 768px) {
    html {
        font-size: 15px;
    }

    .hero-section {
        height: auto; /* Adjust height for content */
        min-height: 550px;
        padding-bottom: 40px; /* Add padding for button */
    }
    .hero-content h1 {
        font-size: clamp(2.2rem, 7vw, 3rem);
    }
    .hero-content p {
        font-size: clamp(1rem, 3vw, 1.2rem);
    }

    .section-title {
        margin-bottom: 40px;
    }

    .feature-box {
        padding: 30px 20px;
        margin-bottom: 25px;
    }

    .property-card {
        margin-bottom: 25px;
    }

    .property-img {
        height: 220px;
    }

    .testimonial-card {
        margin-bottom: 25px;
        padding: 25px;
    }
    .testimonial-text::before {
        left: -10px;
        top: -5px;
        font-size: 2.5rem;
    }


    .contact-item {
        padding: 12px 15px;
        font-size: 1rem;
    }
    .contact-item i {
        font-size: 1.2rem;
        margin-right: 10px;
    }
}

@media (max-width: 576px) {
    html {
        font-size: 14px;
    }

    .hero-section {
        min-height: 500px;
    }
    .hero-content h1 {
        font-size: clamp(2rem, 8vw, 2.8rem);
    }
    .hero-content p {
        font-size: clamp(0.95rem, 3.5vw, 1.1rem);
    }

    section, #features, #properties, #testimonials, #contact {
        padding: 50px 0;
    }

    .btn-primary {
        padding: 10px 25px;
        font-size: 0.95rem;
    }

    .property-features {
        flex-direction: column;
        align-items: flex-start; /* Align items left in column */
    }

    .property-features span {
        margin-bottom: 10px;
        margin-right: 0; /* Remove right margin */
        width: 100%; /* Full width */
    }

    .contact-item {
        flex-direction: column;
        align-items: flex-start;
        padding: 15px;
    }

    .contact-item i {
        margin-bottom: 8px; /* Space between icon and text */
    }

    .footer-about h3, .footer-links h5 {
        font-size: 1.4rem;
    }
    .footer-links ul li a {
        padding-left: 0; /* Reset padding */
    }
    .footer-links ul li a:hover {
        padding-left: 10px; /* Adjust hover indent */
    }
    .footer-links ul li a::before {
        display: none; /* Hide arrow on smallest screens */
    }


    .social-links a {
        width: 38px;
        height: 38px;
        line-height: 38px;
        font-size: 1rem;
    }

    .back-to-top {
        width: 45px;
        height: 45px;
        line-height: 45px;
        font-size: 1rem;
        bottom: 20px;
        right: 20px;
    }
}

/* 添加加载优化 (kept as is) */
.lazyload {
    opacity: 0;
    transition: opacity 0.3s;
}

.lazyloaded {
    opacity: 1;
}

/* 添加无障碍优化 (kept as is) */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

/* 添加暗色模式支持 (basic structure kept, not fully implemented as per initial brief) */
@media (prefers-color-scheme: dark) {
    /* :root {
        --dark-color: #ddd;
        --light-color: #222;
        --white-color: #1a1a1a;
        --earthy-brown: #e0cda8;
    }
    body { background-color: var(--white-color); color: var(--dark-color);}
    .navbar { background-color: rgba(30,30,30,0.97); }
    .section-title h2 { color: var(--primary-color); }
    .feature-box, .property-card, .testimonial-card { background-color: #2a2a2a; border-color: #444; }
    footer { background-color: #111; } */
    /* Further specific dark mode styles would be needed here */
}

/* 打印优化 (kept as is) */
@media print {
    .navbar, .hero-section, .footer, .back-to-top, .social-links, .testimonial-author img {
        display: none !important;
    }

    body {
        color: #000;
        background-color: #fff;
        font-size: 12pt;
    }
    section, #features, #properties, #testimonials, #contact {
        padding: 30px 0 !important;
        background-color: #fff !important; /* Ensure white background for printing */
    }
    .container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }
    .section-title h2, .feature-box h3, .property-info h3, .testimonial-author h5 {
        color: #000 !important;
    }
    .property-card, .feature-box, .testimonial-card {
        box-shadow: none !important;
        border: 1px solid #ccc !important;
        page-break-inside: avoid;
    }
    a {
        text-decoration: none;
        color: #000 !important;
    }
    a[href^="http"]::after {
        content: " (" attr(href) ")"; /* Show URLs in print */
        font-size: 9pt;
    }
    .property-img {
        border: 1px solid #eee; /* Add border to images if they lack contrast */
    }
}