.journal-post-section { padding: clamp(2rem, 5vw, 4.5rem) 1rem clamp(3.5rem, 7vw, 6rem); background: #fcf8ed; }
.journal-post { width: min(100%, 50rem); margin-inline: auto; }
.journal-post__article { padding: clamp(1.15rem, 4vw, 3.5rem); border: 1px solid #e7ddc8; border-radius: 1.1rem; background: #fffdf8; box-shadow: 0 .65rem 2rem rgb(30 48 34 / 6%); }
.journal-post__header { margin: 0 auto; text-align: center; }
.journal-post__category { margin: 0 0 .7rem; color: #9a7015; font-size: .75rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.journal-post__title { max-width: 22ch; margin: 0 auto; color: #174634; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(2rem, 4.5vw, 3.25rem); font-weight: 600; line-height: 1.08; }
.journal-post__meta { margin: .85rem 0 0; color: #69746d; font-size: .88rem; line-height: 1.5; }
.journal-post__featured-image { display: grid; max-width: 42rem; max-height: 27rem; margin: clamp(1.4rem, 3vw, 2rem) auto 0; overflow: hidden; place-items: center; border: 1px solid #ece4d3; border-radius: .8rem; background: #f7f2e7; }
.journal-post__featured-image img { display: block; width: 100%; max-height: 27rem; object-fit: contain; }
.journal-post__content { max-width: 42rem; margin: clamp(1.5rem, 4vw, 2.5rem) auto 0; color: #34473b; font-size: 1.05rem; line-height: 1.78; overflow-wrap: anywhere; }
.journal-post__content > :first-child { margin-top: 0; }
.journal-post__content > :last-child { margin-bottom: 0; }
.journal-post__content p, .journal-post__content ul, .journal-post__content ol { margin-block: 0 1.15rem; }
.journal-post__content h2, .journal-post__content h3, .journal-post__content h4 { margin: 2rem 0 .7rem; color: #174634; font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600; line-height: 1.2; }
.journal-post__content h2 { font-size: clamp(1.65rem, 3.4vw, 2.2rem); }
.journal-post__content h3 { font-size: clamp(1.4rem, 3vw, 1.8rem); }
.journal-post__content ul, .journal-post__content ol { padding-left: 1.35rem; }
.journal-post__content li { padding-left: .2rem; margin-block: .35rem; }
.journal-post__content a { color: #8a6417; font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.journal-post__content a:hover { color: #174634; }
.journal-post__content figure, .journal-post__content .wp-block-image { max-width: 100%; margin: 1.5rem auto; text-align: center; }
.journal-post__content img { display: block; width: auto; max-width: 100%; max-height: 27rem; height: auto; margin-inline: auto; object-fit: contain; border-radius: .55rem; }
.journal-post__content figcaption { margin-top: .55rem; color: #69746d; font-size: .86rem; line-height: 1.5; }
.journal-post__content table { display: block; width: 100%; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: .95rem; }
.journal-post__content th, .journal-post__content td { min-width: 7rem; padding: .65rem .75rem; border: 1px solid #e3dac7; text-align: left; }
.journal-post__content th { background: #f4eedf; color: #174634; }
.journal-post__content blockquote { margin: 1.5rem 0; padding: .2rem 0 .2rem 1rem; border-left: 3px solid #c5a354; color: #526257; }
.journal-post__content blockquote > :last-child { margin-bottom: 0; }

@media (min-width: 768px) {
	.journal-post-section { padding-inline: 1.5rem; }
}

@media (max-width: 767px) {
	.journal-post-section { padding: 1.25rem .75rem 3rem; }
	.journal-post__article { padding: 1.1rem; border-radius: .85rem; }
	.journal-post__title { font-size: clamp(1.8rem, 7.5vw, 2.45rem); line-height: 1.12; }
	.journal-post__meta { font-size: .82rem; }
	.journal-post__featured-image { max-height: min(56vw, 18rem); margin-top: 1.2rem; }
	.journal-post__featured-image img { max-height: min(56vw, 18rem); }
	.journal-post__content { margin-top: 1.4rem; font-size: 1rem; line-height: 1.72; }
	.journal-post__content h2, .journal-post__content h3, .journal-post__content h4 { margin-top: 1.65rem; }
	.journal-post__content img { max-height: min(66vw, 20rem); }
	.journal-post__content figure, .journal-post__content .wp-block-image { margin-block: 1.2rem; }
	.journal-post__content .products-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; gap: .65rem; }
	.journal-post__content .product-card { min-width: 0; border-radius: .7rem; }
	.journal-post__content .product-card__image-link { display: grid; min-height: 7.5rem; place-items: center; }
	.journal-post__content .product-card__image { width: 100%; max-height: 8rem; padding: .4rem; }
	.journal-post__content .product-card__content { gap: .4rem; padding: .65rem; }
	.journal-post__content .product-card__title { font-size: .92rem; line-height: 1.15; }
	.journal-post__content .product-card__description, .journal-post__content .product-card__category { font-size: .7rem; line-height: 1.4; }
	.journal-post__content .product-card__actions { gap: .35rem; }
	.journal-post__content .product-card__actions .button { min-height: 2.5rem; padding: .45rem .35rem; font-size: .72rem; }
	.journal-post__content .faq-section { display: block; margin: 1.5rem 0; padding: 0; }
	.journal-post__content .faq-section__title { margin: 0 0 .35rem; font-size: 1.65rem; }
	.journal-post__content .faq-section > p { margin: 0 0 .85rem; color: #526257; font-size: .95rem; line-height: 1.55; }
	.journal-post__content .faq-list { display: grid; grid-template-columns: minmax(0, 1fr); grid-auto-flow: row; gap: 0; margin: 0; border-top: 1px solid #e3dac7; }
	.journal-post__content .faq-item { min-width: 0; margin: 0; padding: 0; border-bottom: 1px solid #e3dac7; }
	.journal-post__content .faq-item__heading { margin: 0; }
	.journal-post__content .faq-trigger, .journal-post__content details > summary { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 3.5rem; gap: .75rem; padding: .8rem .15rem; color: #174634; font: inherit; font-weight: 650; line-height: 1.4; text-align: left; cursor: pointer; }
	.journal-post__content .faq-panel, .journal-post__content details > :not(summary) { height: auto; min-height: 0; padding: 0 .15rem .85rem; }
	.journal-post__content .faq-panel__answer, .journal-post__content details > :not(summary) { margin-top: 0; margin-bottom: 0; color: #526257; font-size: .95rem; line-height: 1.62; }
	.journal-post__content .faq-panel__answer > :last-child { margin-bottom: 0; }
}
