/* Basic Reset & Body Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Arial', 'Helvetica Neue', Helvetica, sans-serif;
    line-height: 0.6;
    color: #333;
    background-color: #f4f4f4;
}

/* Header Styles */
header {
    background-color: #fff;
    color: #333;
    padding: 1rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 3px solid #5cb85c;
}

footer p{
    text-align: center;
}

.logo-container {
    display: flex;
    align-items: center;
}

.logo-img {
    height: 40px;
    margin-right: 10px;
    /* filter: drop-shadow(2px 2px 2px #aaa); Example of a subtle effect */
}

header h1 {
    margin: 0;
    font-size: 1.8rem;
    color: #5cb85c;
    font-weight: bold; /* Font property */
}

.search-bar {
    display: flex;
    flex-grow: 0.5; /* Allows search bar to take available space */
    max-width: 400px; /* Max width for search bar */
}

.search-bar input[type="search"] {
    padding: 0.5rem;
    border: 1px solid #ddd;
    border-right: none;
    border-radius: 4px 0 0 4px;
    flex-grow: 1;
    font-size: 0.9rem; /* Font property */
}

.search-bar button {
    padding: 0.5rem 1rem;
    background-color: #5cb85c;
    color: white;
    border: none;
    cursor: pointer;
    border-radius: 0 4px 4px 0;
    transition: background-color 0.3s ease; /* Transition for button */
}

.search-bar button:hover {
    background-color: #4cae4c;
}

.auth-links a, .auth-links-simple a {
    color: #5cb85c;
    text-decoration: none;
    margin-left: 10px;
    font-weight: 600; /* Font property */
}

.auth-links a:hover, .auth-links-simple a:hover {
    text-decoration: underline;
}

/* Main Navigation Styles */
.main-nav {
    background-color: #333;
    padding: 0.5rem 0; /* Vertical padding */
}

.main-nav ul {
    list-style: none;
    display: flex;
    justify-content: space-evenly; 
}

.main-nav ul li {
    position: relative; /* For submenu positioning */
}

.main-nav ul li a {
    color: white;
    text-decoration: none;
    padding: 1rem 1.5rem; /* Increased padding for richer feel */
    display: block;
    transition: background-color 0.3s ease, color 0.3s ease; /* Smooth transition */
    font-size: 1rem; /* Font property */
    text-transform: uppercase; /* Text transformation */
    letter-spacing: 0.5px; /* Text property */
}

.main-nav ul li a:hover,
.main-nav ul li a.active {
    background-color: #5cb85c;
    color: #fff;
}

/* Submenu Styles (Secondary Navigation) */
.main-nav ul .submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #444; /* Slightly different background for submenu */
    min-width: 200px; /* Richer width */
    z-index: 1000;
    padding: 0; /* Remove padding from ul */
    border-top: 3px solid #5cb85c; /* Accent border */
    box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* Box shadow for depth */
}

.main-nav ul li:hover > .submenu { /* Display on hover of parent li */
    display: block;
}

.main-nav ul .submenu li {
    width: 100%; /* Full width list items */
}

.main-nav ul .submenu li a {
    padding: 0.8rem 1.2rem; /* Padding for submenu items */
    color: #eee; /* Lighter text color for submenu */
    font-size: 0.9rem; /* Font property */
    text-transform: none; /* Normal text case */
    border-bottom: 1px solid #555; /* Separator */
}

.main-nav ul .submenu li:last-child a {
    border-bottom: none; /* No border for the last item */
}

.main-nav ul .submenu li a:hover {
    background-color: #5cb85c;
    color: #fff;
}


/* Main Content Styles */
main {
    padding: 2rem;
}

.index-main { /* Specific padding for index if needed */
    padding: 1rem 2rem;
}

/* Index Page: Top Content Row (Carousel + Right Themes) */
.top-content-row {
    display: flex;
    gap: 20px; /* Space between carousel and right themes */
    margin-bottom: 20px;
}

/* Carousel Section */
.carousel-section {
    flex: 3; /* Takes more space */
    min-width: 0; /* Allow shrinking */
    display: flex;
    flex-direction: column;
}

.carousel-container {
    position: relative;
    max-width: 100%; /* Responsive width */
    margin: auto;
    overflow: hidden; /* Hide parts of slides that are outside */
    border: 1px solid #ddd; /* Border */
    border-radius: 5px; /* Border-radius */
    background-color: #fff; /* Background color */
    flex-grow: 1;
    display: flex;
}

.carousel-slide {
    display: none; /* Hidden by default */
    min-width: 100%;
    height: 100%;
}

