/* FESTENO Responsive Foundation — one gutter system across public pages and workspaces */
:root {
  --festeno-gutter-mobile: 20px;
  --festeno-gutter-tablet: 28px;
  --festeno-gutter-desktop: 48px;
  --festeno-space-1: 8px;
  --festeno-space-2: 12px;
  --festeno-space-3: 16px;
  --festeno-space-4: 24px;
  --festeno-space-5: 32px;
}
*, *::before, *::after { box-sizing: border-box; }
img, video, iframe { max-width: 100%; }
@media (max-width: 767px) {
  /* Global public-page gutters. These selectors intentionally target only full-width content bands. */
  .wp-site-blocks > header.wp-block-group,
  .wp-site-blocks > footer.wp-block-group,
  main .entry-content > .wp-block-group.alignfull,
  main .entry-content > .wp-block-cover.alignfull,
  main .entry-content > .wp-block-columns.alignfull,
  .festeno-partners {
    padding-left: var(--festeno-gutter-mobile) !important;
    padding-right: var(--festeno-gutter-mobile) !important;
  }
  main .entry-content > .wp-block-group.alignfull,
  main .entry-content > .wp-block-cover.alignfull {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .wp-site-blocks, main, .entry-content { overflow-wrap: anywhere; }

  /* Customer workspace: Discover, planning and event routes. */
  .fce-nav { padding-left: var(--festeno-gutter-mobile) !important; padding-right: var(--festeno-gutter-mobile) !important; }
  .fce-section { padding-left: var(--festeno-gutter-mobile) !important; padding-right: var(--festeno-gutter-mobile) !important; }
  .fce-filters, .fce-option-grid, .fce-dashgrid { gap: var(--festeno-space-3); }
  .fce-option-grid, .fce-dashgrid { grid-template-columns: minmax(0, 1fr) !important; }
  .fce-actions { flex-direction: column; align-items: stretch; gap: var(--festeno-space-2); }
  .fce-actions .fce-btn { width: 100%; min-height: 44px; }

  /* Partner workspace: every secondary module remains below the main content. */
  .fpp-header, .fpp-tabs { padding-left: var(--festeno-gutter-mobile) !important; padding-right: var(--festeno-gutter-mobile) !important; }
  .fpp-section { padding-left: var(--festeno-gutter-mobile) !important; padding-right: var(--festeno-gutter-mobile) !important; }
  .fpp-grid, .fpp-formgrid, .fpp-opp-row { grid-template-columns: minmax(0, 1fr) !important; gap: var(--festeno-space-3); }
  .fpp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: var(--festeno-space-2); }
  .fpp-tabs { overflow: visible !important; flex-wrap: wrap !important; gap: var(--festeno-space-2); }
  .fpp-tab { flex: 1 1 calc(50% - 6px); min-width: 0; min-height: 44px; }
  .fpp-btn { width: 100%; min-height: 44px; }
}
@media (max-width: 389px) {
  .fpp-stats { grid-template-columns: minmax(0, 1fr) !important; }
  .fpp-tab { flex-basis: 100%; }
}
@media (min-width: 768px) and (max-width: 959px) {
  .fce-nav, .fce-section, .fpp-header, .fpp-tabs, .fpp-section { padding-left: var(--festeno-gutter-tablet); padding-right: var(--festeno-gutter-tablet); }
}
