/* assets/css/convite-previa.css */
/*
 * OlaConvite - o convite a vista enquanto a pessoa preenche (assets/js/convite-previa.js; passo a passo e
 * experimentar.php): no computador a previa ao lado, como sempre; no celular uma miniatura do convite no topo, uma
 * faixa com os nomes e a data quando ela sai da tela, "Ver previa" e a mesma previa em tela cheia. html.oc-pv-on.
 * Usa os tokens --oc-* de main.css e o celular de convite-design.css (.oc-cvd-phone).
 */
/* ---- o convite a vista no passo a passo (html.oc-pv-on, assets/js/convite-assistente.js) ---- */
.oc-ast-previa__fechar,
.oc-ast-verprevia,
.oc-ast-faixa {
    display: none;
}
.oc-pv-on .oc-ast-previa .oc-cvd__preview-title::before {
    content: "";
    display: inline-block;
    width: .5rem;
    height: .5rem;
    margin-right: .5rem;
    border-radius: 50%;
    background: #6B8F6B;
    vertical-align: middle;
}

@media (max-width: 960px) {
        /* a previa sobe para o topo e vira uma miniatura do celular, com a explicacao ao lado */
    .oc-pv-on .oc-cvd {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
    }
    .oc-pv-on .oc-cvd__preview.oc-ast-previa {
        order: -1;
        display: grid;
        grid-template-columns: 9.75rem minmax(0, 1fr);
        grid-template-rows: auto 1fr;
        align-items: start;
        gap: .375rem 1rem;
        padding: .875rem;
        border: 1px solid var(--oc-border);
        border-radius: var(--oc-radius);
        background: var(--oc-white);
        box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
    }
    .oc-pv-on .oc-ast-previa .oc-cvd__preview-title {
        grid-column: 2;
        grid-row: 1;
        margin: .25rem 0 0;
        text-align: left;
        letter-spacing: .06em;
    }
    .oc-pv-on .oc-ast-previa .oc-cvd__hint {
        grid-column: 2;
        grid-row: 2;
        margin: 0;
        text-align: left !important;
    }
    .oc-pv-on .oc-ast-previa .oc-cvd__hint::after {
        content: " Toque nele para ver em tela cheia.";
    }
    .oc-pv-on .oc-ast-previa .oc-cvd-phone {
        grid-column: 1;
        grid-row: 1 / span 2;
        position: relative;
        width: 9.75rem;
        height: 20.4375rem;
        min-height: 0;
        margin: 0;
        border-width: 5px;
        border-radius: 1.25rem;
        box-shadow: var(--oc-shadow);
        cursor: pointer;
    }
    /* o convite e desenhado no tamanho de um celular e reduzido: 390 x 845 a 0,375 */
    .oc-pv-on .oc-ast-previa .oc-cvd-phone iframe {
        width: 390px;
        height: 845px;
        transform: scale(.375);
        transform-origin: 0 0;
        pointer-events: none;
    }

    /* em tela cheia: a mesma previa, por cima de tudo */
    .oc-pv-on .oc-cvd__preview.oc-ast-previa.is-cheia {
        position: fixed;
        inset: 0;
        z-index: 400;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: .75rem;
        margin: 0;
        padding: calc(.75rem + env(safe-area-inset-top, 0px)) 1rem calc(1rem + env(safe-area-inset-bottom, 0px));
        border: 0;
        border-radius: 0;
        background: rgba(26, 18, 9, .82);
        box-shadow: none;
    }
    .oc-ast-previa.is-cheia .oc-cvd__preview-title,
    .oc-ast-previa.is-cheia .oc-cvd__hint {
        display: none;
    }
    .oc-ast-previa.is-cheia .oc-ast-previa__fechar {
        display: inline-flex;
        align-self: flex-end;
        padding: .5rem 1rem;
        border: 0;
        border-radius: 99px;
        background: var(--oc-white);
        color: var(--oc-ink);
        font: inherit;
        font-size: .9375rem;
        font-weight: 700;
        cursor: pointer;
    }
    .oc-pv-on .oc-ast-previa.is-cheia .oc-cvd-phone {
        flex: 1 1 auto;
        width: min(390px, 100%);
        height: auto;
        border-width: 8px;
        border-radius: 1.75rem;
        cursor: default;
    }
    .oc-pv-on .oc-ast-previa.is-cheia .oc-cvd-phone iframe {
        width: 100%;
        height: 100%;
        transform: none;
        pointer-events: auto;
    }
    .oc-pv-cheia body {
        overflow: hidden;
    }

    /* "Ver previa": sempre a mao, acima dos botoes do passo */
    .oc-pv-on .oc-ast-verprevia.is-on {
        position: fixed;
        right: max(1rem, env(safe-area-inset-right, 0px));
        bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
        z-index: 170;
        display: inline-flex;
        align-items: center;
        gap: .375rem;
        padding: .75rem 1.125rem;
        border: 0;
        border-radius: 99px;
        background: var(--oc-ink);
        color: var(--oc-white);
        font: inherit;
        font-size: .9375rem;
        font-weight: 700;
        box-shadow: 0 .5rem 1.5rem rgba(26, 18, 9, .25);
        cursor: pointer;
    }
    .oc-pv-on .oc-ast-verprevia.is-on::after {
        content: "\2728";
    }
    .oc-pv-cheia .oc-ast-verprevia {
        display: none !important;
    }

    /* Revisar: o convite grande no topo, para conferir com calma */
    .oc-pv-on .oc-cvd__preview.oc-ast-previa--grande:not(.is-cheia) {
        display: block;
        padding: 0;
        border: 0;
        background: none;
        box-shadow: none;
    }
    .oc-pv-on .oc-ast-previa--grande:not(.is-cheia) .oc-cvd__preview-title,
    .oc-pv-on .oc-ast-previa--grande:not(.is-cheia) .oc-cvd__hint {
        margin: 0 0 .75rem;
        text-align: center !important;
    }
    .oc-pv-on .oc-ast-previa--grande:not(.is-cheia) .oc-cvd__hint {
        margin: .75rem 0 0;
    }
    .oc-pv-on .oc-ast-previa--grande .oc-cvd__hint::after {
        content: none;
    }
    .oc-pv-on .oc-ast-previa--grande:not(.is-cheia) .oc-cvd-phone {
        width: 100%;
        max-width: 390px;
        height: min(720px, 75vh);
        margin: 0 auto;
        border-width: 10px;
        border-radius: 2.25rem;
        cursor: default;
    }
    .oc-pv-on .oc-ast-previa--grande:not(.is-cheia) .oc-cvd-phone iframe {
        width: 100%;
        height: 100%;
        transform: none;
        pointer-events: auto;
    }
}

