@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;700&display=swap');

body {
    font-family: 'Open Sans', Arial, sans-serif;
}

html {
    scroll-behavior: smooth;
}

.AB-template-container {
    max-width: 60rem;
    margin: 0 auto;
}

/* nav#breadcrumbs {
    font-size: 0.75rem;
    max-width: 960px;
    margin: 0 auto;
} */

.AB-template-container figure {
    height: 26.25rem;
    display: block;
    position: relative;
}

.thumbnail img {
    max-width: 88.8125rem;
    width: 100%;
    margin: 0 auto;
}

.rounded-corners {
    border-radius: 1rem;
}

main {
    background-color: #fff;
}

.single_add_to_cart_button {
    display: none !important;
}

.AB-add-to-cart {
    font-family: 'Open Sans', sans-serif;
    position: relative;
    border-radius: 30px;
    font-size: 16px;
    z-index: 2;
    /* background: rgb(35, 120, 17); */
    background: var(--color-portoseguro, black);
    color: #fff;
    text-transform: uppercase;
    padding: 1em 2em;
    margin-top: 60px;
    font-weight: 600;
    display: inline-block;
    width: max-content;
}

.AB-add-to-cart.fixado {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 50px;
    margin: auto;
}

.AB-add-to-cart:hover {
    color: #fff;
}

.AB-add-to-cart.carregando {
    color: #fff;
    animation: pulse 1s linear infinite alternate;
    pointer-events: none;
}

.AB-add-to-cart.disabled {
    pointer-events: none;
    background-color: grey;
}

@keyframes pulse {
    0% {}

    100% {
        color: transparent;
    }
}

.variations_form .variations {
    display: none;
}

.variations_form .single_variation_wrap .woocommerce-variation {
    display: none !important;
}



/* => AB-TEMPLATES-MANUTENÇÃO (Manutenção e Preço)*/

h1.AB-heading-h1 {
    font-family: inherit !important;
    font-weight: lighter;
    font-size: 2rem;
    line-height: 1;
    text-align: center;
    /* color: #00ADEF; */
    margin: 3.5rem 0;
}

.AB-subheading {
    margin-top: -3rem;
    font-weight: normal;
    font-size: 1rem;
    color: gray;
    text-align: center;
}

.AB-sale {
    display: none;
    text-align: center;
    width: 100%;
    grid-column: span 12;
    font-weight: 700;
}

.AB-sale.show {
    display: block;
    color: #004E70;
    margin-top: 1rem;
}

.AB-sale-tag {
    display: none;
}

.AB-sale-tag.show {
    display: inline-block;
    margin: 0 auto 0 auto;
    padding: 0.5rem 1rem;
    border-left: thin dotted currentColor;
    border-right: thin dotted currentColor;
    background-color: #FD6262;
    color: white;
    font-weight: bold;
    text-transform: uppercase;
    /* width: 10rem; */
    /* margin-bottom: 5rem; */
}

.AB-a-partir-de {
    font-style: inherit;
    font-weight: inherit;
    font-size: 1.125rem;
    line-height: 1.5rem;
    color: #4a4a4a;
    text-align: center;
    margin-top: 1rem;

}

.AB-price {
    font-weight: bold;
    font-size: 4rem;
    line-height: 1;
    /* color: #004E70; */
    text-align: center;
    font-family: 'Open Sans', sans-serif;
    margin: 10px 0;
}

.AB-parcelas {
    text-align: center;
    margin-bottom: 2rem !important;
    line-height: 1.4;
    font-size: .9375rem;
}

/* => AB-TEMPLATES-CONTRATE (Contrate já)*/

.AB-image-contrate {
    margin-bottom: 2rem;
}

section.AB-template-contrate div:first-child {
    margin-left: 1rem;
}

.AB-image-contrate {
    width: 369px;
    height: 518px;
    border-radius: 1rem;
    object-fit: cover;
}

.AB-heading-h2 {
    font-family: inherit !important;
    font-weight: lighter;
    font-size: 2rem;
    line-height: 1;
    /* color: #00ADEF; */
    margin: 2rem 0;
}

.AB-description-select {
    margin: 2rem 0;
    max-width: 28.75rem;
    font-size: 15px
}

.AB-image-contrate select {
    outline: none;
    color: grey;
}

.variations_form .variations .label {
    display: none;
}

.variations_form .variations {
    width: 100%;

}

.variations_form .variations .label-desc {
    display: none;
}

.variations_form .variations .reset_variations {
    display: none;
}

/* select.AB-form-select { */
.variations_form .variations select.ui.selection.dropdown {
    display: inline-block;
    white-space: normal;
    line-height: 1.25;
    font: inherit;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
    border: none;
    box-sizing: border-box;
    margin: 0;
    border-radius: 0;
    appearance: none;
    width: 100%;
    height: auto;
    min-height: 3rem;
    padding: 1rem 2.25rem 1rem 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 0 24 24' width='24'%3E%3Cpath d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z' fill='%23000000'/%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3C/svg%3E");;
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: center right;
    border-bottom: thin solid #ddd;
}

