/* V4 typography + equal-height map/form refinement.
   Inherits global body font family and font size from Vidyalankar's header.
   No extra font imports, accent-color guesses or breadcrumb overrides. */
.vc4-page { color: var(--default-color,inherit); font-family: var(--default-font,inherit); font-size:inherit; }
.vc4-page *, .vc4-page *::before, .vc4-page *::after { box-sizing:border-box; }
.vc4-page [hidden] { display:none !important; }
.vc4-page :is(h2,h3) { font-family:var(--heading-font,inherit); color:var(--heading-color,inherit); }
.vc4-page :is(a,button) { font-family:inherit; }
.vc4-page section[id] { scroll-margin-top:88px; }
/* page-title and breadcrumbs are intentionally NOT styled here. */
.vc4-page .vc4-hero { padding:56px 0 64px; background:var(--background-color,#fff); }
/* Shared center section heading: identical typography for the hero,
   Our Courses, and Visit or Enquire. Legacy selectors also work if only
   this CSS is uploaded, without changing existing center PHP files. */
.vc4-page .vc4-section-title,
.vc4-page .vc4-center-details > h2,
.vc4-page .vc4-section-heading > h2 {
  font-family:var(--heading-font,inherit);
  color:var(--heading-color,inherit);
  font-size:2rem;
  font-weight:700;
  line-height:1.25;
  letter-spacing:normal;
  margin:0 0 14px;
}
.vc4-center-intro {max-width:470px;margin:0 0 24px;line-height:1.7;font-size:inherit;}
.vc4-contact-list {max-width:520px;}
.vc4-detail-row {display:flex;gap:15px;align-items:flex-start;padding:15px 0;border-bottom:1px solid #e8e8e8;}
.vc4-detail-row:first-child {border-top:1px solid #e8e8e8;}
.vc4-detail-row > .bi {flex:0 0 20px;color:var(--accent-color);font-size:19px;margin-top:1px;}
.vc4-detail-row h3 {font-size:1em;font-weight:700;margin:0 0 4px;line-height:1.35;}
.vc4-detail-row p {margin:0;font-size:inherit;line-height:1.65;}
.vc4-detail-row a {color:inherit;text-decoration:none;}
.vc4-detail-row a:hover {color:var(--accent-color);}
.vc4-hero-actions {display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:25px;}
.vc4-hero-actions .btn-brand {display:inline-flex;align-items:center;justify-content:center;padding:11px 24px;}
.vc4-text-link {color:var(--accent-color);text-decoration:none;font-size:inherit;font-weight:600;display:inline-flex;align-items:center;gap:5px;}
.vc4-text-link:hover {color:var(--accent-color);text-decoration:underline;}
.vc4-gallery-main {position:relative;aspect-ratio:16 / 10;overflow:hidden;border-radius:10px;background:#f2f2f2;}
.vc4-gallery-main > img {display:block;width:100%;height:100%;object-fit:cover;}
.vc4-gallery-arrow {position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#262626;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:17px;box-shadow:0 2px 12px rgba(0,0,0,.08);}
.vc4-gallery-arrow:hover {background:white;color:var(--accent-color);}
.vc4-gallery-prev {left:12px;}.vc4-gallery-next {right:12px;}
.vc4-gallery-counter {position:absolute;bottom:12px;right:14px;background:rgba(0,0,0,.55);color:white;padding:4px 10px;font-size:12px;border-radius:3px;}
.vc4-gallery-thumbs {display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:10px;margin-top:11px;}
.vc4-gallery-thumb {background:#eee;border:2px solid transparent;border-radius:6px;overflow:hidden;cursor:pointer;padding:0;aspect-ratio:16/10;}
.vc4-gallery-thumb.is-active {border-color:var(--accent-color);}
.vc4-gallery-thumb img {width:100%;height:100%;object-fit:cover;display:block;}
.vc4-page .vc4-contact {padding:65px 0 85px;background:var(--background-color,#fff);border-top:1px solid #ededed;}
.vc4-column-heading {font-size:1.5rem;font-weight:700;margin:0 0 18px;}
.vc4-map {overflow:hidden;border-radius:8px 8px 0 0;background:#efefef;min-height:410px;position:relative;flex:1 1 auto;}
.vc4-map iframe {position:absolute;inset:0;width:100%;height:100%;display:block;border:0;}
/* The map and form are matched as full panels (map + directions footer vs form). */
.vc4-contact .row.g-4.g-lg-5 {align-items:stretch !important;}
.vc4-contact .row.g-4.g-lg-5 > .col-lg-6 {display:flex;flex-direction:column;min-width:0;}
.vc4-map-link {flex:0 0 auto;display:flex;margin-top:0;padding:13px 16px;
  border:1px solid #ededed;border-top:0;border-radius:0 0 8px 8px;
  background:var(--surface-color,#fff);}
.vc4-map-link:hover {text-decoration:underline;}

.vc4-form-host {flex:1 1 auto;min-height:410px;display:flex;flex-direction:column;}
/* No form-specific styling or submit handlers; your production form controls
   remain governed by its own .php-email-form/.form-card/theme rules. */
.vc4-form-placeholder {border:1px dashed #d8d8d8;padding:22px;background:#fafafa;border-radius:5px;min-height:410px;flex:1 1 auto;}
.vc4-form-placeholder p {font-size:inherit;line-height:1.7;}
.vc4-form-preview-input {display:block;border-radius:3px;height:42px;background:#fff;border:1px solid #e2e2e2;margin:11px 0;}
.vc4-form-preview-input.is-large {height:105px;}
/* Original form-card inside the shared include should fill its column. */
.vc4-form-host > .form-card {flex:1 1 auto;}
.vc4-page :is(a,button):focus-visible {outline:2px solid var(--accent-color);outline-offset:3px;}
@media(max-width:991px) {
 .vc4-page .vc4-hero,.vc4-page .vc4-contact {padding-top:45px;padding-bottom:52px;}

 /* Mobile/tablet: avoid a tall empty map when the form is much longer. */
 .vc4-map {flex:0 0 370px;min-height:370px;}
 .vc4-form-host {min-height:0;}
}
@media(max-width:575px) {
 .vc4-gallery-main {aspect-ratio:4/3;}
 .vc4-gallery-thumb {min-width:0;}
 .vc4-page .vc4-section-title,
 .vc4-page .vc4-center-details > h2,
 .vc4-page .vc4-section-heading > h2 {font-size:1.75rem;}


 .vc4-map {height:330px;min-height:330px;flex:0 0 330px;}
 .vc4-map iframe {height:100%;}
}

