/* ==========================================================================
   COMMON TABLET — max-width 991.98px (single block, sab tablet rules andar)
   ========================================================================== */
@media (max-width: 1199px) {
    .container {max-width: 1140px;}
    .top-nav .nav-link {margin: 0 5px;}
    .hero-img img {right: 150px;}
    .about-stats {margin-top: 20px;padding: 15px 0;}
    .about-stats>div{padding: 0 6px!important;}
    .about-stat b {font-size: 18px;font-weight: 800;}
    .about-stat span {font-size: 12px;margin-top: 2px;}
    .about-stats {width: calc(100% - 0px);margin-left: 0;}
}
@media (max-width: 991px) {
   .container {max-width: 960px;}
   #siteHeader {padding: 8px 0 !important;}
   .about-stats {width: calc(100% - 0px);margin-left: 0;}
   .login-prof .login-shell {max-width: 840px!important;}
}
/* Tablet (768px-991px): Login/Register hamesha header me bahar dikhenge (hamburger ke bagair collapse khole) */
@media (min-width: 768px) and (max-width: 991.98px) {
  #siteHeader .container {flex-wrap: nowrap !important;align-items: center !important;gap: 10px;}
  .header-tablet-actions {flex-shrink: 0;}
  .header-tablet-actions .btn {padding: 8px 20px !important;font-size: 13px !important;white-space: nowrap;}
  #siteHeader #nav .header-collapse-actions { display: none !important; }
}
@media (max-width: 991.98px) {

  /* ---------- TOPBAR + HEADER ---------- */
  .topbar .container { flex-wrap: wrap; gap: 4px 12px; }
  .topbar .hide-md { display: none !important; }
  #siteHeader .container { flex-wrap: wrap; }
  #siteHeader .navbar-toggler {
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 8px 10px;
  }
  #siteHeader .navbar-toggler:focus { box-shadow: 0 0 0 3px rgba(214,31,38,.15); }
  #siteHeader #nav {
    flex-basis: 100%;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    margin: 10px 0 14px;
    padding: 10px 14px 14px;
    box-shadow: 0 18px 40px rgba(10,47,94,.12);
    max-height: calc(100vh - 140px);
    max-height: calc(100dvh - 140px);
    overflow-y: auto;
  }
  #siteHeader #nav .navbar-nav { width: 100%; margin: 0 !important; }
  #siteHeader #nav .nav-item { width: 100%; }
  .top-nav .nav-link {
    margin: 0 !important;
    padding: 11px 4px !important;
    border-bottom: 1px solid #eef3f9;
    font-size: 14px;
  }
  .top-nav .nav-link.active { border-bottom: 1px solid var(--red); }
  #siteHeader #nav .d-flex.gap-2 { flex-direction: column; width: 100%; margin-top: 10px; }
  #siteHeader #nav .d-flex.gap-2 .btn { width: 100%; text-align: center; }
  /* Destinations mega menu: hover does not exist on touch -> static stacked list */
  .dest-nav-dropdown:not(:hover) .dest-mega-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  .dest-mega-menu {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    margin-top: 6px !important;
    box-shadow: 0 6px 20px rgba(10,47,94,.08) !important;
    border-radius: 12px !important;
  }
  .dest-mega-grid { grid-template-columns: 1fr !important; gap: 6px !important; padding: 10px !important; }
  .dest-mega-foot { flex-direction: column; align-items: stretch; text-align: center; gap: 8px; }
  .dest-foot-text { justify-content: center; }
  .dest-foot-btn { text-align: center; }

  /* ---------- HERO / BANNER ---------- */
  .hero { height: auto; min-height: 0; padding: 34px 0 30px; overflow: hidden; }
  .hero h1 { font-size: clamp(22px, 4.6vw, 40px); font-weight: 800; }
  .hero h2.hero-h2 {font-size: 40px;}
  .hero-h2 { font-size: clamp(22px, 4.6vw, 40px); }
  .hero p { font-size: 14px; }
  .hero-img { text-align: center; margin-top: 6px; }
  /* .hero-img img { max-width: 420px; width: 100%; } */
  .hero-img img {right: 110px;width: 280px;top: -273px;}
  .dream { display: none !important; }
  .kicker, .hero-kicker { font-size: 12px; }
  .hero-btns { display: flex; flex-wrap: wrap; gap: 10px; }

  /* ---------- GENERIC SECTIONS / HEADINGS ---------- */
  .sec-pad { padding: 45px 0 ; }
  .section-title { font-size: 24px; }
  .section-sub { font-size: 13.5px; }
  .mini { font-size: 11px; }

  /* ---------- CTA BAND + FOOTER ---------- */
  .cta-band { flex-direction: column; align-items: stretch; padding: 26px 22px; gap: 16px; }
  .cta-actions { display: flex;  gap: 10px; width: 100%; }
  .cta-actions a { text-align: center; }
  .foot-row { row-gap: 0; }

  /* ---------- CARDS / GRIDS (all listing pages) ---------- */
  .grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
  .grid-3 { grid-template-columns: repeat(2, 1fr) !important; }
  .steps-grid, .flow-steps, .goal-steps { grid-template-columns: repeat(2, 1fr) !important; }
  .trail-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .iten-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .wall-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .svc-grid, .srv-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .uni-grid, .program-grid, .programs-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .detail-grid-2 { grid-template-columns: 1fr !important; }
  .how-timeline { grid-template-columns: repeat(2, 1fr) !important; }
  .how-card:not(.last)::after { display: none !important; }
  .dest-premium { height: 280px; }

  /* ---------- Filter bars / pills / search rows ---------- */
  .filter-bar .row > div { width: 100%; }
  .filter-bar form.d-flex { flex-direction: column; }
  .filter-bar form.d-flex .btn { width: 100%; }
  .pill-row { flex-wrap: wrap; }

  /* ---------- BLOG LIST + BLOG DETAILS ---------- */
  .blog-layout, .blog-detail-layout { grid-template-columns: 1fr !important; }
  .blog-sidebar { position: static !important; }
  .blog-detail-title { font-size: 24px !important; line-height: 1.3 !important; }
  .blog-detail-featured-media img, .blog-detail-img { height: 260px !important; }
  .blog-post-navigation { grid-template-columns: 1fr !important; }

  /* ---------- DESTINATIONS DETAILS ---------- */
  .country-hero, .dest-hero { flex-direction: column; }
  .country-hero img, .dest-hero img { width: 100%; height: 240px; object-fit: cover; }
  .facts-grid, .fact-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .time-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* ---------- SERVICES / PROGRAMS / GOALS ---------- */
  .svc-hero, .srv-hero { flex-direction: column; }
  .svc-hero img, .srv-hero img { width: 100%; height: auto; }
  .check-grid, .req-grid, .cost-grid, .sch-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .admit-steps, .scope-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* ---------- Goals rows / step flow (chhote tablet) ---------- */
  .goal-row, .goal-row.rev { grid-template-columns: 1fr !important; gap: 18px; }
  .goal-media img { height: 220px !important; }
  .step-flow::before { display: none !important; }

  /* ---------- CONTACT PAGE ---------- */
  .contact-enquiry-head { grid-template-columns: 48px minmax(0,1fr) !important; }
  .faq-layout, .contact-faq-grid { grid-template-columns: 1fr !important; }
  .faq-side-card { position: static !important; }
  .map-wrap iframe { height: 280px !important; }

  /* ---------- LOGIN / REGISTER ---------- */
  /* Login shell = Bootstrap row/col (stacks automatically) + own media queries
     already in login.php <style>; register grid already collapses in style.css. */
  /* .login-prof .login-shell { max-width: 640px; } */
  .login-prof .login-side { min-height: 0 !important; }
  .reg-side { padding: 28px 24px !important; }
  .reg-main { padding: 24px 20px !important; }

  /* ---------- ENQUIRY MODAL (counselling-modal.php) ---------- */
  .enq-modal-dialog { max-width: calc(100% - 24px) !important; margin-left: auto; margin-right: auto; }
  .enq-split-layout { grid-template-columns: 1fr !important; }
  .enq-modal-left { padding: 22px 20px !important; border-radius: 18px 18px 0 0 !important; }
  .enq-modal-right { padding: 22px 20px !important; }
  .enq-aside-title { font-size: 20px !important; }
  .foot-desc {max-width: inherit;}
  .news-note-top {max-width: inherit;}
  .news-box {max-width: 100%;}
}
@media (max-width: 880px) {
  .hero h1 {font-size: 33px;margin-top: 10px;}
  .hero h2.hero-h2 {font-size: 33px;}
  .kicker, .hero-kicker {font-size: 11px;}
  .hero-img img {right: 90px;}
}
@media (max-width: 768px) {
  .container {max-width: 720px;}
}
@media (max-width: 767px) {
  .sec-pad {padding: 35px 0;}
   /* .container {max-width: 720px;} */
   .about-img-wrap {width: 100%;height: inherit;}
   .about-stats {width: calc(100% - 0px);margin-left: 0;}
   .hero .row>div:first-child{width:65%}
   .hero-img img {right: 10px;width: 230px;top: -220px;}
   .hero{position:relative;z-index:1;}
   .hero::after{position: absolute;z-index: -1;width: 100%;height: 100%;background: linear-gradient(90deg, rgb(255 255 255 / 75%) 60%, transparent 75%);content: '';top: 0;left: 0;}
    .section-sub {margin-top: 5px;margin-bottom: 10px;}
    .section-title {margin: 6px 0 8px 0;}
    .reg-side{display:none}
    .reg-shell {grid-template-columns: 1fr;}
  }

