/* =========================================================
   BAL corporate pages - ZABRINA inspired visual system
   Scope: /message/ /company/ /privacy/ /contact/
   ========================================================= */
body.bal-standard-page{
  --bal-teal:#2DD4BF;
  --bal-teal-dark:#0F9F96;
  --bal-cyan:#0891B2;
  --bal-ink:#0F172A;
  --bal-text:#334155;
  --bal-muted:#64748B;
  --bal-line:#E2E8F0;
  --bal-soft:#F0FDFA;
  --bal-soft2:#F8FAFC;
  --bal-white:#fff;
  background:linear-gradient(180deg,#f7fffd 0,#fff 420px,#fff 100%) !important;
  color:var(--bal-text);
}

/* AFFINGER chrome that makes a corporate page look like a blog post */
body.bal-standard-page #side,
body.bal-standard-page .kanren,
body.bal-standard-page .st-kanren,
body.bal-standard-page .st-author-box,
body.bal-standard-page .st-profile-card,
body.bal-standard-page .blogbox,
body.bal-standard-page .st-postgroup,
body.bal-standard-page .sns,
body.bal-standard-page .st-sns-button,
body.bal-standard-page .st-update,
body.bal-standard-page .post-update,
body.bal-standard-page .posted-on,
body.bal-standard-page .entry-meta,
body.bal-standard-page .post-meta,
body.bal-standard-page .st-post-meta,
body.bal-standard-page .st-catgroup,
body.bal-standard-page .st-taxonomy,
body.bal-standard-page .st-writer-profile{
  display:none !important;
}

body.bal-standard-page #contentInner{
  width:min(calc(100% - 40px),1080px) !important;
  max-width:1080px !important;
  margin:118px auto 96px !important;
  padding:0 !important;
}
body.bal-standard-page #contentInner > main,
body.bal-standard-page #contentInner main,
body.bal-standard-page #contentInner article{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 auto !important;
  padding:0 !important;
  float:none !important;
}

/* Breadcrumb */
body.bal-standard-page #breadcrumb,
body.bal-standard-page .st-breadcrumbs,
body.bal-standard-page .breadcrumb{
  max-width:980px !important;
  margin:0 auto 18px !important;
  padding:0 4px !important;
  color:#94A3B8 !important;
  font-size:12px !important;
}
body.bal-standard-page #breadcrumb a,
body.bal-standard-page .st-breadcrumbs a,
body.bal-standard-page .breadcrumb a{
  color:var(--bal-teal-dark) !important;
  text-decoration:none !important;
}

/* Main content card */
body.bal-standard-page .post,
body.bal-standard-page article,
body.bal-standard-page .st-post-content,
body.bal-standard-page .entry-content{
  box-sizing:border-box !important;
}
body.bal-standard-page #contentInner article,
body.bal-standard-page #contentInner > main > article{
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.96) !important;
  border:1px solid #E6F1EF !important;
  border-radius:30px !important;
  padding:clamp(28px,5vw,64px) !important;
  box-shadow:0 22px 60px rgba(15,23,42,.08) !important;
}
body.bal-standard-page #contentInner article:before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:5px;
  background:linear-gradient(90deg,var(--bal-teal),var(--bal-cyan));
}

/* Page title */
body.bal-standard-page #contentInner h1,
body.bal-standard-page #contentInner .entry-title,
body.bal-standard-page #contentInner .post-title{
  position:relative !important;
  margin:0 0 54px !important;
  padding:0 0 25px !important;
  border:0 !important;
  background:none !important;
  box-shadow:none !important;
  color:var(--bal-ink) !important;
  text-align:center !important;
  font-size:clamp(30px,4.2vw,48px) !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:-.035em !important;
}
body.bal-standard-page #contentInner h1:before,
body.bal-standard-page #contentInner .entry-title:before,
body.bal-standard-page #contentInner .post-title:before{
  content:"BAL / CORPORATE" !important;
  position:static !important;
  display:block !important;
  width:auto !important;height:auto !important;
  margin:0 0 12px !important;
  border:0 !important;
  background:none !important;
  color:var(--bal-teal-dark) !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  letter-spacing:.22em !important;
}
body.bal-standard-page #contentInner h1:after,
body.bal-standard-page #contentInner .entry-title:after,
body.bal-standard-page #contentInner .post-title:after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  bottom:0 !important;
  width:76px !important;
  height:4px !important;
  transform:translateX(-50%) !important;
  border:0 !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,var(--bal-teal),var(--bal-cyan)) !important;
}
body.bal-corporate-company #contentInner h1:before{content:"COMPANY PROFILE" !important;}
body.bal-corporate-message #contentInner h1:before{content:"MESSAGE FROM CEO" !important;}
body.bal-corporate-privacy #contentInner h1:before{content:"PRIVACY POLICY" !important;}
body.bal-corporate-contact #contentInner h1:before{content:"CONTACT US" !important;}

