/* PortugalHealing — layout.css
   Containers, sections, grids, and structural layout only. */

.container,
.ph-container{
  max-width:var(--ph-container);
  margin:0 auto;
  padding-inline:var(--ph-gutter);
}

.container--wide,
.ph-container--wide{
  max-width:var(--ph-container-wide);
  margin:0 auto;
  padding-inline:var(--ph-gutter);
}

.ph-main{
  min-height:60vh;
  padding:var(--ph-space-8) 0;
}

.section,
.ph-section{
  padding:var(--ph-section-y) 0;
  background:var(--ph-card);
  border-top:1px solid var(--ph-border);
}

.ph-section--alt{background:var(--ph-card-2)}

.ph-section--wide .ph-content{max-width:none}

.ph-sections{display:flex;flex-direction:column}

/* Split section grid */
.ph-section__grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:var(--ph-space-9);
  align-items:start;
}

.ph-section__media{opacity:.98}
.ph-section__media img{
  display:block;
  width:100%;
  height:auto;
  border-radius:var(--ph-radius-card);
  box-shadow:var(--ph-shadow-sm);
  aspect-ratio:4 / 5;
  object-fit:cover;
}

.ph-section--alt .ph-content{grid-column:2}
.ph-section--alt .ph-section__media{grid-column:1}

/* Layout utilities */
.ph-grid{display:grid;gap:var(--ph-space-6)}
.ph-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ph-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ph-grid--split{grid-template-columns:1.2fr .8fr}

@media (max-width: 960px){
  .ph-section__grid{grid-template-columns:1fr;gap:var(--ph-space-6)}
  .ph-section--alt .ph-content,
  .ph-section--alt .ph-section__media{grid-column:auto}
  .ph-section__media img{aspect-ratio:16 / 11}
  .ph-grid--2,
  .ph-grid--3,
  .ph-grid--split{grid-template-columns:1fr}
}
