/* ==========================================================================
   Kutchina / Gita Enterprise - P1 components (2026-10-04)
   Paired with kmodu-p1-content.php and kmodu-projects.php
   ========================================================================== */

/* ---- direct answer + key facts ---------------------------------------- */
.km-answer{
  margin:0 0 34px;
  padding:24px 26px 20px;
  background:var(--km-brand-soft, #EAF2F6);
  border-left:4px solid var(--km-brand, #1B5D7F);
  border-radius:0 14px 14px 0;
}
.km-answer h2,
.kmodu-rich .km-answer h2{ margin:0 0 10px !important; padding-top:0 !important; border-top:0 !important; font-size:22px !important; line-height:1.3 !important; }
/* the site-wide H2 accent bar belongs to page sections, not to this box */
.kmodu-rich .km-answer h2::after,
.kmodu-rich .km-answer h2::before{ display:none !important; }
.km-answer .km-answer-text{ font-size:17px; line-height:1.7; margin:0 0 14px; color:#1F3038; }
.km-answer .km-answer-facts-title{
  margin:0 0 8px !important; font-size:13px !important; letter-spacing:.06em;
  text-transform:uppercase; color:var(--km-brand-dark, #12455F) !important;
}
.km-answer ul.km-answer-facts{
  list-style:none; margin:0 0 12px !important; padding:0 !important;
  display:grid; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); gap:8px 18px;
}
.km-answer ul.km-answer-facts li{
  position:relative; margin:0 !important; padding:0 0 0 18px !important;
  font-size:15px; line-height:1.5; color:#2A3B44;
}
.km-answer ul.km-answer-facts li::before{
  content:""; position:absolute; left:0; top:.55em; width:7px; height:7px;
  border-radius:50%; background:var(--km-accent, #DC7000);
}
.km-answer .km-answer-updated{ margin:0; font-size:13px; color:#5B6B73; }

/* ---- related guides ----------------------------------------------------- */
.km-related{ margin:38px 0 10px; }
.km-related h2{ margin:0 0 14px !important; }
.km-related ul{
  list-style:none; margin:0 !important; padding:0 !important;
  display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:12px;
}
.km-related li{
  margin:0 !important; padding:14px 16px !important;
  border:1px solid var(--km-line, #E3EAEE); border-radius:12px; background:#fff;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.km-related li::before{ display:none !important; }
.km-related li:hover{ border-color:var(--km-brand, #1B5D7F); box-shadow:0 6px 18px rgba(16,35,45,.08); }
.km-related a{ display:block; font-weight:700; color:var(--km-brand, #1B5D7F) !important; text-decoration:none !important; margin-bottom:3px; }
.km-related a:hover{ text-decoration:underline !important; }
.km-related span{ display:block; font-size:14px; line-height:1.45; color:#4A5A62; }

/* ---- location card ------------------------------------------------------ */
.km-locs{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:16px; margin:8px 0 30px; }
.km-loc{ border:1px solid var(--km-line, #E3EAEE); border-radius:14px; padding:18px 20px; background:#fff; }
.km-loc .km-loc-title{ margin:0 0 6px !important; font-size:18px !important; }
.km-loc .km-loc-kind{
  display:inline-block; margin-left:6px; padding:2px 8px; border-radius:99px;
  background:var(--km-brand-soft, #EAF2F6); color:var(--km-brand-dark, #12455F);
  font-size:12px; font-weight:600; letter-spacing:.03em; vertical-align:middle;
}
.km-loc address{ font-style:normal; font-size:15px; line-height:1.55; color:#2A3B44; margin:0 0 10px; }
.km-loc dl{ margin:0 0 12px; display:grid; grid-template-columns:auto 1fr; gap:4px 12px; font-size:14.5px; }
.km-loc dt{ font-weight:700; color:#1F3038; }
.km-loc dd{ margin:0; color:#3A4A52; }
.km-loc .km-loc-dir{ font-weight:700; color:var(--km-accent, #DC7000) !important; }

/* ---- projects ----------------------------------------------------------- */
.km-proj-facts dl{ display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:10px; margin:0 0 24px; }
.km-proj-facts dl > dt{ grid-column:auto; font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:#5B6B73; }
.km-proj-facts dl > dd{ margin:0 0 6px; font-weight:700; }
.km-proj-spec{ width:100%; border-collapse:collapse; margin:0 0 24px; }
.km-proj-spec th, .km-proj-spec td{ text-align:left; padding:9px 12px; border-bottom:1px solid var(--km-line, #E3EAEE); }
.km-proj-gallery{ display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:12px; margin:0 0 24px; }
.km-proj-gallery figure{ margin:0; }
.km-proj-gallery img{ width:100%; height:auto; border-radius:10px; }
.km-proj-quote{ border-left:4px solid var(--km-accent, #DC7000); margin:24px 0; padding:6px 0 6px 18px; }

/* ---- byline / AI pages / video ----------------------------------------- */
.km-byline{ font-size:14px; color:#5B6B73; margin:0 0 20px !important; }
.km-byline .km-byline-author{ font-weight:700; color:#1F3038; }
.km-ai .kmodu-tw th[scope="row"]{ text-align:left; white-space:nowrap; width:1%; padding-right:18px; }
.km-ai ol li, .km-ai ul li{ margin-bottom:6px; }
.km-video{ margin:0 0 16px; }
.km-video iframe{ width:100%; aspect-ratio:16/9; height:auto; border:0; border-radius:12px; }
.km-video figcaption{ font-size:14.5px; color:#4A5A62; margin-top:8px; }
.km-transcript{ border:1px solid var(--km-line, #E3EAEE); border-radius:12px; padding:12px 16px; margin:0 0 24px; }
.km-transcript summary{ cursor:pointer; font-weight:700; color:var(--km-brand, #1B5D7F); }

/* screen-reader-only text (theme does not ship the class) */
.screen-reader-text{
  border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px;
  overflow:hidden; padding:0; position:absolute !important; width:1px; word-wrap:normal !important;
}

@media (max-width:640px){
  .km-answer{ padding:18px 16px 16px; }
  .km-answer h2{ font-size:19px !important; }
  .km-answer .km-answer-text{ font-size:16px; }
}
