/* AFA Final Polish — layout integrity, contrast, and cinematic Studio presentation — 2026-09-20 */

/* 1) Layout integrity: content must determine block height. */
body[data-design="classical-refinement-2026"] main,
body[data-design="classical-refinement-2026"] main > section,
body[data-design="classical-refinement-2026"] :is(.container,.split,.grid,.pathway,.engagement-ladder,.hardware-matrix,.deliverable-grid,.workshop-lens-grid,.faq-grid,.hero-actions,.actions){
  min-width:0;
}
body[data-design="classical-refinement-2026"] main > section{
  position:relative;
  clear:both;
}
body[data-design="classical-refinement-2026"] .page-hero:not(.film-hero){
  height:auto!important;
  min-height:480px!important;
  max-height:none!important;
  align-items:stretch;
  overflow:hidden;
}
body[data-design="classical-refinement-2026"] .page-hero:not(.film-hero) .page-hero-copy{
  min-height:480px;
  padding-top:clamp(2.2rem,3.8vw,4.35rem);
  padding-bottom:clamp(2.2rem,3.8vw,4.35rem);
}
body[data-design="classical-refinement-2026"] .page-hero:not(.film-hero) .page-hero-media{
  min-height:480px;
}
body[data-design="classical-refinement-2026"] :is(.grid,.pathway,.engagement-ladder,.hardware-matrix,.deliverable-grid,.workshop-lens-grid,.faq-grid) > *{
  min-width:0;
  overflow-wrap:break-word;
}
body[data-design="classical-refinement-2026"] .engagement-ladder + .actions,
body[data-design="classical-refinement-2026"] .grid + .actions,
body[data-design="classical-refinement-2026"] .pathway + .actions{
  margin-top:1.35rem;
  clear:both;
}
body[data-design="classical-refinement-2026"] .actions,
body[data-design="classical-refinement-2026"] .hero-actions{
  max-width:100%;
  flex-wrap:wrap;
  align-items:stretch;
  row-gap:.72rem;
}
body[data-design="classical-refinement-2026"] :is(.actions,.hero-actions) .button{
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
}

/* 2) Button contrast: primary, secondary, ghost and outline must remain distinct. */
body[data-design="classical-refinement-2026"] :is(.button,.site-cta,.panel-cta):not(.secondary):not(.ghost):not(.outline){
  color:#fff!important;
  background:var(--accent-dark,var(--afa-verde))!important;
  border-color:var(--accent-dark,var(--afa-verde))!important;
}
body[data-design="classical-refinement-2026"] :is(.button.secondary,.button.ghost,.button.outline){
  color:var(--accent-dark,var(--afa-verde))!important;
  background:transparent!important;
  border-color:color-mix(in srgb,var(--accent,var(--afa-gold)) 72%,var(--accent-dark,var(--afa-verde)))!important;
}
body[data-design="classical-refinement-2026"] :is(.button.secondary,.button.ghost,.button.outline)::before{
  border-color:color-mix(in srgb,var(--accent,var(--afa-gold)) 38%,transparent)!important;
}
body[data-design="classical-refinement-2026"] :is(.button,.site-cta,.panel-cta):hover{
  color:#15110a!important;
  background:var(--afa-gold)!important;
  border-color:var(--afa-gold)!important;
}
body[data-design="classical-refinement-2026"] :is(.block--dark,.film-page-body,[data-afa-family="studio"],[data-afa-family="marbles"]) :is(.button.secondary,.button.ghost,.button.outline),
body[data-design="classical-refinement-2026"] .site-footer :is(.button.secondary,.button.ghost,.button.outline){
  color:#fff4db!important;
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(239,207,137,.78)!important;
}
body[data-design="classical-refinement-2026"] :is(.block--dark,.film-page-body,[data-afa-family="studio"],[data-afa-family="marbles"]) :is(.button.secondary,.button.ghost,.button.outline):hover,
body[data-design="classical-refinement-2026"] .site-footer :is(.button.secondary,.button.ghost,.button.outline):hover{
  color:#15110a!important;
  background:#e0bb68!important;
  border-color:#e0bb68!important;
}
body[data-design="classical-refinement-2026"] .button:focus-visible,
body[data-design="classical-refinement-2026"] .site-cta:focus-visible,
body[data-design="classical-refinement-2026"] .panel-cta:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
  box-shadow:0 0 0 5px var(--afa-gold);
}