.carousel-slide img {
    width: 100%;
    height: 100%; /* Fixed height for carousel images */
    object-fit: cover; /* Ensures images cover the area nicely */
    vertical-align: middle;
}

/* 指示器容器的样式 */
.carousel-dots-container {
    position: absolute; /* 绝对定位，相对于 .carousel-container */
    bottom: 15px;      /* 距离底部 15px */
    left: 50%;         /* 水平居中 */
    transform: translateX(-50%); /* 精确水平居中 */
    z-index: 10;       /* 确保在图片上方 */
}


/* 指示器（点）的样式 */
.dot {
    cursor: pointer;
    height: 13px;  /* 稍微调整大小 */
    width: 13px;   /* 稍微调整大小 */
    margin: 0 5px; /* 调整点之间的间距 */
    background-color: rgba(255, 255, 255, 0.5); /* 半透明白色背景 */
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
    border: 1px solid rgba(0, 0, 0, 0.2); /* 添加一个细微的边框 */
}

.active-dot, .dot:hover {
    background-color: #ffffff; /* 激活和悬停时变为不透明白色 */
}

/* ========================================= */
/* ==  Side Themes Section (个性化设计)   == */
/* ========================================= */

/* --- 通用侧边栏容器样式 --- */
.left-themes-section,
.right-themes-section {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* --- 通用主题卡片基础样式 --- */
.theme {
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.07);
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* 确保卡片能填充空间 */
    transition: all 0.3s ease;
    overflow: hidden; /* 隐藏溢出的装饰元素 */
    position: relative;
    padding: 1.5rem;
}

.theme:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.theme h3 {
    display: flex;
    align-items: center;
    font-size: 1.2rem;
    margin: 0 0 1rem 0;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #eee;
    font-weight: 600;
}

.theme h3 .fas, .theme h3 .far {
    margin-right: 10px;
    width: 20px;
    text-align: center;
}

.theme .theme-link {
    align-self: flex-end;
    margin-top: auto; /* 将链接推到底部 */
    padding-top: 1rem;
    color: #5cb85c;
    text-decoration: none;
    font-weight: bold;
    font-size: 0.9rem;
    transition: color 0.3s;
}

.theme .theme-link:hover {
    color: #449d44;
}

/* --- 左侧卡片特定样式 --- */

/* 卡片: 日历 (#calendar-theme) */
#calendar-theme {
    padding: 1rem;
    background: #f8f9fa;
}
.calendar-header {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-bottom: 1rem;
    font-size: 1.1rem;
    font-weight: bold;
    color: #343a40;
}
.calendar-header .far.fa-calendar-alt {
    color: #5cb85c;
    margin-right: 8px;
    font-size: 1.2em;
}
.calendar-grid {
    font-size: 0.85rem;
}
.calendar-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    margin-bottom: 0.5rem;
    color: #6c757d;
}
.calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
}
.calendar-days .day-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
}
.calendar-days .day-cell:not(.empty):hover {
    background-color: #e9ecef;
}
.calendar-days .day-cell.today {
    background-color: #5cb85c;
    color: #fff;
    font-weight: bold;
}
.calendar-days .day-cell.empty {
    cursor: default;
}


/* 卡片: 当日训练计划 (#daily-plan-theme) */
#daily-plan-theme {
    background-image: linear-gradient(to top, #fff 0%, #e9f7ef 100%);
}
#daily-plan-theme h3 {
    color: #1a744a;
}
#daily-plan-theme h3 .fas {
    color: #28a745;
}
.daily-plan-list {
    list-style: none;
    padding: 0;
    margin: 0;
    flex-grow: 1; /* 填充空间 */
}
.daily-plan-list li {
    padding: 0.6rem 0.2rem;
    font-size: 0.9rem;
    color: #333;
    border-bottom: 1px dashed #d4eadd;
    display: flex;
    align-items: center;
}
.daily-plan-list li:last-child {
    border-bottom: none;
}
.daily-plan-list li .fas {
    color: #28a745;
    margin-right: 12px;
    font-size: 1.1em;
}

.prev, .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -22px;
    color: white;
    font-weight: bold;
    font-size: 20px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
    background-color: rgba(0,0,0,0.3);
}

.next {
    right: 0;
    border-radius: 3px 0 0 3px;
}

.prev:hover, .next:hover {
    background-color: rgba(0,0,0,0.8);
}

.dot {
    cursor: pointer;
    height: 15px;
    width: 15px;
    margin: 0 2px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
}

.active-dot, .dot:hover {
    background-color: #717171;
}

.fade {
    animation-name: fade;
    animation-duration: 1.5s;
}

