/* ============================================================
   layout.css — page scaffolding + responsive layer
   ============================================================ */
.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
section{padding:var(--section-y) 0;border-bottom:var(--border)}
main:focus{outline:none}

/* Content page wrapper */
.page-body{padding:var(--section-y) 0}
.page-body .container{display:block}

/* ── Tablet ── */
@media (max-width:900px){
  .hero-top{grid-template-columns:1fr;gap:32px}
  .hero-visual{min-height:260px;order:-1}
  .venue-layout,.panel-grid,.aud-split,.pub-tiers,.price-grid,.price-extras{grid-template-columns:1fr}
  .format-grid{grid-template-columns:1fr}
  .format-card{border-right:none;border-bottom:var(--border)}
  .format-card:last-child{border-bottom:none}
  .aud-col:first-child{border-right:none;border-bottom:var(--border)}
  .pub-tier,.price-card{border-right:none;border-bottom:var(--border)}
  .pub-tier:last-child,.price-card:last-child{border-bottom:none}
  .hero h1{font-size:2.2rem}
  .page-hero h1{font-size:1.9rem}
}

/* ── Mobile ── */
@media (max-width:700px){
  .nav-links{display:none}
  .burger{display:flex}
  .trust-logos{flex-direction:column}
  .logo-slot{border-right:none;border-bottom:var(--border);width:100%}
  .logo-slot:last-child{border-bottom:none}
  .cta-badges{grid-template-columns:1fr}
  .cta-badge{border-right:none;border-bottom:1px solid var(--dark-line)}
  .cta-badge:last-child{border-bottom:none}
  .container,.hero,.nav,.page-hero,.breadcrumbs{padding-left:20px;padding-right:20px}
  section{padding:56px 0}
  .hero-metrics{gap:28px}
  .day-switcher{width:100%}
  .day-btn{flex:1}
  .trip-line{grid-template-columns:repeat(3,1fr)}
  .trip-day{border-bottom:var(--border)}
  .pub-steps{grid-template-columns:1fr 1fr}
  .venue-rooms-row{grid-template-columns:1fr}
  .room-tag{border-right:none;border-bottom:var(--border)}
  .room-tag:last-child{border-bottom:none}
  .tl-entry{grid-template-columns:1fr;gap:4px}
  .tl-time,.tl-title,.tl-text,.tl-tag{grid-column:1}
  .tl-time{grid-row:auto}
  .f-links{flex-direction:column;gap:10px}
  .archive-grid{grid-template-columns:1fr}
  .photo-strip{grid-template-columns:1fr}
  .photo-strip figure{border-right:none;border-bottom:var(--border)}
  .photo-strip figure:last-child{border-bottom:none}
  .page-photo{height:220px}
  .form-row{grid-template-columns:1fr}
  .doc-item{flex-wrap:wrap}
  .doc-item a.btn{margin-left:0}
}
