/**
 * Zion Infosystem — Inner page layout (legacy markup + Bootstrap 5)
 */

/* TechAhead inner shell — layout handled in zion-inner-pages.css */
body.z-ta-site .z-page-content.z-ta-inner {
  padding-block: 0;
  padding-inline: 0;
}

/* ─── Page shell ─── */
.z-page-content {
  padding-block: clamp(2.5rem, 6vw, 4.5rem);
  padding-inline: max(1rem, calc((100% - var(--z-container, 1280px)) / 2));
  width: 100%;
  box-sizing: border-box;
}

.z-page-content > *:first-child {
  margin-top: 0;
}

/* Bootstrap 5 rows/cols — do NOT override with floats */
.z-page-content .row {
  display: flex;
  flex-wrap: wrap;
  margin-right: calc(-0.5 * var(--bs-gutter-x, 1.5rem));
  margin-left: calc(-0.5 * var(--bs-gutter-x, 1.5rem));
}

.z-page-content .row > [class*="col-"] {
  float: none !important;
  width: auto !important;
  padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
  padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
  margin-bottom: 0;
}

/* Service pages: inner content rows use grid columns from inner-pages.css */
body.z-ta-site.z-page-service .z-page-content section.why-tera .row > [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;
}

.z-page-content .row-fluid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
}

.z-page-content .row-fluid > .col-md-9,
.z-page-content .row-fluid > [class*="col-md-9"] {
  flex: 1 1  min(100%, 520px);
  min-width: 0;
}

.z-page-content .row-fluid > .col-md-3,
.z-page-content .row-fluid > .image-column,
.z-page-content .row-fluid > [class*="col-md-3"] {
  flex: 0 1 280px;
  width: 100%;
  max-width: 320px;
}

/* Nested container inside page */
.z-page-content .container {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  padding-inline: 0;
  overflow: visible;
}

.z-page-content .container::after,
.z-page-content section::after {
  content: "";
  display: table;
  clear: both;
}

/* Legacy: columns NOT inside .row (old BS3 pages) */
.z-page-content .container > [class*="col-"]:not(.row *) {
  float: left;
  position: relative;
  min-height: 1px;
  padding-inline: 12px;
  margin-bottom: 1.25rem;
}

body.z-ta-site .z-page-content.z-ta-inner .container > [class*="col-"]:not(.row *) {
  float: none;
}

.z-page-content .col-xs-12,
.z-page-content .col-sm-12 { width: 100%; float: none; clear: both; }
.z-page-content .col-xs-6 { width: 50%; }
.z-page-content .col-sm-2 { width: 16.666%; }
.z-page-content .col-sm-3 { width: 25%; }
.z-page-content .col-sm-4 { width: 33.333%; }
.z-page-content .col-sm-5 { width: 41.666%; }
.z-page-content .col-sm-6 { width: 50%; }
.z-page-content .col-sm-7 { width: 58.333%; }
.z-page-content .col-sm-8 { width: 66.666%; }

/* Sections */
.z-page-content section {
  padding-block: clamp(1.5rem, 4vw, 2.5rem);
  clear: both;
}

.z-page-content section:first-child {
  padding-top: 0;
}

.z-page-content .default-title,
.z-page-content .section-title {
  text-align: center;
  margin-bottom: 2rem;
}