@keyframes fade {
    from {opacity: .4}
    to {opacity: 1}
}

/* --- 右侧卡片特定样式 --- */

/* 卡片: 推荐训练 (#right-theme1) */
#right-theme1 {
    background: url('images/fire-bg.png') no-repeat bottom right, linear-gradient(135deg, #fff3e0, #ffe0b2);
    background-size: 100px, 100%;
}
#right-theme1 h3 {
    color: #e65100;
}
#right-theme1 h3 .icon-fire:before {
    color: #f57c00;
}
.recommended-training-content {
    flex-grow: 1;
}
.recommended-training-content > p:first-child {
    font-weight: bold;
    color: #bf360c;
    font-size: 1.05rem;
}
.training-list {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0;
    line-height: 1.8;
}
.training-list li {
    font-size: 0.9rem;
    color: #4e4e4e;
}
.training-list li .fas {
    color: #f57c00;
    margin-right: 10px;
}
.recommended-training-content .sub-text {
    font-size: 0.85rem;
    color: #e65100;
    opacity: 0.8;
}
#right-theme1 .theme-link {
    color: #f57c00;
}
#right-theme1 .theme-link:hover {
    color: #e65100;
}

/* ================================== */
/* ==  卡片: 成功故事 (#right-theme2) == */
/* ================================== */

#right-theme2 {
    background-color: #f0f4f8; /* 保持原有背景色 */
}

#right-theme2 h3 {
    color: #0d47a1; /* 保持原有标题颜色 */
    /* 使用 Font Awesome 替代 icon-star, 确保兼容性 */
}

#right-theme2 h3 .fa-star { /* 如果您使用 Font Awesome, 可以这样指定图标颜色 */
    color: #ffc107;
}

.success-story-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0.5rem 0; /* 调整内边距 */
}

.user-avatar {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: 0 0 0 3px #1976d2;
    margin-bottom: 1rem; /* 调整头像下方的间距 */
}

.success-story-content blockquote {
    font-family: 'KaiTi', 'SimSun', serif; /* 使用更适合引言的字体 */
    font-size: 1.05rem; /* 字体大小 */
    color: #333; /* 主要文字颜色 */
    position: relative;
    max-width: 90%; /* 限制最大宽度，避免文字拉伸 */
    margin: 0; /* 清除默认外边距 */
    padding: 0 1.5rem; /* 为两侧的引号留出空间 */
    border: none; /* 清除默认边框 */
    line-height: 1.8; /* 增加引文的行高，使其更易读 */
}

.success-story-content blockquote::before {
    content: '“'; /* 左引号 */
    font-size: 3rem; /* 引号大小 */
    color: #90caf9; /* 引号颜色 */
    position: absolute;
    top: -0.8rem; /* 向上微调 */
    left: 0; /* 定位在左边 */
    line-height: 1;
}

.success-story-content blockquote::after {
    content: '”'; /* 右引号 */
    font-size: 3rem; /* 引号大小 */
    color: #90caf9; /* 引号颜色 */
    position: absolute;
    bottom: -1.5rem; /* 向下微调 */
    right: 0; /* 定位在右边 */
    line-height: 1;
}

.success-story-content cite {
    margin-top: 2rem; /* 增加与引文的间距 */
    font-size: 0.9rem; /* 用户名字体大小 */
    color: #546e7a; /* 用户名颜色 */
    font-style: normal; /* 设为正常字体样式 */
}

#right-theme2 .theme-link {
    color: #1976d2; /* 保持链接颜色 */
}

#right-theme2 .theme-link:hover {
    color: #0d47a1; /* 保持链接悬停颜色 */
}


/* ========================================= */
/* == Feature Blocks Section (个性化设计) == */
/* ========================================= */

.feature-blocks-section {
    display: flex;
    justify-content: space-between;
    gap: 25px; /* 稍微增加间距 */
    margin-top: 30px;
    padding: 10px 0;
}

.feature-block {
    flex-basis: calc(25% - 20px);
    background-color: #ffffff;
    padding: 2rem 1.5rem;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.07);
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
    position: relative;
    overflow: hidden; /* 隐藏溢出的装饰元素 */
}

.feature-block:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.12);
}

/* 卡片顶部的大图标背景 */
.feature-icon-bg {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.2rem;
    transition: all 0.3s ease;
}

.feature-icon-bg .fas {
    font-size: 2rem; /* 32px */
}

.feature-block h4 {
    margin-bottom: 0.8rem;
    font-size: 1.25rem;
    font-family: 'Helvetica Neue', sans-serif;
    font-weight: 600;
}

