/**
 * Bloco Vídeo — Fortunna Lusitanos
 * Contentor e espaçamento iguais aos outros blocos; o vídeo nunca sai do ecrã.
 */

.flb-video {
    padding-block: var(--fl-gap-section, clamp(4rem, 8vw, 7rem));
    color:         var(--fl-noir, #141210);
}
.flb-video--white     { background: var(--fl-white, #FDFCFA); }
.flb-video--off-white { background: var(--fl-off-white, #F7F4EF); }
.flb-video--champagne { background: var(--fl-champagne-bg, #F5F1EA); }
.flb-video--noir      { background: var(--fl-noir, #141210); color: var(--fl-white, #FDFCFA); }

/* Largura total: ponta a ponta, sem margem e sem espaço em cima/baixo se não houver cabeçalho */
.flb-video--full { padding-block: clamp(2.5rem, 5vw, 4rem); }

.flb-video__head { margin-bottom: clamp(1.75rem, 4vw, 2.75rem); }
.flb-video--full > .flb-wrap .flb-video__head { margin-bottom: clamp(1.75rem, 4vw, 2.75rem); }
/* (o .flb-video__inner NÃO leva margin:0 — perderia o margin-inline:auto do .flb-wrap e ficaria à esquerda em ecrãs largos) */
.flb-video__figure { margin: 0; }

/* ── Alinhamento (larguras estreita / média) ───────────────────────────────
   O contentor é mais estreito que a coluna do tema; "esquerda" e "direita"
   encostam-no à margem da coluna (a mesma dos títulos dos outros blocos). */
.flb-video--align-left .flb-video__inner {
    margin-left:  max(0px, calc((100% - var(--fl-max-w, 1320px)) / 2));
    margin-right: auto;
}
.flb-video--align-right .flb-video__inner {
    margin-left:  auto;
    margin-right: max(0px, calc((100% - var(--fl-max-w, 1320px)) / 2));
}
.flb-video--align-center .flb-video__head { text-align: left; }

.flb-video__notice {
    margin:      0;
    padding:     1rem 1.25rem;
    font-family: var(--fl-font-body, sans-serif);
    font-size:   13px;
    border:      1px dashed var(--fl-champagne-border, rgba(216,202,175,.38));
    color:       var(--fl-stone, #6E675A);
}

/* ── Moldura 16:9 (ou a escolhida) ─────────────────────────────────────── */
.flb-video__frame {
    position:     relative;
    width:        100%;
    aspect-ratio: var(--flb-video-ratio, 16 / 9);
    background:   var(--fl-noir, #141210);
    overflow:     hidden;
}
.flb-video__frame iframe,
.flb-video__frame .flb-video__file {
    position: absolute;
    inset:    0;
    width:    100%;
    height:   100%;
    border:   0;
    display:  block;
}
.flb-video__frame .flb-video__file { object-fit: contain; background: #000; }

/* ── Capa + botão ──────────────────────────────────────────────────────── */
.flb-video__play {
    position:        absolute;
    inset:           0;
    display:         flex;
    align-items:     center;
    justify-content: center;
    cursor:          pointer;
    text-decoration: none;
    border:          0;
}
.flb-video__poster {
    position:        absolute;
    inset:           0;
    width:           100%;
    height:          100%;
    object-fit:      cover;
    filter:          var(--fl-img-filter-card, none);
    transition:      transform .8s cubic-bezier(.16,1,.3,1), filter .5s;
}
.flb-video__poster--hq { scale: 1.34; } /* esconde as faixas pretas do hqdefault (4:3) */
.flb-video__veil {
    position:   absolute;
    inset:      0;
    background: linear-gradient(to top, rgba(20,18,16,.45), rgba(20,18,16,.12) 55%);
    transition: background .4s;
}
.flb-video__btn {
    position:        relative;
    display:         flex;
    align-items:     center;
    justify-content: center;
    width:           clamp(3.75rem, 7vw, 5.25rem);
    aspect-ratio:    1;
    border-radius:   50%;
    background:      var(--fl-champagne, #D8CAAF);
    color:           var(--fl-noir, #141210);
    box-shadow:      0 0 0 10px rgba(216,202,175,.22);
    transition:      transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s;
}
.flb-video__btn svg {
    width:     38%;
    height:    38%;
    fill:      currentColor;
    transform: translateX(6%); /* centra visualmente o triângulo */
}
.flb-video__play:hover .flb-video__poster { transform: scale(1.04); }
.flb-video__play:hover .flb-video__veil   { background: linear-gradient(to top, rgba(20,18,16,.55), rgba(20,18,16,.2) 55%); }
.flb-video__play:hover .flb-video__btn,
.flb-video__play:focus-visible .flb-video__btn {
    transform:  scale(1.07);
    box-shadow: 0 0 0 14px rgba(216,202,175,.3);
}
.flb-video__play:focus-visible { outline: 3px solid var(--fl-champagne, #D8CAAF); outline-offset: -3px; }

/* ── Legenda ───────────────────────────────────────────────────────────── */
.flb-video__caption {
    margin:      .85rem 0 0;
    font-family: var(--fl-font-body, sans-serif);
    font-size:   13px;
    font-style:  italic;
    font-weight: 300;
    color:       var(--fl-stone, #6E675A);
}
.flb-video--noir .flb-video__caption { color: rgba(253,252,250,.6); }
.flb-video--full .flb-video__caption { padding-inline: var(--fl-pad, 1.5rem); }

@media (prefers-reduced-motion: reduce) {
    .flb-video__poster, .flb-video__veil, .flb-video__btn { transition: none; }
}