select.AB-form-select {
    display: inline-block;
    white-space: normal;
    line-height: 1.25;
    font: inherit;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
    border: none;
    box-sizing: border-box;
    margin: 0;
    border-radius: 0;
    appearance: none;
    width: 100%;
    height: auto;
    min-height: 3rem;
    padding: 1rem 2.25rem 1rem 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 0 24 24' width='24'%3E%3Cpath d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z' fill='%23000000'/%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3C/svg%3E");
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: center right;
    border-bottom: thin solid #EDEDED;
    outline: thin dotted transparent;
    outline-offset: 1rem;
    transition: 0.2s;
    margin-bottom: 30px;
}
select.AB-form-select:focus {
    outline-color: #000;
    outline-offset: 2px;
}

input#info_extra{
    display: inline-block;
    white-space: normal;
    line-height: 1.25;
    font: inherit;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
    border: none;
    box-sizing: border-box;
    margin: 0;
    border-radius: 0;
    appearance: none;
    width: 100%;
    height: auto;
    min-height: 3rem;
    padding: 1rem 2.25rem 1rem 0;
    border-bottom: thin solid #EDEDED;
    outline: thin dotted transparent;
    outline-offset: 1rem;
    transition: 0.2s;
}

/* => AB-TEMPLATES-PAGAMENTO (Formas de Pagamento)*/

div#mensagemErro{
    color: #FD6262;
    padding-top: 15px;
}


.AB-template-pagamento {
    margin: 4rem -1rem;
    padding: 2rem 3rem;
    border: thin solid lightgrey;
    border-radius: 0.5rem;

}

.AB-cartoes-type {
    display: flex;
    justify-content: space-around;
    margin-top: 3rem;
}

.AB-cartao {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 2rem;
}

.AB-cartao img {
    margin: 2rem;
}

.AB-title-cartao {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: lighter;
    font-size: 1.5rem;
    text-align: center;
    color: #4a4a4a;
}

.AB-price-cartao-porto {
    font-weight: bold;
    font-size: 2rem;
    line-height: 1;
    text-align: center;
    /* color: #00ADEF; */
}

.AB-price-cartao {
    font-weight: bold;
    font-size: 2rem;
    line-height: 1;
    /* color: #004E70; */
}

/* .AB-parcelas {
    margin: 0.5rem 0;
} */

.AB-desconto-porto {
    /* color: #00ADEF; */
    font-weight: bold;
    margin: 1rem;
}

.AB-valido-titular-cartao {
    font-size: .875rem;
    line-height: 17px;
}

/* => AB-TEMPLATES-PORQUES (Portques) */

.AB-template-list {
    gap: 1.25rem;
    margin-top: 4rem;
}

.AB-template-list li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.AB-template-list li img {
    display: block;
    width: 3rem;
    height: 3rem;
    margin: 0 auto 1rem auto;
    flex-shrink: 0;
}

/* => AB-TEMPLATES-TABS (Por que contratar a Porto Serviço?) */

.AB-template-tabs {
    margin: 4rem 0;
    border-top: thin solid lightgrey;
}

.AB-tab {
    position: relative;
    padding: 1rem;
    border-bottom: thin solid lightgrey;
}

.AB-tab-input {
    position: absolute;
    opacity: 0;
}

.AB-tab-label {
    display: flex;
    font-weight: lighter;
    font-size: 1.25rem;
    color: #000;
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: center left;
    align-self: center;
    cursor: pointer;
}

.hidden-porto {
    display: none;
}

.AB-tab-label-icon {
    vertical-align: middle;
    margin-right: 1rem;
}

.AB-tab-label>* {
    align-self: center;
}

.AB-tab-label svg {
    width: 1.8rem;
    height: 1.8rem;
    margin-right: 2rem;
}

.AB-tab-label::before {
    content: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 0 24 24' width='24'><path d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z' fill='%23000000'/><path d='M0 0h24v24H0V0z' fill='none'/></svg>");
    margin: 0.2rem 1.5rem 0 0;
    align-self: center;
}

.AB-tab-input[type=checkbox]:checked~.AB-tab-label::before {
    transform: rotate(180deg);
}


.AB-tab-label img {
    width: 3rem;
    height: 3rem;
}

.AB-tab-input[type=checkbox]:checked~.AB-tab-content {
    display: block;
    align-self: center;
}

.AB-tab-input[type=checkbox]:checked~label svg {
    transform: rotate(180deg);
}

.AB-tab-content {
    display: none;
    margin: 0;
    padding: 0 0 0 1rem;
    align-self: center;
    font-size: 0.9rem;
}


