.content-section { padding: 32px 0; }
.compare-bar:not(.show) { visibility: hidden; pointer-events: none; }
.content-section [hidden], .editorial-grid[hidden] { display: none !important; }
.content-muted { color: #5b6c73; font-size: 14px; }
.content-prose { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; }
.article-lead { font-size: 18px; margin: 16px 0; }
.editorial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.editorial-card { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; min-width: 0; padding-bottom: 24px; border-bottom: 1px solid #cad7d2; }
.editorial-card h3, .managed-kit h3 { font-size: 22px; overflow-wrap: anywhere; }
.editorial-card .feature-btn { margin-top: auto; }
.editorial-cover, .kit-cover { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; }
.content-image-fallback { min-height: 100px; padding: 24px; background: #eef3f0; color: #56665d; }
#blogArticle { max-width: 900px; margin: 0 auto; }
#blogArticle h2 { margin-top: 24px; }
.content-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 24px 0; }
.content-gallery img { width: 100%; height: auto; display: block; border-radius: 6px; }
.content-gallery figcaption { margin-top: 8px; }
.care-materials { margin-top: 48px; padding-top: 32px; border-top: 1px solid #cad7d2; }
.care-materials .editorial-grid { display: block; }
.care-article { padding: 20px 0; border-bottom: 1px solid #cad7d2; overflow-wrap: anywhere; }
.care-article > summary { font-size: 20px; font-weight: 600; cursor: pointer; }
.care-article > p { margin-top: 16px; }
.care-article .content-gallery { max-width: 850px; }
.planner-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 24px 0 12px; max-width: 1000px; }
.planner-fields label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; min-width: 0; }
.planner-fields input, .planner-fields select { width: 100%; min-width: 0; height: 48px; padding: 10px; border: 1px solid #a7bbb0; border-radius: 6px; background: white; color: #253239; font: inherit; font-weight: 400; }
.calendar-product-summary { display: flex; gap: 24px; margin: 24px 0 16px; align-items: flex-start; }
.calendar-product-summary > div { min-width: 0; }
.calendar-product-summary h3 { font-size: 24px; }
.calendar-product-summary .feature-btn { margin-top: 12px; }
.calendar-product-photo { width: 160px; flex-shrink: 0; aspect-ratio: 1; object-fit: cover; border-radius: 6px; }
.calendar-advice { margin: 12px 0; padding-left: 16px; border-left: 3px solid #287447; }
.growing-planner .calendar-preview { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 24px; }
.calendar-step { min-width: 0; }
.calendar-step time { color: #9b2b24; font-weight: 600; }
.calendar-step p { margin: 8px 0 0; font-size: 15px; }
.managed-kit { min-width: 0; display: flex; flex-direction: column; gap: 16px; border-radius: 8px; }
.managed-kit p { margin: 0; }
.managed-kit summary { cursor: pointer; font-weight: 600; }
.kit-composition { list-style: none; margin-top: 12px; padding: 0; }
.kit-composition li { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 8px 0; border-bottom: 1px solid #e0e7e3; }
.kit-composition .feature-btn { padding: 0; min-height: 0; border: 0; background: none; text-align: left; text-decoration: underline; white-space: normal; }
.managed-kit-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: auto; }
.managed-kit-footer button:disabled { opacity: .6; cursor: not-allowed; }
.header-content { flex-wrap: wrap; }
@media (max-width: 1000px) {
    .editorial-grid, .growing-planner .calendar-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .main-nav { justify-content: flex-start; }
    .main-nav-link { flex: 0 0 auto; padding-inline: 10px; }
    .editorial-grid, .planner-fields, .growing-planner .calendar-preview, .content-gallery { grid-template-columns: minmax(0, 1fr); }
    .calendar-product-summary { flex-direction: column; }
    .calendar-product-photo { width: 120px; }
    .content-section .feature-title { font-size: 26px; }
    .managed-kit h3 { font-size: 20px; }
}
