/* Clean responsive layer — Silveira House */
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe{max-width:100%}
*{box-sizing:border-box}

/* Prevent narrow columns from turning text into one-word-per-line stacks. */
h1,h2,h3,h4,h5,h6,p,li,a,span,strong{word-break:normal;overflow-wrap:break-word}

@media (max-width:1024px){
  .training-programmes-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .opportunity-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mission-vision-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:768px){
  .wrap{width:100%;max-width:100%;padding-left:18px!important;padding-right:18px!important}

  /* Courses */
  .training-programmes-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:20px!important;width:100%!important}
  .training-programme-card{width:100%!important;min-width:0!important;max-width:none!important}
  .training-programme-card>div:first-child{padding:24px 20px!important}
  .training-programme-card>div:last-child{padding:22px 20px!important}
  .training-programme-card h3{font-size:20px!important;line-height:1.3!important;white-space:normal!important}
  .training-programme-card li{font-size:15px!important;line-height:1.5!important;white-space:normal!important;align-items:flex-start!important}
  .training-programme-card li i{flex:0 0 auto;margin-top:4px}
  .training-programme-card .btn-primary{width:100%!important;justify-content:center!important}

  /* Opportunities */
  .opportunity-cards-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
  .opportunity-card{width:100%!important;min-width:0!important;padding:24px 20px!important}
  .opportunity-card h3{font-size:20px!important;line-height:1.3!important}
  .opportunity-card p{font-size:15px!important;line-height:1.65!important}
  .opportunity-card .btn-primary,.opportunity-card .btn-secondary{width:100%!important;justify-content:center!important;text-align:center!important;align-self:stretch!important}
  .why-silveira-grid{display:flex!important;flex-direction:column!important;gap:28px!important}
  .why-silveira-grid>div:last-child{order:1;width:100%!important;aspect-ratio:16/10!important}
  .why-silveira-grid>div:first-child{order:2;width:100%!important}

  /* About — mission/vision */
  .mission-vision-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
  .mission-vision-card{width:100%!important;min-width:0!important;padding:24px 20px!important}
  .mission-vision-card h3{font-size:21px!important;line-height:1.32!important}
  .mission-vision-card p{font-size:15px!important;line-height:1.65!important}
  .about-story-grid{display:flex!important;flex-direction:column!important;gap:28px!important}
  .about-story-grid>div:last-child{order:1;width:100%!important}
  .about-story-grid>div:first-child{order:2;width:100%!important}

  /* Programme detail sections — image above text on small screens. */
  .programme-detail-grid{display:flex!important;flex-direction:column!important;gap:28px!important}
  .programme-detail-grid>div{width:100%!important;min-width:0!important}
  .programme-detail-grid>div:has(img){order:1!important}
  .programme-detail-grid>div:not(:has(img)){order:2!important}
  .programme-detail-grid img{width:100%!important;height:auto!important;max-height:430px;object-fit:cover!important}

  /* Generic card/grid protection for other pages. */
  [style*="grid-template-columns:repeat(3,1fr)"],[style*="grid-template-columns:repeat(4,1fr)"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns:1fr 1fr"]{min-width:0}
}

@media (max-width:520px){
  .page-hero{padding-left:0;padding-right:0}
  .footer-grid{grid-template-columns:1fr!important}
  .stats-bar-inner{grid-template-columns:1fr 1fr!important}
}

/* Employment cards populated from MySQL */
.job-opening{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:18px;margin-bottom:14px}
.job-opening h4{color:#fff;font-size:18px;line-height:1.3;margin:0 0 8px}
.job-opening p,.job-opening li{color:rgba(247,243,234,.82);font-size:13.5px;line-height:1.6}
.job-opening strong{display:block;color:#fff;font-size:13px;margin-top:10px}
.job-opening ul{padding-left:19px;margin:8px 0 12px}
.job-opening>a{display:inline-flex;gap:7px;align-items:center;color:#fff;font-size:13px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:2px}
.job-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.job-meta span{font-size:11.5px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.82)}


/* About page — put founder image above text on phones/tablets */
@media (max-width: 768px) {
  .about-story-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    width: 100% !important;
  }

  .about-story-grid > div:last-child {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .about-story-grid > div:first-child {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .about-story-grid > div:last-child > div:first-child {
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  .about-story-grid img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .about-story-grid > div:last-child p {
    margin-top: 10px !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }
}
