/* Container */
.pvigh-wrap{ background:#fff; }
.pvigh-container{ max-width:1140px; margin:0 auto; padding: 12px 20px; }
.pvigh-rounded{ border-radius:16px; }
.pvigh-shadow{ box-shadow: 0 8px 30px rgba(0,0,0,0.06); }
.pvigh-wrap{ margin-top: var(--pvigh-mt, 0px); margin-bottom: var(--pvigh-mb, 0px); }

/* Desktop grid */
.pvigh-grid{ display:grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 120px; gap: 6px; }
.pvigh-grid figure{ margin:0; border-radius:8px; overflow:hidden; border:1px solid #e9eef6; background:#f7f7fc; }
.pvigh-img{ width:100%; height:100%; object-fit:cover; display:block; image-rendering:auto; }

/* Slider base */
.pvigh-slider{ display:none; }
.pvigh-track{ display:flex; gap: 12px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling: touch; padding: 0 12px; scroll-behavior:smooth; touch-action: pan-x; }
.pvigh-track figure{ margin:0; border-radius:16px; overflow:hidden; position:relative; border:1px solid rgba(0,0,0,0.08); background:#000; scroll-snap-align:center; }
.pvigh-track img{ width:100%; height:100%; object-fit:cover; display:block; opacity:1; image-rendering:auto; filter:none; }
.pvigh-navbar{ display:flex; justify-content:center; gap:10px; margin:10px 0 0; }
.pvigh-nav{ background:#f1f5fb; color:#111; border:none; border-radius:12px; width:40px; height:40px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.pvigh-nav:hover{ background:#e6eef9; }
.pvigh-dots{ display:flex; justify-content:center; gap:6px; margin-top:10px; }
.pvigh-dots button{ width:8px; height:8px; border-radius:999px; background:#d3d8e6; border:none; }
.pvigh-dots button[aria-current="true"]{ background:#3b82f6; }

/* Mobile behavior */
@media (max-width: 900px){
  .pvigh-grid{ display:none !important; }
  .pvigh-slider{ display:block; }
  /* default mobile card */
  .pvigh-track .pvigh-card{ flex: 0 0 var(--pvigh-slide, 100%); height: var(--pvigh-mobile-vh, 50vh); }
  /* Full-bleed with gutter & border */
  .pvigh-fullbleed-mobile{
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    width: 100vw;
    max-width: 100vw;
    padding: 0 !important;
    box-sizing: border-box;
  }
  .pvigh-fullbleed-mobile .pvigh-container{ max-width:100vw; margin:0; padding:0; }
  .pvigh-fullbleed-mobile .pvigh-track{ padding-left: var(--pvigh-gutter, 22px); padding-right: var(--pvigh-gutter, 22px); gap: var(--pvigh-gutter, 22px); }
  .pvigh-fullbleed-mobile .pvigh-track figure{
    border-radius: var(--pvigh-radius, 16px);
    border: var(--pvigh-border-w, 1px) solid var(--pvigh-border, #E0E6F0);
    flex: 0 0 calc(100vw - var(--pvigh-gutter,22px) * 2);
    height: var(--pvigh-mobile-vh, 50vh);
    background:#f7f9ff;
  }
}