.AB-tab-content ul li a {
    color: #3273dc;
    cursor: pointer;
    text-decoration: none;
}

.AB-tab-content ul li {
    list-style: circle;
    margin: 1rem 0;
}

.AB-tab-content p {
    margin: 1rem 0;
}

.AB-tab-h3 {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: lighter;
    font-size: 1.25rem;
    line-height: 1;
    color: currentColor;
    margin: 0 2rem;
    width: 23rem;
}

.AB-tabs-italic {
    font-size: .875rem;
    font-style: italic;
    text-align: center;
    margin-top: 1rem;
}

/* => AB-TEMPLATES-SIMILAR  */

.AB-cards-similar {
    display: flex;
    padding: 1px 1rem;
    margin-top: 2rem;
    justify-content: center;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 70px;
}

.AB-card-item {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    width: 12rem;
    box-sizing: border-box;
    padding: 2rem 1.5rem;
    text-align: center;
    color: #000;
    border: thin solid lightgrey;
    border-radius: 0.5rem;
    text-decoration: none;
}

.AB-card-item a img {
    max-width: 120px;
    margin-bottom: 1rem;
}

.AB-card-item:hover,
.AB-card-item a:hover {
    border-color: #000;
    color: #000;
}

.AB-card-item a {
    color: #000;
}

.AB-card-title {
    font-style: inherit;
    font-weight: inherit;
    margin-top: 1rem;
}

.single_add_to_cart_button[disabled]:not(.loading) {
    /* background-color: rgb(35, 120, 17) !important; */
    background-color: var(--color-neutras-black-045, gray) !important;
}

.button[disabled] {
    opacity: 1 !important;
    cursor: pointer !important;
}

@media (max-width: 768px) {
    section.AB-template-contrate div:first-child {
        margin-left: 1rem;
    }
}

@media (max-width: 576px) {
    .AB-sale-tag.show {
        margin: 0rem auto 0 auto;
    }


    .AB-template-product-auto .AB-template-contrate img {
        display: block;
    }

    .AB-template-product-auto .AB-template-contrate {
        padding: 0;
    }

    .AB-template-product-auto section.AB-template-contrate div:first-child {
        margin-left: 0;
    }

    .AB-template-product-auto section.AB-template-contrate div:last-child {
        padding: 0 15px;
    }

    .AB-template-product-auto .AB-description-select {
        text-align: center;
    }

    .AB-template-list li img {
        margin: 0 1rem 0;
    }

    .AB-template-list li {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-direction: row;
        text-align: left;
    }

    .thumbnail img {
        /* min-height: 360px;
        object-fit: cover; */
    }

    .AB-cards-similar {
        justify-content: start;
    }

    .AB-price {
        font-size: 3rem;
    }

    h1.AB-heading-h1 {
        font-size: 1.4rem;
    }

    .AB-heading-h2 {
        font-size: 1.5rem;
        text-align: center;
    }

    .AB-cartao {
        margin: 2rem 0;
    }

    .AB-tabs-italic {
        padding: 0 1rem;
    }

    .AB-tab-h3 {
        width: 11rem;
    }

    /* .single_add_to_cart_button{
        left: 0!important;
        right: 0!important;
        margin: auto !important;
    } */

    .woocommerce-variation-add-to-cart {
        text-align: center;
    }

    .AB-add-to-cart {

        display: block;
        margin: 60px auto 0;
    }

}

@media (max-width: 390px) {
    .AB-tab-content {
        width: 69%;
    }
}

/* ##########################################################
============================================================= TEMPALTE PRODUCT AVALIACAO TECNICA */
.AB-steps {
    margin: 6rem -2rem;
    padding: 0 2rem;
    counter-reset: step;
}

.AB-steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    background: linear-gradient(lightgrey, lightgrey);
    background-size: 77.5% 1px;
    background-repeat: no-repeat;
    background-position: center 2rem;
}

