/* v2.9.5 — full-bleed public canvas + desktop menu hard-stop + dashboard spacing cleanup */

/* --------------------------------------------------------------------------
   1) PUBLIC CANVAS: ONE VISUAL SURFACE, NO CENTERED BACKGROUND BLOCKS
   -------------------------------------------------------------------------- */
html[data-resolved-theme="light"] body.redesign-v290.guest-shell{
  --p295-bg:#f7f9fc;
  --p295-card:#ffffff;
  --p295-card-soft:#f2f6fa;
  --p295-line:#dce5ef;
  --p295-text:#101828;
  --p295-muted:#667085;
  --p295-grid:rgba(44,123,185,.085);
  --p295-glow:rgba(31,153,220,.10);
}
html[data-resolved-theme="dark"] body.redesign-v290.guest-shell{
  --p295-bg:#08121e;
  --p295-card:#0d1a29;
  --p295-card-soft:#101f30;
  --p295-line:#22364d;
  --p295-text:#f4f7fb;
  --p295-muted:#9badc2;
  --p295-grid:rgba(42,151,214,.075);
  --p295-glow:rgba(20,146,210,.10);
}

html body.redesign-v290.guest-shell,
html body.redesign-v290.guest-shell .v24-main,
html body.redesign-v290.guest-shell .guest-content,
html body.redesign-v290.guest-shell .v25-public,
html body.redesign-v290.guest-shell .v25-public>main,
html body.redesign-v290.guest-shell .features-redesign-page,
html body.redesign-v290.guest-shell .pricing-redesign-page,
html body.redesign-v290.guest-shell .pricing-redesign-shell{
  background:var(--p295-bg)!important;
  background-color:var(--p295-bg)!important;
  color:var(--p295-text)!important;
}

/* Every content section is transparent over the same page canvas. */
html body.redesign-v290.guest-shell :is(
  .public-section,
  .public-section.soft,
  .features-section,
  .landing291-flowmaker,
  .features291-flowmaker,
  .landing291-capability-strip
){
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
}
html body.redesign-v290.guest-shell .public-section.soft{border-block:0!important}

/* Kill the old pseudo full-bleed trick. The section itself is now full width. */
html body.redesign-v290.guest-shell .public-hero::before,
html body.redesign-v290.guest-shell .features-hero::before{display:none!important;content:none!important}