.z-page-content .default-title h2,
.z-page-content .default-title h3,
.z-page-content .section-title h2,
.z-page-content .hea {
  font-family: var(--z-font-display, "Plus Jakarta Sans", sans-serif);
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 700;
  color: var(--z-text, #f1f5f9);
  margin: 0 0 0.5rem;
  line-height: 1.25;
}

.z-page-content .section-title p,
.z-page-content .default-title p {
  color: var(--z-text-muted, #94a3b8);
  margin: 0;
}

.z-page-content h1,
.z-page-content h2,
.z-page-content h3,
.z-page-content h4,
.z-page-content h5,
.z-page-content .head,
.z-page-content .bhead {
  font-family: var(--z-font-display, "Plus Jakarta Sans", sans-serif);
  color: var(--z-text, #f1f5f9);
  line-height: 1.3;
}

.z-page-content p,
.z-page-content li {
  color: var(--z-text-muted, #94a3b8);
  line-height: 1.7;
  margin-bottom: 1rem;
}

.z-page-content strong,
.z-page-content b {
  color: var(--z-text, #f1f5f9);
}

.z-page-content img {
  border-radius: var(--z-radius, 16px);
  max-width: 100%;
  height: auto;
  display: block;
}

/* Cards & panels */
.z-page-content .text-container,
.z-page-content .contact-box,
.z-page-content .col-sm-8.overflow,
.z-page-content .col-sm-4.overflow,
.z-page-content .col-sm-12.overflow,
.z-page-content .section-dd-ft2 .overflow {
  background: var(--z-glass, rgba(15, 23, 42, 0.55));
  border: 1px solid var(--z-border, rgba(148, 163, 184, 0.12));
  border-radius: var(--z-radius, 16px);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.z-page-content .box.sl3 {
  background: var(--z-glass);
  border: 1px solid var(--z-border);
  border-radius: var(--z-radius);
  padding: 1rem;
  overflow: hidden;
  transition: transform 0.35s ease, border-color 0.35s ease;
  height: 100%;
}

.z-page-content .box.sl3:hover {
  transform: translateY(-4px);
  border-color: rgba(99, 102, 241, 0.35);
}

.z-page-content .box.sl3 hr {
  border-color: var(--z-border);
  margin: 1rem 0;
}

/* Sidebar */
.z-page-content .sidebar,
.z-page-content .services-sidebar {
  background: var(--z-glass);
  border: 1px solid var(--z-border);
  border-radius: var(--z-radius);
  padding: 1.25rem;
}

.z-page-content .sidebar-title h2 {
  font-size: 1.125rem;
  margin-bottom: 1rem;
  color: var(--z-cyan, #22d3ee);
}

.z-page-content .sidebar ul,
.z-page-content .ziehharmonika ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.z-page-content .sidebar li {
  margin-bottom: 0.35rem;
}

.z-page-content .sidebar a {
  display: block;
  padding: 0.45rem 0.75rem;
  border-radius: 8px;
  color: var(--z-text-muted);
  font-size: 0.9rem;
  transition: background 0.2s, color 0.2s;
}

.z-page-content .sidebar a:hover {
  background: rgba(99, 102, 241, 0.12);
  color: var(--z-text);
}

/* ─── Summer Training page ─── */
.z-page-content .z-inner-lead {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 2.5rem;
  color: var(--z-text-muted);
  font-size: 1.0625rem;
  line-height: 1.7;
}

.z-page-content > section.hero {
  text-align: center;
  max-width: 720px;
  margin-inline: auto;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--z-border);
  margin-bottom: 2.5rem;
}

.z-page-content > section.hero h1 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 800;
  margin-bottom: 1rem;
}

.z-page-content > section.hero p {
  font-size: 1.0625rem;
  margin: 0 auto;
  max-width: 600px;
}

.z-page-content .course-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}

.z-page-content .course-card {
  background: var(--z-glass);
  border: 1px solid var(--z-border);
  border-radius: var(--z-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.z-page-content .course-card:hover {
  transform: translateY(-6px);
  border-color: rgba(99, 102, 241, 0.4);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
}

.z-page-content .course-card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 0;
}

.z-page-content .course-content {
  padding: 1.25rem 1.5rem 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.z-page-content .course-content h3 {
  font-size: 1.125rem;
  margin: 0 0 1rem;
}

.z-page-content .course-content ul {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  flex: 1;
}

.z-page-content .course-content li {
  padding: 0.35rem 0 0.35rem 1.25rem;
  position: relative;
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
}

.z-page-content .course-content li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65rem;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--z-accent, #6366f1);
}

.z-page-content .duration {
  display: inline-block;
  margin-top: auto;
  padding: 0.35rem 0.85rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--z-cyan);
  background: rgba(34, 211, 238, 0.1);
  border-radius: 999px;
  border: 1px solid rgba(34, 211, 238, 0.25);
}

.z-page-content .cta-section {
  text-align: center;
  margin-top: 3rem;
  padding: clamp(2rem, 5vw, 3rem);
  background: var(--z-gradient-soft, linear-gradient(135deg, rgba(99, 102, 241, 0.15), rgba(34, 211, 238, 0.08)));
  border: 1px solid var(--z-border);
  border-radius: var(--z-radius-lg, 24px);
}

.z-page-content .cta-section h2 {
  margin-bottom: 1rem;
}

.z-page-content .cta-section .btn {
  display: inline-flex;
  align-items: center;
  padding: 0.75rem 1.75rem;
  margin-top: 0.5rem;
  background: var(--z-gradient, linear-gradient(135deg, #6366f1, #8b5cf6, #22d3ee));
  color: #fff !important;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  border: none;
  transition: transform 0.2s, box-shadow 0.2s;
}

.z-page-content .cta-section .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(99, 102, 241, 0.4);
  color: #fff !important;
}

/* Clients page */
.z-page-content #cl-web .fit-center-col-web,
.z-page-content #cl-web .col-sm-12.fit-center-col-web {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.5rem;
  width: 100%;
  float: none;
  padding: 0;
}

.z-page-content .cl-box {
  background: var(--z-glass);
  border: 1px solid var(--z-border);
  border-radius: var(--z-radius);
  padding: 1.25rem;
  text-align: center;
  float: none !important;
  width: 100% !important;
  margin: 0;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.z-page-content .cl-box:hover {
  transform: translateY(-4px);
  border-color: rgba(99, 102, 241, 0.35);
}

.z-page-content .cl-box img {
  max-height: 80px;
  width: auto;
  margin: 0 auto 1rem;
  object-fit: contain;
}

.z-page-content .cl-box h3 {
  font-size: 0.9375rem;
  margin: 0;
}

/* Portfolio grid */
.z-page-content .why-tera .col-sm-12 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.5rem;
  width: 100%;
  float: none;
  padding: 0;
}

.z-page-content .why-tera .col-sm-4 {
  width: 100% !important;
  float: none !important;
  padding: 0;
  margin: 0;
}

/* Contact page */
.z-page-content #contact-section1 .container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
}

.z-page-content #contact-section1 [class*="col-"] {
  float: none !important;
  width: 100% !important;
  text-align: center;
  padding: 1.5rem;
  background: var(--z-glass);
  border: 1px solid var(--z-border);
  border-radius: var(--z-radius);
  margin: 0;
}

.z-page-content #contact-section1 .fa {
  color: var(--z-cyan);
  margin-bottom: 1rem;
  display: block;
  font-size: 2.5rem;
}

.z-page-content #contact-section1 h4 {
  color: var(--z-text);
  font-size: 1rem;
}

