/* PetFoodies 佈景 - 活動首頁 home 頁 */
/* ====== Slide 輪播（全寬、置於 navbar 下方） ====== */
.home-carousel {
    margin: 0 0 .5rem;
    overflow: hidden;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
}
.home-carousel .carousel-item img {
    width: 100%;
    height: clamp(240px, 38vh, 400px);
    object-fit: cover;
    display: block;
}
.home-carousel .carousel-caption-bar {
    position: absolute; left:0; right:0; bottom:0;
    background: linear-gradient(transparent, rgba(0,0,0,.55));
    color:#fff; padding: 1.5rem 3.5rem .9rem; text-align:left;
    font-family: var(--font-serif);
    font-size: 1.1rem; font-weight: 600; letter-spacing: 1px;
}
.home-carousel .carousel-control-prev,
.home-carousel .carousel-control-next { width: 5%; }
@media (max-width:768px) {
    .home-carousel .carousel-item img { height: clamp(160px, 26vh, 220px); }
    .home-carousel .carousel-caption-bar { padding: 1rem 2rem .6rem; font-size: .95rem; }
}

/* ====== 區塊通用：素白卡 + 細邊 ====== */
.section-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 10px;
    box-shadow: var(--shadow-sm);
    margin: 2rem 0;
}

/* ====== 最新消息區塊 ====== */
.news-section {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 10px;
    box-shadow: var(--shadow-sm);
    padding: 1.75rem 2rem;
    margin: 2rem 0;
}
.news-section .news-header {
    display:flex; align-items:center; justify-content:space-between;
    border-bottom: 2px solid var(--primary);
    padding-bottom: .65rem; margin-bottom: 1.1rem;
}
.news-section .news-header h3 {
    margin:0; color: var(--primary);
    font-family: var(--font-serif);
    font-size: 1.35rem; font-weight: 700;
    letter-spacing: 1px;
}
.news-section .news-header h3 .icon {
    margin-right:.5rem; color: var(--accent);
}
.news-section .news-header .news-more {
    color: var(--accent);
    text-decoration: none;
    font-size:.88rem; font-weight: 600;
    letter-spacing: .5px;
    transition: color .15s;
}
.news-section .news-header .news-more:hover {
    color: var(--accent-dark);
    text-decoration: underline;
}
.news-section .news-list { list-style:none; margin:0; padding:0; }
.news-section .news-list li {
    display:flex; gap:.85rem; align-items:center;
    padding: .8rem .25rem;
    border-bottom: 1px solid var(--border-soft);
    transition: background-color .15s;
}
.news-section .news-list li:last-child { border-bottom: none; }
.news-section .news-list li:hover { background: var(--primary-light); }
.news-section .news-list .news-icon {
    flex: 0 0 auto;
    color: var(--accent);
    font-size: 1rem; line-height: 1;
    display:inline-flex; align-items:center;
}
.news-section .news-list .news-link {
    flex:1; color: var(--text); text-decoration: none;
    font-size: .98rem; line-height: 1.6;
}
.news-section .news-list .news-link:hover {
    color: var(--primary); text-decoration: underline;
}
.news-section .news-list .news-link .ext-icon {
    font-size:.78rem; color: var(--text-soft);
    margin-left:.35rem; vertical-align:middle;
}
.news-section .news-list .news-date {
    flex: 0 0 auto; min-width: 6.5em; text-align: right;
    color: var(--text-muted);
    font-size:.85rem; font-family: 'JetBrains Mono','Consolas',monospace;
}
.news-section .news-empty {
    text-align:center; color: var(--text-soft);
    padding: 2rem 0; font-size:.95rem;
}