/* Content typography */
body.bal-standard-page #contentInner .entry-content,
body.bal-standard-page #contentInner .st-post-content{
  color:var(--bal-text) !important;
  font-size:16px !important;
  line-height:1.95 !important;
}
body.bal-standard-page #contentInner .entry-content p,
body.bal-standard-page #contentInner .st-post-content p{
  margin:0 0 1.55em !important;
  line-height:1.95 !important;
}
body.bal-standard-page #contentInner .entry-content a,
body.bal-standard-page #contentInner .st-post-content a{
  color:var(--bal-cyan) !important;
  text-underline-offset:.18em;
}

/* ZABRINA-style section headings */
body.bal-standard-page #contentInner .entry-content h2,
body.bal-standard-page #contentInner .st-post-content h2{
  position:relative !important;
  margin:64px 0 28px !important;
  padding:22px 24px 22px 30px !important;
  border:1px solid #DDF4EF !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#F0FDFA 0,#F8FDFF 100%) !important;
  color:var(--bal-ink) !important;
  font-size:clamp(23px,3vw,31px) !important;
  line-height:1.45 !important;
  font-weight:900 !important;
  box-shadow:none !important;
}
body.bal-standard-page #contentInner .entry-content h2:before,
body.bal-standard-page #contentInner .st-post-content h2:before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;top:18px !important;bottom:18px !important;
  width:5px !important;height:auto !important;
  border:0 !important;
  border-radius:0 999px 999px 0 !important;
  background:linear-gradient(180deg,var(--bal-teal),var(--bal-cyan)) !important;
}
body.bal-standard-page #contentInner .entry-content h2:after,
body.bal-standard-page #contentInner .st-post-content h2:after{display:none !important;content:none !important;}

body.bal-standard-page #contentInner .entry-content h3,
body.bal-standard-page #contentInner .st-post-content h3{
  position:relative !important;
  margin:44px 0 18px !important;
  padding:0 0 12px 18px !important;
  border:0 !important;
  border-bottom:1px solid var(--bal-line) !important;
  background:none !important;
  color:var(--bal-ink) !important;
  font-size:clamp(19px,2.2vw,24px) !important;
  line-height:1.55 !important;
  font-weight:900 !important;
}
body.bal-standard-page #contentInner .entry-content h3:before,
body.bal-standard-page #contentInner .st-post-content h3:before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;top:.32em !important;
  width:6px !important;height:1.05em !important;
  border:0 !important;
  transform:none !important;
  background:var(--bal-teal) !important;
  border-radius:99px !important;
}
body.bal-standard-page #contentInner .entry-content h3:after,
body.bal-standard-page #contentInner .st-post-content h3:after{display:none !important;content:none !important;}

body.bal-standard-page #contentInner .entry-content h4,
body.bal-standard-page #contentInner .st-post-content h4{
  margin:30px 0 14px !important;
  padding:0 !important;
  border:0 !important;
  color:var(--bal-ink) !important;
  background:none !important;
  font-size:18px !important;
  font-weight:800 !important;
}

/* Lists */
body.bal-standard-page #contentInner .entry-content ul,
body.bal-standard-page #contentInner .st-post-content ul,
body.bal-standard-page #contentInner .entry-content ol,
body.bal-standard-page #contentInner .st-post-content ol{
  margin:18px 0 30px !important;
  padding:20px 24px 20px 46px !important;
  border:1px solid #E8F1EF !important;
  border-radius:16px !important;
  background:#FBFEFD !important;
}
body.bal-standard-page #contentInner li{margin:.45em 0 !important;line-height:1.8 !important;}