.z-page-content #contact-us .container {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
}

.z-page-content #contact-us .col-sm-8 {
  flex: 1 1 320px;
  float: none !important;
  width: auto !important;
}

.z-page-content #contact-us .col-sm-4 {
  flex: 1 1 280px;
  float: none !important;
  width: auto !important;
}

.z-page-content .contact-box {
  padding: 2rem;
}

.z-page-content .alert-success {
  background: rgba(16, 185, 129, 0.15);
  border-color: rgba(52, 211, 153, 0.35);
  color: #a7f3d0;
}

.z-page-content .alert-danger {
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(248, 113, 113, 0.35);
  color: #fecaca;
}

/* Buttons */
.z-page-content .btn,
.z-page-content .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1.25rem;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid var(--z-border-hover, rgba(148, 163, 184, 0.28));
  color: var(--z-text) !important;
  background: var(--z-glass);
  transition: all 0.25s ease;
}

.z-page-content .btn-primary,
.z-page-content .btn-2,
.z-page-content .btn-warning,
.z-page-content .red {
  background: linear-gradient(135deg, #6366f1, #8b5cf6, #22d3ee) !important;
  border: none !important;
  color: #fff !important;
}

.z-page-content .form-control {
  background: rgba(15, 23, 42, 0.8);
  border: 1px solid var(--z-border);
  color: var(--z-text);
  border-radius: 10px;
}

.z-page-content .form-control:focus {
  border-color: var(--z-accent);
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2);
  color: var(--z-text);
}

.z-page-content .form-label {
  color: var(--z-text-muted);
  font-size: 0.875rem;
}

/* Lists */
.z-page-content .df3-list1 {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

.z-page-content .df3-list1 li {
  padding: 0.5rem 0 0.5rem 1.5rem;
  position: relative;
  color: var(--z-text-muted);
}

.z-page-content .df3-list1 li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85rem;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--z-accent);
}

