/* Flying Is Living Site Design v10 — single, consistent visual specification. */
:root { --fil-blue:#175d91; --fil-pale:#edf5fb; --fil-line:#d4e3ed; --fil-ink:#000; --fil-orange:#ffa500; }
/* Typography: retain black text, scoped page styles */
.entry-content { font-size:18px; line-height:1.55; color:#000; }
.entry-content p,.entry-content li,.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4 { color:#000; }
.entry-content h2 { font-size:clamp(1.55rem,2.4vw,2.1rem);font-weight:750;line-height:1.25; }
.entry-content h3 { font-size:clamp(1.2rem,1.8vw,1.45rem);font-weight:720;line-height:1.3; }
.entry-content a { color:#14598c; }
.entry-content .fil-hero .wp-block-button__link,.entry-content .fil-cta .wp-block-button__link { background:var(--fil-orange);color:#fff!important;border-radius:8px;padding:13px 24px;font-weight:700;text-decoration:none; }
.entry-content .fil-hero .wp-block-button__link:hover,.entry-content .fil-cta .wp-block-button__link:hover { background:#e38f00;color:#fff!important; }
/* Neutralize Gutenberg's default block spacing within our designed panels. */
.entry-content :is(.fil-hero,.fil-service-card,.fil-feature,.fil-process,.fil-cta) :is(h2,h3,p,ul,ol) { margin-top:0; }
.entry-content :is(.fil-hero,.fil-service-card,.fil-feature,.fil-process,.fil-cta) p { margin-bottom:9px; }
.entry-content :is(.fil-hero,.fil-service-card,.fil-feature,.fil-process,.fil-cta) h2,
.entry-content :is(.fil-hero,.fil-service-card,.fil-feature,.fil-process,.fil-cta) h3 { margin-bottom:14px; }
.entry-content :is(.fil-hero,.fil-service-card,.fil-feature,.fil-process,.fil-cta) :is(p,ul,ol):last-child { margin-bottom:0; }
.entry-content :is(.fil-hero,.fil-service-card,.fil-feature,.fil-process,.fil-cta) .wp-block-group__inner-container > * + * { margin-block-start:0; }
/* Full-width panels: same pale-blue surface and left accent. */
.entry-content .fil-hero,.entry-content .fil-process { background:var(--fil-pale);border:1px solid var(--fil-line);padding:18px 22px;box-sizing:border-box;border-radius:8px; }
.entry-content .fil-hero { margin:0 0 24px; }
.entry-content .fil-hero>p:first-child { font-size:.78rem;letter-spacing:.1em;font-weight:750;margin-bottom:10px; }
.entry-content .fil-hero h2 { font-size:clamp(1.9rem,3.2vw,2.75rem);margin-bottom:12px; }
.entry-content .fil-hero h3 { font-size:clamp(1.25rem,2vw,1.7rem);margin-bottom:12px; }
.entry-content .fil-hero .wp-block-buttons { margin-top:16px; }
.entry-content .fil-hero p { max-width:900px; }
/* Major sections and heading gaps */
.entry-content .fil-section { margin:0 0 24px; }
.entry-content .fil-section > .wp-block-group__inner-container > h2,
.entry-content .fil-section > h2 { border:0;padding:0;margin:0 0 18px; }
/* Gutenberg column rows: matching card heights in each row. */
.entry-content .fil-grid { display:flex;align-items:stretch;gap:18px;margin:0 0 18px; }
.entry-content .fil-grid:last-child { margin-bottom:0; }
.entry-content .fil-grid > .wp-block-column { display:flex;flex-direction:column;min-width:0;align-self:stretch; }
.entry-content .fil-service-card { background:var(--fil-pale);border:1px solid var(--fil-line);border-top:5px solid var(--fil-blue);border-radius:8px;padding:18px 20px;box-sizing:border-box;min-height:0;height:100%;width:100%;flex:1 1 auto; }
.entry-content .fil-service-card h3 { margin-bottom:14px; }
/* Platforms and eCommerce: same card background, same top border. */
.entry-content .fil-platform-grid { display:flex;align-items:stretch;gap:18px;margin:0 0 24px; }
.entry-content .fil-platform-grid > .wp-block-column { display:flex;flex-direction:column;min-width:0;align-self:stretch; }
.entry-content .fil-feature,.entry-content .fil-feature-alt { background:var(--fil-pale);border:1px solid var(--fil-line);border-top:5px solid var(--fil-blue);border-radius:8px;padding:18px 20px;box-sizing:border-box;min-height:0;height:100%;width:100%;flex:1 1 auto; }
.entry-content .fil-feature ul { padding-left:1.1em;margin-left:0;margin-bottom:0;list-style-position:outside; }
.entry-content .fil-feature li { margin-bottom:3px;padding-left:0; }
/* Plain benefits section; highlighted process section. */
.entry-content .fil-process { margin:0 0 24px; }
.entry-content .fil-benefits { background:#fff;border:0;padding:0;margin:0 0 24px; }
.entry-content .fil-benefits h2 { margin-top:0;margin-bottom:16px; }
.entry-content .fil-benefits ul { margin-bottom:0; }
.entry-content .fil-benefits li { padding-left:5px;margin-bottom:6px; }
/* Contact call-to-action, pale blue with orange button. */
.entry-content .fil-cta { background:var(--fil-pale);border:1px solid var(--fil-line);border-radius:8px;padding:18px 22px;margin:0 0 16px; }
.entry-content .fil-cta .wp-block-buttons { margin:16px 0; }
/* v9: Gutenberg's flow layout adds default block-gap margins between siblings.
   Reset only our named page sections; do not change card dimensions or colors. */
.entry-content > :is(.fil-hero,.fil-section,.fil-platform-grid,.fil-process,.fil-benefits,.fil-cta),
.entry-content > .wp-block-group__inner-container > :is(.fil-hero,.fil-section,.fil-platform-grid,.fil-process,.fil-benefits,.fil-cta) {
    margin-block-start:0;
}
.entry-content .fil-section > .wp-block-group__inner-container > .fil-grid + .fil-grid,
.entry-content .fil-section > .fil-grid + .fil-grid { margin-block-start:0; }
.entry-content :is(.fil-hero,.fil-process,.fil-cta) > .wp-block-group__inner-container > * + * { margin-block-start:0; }
.entry-content :is(.fil-hero,.fil-process,.fil-cta) > .wp-block-group__inner-container > :last-child { margin-bottom:0; }
/* Gutenberg editor: equivalent appearance in edit view. */
.editor-styles-wrapper .fil-hero,.editor-styles-wrapper .fil-process { background:#edf5fb;border:1px solid #d4e3ed;padding:18px 22px;border-radius:8px; }
.editor-styles-wrapper .fil-grid,.editor-styles-wrapper .fil-platform-grid { align-items:stretch;gap:18px; }
.editor-styles-wrapper .fil-grid>.wp-block-column,.editor-styles-wrapper .fil-platform-grid>.wp-block-column { display:flex;flex-direction:column; }
.editor-styles-wrapper .fil-service-card,.editor-styles-wrapper .fil-feature,.editor-styles-wrapper .fil-feature-alt { background:#edf5fb;border:1px solid #d4e3ed;border-top:5px solid #175d91;border-radius:8px;padding:18px 20px;height:100%;box-sizing:border-box; }
.editor-styles-wrapper .fil-cta { background:#edf5fb;border:1px solid #d4e3ed;border-radius:8px;padding:18px 22px; }
@media(max-width:781px) {
 .entry-content { font-size:17px; }
 .entry-content .fil-hero,.entry-content .fil-process,.entry-content .fil-cta { padding:16px 18px; }
 .entry-content .fil-service-card,.entry-content .fil-feature,.entry-content .fil-feature-alt { padding:16px 18px; height:auto; flex:0 0 auto; }
 .entry-content .fil-grid,.entry-content .fil-platform-grid { flex-direction:column;gap:18px; }
 .entry-content .fil-grid>.wp-block-column,.entry-content .fil-platform-grid>.wp-block-column { width:100%;flex-basis:auto!important; flex:0 0 auto; }
}

/* v10: remove unintended vertical centering/expansion inside nested Gutenberg groups. */
.entry-content :is(.fil-service-card,.fil-feature,.fil-feature-alt,.fil-hero,.fil-process,.fil-cta) > .wp-block-group__inner-container { margin:0; padding:0; min-height:0; height:auto; display:block; }
.entry-content :is(.fil-service-card,.fil-feature,.fil-feature-alt) :is(h2,h3,p,ul,ol) { margin-block-start:0; }
.entry-content .fil-section { margin-bottom:18px; }
.entry-content .fil-grid { margin-bottom:14px; }
.entry-content .fil-platform-grid,.entry-content .fil-process,.entry-content .fil-benefits { margin-bottom:18px; }
@media(max-width:781px) {
 .entry-content .fil-grid,.entry-content .fil-platform-grid { align-items:stretch;gap:14px; }
 .entry-content .fil-grid > .wp-block-column,.entry-content .fil-platform-grid > .wp-block-column { align-self:auto; height:auto; min-height:0; }
 .entry-content .fil-service-card,.entry-content .fil-feature,.entry-content .fil-feature-alt { min-height:0!important; height:auto!important; }
 .entry-content .fil-hero,.entry-content .fil-process,.entry-content .fil-cta { min-height:0!important; height:auto!important; }
}

/* v11: unify all six service cards and pairwise row heights on desktop.
   This does not change the Gutenberg content or existing panel hierarchy. */
@media (min-width:782px) {
  .entry-content .fil-grid,
  .entry-content .fil-platform-grid {
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:18px;
  }
  .entry-content .fil-grid > .wp-block-column,
  .entry-content .fil-platform-grid > .wp-block-column {
    flex:1 1 0;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-self:stretch;
  }
  .entry-content .fil-grid .fil-service-card,
  .entry-content .fil-platform-grid :is(.fil-feature,.fil-feature-alt) {
    flex:1 1 auto;
    width:100%;
    height:100%;
    min-height:0;
    padding:18px 20px;
    background:var(--fil-pale);
    border:1px solid var(--fil-line);
    border-top:5px solid var(--fil-blue);
    border-radius:8px;
    box-sizing:border-box;
  }
  .entry-content .fil-section { margin-bottom:14px; }
  .entry-content .fil-platform-grid { margin-top:0; margin-bottom:18px; }
}
@media (max-width:781px) {
  .entry-content .fil-grid .fil-service-card,
  .entry-content .fil-platform-grid :is(.fil-feature,.fil-feature-alt) {
    width:100%;
    min-height:0!important;
    height:auto!important;
    padding:16px 18px;
    background:var(--fil-pale);
    border:1px solid var(--fil-line);
    border-top:5px solid var(--fil-blue);
    border-radius:8px;
    box-sizing:border-box;
  }
  .entry-content .fil-section { margin-bottom:14px; }
  .entry-content .fil-platform-grid { margin-top:0; }
}

/* v12: platform/eCommerce pair matches the four service cards.
   The platform row is a sibling of the service section in existing Gutenberg markup,
   so explicitly align its outer edges with the inset service-card grid. */
@media (min-width:782px) {
  .entry-content .fil-platform-grid.wp-block-columns {
    box-sizing:border-box;
    width:auto;
    margin-left:clamp(0px, 3vw, 54px);
    margin-right:clamp(0px, 3vw, 54px);
    margin-top:0;
    margin-bottom:18px;
    gap:18px;
    align-items:stretch;
  }
  .entry-content .fil-platform-grid.wp-block-columns > .wp-block-column {
    flex:1 1 0 !important;
    width:0;
    min-width:0;
    align-self:stretch;
  }
  .entry-content .fil-platform-grid :is(.fil-feature,.fil-feature-alt) {
    height:100%;
    padding:18px 20px;
    border:1px solid var(--fil-line);
    border-top:5px solid var(--fil-blue);
    border-radius:8px;
    background:var(--fil-pale);
  }
}
/* Platform headings were H2 blocks, while service headings are H3 blocks.
   Match visual hierarchy without modifying Gutenberg content. */
.entry-content .fil-platform-grid :is(.fil-feature,.fil-feature-alt) > h2,
.entry-content .fil-platform-grid :is(.fil-feature,.fil-feature-alt) > .wp-block-group__inner-container > h2 {
  font-size:clamp(1.2rem,1.8vw,1.45rem);
  font-weight:720;
  line-height:1.3;
  margin-top:0;
  margin-bottom:14px;
}
@media (max-width:781px) {
  .entry-content .fil-platform-grid.wp-block-columns {
    width:auto;
    margin-left:0;
    margin-right:0;
    gap:14px;
  }
  .entry-content .fil-platform-grid.wp-block-columns > .wp-block-column {
    width:100%;
    flex-basis:auto !important;
  }
}

/* v13: Normalize the gap between service row two and the platform/eCommerce row.
   These are adjacent sibling Gutenberg blocks; override theme flow spacing only here. */
.entry-content .fil-section:has(> .fil-grid) + .fil-platform-grid.wp-block-columns,
.entry-content .fil-section:has(> .wp-block-group__inner-container > .fil-grid) + .fil-platform-grid.wp-block-columns {
  margin-block-start:14px !important;
  margin-top:14px !important;
}
.entry-content .fil-section:has(> .fil-grid):has(+ .fil-platform-grid.wp-block-columns),
.entry-content .fil-section:has(> .wp-block-group__inner-container > .fil-grid):has(+ .fil-platform-grid.wp-block-columns) {
  margin-block-end:0 !important;
  margin-bottom:0 !important;
}

/* v14: offset residual Gutenberg flow spacing between the service section and
   the separate platform columns. Keep card sizes and content untouched. */
.entry-content .fil-section + .fil-platform-grid.wp-block-columns {
  margin-block-start:-14px !important;
  margin-top:-14px !important;
}