/* 3) Keep editorial typography readable, never billboard-like. */
body[data-design="classical-refinement-2026"] .section-header h2,
body[data-design="classical-refinement-2026"] .block-head h2{
  font-size:clamp(1.85rem,2.45vw,2.85rem)!important;
  line-height:1.09!important;
  max-width:24ch!important;
}
body[data-design="classical-refinement-2026"] .page-hero h1{
  font-size:clamp(2.45rem,3.65vw,4.2rem)!important;
  line-height:1.02!important;
}

/* 4) Studio and movie pages: entertainment-first imagery without losing AFA identity. */
body[data-afa-family="studio"]{
  --movie-gold:#e0bb68;
  --movie-cream:#fff0cf;
  --movie-plum:#180a20;
  --movie-deep:#0b050f;
}
body[data-afa-family="studio"] .film-hero{
  height:clamp(590px,72svh,820px)!important;
  max-height:820px!important;
  min-height:590px!important;
}
body[data-afa-family="studio"] .film-hero-copy{
  padding-right:min(55vw,760px);
}
body[data-afa-family="studio"] .film-hero h1{
  font-size:clamp(2.75rem,4.35vw,4.8rem)!important;
  line-height:1!important;
  max-width:12ch!important;
}

.film-title-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  background:#120817;
  border-bottom:1px solid rgba(224,187,104,.38);
}
.film-title-strip div{
  padding:1rem 1.2rem;
  border-right:1px solid rgba(224,187,104,.25);
}
.film-title-strip div:last-child{border-right:0}
.film-title-strip span{display:block;color:#cfaa5d;font:.76rem/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.28rem}
.film-title-strip strong{display:block;color:#fff2d6;font:400 1.05rem/1.25 var(--serif)}

.film-centerpiece{
  background:
    radial-gradient(circle at 50% 18%,rgba(112,40,118,.28),transparent 31rem),
    linear-gradient(180deg,#100615,#09040c);
  color:#f8ecdf;
  padding:clamp(3.5rem,6vw,7rem) 0;
  border-bottom:1px solid rgba(224,187,104,.38);
}
.film-centerpiece-grid{
  width:min(1480px,calc(100% - 3rem));
  margin:auto;
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(380px,600px) minmax(220px,.72fr);
  gap:clamp(2rem,4.5vw,5.5rem);
  align-items:center;
}
.film-centerpiece-copy h2{color:#f5d68f!important;font-size:clamp(2rem,2.8vw,3.1rem)!important;max-width:12ch!important}
.film-centerpiece-copy p{color:#d9c9da;line-height:1.68}
.film-centerpiece-copy .kicker{color:#e0bb68}
.film-centerpiece-poster{margin:0;position:relative;padding:.55rem;background:#08040a;border:1px solid rgba(224,187,104,.68);box-shadow:0 34px 90px rgba(0,0,0,.5)}
.film-centerpiece-poster::after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,237,191,.22);pointer-events:none}
.film-centerpiece-poster img{display:block;width:100%;height:auto;max-height:78svh;object-fit:contain;background:#08040a}
.film-centerpiece-facts{display:grid;border-top:1px solid rgba(224,187,104,.28)}
.film-centerpiece-facts div{padding:1rem 0;border-bottom:1px solid rgba(224,187,104,.28)}
.film-centerpiece-facts span{display:block;color:#c9a253;font:.68rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.3rem}
.film-centerpiece-facts strong{color:#fff2d6;font:400 1.08rem/1.3 var(--serif)}

.film-showcase{background:#16091d;color:#f8eee3;padding:clamp(3.4rem,5.5vw,6rem) 0;border-bottom:1px solid rgba(224,187,104,.35)}
.film-showcase .block-head h2{color:#f4d48d!important}
.film-showcase .block-head p{color:#d7c7d7}
.film-showcase-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:1.15rem}
.film-showcase-card{position:relative;overflow:hidden;background:#08040a;border:1px solid rgba(224,187,104,.42);min-height:410px;text-decoration:none}
.film-showcase-card img{display:block;width:100%;height:100%;object-fit:cover}
.film-showcase-card.landscape{aspect-ratio:16/9}
.film-showcase-card.portrait{aspect-ratio:4/5}
.film-showcase-card.wide{grid-column:1/-1;min-height:260px;aspect-ratio:1200/514}
.film-showcase-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(5,2,8,.82));pointer-events:none}
.film-showcase-card span{position:absolute;z-index:2;left:1.2rem;right:1.2rem;bottom:1rem;color:#fff3d4;font:400 clamp(1.1rem,1.8vw,1.65rem)/1.15 var(--serif)}

/* Sony-like content priority: larger title art/cards, but status remains honest. */
body[data-afa-family="studio"] .film-poster-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,2vw,1.7rem);
}
body[data-afa-family="studio"] .film-poster-grid figure{
  box-shadow:0 24px 65px rgba(0,0,0,.32);
}
body[data-afa-family="studio"] .film-poster-grid img{
  aspect-ratio:auto!important;
  width:100%;
  height:auto;
  object-fit:contain!important;
}

/* Studio landing / originals: featured movie poster becomes the visual centrepiece. */
.studio-featured-production{
  padding:clamp(3.5rem,5.5vw,6.5rem) 0;
  background:radial-gradient(circle at 24% 12%,rgba(119,44,125,.24),transparent 28rem),linear-gradient(135deg,#100615,#21102c 60%,#0d0612);
  color:#f8ecdf;
  border-block:1px solid rgba(224,187,104,.38);
}
.studio-featured-grid{
  width:min(var(--container),calc(100% - 3rem));
  margin:auto;
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);
  gap:clamp(2.4rem,5vw,6rem);
  align-items:center;
}
.studio-featured-poster{margin:0;max-width:620px;justify-self:center;padding:.5rem;background:#08040a;border:1px solid rgba(224,187,104,.64);box-shadow:0 30px 85px rgba(0,0,0,.45)}
.studio-featured-poster img{display:block;width:100%;height:auto;object-fit:contain}
.studio-featured-copy .eyebrow{color:#e0bb68!important}
.studio-featured-copy h2{color:#f5d68f!important;font-size:clamp(2.15rem,3vw,3.35rem)!important;max-width:15ch!important}
.studio-featured-copy p{color:#dacbd8;max-width:60ch}
.studio-featured-copy .button:not(.secondary){background:#dcb45f!important;border-color:#dcb45f!important;color:#16091d!important}
.studio-featured-copy .button.secondary{color:#fff3d7!important;border-color:rgba(224,187,104,.72)!important}

/* Studio proof grid: the original production is the large lead card. */
body[data-afa-family="studio"] .studio-proof-grid{grid-template-columns:1.25fr .875fr .875fr!important;align-items:stretch}
body[data-afa-family="studio"] .studio-proof-card{min-height:0}
body[data-afa-family="studio"] .studio-proof-card:first-child img{aspect-ratio:1122/1402!important;object-fit:cover}
body[data-afa-family="studio"] .studio-proof-card:not(:first-child) img{aspect-ratio:16/10!important;object-fit:cover}

@media(max-width:980px){
  body[data-design="classical-refinement-2026"] .page-hero:not(.film-hero) .page-hero-copy,
  body[data-design="classical-refinement-2026"] .page-hero:not(.film-hero) .page-hero-media{min-height:420px}
  .film-centerpiece-grid{grid-template-columns:1fr minmax(330px,520px);width:min(100% - 2rem,1040px)}
  .film-centerpiece-copy{grid-column:1}.film-centerpiece-poster{grid-column:2;grid-row:1/3}.film-centerpiece-facts{grid-column:1}
  .film-showcase-grid{grid-template-columns:1fr 1fr}
  .studio-featured-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}
  body[data-afa-family="studio"] .studio-proof-grid{grid-template-columns:1fr 1fr!important}
  body[data-afa-family="studio"] .studio-proof-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,.55fr) 1fr}
  body[data-afa-family="studio"] .studio-proof-card:first-child img{height:520px;width:100%;object-fit:cover}
}
@media(max-width:860px){
  body[data-design="classical-refinement-2026"] .page-hero:not(.film-hero){min-height:0!important}
  body[data-design="classical-refinement-2026"] .page-hero:not(.film-hero) .page-hero-copy{min-height:0;padding-block:2.15rem!important}
  body[data-design="classical-refinement-2026"] .page-hero:not(.film-hero) .page-hero-media{min-height:300px}
  body[data-afa-family="studio"] .film-hero{height:68svh!important;min-height:560px!important}
  body[data-afa-family="studio"] .film-hero-copy{padding-right:0;width:min(100% - 2rem,720px)}
  .film-title-strip{grid-template-columns:repeat(2,1fr)}
  .film-title-strip div:nth-child(2){border-right:0}
  .film-title-strip div:nth-child(-n+2){border-bottom:1px solid rgba(224,187,104,.25)}
  .film-centerpiece-grid{grid-template-columns:1fr;width:min(100% - 2rem,720px);gap:1.6rem}
  .film-centerpiece-copy,.film-centerpiece-poster,.film-centerpiece-facts{grid-column:1;grid-row:auto}
  .film-centerpiece-poster{order:-1;max-width:560px;justify-self:center}
  .film-showcase-grid{grid-template-columns:1fr}
  .film-showcase-card.wide{grid-column:auto;aspect-ratio:16/8}
  .studio-featured-grid{grid-template-columns:1fr;width:min(100% - 2rem,720px)}
  .studio-featured-poster{max-width:520px}
}
@media(max-width:680px){
  body[data-design="classical-refinement-2026"] :is(.actions,.hero-actions){display:grid;grid-template-columns:1fr}
  body[data-design="classical-refinement-2026"] :is(.actions,.hero-actions) .button{width:100%}
  body[data-afa-family="studio"] .film-hero{height:64svh!important;min-height:520px!important}
  body[data-afa-family="studio"] .film-poster-grid{grid-template-columns:1fr!important}
  body[data-afa-family="studio"] .studio-proof-grid{grid-template-columns:1fr!important}
  body[data-afa-family="studio"] .studio-proof-card:first-child{grid-column:auto;display:block}
  body[data-afa-family="studio"] .studio-proof-card:first-child img{height:auto;aspect-ratio:1122/1402!important}
}

/* Dark-surface button corrections: never place dark fills on dark panels. */
body[data-design="classical-refinement-2026"] :is(.block--dark,.band,.ppc-conversion-band,.campaign-cta,.site-footer) :is(.button,.panel-cta):not(.secondary):not(.ghost):not(.outline),
body[data-design="classical-refinement-2026"][data-afa-family="studio"] :is(.button,.panel-cta):not(.secondary):not(.ghost):not(.outline),
body[data-design="classical-refinement-2026"][data-afa-family="marbles"] :is(.button,.panel-cta):not(.secondary):not(.ghost):not(.outline){
  background:var(--footer-accent,var(--movie-gold,var(--afa-gold)))!important;
  border-color:var(--footer-accent,var(--movie-gold,var(--afa-gold)))!important;
  color:#15110a!important;
}
body[data-design="classical-refinement-2026"] :is(.block--dark,.band,.ppc-conversion-band,.campaign-cta) :is(.button.secondary,.button.ghost,.button.outline){
  background:rgba(255,255,255,.025)!important;
  border-color:rgba(255,239,202,.74)!important;
  color:#fff5df!important;
}
body[data-design="classical-refinement-2026"] .site-footer :is(.button.secondary,.button.ghost,.button.outline){
  background:transparent!important;
  border-color:rgba(255,255,255,.66)!important;
  color:#fff!important;
}

/* Candy Kingdom flagship refresh 2026-09-24 */
.film-centerpiece-grid.film-centerpiece-grid--flagship{gap:1.6rem 1.8rem}
.film-centerpiece-poster.film-centerpiece-poster--flagship,.studio-featured-poster.studio-featured-poster--flagship{margin:0;max-width:none;width:100%}
.film-centerpiece-poster.film-centerpiece-poster--flagship img,.studio-featured-poster.studio-featured-poster--flagship img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover}
.studio-proof-card.studio-proof-card--flagship img{aspect-ratio:16/9;object-fit:cover}
@media (min-width:980px){
  .film-centerpiece-grid.film-centerpiece-grid--flagship{grid-template-columns:minmax(0,1fr) minmax(290px,.52fr);width:min(100% - 2rem,1240px);align-items:start}
  .film-centerpiece-grid.film-centerpiece-grid--flagship .film-centerpiece-poster--flagship{grid-column:1 / -1;grid-row:1;justify-self:stretch}
  .film-centerpiece-grid.film-centerpiece-grid--flagship .film-centerpiece-copy{grid-column:1;grid-row:2}
  .film-centerpiece-grid.film-centerpiece-grid--flagship .film-centerpiece-facts{grid-column:2;grid-row:2;align-self:start}
  .studio-featured-grid.studio-featured-grid--flagship{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);width:min(100% - 2rem,1240px);align-items:center}
  .studio-proof-card.studio-proof-card--flagship{grid-column:span 2}
}
@media (max-width:979px){
  .film-centerpiece-grid.film-centerpiece-grid--flagship{width:min(100% - 2rem,780px)}
  .film-centerpiece-grid.film-centerpiece-grid--flagship .film-centerpiece-poster--flagship{order:-1}
  .studio-featured-grid.studio-featured-grid--flagship{width:min(100% - 2rem,780px)}
}
