/* FibaCloud fluid page frame. One viewport gutter; nested components retain
   their own spacing. Editorial text stays readable on very wide displays. */
:root { --fc-page-gutter:clamp(20px,2.5vw,48px); --fc-reading-measure:800px; }

/* Shared corporate shell and community section navigation. */
html body .fc-platform .fcp-container,
html body .fccv .fccv-inner {
  width:100%; max-width:none; margin-inline:auto; padding-inline:var(--fc-page-gutter);
}
html body .fc-platform .fcp-popover {
  max-width:calc(100vw - 2 * var(--fc-page-gutter));
}

@media(min-width:881px) {
  html body .fc-platform .fcp-popover { inset-inline:var(--fc-page-gutter); }
}

/* Outermost marketing containers only: no second gutter in tabs or cards. */
html body.fc-modern[data-fc-content] .container:not(.container .container):not(#cookies-dialog .container):not(.fc-platform .container) {
  width:calc(100% - 2 * var(--fc-page-gutter)); max-width:none;
  margin-inline:auto; padding-inline:0;
}
html body.fc-modern[data-fc-content] > :is(header,main,section,div):not(#cookies-dialog) > .container-fluid,
html body#pricing-page2 .fc-pricing-v3 .site-content > :is(header,section,div) > .container-fluid {
  width:100%; max-width:none; padding-inline:var(--fc-page-gutter);
}
html body.fc-modern .fc-home-hero-inner {
  width:100%; max-width:none; padding-inline:var(--fc-page-gutter);
  gap:clamp(32px,4vw,96px);
}
html body.fc-modern .fc-home-directory { padding-inline:var(--fc-page-gutter); }
html body.fc-modern .fc-home-resources { padding-inline:var(--fc-page-gutter); }
html body.fc-modern .fc-home-resources-inner { width:100%; max-width:none; }

/* Legal navigation occupies a bounded rail while the frame remains fluid. */
html body.fc-modern[data-fc-content=legal] main > .container-fluid {
  width:100%; max-width:none; padding-inline:var(--fc-page-gutter);
}
html body.fc-modern[data-fc-content=legal] main > .container-fluid > .content {
  width:100%; min-width:0; max-width:calc(var(--fc-reading-measure) + 40px);
}
@media(min-width:992px) {
  html body.fc-modern[data-fc-content=legal] main > .container-fluid {
    display:grid; grid-template-columns:clamp(260px,23vw,340px) minmax(0,1fr);
    column-gap:clamp(28px,4vw,96px);
  }
  html body.fc-modern[data-fc-content=legal] main > .container-fluid > .sidebar { width:100%; min-width:0; }
  html body.fc-modern[data-fc-content=legal] main > .container-fluid > .content { padding-inline:0; max-width:var(--fc-reading-measure); }
}

/* Pricing keeps its existing collapsible rail and full-width plan area. */
html body#pricing-page2 .fc-pricing-v3 .sidebar-controller { padding-inline:var(--fc-page-gutter); }
html body#pricing-page2 .fc-pricing-v3 .site-content .container:not(.container .container) {
  width:calc(100% - 2 * var(--fc-page-gutter)); max-width:none; padding-inline:0;
}

/* Legacy map callouts must stay inside the wider content frame. */
@media(min-width:768px) {
  html body.fc-modern .map-se .mark:nth-child(6) .m-body { left:auto; right:0; transform:none; }
  html body.fc-modern .map-se .mark:nth-child(6) .m-body::before { left:auto; right:18px; }
}
/* Keep the calculator introduction readable on the smallest screens. */
html body.fc-modern[data-fc-content=calculator] > .se-i .title-1 { font-size:clamp(30px,3.8vw,55px); overflow-wrap:break-word; }
@media(max-width:991px) {
  html body.fc-modern[data-fc-content=calculator] > .se-i .hero {
    position:static; width:100%; max-width:380px; height:auto; margin:24px auto 0;
  }
}

