/* ConnecTech v1.25 — mobile header, mobile menu, blog post, page hero, Solutions CTA, comments */

/* ---------- Mobile header: logo, cart and menu button in ONE row ---------- */
.ct-mm-btn{display:none}
.mobile-menu{cursor:pointer}
@media(max-width:900px){
  .site-header .header-main{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions" "search search";align-items:center;height:auto!important;min-height:0;gap:8px 10px;padding-top:8px;padding-bottom:8px}
  .site-header .brand{grid-area:brand;min-width:0}
  .site-header .ct-header-logo{max-height:46px;width:auto;max-width:100%}
  .site-header .header-actions{grid-area:actions;display:flex!important;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px}
  .site-header .header-actions .sales-link{display:none!important}
  .site-header .header-search{grid-area:search;display:flex!important;width:100%;max-width:none}
  .site-header .mobile-menu{display:inline-flex!important;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #cfd9e0;border-radius:10px;background:#fff;color:#102638;font-size:22px}
  .site-header .cart-trigger{white-space:nowrap}
}
@media(max-width:700px){
  .site-header .nav-bar{display:none!important}
  .site-header .ct-editorial-nav{display:none!important}
  .site-header .ct-mm-btn{display:inline-flex!important;margin-left:auto}
  .site-header .header-main{align-items:center}
}

/* ---------- Mobile menu sheet ---------- */
.ct-mobile-panel{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;background:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch}
.ct-mobile-panel[hidden]{display:none}
body.ct-mm-open{overflow:hidden}
.ct-mm-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e3e9ee;position:sticky;top:0;background:#fff}
.ct-mm-head strong{font-size:18px;color:#102638}
.ct-mm-close{width:42px;height:42px;border:0;border-radius:50%;background:#f1f4f6;font-size:26px;line-height:1;cursor:pointer}
.ct-mm-nav{display:flex;flex-direction:column;padding:8px 10px}
.ct-mm-nav a{display:block;padding:14px 10px;border-bottom:1px solid #eef2f5;color:#102638;font-weight:600;text-decoration:none;font-size:16px}
.ct-mm-nav a:active,.ct-mm-nav a:hover{background:#edf4ff;color:#1364d8}
.ct-mm-title{margin:16px 10px 4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#7a8b98;font-weight:800}
.ct-mm-nav .ct-mm-cat{font-weight:500;font-size:15px;padding-left:20px}
.ct-mm-actions{display:grid;gap:10px;padding:16px 18px 28px;margin-top:auto}
.ct-mm-actions .button{display:flex;justify-content:center}

/* ---------- Blog post hero and details ---------- */
.ct-single-post .ct-article-layout{margin-top:28px}
.ct-post-hero{position:relative;display:flex;align-items:flex-end;min-height:var(--ct-hero-h,360px);padding:44px 0 34px;background:linear-gradient(135deg,#0b2a4a,#1364d8) center/cover no-repeat;color:#fff;isolation:isolate}
.ct-post-hero.has-image::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,20,36,calc(var(--ct-hero-overlay,.55) * .6)),rgba(6,20,36,var(--ct-hero-overlay,.55)))}
.ct-post-hero-plain{min-height:0;padding:34px 0 26px}
.ct-post-hero-inner{width:min(1100px,calc(100% - 32px));margin:0 auto}
.ct-post-hero h1{margin:10px 0 14px;max-width:900px;font-size:clamp(26px,4.2vw,46px);line-height:1.15;color:#fff;overflow-wrap:anywhere}
.ct-hero-back{display:inline-block;margin-bottom:12px;color:#dbe9ff;text-decoration:none;font-size:14px}
.ct-hero-back:hover{color:#fff}
.ct-post-cats{display:flex;flex-wrap:wrap;gap:8px}
.ct-post-cats a{padding:4px 12px;border-radius:99px;background:rgba(255,255,255,.18);color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}
.ct-post-cats a:hover{background:rgba(255,255,255,.3)}
.ct-post-meta{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font-size:14px;color:#e4efff}
.ct-post-meta a{color:inherit}
.ct-meta-author{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.ct-meta-author img{border-radius:50%}
.ct-post-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:26px 0 10px}
.ct-post-tags a{padding:4px 12px;border-radius:99px;background:#eef3f8;color:#29485e;font-size:13px;text-decoration:none}
.ct-post-share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0;padding:14px 16px;border:1px solid #dfe7ec;border-radius:var(--ct-radius,10px);background:#f8fafc}
.ct-post-share strong{margin-right:6px;color:#102638}
.ct-post-share a,.ct-post-share .ct-copy{padding:7px 12px;border:1px solid #1364d8;border-radius:6px;background:#fff;color:#1364d8;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}
.ct-post-share a:hover,.ct-post-share .ct-copy:hover{background:#1364d8;color:#fff}
.ct-post-resources{margin:24px 0;padding:20px 22px;border:1px solid #dfe7ec;border-left:4px solid #1364d8;border-radius:var(--ct-radius,10px);background:#fff}
.ct-post-resources h2{margin:0 0 4px;font-size:20px;color:#102638}
.ct-post-resources p{margin:0 0 10px;color:#677785;font-size:14px}
.ct-post-resources ul{margin:0;padding-left:18px}
.ct-post-resources li{margin:6px 0}
.ct-post-resources a{color:#1364d8;font-weight:600}
.ct-author-box{display:flex;gap:16px;align-items:flex-start;margin:24px 0;padding:18px;border-radius:var(--ct-radius,10px);background:#f3f6f9}
.ct-author-box img{border-radius:50%;flex:none}
.ct-author-box span{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#7a8b98}
.ct-author-box strong{display:block;font-size:17px;color:#102638}
.ct-author-box p{margin:4px 0 0;color:#4d6172;font-size:14px;line-height:1.55}
.ct-related{margin:30px 0}
.ct-related h2{margin:0 0 12px;font-size:22px}
.ct-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.ct-related-card{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid #dfe7ec;border-radius:var(--ct-radius,10px);background:#fff;color:#102638;text-decoration:none}
.ct-related-card:hover{border-color:#1364d8;box-shadow:var(--ct-shadow,none)}
.ct-related-img img{width:100%;height:120px;object-fit:cover;border-radius:6px;display:block}
.ct-related-card small{color:#7a8b98}
.ct-article-aside .button{display:flex;justify-content:center;margin-top:10px}

/* ---------- Comments ---------- */
.ct-comments{margin:30px 0}
.ct-comments-title{font-size:22px;margin:0 0 14px}
.ct-comment-list{list-style:none;margin:0 0 26px;padding:0}
.ct-comment-list .comment{margin:0 0 14px;padding:14px 16px;border:1px solid #e3e9ee;border-radius:var(--ct-radius,10px);background:#fff;list-style:none}
.ct-comment-list .children{margin:14px 0 0 18px;padding:0;list-style:none}
.ct-comment-list .avatar{border-radius:50%;float:left;margin-right:12px}
.ct-comment-list .comment-meta{font-size:13px;color:#7a8b98;margin-bottom:6px}
.ct-comment-list .reply a{font-size:13px;color:#1364d8;font-weight:700}
.comment-respond{padding:22px;border:1px solid #dfe7ec;border-radius:var(--ct-radius,10px);background:#f8fafc}
.comment-reply-title{margin:0 0 6px;font-size:22px}
.ct-comment-note{margin:0 0 14px;color:#677785;font-size:14px}
.comment-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.comment-form>p{margin:0}
.comment-form .comment-form-comment,.comment-form .comment-form-url,.comment-form .comment-form-cookies-consent,.comment-form .form-submit,.comment-form .comment-subscription-form,.comment-form .ct-comment-note,.comment-form .logged-in-as{grid-column:1/-1}
.comment-form label{display:block;margin-bottom:4px;font-size:13px;font-weight:600;color:#102638}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;padding:11px 12px;border:1px solid #cfd9e0;border-radius:var(--ct-radius,10px);font:inherit;box-sizing:border-box;background:#fff}
.comment-form textarea{min-height:130px;resize:vertical}
.comment-form .comment-form-cookies-consent,.comment-form .comment-subscription-form{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#4d6172}
.comment-form .comment-form-cookies-consent label,.comment-form .comment-subscription-form label{display:inline;margin:0;font-weight:400}
.comment-form .form-submit .button{min-width:160px;height:46px;border:0;cursor:pointer}
@media(max-width:600px){.comment-form{grid-template-columns:1fr}}

/* ---------- Page hero ("main section" of pages) ---------- */
.ct-page-hero{position:relative;padding:56px 0 48px;background:linear-gradient(135deg,#0b2a4a,#1364d8) center/cover no-repeat;color:#fff;isolation:isolate}
.ct-page-hero.has-image::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(6,20,36,.62)}
.ct-page-hero-inner{width:min(1100px,calc(100% - 32px));margin:0 auto}
.ct-page-hero h1{margin:8px 0 12px;font-size:clamp(28px,4.4vw,46px);line-height:1.15;color:#fff}
.ct-page-hero p{max-width:720px;margin:0;color:#dbe9ff;font-size:18px;line-height:1.6}
.ct-page-hero .section-kicker{color:#8fc4ff}
.ct-page-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ct-page-hero-actions .button-outline{border-color:#fff;color:#fff;background:transparent}
.ct-page-hero-actions .button-outline:hover{background:rgba(255,255,255,.14)}
.ct-page-hero-light{background:linear-gradient(135deg,#eef4fb,#f8fafc);color:#102638;border-bottom:1px solid #e3e9ee}
.ct-page-hero-light h1{color:#102638}.ct-page-hero-light p{color:#4d6172}.ct-page-hero-light .section-kicker{color:#1364d8}
.ct-page-hero-light .ct-page-hero-actions .button-outline{border-color:#1364d8;color:#1364d8}
.ct-page-main .ct-page-content{margin-top:30px}

/* ---------- Solutions call-to-action ---------- */
.ct-solutions-cta{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;margin-top:30px;padding:22px 24px;border-radius:var(--ct-radius,10px);background:linear-gradient(135deg,#1364d8,#2b83f1);color:#fff}
.ct-solutions-cta h3{margin:0 0 4px;font-size:22px;color:#fff}
.ct-solutions-cta p{margin:0;color:#e4efff;max-width:620px}
.ct-solutions-cta-actions{display:flex;flex-wrap:wrap;gap:10px}
.ct-solutions-cta .button-primary{background:#fff;color:#0b2a4a}
.ct-solutions-cta .button-outline{border-color:#fff;color:#fff;background:transparent}
.ct-solutions-cta .button-outline:hover{background:rgba(255,255,255,.14)}