.steps-grid .step {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.AB-step-icon {
    width: 4rem;
    height: 4rem;
    margin: 0 auto;
    border: thin solid lightgrey;
    border-radius: 2rem;
    background-color: var(--color-grey-lighter, white);
    outline: 0.25rem solid var(--color-grey-lighter, white);
}

/* .AB-step-icon:before {
    content: '';
    display: block;
    width: 4rem;
    height: 4rem;
    background-size: 4rem;
    background-position: center;
    background-repeat: no-repeat;
} */

/* .AB-step-1 .AB-step-icon:before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2'%3E%3Cpath d='M47.466 49.761h-4.231V39.678l2.6.715a2.225 2.225 0 011.631 2.14v7.228zm-5.882 0H21.533V39.225l1.829-.503V45.1c0 .456.37.826.826.826h14.741c.456 0 .826-.37.826-.826v-6.378l1.829.503v10.536zm-21.701 0h-4.232v-7.228c0-.996.671-1.876 1.631-2.14l2.601-.715v10.083zm5.131-11.542c1.289-.576 2.379-1.704 2.93-3.031 1.128.749 2.353 1.16 3.604 1.16.843 0 1.672-.19 2.47-.539.028-.011.054-.024.082-.036a6.668 6.668 0 00.713-.369c.043-.025.087-.051.13-.078.076-.046.154-.088.231-.138.55 1.327 1.641 2.455 2.929 3.031v6.055H25.014v-6.055zm.167-9.384a.827.827 0 00-.877-.516c-.244.038-.794-.446-1.099-1.405-.26-.817-.187-1.424-.043-1.695h16.772c.143.271.216.878-.044 1.695-.305.959-.846 1.433-1.098 1.405a.828.828 0 00-.878.516c-1.423 3.616-3.863 5.863-6.366 5.863-2.503 0-4.943-2.247-6.367-5.863m-3.189-5.267a.46.46 0 010-.917h.515a.825.825 0 00.825-.805c.083-3.361 2.252-6.3 5.377-7.445v4.032a.826.826 0 001.651 0v-5.186c0-.328.268-.595.596-.595h1.184c.328 0 .596.267.596.595v5.186a.825.825 0 101.651 0V14.4c3.125 1.144 5.294 4.082 5.377 7.446a.825.825 0 00.825.805h.515a.46.46 0 010 .917H21.992zm24.281 15.233s-6.79-1.865-6.812-1.87c-1.343-.253-2.578-1.479-2.926-2.859.106-.105.206-.225.309-.338l.059-.066c.121-.135.24-.27.355-.414.105-.126.206-.259.307-.393.04-.054.083-.104.123-.159l-.005.002a14.35 14.35 0 001.57-2.783c.938-.222 1.779-1.149 2.211-2.507.265-.831.31-1.616.17-2.271a2.108 2.108 0 001.58-2.034c0-1.076-.81-1.966-1.852-2.094-.418-3.938-3.212-7.266-7.062-8.378A2.25 2.25 0 0032.14 11h-1.184a2.25 2.25 0 00-2.161 1.638c-3.849 1.113-6.643 4.441-7.062 8.377a2.112 2.112 0 00-1.85 2.094c0 .978.671 1.795 1.575 2.033-.139.655-.091 1.442.174 2.273.432 1.357 1.273 2.284 2.211 2.506.723 1.681 1.664 3.086 2.739 4.151-.348 1.38-1.583 2.606-2.926 2.859-.022.005-6.812 1.87-6.812 1.87A3.88 3.88 0 0014 42.533v8.054c0 .456.37.825.826.825h33.466a.825.825 0 00.825-.825v-8.054a3.88 3.88 0 00-2.844-3.732' fill='%23272727' fill-rule='nonzero'/%3E%3C/svg%3E");
}
.AB-step-2 .AB-step-icon:before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2'%3E%3Cpath d='M23.523 42.489H18.84a1.037 1.037 0 01-1.036-1.036V27.821c0-.572.465-1.037 1.036-1.037h4.683c.571 0 1.036.465 1.036 1.037v13.632c0 .571-.465 1.036-1.036 1.036m2.841-14.091l1.208-.823c3.198-2.176 5.417-5.411 6.251-9.109.179-.79.269-1.507.269-2.132 0-.761.119-2.53 1.207-2.53.321 0 1.03.985 1.411 2.527.294 1.193-.334 4.224-.942 7.155-.119.57-.239 1.15-.356 1.732a.902.902 0 00.884 1.081h6.244c.722 0 1.413.311 1.892.852a2.53 2.53 0 01.616 1.981l-1.303 10.67a2.536 2.536 0 01-2.477 2.221c-5.273.062-8.897-.02-10.215-.238a28.974 28.974 0 01-4.689-1.197v-12.19zm19.418-2.444a4.333 4.333 0 00-3.242-1.46h-5.138l.134-.65c.708-3.411 1.319-6.356.926-7.946C38.236 14.984 37.34 12 35.299 12c-1.885 0-3.011 1.62-3.011 4.334 0 .491-.076 1.074-.224 1.735-.734 3.25-2.69 6.097-5.507 8.014l-.555.379a2.83 2.83 0 00-2.479-1.482H18.84A2.843 2.843 0 0016 27.821v13.632a2.843 2.843 0 002.84 2.84h4.683a2.837 2.837 0 002.656-1.862 31.2 31.2 0 004.58 1.134c1.136.188 3.582.283 7.271.283 1.112 0 2.227-.008 3.26-.021a4.345 4.345 0 004.245-3.806l1.304-10.67a4.332 4.332 0 00-1.057-3.397' fill='%23272727' fill-rule='nonzero'/%3E%3C/svg%3E");
}
.AB-step-3 .AB-step-icon:before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2'%3E%3Cpath d='M48.64 44.867c0 .176-.144.32-.323.32h-24.96a.322.322 0 01-.322-.32v-15.61c0-.18.144-.324.322-.324h24.96c.179 0 .323.144.323.323v15.61zM14.923 33.859a.322.322 0 01-.32-.323v-8.661h25.602v2.453H23.357a1.93 1.93 0 00-1.925 1.928v4.603h-6.51zm0-16.254h24.962a.32.32 0 01.32.32v1.368H14.603v-1.368a.32.32 0 01.32-.32m-.32 3.291h25.602v2.373H14.603v-2.373zm33.714 6.432h-6.506v-9.403A1.928 1.928 0 0039.885 16H14.923A1.926 1.926 0 0013 17.925v15.611c0 1.064.861 1.928 1.923 1.928h6.509v9.403c0 1.061.864 1.925 1.925 1.925h24.96a1.93 1.93 0 001.928-1.925v-15.61a1.932 1.932 0 00-1.928-1.929' fill='%23242424' fill-rule='nonzero'/%3E%3Cpath d='M44.016 42.363c-.363 0-.701-.144-.955-.408a.813.813 0 00-.578-.246.813.813 0 00-.579.246c-.25.264-.592.408-.955.408a1.33 1.33 0 01-1.325-1.328c0-.73.595-1.328 1.325-1.328.363 0 .704.146.955.408a.803.803 0 001.157 0c.254-.262.592-.408.955-.408.73 0 1.328.597 1.328 1.328 0 .73-.597 1.328-1.328 1.328m0-4.259c-.552 0-1.077.15-1.533.43a2.934 2.934 0 00-4.464 2.501 2.936 2.936 0 002.93 2.933c.552 0 1.078-.152 1.534-.432.456.28.981.432 1.533.432a2.939 2.939 0 002.933-2.933 2.936 2.936 0 00-2.933-2.93M36.01 32.699h-9.837a.803.803 0 000 1.605h9.838a.803.803 0 000-1.605M39.333 34.301H42.4a.803.803 0 000-1.605h-3.067a.803.803 0 000 1.605' fill='%23242424' fill-rule='nonzero'/%3E%3C/svg%3E");
}
.AB-step-4 .AB-step-icon:before {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2'%3E%3Cpath d='M25.22 22.656h13.398a.957.957 0 000-1.914H25.22a.958.958 0 000 1.914M39.575 27.44a.957.957 0 00-.957-.956H25.22a.957.957 0 000 1.914h13.398a.958.958 0 00.957-.957' fill='%23272727' fill-rule='nonzero'/%3E%3Cpath d='M42.924 47.537l-22.01.009-.009-30.632 22.019-.009v17.336l-5.046 5.046-4.785-4.785a1.436 1.436 0 00-2.03 2.03l6.815 6.815 5.046-5.046v9.236zm.009.957v-.957.957zm9.14-21.373a1.435 1.435 0 00-2.029 0l-5.206 5.206V16.905A1.906 1.906 0 0042.933 15H20.905A1.906 1.906 0 0019 16.905v30.641c0 1.051.854 1.905 1.905 1.905h22.028a1.906 1.906 0 001.905-1.905V36.387l7.235-7.236a1.435 1.435 0 000-2.03' fill='%23272727' fill-rule='nonzero'/%3E%3C/svg%3E");
} */
.AB-step-icon:before {
    filter: invert(28%) sepia(100%) hue-rotate(160deg) saturate(6) brightness(140%);
    /* primary */
}

.AB-step-h3 {
    font-size: 1rem;
    font-weight: lighter;
    line-height: 1;
    margin: 1rem 0;
    text-align: center;
}

.AB-step-h3:before {
    counter-increment: step;
    content: counter(step) ". ";
    font-weight: bold;
}

.AB-step-descricao {
    font-size: .875rem;
    line-height: inherit;
    margin: 1rem 0;
    text-align: center;
}

.AB-step-summary[open] summary {
    transform: rotate(180deg);
}


.AB-step-summary summary {
    border: 1px solid #ddd;
    background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 0 24 24' width='24'><path d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z' fill='%23000000'/><path d='M0 0h24v24H0V0z' fill='none'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    margin-left: 5.3rem;
    border-radius: 18px;
    width: 2.7rem;
    color: transparent;
    margin-top: 15px;
}

.AB-step-summary summary:hover {
    border: 1px solid #000;
}

.AB-step-ul {
    font-size: 12px;
    margin: 1rem 0;
    border: 1px solid #ddd;
    border-radius: 18px;
    padding: 1rem 2rem;
    word-break: break-word;
}

.AB-step-ul ul {
    list-style: circle;
}

.AB-step-ul ul li {
    margin: 1rem 0;
}

.AB-step-ul:hover {
    border-color: #000;
}


.AB-step-ul p {
    margin-bottom: 15px;
    font-size: 12px;
}


/* ########################################################   ENTENDA O ORÇAMENTO */
.AB-entenda-orcamento {
    margin: 6rem 0;
    padding: 15px;
}

.AB-container-orcamento {
    max-width: 34.375rem;
    /* 550px */
    margin: 0 auto;
}

.AB-container-orcamento p {
    font-size: 1rem;
    line-height: 1.5;
    text-align: center;
    margin: 1rem 0;
}

.wrapper-entenda-tabela {
    margin: 1rem auto;
}

.AB-entenda-tabela {
    border: thin solid lightgrey;
    border-radius: 0.5rem;
    padding: 1rem 0;
}

.AB-entenda-tabela table {
    width: 100%;
    border: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

.AB-entenda-tabela th,
.AB-entenda-tabela td {
    line-height: 1;
    text-align: center;
    vertical-align: middle;
}

.AB-entenda-tabela th {
    font-weight: bold;
    position: relative;
    padding: 0.5rem 1rem;
}

.AB-entenda-tabela th[scope='row'] div[data-row-label] {
    display: none;
}

.AB-entenda-tabela th[scope='row'] small {
    font-weight: normal;
    font-size: 0.875rem;
    color: gray;
}

.AB-entenda-tabela tbody td:not(:first-child) {
    border-left: thin solid lightgrey;
}

.toltip-text {
    background-color: #19a8e6;
    display: inline-block;
    color: #fff;
    border-radius: 5px;
    padding: 10px;
    font-size: 11px;
    font-weight: 300;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    display: none;
}

.toltip-text p {
    font-size: 12px;
    line-height: 1.5;
}

.toltip:hover {
    color: #000;
    text-decoration: underline;
    cursor: alias;
}

.toltip:hover~.toltip-text {
    display: block;
}

.AB-entenda-tabela table tbody .comun-price small,
.AB-entenda-tabela table tbody .porto-price small {
    display: none;
}

.tabela-dificuldade {
    display: none;
}

@media (max-width: 992px) {
    .AB-steps-grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 6rem;
        background-size: 1px 90%;
        background-position: center;
    }

    .step {
        font-size: 0.875rem;
        text-align: center;
        max-width: 35ch;
        margin: 0 auto;
        background-color: #fff;
    }

    .AB-step-summary summary {
        margin-left: 8.8rem;
    }
}

@media (max-width: 480px) {
    .AB-entenda-tabela {
        max-width: 21.5625rem;
        /* 345px */
        margin: 0 auto;
    }

    .AB-entenda-tabela tbody td:not(:first-child) {
        border-left: none;
    }

    .AB-entenda-tabela table {
        display: flex;
        justify-content: center;
        width: 100%;
        border-radius: 0.5rem;
        border-collapse: collapse;
        border-spacing: 0;
    }

    .AB-entenda-tabela table thead tr th[scope='col'] {
        display: none;
    }

    .AB-entenda-tabela table th {
        display: block;
        width: 300px;
        margin: 1rem 0;
    }

    .AB-entenda-tabela table tbody {
        display: flex;
        flex-direction: column;
    }

    .AB-entenda-tabela table td {
        display: block;
        width: 100%;
    }

    .AB-entenda-tabela table tr:not(:last-child) {
        border-bottom: thin solid lightgrey;
        padding: 1rem 0;
    }

    .AB-entenda-tabela table tbody p {
        margin: 0;
    }

    .AB-entenda-tabela table tbody .comun-price small,
    .AB-entenda-tabela table tbody .porto-price small {
        color: grey;
        display: block;
        margin: 0.5rem 0;
    }

    .tabela-dificuldade {
        display: block;
        color: #808080;
    }

    .texto-copia-chave p {
        font-size: 0.5;
    }

}

/* ##########################################################
============================================================= TEMPALTE PRODUCT AUTO */

.AB-form-label {
    display: block;
    width: 100%;
    margin-top: 2rem;
    font-weight: bold;
    font-size: 0.75rem;
    line-height: 1;
}

.AB-form-input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font: inherit !important;
    outline: none;
    display: block;
    color: inherit;
    color: var(--color-primary);
    background-color: transparent;
    border: none;
    border-bottom: thin solid lightgrey;
    border-radius: 0;
    box-sizing: border-box;
    box-shadow: none;
    padding: 1rem 0;
    margin: 0;
    width: 100%;
    min-height: 3rem;
    transition: 0.25s;
}