/* Community hub and section landing pages. */
html body.fc-community .fc-shell {
  width:calc(100% - 2 * var(--fc-page-gutter)); max-width:none; margin-inline:auto;
}
html body.fc-resource-v3 .fccv-resource-topics {
  width:100%; max-width:none; padding-inline:var(--fc-page-gutter);
}
html body.fc-tutorials #fc-tutorial-main > .elementor > .e-con {
  width:calc(100% - 2 * var(--fc-page-gutter)); max-width:none; margin-inline:auto; padding-inline:0;
}
html body.fc-tutorials #fc-tutorial-main > .elementor > .e-con > .e-con-inner {
  width:100%; max-width:none;
}
html body.fc-resource-v3 #fc-resource-main > .container-xl,
html body:is(.fc-tutorials,.fc-resource-v3) :is(#fc-tutorial-main,#fc-resource-main) > .main-content > .container-xl {
  width:100%; max-width:none; margin-inline:auto; padding-inline:var(--fc-page-gutter);
}
html body.fc-resource-v3 #fc-resource-main > .elementor > .elementor-top-section { padding-inline:0; }
html body.fc-resource-v3 #fc-resource-main > .elementor > .elementor-top-section > .elementor-container {
  width:calc(100% - 2 * var(--fc-page-gutter)); max-width:none; margin-inline:auto;
}
html body.fc-resource-v3 #fc-resource-main > .elementor > .elementor-top-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
  padding-inline:0;
}

/* Preserve reading measure and give supporting navigation a bounded width. */
@media(min-width:992px) {
  html body.fc-tutorials.home #fc-tutorial-main > .elementor > .e-con:first-child {
    display:grid; grid-template-columns:clamp(230px,20vw,300px) minmax(0,1fr); gap:clamp(24px,3vw,56px);
  }
  html body.fc-tutorials.home #fc-tutorial-main > .elementor > .e-con:first-child > .e-con { width:100%; min-width:0; }
  html body:is(.fc-tutorials,.fc-resource-v3) :is(#fc-tutorial-main,#fc-resource-main) > .main-content > .post-container > .row {
    display:grid; grid-template-columns:minmax(0,1fr) clamp(280px,24vw,360px); gap:clamp(24px,3vw,56px);
    margin-inline:0;
  }
  html body:is(.fc-tutorials,.fc-resource-v3) :is(#fc-tutorial-main,#fc-resource-main) > .main-content > .post-container > .row > :is(.col-lg-8,.col-md-4) {
    width:100%; max-width:none; min-width:0; padding-inline:0;
  }
  html body.fc-resource-v3 #fc-resource-main > .elementor > .elementor-top-section > .elementor-container:has(> .elementor-col-66) {
    display:grid; grid-template-columns:minmax(0,1fr) clamp(280px,26vw,380px); gap:clamp(24px,3vw,56px);
  }
  html body.fc-resource-v3 #fc-resource-main > .elementor > .elementor-top-section > .elementor-container > :is(.elementor-col-66,.elementor-col-33) {
    width:100%; min-width:0;
  }
}

/* Himer Q&A has its own Bootstrap namespace and outer frame. */
html body.fc-community-questions #wrap .page-main > section > .container-fluid {
  width:100%; max-width:none; padding-inline:var(--fc-page-gutter); margin-inline:auto;
}
@media(min-width:1200px) {
  html body.fc-community-questions #wrap .main-section > .container-fluid > .the-main-inner:has(> .warp-left-menu):has(> .warp-sidebar) {
    display:grid; grid-template-columns:clamp(180px,15vw,230px) minmax(0,1fr) clamp(260px,22vw,330px);
  }
  html body.fc-community-questions #wrap .main-section > .container-fluid > .the-main-inner:has(> .warp-left-menu):has(> .warp-sidebar) > :is(.warp-left-menu,.warp-main-content,.warp-sidebar) {
    width:100%; max-width:none; min-width:0; flex-basis:auto;
  }
}
html body.fc-community-questions .page-main .question-content-text { max-width:var(--fc-reading-measure); }

@media(max-width:600px) {
  :root { --fc-page-gutter:18px; }
  html body.fc-modern .fc-home-hero-inner { gap:30px; }
  html body.fc-modern[data-fc-content=legal] main > .container-fluid > .content { max-width:none; }
}

/* The home tab frame already sits inside the shared outer container. */
html body.fc-modern[data-fc-content=home] #animateTabs { max-width:none; }
