/* =========================================================
   Permvard Template - responsive.css
   Clean responsive companion for style.css
   - removes old conflicting hero assumptions
   - preserves active PVBuilder slider behavior
   - keeps layout stable across breakpoints
========================================================= */

/* ---------- <= 1100px ---------- */
@media (max-width: 1100px){
  .pv-container{
    width:min(1180px, calc(100% - 32px));
  }

  .pv-header-main{
    gap:12px;
  }

  .pv-hero h1{
    font-size:40px;
  }

  .pv-footer-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

/* ---------- <= 980px ---------- */
@media (max-width: 980px){
  .pv-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .pv-hero h1{
    font-size:36px;
  }

  .pv-content-top-grid,
  .pv-content-bottom-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
  }

  .pv-layout{
    display:grid;
    grid-template-columns:1fr !important;
    gap:18px;
  }

  .pv-sidebar{
    order:2;
  }

  .pv-content{
    order:1;
  }

  /* Active homepage slider support */
  .pvb-slider .pvb-track{
    min-height:460px;
  }

  .pvb-slider .pvb-slide img{
    min-height:460px;
    max-height:none;
  }

  .pvb-slider .pvb-caption{
    max-width:680px;
  }
}

/* ---------- <= 768px ---------- */
@media (max-width: 768px){
  .pv-header-main{
    flex-wrap:wrap;
    padding:12px 0;
  }

  .pv-logo-link img{
    height:50px;
  }

  .pv-breadcrumbs .pv-container{
    padding-top:5px;
    padding-bottom:5px;
  }

  .pv-hero,
  .hero,
  .banner,
  .page-hero{
    min-height:320px !important;
    padding-top:46px !important;
    padding-bottom:46px !important;
  }

  .pv-hero h1,
  .hero h1,
  .banner h1,
  .page-hero h1{
    font-size:32px !important;
    line-height:1.12 !important;
  }

  .pv-hero-features{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .pv-cta,
  .cta,
  .calltoaction{
    padding-top:54px;
    padding-bottom:54px;
  }

  .pv-footer-grid{
    grid-template-columns:1fr;
  }

  .pv-content-top-grid,
  .pv-content-bottom-grid{
    grid-template-columns:1fr;
  }

  /* Active homepage slider support */
  .pvb-slider{
    border-radius:16px;
  }

  .pvb-slider .pvb-track{
    min-height:420px;
  }

  .pvb-slider .pvb-slide img{
    min-height:420px;
  }

  .pvb-slider .pvb-caption{
    left:20px;
    right:20px;
    bottom:72px;
    max-width:none;
  }

  .pvb-slider .pvb-caption h2{
    font-size:clamp(26px, 8vw, 38px);
    line-height:1.04;
  }

  .pvb-slider .pvb-subcaption{
    max-width:100%;
    font-size:15px;
    line-height:1.5;
  }
}

/* ---------- <= 640px ---------- */
@media (max-width: 640px){
  .pv-grid{
    grid-template-columns:1fr;
  }

  .pv-hero .pv-hero-inner{
    padding:44px 0;
  }

  .pv-hero h1{
    font-size:28px !important;
  }

  .pv-cta,
  .cta,
  .calltoaction{
    padding-top:46px;
    padding-bottom:46px;
  }

  /* Active homepage slider support */
  .pvb-slider .pvb-track{
    min-height:400px;
  }

  .pvb-slider .pvb-slide img{
    min-height:400px;
  }

  .pvb-slider .pvb-nav{
    width:42px;
    height:42px;
  }

  .pvb-slider .pvb-prev{
    left:10px;
  }

  .pvb-slider .pvb-next{
    right:10px;
  }
}

/* ---------- Global stability fixes ---------- */
footer,
.pv-footer{
  margin-top:0;
}

.pv-grid > *,
.pv-footer-grid > *,
.pv-content-top-grid > *,
.pv-content-bottom-grid > *,
.pv-layout > *{
  min-width:0;
}