  :root{
    --red: #cc0000;
    --red-dark: #b30000;
    --gold: #d4a017;
    --cream: #f6f2ea;
    --navy: #1e3a5f;
    --navy-deep: #142a44;
    --line: #e5e5e5;
  }
  *{
    margin:0;
    padding:0;
    box-sizing:border-box;
  }
  body{
    background:#fff;
  }
  .topbar{
    background: var(--red);
    height: 40px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding: 0 160px;
    font-family: 'Prothom Alo Surjo', 'Noto Sans Bengali', Arial, sans-serif;
    width:100%;
  }
  .topbar-left{
    color:#fff;
    font-size:11.5px;
    font-weight:400;
    white-space:nowrap;
    display:flex;
    align-items:center;
    gap:24px;
  }
  .topbar-right{
    display:flex;
    align-items:center;
    gap:18px;
  }
  .socials{
    display:flex;
    align-items:center;
    gap:8px;
  }
  .social-icon{
    width:20px;
    height:20px;
    border-radius:50%;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }
  .social-icon svg{
    width:11px;
    height:11px;
    fill: var(--red);
  }
  .login-btn{
    border:1px solid #fff;
    color:#fff;
    font-size:11.5px;
    font-weight:500;
    background:transparent;
    padding:3px 14px;
    border-radius:3px;
    cursor:pointer;
    font-family: inherit;
    line-height:1.4;
    white-space:nowrap;
  }
  .lang-selector{
    color:#fff;
    font-size:11.5px;
    font-weight:500;
    display:flex;
    align-items:center;
    gap:4px;
    cursor:pointer;
    white-space:nowrap;
  }
  .lang-selector svg{
    width:9px;
    height:9px;
    fill:none;
    stroke:#fff;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .navbar{
    background: var(--red-dark);
    height: 70px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding: 0 160px;
    font-family: 'Prothom Alo Surjo', 'Noto Sans Bengali', Arial, sans-serif;
    width:100%;
    border-top: 1px solid rgba(255,255,255,0.15);
    gap: 16px;
  }
  .navbar-logo{
    display:flex;
    align-items:center;
    flex-shrink:0;
  }
  .navbar-logo img{
    height:55px;
    width:auto;
    display:block;
  }
  .navbar-menu{
    display:flex;
    align-items:center;
    gap: 20px;
    flex:1;
    justify-content:right;
    min-width:0;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .navbar-menu::-webkit-scrollbar{
    display:none;
  }
  .nav-home{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    flex-shrink:0;
  }
  .nav-home svg{
    width:19px;
    height:19px;
    fill:#fff;
  }
  .navbar-menu a{
    color:#fff;
    text-decoration:none;
    font-size:14px;
    white-space:nowrap;
  }
  .nav-item{
    position:relative;
    display:flex;
    align-items:center;
    flex-shrink:0;
  }
  .nav-item > a{
    display:flex;
    align-items:center;
    gap:4px;
    padding: 24px 0;
  }
  .nav-caret-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    background:none;
    border:none;
    cursor:pointer;
    padding: 24px 6px 24px 2px;
    margin:0;
  }
  .nav-caret{
    width:8px;
    height:8px;
    fill:none;
    stroke:#fff;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition: transform .2s ease;
    flex-shrink:0;
  }
  .nav-item:hover .nav-caret,
  .nav-item.is-open .nav-caret{
    transform: rotate(180deg);
  }
  .nav-submenu{
    position:absolute;
    top:100%;
    left:50%;
    transform: translateX(-50%) translateY(6px);
    background: var(--red);
    min-width:170px;
    border-radius:6px;
    box-shadow:0 10px 24px rgba(0,0,0,.3);
    padding:4px 0;
    opacity:0;
    visibility:hidden;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    z-index:1003;
  }
  .nav-item:hover .nav-submenu,
  .nav-item.is-open .nav-submenu{
    opacity:1;
    visibility:visible;
    transform: translateX(-50%) translateY(0);
  }
  .nav-submenu a{
    display:block;
    padding:9px 16px;
    font-size:12.5px;
    font-weight:500;
    color:#fff;
    white-space:nowrap;
    border-bottom:1px solid rgba(255,255,255,0.15);
    transition: background .15s ease, padding-left .15s ease;
  }
  .nav-submenu a:last-child{
    border-bottom:none;
  }
  .nav-submenu a:hover{
    background: var(--red-dark);
    padding-left:20px;
  }
  .navbar-actions{
    display:flex;
    align-items:center;
    gap: 20px;
    flex-shrink:0;
  }
  .nav-hamburger{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    cursor:pointer;
    width:24px;
    height:19px;
    position:relative;
    z-index:1002;
  }
  .nav-hamburger span{
    width:24px;
    height:2px;
    background:#fff;
    display:block;
    border-radius:2px;
    transition: transform .3s ease, opacity .2s ease, width .3s ease;
  }
  .nav-hamburger.active span:nth-child(1){
    transform: translateY(7px) rotate(45deg);
  }
  .nav-hamburger.active span:nth-child(2){
    opacity:0;
  }
  .nav-hamburger.active span:nth-child(3){
    transform: translateY(-7px) rotate(-45deg);
  }

  /* ===== Dropdown menu ===== */
  .menu-overlay{
    position:fixed;
    inset:0;
    background:transparent;
    opacity:0;
    visibility:hidden;
    transition:visibility .25s ease;
    z-index:1000;
  }
  .menu-overlay.active{
    opacity:1;
    visibility:visible;
  }
  .menu-drawer{
    position:fixed;
    top:111px;
    right:160px;
    width:200px;
    max-width:70vw;
    max-height:calc(100vh - 130px);
    background: var(--red);
    box-shadow:0 10px 24px rgba(0,0,0,.3);
    border-radius:8px;
    transform:translateY(-14px);
    opacity:0;
    visibility:hidden;
    transition:transform .3s cubic-bezier(.4,0,.2,1), opacity .25s ease, visibility .25s ease;
    z-index:1001;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    font-family: 'Prothom Alo Surjo', 'Noto Sans Bengali', Arial, sans-serif;
  }
  .menu-drawer.active{
    transform:translateY(0);
    opacity:1;
    visibility:visible;
  }
  .menu-drawer-body{
    flex:1;
    overflow-y:auto;
    padding:4px 0 10px;
  }
  .menu-drawer-body a{
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px 14px;
    color:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:500;
    border-bottom:1px solid rgba(255,255,255,0.15);
    transition:background .15s ease, padding-left .15s ease, color .15s ease;
  }
  .menu-drawer-body a:hover{
    background: var(--red-dark);
    padding-left:18px;
    color:#fff;
  }
  .menu-drawer-body a.drawer-group-label{
    padding:8px 14px 4px;
    color: rgba(255,255,255,.6);
    text-transform:uppercase;
    font-size:10.5px;
    font-weight:700;
    letter-spacing:.04em;
    border-bottom:none;
  }
  .menu-drawer-body a.drawer-group-label:hover{
    padding-left:14px;
    color:#fff;
  }
  .menu-drawer-body a.drawer-sub-link{
    padding-left:26px;
    font-size:11.5px;
  }
  .menu-drawer-body a.drawer-sub-link:hover{
    padding-left:32px;
  }

  /* ===== Latest News Section ===== */
  .latest-section{
    max-width: 1600px;
    margin: 0 auto;
    padding: 32px 160px 40px;
  }

  .latest-grid{
    display:grid;
    grid-template-columns: 1fr 420px;
    gap: 30px;
  }

  .cat-tag{
    position:absolute; z-index:2; top:10px; left:10px;
    background:var(--red); color:#fff; font-size:10.5px; font-weight:700;
    padding:4px 10px; border-radius:4px; text-decoration:none; letter-spacing:0.2px;
  }
  .cat-tag:hover{ background:var(--red-dark); }
  .cat-tag.small{ font-size:9.5px; padding:3px 8px; top:6px; left:6px; }

  .feature-thumb{
    width:100%;
    aspect-ratio: 827 / 430;
    border-radius:4px;
    background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
    margin-bottom:16px;
  }
  .feature-title{
    font-size:18px;
    color:#1a1a1a;
    line-height:1.4;
    margin-bottom:10px;
  }

  .side-list{
    display:flex;
    flex-direction:column;
    /* justify-content: space-between; */
    gap:28px;
  }
  .side-item{
    display:flex;
    gap:16px;
    text-decoration:none;

  }
  .side-thumb{
    flex-shrink:0;
    align-self:flex-start;
    width:152px;
    aspect-ratio: 4 / 4;
    border-radius:4px;
    background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
  }
  .side-body{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
  }
  .side-title{
    font-size:18px;
    color:#1a1a1a;
    line-height:1.4;
    margin-bottom:8px;
  }
  .side-desc{
    font-size:12px;
    color:#4a4a4a;
    line-height:1.5;
    max-height: calc(1.5em * 2);
    margin-bottom:10px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    line-clamp:2;
    -webkit-box-orient:vertical;
    box-orient:vertical;
    overflow:hidden;
    text-overflow:ellipsis;
    word-break:break-word;
  }
  .side-meta{
    font-size:12px;
    color: var(--red);
    font-weight:500;
  }

  /* ===== Three Card Section ===== */
  .cards-section{
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 160px 40px;
  }
  .cards-grid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
  .card-item{
    display:flex;
    flex-direction:column;
    text-decoration:none;
  }
  .card-thumb{
    width:100%;
    aspect-ratio: 16 / 10;
    border-radius:4px;
    background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
    margin-bottom:8px;
  }
  .card-title{
    font-size:13px;
    color:#1a1a1a;
    line-height:1.4;
    margin-bottom:6px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .card-desc{
    display:none;
  }
  .card-meta{
    font-size:11px;
    color: var(--red);
    font-weight:500;
  }

  @media (max-width: 900px){
    .cards-section{
      padding: 0 24px 40px;
    }
    .cards-grid{
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
    }
  }
  @media (max-width: 480px){
    .cards-grid{
      grid-template-columns: repeat(2, 1fr);
      gap: 8px;
    }
  }

  /* ===== Divider ===== */
  .section-divider{
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 160px;
  }
  .section-divider hr{
    border:none;
    border-top: 1px solid #e5e5e5;
    margin: 0 0 30px;
  }

  /* ===== Video Card Section ===== */
  .video-section{
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 160px 40px;
    font-family: 'Prothom Alo Surjo', 'Noto Sans Bengali', Arial, sans-serif;
  }
  .video-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr) 300px;
    gap: 24px;
    min-width:0;
  }
  .video-card{
    display:flex;
    flex-direction:column;
    text-decoration:none;
    cursor:pointer;
    min-width:0;
    max-width:100%;
  }
  .video-thumb{
    position:relative;
    width:100%;
    aspect-ratio: 16 / 9;
    border-radius:4px;
    background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
    margin-bottom:14px;
    overflow:hidden;
  }
  .video-play{
    position:absolute;
    left:10px;
    bottom:10px;
    display:flex;
    align-items:center;
    gap:5px;
    background: rgba(0,0,0,0.55);
    color:#fff;
    font-size:12px;
    font-weight:600;
    padding:4px 10px 4px 6px;
    border-radius:20px;
  }
  .video-play svg{
    width:16px;
    height:16px;
    fill:#fff;
  }
  .video-tag{
    display:inline-block;
    font-size:12.5px;
    font-weight:700;
    color: var(--red);
    margin-bottom:8px;
    text-decoration:none;
  }
  .video-tag:hover{ color: var(--red-dark); text-decoration:underline; }
  .video-title{
    font-size:13px;
    font-weight:400;
    color:#1a1a1a;
    line-height:1.4;
    margin-bottom:10px;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .video-desc{
    font-size:12px;
    color:#4a4a4a;
    line-height:1.5;
    margin-bottom:10px;
    display:-webkit-box;
    -webkit-line-clamp:1;
    -webkit-box-orient:vertical;
    overflow:hidden;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .video-meta{
    font-size:12px;
    color: var(--red);
    font-weight:500;
  }

  .video-side-list{
    display:flex;
    flex-direction:column;
    gap:20px;
    min-width:0;
    max-width:100%;
  }
  .video-side-item{
    display:flex;
    gap:12px;
    text-decoration:none;
    min-width:0;
    max-width:100%;
  }
  .video-side-thumb{
    flex-shrink:0;
    width:90px;
    height:90px;
    border-radius:4px;
    background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
  }
  .video-side-body{
    flex:1;
    min-width:0;
  }
  .video-side-title{
    font-size:13px;
    font-weight:400;
    color:#1a1a1a;
    line-height:1.4;
    margin-bottom:5px;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .video-side-meta{
    font-size:11px;
    color: var(--red);
    font-weight:500;
  }

  @media (max-width: 1100px){
    .video-grid{
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (max-width: 900px){
    .section-divider,
    .video-section{
      padding-left:24px;
      padding-right:24px;
    }
    .video-grid{
      grid-template-columns: 1fr;
      gap:20px;
    }
  }

  /* ===== Video click-to-play modal ===== */
  .video-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:1000;
    align-items:center;
    justify-content:center;
  }
  .video-modal.active{
    display:flex;
  }
  .video-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.85);
  }
  .video-modal-box{
    position:relative;
    width:min(900px, 92vw);
  }
  .video-modal-close{
    position:absolute;
    top:-40px;
    right:0;
    background:none;
    border:none;
    color:#fff;
    font-size:32px;
    line-height:1;
    cursor:pointer;
    padding:4px 8px;
  }
  .video-modal-frame{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    background:#000;
  }
  .video-modal-frame iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
  }

  /* ===== Reels Card Section ===== */
  .reels-section{
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 160px 40px;
  }
  .reels-grid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }
  .reel-card{
    display:flex;
    flex-direction:column;
    text-decoration:none;
    cursor:pointer;
  }
  .reel-tag{
    display:inline-block;
    font-size:12.5px;
    font-weight:700;
    color: var(--red);
    margin-bottom:6px;
    text-decoration:none;
  }
  .reel-tag:hover{ color: var(--red-dark); text-decoration:underline; }
  .reel-thumb{
    position:relative;
    width:100%;
    aspect-ratio: 3 / 4;
    border-radius:6px;
    background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
    margin-bottom:12px;
    overflow:hidden;
  }
  .reel-play{
    position:absolute;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
    width:52px;
    height:52px;
    border-radius:50%;
    border:2px solid #fff;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .reel-play svg{
    width:20px;
    height:20px;
    fill:#fff;
    margin-left:2px;
  }
  .reel-caption{
    font-size:13px;
    color:#1a1a1a;
    line-height:1.5;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  @media (max-width: 900px){
    .reels-section{
      padding-left:24px;
      padding-right:24px;
    }
    .reels-grid{
      grid-template-columns: repeat(2, 1fr);
      gap:16px;
    }
  }

  /* ===== Player Bio Section ===== */
  .players-section{
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 160px 40px;
  }
  .players-heading{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:15px;
    font-weight:700;
    color:#1a1a1a;
    margin-bottom:22px;
    text-transform:uppercase;
    letter-spacing:0.5px;
  }
  .players-heading::before{
    content:"";
    width:4px;
    height:18px;
    background: var(--red);
    border-radius:2px;
  }
  .players-grid{
    display:grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 18px;
  }
  .player-card{
    position:relative;
    display:flex;
    flex-direction:column;
    text-decoration:none;
    background:#fff;
    border:1px solid #ececec;
    border-radius:10px;
    overflow:hidden;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
  .player-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(204,0,0,0.12);
    border-color:#f3d6d6;
  }
  .player-photo-wrap{
    position:relative;
    width:100%;
    aspect-ratio: 3 / 4;
    background: linear-gradient(150deg, var(--red) 0%, var(--red-dark) 100%);
    overflow:hidden;
  }
  .player-photo-wrap::after{
    content:"";
    position:absolute;
    inset:0;
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 45%);
  }
  .player-number{
    position:absolute;
    top:8px;
    left:8px;
    width:26px;
    height:26px;
    border-radius:50%;
    background:rgba(255,255,255,0.92);
    color: var(--red-dark);
    font-size:12px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:1;
  }
  .player-info{
    padding:12px 12px 14px;
  }
  .player-name{
    font-size:13.5px;
    font-weight:700;
    color:#1a1a1a;
    line-height:1.35;
    margin-bottom:4px;
  }
  .player-role{
    display:inline-block;
    font-size:10px;
    font-weight:600;
    color: var(--red-dark);
    background:#fdeaea;
    padding:2px 8px;
    border-radius:20px;
    letter-spacing:0.3px;
  }

  @media (max-width: 900px){
    .players-section{
      padding-left:24px;
      padding-right:24px;
    }
    .players-grid{
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
    }
  }

  /* ===== Cricket & Football: 4 Equal Detail Cards, Full Width ===== */
  .cricket-row, .football-row{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap:20px;
    width:100%;
  }

  .circle-player-detail{
    text-decoration:none;
    background:#fff;
    border:2px solid var(--red);
    border-radius:10px;
    padding:24px 22px 26px;
    color:#1a1a1a;
    position:relative;
    overflow:hidden;
    display:block;
    transition: transform .18s ease, box-shadow .18s ease;
  }
  .circle-player-detail:hover{
    transform: translateY(-4px);
    box-shadow: 0 14px 26px rgba(204,0,0,.16);
  }
  .circle-player-detail::after{
    content:"";
    position:absolute;
    right:-40px;
    top:-40px;
    width:160px;
    height:160px;
    border-radius:50%;
    background: rgba(204,0,0,.05);
  }
  .detail-photo-wrap{
    position:relative;
    width:80px;
    margin-bottom:14px;
  }
  .detail-photo{
    width:80px;
    height:80px;
    border-radius:50%;
    background: rgba(204,0,0,.08);
    border:3px solid var(--red);
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .detail-photo img{
    width:100%;
    height:100%;
    border-radius:50%;
    object-fit:cover;
  }
  .detail-number{
    position:absolute;
    bottom:-8px;
    right:-10px;
    width:32px;
    height:32px;
    border-radius:50%;
    background: var(--gold, #d4a017);
    color:#1a1a1a;
    font-size:14px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #fff;
  }
  .detail-name{
    font-size:17px;
    font-weight:700;
    margin-bottom:4px;
    line-height:1.3;
    color:#1a1a1a;
  }
  .detail-role{
    display:inline-block;
    font-size:10.5px;
    font-weight:600;
    color: var(--red-dark);
    background: #fdeaea;
    padding:3px 10px;
    border-radius:20px;
    margin-bottom:14px;
  }
  .detail-bio{
    font-size:11.5px;
    line-height:1.65;
    color:#5a5a5a;
    margin-bottom:16px;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .detail-stats-table{
    width:100%;
    border-collapse:collapse;
    font-size:10.5px;
    margin-bottom:14px;
  }
  .detail-stats-table th{
    text-align:right;
    font-weight:600;
    color:#8a8a8a;
    padding:5px 0;
    border-bottom:1px solid #ececec;
  }
  .detail-stats-table th:first-child{
    text-align:left;
  }
  .detail-stats-table td{
    text-align:right;
    padding:6px 0;
    font-weight:600;
    color:#1a1a1a;
  }
  .detail-stats-table td:first-child{
    text-align:left;
    color:#6b6b6b;
    font-weight:400;
  }
  .detail-more{
    font-size:11.5px;
    font-weight:700;
    color: var(--red-dark);
    border-bottom:1px solid var(--red-dark);
    padding-bottom:2px;
  }

  @media (max-width: 1100px){
    .cricket-row, .football-row{
      grid-template-columns: repeat(2, 1fr);
    }
  }
  /* ===== Live Cricket Ticker — গোল্ড হেয়ারলাইন / ক্রিম বেস ===== */
  .live-ticker{
    background: var(--cream);
    display:flex;
    align-items:stretch;
    border-top:2px solid var(--gold);
    box-shadow: 0 2px 6px rgba(0,0,0,.05);
    padding:0 160px;
  }
  .lt-tag{
    flex-shrink:0;
    display:flex;
    align-items:center;
    gap:6px;
    color: var(--red-dark);
    font-size:11px;
    font-weight:800;
    padding:0 16px;
    white-space:nowrap;
    letter-spacing:0.3px;
  }
  .lt-tag .dot{
    width:6px; height:6px; border-radius:50%; background: var(--red-dark);
    animation: lt-pulse 1.3s infinite ease-in-out;
  }
  @keyframes lt-pulse{
    0%,100%{ opacity:1; } 50%{ opacity:.3; }
  }
  .lt-matches{
    display:flex;
    align-items:stretch;
    gap:10px;
    padding:8px 12px;
    overflow-x:auto;
    scrollbar-width:none;
    flex:1;
  }
  .lt-matches::-webkit-scrollbar{ display:none; }
  .lt-match{
    flex-shrink:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:2px;
    padding:8px 18px;
    background:#fff;
    border:1px solid rgba(0,0,0,.07);
    border-radius:8px;
    cursor:pointer;
    transition:background .15s ease, box-shadow .15s ease;
  }
  .lt-match:hover{ background: rgba(204,0,0,.05); box-shadow:0 2px 6px rgba(0,0,0,.06); }
  .lt-teams{ display:flex; align-items:center; gap:8px; }
  .lt-team{ display:flex; align-items:center; gap:5px; }
  .lt-team-name{ color:#2a2a2a; font-size:12px; font-weight:600; }
  .lt-team-score{ color: var(--red-dark); font-size:12px; font-weight:800; }
  .lt-vs{ color:#b8b3a5; font-size:10px; }
  .lt-status{ color:#8a6d00; font-size:10px; font-weight:600; white-space:nowrap; }
  .lt-more{
    flex-shrink:0;
    display:flex;
    align-items:center;
    gap:4px;
    padding:0 18px;
    color: var(--red-dark);
    font-size:11px;
    font-weight:700;
    text-decoration:none;
    margin-left:auto;
  }
  @media (max-width:900px){
    .lt-tag{ padding:0 12px; }
    .live-ticker{ padding:0 24px; }
    .lt-matches{ padding:8px 8px; gap:8px; }
    .lt-match{ padding:8px 14px; }
    .lt-more{ padding:0 14px; }
  }

  /* ===== Live Football Strip — সিঙ্গেল-রো (cricket টিকারের মতোই, নেভি অ্যাকসেন্ট) ===== */
  .fb-strip{
    background: var(--cream);
    display:flex;
    align-items:stretch;
    border-top:2px solid var(--navy, #1e3a5f);
    box-shadow: 0 2px 6px rgba(0,0,0,.05);
    padding:0 160px;
  }
  .fb-tag{
    flex-shrink:0;
    display:flex;
    align-items:center;
    gap:6px;
    color: var(--navy, #1e3a5f);
    font-size:11px;
    font-weight:800;
    padding:0 16px;
    white-space:nowrap;
    letter-spacing:0.3px;
  }
  .fb-tag .dot{
    width:6px; height:6px; border-radius:50%; background: var(--navy, #1e3a5f);
    animation: lt-pulse 1.3s infinite ease-in-out;
  }
  .fb-strip-matches{
    display:flex;
    align-items:stretch;
    gap:10px;
    padding:8px 12px;
    overflow-x:auto;
    scrollbar-width:none;
    flex:1;
  }
  .fb-strip-matches::-webkit-scrollbar{ display:none; }
  .fb-match{
    flex-shrink:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:2px;
    padding:8px 18px;
    background:#fff;
    border:1px solid rgba(0,0,0,.07);
    border-radius:8px;
    cursor:pointer;
    transition:background .15s ease, box-shadow .15s ease;
  }
  .fb-match:hover{ background: rgba(30,58,95,.05); box-shadow:0 2px 6px rgba(0,0,0,.06); }
  .fb-comp{
    font-size:9px;
    font-weight:700;
    color: var(--gold);
    text-transform:uppercase;
    letter-spacing:0.3px;
    margin-bottom:1px;
    display:block;
  }
  .fb-teams-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }
  .fb-team-name{ font-size:12px; font-weight:600; color:#2a2a2a; }
  .fb-score{ font-size:12px; font-weight:800; color: var(--navy, #1e3a5f); }
  .fb-strip-more{
    flex-shrink:0;
    display:flex;
    align-items:center;
    gap:4px;
    padding:0 18px;
    color: var(--navy, #1e3a5f);
    font-size:11px;
    font-weight:700;
    text-decoration:none;
    margin-left:auto;
  }
  @media (max-width:900px){
    .fb-tag{ padding:0 12px; }
    .fb-strip{ padding:0 24px; }
    .fb-strip-matches{ padding:8px 8px; gap:8px; }
    .fb-match{ padding:8px 14px; }
    .fb-strip-more{ padding:0 14px; }
  }

  /* ===== Footer ===== */
  footer a{ text-decoration:none; }
  footer{ width:100%; }
  .f2-main{ background:var(--red); }
  .f2-main-in{
    max-width:1600px; margin:0 auto; padding:40px 160px;
    display:grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 32px;
  }
  .f2-info p{ color:#fff; font-size:11.5px; line-height:1.9; opacity:.92; }
  .f2-social-row{ display:flex; gap:8px; margin-top:16px; }
  .f2-icon{
    width:26px; height:26px; border-radius:50%; background:#fff;
    display:flex; align-items:center; justify-content:center;
    color: var(--red-dark); font-size:11px; font-weight:800;
  }
  .f2-col{ display:flex; flex-direction:column; gap:13px; }
  .f2-col a{ color:#fff; font-size:12.5px; font-weight:500; opacity:.9; transition:opacity .15s ease; }
  .f2-col a:hover{ opacity:1; text-decoration:underline; }
  .f2-bottom{ background: var(--red-dark); }
  .f2-bottom-in{
    max-width:1600px; margin:0 auto; padding:16px 160px;
    display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  }
  .f2-copyright{ color:rgba(255,255,255,.75); font-size:11.5px; }
  .f2-legal{ display:flex; gap:18px; }
  .f2-legal a{ color:rgba(255,255,255,.85); font-size:11.5px; }
  .f2-legal a:hover{ text-decoration:underline; }
  @media (max-width:1100px){ .f2-main-in{ grid-template-columns: repeat(2,1fr); } }
  @media (max-width:900px){
    .f2-main-in{ padding-left:24px; padding-right:24px; }
    .f2-bottom-in{ padding-left:24px; padding-right:24px; }
  }
  @media (max-width:600px){
    .f2-main-in{ grid-template-columns: 1fr; }
  }

  /* ===== Category / Listing Pages (videos.php etc.) ===== */
  .video-listing-wrap{
    max-width:1600px; margin:0 auto; padding:32px 160px 60px;
    font-family:'Noto Sans Bengali', Arial, sans-serif;
  }
  .back-link{
    display:inline-block; margin-bottom:18px; font-size:13px;
    color: var(--navy); text-decoration:none; font-weight:600;
  }
  .category-header{
    display:flex; align-items:baseline; gap:12px; margin-bottom:24px;
    padding-bottom:18px; border-bottom:2px solid var(--red);
  }
  .category-header h1{ font-size:24px; font-weight:800; color:#1a1a1a; }
  .category-count{ font-size:13px; color:#888; font-weight:600; }
  .video-listing-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  }
  .empty-cat{ text-align:center; padding:60px 20px; color:#777; font-size:14px; }
  .empty-cat a{ color: var(--red); font-weight:700; }

  .reels-listing-grid{
    display:grid; grid-template-columns:repeat(5,1fr); gap:24px;
  }
  @media (max-width:1100px){
    .reels-listing-grid{ grid-template-columns:repeat(4,1fr); }
  }
  @media (max-width:900px){
    .reels-listing-grid{ grid-template-columns:repeat(3,1fr); }
  }
  @media (max-width:560px){
    .reels-listing-grid{ grid-template-columns:repeat(2,1fr); }
  }

  @media (max-width:900px){
    .video-listing-wrap{ padding-left:24px; padding-right:24px; }
    .video-listing-grid{ grid-template-columns:repeat(2,1fr); }
  }
  @media (max-width:560px){
    .video-listing-grid{ grid-template-columns:1fr; }
  }

  /* ===== Matches Page (matches.php) ===== */
  .matches-page{ max-width:1600px; margin:0 auto; padding:28px 160px 60px; font-family:'Noto Sans Bengali',Arial,sans-serif; }
  .matches-inner{ max-width:900px; margin:0 auto; }
  @media (max-width:900px){
    .matches-page{ padding-left:24px; padding-right:24px; }
  }
  .matches-page h1{ font-size:22px; color:#1b1b1b; margin-bottom:20px; }
  .matches-sport-title{
    font-size:14px; font-weight:800; color:#fff; background:var(--navy);
    display:inline-block; padding:6px 16px; border-radius:6px; margin:22px 0 12px;
  }
  .matches-sport-title.is-football{ background:var(--red); }
  .match-row{
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    border:1px solid #eee; border-radius:8px; padding:14px 18px; margin-bottom:10px;
  }
  .match-row.is-live{ border-color:var(--red); background:rgba(204,0,0,0.03); }
  .match-comp{ font-size:11.5px; color:#888; font-weight:600; margin-bottom:6px; }
  .match-teams{ display:flex; flex-direction:column; gap:4px; }
  .match-team-line{ display:flex; align-items:center; gap:10px; font-size:14px; font-weight:600; color:#222; }
  .match-team-line .score{ font-weight:800; color:var(--navy); min-width:24px; text-align:right; }
  .match-status{ font-size:12px; font-weight:700; color:var(--gold); white-space:nowrap; }
  .match-status.is-live{ color:var(--red); }
  .match-empty{ color:#999; font-size:13.5px; padding:18px 0; }
  .back-home{ display:inline-block; margin-bottom:16px; font-size:13px; color:var(--navy); text-decoration:none; font-weight:600; }

  /* ===== Rankings Page (rankings.php) ===== */
  .ranking-page{ max-width:1600px; margin:0 auto; padding:28px 160px 60px; font-family:'Noto Sans Bengali',Arial,sans-serif; }
  .ranking-inner{ max-width:1200px; margin:0 auto; }
  @media (max-width:900px){
    .ranking-page{ padding-left:24px; padding-right:24px; }
  }
  .ranking-page h1{ font-size:22px; color:#1b1b1b; margin-bottom:16px; }
  .ranking-format-tabs{ display:flex; gap:8px; margin-bottom:22px; border-bottom:1px solid #eee; }
  .ranking-format-tab{
    display:inline-block; padding:10px 18px; font-size:13.5px; font-weight:700;
    color:#666; text-decoration:none; border-bottom:2px solid transparent; margin-bottom:-1px;
  }
  .ranking-format-tab.is-active{ color:var(--navy); border-bottom-color:var(--navy); }
  .ranking-format-tab:hover{ color:var(--navy); }
  .ranking-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; }
  @media (max-width:900px){ .ranking-grid{ grid-template-columns:1fr; } }
  .ranking-card{ border:1px solid #eee; border-radius:8px; padding:16px 18px; }
  .ranking-card-title{ font-size:14px; font-weight:800; color:#fff; background:var(--navy); display:inline-block; padding:6px 16px; border-radius:6px; margin-bottom:14px; }
  .ranking-row{ display:flex; align-items:center; gap:14px; padding:10px 0; border-bottom:1px solid #f2f2f2; }
  .ranking-row:last-child{ border-bottom:none; }
  .ranking-pos{ flex-shrink:0; width:26px; height:26px; border-radius:50%; background:#f5f5f5; color:#333; font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; }
  .ranking-name-wrap{ flex:1; min-width:0; }
  .ranking-name{ font-size:13.5px; font-weight:600; color:#222; overflow-wrap:anywhere; }
  .ranking-team{ font-size:11.5px; color:#888; margin-top:2px; }
  .ranking-rating{ flex-shrink:0; font-size:14px; font-weight:800; color:var(--navy); text-align:right; }
  .ranking-points{ display:block; font-size:10.5px; font-weight:600; color:#999; }
  .ranking-empty{ color:#999; font-size:13.5px; padding:12px 0; }

  /* ===== Article Page (post.php) ===== */
  .article-page-wrap{ max-width:1600px; margin:0 auto; padding:32px 160px 60px; display:grid; grid-template-columns:1fr 320px; gap:36px; font-family:'Noto Sans Bengali',Arial,sans-serif; align-items:start; }
  @media (max-width:960px){ .article-page-wrap{ grid-template-columns:1fr; } }
  @media (max-width:900px){ .article-page-wrap{ padding-left:24px; padding-right:24px; } }

  .article-cat{ display:inline-block; font-size:12px; font-weight:800; color:#fff; background:var(--red); padding:5px 14px; border-radius:6px; margin-bottom:14px; }
  .article-title{ font-size:26px; font-weight:800; line-height:1.35; color:#1a1a1a; margin-bottom:14px; }
  .article-meta{ font-size:13px; color:#888; margin-bottom:22px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .article-meta .dot{ width:3px;height:3px;border-radius:50%;background:#ccc; }
  .article-summary{ font-size:16.5px; font-weight:600; color:#3a3a3a; line-height:1.7; padding-left:16px; border-left:3px solid var(--red); margin-bottom:26px; }
  .article-thumb{ width:100%; aspect-ratio:16/9; border-radius:12px; background:linear-gradient(135deg,var(--red),var(--red-dark)); background-size:cover; background-position:center; }
  .article-thumb-credit{ font-size:11.5px; color:#999; text-align:right; margin:6px 0 26px; font-style:italic; }
  .article-body{ font-size:15.5px; line-height:1.9; color:#262626; }
  .article-body p{ margin-bottom:20px; }
  .article-body img{ max-width:100%; height:auto; border-radius:10px; margin:20px 0; }
  .article-body h2, .article-body h3{ margin:28px 0 14px; color:#1a1a1a; font-size:19px; }
  .article-body a{ color:var(--navy); }
  .not-found{ text-align:center; padding:60px 20px; color:#777; font-size:14px; }
  .not-found a{ color:var(--red); font-weight:700; }

  .section-block{ margin-top:42px; padding-top:26px; border-top:1px solid var(--line); }
  .section-heading{ font-size:15px; font-weight:800; color:#1a1a1a; margin-bottom:16px; }

  .related-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
  @media (max-width:640px){ .related-grid{ grid-template-columns:1fr; } }

  .players-row-compact{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
  @media (max-width:640px){ .players-row-compact{ grid-template-columns:1fr; } }

  .comment-notice{ background:rgba(26,122,60,0.08); color:#1a7a3c; font-size:13px; font-weight:600; padding:10px 14px; border-radius:8px; margin-bottom:18px; display:flex; align-items:center; gap:8px; }

  .comment-form-card{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px; margin-bottom:24px; }
  .comment-form-title{ font-size:13.5px; font-weight:800; color:#1a1a1a; margin-bottom:14px; display:flex; align-items:center; gap:8px; }
  .comment-form{ display:flex; flex-direction:column; gap:12px; }
  .comment-input-wrap{ position:relative; }
  .comment-input-wrap svg{ position:absolute; left:12px; top:50%; transform:translateY(-50%); width:15px; height:15px; color:#aaa; }
  .comment-form input{
    width:100%; font-family:'Noto Sans Bengali',Arial,sans-serif; font-size:13.5px;
    border:1px solid var(--line); border-radius:9px; padding:11px 14px 11px 38px; background:var(--cream);
  }
  .comment-form input:focus, .comment-form textarea:focus{ outline:none; border-color:var(--red); background:#fff; }
  .comment-form textarea{
    width:100%; font-family:'Noto Sans Bengali',Arial,sans-serif; font-size:13.5px;
    border:1px solid var(--line); border-radius:9px; padding:12px 14px; min-height:100px; resize:vertical; background:var(--cream);
  }
  .comment-submit{
    align-self:flex-start; background:var(--red); color:#fff; border:none; padding:10px 22px; border-radius:9px;
    font-weight:700; font-size:13px; cursor:pointer; font-family:inherit; display:flex; align-items:center; gap:8px;
    box-shadow:0 6px 14px rgba(204,0,0,0.22);
  }
  .comment-submit:hover{ background:var(--red-dark); }
  .comment-submit svg{ width:14px; height:14px; }

  .comment-item{ display:flex; gap:12px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px; margin-bottom:12px; }
  .comment-avatar{
    width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,var(--navy),var(--navy-deep));
    color:#fff; font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .comment-name{ font-size:13.5px; font-weight:700; color:#1a1a1a; }
  .comment-time{ font-size:11.5px; color:#999; margin-left:8px; font-weight:500; }
  .comment-text{ font-size:13.5px; color:#3a3a3a; line-height:1.7; margin-top:4px; }
  .no-comments{ font-size:13px; color:#999; background:var(--cream); border-radius:10px; padding:16px; text-align:center; }

  .sidebar-block{ background:#fff; border:1px solid var(--line); border-radius:12px; padding:18px; margin-bottom:20px; }
  .sidebar-heading{ font-size:13.5px; font-weight:800; color:#1a1a1a; margin-bottom:12px; }

  .filter-box{ padding:16px; }
  .filter-cat{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding:9px 10px; border-radius:8px; text-decoration:none;
    font-size:13px; font-weight:600; color:#444;
  }
  .filter-cat:hover{ background:#f7f7f7; }
  .filter-cat.is-active{ background: var(--red); color:#fff; }
  .filter-cat-count{ font-size:11.5px; font-weight:700; color:#999; }
  .filter-cat.is-active .filter-cat-count{ color:rgba(255,255,255,.85); }
  .sidebar-select{
    width:100%; font-family:'Noto Sans Bengali',Arial,sans-serif; font-size:13px; font-weight:600;
    color:#333; border:1px solid var(--line); border-radius:8px; padding:9px 12px;
    background:var(--cream); margin-bottom:16px; cursor:pointer;
  }
  .sidebar-post{ display:flex; gap:10px; align-items:flex-start; text-decoration:none; color:inherit; padding:9px 0; border-top:1px solid var(--line); }
  .sidebar-post:first-of-type{ border-top:none; }
  .sidebar-post-thumb{ width:52px;height:52px;border-radius:8px; background:linear-gradient(135deg,var(--red),var(--red-dark)); background-size:cover; background-position:center; flex-shrink:0; position:relative; }
  .sidebar-post-title{ font-size:12.5px; font-weight:600; line-height:1.45; color:#222; }
  .sidebar-post-meta{ font-size:11px; color:#999; margin-top:4px; }

  .ad-block{ background:var(--cream); border:1px dashed #c9c2b3; border-radius:12px; padding:26px 14px; text-align:center; margin-bottom:20px; }
  .ad-label{ font-size:10.5px; color:#999; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:8px; font-weight:700; }
  .ad-placeholder{ font-size:12.5px; color:#aaa; }

  .mini-player{ display:flex; gap:10px; align-items:center; padding:10px 0; border-top:1px solid var(--line); text-decoration:none; color:inherit; }
  .mini-player:first-of-type{ border-top:none; }
  .mini-player-photo{ width:40px;height:40px;border-radius:50%; background:linear-gradient(135deg,var(--navy),var(--navy-deep)); flex-shrink:0; }
  .mini-player-name{ font-size:12.5px; font-weight:700; color:#1a1a1a; }
  .mini-player-role{ font-size:11px; color:#888; }

  /* ===== Category Page (category.php) ===== */
  .category-page-wrap{ max-width:1600px; margin:0 auto; padding:32px 160px 60px; display:grid; grid-template-columns:1fr 320px; gap:36px; font-family:'Noto Sans Bengali',Arial,sans-serif; align-items:start; }
  @media (max-width:960px){ .category-page-wrap{ grid-template-columns:1fr; } }
  @media (max-width:900px){ .category-page-wrap{ padding-left:24px; padding-right:24px; } }

  .category-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  @media (max-width:720px){ .category-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:480px){ .category-grid{ grid-template-columns:1fr; } }

  .pagination-row{ display:flex; justify-content:center; gap:8px; margin-top:36px; }
  .page-link{ min-width:34px; height:34px; padding:0 8px; border-radius:8px; border:1px solid var(--line); background:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:600; color:#555; text-decoration:none; }
  .page-link.active{ background:var(--red); color:#fff; border-color:var(--red); }
  .page-link.disabled{ opacity:0.4; pointer-events:none; }

  .popular-rank{ position:absolute; top:-6px; left:-6px; width:18px;height:18px; border-radius:50%; background:var(--navy); color:#fff; font-size:10px; font-weight:800; display:flex; align-items:center; justify-content:center; }

  .newsletter-box{ background:linear-gradient(135deg,var(--navy),var(--navy-deep)); border-radius:12px; padding:20px; color:#fff; margin-bottom:20px; }
  .newsletter-title{ font-size:14px; font-weight:800; margin-bottom:6px; }
  .newsletter-sub{ font-size:12px; color:rgba(255,255,255,0.7); margin-bottom:14px; line-height:1.5; }
  .newsletter-input{ width:100%; font-family:'Noto Sans Bengali',Arial,sans-serif; font-size:13px; border:none; border-radius:8px; padding:10px 12px; margin-bottom:8px; }
  .newsletter-btn{ width:100%; background:var(--red); color:#fff; border:none; padding:10px; border-radius:8px; font-weight:700; font-size:13px; cursor:pointer; font-family:inherit; }

  /* ===== Static Pages (terms.php, privacy.php, contact.php) ===== */
  .static-page-wrap{
    max-width:900px; margin:0 auto; padding:32px 24px 70px;
    font-family:'Noto Sans Bengali', Arial, sans-serif;
  }
  .static-page-wrap .category-header{ margin-bottom:28px; }
  .static-page-updated{ font-size:12.5px; color:#999; font-weight:600; margin-top:-16px; margin-bottom:24px; }

  .contact-info-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:32px;
  }
  .contact-info-card{
    background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px;
    display:flex; gap:12px; align-items:flex-start;
  }
  .contact-info-icon{
    width:38px; height:38px; border-radius:10px; background:linear-gradient(135deg,var(--navy),var(--navy-deep));
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .contact-info-icon svg{ width:17px; height:17px; fill:#fff; }
  .contact-info-label{ font-size:12px; font-weight:700; color:#999; margin-bottom:3px; }
  .contact-info-value{ font-size:13.5px; font-weight:600; color:#1a1a1a; line-height:1.5; }
  .contact-info-value a{ color:#1a1a1a; text-decoration:none; }
  .contact-info-value a:hover{ color:var(--red); }

  .contact-socials-row{ display:flex; gap:10px; margin-bottom:32px; }
  .contact-socials-row .social-icon{
    background:var(--cream); border-radius:50%; width:38px; height:38px;
    display:flex; align-items:center; justify-content:center;
  }
  .contact-socials-row .social-icon svg{ width:16px; height:16px; fill:#555; }
  .contact-socials-row .social-icon:hover svg{ fill:var(--red); }

  @media (max-width:720px){
    .contact-info-grid{ grid-template-columns:1fr; }
  }

  /* ===== Photo Gallery (gallery.php, gallery-photo.php) ===== */
  .gallery-page, .gallery-photo-page{
    max-width:1600px; margin:0 auto; padding:28px 160px 60px;
    font-family:'Noto Sans Bengali',Arial,sans-serif;
  }
  @media (max-width:900px){
    .gallery-page, .gallery-photo-page{ padding-left:24px; padding-right:24px; }
  }
  .gallery-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; flex-wrap:wrap; }
  .gallery-toolbar h1{ font-size:22px; color:#1b1b1b; }
  .gallery-search{ display:flex; align-items:center; background:#fff; border:1px solid var(--line); border-radius:8px; padding:0 4px 0 12px; max-width:280px; flex:1; }
  .gallery-search input{ border:none; outline:none; font-size:13px; padding:8px 0; flex:1; background:transparent; font-family:inherit; }
  .gallery-search button{ background:none; border:none; cursor:pointer; color:#888; padding:8px; display:flex; }
  .gallery-search button:hover{ color:var(--red); }

  .gallery-filter-pills{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px; }
  .gallery-pill{ background:#fff; border:1px solid var(--line); color:#444; font-size:12px; font-weight:600; padding:7px 16px; border-radius:20px; text-decoration:none; }
  .gallery-pill:hover{ border-color:var(--red); color:var(--red); }
  .gallery-pill.is-active{ background:var(--red); border-color:var(--red); color:#fff; }

  .gallery-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
  @media (max-width:960px){ .gallery-grid{ grid-template-columns:repeat(3,1fr); } }
  @media (max-width:720px){ .gallery-grid{ grid-template-columns:repeat(2,1fr); } }

  .gallery-card{ display:block; text-decoration:none; }
  .gallery-card-thumb{
    position:relative; aspect-ratio:4/3; border-radius:10px; overflow:hidden;
    background-color:#ddd; background-size:cover; background-position:center;
  }
  .gallery-card-thumb::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(transparent 50%, rgba(0,0,0,.65));
  }
  .gallery-card-badge{
    position:absolute; top:8px; left:8px; z-index:1;
    background:var(--red); color:#fff; font-size:10px; font-weight:700;
    padding:3px 10px; border-radius:5px;
  }
  .gallery-card-title{
    position:absolute; bottom:8px; left:10px; right:10px; z-index:1;
    color:#fff; font-size:12px; font-weight:600; line-height:1.3;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  }

  .gallery-photo-wrap{ display:grid; grid-template-columns:1fr 320px; gap:32px; align-items:start; margin-bottom:40px; }
  @media (max-width:820px){ .gallery-photo-wrap{ grid-template-columns:1fr; } }
  .gallery-photo-main{ border-radius:12px; overflow:hidden; background:#eee; }
  .gallery-photo-main img{ width:100%; display:block; }
  .gallery-photo-info h1{ font-size:20px; color:#1a1a1a; margin:8px 0 10px; line-height:1.4; }
  .gallery-photo-cat{
    display:inline-block; background:var(--red); color:#fff; font-size:11px; font-weight:700;
    padding:4px 12px; border-radius:5px; text-decoration:none;
  }
  .gallery-photo-meta{ font-size:12.5px; color:#888; margin-bottom:20px; }
  .gallery-download-btn{
    display:inline-flex; align-items:center; gap:8px; background:var(--navy); color:#fff;
    font-size:13.5px; font-weight:700; padding:12px 22px; border-radius:8px; text-decoration:none;
  }
  .gallery-download-btn:hover{ background:var(--navy-deep); }

  .gallery-related-title{ font-size:15px; font-weight:800; color:#1a1a1a; margin-bottom:14px; }