@media (max-width: 480px) {
    .oc-pv-on .oc-ast-verprevia.is-on {
        bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px));
    }
}

/* no celular (html.oc-movel): Voltar e Continuar ficam fixos embaixo; "Ver previa" logo acima, e a faixa com os nomes
   e a data abaixo da barra de cima quando a miniatura saiu da tela; ao digitar os dois saem */
.oc-movel.oc-pv-on .oc-ast-verprevia.is-on {
    bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px));
}
@media (max-width: 960px) {
    .oc-pv-on .oc-ast-faixa.is-on {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 140;
        display: flex;
        align-items: baseline;
        justify-content: center;
        gap: .75rem;
        padding: .625rem 1rem;
        border: 0;
        border-bottom: 1px solid var(--oc-gold-light);
        background: linear-gradient(135deg, var(--oc-cream), var(--oc-white));
        box-shadow: 0 .25rem .75rem rgba(26, 18, 9, .08);
        color: var(--oc-ink);
        font: inherit;
        cursor: pointer;
    }
}
.oc-movel.oc-pv-on .oc-ast-faixa.is-on {
    top: calc(3.25rem + env(safe-area-inset-top, 0px));
}
.oc-ast-faixa__nomes {
    overflow: hidden;
    min-width: 0;
    font-family: var(--oc-font-display);
    font-size: 1.0625rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.oc-ast-faixa__data {
    flex: none;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .08em;
    color: var(--oc-gold-dark);
}
.oc-movel.oc-pv-on:has(input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=file]):not([type=color]):not([type=range]):focus, textarea:focus, select:focus) .oc-ast-verprevia {
    display: none;
}
/* com o convite a vista, o botao "Ver previa" do cabecalho (que rolava ate a previa) nao e mais preciso */
.oc-pv-on .oc-cvd-jump {
    display: none !important;
}