input::placeholder {
    color: lightgray;
}

input:invalid,
textarea:invalid {
    color: red;
}

input:focus {
    border-bottom: thin solid #000;
}

.texto-copia-chave p {
    font-size: 1rem;
    color: #4a4a4a;
    margin: 1rem auto;
}

@media (max-width: 400px) {
    .texto-copia-chave p {
        font-size: 0.8rem;
    }
}

/* ##########################################################
============================================================= TEMPALTE PRODUCT QUANTITY */

.hide {
    display: none !important;
}

#AB-select-sofa {
    /* margin: 0 1.2rem; */
    counter-reset: sofa-counter;
}

#AB-select-sofa div:first-child {
    margin-left: 0;
}

.AB-select {
    margin: 2rem 0;
    border: 1px solid lightgray;
    border-radius: 5px;
    padding: 0.2rem 0;
    position: relative;
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 0 24 24' width='24'%3E%3Cpath d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z' fill='%23000000'/%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3C/svg%3E");
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: center right;
    position: relative;
}

.AB-select:hover {
    border: 1px solid #000;
}

select.AB-form-select.AB-form-select-sofa {
    display: inline-block;
    white-space: normal;
    line-height: 1.25;
    font: inherit;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
    border: none;
    box-sizing: border-box;
    margin: 0;
    border-radius: 0;
    -webkit-appearance: none;
    width: 100%;
    height: auto;
    outline: none;
    min-height: 0;
    width: 100%;
    padding: 1.5rem 1rem 0.2rem;
}