/* Images, maps, embeds */
body.bal-standard-page #contentInner img{
  max-width:100% !important;
  height:auto !important;
  border-radius:22px !important;
}
body.bal-standard-page #contentInner iframe{
  display:block;
  width:100% !important;
  max-width:100% !important;
  border:0 !important;
  border-radius:22px !important;
  box-shadow:0 14px 36px rgba(15,23,42,.09);
}

/* Tables - particularly company profile */
body.bal-standard-page #contentInner table{
  width:100% !important;
  margin:28px 0 36px !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  overflow:hidden !important;
  border:1px solid var(--bal-line) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(15,23,42,.05) !important;
}
body.bal-standard-page #contentInner th,
body.bal-standard-page #contentInner td{
  padding:18px 20px !important;
  border:0 !important;
  border-bottom:1px solid #EDF2F7 !important;
  vertical-align:top !important;
  line-height:1.75 !important;
}
body.bal-standard-page #contentInner th{
  width:28%;
  background:#F0FDFA !important;
  color:#0F766E !important;
  font-weight:900 !important;
}
body.bal-standard-page #contentInner tr:last-child th,
body.bal-standard-page #contentInner tr:last-child td{border-bottom:0 !important;}

/* Company page fallback when profile is div-based */
body.bal-corporate-company #contentInner .entry-content > p,
body.bal-corporate-company #contentInner .st-post-content > p{
  max-width:900px;
}

/* Message page */
body.bal-corporate-message #contentInner .entry-content img,
body.bal-corporate-message #contentInner .st-post-content img{
  box-shadow:0 18px 48px rgba(15,23,42,.13) !important;
}
body.bal-corporate-message #contentInner blockquote{
  margin:34px 0 !important;
  padding:28px 30px !important;
  border:0 !important;
  border-left:5px solid var(--bal-teal) !important;
  border-radius:0 20px 20px 0 !important;
  background:#F0FDFA !important;
  color:var(--bal-ink) !important;
}

/* Privacy: readable long-form legal document */
body.bal-corporate-privacy #contentInner article{
  max-width:980px !important;
  margin-inline:auto !important;
}
body.bal-corporate-privacy #contentInner .entry-content h3,
body.bal-corporate-privacy #contentInner .st-post-content h3{
  margin-top:38px !important;
}

/* Contact form */
body.bal-corporate-contact #contentInner article{
  max-width:920px !important;
  margin-inline:auto !important;
}
body.bal-corporate-contact #contentInner form{
  margin-top:30px !important;
  padding:clamp(22px,4vw,40px) !important;
  border:1px solid #E4F1EE !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#FBFFFE,#F8FAFC) !important;
}
body.bal-corporate-contact #contentInner label{
  color:var(--bal-ink) !important;
  font-weight:800 !important;
}
body.bal-corporate-contact #contentInner input[type="text"],
body.bal-corporate-contact #contentInner input[type="email"],
body.bal-corporate-contact #contentInner input[type="tel"],
body.bal-corporate-contact #contentInner input[type="url"],
body.bal-corporate-contact #contentInner select,
body.bal-corporate-contact #contentInner textarea{
  width:100% !important;
  max-width:100% !important;
  min-height:52px;
  margin:8px 0 18px !important;
  padding:13px 15px !important;
  border:1px solid #CBD5E1 !important;
  border-radius:12px !important;
  background:#fff !important;
  color:var(--bal-ink) !important;
  font-size:16px !important;
  box-shadow:none !important;
  transition:border-color .2s,box-shadow .2s;
}
body.bal-corporate-contact #contentInner textarea{min-height:180px;resize:vertical;}
body.bal-corporate-contact #contentInner input:focus,
body.bal-corporate-contact #contentInner select:focus,
body.bal-corporate-contact #contentInner textarea:focus{
  outline:none !important;
  border-color:var(--bal-teal) !important;
  box-shadow:0 0 0 4px rgba(45,212,191,.14) !important;
}
body.bal-corporate-contact #contentInner input[type="submit"],
body.bal-corporate-contact #contentInner button[type="submit"],
body.bal-corporate-contact #contentInner .wpcf7-submit{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:230px !important;
  min-height:56px !important;
  padding:15px 28px !important;
  border:0 !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,var(--bal-teal-dark),var(--bal-cyan)) !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:16px !important;
  box-shadow:0 12px 28px rgba(8,145,178,.20) !important;
  cursor:pointer !important;
}
body.bal-corporate-contact #contentInner .wpcf7-not-valid-tip{color:#DC2626 !important;font-size:13px !important;}
body.bal-corporate-contact #contentInner .wpcf7-response-output{
  margin:22px 0 0 !important;
  padding:16px 18px !important;
  border:1px solid #99F6E4 !important;
  border-radius:12px !important;
  background:#F0FDFA !important;
}

