/* Portal Editorial Fashion Network — bloco grafite (vídeos e desfiles), galeria, player, modal. */

.pf-band { background: var(--pf-media-bg); color: var(--pf-media-text); margin-top: 26px; padding: 26px 0 30px; border-top: 1px solid rgba(255, 255, 255, 0.06); }
.pf-band a:hover { color: var(--pf-media-text); }
.pf-band .pf-section__title { color: var(--pf-media-text); opacity: 0.72; margin-bottom: 18px; }
.pf-band .pf-more { color: var(--pf-media-text); opacity: 0.6; }
.pf-band .pf-more:hover { opacity: 1; }
.pf-band__block + .pf-band__block { margin-top: 18px; padding-top: 24px; border-top: 2px solid rgba(255, 255, 255, 0.22); }
.pf-band__more { text-align: right; margin-top: 16px; }
.pf-band--inline { margin-top: 10px; }
.pf-band--archive { padding-top: 34px; min-height: 40vh; }
.pf-band .pf-empty { color: var(--pf-media-text); opacity: 0.7; }
.pf-band .pf-pagination a, .pf-band .pf-pagination span { border-color: rgba(255, 255, 255, 0.25); color: var(--pf-media-text); }
.pf-band .pf-pagination .current { background: var(--pf-media-text); color: var(--pf-media-bg); }
.pf-band .pf-section__title.pf-band-h { margin-top: 0; }

/* Trilhos horizontais */
.pf-rail { position: relative; }
.pf-rail__track { display: grid; gap: 14px; }
.pf-rail__track--videos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pf-rail__track--shows { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.pf-rail__arrow {
	position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
	background: rgba(0, 0, 0, 0.45); color: #fff; border-radius: 50%; z-index: 2;
}
.pf-rail__arrow:hover { background: rgba(0, 0, 0, 0.75); }
.pf-rail__arrow[hidden] { display: none; }
.pf-rail__arrow--next { right: 10px; }
.pf-rail__arrow--prev { left: 10px; }

/* Card de vídeo */
.pf-vgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pf-vcard { min-width: 0; }
.pf-vcard__link { position: relative; display: block; color: #fff; overflow: hidden; }
.pf-vcard__link .pf-media { border-radius: var(--pf-radius); background: #1d1d1d; }
.pf-vcard__link::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.78) 100%); pointer-events: none; }
.pf-vcard__play { position: absolute; left: 0; top: 0; z-index: 2; width: 46px; height: 42px; display: inline-flex; align-items: center; justify-content: center; background: rgba(32, 32, 32, 0.88); color: #fff; }
.pf-vcard__link:hover .pf-vcard__play { background: #fff; color: #111; }
.pf-vcard__info { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 14px 16px; display: block; }
.pf-vcard__title { display: block; font-family: var(--pf-f-head); font-weight: var(--pf-w-head); font-size: 19px; line-height: 1.12; color: #fff; overflow-wrap: anywhere; }
.pf-vcard__time { display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; font-size: 9.5px; color: rgba(255, 255, 255, 0.7); }

/* Card de desfile */
.pf-sgrid { display: grid; grid-template-columns: repeat(var(--pf-scols, 4), minmax(0, 1fr)); gap: 14px; }
.pf-scard { min-width: 0; }
.pf-scard__link { position: relative; display: block; color: #fff; overflow: hidden; }
.pf-scard__link .pf-media { background: #1a1a1a; }
.pf-scard__link::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 52%, rgba(0, 0, 0, 0.85) 100%); pointer-events: none; }
.pf-scard__icon { position: absolute; left: 0; top: 0; z-index: 2; width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; background: rgba(32, 32, 32, 0.88); color: #fff; }
.pf-scard__info { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: flex; flex-direction: column; gap: 3px; padding: 12px 12px 14px; }
.pf-scard__title { font-family: var(--pf-f-head); font-weight: var(--pf-w-head); font-size: 19px; line-height: 1.1; color: #fff; overflow-wrap: anywhere; }
.pf-scard__line { font-weight: 700; font-size: 8.5px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.78); }
.pf-stars { display: inline-flex; gap: 1px; margin: 3px 0 1px; color: var(--pf-star); }
.pf-star--off { opacity: 0.28; }
.pf-star--half { opacity: 0.65; }
.pf-scard .pf-vcard__time { margin-top: 3px; }

/* Desfile (single) */
.pf-show__head { padding: 20px 0 14px; }
.pf-show__title { font-family: var(--pf-f-head); font-weight: var(--pf-h1-weight); font-size: calc(var(--pf-h1-size) * 0.9); line-height: 1.1; overflow-wrap: anywhere; }
.pf-show__sub { margin-top: 8px; font-family: var(--pf-f-ui); font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pf-muted); }
.pf-show__head .pf-stars { margin-top: 12px; color: var(--pf-star); }
.pf-show__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: start; padding-bottom: 20px; }
.pf-gallery__stage { position: relative; background: var(--pf-media-bg); }
.pf-gallery__slide { display: none; }
.pf-gallery__slide.is-active, .pf-gallery:not(.is-js) .pf-gallery__slide:first-child { display: block; }
.pf-gallery__slide img { width: 100%; max-height: 82vh; object-fit: contain; margin-inline: auto; }
.pf-gallery__arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.55); color: #fff; border-radius: 50%; }
.pf-gallery__arrow:hover { background: rgba(0, 0, 0, 0.85); }
.pf-gallery__prev { left: 10px; }
.pf-gallery__next { right: 10px; }
.pf-gallery__count { margin-top: 10px; font-size: 12px; letter-spacing: 0.1em; color: var(--pf-muted); text-align: center; }
.pf-gallery__thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 10px 0; scrollbar-width: thin; }
.pf-gallery__thumb { display: block; width: 64px; height: 86px; border: 2px solid transparent; opacity: 0.6; }
.pf-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.pf-gallery__thumb.is-active, .pf-gallery__thumb:hover { opacity: 1; border-color: var(--pf-text); }
.pf-gallery__credits { font-size: 11px; color: var(--pf-muted); margin-top: 6px; }
.pf-show__video { margin-top: 24px; padding-bottom: 24px; }

/* Player */
.pf-player { position: relative; aspect-ratio: 16 / 9; background: #000; width: 100%; }
.pf-player iframe, .pf-player video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Modal de vídeo */
.pf-modal { position: fixed; inset: 0; z-index: 2000; display: none; align-items: center; justify-content: center; padding: 24px; background: rgba(0, 0, 0, 0.86); }
.pf-modal.is-open { display: flex; }
.pf-modal__box { width: min(960px, 100%); }
.pf-modal__title { color: #fff; font-family: var(--pf-f-head); font-size: 18px; margin-bottom: 10px; }
.pf-modal__close { position: absolute; top: 14px; right: 14px; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: #fff; }
body.pf-modal-open { overflow: hidden; }
