/* Fotos técnicas no sistema visual BRA: produto inteiro, legenda e origem. */
.component-showcase { padding: clamp(65px, 7vw, 105px) 0; background: var(--fog); }
.component-showcase-heading { max-width: 830px; margin-bottom: 42px; }
.component-showcase-heading h2 { margin-bottom: 22px; color: var(--navy); font-size: clamp(2.55rem, 5vw, 5rem); overflow-wrap: anywhere; }
.component-showcase-heading > p:last-child { max-width: 660px; color: var(--muted); }
.component-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.component-photo-grid--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.component-photo-card { min-width: 0; margin: 0; display: flex; flex-direction: column; background: var(--white); border-top: 4px solid var(--navy); }
.component-photo-media { height: 290px; padding: 22px; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); place-items: center; overflow: hidden; background: #fff; border-bottom: 1px solid var(--steel); }
.component-photo-media img { width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; }
.component-photo-card figcaption { flex: 1; display: flex; flex-direction: column; padding: 28px; }
.component-photo-category { margin-bottom: 12px; color: var(--blue); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.component-photo-card h3 { margin: 0 0 15px; color: var(--navy); font-size: clamp(1.8rem, 2.3vw, 2.4rem); text-transform: uppercase; overflow-wrap: anywhere; }
.component-photo-card figcaption > p { color: var(--muted); font-size: .86rem; line-height: 1.75; }
.component-photo-source { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: auto; color: var(--navy); font-size: .72rem; text-underline-offset: 3px; }
.component-photo-source:hover { color: var(--blue); }
.component-photo-card .text-link { display: flex; align-items: center; min-height: 44px; margin-top: 12px; }
.component-photo-actions { display: flex; flex-wrap: wrap; gap: 0 20px; }
.component-photo-actions .text-link { font-size: .7rem; }
.component-photo-card--featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.component-photo-card--featured .component-photo-media { height: 320px; }
.supply-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 44px; }
.supply-overview article { min-width: 0; padding: 28px; background: var(--navy); border-top: 4px solid var(--signal); }
.supply-overview .component-photo-category, .supply-overview .text-link { color: var(--signal); }
.supply-overview h3 { margin: 16px 0; color: var(--white); font-size: 2rem; overflow-wrap: anywhere; }
.supply-overview p { color: #d5e0eb; font-size: .85rem; }
.supply-overview .text-link { display: inline-flex; align-items: center; min-height: 44px; font-size: .7rem; }
.supply-details { padding: clamp(60px, 7vw, 95px) 0; }
.supply-detail { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 45px; padding: 44px 0; border-top: 1px solid var(--steel); }
.supply-detail h2 { color: var(--navy); font-size: clamp(2.3rem, 4vw, 3.8rem); overflow-wrap: anywhere; }
.supply-detail p { color: var(--muted); }
.supply-detail .utility-actions { gap: 10px 25px; }
.supply-detail .text-link { display: inline-flex; align-items: center; min-height: 44px; }
.component-photo-note { max-width: 980px; margin: 30px 0 0; padding-left: 18px; color: var(--muted); border-left: 3px solid var(--signal); font-size: .76rem; line-height: 1.8; }
@media (max-width: 1000px) { .component-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .supply-overview { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .supply-detail { grid-template-columns: minmax(0, 1fr); gap: 15px; } }
@media (max-width: 600px) {
  .component-photo-grid { grid-template-columns: minmax(0, 1fr); }
  .component-photo-media { height: 265px; padding: 18px; }
  .component-photo-card figcaption { padding: 24px; }
  .component-photo-card--featured { grid-template-columns: minmax(0, 1fr); }
  .component-photo-card--featured .component-photo-media { height: 265px; }
}