@media (max-width: 575.98px) {

  /* Container breathing room */
  .container, .container-fluid { padding-left: 16px; padding-right: 16px; }

  /* Topbar + header */
  .topbar { font-size: 11px; }
  .topbar .hide-sm { display: none !important; }
  .top-social a { width: 24px; height: 24px; }
  /* #siteHeader .navbar-brand img { width: 54px !important; } */

  /* Hero */
  .hero { padding: 26px 0 24px; }
  .hero h1 { font-size: 28px; line-height: 1.08; }
  .hero h2.hero-h2 {font-size: 28px;margin-bottom: 10px;}
  .hero-h2 { font-size: 22px; }
  .hero-btns .btn {text-align: center; }
  .hero .row>div:first-child {width: 60%;}
  .hero-img img {right: 20px;width: 200px;top: -193px;}
  /* Sections + breadcrumb */
  .sec-pad { padding: 30px 0 ; }
  .section-title { font-size: 21px; line-height: 1.3; }
  .page-hero, .crumb-hero, .breadcrumb-hero { padding: 30px 0 !important; }
  .crumb-title { font-size: 24px !important; }
  .crumb-sub { font-size: 13px !important; }
  .crumb-pill { font-size: 10.5px !important; }

  /* CTA + footer */
  .cta-band h3 { font-size: 19px; }
  .cta-band p { font-size: 13px; }
  .footer-bottom .container { flex-direction: column; text-align: center; }
  .news-box input { font-size: 13px; }

  /* All grids -> single column */
  .grid-4, .grid-3, .grid-2 { grid-template-columns: 1fr !important; }
  .steps-grid, .flow-steps, .goal-steps,
  .trail-grid, .iten-grid, .wall-grid,
  .svc-grid, .srv-grid, .uni-grid,
  .program-grid, .programs-grid { grid-template-columns: 1fr !important; }
  .dest-premium { height: 240px; }
  .page-card { padding: 18px; }
  .stat-chip { width: 100%; }
  .how-timeline { grid-template-columns: 1fr !important; }
  /* Pills */
  .pill-tag { font-size: 11.5px; padding: 7px 12px; }

  /* About + universities */
  .about-heading { font-size: 22px; }
  .about-text { font-size: 13.5px; }
  .about-stat b { font-size: 20px; }
  .about-overlay-title { font-size: 18px; }
  .about-overlay-title::after {width: 125px;height: 3px;margin-top: 6px;}
  .about-overlay-plane {top: 80px;transform: rotate(80deg);}
  .uni-facts { grid-template-columns: repeat(2, 1fr) !important; }
  .uni-card { padding: 16px; }

  /* Blog */
  .blog-detail-title { font-size: 20px !important; }
  .blog-detail-meta-bar { flex-direction: column; align-items: flex-start; gap: 10px;padding-bottom: 15px;margin-bottom: 15px; }
  .blog-detail-featured-media img, .blog-detail-img { height: 200px !important; }
  .blog-filter-wrap { flex-direction: column; align-items: stretch !important; }
  .blog-key-takeaways { padding: 10px;margin-bottom: 15px; }
  .blog-share-card { flex-direction: column; align-items: flex-start; gap: 10px; }

  /* Destinations details */
  .facts-grid, .fact-grid, .gallery-grid, .time-grid { grid-template-columns: 1fr !important; }
  .ctable, .comp-wrap, .compare-wrap, .table-wrap, .table-responsive-custom {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .ctable table, .comp-wrap table, .compare-wrap table { min-width: 620px; }

  /* Services / programs */
  .check-grid, .req-grid, .cost-grid, .sch-grid,
  .admit-steps, .scope-grid { grid-template-columns: 1fr !important; }
  .prog-card, .program-card { padding: 16px !important; }

  /* Contact */
  .contact-card { padding: 16px 12px; }
  .contact-card a { font-size: 12px; word-break: break-all; }
  .map-wrap iframe { height: 230px !important; }

  /* Login / register */
  .login-prof .login-side h2 { font-size: 22px !important; }
  .login-prof .login-side p { font-size: 13px !important; }
  .login-prof .login-quick { grid-template-columns: 1fr 1fr !important; }
  .login-prof .login-meta { flex-direction: column; align-items: flex-start !important; gap: 8px; }
  #commonLoginForm .form-control, .reg-main .form-control { font-size: 14px !important; }
  .reg-tabs { flex-direction: column; }
  .reg-tab-btn { width: 100%; text-align: center; }
  /* .reg-captcha-row { flex-direction: column; align-items: stretch !important; } */
  .reg-submit .btn, .login-prof .btn-red { width: 100%; }
  .social-auth { flex-direction: column; }

  /* Enquiry modal */
  .enq-modal-dialog { max-width: calc(100% - 16px) !important; }
  .enq-actions .btn, .enq-submit { width: 100%; }
  .enq-success-list { padding-left: 0; }

  /* Misc polish */
  .btn-red, .btn-line, .btn-light-pill, .btn-ghost-pill { font-size: 13.5px; }
  .faq-acc .accordion-button { font-size: 12px; padding: 10px 12px; }
  .testi-carousel .owl-nav { display: none !important; }
  .float-btns, .float-wa, .float-call { bottom: 14px !important; right: 14px !important; }
  #toTop { bottom: 16px !important; right: 16px !important; width: 40px; height: 40px; }
  .page-form { border-radius: 18px !important; }
  .lead-form, .counselling-form { padding: 20px 16px !important; }
  .faq-side-card{padding: 20px 15px;}
  .faq-side-stats {gap: 5px;margin-top: 10px;}
  .faq-side-stats > div{line-height:1;}
  .faq-side-stats span {display: inline-block;margin-top: 7px;line-height: 1.5;}
  .news-note-top {margin: 0 0 14px 0;}
  .uni-body {padding: 0 0 10px;}
  .uni-head {gap: 10px;padding: 0 0 10px;}
  .blog-author-card {border-radius: 15px;padding: 15px;gap: 15px;margin: 15px 0;flex-direction: column;}
  .blog-detail-article {padding: 20px 15px;}
  .blog-callout{flex-direction: column;padding: 20px 15px;margin: 15px 0;}
  .blog-detail-featured-media {margin-bottom: 20px;}
  .meta-inline-items {gap: 8px;flex-direction: column;align-items: flex-start;}
  .blog-detail-content .lead-text {font-size: 17px;margin-bottom: 15px;}
  .blog-detail-content h3 {font-size: 18px;margin-top: 15px;}
  .blog-detail-content ul, .blog-detail-content ol {margin-bottom: 15px;padding-left: 15px;}
  .blog-detail-tags {padding-top: 15px;margin-top: 15px;}
  .blog-share-card {padding: 15px;margin: 20px 0;gap: 12px;}
  .blog-post-navigation {gap: 15px;margin-top: 20px;padding-top: 20px;}
  .blog-sidebar-widget {padding: 15px;margin-bottom: 15px;}
  .page-form {padding: 20px 15px;}
  .contact-enquiry::before {width: 2px;}
  .contact-enquiry-mark{display:none;}
  .contact-enquiry-head {grid-template-columns: 1fr!important;}
  .contact-enquiry textarea.form-control {min-height: 100px;}
}
@media (max-width: 520px) {
  /* .hero {padding: 26px 0 80px;} */
  .hero-img img{display:none;}
  .hero .row>div:first-child {width: 100%;}
  .hero::after {background: linear-gradient(90deg, rgb(255 255 255 / 75%) 100%, transparent 0%);}
  .hero p {max-width: 100%;}
  .about-stat b {font-size: 15px;}
  .filter-bar {padding: 10px;}
  .reg-main {padding: 0!important;}
}