/**
 * Gutenberg Compatibility CSS
 * Bridges WordPress block editor wrapper classes to existing theme CSS selectors.
 */

/* =========================================
   1. Full-Width Reset — Remove WP max-width
   ========================================= */
.hero.wp-block-cover.alignfull,
.about-voice-section.wp-block-group.alignfull,
.why-attend-section.wp-block-group.alignfull,
.sponsor-carousel-section.wp-block-group.alignfull {
    max-width: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

/* =========================================
   2. Hero Cover Block
   ========================================= */

/* Hide WP's default cover overlay — theme uses ::before/::after gradient */
.hero.wp-block-cover .wp-block-cover__background {
    opacity: 0 !important;
}

/* Cover inner container inherits hero's z-index stacking */
.hero.wp-block-cover .wp-block-cover__inner-container {
    position: relative;
    z-index: 1;
    color: var(--light);
}

/* Hero logo within wp-block-image figure */
.hero .wp-block-image.hero-logo {
    margin: 0 auto 15px;
    text-align: center;
}

.hero .wp-block-image.hero-logo img {
    max-width: 400px;
    height: auto;
}

/* Ensure hero cover has no min-height override */
.hero.wp-block-cover {
    min-height: unset !important;
}

/* Hero heading and paragraph styling via cover */
.hero.wp-block-cover h2 {
    color: var(--light);
}

/* =========================================
   3. Container Bridge
   ========================================= */
.wp-block-group.container {
    width: 90%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

/* Nested containers should not double-constrain */
.wp-block-group.container .wp-block-group__inner-container {
    max-width: none;
    padding: 0;
}

/* =========================================
   4. Columns-to-Grid Override
   ========================================= */

/* About Voice: 2-col grid */
.wp-block-columns.about-voice-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
    flex-wrap: nowrap;
}

/* Why Attend: 2-col grid */
.wp-block-columns.why-attend-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
    flex-wrap: nowrap;
}

/* Content Grid: 70/30 split */
.wp-block-columns.content-grid {
    display: grid;
    grid-template-columns: 7fr 3fr;
    gap: 40px;
    padding: 40px 0 80px;
    flex-wrap: nowrap;
}

/* Post Grid: 2 equal columns */
.wp-block-columns.post-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    flex-wrap: nowrap;
}

/* Remove WP default column flex basis */
.about-voice-content > .wp-block-column,
.why-attend-content > .wp-block-column,
.content-grid > .wp-block-column,
.post-grid > .wp-block-column {
    flex-basis: unset !important;
    flex-grow: unset !important;
}

/* =========================================
   5. Image Figure Bridge
   ========================================= */

/* Pass through figure styles to img */
.wp-block-image.about-img img,
.about-voice-image .wp-block-image img {
    width: 100%;
    border-radius: 8px;
    box-shadow: none;
}

.wp-block-image.why-img img,
.why-attend-image .wp-block-image img {
    width: 100%;
    border-radius: 8px;
    box-shadow: none;
}

.wp-block-image.infographic-img img,
.infographic-section .wp-block-image img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: none;
}

/* Remove default figure margins from WP blocks */
.hero .wp-block-image,
.about-voice-image .wp-block-image,
.why-attend-image .wp-block-image,
.infographic-section .wp-block-image {
    margin-bottom: 0;
}

/* =========================================
   6. Button Mapping
   ========================================= */

/* Reset outer wrapper — theme's .btn-* styles target the class directly */
.wp-block-button.btn-primary,
.wp-block-button.btn-secondary,
.wp-block-button.btn-small {
    background: none;
    padding: 0;
    border: none;
}

