/* Shared content pages and accessible image/link treatments. */
.content-page { max-width: 1040px; margin: 0 auto; padding: 32px 24px 64px; color: var(--dark-bg); }
.content-page h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.4; margin: 12px 0 20px; font-weight: 750; }
.content-page h2, .tool-guide h2 { font-size: 1.45rem; line-height: 1.5; margin: 0 0 20px; font-weight: 700; }
.content-page h3, .tool-guide h3 { font-size: 1.1rem; margin: 24px 0 10px; font-weight: 700; }
.content-page p, .content-page li, .tool-guide p, .tool-guide li { line-height: 1.9; margin-bottom: 14px; }
.content-page ul, .content-page ol, .tool-guide ol { padding-left: 1.5rem; list-style: revert; }
.content-page a:not(.btn-primary), .tool-guide a, .article-detail-content a { color: #8b4f26; text-decoration: underline; text-underline-offset: 3px; }
.service-intro { display: grid; grid-template-columns: 1.4fr 1fr; align-items: center; gap: 36px; margin-top: 28px; }
.service-intro img { width: 100%; height: auto; border-radius: 18px; }
.eyebrow { color: #8b4f26; font-size: .85rem; letter-spacing: .12em; }
.content-section, .tool-guide { margin: 32px 0; padding: 28px; border: 1px solid #eadccd; border-radius: 18px; background: #fffdf9; }
.service-offer { padding: 0 0 24px; border-bottom: 1px solid #eadccd; margin-bottom: 20px; }
.service-offer:last-child { border-bottom: 0; margin-bottom: 0; }
.service-offer .btn-primary, .service-intro .btn-primary { display: inline-block; padding: 12px 20px; }
.product-card-link { display: block; color: inherit; text-decoration: none; }
.product-card-link:focus-visible, .product-name a:focus-visible { outline: 3px solid #8b4f26; outline-offset: 3px; }
.image-placeholder { aspect-ratio: 1; display: grid; place-items: center; background: #f7efe6; color: #796b5d; }
.image-caption { margin: 10px 0 18px; font-size: .8rem; line-height: 1.7; color: #796b5d; }
.home-search-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.home-search-form label { display: grid; gap: 7px; color: #574535; font-size: .9rem; }
.home-search-form input, .home-search-form select { width: 100%; min-height: 44px; padding: 10px; border: 1px solid #d6c8bb; border-radius: 8px; background: white; }
.home-search-form button { grid-column: 1 / -1; min-height: 48px; }
.home-tool-links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.home-tool-links a { padding: 18px; border: 1px solid #e5d4c3; border-radius: 12px; color: #614329; background: #fffaf4; }
.home-tool-links strong { display: block; margin-bottom: 5px; }
.service-page-links { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.service-page-links a { padding: 10px 16px; border: 1px solid #e5d4c3; border-radius: 9px; color: #8b4f26; background: white; }
.search-result-note { margin: 0 0 20px; padding: 14px; background: #fff5e9; border-radius: 8px; }
@media (max-width: 640px) {
    .content-page { padding: 24px 18px 48px; }
    .service-intro { grid-template-columns: 1fr; gap: 20px; }
    .service-intro img { max-width: 320px; margin: 0 auto; }
    .content-section, .tool-guide { padding: 22px 18px; }
    .home-search-form, .home-tool-links { grid-template-columns: 1fr; }
}