.AB-select-title {
    /* color: #00ADEF; */
    color: var(--color-neutras-black-045);
    font-weight: bold;
    font-size: 0.75em;
    text-transform: uppercase;
    padding: 0 1rem;
    position: absolute;
    top: 5px;
}

.AB-select-title::after {
    counter-increment: sofa-counter;
    content: " " counter(sofa-counter) " ";
}

.clouse {
    position: absolute;
    right: -11px;
    top: -13px;
    border: 1px solid lightgray;
    border-radius: 50%;
    width: 25px;
    background: #fff;
    color: #000;
    text-align: center;
}

.clouse:hover {
    border-color: #000;
    cursor: pointer;
}

.AB-add-select {
    margin: 2rem 0 1rem;
    color: #000;
    cursor: pointer;
    display: block;
}

.AB-bottom-text {
    margin-top: 4rem;
}

.AB-bottom-text img {
    width: 182px;
}

.AB-bottom-text p {
    max-width: 38ch;
    font-size: 0.75rem;
    line-height: 17px;
    margin: 1rem 0;
    color: grey;
}

#final-text p {
    font-size: 0.8rem !important;
    font-style: italic;
    line-height: 17px;
    color: grey;
}

#final-text a {
    color: #000;
    cursor: pointer;
}

/* // ORCAMENTO */

