.cbmg-theme-inner-container {
    width: min(100%, 1120px);
    margin-inline: auto;
}

.cbmg-theme-section {
    padding-block: 48px;
}

.cbmg-theme-section--compact {
    padding-block: 24px;
}

.cbmg-theme-grid {
    display: grid;
    gap: 20px;
}

.cbmg-theme-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cbmg-theme-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cbmg-theme-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 900px) {
    .cbmg-theme-grid--2,
    .cbmg-theme-grid--3,
    .cbmg-theme-grid--4 { grid-template-columns: 1fr; }
}

.cbmg-theme-gallery { display: grid; gap: 20px; margin: 24px 0; }
.cbmg-theme-gallery--grid { grid-template-columns: repeat(var(--cbmg-gallery-columns, 3), minmax(0, 1fr)); }
.cbmg-theme-gallery--list { grid-template-columns: 1fr; }
.cbmg-theme-gallery__item { margin: 0; border-radius: 8px; overflow: hidden; background: #FAFAF8; border: 1px solid #E2DFD8; }
.cbmg-theme-gallery__item img { display: block; width: 100%; height: auto; }
.cbmg-theme-gallery__item figcaption { padding: 10px 12px; font-size: 13px; color: #6B6B6B; }
.cbmg-theme-icon-list,
.cbmg-theme-image-list,
.cbmg-theme-faq,
.cbmg-theme-contact-box,
.cbmg-theme-social-actions,
.cbmg-theme-component-slot { box-sizing: border-box; }
.cbmg-theme-icon-list,
.cbmg-theme-image-list { display: grid; gap: 12px; }
.cbmg-theme-contact-box { padding: 20px; border: 1px solid #E2DFD8; border-radius: 8px; background: #FAFAF8; }
.cbmg-theme-social-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.cbmg-theme-social-actions__placeholder { display: inline-flex; align-items: center; min-height: 36px; padding: 8px 14px; border-radius: 8px; border: 1px solid #E2DFD8; color: #1C3440; background: #FAFAF8; font-size: 14px; }
.cbmg-theme-component-slot { min-height: 1px; }
@media (max-width: 768px) { .cbmg-theme-gallery--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .cbmg-theme-gallery--grid { grid-template-columns: 1fr; } }

.cbmg-theme-archive { display: grid; gap: 20px; margin: 24px 0; }
.cbmg-theme-archive--grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cbmg-theme-archive--list { grid-template-columns: 1fr; }
.cbmg-theme-archive-card { border: 1px solid #E2DFD8; border-radius: 8px; overflow: hidden; background: #FAFAF8; }
.cbmg-theme-archive-card__image img { display: block; width: 100%; height: auto; }
.cbmg-theme-archive-card__body { padding: 16px; }
.cbmg-theme-archive-card__title { margin: 0 0 10px; font-size: 20px; line-height: 1.35; }
.cbmg-theme-pagination { margin: 32px 0; }
@media (max-width: 900px) { .cbmg-theme-archive--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .cbmg-theme-archive--grid { grid-template-columns: 1fr; } }
