/*
Theme Name: Dentzz Blog
Template: twentytwentyfive
Description: Child theme for Twenty Twenty-Five
Author: Dentzz
Version: 1.2.0
*/

@import url("../twentytwentyfive/style.css");

/* =============================================
   RESET & BASE
   ============================================= */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    text-decoration: none;
    list-style: none;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

/* Restore bold for inline elements — never override these */
strong, b {
    font-weight: 700 !important;
}

/* Restore italic */
em, i {
    font-style: italic !important;
}

body {
    margin-bottom: 0;
    font-size: 16px;
    font-family: 'Avenir', sans-serif !important;
    color: #111111;
    overflow-x: hidden;
}

a { color: #000; }
a:hover { color: #000; text-decoration: none; }

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif !important;
    font-weight: 400;
}

::-moz-selection { background: #68c364; color: #fff; }
::selection      { background: #68c364; color: #fff; }

/* =============================================
   FONTS
   ============================================= */
@font-face {
    font-family: 'slick';
    font-weight: 400;
    font-style: normal;
    src: url('assets/slick.eot');
    src: url('assets/slick.eot?#iefix') format('embedded-opentype'),
         url('assets/slick.woff') format('woff'),
         url('assets/slick.ttf') format('truetype'),
         url('assets/slick.svg#slick') format('svg');
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('assets/Avenir.ttc') format('collection');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display';
    src: url('assets/PlayfairDisplay-VariableFont_wght.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Playfair Display Italic';
    src: url('assets/PlayfairDisplay-Italic-VariableFont_wght.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

/* =============================================
   UTILITIES
   ============================================= */
.d-none      { display: none; }
.w-100       { width: 100%; }
.position-relative { position: relative; }
.mobileShow  { display: none; }
.mobile_banner, .bannerOther .mobile_banner { display: none !important; }

.timeFrame { overflow: hidden; }

/* =============================================
   BOOTSTRAP GRID (kept as-is for layout compat)
   ============================================= */
.col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
.col-auto,
.col-lg, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6,
.col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-auto,
.col-md, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
.col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md-auto,
.col-sm, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6,
.col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-auto,
.col-xl, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6,
.col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-auto {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

/* =============================================
   MAIN CONTAINER
   ============================================= */
.mainContainer { padding: 0 70px; }

/* =============================================
   HEADER
   ============================================= */
.wp-block-template-part-header,
header.wp-block-template-part {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.main-banner-title {
 width: 100%;
    color: #fff;
    bottom: 120px;
    text-align: center;
    position: absolute;
    left: 0;
    font-size: 45px;
    font-family: 'Playfair Display', serif !important;
}

header {
    position: fixed;
    left: 0;
    right: 0;
    width: 100vw;
    top: 60px;
    z-index: 999;
    display: flex;
    justify-content: flex-end;
    padding: 0 25px;
    box-shadow: -2px 17px 23px -20px rgba(0,0,0,0);
    background-color: rgba(0,0,0,0.2);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}

header .logo {
    position: fixed;
    left: 25px;
    top: 65px;
    height: 60px;
    transition: all 0.5s !important;
    -webkit-transition: all 0.5s !important;
}

header ul {
    display: flex;
    align-items: center;
    margin-bottom: 0;
}

header li {
    color: #fff;
    padding: 25px 8px;
    text-transform: uppercase;
    font-size: 10.5px;
    line-height: 20px;
    position: relative;
}

header li a { color: #fff; }
header li a:hover { color: #fff; }

header li.submenu {
    cursor: pointer;
    padding-right: 25px !important;
}

header li.submenu::before,
header li.submenu::after {
    position: absolute;
    content: "";
    height: 1px;
    width: 7px;
    background-color: #fff;
    right: 10px;
    top: 35px;
    transform: rotate(45deg);
}

header li.submenu::after {
    right: 5px;
    transform: rotate(-45deg);
}

header li.submenu:hover::before { transform: rotate(-45deg); }
header li.submenu:hover::after  { transform: rotate(45deg); }

/* Submenu dropdowns */
.submenu .submenuIn {
    position: absolute;
    width: 230px;
    top: 70px;
    background-color: #fff;
    flex-wrap: wrap;
    padding: 10px 5px;
    opacity: 0;
    pointer-events: none;
    box-shadow: -1px 7px 28px -13px rgba(0,0,0,0.5);
    display: flex;
    transition: all 0.5s;
}

.submenu .submenuIn ul { display: block; }
.submenu.procedureSubmenu .submenuIn { width: 750px; }
.submenu.techSubmenu .submenuIn      { width: 500px; }
.submenu.clientSubmenu .submenuIn,
.submenu.gallerySubmenu .submenuIn   { width: 250px; }
.submenu.procedureSubmenu ul         { width: 33.33%; }

.submenu ul li {
    line-height: 20px;
    width: 100%;
    padding: 10px 20px;
}

.submenu ul a         { color: #000; position: relative; }
.submenu ul li a:hover { color: #8e8e8e; font-weight: 700; }
.submenu:hover > .submenuIn { opacity: 1; pointer-events: auto; }

.procedureSubmenu.submenu ul { left: -27px; }
.techSubmenu.submenu ul      { left: -52px; }

/* Buttons in nav */
header li.buttonMenu { line-height: 16px; padding: 0 5px; }

header li.buttonMenu a {
    display: flex;
    padding: 15px;
    border: solid 1px #fff;
    justify-content: center;
    transition: all 0.5s;
}

header li.buttonMenu img {
    height: 12px;
    filter: invert(100%);
    margin: 2px 0;
    transition: all 0.5s;
}

header li.buttonMenu p { margin-bottom: 0; margin-left: 5px; line-height: 16px; }

header li.buttonMenu:hover a        { background-color: #fff; color: #000; }
header li.buttonMenu:hover img      { filter: invert(0%); }

/* After scroll state */
header.afterScroll {
    background-color: #000;
    box-shadow: -2px 17px 23px -20px rgba(0,0,0,0.4);
    height: 60px;
}

header.afterScroll .logo             { height: 40px; }
header.afterScroll li.submenu::before,
header.afterScroll li.submenu::after { background-color: #fff; top: 30px; }
header.afterScroll ul li             { padding: 20px 8px; }
header.afterScroll li.buttonMenu     { padding: 5px; }
header.afterScroll .submenu ul       { top: 48px; }
header.afterScroll .submenuIn        { top: 60px; }
header.afterScroll .submenu ul li    { padding: 10px; }

/* Top bar */
.headerTopMobile,
.headerTopDesktop {
    display: flex;
    position: fixed;
    top: 0;
    width: 100%;
    left: 0;
    color: #fff;
    z-index: 9;
    background-color: #000;
    height: 50px;
    flex-wrap: wrap;
}

.headerTopDesktop {
    display: flex;
    height: 60px;
    border-bottom: solid 1px #111;
    transition: all 0.5s;
}

.headerTopDesktop p {
    line-height: 30px;
    text-align: center;
    color: #fff;
    font-size: 13px;
    width: 100%;
    margin-bottom: 0;
    text-transform: uppercase;
}

.headerTopDesktop p a { color: #fff; transition: all 0.5s; }

/* ISO text */
.isoText {
    position: absolute;
    top: 16px;
    left: 12px;
    font-size: 12px;
    color: white;
    line-height: 1.4;
}

header.afterScroll .isoText { color: black; }

.isoTextDesktop {
    position: absolute;
    left: 25px;
    top: 5px;
    font-size: 14px;
}

/* Nav hover underline */
.headerNavDesktop ul li a {
    position: relative;
}

.headerNavDesktop ul li a::after {
    content: "";
    width: 0%;
    height: 1px;
    position: absolute;
    bottom: -2px;
    left: 0;
    background-color: #fff;
    transition: all 0.5s;
}

.headerNavDesktop ul li:hover a::after { width: 100%; }
.headerNavDesktop ul li.buttonMenu a::after { content: none; }

/* Mobile menu toggle */
.menuClick {
    position: fixed;
    top: 70px;
    width: 40px;
    height: 30px;
    z-index: 99;
    right: 10px;
    display: none;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
}

.menuClick span {
    height: 3px;
    width: 100%;
    background: #000;
    display: block;
    pointer-events: none;
    transition: all 0.5s;
}

.menuClick.menuActive { left: 350px; top: 10px; }
.menuClick.menuActive span { opacity: 0; top: 20px; }

.menuClick.menuActive span:first-child {
    opacity: 1;
    width: 30px;
    transform: rotate(45deg);
}

.menuClick.menuActive span:last-child {
    opacity: 1;
    width: 30px;
    transform: rotate(-45deg);
}

header ul.menuActiveList { right: 0; }
.mobile___menu { display: none; }

/* Mobile menu panel */
.mobileMenuOpt { display: none; padding: 20px !important; }

.closeMenu {
    padding: 0 0 10px 20px;
    background-image: url(https://www.dentzzdental.com/assets/images/icons/leftArrow.svg);
    background-size: 12px;
    background-position: 0px 3px;
    background-repeat: no-repeat;
    font-size: 16px;
    color: #000;
}

.mobileMenuButtons { display: flex; }

.menuMobileBtn {
    display: flex;
    justify-content: center;
    width: 50%;
    padding: 10px 0;
    line-height: 30px;
    margin: 0 2px;
    background-color: #000;
    border: none;
}

.menuMobileBtn a {
    display: flex !important;
    justify-content: center;
    padding: 0 !important;
}

.menuMobileBtn a:hover::after,
.menuMobileBtn a::after { width: 0 !important; }

.menuMobileBtn img {
    display: block;
    height: 16px;
    width: 16px;
    margin: 7px;
    filter: invert(100%);
}

.menuMobileBtn p {
    color: #fff;
    width: calc(100% - 16px);
    margin-bottom: 0;
    font-size: 13px;
    line-height: 16px;
    margin: 7px 0;
}

.enquireMobileBtn {
    position: fixed;
    right: 10px;
    top: 60px;
    display: none;
}

.enquireMobileBtn button { font-size: 12px; }

.mobileMenuOverlay {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgba(0,0,0,0.8);
    z-index: 1;
    display: none;
}

/* =============================================
   BANNER
   ============================================= */
.bannerOther { position: relative; }

.bannerOther h1 {
    width: 100%;
    color: #fff;
    bottom: 120px;
    text-align: center;
    position: absolute;
    left: 0;
    font-size: 45px;
}

/* =============================================
   FOOTER
   ============================================= */
footer {
    padding: 30px 0 0 0;
    border-top: solid 1px #ccc;
    background-color: #000;
    overflow: hidden;
    position: relative;
}

.footerLeft  { width: 30%; }
.footerRight { width: 70%; padding-bottom: 20px; }
.footerRight ul { overflow: hidden; }

.footerLogoWrap { width: 100%; }
.footerLogoWrap img { width: 180px; }
.footerLogoWrap .socialFoot { width: 180px; margin-top: 20px; }

.contactFoot { width: 100%; }

.footerTop {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 0;
}

.footerTop ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0;
}

.footerTop ul li {
    line-height: 25px;
    text-transform: uppercase;
}

.footerTop ul li a { display: flex; color: #fff; }
.footerTop ul li:hover a { color: #8e8e8e; }

.socialFoot { width: 100%; }
.footerTop h4 { font-size: 20px; margin-bottom: 20px; }
.footerTop p  { margin-bottom: 0; }

.footerTop ul li svg {
    height: 22px;
    fill: #fff;
    width: 22px;
    margin-right: 10px;
    transition: all 0.5s;
    display: block;
    margin: auto;
    margin-right: 10px;
}

.footerTop ul li:hover svg { fill: #8e8e8e; }

.contactFoot img { margin-right: 10px; }

.contactFoot li {
    margin-right: 20px;
    font-size: 14px;
    display: flex;
    align-items: center;
    border: 1px solid #fff;
    padding: 8px;
    transition: all 0.5s;
}

.contactFoot li:hover { border-color: #8e8e8e; }
.contactFoot li, .contactFoot li a { transition: all 0.5s; }

.footerLogoWrap ul li { width: 25%; }
.footerLogoWrap ul li img { width: 25px; margin: auto; display: block; }

.footerNav { display: flex; }
.footerNav ul { width: 33.33%; padding-top: 20px; display: block; }
.footerTop .footerNav li { padding: 10px 0; font-size: 12px; width: 100%; line-height: 20px; }

.footerBottom {
    border-top: solid 1px #ccc;
    display: flex;
    padding: 10px 0;
    font-size: 12px;
}

.footerBottom p       { margin-bottom: 0; color: #fff; }
.footerBottom p a     { color: #fff; }
.footerBottomL        { width: 65%; text-align: left; }
.footerBottomR        { width: 35%; display: flex; justify-content: flex-end; }
.footerBottomR p      { margin: 0 5px; }

/* =============================================
   BLOG LISTING / ARCHIVE
   ============================================= */
.blog-wrapper {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 13px;
}

.blog-filters {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 40px;
}

.search-box          { position: relative; flex: 1; }
.search-box input    { width: 100%; padding: 14px 45px 14px 16px; border: 1px solid #ccc; }
.search-box .icon    { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); }

.category-box select { padding: 14px 16px; border: 1px solid #ccc; min-width: 200px; }

/* Blog Grid */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.blog-card {
    border: 1px solid #ddd;
    display: flex;
    flex-direction: column;
    background: #fff;
}

.blog-image          { position: relative; }
.blog-image img      { width: 100%; display: block; }

.blog-image .category {
    position: absolute;
    top: 15px;
    right: 15px;
    background: #fff;
    padding: 5px 10px;
    font-size: 12px;
    border: 1px solid #ddd;
}

.blog-content        { padding: 20px; }
.blog-content h3     { font-size: 22px; margin-bottom: 15px; }

.blog-content p {
    font-size: 15px;
    line-height: 1.6;
    color: #555;
    font-family: 'Avenir', sans-serif !important;
}

.blog-footer {
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
}

.read-more {
    background: #f3f3f3;
    padding: 10px 18px;
    font-size: 13px;
    text-decoration: none;
    color: #000;
}

.date { font-size: 13px; color: #666; }

/* List view toggle */
.blog-grid.list-view { grid-template-columns: 1fr; }

.blog-grid.list-view .blog-card {
    flex-direction: row-reverse;
    align-items: center;
}

.blog-grid.list-view .blog-content-wraper {
    height: 100%;
    width: 100%;
    max-width: 70%;
    display: flex;
    flex-wrap: wrap;
}

.blog-grid.list-view .blog-content-wraper .blog-footer { width: 100%; }
.blog-grid.list-view .blog-image { width: 100%; max-width: 40%; }

/* =============================================
   PAGINATION
   ============================================= */
.blog-pagination { display: flex; justify-content: center; margin: 40px 0; }
.blog-pagination .navigation.pagination { display: flex; justify-content: center; }

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
}

.nav-links { display: flex; align-items: center; gap: 4px; }

.nav-links .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #d0d0d0;
    color: #333;
    font-size: 20px;
    font-family: 'Georgia', serif;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    background: #fff;
}

.nav-links .page-numbers:hover        { background: #f5f5f5; border-color: #999; }
.nav-links .page-numbers.current      { background: #fff; border-color: #333; color: #111; font-weight: 600; }
.nav-links .prev.page-numbers,
.nav-links .next.page-numbers         { font-size: 16px; color: #555; border-color: #d0d0d0; }
.nav-links .prev.page-numbers:hover,
.nav-links .next.page-numbers:hover   { color: #111; border-color: #999; }

/* =============================================
   SINGLE POST
   ============================================= */
.single-post-container {
    max-width: 1400px;
    margin: 60px auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 60px;
}

.single-post-main { max-width: 100%; }

.entry-title {
    font-size: 42px;
    line-height: 1.3;
    margin: 0 0 15px 0;
    color: #1a1a1a;
    font-weight: 600;
}

.entry-meta        { font-size: 14px; color: #666; margin-bottom: 30px; }
.entry-meta .meta-separator { margin: 0 10px; }

.post-thumbnail    { margin: 30px 0 40px 0; }
.post-thumbnail img { width: 100%; height: auto; border-radius: 8px; }

img.attachment-full.size-full.wp-post-image { height: 100%; }

.entry-content          { font-size: 18px; line-height: 1.8; color: #333; }
.entry-content p        { margin-bottom: 20px; }
.entry-content h2,
.entry-content h3       { font-weight: 600; margin: 30px 0 15px 0; color: #1a1a1a; }
.entry-content h2       { font-size: 28px; }
.entry-content h3       { font-size: 22px; }
.entry-content ul,
.entry-content ol       { margin: 20px 0; padding-left: 25px; }
.entry-content li       { margin-bottom: 10px; }

ul.wp-block-list li { list-style: disc; }

/* Social Share */
.social-share {
    display: flex;
    gap: 15px;
}

img.attachment-blog-thumb-380.size-blog-thumb-380.wp-post-image {
    height: 280px;
    width: 100%;
}

.social-share a {
    width: 36px;
    height: 36px;
    background: #fff;
    color: #000;
    border: 1px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.social-share a svg  { fill: currentColor; }

.social-share a:hover {
    background: #000;
    color: #fff;
    border-color: #000;
}

.post-bottom-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    margin: 50px 0;
    padding-top: 20px;
    border-top: 1px solid #e0e0e0;
}

/* Post nav */
.post-navigation         { margin: 40px 0; }
.post-navigation .nav-links {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.post-navigation a {
    display: inline-block;
    padding: 14px 32px;
    background: #f2f2f2;
    color: #111;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.post-navigation a:hover     { background: #111; color: #fff; }
.post-navigation .nav-previous { text-align: left; }
.post-navigation .nav-next     { text-align: right; }

/* Sidebar */
.single-post-sidebar { position: static; top: 100px; align-self: flex-start; }

.widget {
    background: #f9f9f9;
    padding: 30px;
    margin-bottom: 30px;
    border-radius: 8px;
}

.widget-title { font-size: 18px; font-weight: 600; margin: 0 0 20px 0; color: #1a1a1a; }

/* Search widget */
.widget-search { background: #f9f9f9; padding: 30px; border-radius: 8px; }
.widget-search .widget-title { font-size: 18px; font-weight: 600; margin: 0 0 20px 0; color: #1a1a1a; }
.widget-search label { display: block; font-size: 14px; margin-bottom: 10px; color: #666; }

.widget-search input[type="search"],
.widget-search input[type="text"] {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #e0e0e0;
    border-radius: 4px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.3s ease;
}

.widget-search input[type="search"]:focus,
.widget-search input[type="text"]:focus { border-color: #007bff; }

.widget-search input[type="submit"],
.widget-search button[type="submit"] {
    margin-top: 10px;
    width: 100%;
    padding: 12px 20px;
    background: #007bff;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
}

.widget-search input[type="submit"]:hover,
.widget-search button[type="submit"]:hover { background: #0056b3; }

/* Recent posts */
.widget-recent-posts ul { list-style: none; padding: 0; margin: 0; }
.widget-recent-posts li { padding: 12px 0; border-bottom: 1px solid #e0e0e0; }
.widget-recent-posts li:last-child { border-bottom: none; }
.widget-recent-posts a  { color: #333; text-decoration: none; font-size: 15px; line-height: 1.5; transition: color 0.3s ease; }
.widget-recent-posts a:hover { color: #007bff; }

/* Categories */
.widget-categories ul   { list-style: none; padding: 0; margin: 0; }
.widget-categories li   { padding: 10px 0; border-bottom: 1px solid #e0e0e0; }
.widget-categories li:last-child { border-bottom: none; }
.widget-categories a    { color: #333; text-decoration: none; font-size: 15px; transition: color 0.3s ease; }
.widget-categories a:hover { color: #007bff; }

/* =============================================
   SEARCH RESULTS
   ============================================= */
.search-results-header {
    text-align: center;
    margin-bottom: 50px;
    padding: 40px 20px;
    background: #f9f9f9;
    border-radius: 12px;
}

.search-title        { font-size: 32px; margin: 0 0 15px 0; color: #1a1a1a; }
.search-title span   { color: #000; }
.search-count        { font-size: 16px; color: #666; margin: 0; }

/* No results */
.no-posts-found { text-align: center; padding: 80px 20px; background: #f9f9f9; border-radius: 12px; margin: 40px 0; }
.no-posts-found h2 { font-size: 28px; margin-bottom: 15px; color: #333; }
.no-posts-found p  { color: #666; margin-bottom: 30px; font-size: 16px; }

.search-again { max-width: 500px; margin: 30px auto 0; }
.search-again input[type="search"] { width: 100%; padding: 15px 120px 15px 20px; border: 2px solid #e0e0e0; border-radius: 8px; font-size: 16px; outline: none; }
.search-again input[type="search"]:focus { border-color: #007bff; }
.search-again input[type="submit"] { position: absolute; right: 5px; top: 5px; padding: 10px 25px; background: #007bff; color: #fff; border: none; border-radius: 6px; font-weight: 600; cursor: pointer; }
.search-again input[type="submit"]:hover { background: #0056b3; }

/* =============================================
   TESTIMONIALS & AWARDS SECTION
   ============================================= */
.testimonials-section { padding: 60px 20px; max-width: 1400px; margin: 0 auto; }

.videos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
    margin-bottom: 80px;
}

.video-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-card:hover { transform: translateY(-5px); box-shadow: 0 8px 30px rgba(0,0,0,0.15); }

.video-thumbnail {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: #000;
}

.video-thumbnail img { width: 100%; height: 100%; object-fit: cover; }

.awards-section { background: white; padding: 5px; }

.awards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 50px;
    align-items: center;
    justify-items: center;
}

.award-item { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 15px; }
.award-logo { max-width: 180px; height: auto; transition: transform 0.3s ease; }
.award-item:hover .award-logo { transform: scale(1.05); }
.award-text { font-size: 13px; color: #666; font-weight: 500; line-height: 1.4; }

/* =============================================
   ANIMATIONS
   ============================================= */
@keyframes logoAnimate {
    from { transform: scale(1.1); }
    to   { transform: scale(0.9); }
}

@keyframes PageLoader {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

.animateLogo {
    animation: logoAnimate 2s linear 2s infinite alternate;
    transform: scale(1.1);
}

/* =============================================
   RESPONSIVE — LARGE DESKTOP
   ============================================= */
@media screen and (min-width: 1367px) {
    .mainContainer,
    .headerNavDesktop {
        max-width: 1366px;
        margin: 0 auto;
    }

    .headerNavDesktop {
        display: flex;
        align-items: center;
        width: 100%;
        justify-content: space-between;
    }

    .headerNavDesktop .logo { position: static; }
}

@media screen and (min-width: 1200px) and (max-width: 1280px) {
    header .logo    { height: 45px; }
    header li.buttonMenu a { padding: 10px 5px; }
    header li       { font-size: 10px; }
}

@media screen and (max-width: 1366px) {
    .mainContainer { padding: 0 70px; }
}

@media screen and (max-width: 1200px) {
    .bannerOther { margin-bottom: 40px; margin-top: 50px; }
}

@media screen and (min-width: 1051px) {
    .isoText { display: none; }
}

/* =============================================
   RESPONSIVE — TABLET / MOBILE (≤1200px)
   ============================================= */
@media screen and (min-width: 200px) and (max-width: 1200px) {
    .headerTopMobile { display: flex; z-index: 99; bottom: -55px; top: auto; opacity: 1; transform: translate3d(0,0,0); }
    .headerTopMobile.afterScroll { height: 50px; bottom: 0; }

    footer { padding-bottom: 55px; }

    header { height: 60px; background-color: rgba(0,0,0,0.2); }
    header.afterScroll { background-color: #fff; height: 60px; }
    header.afterScroll .menuClick { top: 70px; }
    header .menuClick span { background-color: #fff; }
    header.afterScroll .menuClick span { background-color: #000; }
    header.afterScroll .enquireMobileBtn { top: 35px; z-index: 1; }
    header.afterScroll .enquireMobileBtn button { border: solid 1px #000; color: #000; }

    header .logo { height: 50px; left: calc(50% - 50px); }

    header ul.main_menu_list {
        position: fixed;
        width: 100%;
        max-width: 350px;
        height: 100%;
        right: -100%;
        background-color: #fff;
        top: 0;
        display: block;
        overflow: auto;
        z-index: 999;
    }

    header ul li             { width: 100%; padding: 15px 25px; font-weight: 700; }
    header ul li span        { border-bottom: solid 1px #f0f0f0; }
    header ul li a,
    header ul li a:hover     { color: #000; }

    header li.submenu ul { display: none; transition: 0s; }

    header li.submenu::before,
    header li.submenu::after {
        background-color: #000;
        right: 35px;
        width: 12px;
        transform: rotate(0deg);
        top: 20px;
    }

    header li.submenu::after { transform: rotate(90deg); }

    .submenu ul {
        position: relative;
        opacity: 1;
        pointer-events: auto;
        width: 100%;
        top: auto;
        left: auto;
        margin-top: 20px;
        box-shadow: none;
        border: solid 1px #f0f0f0;
    }

    .submenu ul li { text-align: left; font-weight: 100; }

    .submenu .submenuIn {
        position: relative;
        opacity: 1;
        box-shadow: none;
        top: 0;
        padding: 0;
        width: 100% !important;
    }

    .submenu.procedureSubmenu ul { width: 100%; }
    .submenu .submenuIn ul { position: relative; }
    .submenu .submenuIn ul li { padding: 10px; }

    header ul li ul li a  { display: block; }
    header ul li           { padding: 0 25px; opacity: 1 !important; transform: translate3d(0,0,0) !important; }
    .footerTop .footerNav li { opacity: 1 !important; transform: translate3d(0,0,0) !important; }
    header ul li.procedureSubmenu ul li a { display: block; }
    .mobileMenuOpt { margin-bottom: 0; }
    header li ul li { border-top: solid 1px #f0f0f0; }
    .submenu span   { color: #000; display: block; line-height: 20px; padding: 10px; }

    header.afterScroll li.submenu::before,
    header.afterScroll li.submenu::after { background-color: #000; top: 20px; right: 35px; }

    header ul.menuActiveList { right: 0 !important; }

    .main_menu_list { padding-top: 120px; padding-bottom: 20px; }

    .mobileMenuOpt {
        display: block;
        position: fixed;
        width: 100%;
        max-width: 350px;
        background: #fff;
        top: 0;
        z-index: 10;
    }

    header ul.main_menu_list.menuActiveList { right: 0; }
    header ul li { font-weight: 400 !important; }
    header li ul li:last-child { border-bottom: solid 1px #f0f0f0; }
    .closeMenu { font-size: 18px; font-weight: 700; background-position: 0px 4px; }

    .desktop___menu { display: none !important; }
    .mobile___menu  { display: block; }
    .mobile___menu .submenu.techSubmenu .submenuIn ul { display: none; }
    .mobile___menu .submenu.techSubmenu span { font-weight: 700; }

    .headerNavDesktop ul li a { padding: 10px; line-height: 20px; display: block; }
    .headerNavDesktop li ul li a { padding: 0; }

    header .logo { filter: invert(0%); }
    header.afterScroll .submenu ul { top: auto; }
    header.afterScroll ul li { padding: 0 25px; }
    header.afterScroll .submenu ul li { padding: 10px; }
    header.afterScroll .logo { filter: invert(100%); }
    header.afterScroll .menuClick.menuActive { top: 0; }
    header.afterScroll .menuClick.menuActive span { background-color: #fff; }

    .procedureSubmenu.submenu ul,
    .techSubmenu.submenu ul { left: auto; }

    .submenu ul { border: none; margin-top: 0; }
    header.afterScroll .submenuIn { position: static; }

    .headerNavDesktop ul li a::after { width: 100%; background-color: #f0f0f0; bottom: 0; }
    .headerNavDesktop .submenuIn ul li a::after { width: 0; }

    header li.submenu:hover::before { transform: rotate(0deg); }
    header li.submenu:hover::after  { transform: rotate(90deg); }
    header li.submenu.menuActive::after { transform: rotate(0deg); }

    .menuClick, .enquireMobileBtn { display: block; top: 70px; }
}

@media screen and (min-width: 200px) and (max-width: 1050px) {
    footer { padding-bottom: 55px; }
    #techsubmenu ul li { padding: 7px 21px; }
    .headerTopMobile { bottom: 0; }
    .headerTopMobile.afterScroll { height: 50px; bottom: 0; }
    .withoutBannerPage.page-content header.afterScroll { background-color: #fff; }
}

@media screen and (min-width: 750px) and (max-width: 900px) {
    .mobileMenuOpt { display: block; }
    .footerTop { flex-wrap: wrap; }
    .footerLeft, .footerRight { width: 100%; }
    .footerLeft { margin-bottom: 30px; }
}

@media screen and (min-width: 600px) and (max-width: 750px) {
    footer { padding: 30px 30px 60px 30px; }
    footer .mainContainer { padding: 0; }
    .footerTop { flex-wrap: wrap; }
    .footerLeft, .footerRight { width: 100%; }
    .footerLeft { margin-bottom: 30px; }
}

@media (max-width: 1024px) {
    .single-post-container { grid-template-columns: 1fr; gap: 40px; }
    .single-post-sidebar   { position: static; }
}

@media (max-width: 991px) {
    .blog-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {

    

    .videos-grid { grid-template-columns: 1fr; gap: 20px; }
    .awards-grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }
    .awards-section { padding: 40px 20px; }
    .entry-title  { font-size: 28px; }
    .entry-content { font-size: 16px; }
    .social-share { flex-wrap: wrap; }
    .post-navigation .nav-links { flex-direction: column; }

    .bannerOther .desktop_banner,
    .desktop_banner { display: none !important; }
    .bannerOther .mobile_banner,
    .mobile_banner  { display: block !important; }
    .bannerOther .main-banner-title  { bottom: 50px; font-size: 24px; }
}

@media (max-width: 600px) {
    .blog-filters { flex-direction: column; }
    .blog-grid    { grid-template-columns: 1fr; }
    .search-again { position: relative; }
    .post-navigation .nav-links { flex-direction: column; }
    .post-navigation a { width: 100%; text-align: center; }
    .post-navigation .nav-next { text-align: center; }
}

@media screen and (min-width: 200px) and (max-width: 600px) {
    .mobileShow { display: block; }
    .footerTop  { display: block; padding-bottom: 0; }
    .footerLeft, .footerRight { width: 100%; }
    .footerTop img { margin: auto; display: block; }
    .contactFoot { padding: 10px 0; margin-top: 20px; }
    .footerLogoWrap .socialFoot { display: block; margin: auto; padding: 20px 0; width: 100%; }
    .footerTop ul li svg { margin-right: auto; }
    .footerTop ul { justify-content: center; }
    .contactFoot li { width: 100%; font-size: 12px; margin: 0 5px 10px 5px; }
    .mainContainer { padding: 0 20px; }
    .footerTop ul li.logo svg { margin: 0 10px 0 0; }
    .footerNav { flex-wrap: wrap; }
    .footerNav ul { width: 100%; padding-top: 0; margin-bottom: 0; }
    .footerNav ul li { border-top: solid 1px #ccc; }
    .footerNav ul:first-child li:nth-child(1) { border-top: none; }
    .footerBottom .footerBottomL,
    .footerBottom .footerBottomR { width: 100%; text-align: center; }
    .footerBottom { flex-wrap: wrap; }
    .footerBottom .footerBottomR { justify-content: center; margin-top: 5px; }
}

@media (max-width: 480px) {
    .awards-grid { grid-template-columns: 1fr; }
}

@media screen and (min-width: 200px) and (max-width: 768px) {
    .home_banner_text { padding: 20px; }
    .home_banner_text h2 { font-size: 26px; margin-bottom: 15px; }
}

/* =============================================
   LOADING BUTTON
   ============================================= */
button[type="submit"] { position: relative; }

.activeLoadingButton,
.activeLoadingButton:hover {
    background-color: #fff !important;
    color: #fff !important;
}

.error_msg {
    position: relative;
    color: red;
    width: 100%;
    font-size: 12px;
    font-weight: 500;
    display: none;
    padding-top: 2px;
    height: 20px;
}