/* Responsive */
@media (max-width:959px){
  body.bal-standard-page #contentInner{
    width:min(calc(100% - 32px),1080px) !important;
    margin:92px auto 64px !important;
  }
  body.bal-standard-page #contentInner article,
  body.bal-standard-page #contentInner > main > article{
    border-radius:24px !important;
  }
}
@media (max-width:599px){
  body.bal-standard-page #contentInner{
    width:calc(100% - 24px) !important;
    margin:76px auto 44px !important;
  }
  body.bal-standard-page #contentInner article,
  body.bal-standard-page #contentInner > main > article{
    padding:26px 18px 32px !important;
    border-radius:20px !important;
  }
  body.bal-standard-page #contentInner h1,
  body.bal-standard-page #contentInner .entry-title,
  body.bal-standard-page #contentInner .post-title{
    margin-bottom:38px !important;
    padding-bottom:20px !important;
  }
  body.bal-standard-page #contentInner .entry-content h2,
  body.bal-standard-page #contentInner .st-post-content h2{
    margin-top:46px !important;
    padding:18px 18px 18px 23px !important;
    border-radius:15px !important;
  }
  body.bal-standard-page #contentInner .entry-content h3,
  body.bal-standard-page #contentInner .st-post-content h3{
    margin-top:34px !important;
  }
  body.bal-standard-page #contentInner .entry-content,
  body.bal-standard-page #contentInner .st-post-content{
    font-size:15px !important;
    line-height:1.9 !important;
  }
  body.bal-standard-page #contentInner th,
  body.bal-standard-page #contentInner td{
    display:block !important;
    width:100% !important;
    padding:14px 16px !important;
  }
  body.bal-standard-page #contentInner th{border-bottom:0 !important;}
  body.bal-corporate-contact #contentInner form{padding:20px 16px !important;border-radius:18px !important;}
  body.bal-corporate-contact #contentInner input[type="submit"],
  body.bal-corporate-contact #contentInner button[type="submit"],
  body.bal-corporate-contact #contentInner .wpcf7-submit{width:100% !important;min-width:0 !important;}
}

/* =========================================================
   V13: Remove the duplicated in-content page title
   The page already has the large corporate page title above the content.
   Keep the English kicker (Company Profile / Contact Us / etc.) and hide
   only the first duplicated H2 inside the page body.
========================================================= */
body.bal-standard-page #contentInner .entry-content > h2:first-of-type,
body.bal-standard-page #contentInner .st-post-content > h2:first-of-type,
body.bal-corporate-company #contentInner .entry-content > h2:first-of-type,
body.bal-corporate-message #contentInner .entry-content > h2:first-of-type,
body.bal-corporate-privacy #contentInner .entry-content > h2:first-of-type,
body.bal-corporate-contact #contentInner .entry-content > h2:first-of-type {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* =========================================================
   V14: Corporate page polish aligned with the ZABRINA visual system.
   The duplicate title is now removed in PHP, so keep only structural
   spacing protection here rather than hiding arbitrary first H2 tags.
========================================================= */
body.bal-standard-page #contentInner .entry-content > :first-child,
body.bal-standard-page #contentInner .st-post-content > :first-child {
  margin-top: 0 !important;
}

body.bal-standard-page #contentInner article {
  overflow: hidden;
}

body.bal-standard-page #contentInner .entry-content,
body.bal-standard-page #contentInner .st-post-content {
  max-width: 100%;
}