.z-page-content table {
  width: 100%;
  border-collapse: collapse;
}

.z-page-content table th {
  background: rgba(99, 102, 241, 0.15);
  color: var(--z-text);
  padding: 0.75rem;
}

.z-page-content table td {
  padding: 0.65rem 0.75rem;
  border-color: var(--z-border) !important;
}

.z-page-content iframe {
  border-radius: var(--z-radius);
  border: 1px solid var(--z-border);
  width: 100%;
  min-height: 280px;
}

.z-page-content .fa {
  color: var(--z-accent);
}

.z-page-content .pull-left.fa {
  float: left !important;
  margin-right: 1rem;
}

/* Hide duplicate / legacy */
.z-page-content .skypee,
.z-page-content .whatsapp:not(.z-whatsapp) {
  display: none !important;
}

.z-page-content .section-dd-ft2,
.z-page-content #contact-section1,
.z-page-content #contact-us,
.z-page-content #df-media,
.z-page-content .why-tera {
  border-top: 1px solid var(--z-border);
}

.z-page-content .why-tera:first-child,
.z-page-content section:first-child {
  border-top: none;
}

/* ─── Mobile ─── */
@media (max-width: 767px) {
  .z-page-content {
    padding-inline: 1rem;
  }

  .z-page-content .container > [class*="col-"]:not(.row *) {
    width: 100% !important;
    float: none !important;
  }

  .z-page-content .row-fluid {
    flex-direction: column;
  }

  .z-page-content .row-fluid > .image-column {
    max-width: 100%;
    order: -1;
  }

  .z-page-content .course-grid {
    grid-template-columns: 1fr;
  }

  .z-page-content #contact-us .container {
    flex-direction: column;
  }
}

/* ═══ Light theme (inner pages — matches homepage) ═══ */
body.zion-premium:not(.z-home) .z-page-content {
  background: #fff;
}

body.zion-premium:not(.z-home) .z-page-content .default-title h2,
body.zion-premium:not(.z-home) .z-page-content .default-title h3,
body.zion-premium:not(.z-home) .z-page-content .section-title h2,
body.zion-premium:not(.z-home) .z-page-content .hea,
body.zion-premium:not(.z-home) .z-page-content h1,
body.zion-premium:not(.z-home) .z-page-content h2,
body.zion-premium:not(.z-home) .z-page-content h3,
body.zion-premium:not(.z-home) .z-page-content h4,
body.zion-premium:not(.z-home) .z-page-content h5,
body.zion-premium:not(.z-home) .z-page-content .head,
body.zion-premium:not(.z-home) .z-page-content .bhead {
  color: #0f172a;
}

body.zion-premium:not(.z-home) .z-page-content p,
body.zion-premium:not(.z-home) .z-page-content li,
body.zion-premium:not(.z-home) .z-page-content .section-title p,
body.zion-premium:not(.z-home) .z-page-content .default-title p {
  color: #475569;
}

body.zion-premium:not(.z-home) .z-page-content strong,
body.zion-premium:not(.z-home) .z-page-content b {
  color: #0f172a;
}