/* ====== 緣起 ====== */
.story-section {
    background: var(--bg-card);
    padding: 2.5rem 2.5rem 2rem;
    border: 1px solid var(--border);
    border-top: 3px solid var(--primary);
    border-radius: 4px;
    margin: 2rem 0;
    box-shadow: var(--shadow-sm);
}
.story-title {
    color: var(--primary);
    font-family: var(--font-serif);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 2px;
    margin: 0 0 1.5rem;
    text-align: center;
    position: relative;
    padding-bottom: .8rem;
}
.story-title::after {
    content: ''; display: block;
    width: 40px; height: 2px; background: var(--accent);
    margin: .8rem auto 0;
}
.story-content {
    line-height: 1.9;
    font-size: 1.02rem;
    color: var(--text);
    text-align: justify;
    text-justify: inter-ideograph;
}
.story-content p { margin-bottom: 1.2rem; }
.story-content p:last-child { margin-bottom: 0; }

/* ====== 評選辦法資訊區（去藍漸層、改米白底配金邊框） ====== */
.info-box {
    background: var(--bg);
    border: 1px solid var(--border);
    border-top: 3px solid var(--accent);
    border-radius: 4px;
    padding: 2.5rem;
    margin: 2rem 0;
    color: var(--text);
    box-shadow: var(--shadow-sm);
}
.info-title {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 2px;
    margin: 0 0 1.5rem;
    text-align: center;
    color: var(--primary);
    position: relative;
    padding-bottom: .8rem;
}
.info-title::after {
    content: ''; display: block;
    width: 40px; height: 2px; background: var(--accent);
    margin: .8rem auto 0;
}
.info-item {
    background: var(--bg-card);
    border: 1px solid var(--border);
    padding: 1rem 1.25rem;
    border-radius: 6px;
    margin: .75rem 0;
}
.info-label {
    color: var(--primary);
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: .5px;
    margin-bottom: .35rem;
}
.info-value {
    font-weight: 400;
    font-size: 1rem;
    color: var(--text);
}
.contact-info {
    font-size: .92rem;
    line-height: 1.7;
    color: var(--text);
}

/* 「立即報名」按鈕 — 重新設計成金色實底，符合新設計 system */
.apply-btn {
    background: var(--accent);
    border: 1px solid var(--accent);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 2px;
    padding: .85rem 2.5rem;
    border-radius: 6px;
    box-shadow: var(--shadow-sm);
    transition: background-color .2s, border-color .2s, transform .15s;
    text-decoration: none;
    display: inline-block;
}
.apply-btn:hover {
    background: var(--accent-dark);
    border-color: var(--accent-dark);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

/* ====== 下載區 ====== */
.download-section {
    text-align: center;
    padding: 2rem 0;
    border-top: 1px solid var(--border);
    margin-top: 2rem;
}
.download-title {
    color: var(--primary);
    font-family: var(--font-serif);
    font-weight: 600;
    font-size: 1.1rem;
    letter-spacing: 1px;
    margin-bottom: 1rem;
}
.download-link {
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
    font-size: .95rem;
    border: 1px solid var(--primary);
    padding: .55rem 1.4rem;
    border-radius: 4px;
    transition: background-color .2s, color .2s;
    display: inline-block;
    margin: .4rem;
}
.download-link:hover {
    background: var(--primary);
    color: #fff;
}

/* ====== Q&A / 報名專區 雙卡片 ====== */
.qa-grid-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 2rem;
    text-align: center;
    height: 100%;
    transition: border-color .2s, transform .15s, box-shadow .2s;
}
.qa-grid-card:hover {
    border-color: var(--accent);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}
.qa-grid-card .icon {
    font-size: 2.6rem;
    color: var(--accent);
    margin-bottom: .75rem;
}
.qa-grid-card h5 {
    font-family: var(--font-serif);
    color: var(--primary);
    font-weight: 700;
    margin-bottom: .5rem;
    letter-spacing: 1px;
}
.qa-grid-card p {
    color: var(--text-muted);
    font-size: .92rem;
    margin-bottom: 1.25rem;
}
.qa-grid-card .btn {
    font-size: .92rem;
    padding: .5rem 1.5rem;
    border-radius: 4px;
    font-weight: 500;
    letter-spacing: .5px;
    border-width: 1px;
}
