/* -------------------------- */
/* Área de Visualização Geral */
/* -------------------------- */
.poster-preview {
    padding-left: 10%;
}

.preview {
    position: relative;
    font-family: "Komikax", sans-serif;
}


/* -------------------------- */
/* Cartaz Principal */
/* -------------------------- */
.poster {
    width: 7.434cm;
    height: 10.5cm;
    position: relative;
    display: block;
    border: 1px solid #000;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: local;
    page-break-after: always;
    page-break-inside: avoid;
}

.poster::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.9;
    background: transparent;
    z-index: 0;
}

.poster > * {
    position: relative;
    z-index: 1;
}

.poster.template-muted::before {
    background: rgb(255, 255, 255);
    opacity: 1;
}


/* -------------------------- */
/* Descrição do Produto */
/* -------------------------- */
.poster__description {
    position: absolute;
    top: 2.94cm;
    left: 0.446cm;
    width: 6.542cm;
    height: 2.94cm;
    border: none;
}

.description-line {
    display: block;
    text-align: center;
}

.line-1 {
    font-size: 0.6cm;
    color: #000000 !important;
    text-align: center !important;
    line-height: 100% !important;
    text-transform: uppercase !important;
    float: left !important;
    width: 100%;
    font-weight: bold;
    word-wrap: break-word;
    white-space: normal;
    display: block;
}


/* -------------------------- */
/* Preço Principal */
/* -------------------------- */
.poster__price {
    position: absolute;
    top: 6.1cm;
    left: 0.446cm;
    width: 6.542cm;
    height: 3.885cm;
    border: none;
    overflow: visible;

    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 0.05em;
    font-weight: bold;
    color: #000000;
    padding-bottom: 0.3cm;
}

.price-reais,
.price-comma,
.price-cents,
.price-measures {
    display: inline-block;
}

.price-real {
    font-size: 7rem;
    line-height: 1;
    font-weight: bold;
    vertical-align: bottom;
    letter-spacing: -0.05em;
    margin-bottom: 0.6rem;
}

.price-comma {
    font-size: 4rem;
    line-height: 1;
    margin-bottom: 0.5rem;
    margin-left: -0.12cm;
}

.price-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
}

.poster.has-unit .price-right {
    align-items: flex-start;
}

.poster.has-unit .price-cents {
    margin-left: -0.15cm;
    margin-top: -0.5cm;
}

.poster.has-unit .price-measures {
    text-align: left;
    margin-left: 0.12cm;
}

.price-cents {
    font-size: 3rem;
    line-height: 1;
    margin: 0;
    vertical-align: top;
    font-weight: bold;
    margin-bottom: 0.6rem;
    margin-top: -1.1cm;
    position: relative;
    top: -0.6cm;
}

.price-measures {
    font-size: 1rem;
    text-align: center;
    margin: 0.2rem 0 0 0;
}

/* Ajustes apenas na pré-visualização */
.poster-preview .price-real {
    font-size: 5.4rem;
}

.poster-preview .price-cents {
    font-size: 2.2rem;
    margin-left: 0.2cm;
}

.poster-preview .poster.has-unit .price-comma {
    margin-right: 0.12cm;
}

.poster-preview .poster.has-unit .price-cents {
    margin-left: 0.12cm;
}

.poster-preview .price-measures {
    font-size: 0.75rem;
}

.poster-preview #price-economy {
    font-size: 0.9rem;
    padding: 0.08cm 0.2cm;
}


/* -------------------------- */
/* (DE/POR com imagem e economia) */
/* -------------------------- */
#poster__price__ofBy {
    position: absolute;
    inset: 0;
}

#price-labels {
    position: absolute;
    top: 5.8cm;
    left: 0.44604cm;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2cm;
    font-size: 18px;
    font-weight: bold;
}

#price-of {
    position: static;
    font-size: 18px;
    color: #000000;
    text-align: left;
    line-height: 90%;
    display: block;
}

#price-by {
    position: static;
    font-size: 15px;
    color: #000000;
    text-align: left;
    line-height: 100%;
    display: block;
}

#price-img-old {
    width: 2cm;
    height: 11cm;
    position: absolute;
    top: 0;
    left: 0.85cm;
    background-image: url('https://www.sistemaprecopratico.com/v1/application/layouts/x-preco-antigo.png');
    background-repeat: no-repeat;
    background-size: 1.947cm 0.7075cm;
    font-size: 0.30px;
    color: #FFF;
    border: none;
}

#price-spare {
    position: absolute;
    inset: 0;
}

#price-economy {
    position: absolute;
    bottom: 0.4cm;
    right: 0.5cm;
    background-color: #e60000;
    color: #fff;
    padding: 0.1cm 0.25cm;
    border-radius: 50%;
    font-size: 1.1rem;
    font-weight: bold;
    z-index: 10;
    box-shadow: 0 0 0.2cm rgba(0, 0, 0, 0.3);
}

.poster #poster__price__ofBy #price-spare #price-economy {
    top: auto !important;
    left: auto !important;
    right: 0.12cm !important;
    bottom: 0.12cm !important;
    margin: 0 !important;
    transform: none !important;
}

.preview {
    position: relative;
    font-family: "Komikax", sans-serif;
}


#folha {
    width: 7.434cm;
    height: 10.5cm;
    display: block;
    float: left;
    position: relative;
    border: solid black;
    page-break-after: always;
    page-break-inside: avoid;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: local;
}


.preview #folha::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0.9;
}

#folha img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    display: block;
    margin: auto;
    object-fit: contain;
    /* Mantém a proporção sem cortes */
}


