/* Align the archived catalog with the main K-SOLAR site. */
:root { --navy:#0b2c4a; --blue:#1c5d99; --cyan:#1c5d99; --solar:#f5b301; --green:#2f8f46; --primary:#0b2c4a; --primary-2:#1c5d99; --ink:#13263b; --muted:#50637a; --line:#d8e1ea; --soft:#f4f7fa; --light:#f4f7fa; }
body { color:#13263b; background:#f4f7fa; }
h1,h2,h3,h4 { letter-spacing:-.035em; word-break:keep-all; }
.navbar { box-shadow:0 2px 18px rgba(16,47,59,.06); }
.catalog-notice { background:#eef3f8; border-color:#d8e1ea; }
.catalog-notice strong,.catalog-return a { color:#0b2c4a; }
.btn-primary { background:#0b2c4a; border-color:#0b2c4a; color:#fff; }
.btn-primary:hover { background:#123d63; border-color:#123d63; }
.card { border-color:#d8e1ea; border-radius:10px; }

/* Brand layer 2026-10-29 */
h1,h2,h3,h4 { color:#0b2c4a; }
.navbar { background:rgba(255,255,255,.97) !important; border-bottom:1px solid #d8e1ea; box-shadow:none; }
.btn-warning, .btn-solar { background:#f5b301; border-color:#f5b301; color:#0b2c4a; font-weight:700; }
.btn-warning:hover, .btn-solar:hover { background:#ffc933; border-color:#ffc933; color:#0b2c4a; }
.roadmap-section { background:#0b2c4a !important; }
.roadmap-section h2, .roadmap-section .section-title, .roadmap-section .section-title * { color:#fff !important; -webkit-text-fill-color:#fff; background:none; }
.roadmap-section .section-label { color:#f5b301 !important; }
.lang-toggle { display:inline-flex; flex:none; gap:2px; padding:3px; margin:0 8px; border:1px solid #d8e1ea; border-radius:999px; background:#f1f5f9; }
.lang-toggle button { min-height:34px; min-width:44px; padding:0 12px; border:0; border-radius:999px; background:transparent; color:#50637a; font-size:13px; font-weight:650; cursor:pointer; }
.lang-toggle button[aria-pressed="true"] { background:#0b2c4a; color:#fff; }
:focus-visible { outline:3px solid #f5b301; outline-offset:2px; }

/* ===== Catalog unification 2026-10-30: match main site (brand.css) ===== */
:root { --kc-navy:#0b2c4a; --kc-navy-2:#123d63; --kc-cell:#1c5d99; --kc-sun:#f5b301; --kc-line:#d8e1ea; --kc-text:#13263b; --kc-muted:#50637a; --kc-bg:#f4f7fa; }
html { -webkit-text-size-adjust:100%; }
body { background:#fff; color:var(--kc-text); font-size:16px; line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; overflow-x:hidden; }
html[lang="en"] body { word-break:normal; overflow-wrap:break-word; }
a { text-underline-offset:3px; }
img { max-width:100%; }

/* Headings: single colour. Legacy accent spans inherit. */
h1,h2,h3,h4,h5,h6 { color:var(--kc-navy); }
h1 span, h2 span, h3 span, h4 span, .section-title span, .hero h1 span, .page-hero h1 span { color:inherit !important; background:none !important; -webkit-text-fill-color:currentColor !important; }
.section-title, .hero h1, .page-hero h1, .board-header h2 { letter-spacing:-.02em; }
.hero h1, .page-hero h1 { font-size:clamp(32px,4.5vw,52px); font-weight:800; line-height:1.15; color:var(--kc-navy); max-width:none; }
.section-title { font-size:clamp(24px,3vw,34px); font-weight:800; line-height:1.25; color:var(--kc-navy); }
h5.card-title, .value-item h5, .service-block h3, .product-cat-copy h3 { font-weight:750; }
.section-label { color:var(--kc-cell); font-size:13px; font-weight:750; letter-spacing:.08em; }
.lead-copy { color:var(--kc-muted); font-size:17px; }
.text-muted { color:var(--kc-muted) !important; }

/* Sections */
section.py-5 { padding-top:72px !important; padding-bottom:72px !important; }
.bg-light { background:var(--kc-bg) !important; }
.hero { min-height:0; padding:72px 0; background:#fff; border-bottom:1px solid var(--kc-line); }
.hero p { color:var(--kc-muted); font-size:17px; }
.page-hero { padding:64px 0; background:#fff; color:var(--kc-text); border-bottom:1px solid var(--kc-line); }
.page-hero p { color:var(--kc-muted); }
.page-hero .section-label { color:var(--kc-cell); }
.page-hero-img { border:1px solid var(--kc-line); box-shadow:none; border-radius:12px; }
.hero-image { border-radius:12px; box-shadow:none; border:1px solid var(--kc-line); }
.hero-card { border-radius:12px; box-shadow:none; border:1px solid var(--kc-line); }
.process-band, .roadmap-section, .board-header { background:var(--kc-navy) !important; }
.process-band h1,.process-band h2,.process-band h3,.process-band h4,.process-band h5,.process-band h6,.process-band .section-title { color:#fff; }
.roadmap-section .section-label, .process-band .section-label { color:#a9cdee !important; }
.process-num, .roadmap-num { background:#fff; color:var(--kc-navy); border-radius:8px; }
.process-step, .roadmap-step { border-radius:12px; background:rgba(255,255,255,.06); }

/* Cards */
.card, .stat-card, .value-item, .service-card, .service-block, .market-card, .company-panel, .inquiry-card, .image-panel {
  background:#fff; border:1px solid var(--kc-line); border-radius:12px; box-shadow:none; }
.service-card { transition:border-color .15s ease; }
.service-card:hover, .ks-gallery-item:hover, .product-jump-link:hover { transform:none; box-shadow:none; border-color:var(--kc-cell); }
.section-photo, .reference-img, .parent-ref-img, .contact-photo, .service-photo, .product-cat-hero, .product-overview-banner { border:1px solid var(--kc-line); border-radius:12px; box-shadow:none; }
.reference-img { border:0; border-radius:12px 12px 0 0; }
.ks-gallery-item { border-radius:10px; }
.product-jump-link { background:#fff; border-radius:12px; }
.service-icon, .contact-info-icon { background:#eaf1f8; color:var(--kc-cell); border-radius:10px; }
.value-item i, .market-card i, .product-jump-link i { color:var(--kc-cell); }
.stat-number { font-weight:800; }

/* Buttons: navy primary, outline secondary; gold only for the estimate link */
.btn { border-radius:8px; font-weight:700; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.btn-primary, .btn-hero-primary, .btn-solar, .btn-warning { background:var(--kc-navy); border:1px solid var(--kc-navy); color:#fff; box-shadow:none; }
.btn-primary:hover, .btn-hero-primary:hover, .btn-solar:hover, .btn-warning:hover { background:var(--kc-navy-2); border-color:var(--kc-navy-2); color:#fff; }
.btn-hero-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-outline-dark { background:#fff; border:1px solid var(--kc-navy); color:var(--kc-navy); }
.btn-hero-secondary:hover, .btn-outline-primary:hover, .btn-outline-secondary:hover, .btn-outline-dark:hover { background:#eef3f8; border-color:var(--kc-navy); color:var(--kc-navy); }
.btn-lg { min-height:48px; font-size:16px; }
.form-control, .form-select { border-color:var(--kc-line); border-radius:8px; min-height:44px; }

/* Header */
.navbar { min-height:72px; padding:10px 0; background:rgba(255,255,255,.97) !important; border-bottom:1px solid var(--kc-line); box-shadow:none; backdrop-filter:saturate(1.4) blur(8px); }
.navbar > .container { max-width:1200px; gap:12px; flex-wrap:wrap; }
.navbar-brand { margin-right:0; }
.catalog-logo { height:40px; width:auto; max-width:168px; max-height:40px; border-radius:0; object-fit:contain; }
.navbar-nav .nav-link { display:inline-flex; align-items:center; min-height:44px; padding:0 12px !important; color:var(--kc-text) !important; font-size:15px; font-weight:600; border-radius:8px; white-space:nowrap; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link:focus { background:#eef3f8; color:var(--kc-navy) !important; }
.navbar-nav .nav-link.btn-nav-cta { background:var(--kc-sun); color:var(--kc-navy) !important; font-weight:750; padding:0 18px !important; min-height:44px; border-radius:8px; }
.navbar-nav .nav-link.btn-nav-cta:hover { background:#ffc933; }
.navbar-toggler { min-height:44px; border:1px solid var(--kc-line); border-radius:8px; }
.navbar-toggler:focus { box-shadow:none; }
.navbar .navbar-collapse { min-width:0; }
@media (min-width:992px) { .navbar > .container { flex-wrap:nowrap; } .navbar-nav { align-items:center; } }
@media (min-width:992px) and (max-width:1199.98px) { .navbar > .container { flex-wrap:wrap; } .navbar-collapse { flex-basis:100%; } .navbar-nav .nav-link { padding:0 8px !important; } }
@media (max-width:991.98px) {
  .navbar-collapse { flex-basis:100%; border-top:1px solid var(--kc-line); margin-top:8px; padding:8px 0 12px; }
  .navbar-nav .nav-link { padding:0 12px !important; }
  .navbar-nav .nav-link.btn-nav-cta { justify-content:center; width:auto; margin-top:6px; }
  .catalog-logo { height:32px; max-width:130px; }
}
.lang-toggle { margin:0 auto 0 4px; }
.catalog-notice { background:#eef3f8; border-bottom:1px solid var(--kc-line); font-size:14px; padding:14px 0; }
.catalog-notice p { margin:4px 0; color:var(--kc-muted); }
.catalog-return a { font-weight:650; }

/* Footer: navy, three columns, like the main site */
footer { background:var(--kc-navy); color:rgba(255,255,255,.82); padding:56px 0 28px; font-size:15px; }
@media (min-width:992px) { footer .row { --bs-gutter-x:32px; } }
footer h5 { color:#fff; font-size:15px; font-weight:750; margin:0 0 12px; }
footer p, footer li { line-height:1.7; color:rgba(255,255,255,.82); }
footer .small, footer .small * { font-size:15px; }
footer a { color:#fff; text-decoration:none; }
footer a:hover { color:var(--kc-sun); text-decoration:underline; }
footer ul { margin:0; padding:0; }
footer .footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 16px; }
footer .row > div:nth-child(2) { order:3; }
footer .row > div:nth-child(3) { order:2; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.14); margin-top:32px; padding-top:20px; }
.footer-bottom p { color:rgba(255,255,255,.7); font-size:14px; }
@media (max-width:991.98px) { footer .row > div:nth-child(n) { order:0; } }

/* Focus, motion, overflow */
:focus-visible { outline:3px solid var(--kc-sun); outline-offset:2px; border-radius:4px; }
.image-zoom-trigger:focus-visible { outline:3px solid var(--kc-sun); outline-offset:3px; }
table { max-width:100%; }
@media (max-width:575.98px) {
  section.py-5 { padding-top:48px !important; padding-bottom:48px !important; }
  .hero, .page-hero { padding:44px 0; }
  .hero-card { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .collapsing { transition:none !important; }
}
