/* never allow sideways scroll */
html,body{max-width:100%;overflow-x:hidden;}
/* single product: theme prints a second bare h1 alongside the WooCommerce title */
body.single-product .elementor-widget-theme-post-title h1,
body.single-product .page-header h1,
body.single-product .entry-header > h1{display:none;}
/* fluid media */
img,svg,video,canvas,iframe,embed,object{max-width:100%;height:auto;}
iframe{border:0;}
/* long words, URLs and emails must not push the layout */
body{overflow-wrap:break-word;}
p,li,h1,h2,h3,h4,h5,h6,td,th,dd,dt,blockquote,figcaption{overflow-wrap:anywhere;}
/* wide tables scroll instead of stretching the page */
@media(max-width:782px){
  .entry-content table,.woocommerce table.shop_table,.woocommerce-page table.shop_table,.cn-tablo{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  pre,code{white-space:pre-wrap;word-break:break-word;}
}
/* headings must not dominate small screens */
@media(max-width:600px){
  h1,.entry-title,.page-title{font-size:clamp(24px,7vw,30px)!important;line-height:1.22!important;overflow-wrap:anywhere;}
  h2{font-size:clamp(20px,5.6vw,25px)!important;line-height:1.28!important;}
  h3{font-size:clamp(17px,4.6vw,20px)!important;line-height:1.35!important;}
}
/* ---------- cn-mobile-pack: service, single service and pricing ---------- */
@media(max-width:782px){
  .cn-sv,.cn-x,.cn-wrap{padding-left:14px!important;padding-right:14px!important;}
  .cn-sv-grid{grid-template-columns:1fr!important;}
  .cn-stop{grid-template-columns:1fr!important;gap:20px!important;}
  .cn-extra-grid{grid-template-columns:1fr!important;}
  .cn-xwrap{grid-template-columns:1fr!important;}
  .cn-xcards,.cn-xcards.cn-n2,.cn-xcards.cn-n3{grid-template-columns:1fr!important;}
}
@media(max-width:600px){
  /* package tab strips scroll rather than squash */
  .cn-ptabs{max-width:100%!important;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;}
  .cn-ptab{flex:0 0 auto!important;min-width:33%;scroll-snap-align:start;font-size:13px!important;padding:11px 12px!important;}
  .cn-pcards{max-width:100%!important;}
  .cn-pcard{padding:18px 15px!important;}
  .cn-pprice{font-size:27px!important;}
  /* buttons full width and thumb friendly */
  .cn-btn,.cn-btn-ghost,.cn-sv-btn,.cn-xbtn,.cn-tpl-btn{display:block!important;width:100%!important;box-sizing:border-box;text-align:center;margin-left:0!important;margin-right:0!important;}
  .cn-sv-acts,.cn-tpl-acts{display:grid!important;grid-template-columns:1fr;gap:9px;}
  .cn-cta .cn-btn+.cn-btn-ghost{margin-top:10px!important;}
  /* selection rows */
  .cn-extra{padding:12px 13px!important;}
  .cn-psel{padding:12px!important;}
  /* pricing summary should not be sticky on a small screen */
  .cn-xsum,.cn-xsummary{position:static!important;}
  /* headings and prices */
  .cn-sv-h,.cn-tpl-h,.cn-hero h1,.cn-stop-info h1{font-size:clamp(23px,6.6vw,28px)!important;line-height:1.22!important;}
  .cn-sv-price,.cn-tpl-price{font-size:22px!important;}
  .cn-sv-foot{flex-direction:column!important;align-items:stretch!important;gap:12px;}
  /* keep the last block clear of the floating chat bubble */
  .cn-sv-cta,.cn-tpl-note,.cn-faq{margin-bottom:84px!important;}
}
/* comfortable tap targets */
@media(max-width:600px){
  a.button,button,input[type=submit],.cn-btn,.cn-tpl-btn,.cn-rs-btn,.cn-pf-btn{min-height:44px;}
  /* stop iOS zooming when a field gains focus */
  input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=password],input[type=search],textarea,select{font-size:16px;}
}
/* WooCommerce checkout and account behave on small screens */
@media(max-width:768px){
  .woocommerce form .form-row-first,.woocommerce form .form-row-last,.woocommerce-page form .form-row-first,.woocommerce-page form .form-row-last{width:100%;float:none;margin-right:0;}
  .woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2,.woocommerce-page .col2-set .col-1,.woocommerce-page .col2-set .col-2{width:100%;float:none;}
  .woocommerce table.shop_table_responsive tr td{text-align:right;}
}
/* ---------- cn-pkg-fixes: package meta + inclusions ---------- */
.cn-pkgmeta{display:flex!important;flex-wrap:wrap;gap:10px 22px!important;justify-content:center;margin:14px 0 8px!important;padding-top:12px;border-top:1px solid #eef1f6;}
.cn-pkgmeta-i{display:inline-flex!important;align-items:center;gap:7px;font-size:13.5px;color:#475467;font-weight:500;white-space:nowrap;}
.cn-pkgmeta-i::before{content:"";display:inline-block;width:14px;height:14px;flex:0 0 14px;border:2px solid #8a97a8;border-radius:50%;}
.cn-ico-loop::before{border-style:dashed;}
/* remove the native disclosure triangle */
.cn-pkgdet>summary{list-style:none!important;cursor:pointer;display:inline-flex;align-items:center;gap:7px;color:#084088;font-weight:600;font-size:14px;padding:6px 0;}
.cn-pkgdet>summary::-webkit-details-marker{display:none!important;}
.cn-pkgdet>summary::marker{content:"";}
.cn-pkgdet>summary::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s;}
.cn-pkgdet[open]>summary::after{transform:rotate(-135deg);}
.cn-pkgdet-body{text-align:left;margin-top:10px;font-size:13.5px;color:#667085;line-height:1.7;}
.cn-pkgdet-body ul{margin:0;padding:0;list-style:none;}
.cn-pkgdet-body li{position:relative;padding-left:26px;margin-bottom:9px;line-height:1.55;}
.cn-pkgdet-body li::before{content:"";position:absolute;left:3px;top:4px;width:6px;height:11px;border-right:2.5px solid #0B7A43;border-bottom:2.5px solid #0B7A43;transform:rotate(42deg);}
.cn-pkgdet-body li.cn-pkgdet-head{padding-left:0;font-weight:600;color:#1D3557;}
.cn-pkgdet-body li.cn-pkgdet-head::before{display:none;}
@media(max-width:600px){
  .cn-pkgmeta{gap:8px 16px!important;font-size:13px;}
  .cn-extra{padding-right:70px!important;}
}

/* ---------- legal pages ---------- */
.page-id-3477 .entry-content,.page-id-3478 .entry-content{max-width:820px;margin:0 auto;font-size:16px;line-height:1.75;color:#333;}
.page-id-3477 h2,.page-id-3478 h2{color:#1D3557;font-size:22px;margin:34px 0 12px;}
.page-id-3477 hr,.page-id-3478 hr{border:0;border-top:1px solid #E3E8EF;margin:26px 0;}
.cn-legal-table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14.5px;}
.cn-legal-table th{background:#eef4ff;color:#1D3557;text-align:left;padding:11px 14px;border:1px solid #E3E8EF;}
.cn-legal-table td{padding:11px 14px;border:1px solid #E3E8EF;vertical-align:top;}
@media(max-width:600px){.cn-legal-table{display:block;overflow-x:auto;}.page-id-3477 h2,.page-id-3478 h2{font-size:19px;}}

/* ---------- cn-dash-fixes: client dashboard ---------- */
.cn-wrap.cn-dash,.cn-shell,.cn-side,.cn-main,.cn-panel{max-width:100%;box-sizing:border-box;min-width:0;}
@media(max-width:1000px){
  .cn-shell{display:block!important;}
  .cn-side{position:static!important;width:auto!important;margin-bottom:16px;padding:16px 14px!important;}
  .cn-side-user span{max-width:none!important;white-space:normal!important;overflow-wrap:anywhere;}
  .cn-nav{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;gap:8px;padding-bottom:6px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .cn-nav-i{flex:0 0 auto!important;scroll-snap-align:start;padding:10px 14px!important;font-size:13.5px!important;white-space:nowrap;}
  .cn-main{width:100%!important;}
}
@media(max-width:600px){
  .cn-wrap.cn-dash{padding:14px 12px 40px!important;}
  .cn-main-head h1{font-size:21px!important;}
  .cn-panel{padding:16px 14px!important;border-radius:14px;}
  /* tables and cards inside the dashboard must not push the page wide */
  .cn-panel table{display:block;width:100%;overflow-x:auto;}
  .cn-panel .cn-card,.cn-panel .cn-row{flex-direction:column!important;align-items:stretch!important;gap:10px;}
  .cn-panel .cn-btn,.cn-panel .cn-btn-ghost{width:100%!important;box-sizing:border-box;text-align:center;}
  .cn-panel p,.cn-panel li,.cn-panel td{overflow-wrap:anywhere;}
  /* clear the floating chat bubble */
  .cn-panel{margin-bottom:80px;}
}

/* ---------- cn-pricing-fixes: sidebar overflow + mobile ---------- */
/* long service names must wrap inside the sidebar, not spill out of it */
.cn-xwrap{grid-template-columns:minmax(0,265px) minmax(0,1fr)!important;}
.cn-xtabs{min-width:0;overflow:hidden;}
.cn-xtab{width:100%!important;min-width:0;box-sizing:border-box;}
.cn-xtab-t{white-space:normal!important;overflow-wrap:anywhere;word-break:normal;display:block;width:100%;}
.cn-xtab-m{white-space:normal!important;}
/* the package cards must never push the page wide */
.cn-x,.cn-xwrap,.cn-xpanel,.cn-xcards,.cn-xcard{min-width:0;max-width:100%;box-sizing:border-box;}
@media(max-width:960px){
  .cn-xwrap{grid-template-columns:1fr!important;gap:16px!important;}
  .cn-xtabs{position:static!important;flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto;gap:10px!important;padding:8px!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .cn-xtab{flex:0 0 auto!important;width:auto!important;min-width:200px;max-width:78vw;scroll-snap-align:start;}
}
@media(max-width:600px){
  .cn-xtab{min-width:180px;padding:11px 13px!important;}
  .cn-xtab-t{font-size:14px!important;}
  .cn-ptabbar{flex-wrap:wrap;}
  .cn-ptabbar button{flex:1 1 33%;min-width:0;font-size:13px!important;padding:10px 4px!important;}
  .cn-ptabbar button small{font-size:11px!important;}
  .cn-xcard{padding:18px 15px!important;}
  .cn-xsum,.cn-xactions{margin-bottom:16px;}
  .cn-x:last-child{padding-bottom:86px;}
}

/* ---------- cn-footer-brand ---------- */
footer .elementor-widget-heading .elementor-heading-title{position:relative;padding-bottom:12px;margin-bottom:6px;}
footer .elementor-widget-heading .elementor-heading-title:after{content:'';position:absolute;left:0;bottom:0;width:34px;height:3px;border-radius:2px;background:linear-gradient(90deg,#009BDF,#38BDF8);}
footer .elementor-icon-list-item{transition:transform .16s;}
footer .elementor-icon-list-item:hover{transform:translateX(3px);}
footer .elementor-icon-list-item a{color:#C7D3E3!important;transition:color .16s;}
footer .elementor-icon-list-item a:hover{color:#FFFFFF!important;}
footer .elementor-icon-list-icon i,footer .elementor-icon-list-icon svg{color:#009BDF!important;fill:#009BDF!important;}
footer .elementor-button{box-shadow:0 6px 18px rgba(0,0,0,.24);font-weight:600;}
footer .elementor-button:hover{color:#FFFFFF!important;box-shadow:0 10px 24px rgba(0,155,223,.34);}
/* thin brand rule above the copyright line */
footer > .e-con-inner > .e-con:last-child,footer .e-con:last-child{border-top:1px solid rgba(255,255,255,.12);}
@media(max-width:767px){
  footer .elementor-widget-heading .elementor-heading-title:after{left:0;transform:none;}
  footer .elementor-icon-list-item:hover{transform:none;}
}

/* ---------- cn-form-skin: quote + contact forms ---------- */
.cn-qf{max-width:860px;margin:0 auto;font-family:Poppins,sans-serif;}

/* card shell */
.cn-qf-form{background:#fff;border:1px solid #E3E8EF;border-radius:18px;padding:34px 36px 30px;box-shadow:0 10px 40px rgba(16,24,40,.07);}

/* section headings with a numbered marker */
.cn-qf-sec{margin:0 0 26px;padding:0 0 24px;border-bottom:1px solid #F1F4F9;counter-increment:cnstep;position:relative;}
.cn-qf-sec:last-of-type{border-bottom:0;padding-bottom:6px;margin-bottom:14px;}
.cn-qf-form{counter-reset:cnstep;}
.cn-qf-sec h3{font-family:Roboto,sans-serif;color:#1D3557;font-size:18px;margin:0 0 4px;display:flex;align-items:center;gap:11px;line-height:1.35;}
.cn-qf-sec h3:before{content:counter(cnstep);flex:0 0 27px;width:27px;height:27px;border-radius:50%;background:#EEF4FF;color:#084088;font-size:13.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;}
.cn-qf-sec h3 span{color:#C2185B;}
.cn-qf-hint{color:#8A97A8;font-size:13px;margin:2px 0 14px 38px;}

/* option cards */
.cn-qf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:10px;margin-top:14px;}
.cn-qf-opt{display:flex;align-items:center;gap:11px;padding:13px 15px;border:1.5px solid #E3E8EF;border-radius:11px;cursor:pointer;background:#fff;font-size:14.5px;color:#3A4A5E;transition:border-color .15s,background .15s,box-shadow .15s;line-height:1.4;}
.cn-qf-opt:hover{border-color:#B6CBE8;background:#F8FBFF;}
.cn-qf-opt input{width:19px;height:19px;accent-color:#084088;flex:0 0 auto;margin:0;cursor:pointer;}
.cn-qf-opt:has(input:checked){border-color:#084088;background:#EEF4FF;color:#084088;font-weight:600;box-shadow:0 2px 10px rgba(8,64,136,.10);}

/* fields */
.cn-qf-two{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.cn-qf-field{margin-bottom:18px;}
.cn-qf-field label{display:block;font-family:Roboto,sans-serif;font-weight:600;font-size:13.5px;color:#1D3557;margin-bottom:7px;}
.cn-qf-field label span{color:#C2185B;}
.cn-qf-field input,.cn-qf-field select,.cn-qf-field textarea{width:100%;padding:13px 15px;border:1.5px solid #E3E8EF;border-radius:11px;font-size:15px;font-family:inherit;box-sizing:border-box;background:#FCFDFE;color:#1D3557;transition:border-color .15s,box-shadow .15s,background .15s;}
.cn-qf-field input::placeholder,.cn-qf-field textarea::placeholder{color:#A9B4C2;}
.cn-qf-field textarea{min-height:150px;resize:vertical;line-height:1.65;}
.cn-qf-field input:hover,.cn-qf-field select:hover,.cn-qf-field textarea:hover{border-color:#CBD9EC;}
.cn-qf-field input:focus,.cn-qf-field select:focus,.cn-qf-field textarea:focus{border-color:#084088;background:#fff;box-shadow:0 0 0 4px rgba(8,64,136,.10);outline:none;}
.cn-qf-field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8A97A8 50%),linear-gradient(135deg,#8A97A8 50%,transparent 50%);background-position:calc(100% - 19px) calc(1em + 3px),calc(100% - 14px) calc(1em + 3px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px;}

/* phone group */
.cn-qf-phone{display:grid;grid-template-columns:170px 1fr;gap:9px;}

/* errors */
.cn-qf-alert{background:#FFF1F5;border:1px solid #F8BBD0;border-left:4px solid #C2185B;color:#A3154C;border-radius:11px;padding:15px 19px;margin:0 0 22px;font-size:14.5px;line-height:1.6;}
.cn-qf-err{display:block;color:#C2185B;font-size:13px;margin-top:7px;font-weight:500;}
.cn-qf-field.has-error input,.cn-qf-field.has-error select,.cn-qf-field.has-error textarea{border-color:#E5799F;background:#FFF7FA;}
.cn-qf-sec.has-error{background:#FFF7FA;border-radius:12px;padding:16px 16px 20px;border-bottom-color:#F8BBD0;}

/* honeypot */
.cn-qf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}

/* submit */
.cn-qf-btn{width:100%;background:#084088;color:#fff;border:0;border-radius:12px;padding:17px 28px;font-family:Roboto,sans-serif;font-weight:600;font-size:16px;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s;box-shadow:0 8px 22px rgba(8,64,136,.26);letter-spacing:.2px;}
.cn-qf-btn:hover{background:#0A4FA8;transform:translateY(-2px);box-shadow:0 12px 30px rgba(8,64,136,.34);}
.cn-qf-btn:active{transform:translateY(0);}
.cn-qf-foot{text-align:center;color:#8A97A8;font-size:13px;margin:14px 0 0;}

/* thank you */
.cn-qf-done{text-align:center;background:#fff;border:1px solid #B7E4C7;border-radius:18px;padding:48px 30px;box-shadow:0 10px 36px rgba(11,122,67,.10);}
.cn-qf-tick{width:66px;height:66px;margin:0 auto 20px;border-radius:50%;background:#E6F6EC;color:#0B7A43;font-size:34px;line-height:66px;font-weight:700;box-shadow:0 0 0 8px rgba(11,122,67,.07);}
.cn-qf-done h2{font-family:Roboto,sans-serif;color:#1D3557;font-size:25px;margin:0 0 12px;}
.cn-qf-done p{color:#667085;font-size:16px;line-height:1.75;margin:0 auto 10px;max-width:540px;}
.cn-qf-done-sub{font-size:14.5px!important;color:#8A97A8!important;}
.cn-qf-done a{color:#084088;font-weight:600;}

@media(max-width:640px){
.cn-qf-form{padding:22px 18px 20px;border-radius:14px;}
.cn-qf-two{grid-template-columns:1fr;gap:0;}
.cn-qf-grid{grid-template-columns:1fr;}
.cn-qf-phone{grid-template-columns:140px 1fr;}
.cn-qf-field input,.cn-qf-field select,.cn-qf-field textarea{font-size:16px;}
.cn-qf-sec h3{font-size:16.5px;}
.cn-qf-hint{margin-left:0;}
.cn-qf-done{padding:34px 20px;}
.cn-qf-done h2{font-size:21px;}
.cn-qf-btn{padding:16px 22px;}
}
@media(prefers-reduced-motion:reduce){.cn-qf-btn,.cn-qf-opt{transition:none;}.cn-qf-btn:hover{transform:none;}}

/* ---------- cn-blog: archive ---------- */
.cn-bl{max-width:1200px;margin:0 auto;padding:10px 20px 60px;font-family:Poppins,sans-serif;}
.cn-bl-hero{text-align:center;margin-bottom:30px;}
.cn-bl-h{font-family:Roboto,sans-serif;color:#1D3557;font-size:38px;line-height:1.2;margin:0 0 12px;}
.cn-bl-hero p{color:#667085;font-size:17px;max-width:660px;margin:0 auto;line-height:1.65;}
.cn-bl-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:0 0 30px;}
.cn-bl-f{background:#fff;border:1.5px solid #E3E8EF;color:#667085;border-radius:30px;padding:8px 16px;font-family:Roboto,sans-serif;font-weight:600;font-size:13.5px;text-decoration:none!important;transition:.16s;line-height:1;}
.cn-bl-f span{display:inline-block;margin-left:5px;background:#F1F4F9;color:#8A97A8;border-radius:11px;padding:2px 7px;font-size:11px;}
.cn-bl-f:hover{border-color:#084088;color:#084088!important;}
.cn-bl-f.is-on{background:#084088;border-color:#084088;color:#fff!important;}
.cn-bl-f.is-on span{background:rgba(255,255,255,.22);color:#fff;}

.cn-bl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:26px;}
.cn-bl-card{background:#fff;border:1px solid #E3E8EF;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 10px rgba(16,24,40,.05);transition:transform .22s,box-shadow .22s,border-color .22s;}
.cn-bl-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(8,64,136,.14);border-color:#C9D9F0;}
.cn-bl-media{position:relative;display:block;aspect-ratio:16/9;background:#F1F4F9;overflow:hidden;}
.cn-bl-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s;}
.cn-bl-card:hover .cn-bl-media img{transform:scale(1.05);}
.cn-bl-ph{display:flex;align-items:center;justify-content:center;height:100%;font-size:46px;font-weight:700;color:#fff;background:linear-gradient(135deg,#084088,#009BDF);font-family:Roboto,sans-serif;}
.cn-bl-cat{position:absolute;top:13px;left:13px;background:rgba(255,255,255,.95);color:#084088;font-size:11.5px;font-weight:700;padding:5px 12px;border-radius:20px;font-family:Roboto,sans-serif;box-shadow:0 3px 10px rgba(0,0,0,.12);}
.cn-bl-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1;}
.cn-bl-meta{color:#8A97A8;font-size:12.5px;margin-bottom:9px;}
.cn-bl-meta span{opacity:.6;margin:0 3px;}
.cn-bl-body h3{font-size:18px;line-height:1.4;margin:0 0 9px;font-family:Roboto,sans-serif;}
.cn-bl-body h3 a{color:#1D3557;text-decoration:none;}
.cn-bl-body h3 a:hover{color:#084088;}
.cn-bl-body p{font-size:13.8px;color:#667085;line-height:1.7;margin:0 0 16px;flex:1;}
.cn-bl-more{color:#084088;font-weight:600;font-size:13.5px;font-family:Roboto,sans-serif;text-decoration:none!important;display:inline-flex;align-items:center;gap:7px;}
.cn-bl-more i{width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .2s;}
.cn-bl-more:hover i{transform:rotate(45deg) translate(2px,-2px);}

/* lead post */
.cn-bl-lead{display:grid;grid-template-columns:1.15fr 1fr;margin-bottom:26px;}
.cn-bl-lead .cn-bl-media{aspect-ratio:auto;height:100%;min-height:310px;}
.cn-bl-lead .cn-bl-body{padding:32px 34px;justify-content:center;}
.cn-bl-lead h3{font-size:27px;line-height:1.3;}
.cn-bl-lead p{font-size:15px;}

/* pagination */
.cn-bl-pag{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:34px 0 0;}
.cn-bl-pag .page-numbers{background:#fff;border:1.5px solid #E3E8EF;color:#667085;border-radius:9px;padding:9px 15px;text-decoration:none!important;font-weight:600;font-size:14px;font-family:Roboto,sans-serif;}
.cn-bl-pag .page-numbers:hover{border-color:#084088;color:#084088!important;}
.cn-bl-pag .page-numbers.current{background:#084088;border-color:#084088;color:#fff!important;}

/* archive CTA */
.cn-bl-cta{margin-top:40px;text-align:center;background:linear-gradient(135deg,#084088,#009BDF);border-radius:18px;padding:38px 26px;color:#fff;}
.cn-bl-cta h2{color:#fff!important;font-family:Roboto,sans-serif;font-size:25px;margin:0 0 8px;}
.cn-bl-cta p{margin:0 0 20px;opacity:.92;font-size:15.5px;}
.cn-bl-btn{display:inline-block;background:#fff;color:#084088!important;padding:14px 32px;border-radius:10px;font-family:Roboto,sans-serif;font-weight:600;font-size:15px;text-decoration:none!important;transition:.18s;}
.cn-bl-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.22);}

/* ---------- single post ---------- */
.cn-post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#8A97A8;font-size:13.5px;font-family:Poppins,sans-serif;margin:0 0 22px;}
.cn-post-cat{background:#EEF4FF;color:#084088;font-weight:700;font-size:12px;padding:5px 13px;border-radius:20px;font-family:Roboto,sans-serif;}
.cn-post-body{font-family:Poppins,sans-serif;font-size:17px;line-height:1.85;color:#3A4A5E;max-width:760px;}
.cn-post-body p{margin:0 0 22px;}
.cn-post-body h2{font-family:Roboto,sans-serif;color:#1D3557;font-size:27px;line-height:1.3;margin:44px 0 16px;padding-top:6px;}
.cn-post-body h3{font-family:Roboto,sans-serif;color:#1D3557;font-size:20.5px;line-height:1.35;margin:32px 0 12px;}
.cn-post-body ul,.cn-post-body ol{margin:0 0 24px;padding-left:24px;}
.cn-post-body li{margin-bottom:11px;line-height:1.75;}
.cn-post-body strong{color:#1D3557;}
.cn-post-body a{color:#084088;text-decoration:underline;text-underline-offset:3px;}
.cn-post-body a:hover{color:#0A4FA8;}
.cn-post-body img{border-radius:12px;height:auto;max-width:100%;}
.cn-post-body figure{margin:30px 0;}
.cn-post-body figcaption{color:#8A97A8;font-size:13px;text-align:center;margin-top:10px;}
.cn-post-body blockquote{border-left:4px solid #084088;background:#F6F8FC;border-radius:0 12px 12px 0;margin:28px 0;padding:18px 24px;font-size:17px;color:#1D3557;}
.cn-post-body blockquote p:last-child{margin:0;}
.cn-post-body table{width:100%;border-collapse:collapse;margin:26px 0;font-size:14.5px;border:1px solid #E3E8EF;border-radius:10px;overflow:hidden;}
.cn-post-body th{background:#EEF4FF;color:#1D3557;text-align:left;padding:12px 14px;font-family:Roboto,sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid #E3E8EF;}
.cn-post-body td{padding:12px 14px;border-bottom:1px solid #F1F4F9;vertical-align:top;color:#475467;}
.cn-post-body tr:last-child td{border-bottom:0;}
.cn-post-body code{background:#F1F4F9;padding:2px 7px;border-radius:5px;font-size:14px;color:#084088;}

.cn-post-share{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:36px 0 0;padding:18px 0;border-top:1px solid #E3E8EF;border-bottom:1px solid #E3E8EF;max-width:760px;}
.cn-post-share span{color:#8A97A8;font-size:13.5px;font-weight:600;margin-right:4px;}
.cn-post-share a{background:#F6F8FC;border:1px solid #E3E8EF;color:#084088!important;border-radius:8px;padding:7px 15px;font-size:13px;font-weight:600;text-decoration:none!important;font-family:Roboto,sans-serif;transition:.15s;}
.cn-post-share a:hover{background:#EEF4FF;border-color:#084088;}

.cn-post-author{display:flex;gap:18px;align-items:flex-start;background:#F8FAFD;border:1px solid #E3E8EF;border-radius:16px;padding:24px 26px;margin:30px 0 0;max-width:760px;}
.cn-post-avatar{flex:0 0 56px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#084088,#009BDF);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Roboto,sans-serif;font-weight:700;font-size:19px;}
.cn-post-author strong{color:#1D3557;font-family:Roboto,sans-serif;font-size:16px;display:block;margin-bottom:5px;}
.cn-post-author p{color:#667085;font-size:14px;line-height:1.7;margin:0 0 10px;}
.cn-post-author a{color:#084088;font-weight:600;font-size:14px;text-decoration:none;}

.cn-post-related{padding:0!important;margin-top:46px!important;}
.cn-post-related h2{font-family:Roboto,sans-serif;color:#1D3557;font-size:24px;margin:0 0 20px;}

@media(max-width:900px){
.cn-bl-lead{grid-template-columns:1fr;}
.cn-bl-lead .cn-bl-media{aspect-ratio:16/9;min-height:0;}
.cn-bl-lead .cn-bl-body{padding:22px;}
.cn-bl-lead h3{font-size:22px;}
}
@media(max-width:640px){
.cn-bl{padding:6px 14px 40px;}
.cn-bl-h{font-size:26px;}
.cn-bl-hero p{font-size:15px;}
.cn-bl-grid{grid-template-columns:1fr;gap:20px;}
.cn-post-body{font-size:16px;line-height:1.8;}
.cn-post-body h2{font-size:22px;margin:34px 0 12px;}
.cn-post-body h3{font-size:18.5px;}
.cn-post-body table{display:block;overflow-x:auto;}
.cn-post-author{flex-direction:column;gap:12px;padding:20px;}
.cn-post-share{gap:8px;}
.cn-post-share a{padding:7px 12px;font-size:12.5px;}
.cn-bl-cta{padding:30px 20px;}
.cn-bl-cta h2{font-size:21px;}
}
@media(prefers-reduced-motion:reduce){.cn-bl-card,.cn-bl-media img,.cn-bl-btn{transition:none;}}

/* affiliate CTA on review posts */
.cn-post-aff{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:#F8FAFD;border:1px solid #E3E8EF;border-left:4px solid #F59E0B;border-radius:12px;padding:18px 22px;margin:26px 0;max-width:760px;font-family:Poppins,sans-serif;}
.cn-post-aff strong{display:block;color:#1D3557;font-family:Roboto,sans-serif;font-size:16px;margin-bottom:3px;}
.cn-post-aff span{color:#8A97A8;font-size:12.5px;}
.cn-post-aff a{background:#F59E0B;color:#1D3557!important;font-family:Roboto,sans-serif;font-weight:700;font-size:14.5px;padding:12px 24px;border-radius:9px;text-decoration:none!important;white-space:nowrap;transition:.18s;}
.cn-post-aff a:hover{background:#FBBF24;transform:translateY(-1px);}
@media(max-width:600px){.cn-post-aff{flex-direction:column;align-items:stretch;text-align:left;}.cn-post-aff a{text-align:center;}}

h1.cn-xh{font-family:Roboto,sans-serif;color:#1D3557;font-size:clamp(26px,4vw,36px);line-height:1.2;margin:0 0 10px;text-align:center;}

/* portfolio: mark template demos so they are never mistaken for client work */
.cn-pf-demo{position:absolute;top:13px;right:13px;background:rgba(29,53,87,.92);color:#fff;font-size:11px;font-weight:700;padding:5px 11px;border-radius:20px;font-family:Roboto,sans-serif;letter-spacing:.3px;}

/* cn-footer-rule-fix: keep the heading underline left aligned and tight to the text */
footer .elementor-widget-heading .elementor-heading-title{display:block;position:relative;padding-bottom:12px;}
footer .elementor-widget-heading .elementor-heading-title:after{left:0!important;right:auto!important;transform:none!important;}

/* ---------- templates: coming soon ---------- */
.cn-tpl-soon{text-align:center;margin:44px 0 28px;padding:46px 26px;border:2px dashed #CBD9EC;border-radius:18px;background:linear-gradient(160deg,#F8FBFF,#EEF4FF);font-family:Poppins,sans-serif;}
.cn-tpl-soon h2{font-family:Roboto,sans-serif;color:#1D3557;font-size:clamp(26px,4.4vw,40px);line-height:1.18;margin:0 0 12px;letter-spacing:-.5px;}
.cn-tpl-soon p{color:#667085;font-size:16.5px;line-height:1.7;max-width:620px;margin:0 auto 22px;}
.cn-tpl-soon p strong{color:#084088;}
.cn-tpl-soon-acts{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
@media(max-width:600px){.cn-tpl-soon{padding:32px 18px;margin:32px 0 22px;}.cn-tpl-soon p{font-size:15px;}.cn-tpl-soon-acts .cn-tpl-btn{width:100%;box-sizing:border-box;text-align:center;}}
