/* Elementor editable homepage - Cuong Knight reference style */
:root {
  --ck-orange: #ff8500;
  --ck-orange-2: #ffb000;
  --ck-bg: #030a12;
  --ck-panel: rgba(10, 19, 32, .86);
  --ck-panel-2: rgba(6, 15, 27, .92);
  --ck-border: rgba(91, 122, 160, .25);
  --ck-text: #f8fafc;
  --ck-muted: #aebdd1;
  --blue: #ff8500;
  --blue-strong: #ff7400;
  --neon: #ff9f00;
  --line-strong: rgba(255, 133, 0, .38);
  --glow: 0 0 34px rgba(255, 133, 0, .28);
}
body { background: radial-gradient(circle at 65% 10%, rgba(0, 102, 255, .14), transparent 34rem), radial-gradient(circle at 88% 20%, rgba(255, 133, 0, .12), transparent 28rem), #030a12; }
.site-header { background: rgba(3, 10, 18, .88); border-bottom-color: rgba(74, 103, 145, .16); min-height: 78px; }
.site-header.is-scrolled { background: rgba(3, 10, 18, .96); border-color: rgba(255, 133, 0, .24); }
.site-header .header-inner { display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr) auto; gap: 22px; align-items: center; min-height: 78px; }
.site-header .site-brand { min-width: 0; max-width: 220px; }
.custom-logo-link img, .site-brand img, .site-header .custom-logo { max-width: 170px !important; max-height: 58px !important; width: auto !important; height: auto !important; object-fit: contain; }
.brand-mark { color: var(--ck-orange); border-color: rgba(255, 133, 0, .32); background: radial-gradient(circle at 30% 20%, rgba(255, 176, 0, .28), rgba(255, 116, 0, .1)); box-shadow: 0 0 28px rgba(255, 133, 0, .22); }
.brand-copy strong { color: #ffb000; text-transform: uppercase; }
.site-header .primary-nav { justify-self: center; min-width: 0; }
.site-header .nav-menu { align-items: center; gap: 28px; }
.site-header .nav-menu > li { position: relative; list-style: none; }
.site-header .nav-menu > li > a { white-space: nowrap; }
.nav-menu a:hover, .nav-menu .current-menu-item > a { color: var(--ck-orange); }
.nav-menu a::after { background: linear-gradient(90deg, #ff7400, #ffb000); }
.site-header .nav-menu .sub-menu { position: absolute; top: calc(100% + 12px); left: 0; z-index: 999; min-width: 220px; display: block; opacity: 0; visibility: hidden; transform: translateY(8px); padding: 10px; margin: 0; border-radius: 14px; background: rgba(3, 10, 18, .96); border: 1px solid rgba(255, 133, 0, .22); box-shadow: 0 22px 60px rgba(0,0,0,.34); transition: opacity .2s ease, visibility .2s ease, transform .2s ease; }
.site-header .nav-menu li:hover > .sub-menu, .site-header .nav-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.site-header .nav-menu .sub-menu li { list-style: none; }
.site-header .nav-menu .sub-menu a { min-height: 38px; padding: 7px 10px; font-size: 13px; }
.site-header .header-actions { justify-self: end; flex-shrink: 0; }
.btn-primary, .search-submit { background: linear-gradient(135deg, #ff7400, #ff9f00); box-shadow: 0 16px 34px rgba(255, 117, 0, .34); }
.icon-btn:hover { color: var(--ck-orange); border-color: rgba(255, 133, 0, .3); }
.elementor-front-page, .elementor-page-content { background: #030a12; }
.elementor-front-page .elementor-section-wrap, .elementor-page-content .elementor-section-wrap { background: #030a12; }
.ck-home { width: min(1230px, calc(100% - 56px)); margin-inline: auto; }
.ck-el-section { background: transparent !important; }
.ck-el-hero-section { padding-top: 14px; }
.ck-hero-banner { position: relative; min-height: 470px; overflow: hidden; border: 1px solid rgba(74, 103, 145, .45); border-radius: 14px; background: linear-gradient(90deg, rgba(3, 10, 18, .98) 0%, rgba(3, 10, 18, .87) 34%, rgba(3, 10, 18, .14) 64%, rgba(3, 10, 18, .35) 100%), var(--ck-hero-image) center/cover no-repeat; box-shadow: 0 30px 90px rgba(0, 0, 0, .38), inset 0 0 0 1px rgba(255, 255, 255, .02); }
.ck-hero-banner::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 75% 80%, rgba(255, 133, 0, .25), transparent 32%), radial-gradient(circle at 58% 22%, rgba(0, 102, 255, .28), transparent 30%); pointer-events: none; }
.ck-hero-content { position: relative; z-index: 2; max-width: 520px; padding: 70px 0 70px 50px; }
.ck-kicker { display: inline-flex; padding: 9px 16px; border-radius: 999px; color: #dbeafe; background: rgba(32, 80, 140, .42); font-size: 12px; font-weight: 800; letter-spacing: .02em; margin-bottom: 22px; }
.ck-hero-content h1 { color: #fff; font-family: Poppins, Inter, sans-serif; font-size: clamp(38px, 4.4vw, 58px); line-height: 1.08; letter-spacing: -.055em; margin: 0 0 18px; }
.ck-hero-content h1 span { color: var(--ck-orange); }
.ck-hero-content p { max-width: 470px; color: #d9e4f4; font-size: 16px; line-height: 1.75; margin: 0 0 34px; }
.ck-hero-actions { display: flex; gap: 18px; flex-wrap: wrap; }
.ck-btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 28px; border-radius: 9px; font-weight: 800; font-size: 14px; border: 1px solid rgba(255,255,255,.22); transition: transform .25s ease, box-shadow .25s ease; }
.ck-btn:hover { transform: translateY(-2px); }
.ck-btn-primary { color: #fff; background: linear-gradient(135deg, #ff7400, #ff9f00); box-shadow: 0 16px 34px rgba(255, 117, 0, .38); }
.ck-btn-dark { color: #fff; background: rgba(10, 15, 25, .5); }
.ck-tech-icon { position: absolute; z-index: 1; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.16); background: rgba(8, 16, 32, .45); backdrop-filter: blur(8px); font-family: Poppins, sans-serif; font-weight: 900; }
.ck-i-windows { left: 44%; top: 26%; width: 62px; height: 62px; color: #38bdf8; font-size: 42px; background: transparent; border: 0; }
.ck-i-ai { left: 52%; top: 10%; width: 78px; height: 78px; clip-path: polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%); color: #38bdf8; font-size: 30px; border-color: #8b5cf6; }
.ck-i-android { right: 18%; top: 25%; width: 90px; height: 90px; clip-path: polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%); color: #79ff4d; font-size: 42px; border-color: #22c55e; }
.ck-i-wp { right: 10%; top: 11%; width: 90px; height: 90px; border-radius: 50%; color: #93c5fd; font-size: 46px; border-color: #8b5cf6; }
.ck-i-code { right: 6%; top: 45%; width: 94px; height: 94px; clip-path: polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%); color: #e879f9; font-size: 17px; border-color: #fb7185; }
.ck-slider-dots { position: absolute; left: 50%; bottom: 18px; z-index: 4; display: flex; gap: 9px; transform: translateX(-50%); }
.ck-slider-dots span { width: 11px; height: 11px; border-radius: 50%; background: #64748b; }
.ck-slider-dots span:first-child { width: 24px; border-radius: 99px; background: linear-gradient(90deg,#ff7a00,#ffd166); }
.ck-category-shell { display: grid; grid-template-columns: repeat(6,1fr); gap: 16px; margin-top: 22px; padding: 18px; border-radius: 18px; background: rgba(8, 17, 30, .72); border: 1px solid rgba(74,103,145,.28); }
.ck-category-card { position: relative; min-height: 132px; display: grid; place-items: center; text-align: center; gap: 4px; border-radius: 10px; background: linear-gradient(145deg,rgba(17,31,49,.95),rgba(8,16,28,.92)); border: 1px solid rgba(91,122,160,.28); color: #fff; }
.ck-category-card em { position: absolute; right: 14px; bottom: 16px; color: #cbd5e1; font-style: normal; }
.ck-cat-icon { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 4px; font-size: 34px; filter: drop-shadow(0 0 18px currentColor); font-family: Poppins, sans-serif; font-weight: 900; }
.ck-cat-icon.windows { color: #0ea5e9; } .ck-cat-icon.android { color: #74ff4a; } .ck-cat-icon.ai { color: #8b5cf6; font-size: 28px; border: 2px solid currentColor; border-radius: 10px; } .ck-cat-icon.wordpress { color: #3b82f6; font-size: 42px; } .ck-cat-icon.website { color: #0284ff; } .ck-cat-icon.security { color: #ffad00; }
.ck-category-card strong { font-size: 14px; } .ck-category-card small { color: #e2e8f0; font-size: 12px; }
.ck-main-layout { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 26px; margin-top: 22px; }
.ck-el-main-section { margin-top: 22px; }
.ck-el-main-section > .elementor-container { width: min(1230px, calc(100% - 56px)); max-width: 1230px; margin-inline: auto; align-items: flex-start; }
.ck-el-main-section .ck-main-posts-column > .elementor-element-populated,
.ck-el-main-section .ck-main-sidebar-column > .elementor-element-populated { padding: 0 !important; }
.ck-section-title { display: flex; align-items: center; justify-content: space-between; margin: 0 0 14px; }
.ck-section-title h2 { position: relative; color: #fff; font-size: 22px; padding-left: 16px; margin: 0; }
.ck-section-title h2::before { content: ""; position: absolute; left: 0; top: 4px; width: 3px; height: 22px; border-radius: 99px; background: var(--ck-orange); }
.ck-section-title a { color: var(--ck-orange); font-weight: 800; }
.ck-post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.ck-post-card { position: relative; overflow: hidden; min-height: 250px; padding: 8px; border-radius: 12px; background: var(--ck-panel); border: 1px solid var(--ck-border); color: #fff; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.ck-post-card:hover { transform: translateY(-5px); border-color: rgba(255,133,0,.34); box-shadow: 0 18px 50px rgba(0,0,0,.35); }
.ck-post-image { display: block; position: relative; color: inherit; }
.ck-post-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 9px; }
.ck-post-card h3 { color: #fff; font-size: 16px; line-height: 1.35; margin: 14px 6px 10px; letter-spacing: -.03em; }
.ck-dynamic-post-card h3 a, .ck-trending-card a, .ck-mini-post a { color: inherit; text-decoration: none; }
.ck-dynamic-post-card h3 a:hover, .ck-trending-card a:hover strong, .ck-mini-post a:hover { color: var(--ck-orange); }
.ck-meta { display: flex; justify-content: space-between; color: #9fb0c5; font-size: 12px; margin: 0 6px 4px; }
.ck-badge { position: absolute; left: 18px; top: 18px; z-index: 2; padding: 5px 10px; border-radius: 7px; color: #fff; font-size: 12px; font-weight: 800; }
.ck-badge.blue { background: #1777ff; } .ck-badge.purple { background: #6d5cff; } .ck-badge.green { background: #22c55e; } .ck-badge.orange { background: #ff8500; } .ck-badge.red { background: #ef4444; }
.ck-sidebar-zone { display: grid; gap: 12px; }
.ck-widget { border-radius: 12px; background: var(--ck-panel); border: 1px solid var(--ck-border); padding: 16px; color: #fff; }
.ck-widget h3 { font-size: 16px; margin: 0 0 12px; color: #fff; }
.ck-search-box, .ck-newsletter { display: flex; align-items: center; gap: 8px; border-radius: 8px; }
.ck-search-box span, .ck-newsletter span, .ck-search-box input, .ck-newsletter input { flex: 1; min-width: 0; color: #dbeafe; background: rgba(255,255,255,.05); border: 1px solid rgba(148,163,184,.15); border-radius: 7px; padding: 11px 12px; font-size: 13px; outline: none; }
.ck-search-box button, .ck-newsletter button, .ck-ad button, .ck-ad-button { border: 0; border-radius: 7px; background: linear-gradient(135deg,#ff7400,#ff9f00); color: #fff; font-weight: 800; padding: 11px 14px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.ck-mini-post { display: grid; grid-template-columns: 76px 1fr; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px solid rgba(148,163,184,.12); }
.ck-mini-post:last-child { border-bottom: 0; }
.ck-mini-post img { width: 76px; height: 54px; object-fit: cover; border-radius: 7px; }
.ck-mini-post strong { color: #fff; display: block; font-size: 12px; line-height: 1.35; }
.ck-mini-post small { color: #94a3b8; font-size: 11px; }
.ck-socials { display: flex; gap: 12px; } .ck-socials span, .ck-socials a { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #13233a; color: #fff; font-size: 12px; } .ck-socials a { text-decoration: none; }
.ck-ad { min-height: 210px; display: grid; align-content: center; gap: 7px; padding: 22px; border-radius: 12px; color: #fff; background: radial-gradient(circle at 82% 55%,rgba(0,102,255,.55),transparent 32%),linear-gradient(135deg,#071632,#020617); border: 1px solid rgba(59,130,246,.45); }
.ck-ad strong { font-size: 24px; line-height: 1.15; } .ck-ad em { color: #ff8500; font-style: normal; font-size: 18px; } .ck-ad button, .ck-ad .ck-ad-button { width: 100px; margin-top: 10px; }
.ck-trending-area { margin-top: 22px; margin-bottom: 22px; display: grid; gap: 18px; }
.ck-trending-main, .ck-quality-row { border-radius: 12px; background: var(--ck-panel); border: 1px solid var(--ck-border); padding: 16px; }
.ck-trending-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.ck-trending-row article { position: relative; color: #fff; }
.ck-trending-row b { position: absolute; left: 10px; top: 10px; z-index: 2; padding: 5px 8px; border-radius: 6px; background: linear-gradient(135deg,#ff7400,#ffb000); }
.ck-trending-row img { width: 100%; aspect-ratio: 16/8; object-fit: cover; border-radius: 8px; opacity: .86; }
.ck-trending-row strong { display: block; font-size: 13px; line-height: 1.35; margin-top: 8px; }
.ck-quality-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.ck-quality-row div { display: grid; grid-template-columns: 42px 1fr; column-gap: 12px; align-items: center; }
.ck-quality-row span { grid-row: span 2; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: #ff8500; background: rgba(255,133,0,.1); }
.ck-quality-row strong { color: #fff; } .ck-quality-row small { color: #94a3b8; }
.ck-empty-posts, .ck-widget-note { color: #aebdd1; padding: 14px; border: 1px dashed rgba(255,133,0,.22); border-radius: 10px; background: rgba(255,133,0,.06); }
@media (min-width: 901px) {
  .site-header .container.header-inner {
    width: min(100% - 56px, 1540px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) 230px !important;
    align-items: center !important;
    gap: 28px !important;
  }
  .site-header .site-brand {
    grid-column: 1 !important;
    justify-self: start !important;
    max-width: 220px !important;
    min-width: 0 !important;
  }
  .site-header .custom-logo-link,
  .site-header .site-brand > img {
    display: inline-flex !important;
    align-items: center !important;
  }
  .site-header .custom-logo-link img,
  .site-header .custom-logo,
  .site-header .site-brand img {
    max-width: 170px !important;
    max-height: 58px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }
  .site-header .mobile-toggle {
    display: none !important;
  }
  .site-header .primary-nav {
    grid-column: 2 !important;
    position: static !important;
    inset: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    justify-self: center !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }
  .site-header .nav-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(18px, 2vw, 34px) !important;
    white-space: nowrap !important;
  }
  .site-header .nav-menu > li { position: relative !important; }
  .site-header .nav-menu > li > a {
    min-height: 78px !important;
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
  }
  .site-header .nav-menu .sub-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    display: block !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(8px) !important;
    min-width: 220px !important;
    padding: 10px !important;
    margin: 0 !important;
    border-radius: 14px !important;
    background: rgba(3, 10, 18, .96) !important;
    border: 1px solid rgba(255, 133, 0, .22) !important;
    box-shadow: 0 22px 60px rgba(0,0,0,.34) !important;
  }
  .site-header .nav-menu li:hover > .sub-menu,
  .site-header .nav-menu li:focus-within > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
  }
  .site-header .header-actions {
    grid-column: 3 !important;
    order: initial !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    width: auto !important;
    min-width: 210px !important;
    flex-wrap: nowrap !important;
  }
  .site-header .header-actions .icon-btn {
    flex: 0 0 42px !important;
  }
  .site-header .header-cta {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    min-width: 118px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}
@media (min-width: 1121px) {
  .ck-el-main-section > .elementor-container { flex-wrap: nowrap; column-gap: 26px; }
  .ck-el-main-section .ck-main-posts-column { width: calc(100% - 386px) !important; }
  .ck-el-main-section .ck-main-sidebar-column { width: 360px !important; min-width: 360px; max-width: 360px; }
}
@media (max-width: 1120px) { .ck-category-shell { grid-template-columns: repeat(3,1fr); } .ck-main-layout { grid-template-columns: 1fr; } .ck-post-grid { grid-template-columns: repeat(2,1fr); } .ck-el-main-section .ck-main-posts-column, .ck-el-main-section .ck-main-sidebar-column { width: 100% !important; } .ck-el-main-section .ck-main-sidebar-column { margin-top: 12px; } }
@media (max-width: 900px) { .site-header .header-inner { grid-template-columns: auto auto 1fr; } .site-header .mobile-toggle { display: block; order: 2; } .site-header .primary-nav { justify-self: stretch; } .site-header .nav-menu { gap: 0; } .site-header .nav-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; margin-left: 14px; background: rgba(255,255,255,.04); } }
@media (max-width: 720px) { .ck-home { width: min(100% - 28px,1230px); } .ck-hero-content { padding: 42px 24px; } .ck-hero-banner { min-height: 560px; } .ck-tech-icon { display: none; } .ck-category-shell, .ck-post-grid, .ck-trending-row, .ck-quality-row { grid-template-columns: 1fr; } .ck-hero-content h1 { font-size: 40px; } }

/* Final target header layout: logo left, menu center-left, actions right */
@media (min-width: 901px) {
  :root { --header-height: 70px; }
  .site-header,
  .site-header.is-scrolled {
    height: 70px !important;
    min-height: 70px !important;
    background: rgba(3, 10, 18, .94) !important;
  }
  .site-header .container.header-inner {
    width: min(100% - 48px, 1260px) !important;
    min-height: 70px !important;
    height: 70px !important;
    display: grid !important;
    grid-template-columns: 150px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 22px !important;
    padding: 0 !important;
  }
  .site-header .site-brand {
    grid-column: 1 !important;
    justify-self: start !important;
    width: 150px !important;
    max-width: 150px !important;
    min-width: 150px !important;
    overflow: visible !important;
  }
  .site-header .custom-logo-link img,
  .site-header .custom-logo,
  .site-header .site-brand img {
    max-width: 132px !important;
    max-height: 46px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
  }
  .site-header .brand-mark-cuong {
    width: 38px !important;
    height: 38px !important;
    font-size: 18px !important;
  }
  .site-header .brand-copy strong { font-size: 14px !important; }
  .site-header .brand-copy small { font-size: 8px !important; }
  .site-header .mobile-toggle { display: none !important; }
  .site-header .primary-nav {
    grid-column: 2 !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .site-header .nav-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }
  .site-header .nav-menu > li > a {
    min-height: 70px !important;
    height: 70px !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }
  .site-header .nav-menu a::after { bottom: 0 !important; height: 3px !important; }
  .site-header .nav-menu .sub-menu {
    top: calc(100% + 4px) !important;
    left: 0 !important;
  }
  .site-header .header-actions {
    grid-column: 3 !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    min-width: 178px !important;
    width: auto !important;
    flex-wrap: nowrap !important;
  }
  .site-header .header-actions .icon-btn {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    border-radius: 10px !important;
    background: rgba(15, 23, 42, .9) !important;
    border-color: rgba(148, 163, 184, .12) !important;
  }
  .site-header .header-cta {
    min-width: 96px !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 14px !important;
    border-radius: 9px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
  }
}