/* Homepage hero: actual full viewport background with centered content columns. */
html body.redesign-v290.guest-shell.route-home .public-hero{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  min-height:560px!important;
  padding-block:72px!important;
  padding-inline:max(24px,calc((100vw - 1180px)/2))!important;
  display:grid!important;
  grid-template-columns:minmax(0,560px) minmax(320px,400px)!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:56px!important;
  background-color:var(--p295-bg)!important;
  background-image:
    linear-gradient(to right,var(--p295-grid) 1px,transparent 1px),
    linear-gradient(to bottom,var(--p295-grid) 1px,transparent 1px),
    radial-gradient(circle at 18% 18%,var(--p295-glow),transparent 34%),
    radial-gradient(circle at 83% 22%,color-mix(in srgb,var(--p295-glow) 70%,transparent),transparent 30%)!important;
  background-size:36px 36px,36px 36px,auto,auto!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Features hero: same canvas logic, no narrow rectangle in the middle. */
html body.redesign-v290.guest-shell.route-features .features-hero{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  min-height:500px!important;
  padding-block:64px!important;
  padding-inline:max(24px,calc((100vw - 1240px)/2))!important;
  display:grid!important;
  grid-template-columns:minmax(180px,.62fr) minmax(520px,1.6fr) minmax(180px,.62fr)!important;
  align-items:center!important;
  gap:34px!important;
  background-color:var(--p295-bg)!important;
  background-image:
    linear-gradient(to right,var(--p295-grid) 1px,transparent 1px),
    linear-gradient(to bottom,var(--p295-grid) 1px,transparent 1px),
    radial-gradient(circle at 50% 14%,var(--p295-glow),transparent 32%)!important;
  background-size:36px 36px,36px 36px,auto!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* The rows directly after the hero may have a divider, not a new background block. */
html body.redesign-v290.guest-shell .landing291-capability-strip{
  border-block:1px solid color-mix(in srgb,var(--p295-line) 74%,transparent)!important;
}
html body.redesign-v290.guest-shell .landing291-capability-strip>.public-container>div{
  background:transparent!important;
}

/* Remove giant outer cards from marketing/feature sections. Keep only inner cards. */
html body.redesign-v290.guest-shell :is(
  .feature2926-ai-agent,
  .request-flow-section,
  .provider-privacy-section,
  .fire-products-section,
  .features-two-panel,
  .supported-panels-redesign,
  .public-demo,
  .landing2926-ai-strip
){
  background:transparent!important;
  background-color:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

/* The AI widget section should feel like content, not a page inside a page. */
html body.redesign-v290.guest-shell .feature2926-ai-agent{
  padding:62px 0!important;
  gap:54px!important;
  overflow:visible!important;
}
html body.redesign-v290.guest-shell .feature2926-ai-live{padding:0!important}
html body.redesign-v290.guest-shell .public-assistant-preview{
  background:linear-gradient(160deg,color-mix(in srgb,var(--p295-card-soft) 82%,transparent),var(--p295-card))!important;
  border:1px solid var(--p295-line)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.12)!important;
}

/* Consistent cards against the single canvas. */
html body.redesign-v290.guest-shell :is(
  .public-card,
  .public-plan,
  .pricing-redesign-card,
  .public-step,
  .public-payment,
  .landing291-flow-card,
  .features-highlight-row article,
  .features-power-grid article,
  .features-two-panel article,
  .supported-panels-redesign article,
  .fire-product-card,
  .flow-column,
  .flow-engine,
  .privacy-visual
){
  background:var(--p295-card)!important;
  border-color:var(--p295-line)!important;
  color:var(--p295-text)!important;
}
html body.redesign-v290.guest-shell :is(.public-card p,.features-power-grid p,.features-highlight-row p,.public-step p,.public-plan li,.fire-product-card p,.privacy-copy p){color:var(--p295-muted)!important}

/* No color slabs between regular public sections. */
html body.redesign-v290.guest-shell .public-section,
html body.redesign-v290.guest-shell .features-section{border-top:0!important;border-bottom:0!important}
html body.redesign-v290.guest-shell .public-section + .public-section,
html body.redesign-v290.guest-shell .features-section + .features-section{margin-top:0!important}

/* A little more width on normal content so it does not feel lost in the center. */
html body.redesign-v290.guest-shell .public-container{width:min(1240px,calc(100% - 40px))!important}
html body.redesign-v290.guest-shell .public-section{padding:58px 0!important}
html body.redesign-v290.guest-shell .features-section{padding:48px 0!important}

/* --------------------------------------------------------------------------
   2) DESKTOP HAMBURGER: HARD HIDE. MOBILE ONLY.
   -------------------------------------------------------------------------- */
@media (min-width:781px){
  html body.redesign-v290.guest-shell .public-menu-toggle,
  html body.redesign-v290.guest-shell button.public-menu-toggle{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    position:absolute!important;
    width:0!important;height:0!important;min-width:0!important;min-height:0!important;
    padding:0!important;margin:0!important;border:0!important;
    overflow:hidden!important;
  }
}
@media (min-width:981px){
  html body.redesign-v290.app-shell .v24-menu-button,
  html body.redesign-v290.app-shell button.v24-menu-button,
  html body.redesign-v290.app-shell .v24-sidebar-close{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    width:0!important;height:0!important;min-width:0!important;min-height:0!important;
    padding:0!important;margin:0!important;border:0!important;
    overflow:hidden!important;
  }
}

/* Mobile public header icon is centered and only appears on mobile. */
@media (max-width:780px){
  html body.redesign-v290.guest-shell .public-site-header{
    min-height:58px!important;
    padding-inline:12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  html body.redesign-v290.guest-shell .public-menu-toggle{
    display:grid!important;
    place-items:center!important;
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
    padding:0!important;margin:0!important;
    border-radius:11px!important;
    color:var(--p295-text)!important;
    background:var(--p295-card)!important;
    border:1px solid var(--p295-line)!important;
    box-shadow:none!important;
  }
  html body.redesign-v290.guest-shell .public-menu-toggle svg{width:20px!important;height:20px!important;display:block!important;margin:auto!important}
}

/* --------------------------------------------------------------------------
   3) MOBILE PUBLIC DIMENSIONS
   -------------------------------------------------------------------------- */
@media (max-width:900px){
  html body.redesign-v290.guest-shell.route-home .public-hero,
  html body.redesign-v290.guest-shell.route-features .features-hero{
    width:100%!important;
    max-width:none!important;
    padding:52px 16px 42px!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
    text-align:center!important;
    background-size:30px 30px,30px 30px,auto,auto!important;
  }
  html body.redesign-v290.guest-shell.route-home .public-hero{min-height:0!important}
  html body.redesign-v290.guest-shell.route-features .features-hero{min-height:0!important}
  html body.redesign-v290.guest-shell.route-features .features-hero-art{display:none!important}
  html body.redesign-v290.guest-shell.route-features .features-hero-copy{width:min(100%,620px)!important;margin-inline:auto!important}

  html body.redesign-v290.guest-shell .public-hero h1,
  html body.redesign-v290.guest-shell .features-hero-copy h1{
    max-width:13ch!important;
    margin-inline:auto!important;
    font-size:clamp(36px,10.5vw,49px)!important;
    line-height:1.08!important;
    text-wrap:balance!important;
  }
  html body.redesign-v290.guest-shell .public-hero p,
  html body.redesign-v290.guest-shell .features-hero-copy p{
    max-width:42ch!important;
    margin-inline:auto!important;
    font-size:14px!important;
    line-height:1.75!important;
  }
  html body.redesign-v290.guest-shell .public-hero-actions{
    width:min(100%,440px)!important;
    margin:20px auto 0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  html body.redesign-v290.guest-shell .public-hero-actions>*{width:100%!important}
  html body.redesign-v290.guest-shell .public-phone{margin-inline:auto!important}

  html body.redesign-v290.guest-shell .feature2926-ai-agent{
    width:calc(100% - 24px)!important;
    grid-template-columns:1fr!important;
    padding:46px 0!important;
    gap:30px!important;
    text-align:center!important;
  }
  html body.redesign-v290.guest-shell .feature2926-ai-copy{min-width:0!important}
  html body.redesign-v290.guest-shell .feature2926-ai-points{grid-template-columns:1fr!important;gap:8px!important}
  html body.redesign-v290.guest-shell .public-assistant-live-demo{width:min(100%,390px)!important}

  html body.redesign-v290.guest-shell .landing291-flow-grid,
  html body.redesign-v290.guest-shell .request-flow-grid,
  html body.redesign-v290.guest-shell .provider-privacy-section,
  html body.redesign-v290.guest-shell .fire-products-section,
  html body.redesign-v290.guest-shell .features-two-panel{
    grid-template-columns:1fr!important;
  }
  html body.redesign-v290.guest-shell .public-container{width:calc(100% - 24px)!important;max-width:none!important}
  html body.redesign-v290.guest-shell .public-section{padding:46px 0!important}
  html body.redesign-v290.guest-shell .features-section{padding:38px 0!important}
}

@media (max-width:480px){
  html body.redesign-v290.guest-shell.route-home .public-hero,
  html body.redesign-v290.guest-shell.route-features .features-hero{padding-inline:10px!important;padding-top:44px!important}
  html body.redesign-v290.guest-shell .public-hero h1,
  html body.redesign-v290.guest-shell .features-hero-copy h1{font-size:36px!important;max-width:11.5ch!important}
  html body.redesign-v290.guest-shell .public-hero p,
  html body.redesign-v290.guest-shell .features-hero-copy p{font-size:13px!important;max-width:39ch!important}
  html body.redesign-v290.guest-shell .public-phone{width:min(300px,90vw)!important;height:480px!important}
}

/* --------------------------------------------------------------------------
   4) DASHBOARD: REMOVE THE STRAY DESKTOP MENU AND ODD COLOR BLOCKS
   -------------------------------------------------------------------------- */
html body.redesign-v290.app-shell.route-home .v24-main{
  width:auto!important;
}
html body.redesign-v290.app-shell.route-home .v24-main > section{
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
}
html[data-resolved-theme="dark"] body.redesign-v290.app-shell.route-home .dash-command-hero,
html[data-resolved-theme="dark"] body.redesign-v290.app-shell.route-home :is(.dash-metric,.dash-chart-card,.dash-health,.dash-quick,.dash-bottom-grid>.card){
  background:#0c1a29!important;
  border-color:#213b57!important;
  box-shadow:none!important;
}
html[data-resolved-theme="light"] body.redesign-v290.app-shell.route-home .dash-command-hero,
html[data-resolved-theme="light"] body.redesign-v290.app-shell.route-home :is(.dash-metric,.dash-chart-card,.dash-health,.dash-quick,.dash-bottom-grid>.card){
  background:#fff!important;
  border-color:#dce6ef!important;
  box-shadow:0 10px 30px rgba(15,23,42,.05)!important;
}
html body.redesign-v290.app-shell.route-home .dash-command-hero{
  background-image:none!important;
  border-radius:22px!important;
}
html body.redesign-v290.app-shell.route-home .dash-quick>div>a{
  background:transparent!important;
  border-color:color-mix(in srgb,var(--ui-line,#21364e) 78%,transparent)!important;
}

@media(max-width:980px){
  html body.redesign-v290.app-shell .v24-menu-button{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
    padding:0!important;margin:0!important;
    place-items:center!important;
    border-radius:11px!important;
  }
  html body.redesign-v290.app-shell .v24-menu-button svg{display:block!important;margin:auto!important;width:20px!important;height:20px!important}
  html body.redesign-v290.app-shell.route-home .v24-main > section{width:100%!important}
}