/* Estilo de Códigos de Barras */
#codBarras {
    position: absolute;
    top: 0.21cm;
    left: 0.22302cm;
    text-align: center;
    font-size: 21.23pt;
    color: #000;
    line-height: 100%;
    border: none;
}

/* Estilo de Descrição Principal */
#descriptionContainer {
    width: 6.54192cm;
    height: 2.94cm;
    position: absolute;
    top: 2.94cm;
    left: 0.44604cm;
    border: none;
}


.preview #priceContainer {
    width: 6.61626cm;
    height: 3.885cm;
    position: absolute;
    top: 5.1cm;
    border: none;
}

/* Estilo para Parágrafos de Descrição (descOffer) */
#descOffer-01,
#descOffer-02 {
    width: 6.54192cm !important;
    height: 0.882cm !important;
    font-size: 25.48pt !important;
    color: #000000 !important;
    text-align: center !important;
    line-height: 100% !important;
    text-transform: uppercase !important;
    float: left !important;
    font-family: "Komikax" !important;
    margin: 0 auto;
}

#overlappingDescriptionOne {
    font-size: 25.48pt;
    color: #000000 !important;
    text-align: center !important;
    line-height: 100% !important;
    text-transform: uppercase !important;
    float: left !important;
    width: 100%;
    font-weight: bold;
    word-wrap: break-word;
    white-space: normal;
    display: block;
}

#overlappingDescriptionTwo {
    color: #000000 !important;
    text-align: center !important;
    line-height: 100% !important;
    text-transform: uppercase !important;
    float: left !important;
    width: 100%;
    font-weight: bold;
    font-size: 1.5rem;
}

#overlappingDescriptionThree {
    color: #000000 !important;
    text-align: center !important;
    /* line-height: 100% !important; */
    text-transform: uppercase !important;
    float: left !important;
    width: 100%;
    font-weight: bold;
}


#descOffer-02 {
    font-size: 30px !important;
}

.sobrescrever_desc-02 {
    width: 6.54192cm !important;
    height: 1.47cm !important;
    font-size: 42.47pt !important;
    font-family: "Komikax" !important;
    color: #000000 !important;
    text-align: center !important;
    line-height: 100% !important;
    text-transform: uppercase !important;
    float: left !important;
    border: none;
}

.preview #priceContainer {
    width: 6.61626cm;
    height: 3.885cm;
    position: absolute;
    top: 5.1cm;
    border: none;
}

.preview #priceContainer.one-digit {
    left: 0.3cm !important;
}

.preview #priceContainer.two-digits {
    left: 1.3cm !important;
}

.preview #priceContainer.three-digits {
    left: 1.7cm !important;
}

/* Preços (Primário e Complementar) */
.preview #priceReais {
    position: absolute;
    font-size: 140px !important;
    /* top: 0.5cm; */
    right: 3.5cm;
    color: #F00000;
    line-height: 100%;
}

.preview #comma {
    position: absolute;
    bottom: 0.08cm !important;
    right: 2.9cm !important;
    font-size: 110px !important;
    color: #F00000;
    line-height: 100%;
    display: flex;
    justify-content: center;
}

.preview #priceCents {
    position: absolute;
    font-size: 80px !important;
    line-height: 1;
    top: 0.9cm;
    left: 3.5cm !important;
    color: #F00000;
}

#measures {
    position: absolute;
    bottom: 0.1554cm;
    right: 1.4cm;
    font-size: 15px;
    color: #000000;
    text-transform: uppercase;
    font-family: "Komikax" !important;
}

#of {
    position: absolute;
    top: 5.8cm;
    left: 0.44604cm;
    font-family: "Komikax";
    font-size: 18px;
    color: #000000;
    text-align: left;
    line-height: 90%;
}

.preview #dc02-por {
    position: absolute;
    top: 6.0375cm;
    left: 0.44604cm;
    font-size: 15px;
    color: #000000;
    text-align: left;
    line-height: 100%;
    font-family: "Komikax";
}

.preview #dc02-p01-x {
    width: 2.08152cm;
    height: 0.735cm;
    position: absolute;
    top: 5.25cm;
    left: 1.04076cm;
    background-image: url('https://www.sistemaprecopratico.com/v1/application/layouts/x-preco-antigo.png');
    background-repeat: no-repeat;
    background-size: 1.947cm 0.7075cm;
    font-size: 0.35pt;
    color: #FFF;
    border: none;
}

/*#economize {*/
/*    width: 1.78cm;*/
/*    height: 1.64cm;*/
/*    position: absolute;*/
/*    bottom: 0.315cm;*/
/*    right: 0.2379cm;*/
/*    display: flex;*/
/*    justify-content: center;*/
/*    align-items: center;*/

/*    background: url(https://www.sistemaprecopratico.com/v1/application/layouts/economize.png) no-repeat center;*/
/*    background-size: contain;*/
/*}*/

#valueEconime {
    font-family: "Komikax", sans-serif;
    font-size: 14.16pt;
    line-height: 1;
    color: #fff;
}

#swiper-with-arrows {
    max-width: 800px;
    height: 200px;
    margin: auto;
    overflow: hidden;
}

.swiper-wrapper {
    display: flex;
    align-items: center;
}

.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
}

@media print {
    body {
        visibility: hidden;
    }

    #folha {
        visibility: visible;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        page-break-before: always;
        page-break-inside: avoid;
    }

    #descriptionContainer,
    #priceContainer,
    .desc-01,
    .desc-02 {
        display: block;
        width: auto;
        height: auto;
    }
}


.opacity-low {
    opacity: 0.5 !important;
    transition: opacity 0.3s ease-in-out;
}