.AB-parcelas-sofa {
    /* color: #00ADEF; */
    font-size: 1rem;
    margin-bottom: 5px !important;
}

.AB-parcelas-sofa span {
    font-size: 2.5rem;
    line-height: 1;
    /* color: #00ADEF; */
    margin-top: -1rem;
    font-weight: bold;
}

#AB-cartão-sofa {
    margin: 0;
}

.AB-price-cartao-sofa {
    font-size: 16px;
    color: #272727;
    margin: 0.3rem;
    text-align: center;
    max-width: 185px;
}

.AB-price-cartao-sofa strong {
    font-size: 17px;
}

.AB-button-sofa {
    font-family: 'Open Sans', sans-serif;
    position: relative;
    border-radius: 30px;
    font-size: 16px;
    z-index: 2;
    /* background: rgb(35, 120, 17); */
    background: var(--color-portoseguro, black);
    color: #fff;
    text-transform: uppercase;
    padding: 1em 2em;
    margin: 2rem auto;
    font-weight: 600;
    display: block;
    width: max-content;
    min-width: 15rem;
    text-align: center;
}

.AB-button-sofa:hover {
    color: #fff;
    filter: brightness(0.9);
}

.AB-template-pagamento-sofa {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    padding: 1em 2em;
    margin: 60px 15px;
    border: thin solid lightgrey;
    border-radius: 0.5rem;
}

.AB-template-pagamento-sofa h2:first-child {
    margin-top: 2.5rem;
}

.AB-cartao-sofa {
    font-size: 20px;
    margin: 1rem 0;
    color: #808080;
    text-align: center;
}

.AB-cartao-sofa strong {
    color: #808080;
}

.AB-desconto-img {
    display: flex;
}

.AB-desconto-sofa span:first-child {
    font-size: 1.5rem;
    line-height: 1;
    font-weight: bold;
    /* color: #00ADEF; */
}