.feature-block p {
    font-size: 0.9rem;
    color: #666;
    line-height: 1.7;
    flex-grow: 1; /* 让p标签填充空间，将按钮推到底部 */
    margin-bottom: 1.5rem;
}

/* 通用按钮样式 */
.feature-block .cta-button {
    display: inline-block;
    color: white;
    padding: 0.7rem 1.8rem;
    text-decoration: none;
    border-radius: 50px; /* 全圆角按钮 */
    font-weight: bold;
    transition: all 0.3s ease;
    border: none;
    margin-top: auto; /* 确保按钮总在底部 */
}

/* --- 卡片 1: 多样化训练 --- */
#feature-block1 {
    background: linear-gradient(145deg, #485563, #29323c);
    color: #fff;
}
#feature-block1 .feature-icon-bg {
    background-color: rgba(255, 255, 255, 0.1);
    color: #82a4ff;
}
#feature-block1 h4 {
    color: #fff;
}
#feature-block1 p {
    color: #ccc;
}
#feature-block1 .cta-button {
    background-color: #82a4ff;
    box-shadow: 0 4px 10px rgba(130, 164, 255, 0.4);
}
#feature-block1 .cta-button:hover {
    background-color: #97b5ff;
    transform: scale(1.05);
}

/* --- 卡片 2: 营养建议 --- */
#feature-block2 {
    background: #fff;
}
#feature-block2:before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 150px;
    height: 150px;
    background: #e8f5e9;
    border-radius: 50%;
    opacity: 0.7;
    transition: all 0.4s ease;
}
#feature-block2:hover:before {
    transform: scale(1.2);
    opacity: 1;
}
#feature-block2 .feature-icon-bg {
    background-color: #e8f5e9;
    color: #66bb6a;
    z-index: 1;
}
#feature-block2 h4 {
    color: #388e3c;
    z-index: 1;
}
#feature-block2 p {
    z-index: 1;
}
#feature-block2 .cta-button {
    background-color: #66bb6a;
    box-shadow: 0 4px 10px rgba(102, 187, 106, 0.4);
}
#feature-block2 .cta-button:hover {
    background-color: #76c77a;
    transform: scale(1.05);
}

/* --- 卡片 3: 互助社群 --- */
#feature-block3 {
    background-color: #f3e5f5;
}
#feature-block3 .feature-icon-bg {
    background-color: #fff;
    color: #ab47bc;
}
#feature-block3 h4 {
    color: #8e24aa;
}
#feature-block3 ul.community-tags {
    list-style: none;
    padding: 0;
    width: 100%;
    margin-top: auto; /* 推到底部 */
}
#feature-block3 ul.community-tags li {
    background-color: #fff;
    color: #ab47bc;
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 15px;
    font-size: 0.85rem;
    font-weight: 500;
    margin: 0.25rem;
    border: 1px solid #e1bee7;
}
#feature-block3 ul.community-tags .fas {
    margin-right: 5px;
}

/* --- 卡片 4: 进度追踪 --- */
#feature-block4 {
    background-color: #e3f2fd;
}
#feature-block4 .feature-icon-bg {
    background-color: #bbdefb;
    color: #1e88e5;
}
#feature-block4 h4 {
    color: #1565c0;
}
#feature-block4 .cta-button {
    background-color: #42a5f5;
    box-shadow: 0 4px 10px rgba(66, 165, 245, 0.4);
}
#feature-block4 .cta-button:hover {
    background-color: #5bb3f6;
    transform: scale(1.05);
}
.progress-chart-decoration {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: 50px;
    width: 100px;
    margin-top: auto; /* 将其与按钮一起推向底部 */
    margin-bottom: 1.5rem;
}
.progress-chart-decoration .bar {
    width: 15px;
    background-color: #90caf9;
    margin: 0 4px;
    border-radius: 3px 3px 0 0;
    animation: grow 1.5s ease-out forwards;
}
@keyframes grow {
    from { height: 0; }
}

/* 移除旧的、不再需要的样式（如果它们还存在于你的文件中） */
.feature-block .inline-icon,
.feature-block .nested-div-example,
.feature-block ul,
.feature-block ul li,
.community-tags li {
    /* 如果之前的样式还存在，这个区域可以用来覆盖或移除它们 */
    /* 例如： */
    background: initial; /* 恢复默认 */
    border: initial;
    box-shadow: initial;
    /* ...等等 */
}


/* Footer Styles */
footer {
    text-align: center;
    padding: 1.5rem;
    background-color: #333;
    color: white;
    margin-top: 2rem; /* Margin-top to separate from content */
    font-size: 0.85rem; /* Font-size */
}

