.review-posts { display: grid; grid-column: 1 / -1; gap: 1.5rem; min-width: 0; }
.review-post { container-type: inline-size; min-width: 0; background: var(--review-post-paper, #fff); color: var(--review-ink, #201e1b); border: 1px solid #ded9d0; border-radius: 18px; overflow: hidden; }
.review-post .review-post-heading { display: flex; justify-content: flex-start; align-items: center; gap: .8rem; padding: 1rem 1.25rem; border-bottom: 1px solid #e6e1d8; background: #faf8f3; color: #201e1b; }
.review-post-heading img { width: 48px; height: 48px; object-fit: contain; flex: 0 0 auto; }
.review-post-heading p { font-size: .81rem; margin: 0 0 .25rem; color: #665d4e; }
.review-post-heading h3 { font-size: clamp(1.05rem, 3.6vw, 1.45rem); margin: 0; line-height: 1.25; }
.review-post-layout { display: grid; grid-template-areas: "instagram" "materials"; gap: 1rem; padding: 1rem; }
.review-post-materials { grid-area: materials; min-width: 0; display: grid; gap: 1rem; align-content: start; }
.review-post-variant { min-width: 0; border: 1px solid #e4ddd1; border-radius: 12px; overflow: hidden; }
.review-post-variant > h4 { margin: 0; padding: .65rem .8rem; font-size: 1rem; background: #f6f3ec; border-bottom: 1px solid #e4ddd1; }
.review-post-option { padding: .7rem .8rem; }
.review-post-option + .review-post-option { border-top: 1px solid #ebe6dc; }
.review-post-option-heading { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 2.4rem; margin-bottom: .4rem; }
.review-post-option-heading h5, .review-post-caption h4 { font-size: .9rem; margin: 0; }
.review-post-navigation { display: flex; align-items: center; gap: .45rem; color: #665d4e; font-size: .8rem; white-space: nowrap; }
.review-post-navigation button { color: #27231d; background: #f6f3ed; border: 1px solid #d6cbbb; min-width: 36px; min-height: 36px; padding: 0 .35rem; border-radius: 8px; font-size: 1.4rem; cursor: pointer; }
.review-post-navigation button:disabled { opacity: .42; cursor: default; }
.review-post-track { display: grid; grid-auto-flow: column; grid-auto-columns: 78%; gap: .55rem; overflow-x: auto; position: relative; overscroll-behavior-inline: contain; scrollbar-width: thin; padding-bottom: .3rem; }
.review-post-track-single { grid-auto-columns: minmax(0, min(100%, 360px)); }
.review-post-frame { min-width: 0; margin: 0; scroll-snap-align: start; }
.review-post-frame img { height: auto; }
.review-post-frame img, .review-post-clip { width: 100%; aspect-ratio: 3 / 4; display: block; object-fit: contain; background: #efebe4; border-radius: 8px; }
.review-post-clip { position: relative; overflow: hidden; }
.review-post-clip img, .review-post-clip video { width: 100%; height: 100%; object-fit: contain; display: block; }
.review-post .review-post-play, .review-post .review-post-video-back { position: absolute; display: grid; place-items: center; box-sizing: border-box; background: #211d19e8; color: #fff; border: 1px solid #fff9; border-radius: 50%; width: 46px; height: 46px; min-width: 0; min-height: 0; padding: 0; cursor: pointer; }
.review-post .review-post-play { inset: 50% auto auto 50%; transform: translate(-50%, -50%); }
.review-post .review-post-video-back { inset: .35rem .35rem auto auto; width: 34px; height: 34px; line-height: 1; font-size: 1.25rem; }
.review-post .review-post-play:hover, .review-post .review-post-video-back:hover { background: #342c21; border-color: #fff; }
.review-instagram { grid-area: instagram; min-width: 0; align-self: start; }
.review-instagram > details { border: 1px solid #e4ddd1; border-radius: 12px; padding: .7rem; background: #faf8f3; }
.review-instagram summary { cursor: pointer; color: #262019; font-size: .87rem; font-weight: 650; }
.review-instagram-choice { display: grid; gap: .25rem; color: #60564b; font-size: .77rem; margin: .55rem 0; }
.review-instagram-choice select { width: 100%; min-height: 38px; padding: .3rem .5rem; margin: 0; }
.review-instagram-feed { border: 1px solid #e4ddd1; border-radius: 9px; background: #fff; overflow: hidden; }
.review-instagram-account { display: flex; gap: .55rem; align-items: center; padding: .55rem .7rem; font-size: .82rem; overflow-wrap: anywhere; }
.review-instagram-account img { display: block; width: 32px; height: 32px; object-fit: contain; border: 1px solid #eee7da; border-radius: 50%; }
.review-instagram-carousel { padding: 0; }
.review-instagram-carousel .review-post-track { grid-auto-columns: 100%; gap: 0; padding: 0; scrollbar-width: none; scroll-snap-type: x mandatory; }
.review-instagram-carousel .review-post-track::-webkit-scrollbar { display: none; }
.review-instagram-carousel .review-post-frame img, .review-instagram-carousel .review-post-clip { border-radius: 0; }
.review-instagram-carousel .review-post-navigation { justify-content: space-between; padding: .2rem .4rem; }
.review-instagram-dots { display: flex; gap: .05rem; align-items: center; }
.review-instagram-dots button { background: transparent; border: 0; min-width: 25px; min-height: 34px; display: grid; place-items: center; padding: 0; }
.review-instagram-dots button::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #c7c0b3; }
.review-instagram-dots button[aria-current="true"]::before { background: #356991; }
.review-instagram-caption { padding: .6rem .7rem; border-top: 1px solid #f0eae0; }
.review-instagram-caption p { white-space: pre-wrap; font-size: .82rem; line-height: 1.5; margin: .45rem 0 0; overflow-wrap: anywhere; }
.review-post-caption { border-top: 1px solid #e6e1d8; padding: 1rem 1.25rem; margin-top: .25rem; }
.review-post-caption p { white-space: pre-wrap; line-height: 1.55; margin: .5rem 0 0; font-size: .92rem; }
.review-post-actions { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; padding: .85rem 1.25rem; border-top: 1px solid #e6e1d8; background: #faf8f3; }
.review-post-actions label { display: grid; gap: .35rem; margin: 0; font-size: .85rem; }
.review-post-actions select { width: min(70vw, 390px); min-height: 42px; }
.review-post-actions > p { font-size: .86rem; margin: 0; }
.review-post-files { padding: .65rem 1.25rem 1.15rem; }
.review-post-files summary { cursor: pointer; }
.review-post-files .buttons { margin-top: .55rem; }
.review-post-filter-return { display: inline-block; margin: 0 0 1rem; }
@container (min-width: 550px) {
  .review-post-track:not(.review-post-track-single) { grid-auto-columns: 43%; }
  .review-instagram-carousel .review-post-track { grid-auto-columns: 100%; }
}
@container (min-width: 850px) {
  .review-post-layout { grid-template-areas: "materials instagram"; grid-template-columns: minmax(0, 1fr) minmax(230px, 29%); }
  .review-post-track:not(.review-post-track-single) { grid-auto-columns: calc((100% - 1.65rem) / 4); }
  .review-instagram-carousel .review-post-track { grid-auto-columns: 100%; }
}
@container (max-width: 550px) {
  .review-post-layout { padding: .7rem; }
  .review-post-caption, .review-post .review-post-heading, .review-post-actions, .review-post-files { padding-left: .85rem; padding-right: .85rem; }
}

.review-post-navigation button[hidden] { display: none; }
