
/*
Theme Name: Balloony Startup Clean
Version: 3.2.5
*/

body{font-family:Inter, sans-serif;margin:0;background:#faf9f7;}

.site-header{
position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:10;
}

.header-inner{
display:flex;align-items:center;justify-content:space-between;padding:14px 20px;
}

.brand img{max-height:54px;}

.header-contact a{
margin-left:10px;padding:8px 12px;border:1px solid #eee;border-radius:20px;
text-decoration:none;color:#111;font-size:14px;
}

.mobile-toggle{display:none;}

.mobile-panel{display:none;padding:10px 20px;border-top:1px solid #eee;}

@media(max-width:900px){
.header-contact.desktop{display:none;}
.mobile-toggle{display:block;}
.mobile-panel.active{display:block;}
.brand img{max-height:44px;}
}


/* v5 small logo bump + info/footer */
.brand img{max-height:62px;}
@media(max-width:900px){
  .brand img{max-height:48px;}
}

.header-contact.desktop{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.header-contact.desktop a,
.mobile-panel a{
  margin:0;
  padding:8px 12px;
  border:1px solid #eee;
  border-radius:20px;
  text-decoration:none;
  color:#111;
  font-size:14px;
  background:#fff;
}

.site-footer{
  border-top:1px solid #eee;
  background:#fff;
  margin-top:32px;
}
.site-footer__inner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:22px 20px 28px;
}
.site-footer__meta{
  display:grid;
  gap:4px;
  max-width:780px;
  color:#333;
  font-size:14px;
}
.site-footer__meta strong{
  font-size:15px;
}
.site-footer__links{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.site-footer__links a{
  padding:8px 12px;
  border:1px solid #eee;
  border-radius:20px;
  color:#111;
  text-decoration:none;
  font-size:14px;
  white-space:nowrap;
}
@media(max-width:900px){
  .site-footer__inner{
    flex-direction:column;
    gap:14px;
  }
}

/* v6 non-sticky header + slightly bigger logo */
.site-header{
  position:relative !important;
  top:auto !important;
}
.brand img{
  max-height:68px !important;
}
@media(max-width:900px){
  .brand img{
    max-height:53px !important;
  }
}


/* v6.1 footer gap fix */
html, body{
  margin:0;
  padding:0;
  height:auto;
}
.site-wrap,
.site-main,
.site-footer{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}
.site-footer{
  padding-bottom:22px !important;
}


/* v6.3 logo swap + positioning */
.header-inner{
  padding-left:24px !important;
}
.brand img{
  max-height:64px !important;
  width:auto;
  transform:translateY(2px);
}
@media(max-width:900px){
  .brand img{
    max-height:50px !important;
    transform:translateY(1px);
  }
}


.container{
  width:min(100%, 1240px);
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
  box-sizing:border-box;
}

main{
  min-height:calc(100vh - 220px);
}

.page-shell{
  padding:28px 0 48px;
}

.page-card{
  background:#fff;
  border:1px solid #e9e9e9;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
}

.page-card__header{
  padding:36px 40px 8px;
}

.page-card__title{
  margin:0;
  font-size:clamp(38px,4vw,62px);
  line-height:1.02;
  letter-spacing:-0.03em;
  color:#111;
}

.page-card__content{
  padding:0 40px 44px;
  color:#171717;
  font-size:18px;
  line-height:1.7;
}

.entry-content > *:first-child{
  margin-top:0;
}

.entry-content h2,
.entry-content h3,
.entry-content h4{
  color:#111;
  line-height:1.12;
  letter-spacing:-0.02em;
  margin:32px 0 12px;
}

.entry-content h2{font-size:32px;}
.entry-content h3{font-size:24px;}
.entry-content h4{font-size:20px;}

.entry-content p,
.entry-content ul,
.entry-content ol{
  margin:0 0 18px;
}

.entry-content ul,
.entry-content ol{
  padding-left:24px;
}

.entry-content a{
  color:#111;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}

.entry-content strong{
  color:#111;
}

.entry-content hr{
  border:0;
  border-top:1px solid #ececec;
  margin:28px 0;
}

@media (max-width: 900px){
  .container{
    padding-left:16px;
    padding-right:16px;
  }

  .page-shell{
    padding:16px 0 28px;
  }

  .page-card__header{
    padding:24px 22px 6px;
  }

  .page-card__title{
    font-size:38px;
  }

  .page-card__content{
    padding:0 22px 28px;
    font-size:17px;
    line-height:1.65;
  }

  .entry-content h2{font-size:28px;}
  .entry-content h3{font-size:22px;}
}


.page-card__content > h1:first-child,
.page-card__content > h2:first-child{
  margin-top:0;
}

.page-card__content > h1:first-child{
  font-size:clamp(28px,3vw,40px);
  line-height:1.1;
  letter-spacing:-0.02em;
}

.page-card__content > h1:first-child + p,
.page-card__content > h2:first-child + p{
  margin-top:12px;
}


/* v6.4 remove unnecessary mobile hamburger; keep contact links visible */
.mobile-toggle,
.mobile-panel{
  display:none !important;
}

@media(max-width:900px){
  .header-inner{
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
  }
  .header-contact.desktop{
    display:flex !important;
    width:100%;
    justify-content:flex-start;
    gap:8px;
  }
  .header-contact.desktop a{
    font-size:13px;
    padding:8px 11px;
  }
}

/* v7 branded-helium builder compatibility */
.theme-builder-canvas{
  width:100%;
  overflow-x:hidden;
}
.theme-builder-canvas .bbh21{
  margin-top:0;
}
.has-balloony-builder main,
.page-template-template-branded-helium main,
.home main{
  min-height:auto;
}
.has-balloony-builder .site-footer,
.page-template-template-branded-helium .site-footer,
.home .site-footer{
  margin-top:0;
}
.site-header{
  z-index:1000;
}
.header-contact.desktop a[href^="tel"]{
  background:#91F88D;
  border-color:#91F88D;
  font-weight:800;
}
@media(max-width:900px){
  .theme-builder-canvas .bbh21{
    width:min(1240px,calc(100% - 14px));
  }
  .header-contact.desktop{
    justify-content:center;
  }
  .header-inner{
    justify-content:center;
  }
}
@media(max-width:520px){
  .header-contact.desktop a{
    flex:1 1 auto;
    text-align:center;
  }
}


/* Branded Helium Balloons header logo + builder compatibility */
.site-logo img,
.custom-logo,
.balloony-logo img,
.header-logo img {
  max-height: 76px;
  width: auto;
  object-fit: contain;
}

.site-header,
.header,
.balloony-header {
  overflow: visible !important;
}

.page-content,
.entry-content,
.site-main,
.content-area,
.bhb-full-width,
.bhb-builder-page {
  overflow: visible !important;
  transform: none !important;
}

@media (max-width: 760px) {
  .site-logo img,
  .custom-logo,
  .balloony-logo img,
  .header-logo img {
    max-height: 58px;
  }
}

.bhb-theme-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.bhb-theme-logo img {
  display: block;
  height: 76px;
  width: auto;
  max-width: 360px;
  object-fit: contain;
}
@media (max-width: 760px) {
  .bhb-theme-logo img {
    height: 58px;
    max-width: 280px;
  }
}


/* v3.0 clean branded helium header and builder wrapper support */
.bhb-clean-header {
  background: #fff;
  border-bottom: 1px solid #efefef;
  width: 100%;
}

.bhb-clean-header-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 22px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.bhb-theme-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.bhb-theme-logo img {
  display: block;
  height: 86px;
  width: auto;
  max-width: 390px;
  object-fit: contain;
}

.bhb-clean-contact {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.bhb-clean-contact a {
  color: #000;
  text-decoration: none;
  border: 1px solid #e5e5e5;
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 800;
  background: #fff;
}

.bhb-clean-contact .bhb-clean-phone {
  background: #91F88D;
  border-color: #91F88D;
}

.site-main,
.content-area,
.page-content,
.entry-content,
.wp-site-blocks,
main,
article {
  overflow: visible !important;
  transform: none !important;
}

@media (max-width: 760px) {
  .bhb-clean-header-inner {
    padding: 16px 18px;
    flex-direction: column;
    align-items: flex-start;
  }

  .bhb-theme-logo img {
    height: 62px;
    max-width: 290px;
  }

  .bhb-clean-contact a {
    padding: 9px 12px;
    font-size: 14px;
  }
}


/* v3.1 force-clean header: only one brand/contact row */
.bhb-clean-header {
  background: #fff !important;
  border-bottom: 1px solid #efefef !important;
  width: 100% !important;
  overflow: visible !important;
}

.bhb-clean-header-inner {
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding: 22px 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
}

.bhb-theme-logo {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}

.bhb-theme-logo img {
  display: block !important;
  height: 86px !important;
  width: auto !important;
  max-width: 390px !important;
  object-fit: contain !important;
}

.bhb-clean-contact {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.bhb-clean-contact a {
  color: #000 !important;
  text-decoration: none !important;
  border: 1px solid #e5e5e5 !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  background: #fff !important;
}

.bhb-clean-contact .bhb-clean-phone {
  background: #91F88D !important;
  border-color: #91F88D !important;
}

.site-header:not(.bhb-clean-header),
.balloony-header,
.header-logo,
.site-branding img[alt="Balloony"],
.site-branding img[alt="Branded Helium Balloons London"],
img[alt="Balloony"] {
  display: none !important;
}

.site-main,
.content-area,
.page-content,
.entry-content,
.wp-site-blocks,
main,
article {
  overflow: visible !important;
  transform: none !important;
}

@media (max-width: 760px) {
  .bhb-clean-header-inner {
    padding: 16px 18px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .bhb-theme-logo img {
    height: 62px !important;
    max-width: 290px !important;
  }

  .bhb-clean-contact a {
    padding: 9px 12px !important;
    font-size: 14px !important;
  }
}

/* v3.2.2 unified theme + builder header */
body { background: #fff !important; }
.bhb-site-header { background:#fff; width:100%; overflow:visible; position:relative; z-index:50; }
.bhb-site-header__inner { width:100%; max-width:1440px; margin:0 auto; padding:30px 40px 28px; box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.bhb-site-header__logo { display:inline-flex; align-items:center; text-decoration:none; line-height:0; }
.bhb-site-header__logo img { display:block; height:86px; width:auto; max-width:390px; object-fit:contain; filter:drop-shadow(0 0 1px rgba(0,0,0,.18)); }
.bhb-site-header__contact { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.bhb-site-header__contact a { color:#000; text-decoration:none; border:1px solid #e8e8e8; padding:11px 17px; border-radius:999px; font-weight:800; background:#fff; line-height:1; white-space:nowrap; box-shadow:0 1px 2px rgba(0,0,0,.03); }
.bhb-site-header__contact .bhb-site-header__phone { background:#91F88D; border-color:#91F88D; }
.theme-builder-canvas .bhb-app, .theme-builder-canvas .bbh21, .home .bhb-app, .home .bbh21, .page-template-template-branded-helium .bhb-app, .page-template-template-branded-helium .bbh21 { max-width:1440px !important; margin-left:auto !important; margin-right:auto !important; }
.bhb-clean-header, .site-header:not(.bhb-site-header), .balloony-header, .header-logo, .site-branding, .brand, .header-inner, .header-contact, .mobile-toggle, .mobile-panel { display:none !important; }
@media (max-width:900px) { .bhb-site-header__inner { padding:20px 18px 18px; align-items:flex-start; flex-direction:column; gap:14px; } .bhb-site-header__logo img { height:64px; max-width:300px; } .bhb-site-header__contact { width:100%; justify-content:flex-start; gap:8px; } .bhb-site-header__contact a { padding:10px 12px; font-size:14px; } }
@media (max-width:520px) { .bhb-site-header__contact a { flex:1 1 auto; text-align:center; } }


/* v3.2.3 desktop logo readability bump */
@media (min-width: 901px) {
  .bhb-site-header__inner {
    padding: 34px 40px 34px !important;
  }
  .bhb-site-header__logo img {
    height: 126px !important;
    max-width: 560px !important;
    width: auto !important;
  }
}


/* v3.2.4 desktop logo 15 percent larger */
@media (min-width: 901px) {
  .bhb-site-header__logo img {
    height: 145px !important;
    max-width: 644px !important;
    width: auto !important;
  }
}

/* v3.2.5 merged builder header + 20 percent desktop logo bump
   Keeps the theme header, but visually pulls it into the same grid/spacing as the builder
   so homepage + SEO builder pages feel like one product instead of separate theme/header blocks. */
@media (min-width: 901px) {
  body.has-balloony-builder .bhb-site-header,
  body.home .bhb-site-header,
  body.page-template-template-branded-helium .bhb-site-header,
  body.bhb-seo-page .bhb-site-header {
    border-bottom: 0 !important;
    background: #fff !important;
  }

  body.has-balloony-builder .bhb-site-header__inner,
  body.home .bhb-site-header__inner,
  body.page-template-template-branded-helium .bhb-site-header__inner,
  body.bhb-seo-page .bhb-site-header__inner {
    width: min(100% - 96px, 1160px) !important;
    max-width: 1160px !important;
    padding: 30px 0 6px !important;
    margin: 0 auto !important;
    align-items: flex-start !important;
  }

  body.has-balloony-builder .bhb-site-header__logo img,
  body.home .bhb-site-header__logo img,
  body.page-template-template-branded-helium .bhb-site-header__logo img,
  body.bhb-seo-page .bhb-site-header__logo img {
    height: 174px !important;
    max-width: 690px !important;
    width: auto !important;
  }

  body.has-balloony-builder .bhb-site-header__contact,
  body.home .bhb-site-header__contact,
  body.page-template-template-branded-helium .bhb-site-header__contact,
  body.bhb-seo-page .bhb-site-header__contact {
    padding-top: 24px !important;
  }

  body.has-balloony-builder .theme-builder-canvas,
  body.home .theme-builder-canvas,
  body.page-template-template-branded-helium .theme-builder-canvas,
  body.bhb-seo-page .theme-builder-canvas {
    margin-top: -10px !important;
  }
}

@media (max-width: 900px) {
  body.has-balloony-builder .bhb-site-header__inner,
  body.home .bhb-site-header__inner,
  body.page-template-template-branded-helium .bhb-site-header__inner,
  body.bhb-seo-page .bhb-site-header__inner {
    padding-bottom: 6px !important;
  }
}