body.zion-premium:not(.z-home) .z-page-content .text-container,
body.zion-premium:not(.z-home) .z-page-content .contact-box,
body.zion-premium:not(.z-home) .z-page-content .col-sm-8.overflow,
body.zion-premium:not(.z-home) .z-page-content .col-sm-4.overflow,
body.zion-premium:not(.z-home) .z-page-content .col-sm-12.overflow,
body.zion-premium:not(.z-home) .z-page-content .section-dd-ft2 .overflow,
body.zion-premium:not(.z-home) .z-page-content .box.sl3,
body.zion-premium:not(.z-home) .z-page-content .cl-box,
body.zion-premium:not(.z-home) .z-page-content .sidebar,
body.zion-premium:not(.z-home) .z-page-content .services-sidebar,
body.zion-premium:not(.z-home) .z-page-content #contact-section1 [class*="col-"],
body.zion-premium:not(.z-home) .z-page-content .course-card {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

body.zion-premium:not(.z-home) .z-page-content .box.sl3:hover,
body.zion-premium:not(.z-home) .z-page-content .cl-box:hover,
body.zion-premium:not(.z-home) .z-page-content .course-card:hover {
  border-color: rgba(124, 58, 237, 0.3);
  box-shadow: 0 12px 32px rgba(124, 58, 237, 0.1);
}

body.zion-premium:not(.z-home) .z-page-content .sidebar-title h2 {
  color: #7c3aed;
}

body.zion-premium:not(.z-home) .z-page-content .sidebar a {
  color: #475569;
}

body.zion-premium:not(.z-home) .z-page-content .sidebar a:hover {
  background: rgba(124, 58, 237, 0.08);
  color: #0f172a;
}

body.zion-premium:not(.z-home) .z-page-content .course-content li::before {
  background: #7c3aed;
}

body.zion-premium:not(.z-home) .z-page-content .duration {
  color: #7c3aed;
  background: rgba(124, 58, 237, 0.08);
  border-color: rgba(124, 58, 237, 0.2);
}

body.zion-premium:not(.z-home) .z-page-content .cta-section {
  /* background: linear-gradient(135deg, rgba(124, 58, 237, 0.08), rgba(236, 72, 153, 0.06)); */
  border: 1px solid rgba(15, 23, 42, 0.08);
}

body.zion-premium:not(.z-home) .z-page-content .cta-section .btn {
  background: linear-gradient(105deg, #7c3aed, #c026d3, #ec4899) !important;
  box-shadow: 0 4px 20px rgba(124, 58, 237, 0.35);
}

body.zion-premium:not(.z-home) .z-page-content .btn-primary,
body.zion-premium:not(.z-home) .z-page-content .btn-2,
body.zion-premium:not(.z-home) .z-page-content .btn-warning,
body.zion-premium:not(.z-home) .z-page-content .red {
  background: linear-gradient(105deg, #7c3aed, #c026d3, #ec4899) !important;
  box-shadow: 0 4px 16px rgba(124, 58, 237, 0.3);
}

body.zion-premium:not(.z-home) .z-page-content .btn,
body.zion-premium:not(.z-home) .z-page-content .button {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #0f172a !important;
}

body.zion-premium:not(.z-home) .z-page-content .form-control {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #0f172a;
}

body.zion-premium:not(.z-home) .z-page-content .form-control:focus {
  background: #fff;
  border-color: #7c3aed;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15);
  color: #0f172a;
}

body.zion-premium:not(.z-home) .z-page-content .form-label {
  color: #475569;
}

body.zion-premium:not(.z-home) .z-page-content .alert-success {
  background: rgba(16, 185, 129, 0.1);
  border-color: rgba(16, 185, 129, 0.35);
  color: #047857;
}

body.zion-premium:not(.z-home) .z-page-content .alert-danger {
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.3);
  color: #b91c1c;
}

body.zion-premium:not(.z-home) .z-page-content table th {
  background: rgba(124, 58, 237, 0.08);
  color: #0f172a;
}

body.zion-premium:not(.z-home) .z-page-content table td {
  color: #475569;
  border-color: #e2e8f0 !important;
}

body.zion-premium:not(.z-home) .z-page-content .fa {
  color: #7c3aed;
}

body.zion-premium:not(.z-home) .z-page-content #contact-section1 .fa {
  color: #7c3aed;
}

body.zion-premium:not(.z-home) .z-page-content .section-dd-ft2,
body.zion-premium:not(.z-home) .z-page-content #contact-section1,
body.zion-premium:not(.z-home) .z-page-content #contact-us,
body.zion-premium:not(.z-home) .z-page-content #df-media,
body.zion-premium:not(.z-home) .z-page-content .why-tera {
  border-top-color: rgba(15, 23, 42, 0.06);
}

/* About page: columns without .row */
body.zion-premium:not(.z-home) .z-page-content .section-dd-ft2 .container {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 1.5rem 2rem;
  align-items: start;
}

body.zion-premium:not(.z-home) .z-page-content .section-dd-ft2 .col-sm-12 {
  grid-column: 1 / -1;
}

body.zion-premium:not(.z-home) .z-page-content > section.hero {
  border-bottom-color: rgba(15, 23, 42, 0.08);
}

body.zion-premium:not(.z-home) .z-page-content .z-inner-lead {
  color: #475569;
}
