/*
Theme Name: Bertrand Tech Man
Theme URI: https://www.bertrandtechman.com/
Author: Bertrand Tech Man
Description: Custom Hostinger WordPress theme for Bertrand Tech Man, including Bertrand Tech Man and Boomers Tech Show YouTube channel sections.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: Proprietary
Text Domain: bertrand-techman
*/

:root {
      --bg: #f7fafc;
      --ink: #08111f;
      --muted: #607083;
      --soft: #e8eef4;
      --panel: #ffffff;
      --dark: #0c1726;
      --dark-2: #121f31;
      --cyan: #00a6d6;
      --cyan-2: #0b7898;
      --lime: #b6f045;
      --amber: #ffb84d;
      --line: rgba(8, 17, 31, .12);
      --shadow: 0 24px 70px rgba(13, 32, 57, .12);
      --radius: 8px;
      --wrap: min(1180px, calc(100% - 40px));
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--bg);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      letter-spacing: 0;
    }

    a { color: inherit; }
    img { display: block; max-width: 100%; }
    .wrap { width: var(--wrap); margin: 0 auto; }
    .icon { width: 20px; height: 20px; flex: 0 0 auto; }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 30;
      background: rgba(247, 250, 252, .88);
      border-bottom: 1px solid rgba(8, 17, 31, .08);
      backdrop-filter: blur(18px);
    }

    .nav {
      min-height: 74px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      color: var(--ink);
      text-decoration: none;
      font-size: 18px;
      font-weight: 900;
      white-space: nowrap;
    }

    .brand-mark {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border-radius: var(--radius);
      color: var(--lime);
      background: linear-gradient(135deg, #07111f, #13243a);
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
      font-size: 18px;
      font-weight: 950;
    }

    .brand-mark img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: inherit;
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: clamp(16px, 3vw, 38px);
      color: #2d3b4d;
      font-size: 14px;
      font-weight: 750;
    }

    .nav-links a {
      text-decoration: none;
      transition: color .18s ease;
    }

    .nav-links a:hover { color: var(--cyan-2); }

    .btn {
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      padding: 0 17px;
      border: 1px solid transparent;
      border-radius: var(--radius);
      color: var(--ink);
      background: transparent;
      text-decoration: none;
      font-size: 14px;
      font-weight: 850;
      line-height: 1;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
    }

    .btn:hover { transform: translateY(-1px); }
    .btn-primary {
      color: #04111b;
      background: var(--lime);
      border-color: rgba(4, 17, 27, .16);
      box-shadow: 0 14px 34px rgba(116, 177, 31, .22);
    }
    .btn-dark {
      color: #f9fcff;
      background: var(--ink);
      border-color: rgba(255, 255, 255, .1);
      box-shadow: 0 18px 42px rgba(8, 17, 31, .22);
    }
    .btn-outline {
      color: var(--ink);
      background: rgba(255, 255, 255, .78);
      border-color: rgba(8, 17, 31, .16);
    }
    .menu-btn { display: none; width: 44px; padding: 0; }

    .hero {
      position: relative;
      min-height: calc(100svh - 74px);
      display: grid;
      align-items: end;
      overflow: hidden;
      background: var(--dark);
    }

    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(8, 17, 31, .96) 0%, rgba(8, 17, 31, .82) 40%, rgba(8, 17, 31, .34) 72%),
        linear-gradient(180deg, rgba(8, 17, 31, .06), rgba(8, 17, 31, .8)),
        url("assets/review-desk-hero.png") center / cover no-repeat;
      filter: saturate(1.04) contrast(1.03);
    }

    .hero-inner {
      position: relative;
      z-index: 1;
      width: var(--wrap);
      margin: 0 auto;
      padding: clamp(70px, 10vw, 122px) 0 34px;
    }

    .hero-copy {
      max-width: 720px;
      padding-bottom: clamp(42px, 8vw, 92px);
    }

    h1 {
      margin: 0 0 22px;
      color: #fff;
      font-size: clamp(58px, 8.8vw, 118px);
      line-height: .86;
      font-weight: 950;
      letter-spacing: 0;
      text-wrap: balance;
      text-shadow: 0 16px 54px rgba(0, 0, 0, .56);
    }

    .hero-lead {
      max-width: 610px;
      margin: 0 0 28px;
      color: #dbe7ef;
      font-size: clamp(18px, 2.1vw, 24px);
      line-height: 1.45;
    }

    .cta-row {
      display: flex;
      align-items: center;
      gap: 13px;
      flex-wrap: wrap;
    }

    .hero-dock {
      display: grid;
      grid-template-columns: minmax(0, .9fr) repeat(3, minmax(0, 1fr));
      align-items: stretch;
      border: 1px solid rgba(255, 255, 255, .14);
      border-radius: var(--radius);
      background: rgba(9, 19, 33, .78);
      box-shadow: 0 24px 80px rgba(0, 0, 0, .24);
      backdrop-filter: blur(18px);
      overflow: hidden;
    }

    .dock-intro, .dock-item {
      min-height: 108px;
      padding: 20px;
    }

    .dock-intro {
      color: #fff;
      background: rgba(255, 255, 255, .05);
    }

    .dock-intro strong {
      display: block;
      margin-bottom: 7px;
      color: var(--lime);
      font-size: 14px;
    }

    .dock-intro span,
    .dock-item p {
      color: #aebdca;
      font-size: 13px;
      line-height: 1.45;
    }

    .dock-item {
      border-left: 1px solid rgba(255, 255, 255, .1);
    }

    .dock-item h2 {
      margin: 0 0 8px;
      color: #fff;
      font-size: 17px;
      line-height: 1.25;
    }

    .dock-item p { margin: 0; }

    .section {
      padding: clamp(58px, 8vw, 96px) 0;
    }

    .section.dark {
      color: #f6fbff;
      background:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .03) 1px, transparent 1px),
        linear-gradient(135deg, #08111f 0%, #101d2f 58%, #07111f 100%);
      background-size: 52px 52px, 52px 52px, auto;
    }

    .section-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 22px;
      margin-bottom: 28px;
    }

    .section-title {
      max-width: 760px;
      margin: 0;
      font-size: clamp(34px, 5vw, 64px);
      line-height: .96;
      font-weight: 920;
      letter-spacing: 0;
      text-wrap: balance;
    }

    .section-copy {
      max-width: 520px;
      margin: 14px 0 0;
      color: var(--muted);
      font-size: 16px;
      line-height: 1.65;
    }

    .dark .section-copy { color: #aebdca; }

    .section-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--cyan-2);
      text-decoration: none;
      font-size: 14px;
      font-weight: 850;
      white-space: nowrap;
    }

    .dark .section-link { color: var(--lime); }

    .category-grid {
      display: grid;
      grid-template-columns: 1.15fr .85fr 1fr;
      gap: 18px;
    }

    .category-card {
      min-height: 320px;
      position: relative;
      display: flex;
      align-items: end;
      overflow: hidden;
      border: 1px solid rgba(8, 17, 31, .1);
      border-radius: var(--radius);
      background: var(--panel);
      box-shadow: var(--shadow);
      text-decoration: none;
    }

    .category-card.tall { min-height: 470px; }
    .category-card.wide { grid-column: span 2; }

    .category-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(8, 17, 31, .05), rgba(8, 17, 31, .88)),
        var(--cat-bg);
      background-size: cover;
      background-position: center;
      transition: transform .35s ease;
    }

    .category-card:hover::before { transform: scale(1.035); }

    .category-content {
      position: relative;
      z-index: 1;
      width: 100%;
      padding: 24px;
      color: #fff;
    }

    .category-content h3 {
      margin: 0 0 10px;
      font-size: clamp(24px, 3vw, 38px);
      line-height: .98;
      text-wrap: balance;
    }

    .category-content p {
      max-width: 360px;
      margin: 0;
      color: #d6e3ec;
      font-size: 14px;
      line-height: 1.5;
    }

    .method-grid {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 40px;
      align-items: center;
    }

    .method-panel {
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, .06);
      overflow: hidden;
    }

    .method-row {
      display: grid;
      grid-template-columns: 74px 1fr;
      gap: 0;
      border-bottom: 1px solid rgba(255, 255, 255, .1);
    }

    .method-row:last-child { border-bottom: 0; }

    .method-num {
      display: grid;
      place-items: center;
      color: var(--lime);
      border-right: 1px solid rgba(255, 255, 255, .1);
      font-size: 22px;
      font-weight: 950;
    }

    .method-copy { padding: 22px; }
    .method-copy h3 {
      margin: 0 0 7px;
      font-size: 20px;
    }
    .method-copy p {
      margin: 0;
      color: #aebdca;
      line-height: 1.56;
    }

    .lab-card {
      position: relative;
      min-height: 490px;
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: var(--radius);
      background:
        linear-gradient(180deg, rgba(8, 17, 31, .06), rgba(8, 17, 31, .7)),
        url("assets/bertrand-techman-concept.png") center top / cover no-repeat;
      box-shadow: 0 28px 90px rgba(0, 0, 0, .28);
      overflow: hidden;
    }

    .lab-score {
      position: absolute;
      left: 24px;
      right: 24px;
      bottom: 24px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
    }

    .score {
      min-height: 88px;
      padding: 16px;
      border: 1px solid rgba(255, 255, 255, .14);
      border-radius: var(--radius);
      background: rgba(8, 17, 31, .76);
      backdrop-filter: blur(14px);
    }

    .score strong {
      display: block;
      margin-bottom: 6px;
      color: var(--lime);
      font-size: 22px;
    }

    .score span {
      color: #d7e2ea;
      font-size: 12px;
      font-weight: 750;
      line-height: 1.35;
    }

    .guide-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }

    .guide-card {
      min-height: 390px;
      display: grid;
      grid-template-rows: auto 1fr auto;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--panel);
      box-shadow: var(--shadow);
      overflow: hidden;
    }

    .guide-top {
      padding: 24px 24px 18px;
      border-bottom: 1px solid rgba(8, 17, 31, .08);
    }

    .guide-top h3 {
      margin: 0 0 10px;
      font-size: 26px;
      line-height: 1.05;
    }

    .guide-top p {
      margin: 0;
      color: var(--muted);
      line-height: 1.55;
    }

    .compare-list {
      display: grid;
      align-content: start;
      padding: 8px 0;
    }

    .compare-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 16px 24px;
      border-bottom: 1px solid rgba(8, 17, 31, .07);
      font-size: 14px;
      font-weight: 800;
    }

    .compare-item span {
      color: var(--muted);
      font-weight: 700;
      text-align: right;
    }

    .guide-action {
      padding: 18px 24px 24px;
    }

    .video-strip {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
    }

    .video-card {
      min-width: 0;
      color: #f8fbff;
      text-decoration: none;
    }

    .thumb {
      position: relative;
      aspect-ratio: 16 / 9;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, .14);
      border-radius: var(--radius);
      background:
        linear-gradient(135deg, rgba(0, 166, 214, .16), transparent 42%),
        linear-gradient(155deg, #17263a, #080f1b);
    }

    .thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .28s ease;
    }

    .thumb::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(115deg, transparent 0 42%, rgba(182, 240, 69, .24) 42% 43%, transparent 43%),
        linear-gradient(180deg, transparent, rgba(0, 0, 0, .58));
    }

    .video-card:hover .thumb img { transform: scale(1.04); }

    .thumb-title {
      position: absolute;
      left: 16px;
      right: 16px;
      top: 15px;
      color: #fff;
      font-size: clamp(18px, 2vw, 26px);
      line-height: .98;
      font-weight: 950;
      text-transform: uppercase;
      text-shadow: 0 12px 28px rgba(0, 0, 0, .42);
    }

    .duration {
      position: absolute;
      right: 10px;
      bottom: 9px;
      padding: 4px 7px;
      border-radius: 4px;
      color: #fff;
      background: rgba(0, 0, 0, .78);
      font-size: 12px;
      font-weight: 850;
    }

    .video-card h3 {
      margin: 12px 0 7px;
      color: #fff;
      font-size: 17px;
      line-height: 1.3;
    }

    .video-card p {
      margin: 0;
      color: #aebdca;
      font-size: 13px;
      line-height: 1.45;
    }

    .boomers-section {
      background: #eef5f8;
    }

    .boomers-panel {
      display: grid;
      grid-template-columns: .82fr 1.18fr;
      gap: 28px;
      align-items: stretch;
    }

    .boomers-profile {
      padding: 30px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
      box-shadow: var(--shadow);
    }

    .boomers-profile-head {
      display: flex;
      align-items: center;
      gap: 16px;
      margin-bottom: 22px;
    }

    .boomers-profile-head img {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      object-fit: cover;
      border: 1px solid rgba(8, 17, 31, .12);
    }

    .boomers-profile-head h2 {
      margin: 0 0 5px;
      font-size: 28px;
      line-height: 1;
    }

    .channel-handle {
      color: var(--cyan-2);
      font-size: 14px;
      font-weight: 850;
    }

    .boomers-profile p {
      margin: 0 0 18px;
      color: var(--muted);
      font-size: 16px;
      line-height: 1.62;
    }

    .boomers-stats {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
      margin: 22px 0;
    }

    .boomers-stat {
      padding: 16px;
      border-radius: var(--radius);
      color: #fff;
      background: var(--ink);
    }

    .boomers-stat strong {
      display: block;
      margin-bottom: 4px;
      color: var(--lime);
      font-size: 24px;
    }

    .boomers-stat span {
      color: #c7d3dd;
      font-size: 13px;
      font-weight: 750;
    }

    .lesson-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
    }

    .lesson-card {
      display: grid;
      grid-template-rows: auto 1fr;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      color: var(--ink);
      background: #fff;
      text-decoration: none;
      box-shadow: var(--shadow);
    }

    .lesson-thumb {
      position: relative;
      aspect-ratio: 16 / 9;
      background: var(--ink);
      overflow: hidden;
    }

    .lesson-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .28s ease;
    }

    .lesson-card:hover .lesson-thumb img { transform: scale(1.04); }

    .lesson-copy {
      padding: 18px;
    }

    .lesson-copy h3 {
      margin: 0 0 8px;
      font-size: 19px;
      line-height: 1.18;
    }

    .lesson-copy p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.5;
    }

    .channel-fit {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      margin-top: 16px;
    }

    .fit-pill {
      padding: 13px;
      border: 1px solid rgba(8, 17, 31, .1);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, .74);
      color: #334255;
      font-size: 13px;
      font-weight: 800;
      line-height: 1.35;
    }

    .contact-band {
      display: grid;
      grid-template-columns: .92fr 1.08fr;
      gap: 30px;
      align-items: stretch;
      padding: clamp(28px, 5vw, 48px);
      border-radius: var(--radius);
      color: #fff;
      background:
        linear-gradient(135deg, rgba(8, 17, 31, .92), rgba(14, 33, 53, .78)),
        url("assets/review-desk-hero.png") center / cover no-repeat;
      box-shadow: var(--shadow);
      overflow: hidden;
    }

    .contact-band h2 {
      margin: 0 0 14px;
      max-width: 560px;
      font-size: clamp(34px, 5vw, 62px);
      line-height: .96;
    }

    .contact-band p {
      max-width: 550px;
      margin: 0 0 24px;
      color: #d7e2ea;
      line-height: 1.65;
    }

    .contact-list {
      display: grid;
      gap: 12px;
    }

    .contact-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 16px;
      border: 1px solid rgba(255, 255, 255, .14);
      border-radius: var(--radius);
      background: rgba(8, 17, 31, .68);
      backdrop-filter: blur(10px);
    }

    .contact-item svg { color: var(--lime); }
    .contact-item strong { display: block; margin-bottom: 3px; }
    .contact-item span { color: #aebdca; font-size: 13px; }

    .site-footer {
      padding: 34px 0;
      color: #aebdca;
      background: #08111f;
      border-top: 1px solid rgba(255, 255, 255, .08);
      font-size: 14px;
    }

    .footer-grid {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      flex-wrap: wrap;
    }

    .footer-links {
      display: flex;
      align-items: center;
      gap: 18px;
      flex-wrap: wrap;
    }

    .footer-links a {
      color: #d7e2ea;
      text-decoration: none;
      font-weight: 750;
    }

    @media (max-width: 980px) {
      .nav-links {
        position: absolute;
        inset: 74px 20px auto;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 10px;
        border: 1px solid rgba(8, 17, 31, .12);
        border-radius: var(--radius);
        background: rgba(255, 255, 255, .96);
        box-shadow: var(--shadow);
      }

      .nav-links.is-open { display: flex; }
      .nav-links a { padding: 14px; }
      .nav > .btn-primary { display: none; }
      .menu-btn { display: inline-flex; }

      .hero-dock,
      .method-grid,
      .contact-band,
      .boomers-panel {
        grid-template-columns: 1fr;
      }

      .dock-item { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .1); }
      .category-grid,
      .guide-grid,
      .video-strip,
      .lesson-grid {
        grid-template-columns: 1fr 1fr;
      }

      .category-card.wide { grid-column: span 1; }
      .category-card.tall { min-height: 360px; }
      .lab-card { min-height: 430px; }
    }

    @media (max-width: 680px) {
      :root { --wrap: min(100% - 28px, 1180px); }
      .brand { font-size: 16px; }
      .brand-mark { width: 38px; height: 38px; }
      .hero { min-height: auto; }
      .hero-copy { padding-bottom: 42px; }
      h1 { font-size: clamp(48px, 15vw, 72px); }
      .hero-lead { font-size: 17px; }
      .cta-row .btn { width: 100%; }
      .section-head {
        align-items: start;
        flex-direction: column;
      }
      .category-grid,
      .guide-grid,
      .video-strip,
      .lab-score,
      .lesson-grid,
      .boomers-stats,
      .channel-fit {
        grid-template-columns: 1fr;
      }
      .category-card,
      .category-card.tall {
        min-height: 330px;
      }
      .method-row { grid-template-columns: 58px 1fr; }
      .method-copy { padding: 18px; }
      .lab-card { min-height: 520px; }
      .contact-band { padding: 24px; }
    }