/* Sub-page specific styles */
.subpage-main {
    background-color: #fff;
    padding: 2rem;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    min-height: 400px; /* Ensure subpages have some height */
}
.subpage-main h2 {
    color: #5cb85c;
    margin-bottom: 1.5rem;
    border-bottom: 2px solid #eee;
    padding-bottom: 0.5rem;
}

.content-form .form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 1rem;
}
.content-form .form-row .form-group {
    flex: 1;
}
.content-form .form-group {
    margin-bottom: 1rem;
}
.content-form label {
    display: block;
    margin-bottom: .5rem;
    font-weight: bold;
}
.content-form input[type="text"],
.content-form input[type="number"],
.content-form input[type="email"],
.content-form input[type="password"],
.content-form select {
    width: 100%;
    padding: .75rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;
}
.content-form .checkbox-group input {
    margin-right: .5rem;
}
.content-form .checkbox-group label {
    display: inline-block;
    margin-right: 1rem;
    font-weight: normal;
}
.btn {
    padding: .75rem 1.5rem;
    text-decoration: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.3s ease;
    border: none;
}
.btn-primary {
    background-color: #5cb85c;
    color: white;
}
.btn-primary:hover {
    background-color: #4cae4c;
}
.btn-secondary {
    background-color: #6c757d;
    color: white;
}
.btn-secondary:hover {
    background-color: #5a6268;
}
.btn-tertiary {
    background-color: #f0ad4e;
    color: white;
}
.btn-tertiary:hover {
    background-color: #ec971f;
}


/* Plan Generator & My Plans specific styling */
.generated-plan-preview, .plan-card {
    margin-top: 2rem;
    padding: 1.5rem;
    background-color: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 4px;
}
.plan-card { margin-bottom: 1rem; }
.plan-card h3 { color: #337ab7; margin-bottom: 0.5rem; }
.plan-card p { margin-bottom: 0.3rem; }
.plan-card .btn { margin-right: 0.5rem; margin-top: 0.5rem;}

/* Exercise Library specific styling */
.filter-controls {
    margin-bottom: 1.5rem;
    display: flex;
    gap: 1rem;
}
.filter-controls select {
    padding: .75rem;
    border: 1px solid #ccc;
    border-radius: 4px;
}
.exercise-list .exercise-item {
    display: flex;
    gap: 1.5rem;
    background-color: #fff;
    padding: 1rem;
    border: 1px solid #eee;
    border-radius: 4px;
    margin-bottom: 1rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.exercise-thumb {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 4px;
}
.exercise-info h3 { color: #337ab7; margin-bottom: 0.5rem; }

/* Blog page specific styling */
.blog-post {
    background-color: #fff;
    padding: 1.5rem;
    border: 1px solid #eee;
    border-radius: 4px;
    margin-bottom: 1.5rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.blog-post h3 { color: #337ab7; margin-bottom: 0.5rem; }
.post-meta {
    font-size: 0.85rem;
    color: #777;
    margin-bottom: 0.75rem;
}

/* Icon placeholders (replace with actual icon font or SVGs) */
[class^="icon-"]:before {
    font-family: "Font Awesome 5 Free"; 
    font-weight: 900; 
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    
    margin-right: 8px;
    width: 1em;
    text-align: center;
    line-height: 1em;
}

.icon-fire:before { content: "\f06d"; } /* Example Unicode */
.icon-star:before { content: "\f005"; }
.icon-dumbbell:before { content: "\f44b"; } /* Placeholder, find actual icons */
.icon-food:before { content: "\f0f5"; }
.icon-community:before { content: "\f0c0"; }
.icon-chart:before { content: "\f080"; }

/* Responsive hints (not a full responsive design, but some basics) */
@media (max-width: 992px) {
    .top-content-row {
        flex-direction: column;
    }
    .feature-blocks-section {
        flex-wrap: wrap; /* Allow blocks to wrap */
    }
    .feature-block {
        flex-basis: calc(50% - 10px); /* 2 blocks per row */
        margin-bottom: 20px;
    }
}

@media (max-width: 768px) {
    header {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
    .search-bar {
        width: 80%;
        margin: 0 auto;
    }
    .main-nav ul {
        flex-direction: column;
        align-items: center;
    }
    .main-nav ul li a {
        padding: 0.8rem 1rem;
    }
    .main-nav ul .submenu {
        position: static; /* Submenus display below item */
        background-color: #3a3a3a;
        border-top: none;
        box-shadow: none;
        width: 100%;
        text-align: center;
    }
    .feature-block {
        flex-basis: 100%; /* 1 block per row */
    }
     .content-form .form-row {
        flex-direction: column;
        gap: 0;
    }
}