/* Primary button */
.wp-block-button.btn-primary .wp-block-button__link {
    background-color: var(--COLOR_BRAND_PRIMARY);
    color: var(--light);
    border: 2px solid var(--COLOR_BRAND_PRIMARY);
    border-radius: 0;
    padding: 12px 24px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.wp-block-button.btn-primary .wp-block-button__link:hover {
    background-color: var(--COLOR_BRAND_SECONDARY);
    border-color: var(--COLOR_BRAND_SECONDARY);
    color: var(--light);
}

/* Secondary button */
.wp-block-button.btn-secondary .wp-block-button__link {
    background-color: transparent;
    color: var(--light);
    border: 2px solid var(--light);
    border-radius: 0;
    padding: 12px 24px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.wp-block-button.btn-secondary .wp-block-button__link:hover {
    background-color: var(--light);
    color: var(--COLOR_BRAND_PRIMARY);
}

/* Small button */
.wp-block-button.btn-small .wp-block-button__link {
    background-color: var(--COLOR_BRAND_SUB_3);
    color: var(--light);
    border: 2px solid var(--COLOR_BRAND_SUB_3);
    border-radius: 0;
    padding: 8px 16px;
    font-size: 0.9rem;
    font-weight: 600;
    transition: all 0.3s ease;
}

.wp-block-button.btn-small .wp-block-button__link:hover {
    background-color: var(--COLOR_BRAND_SUB_2);
    border-color: var(--COLOR_BRAND_SUB_2);
    color: var(--light);
}

/* CTA buttons container */
.wp-block-buttons.cta-buttons {
    gap: 20px;
}

/* =========================================
   7. Sidebar Column Bridge
   ========================================= */
.wp-block-column.sidebar {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Post card columns */
.wp-block-column.post-card {
    background-color: var(--content-bg);
    padding: 25px;
}

/* =========================================
   8. Sponsor Carousel — Full-width breakout
   ========================================= */
.sponsor-carousel-section .sponsor-carousel {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}

/* =========================================
   9. Main tag for content-grid wrapper
   ========================================= */
main.wp-block-group.container {
    padding-top: 0;
    padding-bottom: 0;
}

/* =========================================
   10. Sponsors Page — Full-width sections
   ========================================= */
.sponsor-hero.wp-block-group.alignfull,
.sponsor-benefits.wp-block-group.alignfull,
.current-sponsors.wp-block-group.alignfull,
.sponsor-faq.wp-block-group.alignfull {
    max-width: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

/* Hero button overrides — white primary on gradient bg */
.sponsor-hero .wp-block-button.btn-primary .wp-block-button__link {
    background-color: var(--light);
    color: var(--COLOR_BRAND_PRIMARY);
    border-color: var(--light);
}

.sponsor-hero .wp-block-button.btn-primary .wp-block-button__link:hover {
    background-color: var(--light-gray);
}

.sponsor-hero .wp-block-button.btn-secondary .wp-block-button__link {
    background-color: transparent;
    border-color: var(--light);
    color: var(--light);
}

.sponsor-hero .wp-block-button.btn-secondary .wp-block-button__link:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* Hero buttons container */
.sponsor-hero .wp-block-buttons.sponsor-hero-buttons {
    gap: 20px;
}

/* =========================================
   11. Sponsors — Benefits Grid Columns
   ========================================= */
.wp-block-columns.benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    flex-wrap: nowrap;
}

.benefits-grid > .wp-block-column {
    flex-basis: unset !important;
    flex-grow: unset !important;
}

/* =========================================
   12. Sponsors — Logo Image Bridge
   ========================================= */

/* Override WP's is-layout-flow inner container on sponsor logo groups */
.sponsor-logos.wp-block-group > .wp-block-group__inner-container {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}

/* Reset figure margins inside logo grids */
.sponsor-logos .wp-block-image {
    margin: 0;
}

/* =========================================
   13. Sponsors — FAQ Details Block
   ========================================= */
.sponsor-faq .wp-block-details {
    background-color: var(--light);
    border-radius: 8px;
    margin-bottom: 10px;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.sponsor-faq .wp-block-details summary {
    padding: 20px 25px;
    cursor: pointer;
    font-weight: 600;
    color: var(--COLOR_BRAND_SUB_2);
    transition: background-color 0.3s ease, color 0.3s ease;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sponsor-faq .wp-block-details summary::-webkit-details-marker {
    display: none;
}

.sponsor-faq .wp-block-details summary::after {
    content: '+';
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1;
    flex-shrink: 0;
    width: 20px;
    text-align: center;
}

.sponsor-faq .wp-block-details[open] > summary::after {
    content: '\2212';
}

.sponsor-faq .wp-block-details summary:hover {
    background-color: var(--COLOR_BRAND_SUB_4_LIGHT);
}

.sponsor-faq .wp-block-details[open] > summary {
    background-color: var(--COLOR_BRAND_PRIMARY);
    color: var(--light);
}

.sponsor-faq .wp-block-details > :not(summary) {
    padding: 15px 25px 25px;
}

.sponsor-faq .wp-block-details p {
    color: var(--dark);
    line-height: 1.7;
    margin: 0;
}

.sponsor-faq .wp-block-details a {
    color: var(--COLOR_BRAND_PRIMARY);
    font-weight: 600;
}

/* =========================================
   14. Sponsors Prospectus — Full-width sections
   ========================================= */
.prospectus-hero.wp-block-group.alignfull,
.prospectus-section.wp-block-group.alignfull,
.prospectus-intro-section.wp-block-group.alignfull,
.deadline-banner.wp-block-group.alignfull,
.prospectus-cta.wp-block-group.alignfull {
    max-width: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

/* Prospectus CTA button — dark bg needs secondary style */
.prospectus-cta .wp-block-button.btn-secondary .wp-block-button__link {
    color: var(--COLOR_BRAND_PRIMARY);
    border-color: var(--COLOR_BRAND_PRIMARY);
}

.prospectus-cta .wp-block-button.btn-secondary .wp-block-button__link:hover {
    background-color: var(--COLOR_BRAND_PRIMARY);
    color: var(--light);
}

/* Deadline banner heading override */
.deadline-banner.wp-block-group h2 {
    margin: 0;
    color: var(--light);
}

/* =========================================
   15. Program / Attend / Committee — Full-width sections
   ========================================= */
.program-page.wp-block-group.alignfull,
.attend-page.wp-block-group.alignfull,
.committee-section.wp-block-group.alignfull {
    max-width: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

/* CFP buttons — override btn-secondary for dark-on-white context */
.cfp-page .wp-block-buttons.cfp-buttons {
    gap: 15px;
    margin-bottom: 20px;
}

.cfp-page .wp-block-button.btn-secondary .wp-block-button__link {
    color: var(--COLOR_BRAND_PRIMARY);
    border-color: var(--COLOR_BRAND_PRIMARY);
}

.cfp-page .wp-block-button.btn-secondary .wp-block-button__link:hover {
    background-color: var(--COLOR_BRAND_PRIMARY);
    color: var(--light);
}

/* =========================================
   16. Page-Specific Column Grid Overrides
   ========================================= */

/* Registration: 2-col info cards */
.wp-block-columns.registration-info {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    flex-wrap: nowrap;
}

/* Workshop: 2-col info */
.wp-block-columns.workshop-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    flex-wrap: nowrap;
}

/* Workshop: 4-col topics */
.wp-block-columns.topics-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    flex-wrap: nowrap;
}

/* Hotel: featured 1fr/1.5fr grid */
.wp-block-columns.hotel-featured {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 40px;
    flex-wrap: nowrap;
    align-items: center;
}

/* Hotel: 2-col info grid */
.wp-block-columns.hotel-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    flex-wrap: nowrap;
}

/* Agenda: event cards 2-col grid */
.wp-block-columns.event-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    flex-wrap: nowrap;
}

/* Reset WP column flex basis for all page-specific columns */
.registration-info > .wp-block-column,
.workshop-info > .wp-block-column,
.topics-grid > .wp-block-column,
.hotel-featured > .wp-block-column,
.hotel-info-grid > .wp-block-column,
.event-cards > .wp-block-column {
    flex-basis: unset !important;
    flex-grow: unset !important;
}

/* =========================================
   17. Agenda Timeline — Native Block Bridge
   ========================================= */

/* Day Header: flex layout for heading + day-label side by side */
.day-header.wp-block-group {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Reset WP flow layout margins inside day-header */
.day-header.wp-block-group > * + * {
    margin-block-start: 0;
}

.day-header .wp-block-heading {
    margin: 0;
}

.day-header .day-label {
    margin: 0;
}

/* Agenda Item: wp:columns → grid (150px time | 1fr event) */
.wp-block-columns.agenda-item {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 20px;
    flex-wrap: nowrap;
    margin-bottom: 0;
}

/* Column flex reset for agenda items */
.agenda-item > .wp-block-column {
    flex-basis: unset !important;
    flex-grow: unset !important;
}

/* Reset WP flow margins inside agenda groups and columns */
.agenda-container.wp-block-group > * + *,
.agenda-day.wp-block-group > * + *,
.agenda-items.wp-block-group > * + *,
.agenda-item > .wp-block-column > * + * {
    margin-block-start: 0;
}

/* Ensure inner content has no max-width from WP layout */
.agenda-container.wp-block-group > *,
.agenda-day.wp-block-group > *,
.agenda-items.wp-block-group > * {
    max-width: none;
}

/* =========================================
   18. Page-Specific Group Inner Layout
   ========================================= */

/* Ensure WP constrained layout doesn't add max-width to inner content */
.workshop-register.wp-block-group > *,
.speakers-highlight.wp-block-group > *,
.speakers-placeholder.wp-block-group > *,
.abstract-info-box.wp-block-group > *,
.evening-events.wp-block-group > *,
.workshop-topics.wp-block-group > * {
    max-width: none;
}

/* =========================================
   19. Responsive Overrides
   ========================================= */
@media (max-width: 992px) {
    .wp-block-columns.about-voice-content,
    .wp-block-columns.why-attend-content {
        grid-template-columns: 1fr;
    }

    .wp-block-columns.content-grid {
        grid-template-columns: 1fr;
    }

    .wp-block-columns.topics-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .wp-block-columns.post-grid,
    .wp-block-columns.benefits-grid {
        grid-template-columns: 1fr;
    }

    .hero .wp-block-image.hero-logo img {
        max-width: 280px;
    }

    .wp-block-buttons.cta-buttons {
        flex-direction: column;
        align-items: center;
    }

    .wp-block-columns.registration-info,
    .wp-block-columns.workshop-info,
    .wp-block-columns.hotel-featured,
    .wp-block-columns.hotel-info-grid,
    .wp-block-columns.event-cards {
        grid-template-columns: 1fr;
    }

    .wp-block-columns.topics-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================
   20. Home — Widget & List Block Bridge
   ========================================= */

/* Widget group blocks: reset inner container max-width constraint */
.widget.wp-block-group > * {
    max-width: none;
}

/* wp:list inherits styling from existing .why-attend-list rules */
.why-attend-list.wp-block-list {
    list-style: none;
    padding-left: 0;
}

/* wp:list inherits styling from existing .date-list rules */
.date-list.wp-block-list {
    list-style: none;
    padding-left: 0;
}

/* Sidebar widget button alignment within wp-block-buttons container */
.sidebar .widget .wp-block-buttons {
    margin-top: 0;
}

.sidebar .widget .wp-block-button.btn-small .wp-block-button__link {
    display: inline-block;
}

/* =========================================
   21. Committee — Group & Columns Bridge
   ========================================= */

/* Reset max-width constraints inside committee-group wp:group blocks */
.committee-group.wp-block-group > * {
    max-width: none;
}

/* Reset max-width for committee-table-wrapper inside wp:html */
.committee-group .committee-table-wrapper {
    max-width: none;
}

/* Committee bottom section: columns layout override */
.wp-block-columns.committee-bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    align-items: flex-start;
}

/* Photo column sizing */
.wp-block-columns.committee-bottom .wp-block-column.committee-photo-small {
    flex-basis: 300px;
    flex-grow: 0;
}

/* Contact column sizing */
.wp-block-columns.committee-bottom .wp-block-column.committee-contact {
    flex-basis: 0;
    flex-grow: 1;
}

/* Image figure reset inside committee bottom */
.committee-photo-small .wp-block-image {
    margin: 0;
}

.committee-photo-small .wp-block-image img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

/* =========================================
   22. Call for Papers — CFP Layout Bridge
   ========================================= */

/* Two-column layout: tracks (wider) + dates */
.wp-block-columns.cfp-layout {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 40px;
}

/* Reset Gutenberg default flex-basis on columns inside cfp-layout */
.cfp-layout > .wp-block-column {
    flex-basis: auto !important;
}

/* Remove Gutenberg default max-width constraints inside track items */
.track-item.wp-block-group > * {
    max-width: none;
}

/* Remove Gutenberg default max-width constraints inside date items */
.date-item.wp-block-group > * {
    max-width: none;
}

/* =========================================
   23. Hotel — Highlights Bridge
   ========================================= */

/* Side-by-side highlight boxes */
.wp-block-columns.hotel-highlights {
    display: flex;
    gap: 20px;
}

/* Reset Gutenberg default flex-basis on highlight columns */
.hotel-highlights > .wp-block-column {
    flex-basis: auto !important;
    flex: 1;
}

/* =========================================
   24. Kiosk — Grid Layout Bridge
   ========================================= */

/* Kiosk grid: override Gutenberg inner-container to use CSS grid */
.kiosk-list.wp-block-group > .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    max-width: none;
}

/* Reset max-width on kiosk items so they fill grid cells */
.kiosk-item.wp-block-group,
.kiosk-item.wp-block-group > .wp-block-group__inner-container,
.kiosk-item.wp-block-group > * {
    max-width: none;
}

/* =========================================
   25. Technical — Track Section Bridge
   ========================================= */

/* Reset max-width on track sections so they fill container */
.track-section.wp-block-group,
.track-section.wp-block-group > .wp-block-group__inner-container,
.track-section.wp-block-group > * {
    max-width: none;
}

/* =========================================
   26. Sponsors Prospectus — Tier Tables Bridge
   ========================================= */

/* Tier Headers Section */
.prospectus-tiers-section.wp-block-group.alignfull {
    max-width: 100%;
    padding: 0;
    margin: 0;
}

/* Reset inner container constraints inside prospectus sections */
.prospectus-tiers-section .wp-block-group > .wp-block-group__inner-container,
.prospectus-tiers-section .wp-block-group > *,
.prospectus-table-section .wp-block-group > .wp-block-group__inner-container,
.prospectus-table-section .wp-block-group > * {
    max-width: none;
}

/* Override old theme .tier-headers grid — Gutenberg wraps in __inner-container */
.prospectus-tiers-section .tier-headers.wp-block-group {
    display: block;
}

.prospectus-tiers-section .wp-block-columns.tier-header-row {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    gap: 0;
    margin-bottom: 0;
}

.prospectus-tiers-section .tier-header-row > .wp-block-column {
    flex-basis: auto !important;
    flex-grow: 0 !important;
    text-align: center;
    padding: 15px 10px;
}

.prospectus-tiers-section .tier-header-row > .wp-block-column.tier-headline {
    background: var(--tier-headline-bg, #1a3a5c);
    color: #fff;
}

.prospectus-tiers-section .tier-header-row > .wp-block-column.tier-platinum {
    background: var(--tier-platinum-bg, #5a5a5a);
    color: #fff;
}

.prospectus-tiers-section .tier-header-row > .wp-block-column.tier-gold {
    background: var(--tier-gold-bg, #b8860b);
    color: #fff;
}

.prospectus-tiers-section .tier-header-row > .wp-block-column.tier-silver {
    background: var(--tier-silver-bg, #808080);
    color: #fff;
}

.prospectus-tiers-section .tier-header-row .wp-block-heading {
    color: #fff;
    margin-bottom: 5px;
}

.prospectus-tiers-section .tier-header-row p {
    font-size: 0.85em;
    margin: 0;
    opacity: 0.9;
}

/* Table Sections */
.prospectus-table-section.wp-block-group.alignfull {
    max-width: 100%;
    padding: 0;
    margin: 0;
}

.prospectus-table-section .wp-block-heading.section-header {
    background: #f0f0f0;
    padding: 12px 15px;
    margin-bottom: 0;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Benefits Table */
.wp-block-table.prospectus-benefits-table {
    margin: 0;
}

.wp-block-table.prospectus-benefits-table table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.wp-block-table.prospectus-benefits-table thead tr th {
    background: #f5f5f5;
    font-weight: 600;
    font-size: 0.85em;
    text-transform: uppercase;
    padding: 10px 12px;
    border-bottom: 2px solid #ddd;
    text-align: center;
}

.wp-block-table.prospectus-benefits-table thead tr th:first-child,
.wp-block-table.prospectus-benefits-table thead tr th:nth-child(2) {
    text-align: left;
}

/* Column widths: Benefit, Details get more space; tier cols equal */
.wp-block-table.prospectus-benefits-table table th:first-child,
.wp-block-table.prospectus-benefits-table table td:first-child {
    width: 15%;
}

.wp-block-table.prospectus-benefits-table table th:nth-child(2),
.wp-block-table.prospectus-benefits-table table td:nth-child(2) {
    width: 30%;
}

.wp-block-table.prospectus-benefits-table table th:nth-child(n+3),
.wp-block-table.prospectus-benefits-table table td:nth-child(n+3) {
    width: 13.75%;
    text-align: center;
}

.wp-block-table.prospectus-benefits-table tbody tr td {
    padding: 10px 12px;
    border-bottom: 1px solid #eee;
    vertical-align: top;
    font-size: 0.9em;
}

.wp-block-table.prospectus-benefits-table tbody tr:nth-child(even) {
    background: #fafafa;
}

/* Giveaway list styling inside table cells */
.wp-block-table.prospectus-benefits-table td ul {
    margin: 5px 0 0 0;
    padding-left: 18px;
    list-style: disc;
}

.wp-block-table.prospectus-benefits-table td ul li {
    font-size: 0.9em;
    margin-bottom: 2px;
}

.wp-block-table.prospectus-benefits-table td .note {
    display: block;
    font-size: 0.8em;
    font-style: italic;
    margin-top: 5px;
    color: #666;
}

/* =========================================
   27. Additional Responsive Overrides
   ========================================= */
@media (max-width: 768px) {
    /* CFP layout single column */
    .wp-block-columns.cfp-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    /* Hotel highlights stack */
    .wp-block-columns.hotel-highlights {
        flex-direction: column;
    }

    /* Kiosk single column */
    .kiosk-list.wp-block-group > .wp-block-group__inner-container {
        grid-template-columns: 1fr;
    }

    /* Prospectus tier headers stack */
    .prospectus-tiers-section .wp-block-columns.tier-header-row {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .prospectus-tiers-section .tier-header-row > .wp-block-column.tier-label {
        display: none;
    }

    /* Prospectus tables horizontal scroll */
    .wp-block-table.prospectus-benefits-table {
        overflow-x: auto;
        display: block;
    }

    .wp-block-table.prospectus-benefits-table table {
        min-width: 700px;
    }
}