.AB-desconto-img::before {
    content: '';
    display: block;
    width: 7em;
    height: 4em;
    /* margin-right: 1em; */
    background-image: url(https://s3-sa-east-1.amazonaws.com/cdn.portosegurofaz.com.br/wp-content/uploads/2023/11/01135805/credit-cards-porto-bank.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.AB-wrapper-desconto-sofa {
    display: flex;
}

.AB-desconto-sofa {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.AB-dez-vezes {
    font-size: 1rem;
    color: #808080;
}

.AB-dez-vezes::after {
    content: '';
    display: inline-block;
    width: 3.5em;
    height: 1em;
    margin-top: 0.25em;
    margin-left: 0.25em;
    vertical-align: text-bottom;
    background-image: url(https://s3-sa-east-1.amazonaws.com/cdn.portosegurofaz.com.br/wp-content/uploads/2019/05/07094831/logos-visa-mastercard.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.AB-descricao-desconto p {
    display: inline-block;
    max-width: 50ch;
    font-size: 0.75rem;
    color: #808080;
    text-align: center;
    margin-top: 1rem;
    margin-top: 1rem;
}


/* ##########################################################
============================================================= TEMPALTE PRODUCT COMBO */

#AB-template-combo .AB-description-select {
    font-size: .8125rem;
}


#AB-template-combo .AB-combo-wrapper {
    display: flex;
    align-items: center;
    /* margin-left: 1rem; */
}

#AB-template-combo section.AB-template-contrate div:first-child {
   margin:0;
}


#AB-template-combo .AB-description-select {
    margin: 0;
}

#AB-template-combo .AB-select-combo {
    max-width: 20.3125rem;
    width: 100%;
    margin-bottom: 0.4rem;
    border-radius: 5px;
    padding: 0.2rem 0;
    position: relative;
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 0 24 24' width='24'%3E%3Cpath d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z' fill='%23000000'/%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3C/svg%3E");
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: center right;
    position: relative;
    outline: none;
}

/* #AB-template-combo .AB-select-combo .AB-form-select:first-child {
    color: grey;
} */
/* 
#AB-template-combo .AB-select-combo .AB-form-select:first-child:hover {
    border-bottom: thin solid red;
    cursor: pointer;
} */

#AB-template-combo .AB-select-buttons {
    margin-left: 1rem;
    display: flex;
    align-items: center;
}

#AB-template-combo .AB-select-strong {
    font-size: 14px;
    color: #272727;
    margin-top: 2rem;
    display: block;
}

#AB-template-combo .AB-select-buttons .button-decrement,
#AB-template-combo .AB-select-buttons .button-increment {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: #000;
    border: thin solid lightgrey;
    border-radius: 2rem;
    border-top-left-radius: 2rem;
    border-top-right-radius: 2rem;
    border-bottom-right-radius: 2rem;
    border-bottom-left-radius: 2rem;
    padding: 0;
    width: 2rem;
    height: 2rem;
    align-self: center;
    margin: 0 1rem;
    cursor: pointer;
}

#AB-template-combo .AB-select-buttons .button-decrement:hover,
#AB-template-combo .AB-select-buttons .button-increment:hover {
    border-color:#000;
}

#AB-template-combo .AB-select-buttons .button-fechar {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: #000;
    border: thin solid transparent;
    border-radius: 2rem;
    border-top-left-radius: 2rem;
    border-top-right-radius: 2rem;
    border-bottom-right-radius: 2rem;
    border-bottom-left-radius: 2rem;
    padding: 0;
    width: 2rem;
    height: 2rem;
    align-self: center;
    cursor: pointer;
}

#AB-template-combo .AB-select-buttons .button-fechar:hover {
    border-color:#FD6262;
    color: #FD6262;
}

#AB-template-combo .AB-select-buttons button[disabled]:hover {
    cursor: default;
}

#AB-template-combo a.AB-add-select:hover {
    cursor: pointer;
    color: #000;
    text-decoration: underline;
}

#AB-template-combo .AB-combo-small-text {
    display: block;
    padding: 0;
    font-size: 0.75rem;
    font-style: italic;
    color: grey;
    margin-top: -3.5rem;
}

#AB-template-combo .disabled{
    opacity: .5;
    pointer-events: none;
}

#AB-template-combo *[disabled]{
    opacity: .5;
    pointer-events: none;
}

#AB-template-combo .AB-bottom-text{
    margin-top: 0;
}

#AB-template-combo .AB-select-combo select:invalid:hover {
    border-color: red;
}
#AB-template-combo .AB-select-combo select:invalid {
    color: grey;
}
#AB-template-combo .AB-select-combo select:hover {
    border-bottom: thin solid #000;
}

#AB-template-combo .AB-desconto-card-credit {
    font-size: .875rem;
    font-weight: bold;
    color: #004E70;
}

#AB-template-combo .AB-desconto-card-porto {
    font-size: .875rem;
    font-weight: bold;
    /* color: #00ADEF; */
}

#AB-template-combo .card-porto {
    /* color: #00ADEF; */
}

#AB-template-combo .AB-parcelas strong {
    font-weight: bold;
}