.elementor-32254 .elementor-element.elementor-element-920865c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-32254 .elementor-element.elementor-element-22d1481{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-32254 .elementor-element.elementor-element-72a970e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32254 .elementor-element.elementor-element-ebcda5c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-32254 .elementor-element.elementor-element-fdfdb74{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.woocommerce .elementor-widget-woocommerce-product-price .price{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-32254 .elementor-element.elementor-element-fd06428 .cart button, .elementor-32254 .elementor-element.elementor-element-fd06428 .cart .button{transition:all 0.2s;}.elementor-32254 .elementor-element.elementor-element-fd06428 .quantity .qty{transition:all 0.2s;}.elementor-32254 .elementor-element.elementor-element-f5c3ccd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:1366px){.elementor-widget-woocommerce-product-title .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.woocommerce .elementor-widget-woocommerce-product-price .price{line-height:var( --e-global-typography-primary-line-height );}}@media(max-width:1024px){.elementor-widget-woocommerce-product-title .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.woocommerce .elementor-widget-woocommerce-product-price .price{line-height:var( --e-global-typography-primary-line-height );}}@media(max-width:767px){.elementor-widget-woocommerce-product-title .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.woocommerce .elementor-widget-woocommerce-product-price .price{line-height:var( --e-global-typography-primary-line-height );}}@media(min-width:768px){.elementor-32254 .elementor-element.elementor-element-22d1481{--width:50%;}.elementor-32254 .elementor-element.elementor-element-72a970e{--width:50%;}}@media(min-width:2400px){.elementor-32254 .elementor-element.elementor-element-920865c{--content-width:1400px;--justify-content:space-evenly;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:60px 60px;--row-gap:60px;--column-gap:60px;}.elementor-32254 .elementor-element.elementor-element-22d1481{--width:55%;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:24px 24px;--row-gap:24px;--column-gap:24px;}.elementor-widget-woocommerce-product-title .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.elementor-32254 .elementor-element.elementor-element-72a970e{--width:45%;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-32254 .elementor-element.elementor-element-ebcda5c{--content-width:1400px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 38px;--row-gap:0px;--column-gap:38px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-32254 .elementor-element.elementor-element-fdfdb74{--content-width:65%;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:28px 0px;--row-gap:28px;--column-gap:0px;}.woocommerce .elementor-widget-woocommerce-product-price .price{line-height:var( --e-global-typography-primary-line-height );}.elementor-32254 .elementor-element.elementor-element-f5c3ccd{--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}}/* Start custom CSS for html, class: .elementor-element-51fc0f7 */.elementor-32254 .elementor-element.elementor-element-51fc0f7 .teippari-hero-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    margin-top: 12px;
    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 17px;

    background: rgba(255, 255, 255, 0.025);
}

.elementor-32254 .elementor-element.elementor-element-51fc0f7 .teippari-hero-benefit {
    display: flex;
    align-items: flex-start;
    gap: 12px;

    min-width: 0;
    padding: 18px 16px;
}

.elementor-32254 .elementor-element.elementor-element-51fc0f7 .teippari-hero-benefit + .teippari-hero-benefit {
    border-left: 1px solid rgba(255, 255, 255, 0.10);
}

.elementor-32254 .elementor-element.elementor-element-51fc0f7 .teippari-hero-benefit__icon {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;

    border-radius: 50%;
    background: #b2d33e;
    color: #101210;

    font-size: 14px;
    font-weight: 800;
}

.elementor-32254 .elementor-element.elementor-element-51fc0f7 .teippari-hero-benefit strong {
    display: block;
    margin-bottom: 4px;

    color: #ffffff;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.3;
}

.elementor-32254 .elementor-element.elementor-element-51fc0f7 .teippari-hero-benefit p {
    margin: 0;

    color: #aeb5aa;
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 1000px) {
    .elementor-32254 .elementor-element.elementor-element-51fc0f7 .teippari-hero-benefits {
        grid-template-columns: 1fr;
    }

    .elementor-32254 .elementor-element.elementor-element-51fc0f7 .teippari-hero-benefit + .teippari-hero-benefit {
        border-top: 1px solid rgba(255, 255, 255, 0.10);
        border-left: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-22d1481 */.elementor-32254 .elementor-element.elementor-element-22d1481 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;

    width: 55%;
    min-width: 0;
}

.elementor-32254 .elementor-element.elementor-element-22d1481 .teippari-digi-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 4px;

    color: #b2d33e;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.elementor-32254 .elementor-element.elementor-element-22d1481 .teippari-digi-kicker span {
    display: block;
    width: 38px;
    height: 3px;
    border-radius: 999px;
    background: #b2d33e;
}

.elementor-32254 .elementor-element.elementor-element-22d1481 .product_title,
.elementor-32254 .elementor-element.elementor-element-22d1481 h1.product_title {
    max-width: 690px;
    margin: 0 !important;

    color: #ffffff !important;
    font-size: clamp(55px, 5.4vw, 86px);
    font-weight: 800;
    line-height: 0.94;
    letter-spacing: -0.055em;
    text-transform: uppercase;
}

.elementor-32254 .elementor-element.elementor-element-22d1481 .elementor-widget-text-editor,
.elementor-32254 .elementor-element.elementor-element-22d1481 .elementor-widget-text-editor p {
    max-width: 650px;
    margin: 0 !important;

    color: #eef1eb !important;
    font-size: 18px;
    line-height: 1.7;
}

.elementor-32254 .elementor-element.elementor-element-22d1481 .elementor-icon-list-items {
    display: grid;
    gap: 10px;
}

.elementor-32254 .elementor-element.elementor-element-22d1481 .elementor-icon-list-item {
    margin: 0 !important;
}

.elementor-32254 .elementor-element.elementor-element-22d1481 .elementor-icon-list-text {
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 500;
}

.elementor-32254 .elementor-element.elementor-element-22d1481 .elementor-icon-list-icon,
.elementor-32254 .elementor-element.elementor-element-22d1481 .elementor-icon-list-icon svg {
    color: #b2d33e !important;
    fill: #b2d33e !important;
}

@media (max-width: 1000px) {
    .elementor-32254 .elementor-element.elementor-element-22d1481 {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .elementor-32254 .elementor-element.elementor-element-22d1481 .product_title,
    .elementor-32254 .elementor-element.elementor-element-22d1481 h1.product_title {
        font-size: clamp(43px, 13vw, 59px);
    }

    .elementor-32254 .elementor-element.elementor-element-22d1481 .elementor-widget-text-editor,
    .elementor-32254 .elementor-element.elementor-element-22d1481 .elementor-widget-text-editor p {
        font-size: 16px;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-72a970e */.elementor-32254 .elementor-element.elementor-element-72a970e {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 45%;
    min-width: 0;
}

/* Woo-galleria */

.elementor-32254 .elementor-element.elementor-element-72a970e .elementor-widget-woocommerce-product-images {
    width: 100%;
    max-width: 570px;
}

.elementor-32254 .elementor-element.elementor-element-72a970e .woocommerce-product-gallery {
    width: 100% !important;
    margin: 0 !important;
}

/* Koko tuotekuvan showcase-kortti */

.elementor-32254 .elementor-element.elementor-element-72a970e .woocommerce-product-gallery__wrapper {
    position: relative;
    display: grid;
    min-height: 500px;
    padding: 34px;
    place-items: center;
    overflow: hidden;

    border: 1px solid rgba(178, 211, 62, 0.24);
    border-radius: 27px;

    background:
        repeating-linear-gradient(
            35deg,
            rgba(178, 211, 62, 0.018) 0,
            rgba(178, 211, 62, 0.018) 2px,
            transparent 2px,
            transparent 26px
        ),
        radial-gradient(
            circle at 75% 15%,
            rgba(178, 211, 62, 0.15),
            transparent 37%
        ),
        #111411;

    box-shadow:
        0 28px 65px rgba(0, 0, 0, 0.34);
}

/* Hillitty alusta tuotteen alle */

.elementor-32254 .elementor-element.elementor-element-72a970e .woocommerce-product-gallery__wrapper::after {
    content: "";
    position: absolute;
    left: 17%;
    right: 17%;
    bottom: 13%;
    height: 42px;

    border-radius: 50%;
    background: rgba(0, 0, 0, 0.45);
    filter: blur(25px);

    pointer-events: none;
}

/* Kuvan oma alue */

.elementor-32254 .elementor-element.elementor-element-72a970e .woocommerce-product-gallery__image {
    position: relative;
    z-index: 1;
    width: 100%;
    overflow: visible !important;
}

.elementor-32254 .elementor-element.elementor-element-72a970e .woocommerce-product-gallery__image a {
    display: grid;
    width: 100%;
    place-items: center;
}

/* Varsinainen tuotekuva */

.elementor-32254 .elementor-element.elementor-element-72a970e .woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    height: 420px;
    margin: 0;

    object-fit: contain;

    border-radius: 0;
    background: transparent !important;

    filter: drop-shadow(0 28px 30px rgba(0, 0, 0, 0.28));

    transition:
        transform 0.3s ease,
        filter 0.3s ease;
}

.elementor-32254 .elementor-element.elementor-element-72a970e .woocommerce-product-gallery:hover
.woocommerce-product-gallery__image img {
    transform: translateY(-5px) scale(1.015);
    filter: drop-shadow(0 35px 36px rgba(0, 0, 0, 0.34));
}

/* Zoom */

.elementor-32254 .elementor-element.elementor-element-72a970e .woocommerce-product-gallery__trigger {
    top: 18px !important;
    right: 18px !important;
    z-index: 4 !important;

    width: 43px !important;
    height: 43px !important;

    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 50% !important;

    background: rgba(10, 13, 10, 0.82) !important;
    backdrop-filter: blur(8px);
}

@media (max-width: 1000px) {
    .elementor-32254 .elementor-element.elementor-element-72a970e {
        width: 100%;
    }

    .elementor-32254 .elementor-element.elementor-element-72a970e .elementor-widget-woocommerce-product-images {
        max-width: 650px;
    }
}

@media (max-width: 767px) {
    .elementor-32254 .elementor-element.elementor-element-72a970e .woocommerce-product-gallery__wrapper {
        min-height: 360px;
        padding: 22px;
        border-radius: 19px;
    }

    .elementor-32254 .elementor-element.elementor-element-72a970e .woocommerce-product-gallery__image img {
        height: 300px;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-920865c */.elementor-32254 .elementor-element.elementor-element-920865c {
    position: relative;
    isolation: isolate;

    width: min(1400px, calc(100% - 32px));
    min-height: 650px;
    margin: 0 auto 38px;
    padding: 68px;

    overflow: hidden;
    border: 1px solid rgba(178, 211, 62, 0.14);
    border-radius: 34px;

    background:
        repeating-linear-gradient(
            35deg,
            rgba(178, 211, 62, 0.026) 0,
            rgba(178, 211, 62, 0.026) 2px,
            transparent 2px,
            transparent 31px
        ),
        radial-gradient(
            circle at 92% 8%,
            rgba(178, 211, 62, 0.13),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #0c0f0c 0%,
            #141814 58%,
            #202817 100%
        );

    box-shadow: 0 30px 75px rgba(0, 0, 0, 0.22);
}

.elementor-32254 .elementor-element.elementor-element-920865c::before {
    content: "";
    position: absolute;
    z-index: 0;

    top: 50%;
    left: 38px;
    right: 38px;
    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(178, 211, 62, 0.22),
        transparent
    );

    pointer-events: none;
}

.elementor-32254 .elementor-element.elementor-element-920865c > * {
    position: relative;
    z-index: 1;
    min-width: 0;
}

@media (max-width: 1000px) {
    .elementor-32254 .elementor-element.elementor-element-920865c {
        flex-direction: column;
        min-height: auto;
        gap: 42px;
        padding: 52px 42px;
    }
}

@media (max-width: 767px) {
    .elementor-32254 .elementor-element.elementor-element-920865c {
        width: calc(100% - 18px);
        margin-bottom: 22px;
        padding: 38px 22px 24px;
        border-radius: 23px;
    }
}.elementor-32254 .elementor-element.elementor-element-920865c{
    margin-top:40px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-de9709c */.teippari-order-heading{
    margin:0 0 34px;
}

.teippari-order-heading span{
    display:flex;
    align-items:center;
    gap:14px;

    color:#b2d33e;
    font-size:13px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    margin-bottom:18px;
}

.teippari-order-heading span::before{
    content:"";
    width:42px;
    height:2px;
    background:#b2d33e;
}

.teippari-order-heading h2{
    font-size:52px;
    line-height:1;
    font-weight:800;
    color:#111;
    margin:0 0 20px;
    max-width:600px;
}

.teippari-order-heading p{
    font-size:19px;
    line-height:1.7;
    color:#666;
    max-width:620px;
    margin:0;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fdfdb74 */.elementor-32254 .elementor-element.elementor-element-fdfdb74 {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 30px;

    min-width: 0;
    padding: 40px;

    border-radius: 25px;
    background: #ffffff;

    border: 1px solid #e2e6dc;

    box-shadow:
        0 18px 42px rgba(20, 25, 18, 0.07);
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .teippari-order-heading {
    max-width: 720px;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .teippari-order-heading > span {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 17px;

    color: #8da825;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .teippari-order-heading > span::before {
    content: "";
    width: 36px;
    height: 3px;
    border-radius: 999px;
    background: #b2d33e;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .teippari-order-heading h2 {
    max-width: 650px;
    margin: 0 0 17px;

    color: #161916;
    font-size: clamp(38px, 3.6vw, 56px);
    font-weight: 650;
    line-height: 1.03;
    letter-spacing: -0.04em;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .teippari-order-heading p {
    max-width: 650px;
    margin: 0;

    color: #60675e;
    font-size: 17px;
    line-height: 1.7;
}

/* Add to cart */

.elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;

    margin: 0 !important;
    padding-top: 28px;

    border-top: 1px solid #e3e6df;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .quantity {
    margin: 0 !important;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 input.qty {
    width: 72px !important;
    height: 56px;

    border: 1px solid #d4d9cf;
    border-radius: 13px;

    background: #f8f9f6;
    color: #171917;

    font-size: 17px;
    text-align: center;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 button.single_add_to_cart_button {
    min-height: 56px;

    margin: 0 !important;
    padding: 15px 28px !important;

    border: 0 !important;
    border-radius: 13px !important;

    background: #b2d33e !important;
    color: #111311 !important;

    font-size: 15px !important;
    font-weight: 700 !important;

    box-shadow:
        0 12px 25px rgba(178, 211, 62, 0.24);

    transition:
        transform 0.18s ease,
        background 0.18s ease;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 button.single_add_to_cart_button:hover {
    transform: translateY(-2px);
    background: #c0e447 !important;
}

@media (max-width: 767px) {
    .elementor-32254 .elementor-element.elementor-element-fdfdb74 {
        padding: 27px 21px;
        border-radius: 20px;
    }

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 .teippari-order-heading h2 {
        font-size: 36px;
    }

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart {
        align-items: stretch;
    }

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 button.single_add_to_cart_button {
        flex: 1;
    }
}/* =========================================================
   TEIPPARI – DIGIPAINOTUOTTEEN TILAUSKORTTI
   Lisätään teippari-order-left-containerin Custom CSS:ään
   ========================================================= */


/* ---------------------------------------------------------
   1. PERUSASETUKSET
   --------------------------------------------------------- */

.elementor-32254 .elementor-element.elementor-element-fdfdb74{
    --tp-green:#b2d33e;
    --tp-green-hover:#c2df4c;
    --tp-green-light:#f5f9e8;
    --tp-dark:#121512;
    --tp-text:#191c19;
    --tp-muted:#646b64;
    --tp-border:#dde2da;
    --tp-border-dark:#cfd5ca;
    --tp-light:#f7f8f5;
    --tp-error:#b3261e;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 *{
    box-sizing:border-box;
}


/* ---------------------------------------------------------
   2. BARN2-LOMAKE
   --------------------------------------------------------- */

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-layout-default{
    width:100%;
    margin:0;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field{
    position:relative;
    margin:0;
    padding:26px 0;
    border-bottom:1px solid var(--tp-border);
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field:first-child{
    padding-top:20px;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field:last-child{
    border-bottom:0;
    padding-bottom:8px;
}


/* Piilotetaan ylläpitäjän kynäikonit */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field-edit{
    display:none !important;
}


/* ---------------------------------------------------------
   3. KENTTIEN OTSIKOT
   --------------------------------------------------------- */

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-option-name{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:3px;
    margin:0 0 14px;
    color:var(--tp-dark);
    font-size:17px;
    font-weight:800;
    line-height:1.35;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-option-name__text{
    color:inherit;
    font-size:inherit;
    font-weight:inherit;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field-required-symbol{
    color:var(--tp-green);
    font-weight:900;
}


/* ---------------------------------------------------------
   4. OHJE- JA KUVAUSTEKSTIT
   --------------------------------------------------------- */

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field-description{
    margin:12px 0 0;
    color:var(--tp-muted);
    font-size:13px;
    line-height:1.5;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field > label:not(.wpo-radio){
    display:block;
    margin:0 0 10px;
    color:var(--tp-muted);
    font-size:14px;
    line-height:1.5;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field > label:not(.wpo-radio) .wpo-choice-label{
    color:inherit;
    font-size:inherit;
    font-weight:500;
    line-height:inherit;
}


/* ---------------------------------------------------------
   5. RADIOVALINTOJEN LISTAT
   --------------------------------------------------------- */

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-choice-list,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-radios{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    width:100%;
    margin:0;
    padding:0;
    list-style:none;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-radios-one-col{
    grid-template-columns:repeat(2, minmax(0, 1fr));
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-choice-item{
    min-width:0;
    margin:0;
    padding:0;
}


/* ---------------------------------------------------------
   6. RADIOKORTTI
   --------------------------------------------------------- */

.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    width:100%;
    min-height:60px;
    margin:0;
    padding:15px 16px;
    overflow:hidden;
    border:1px solid var(--tp-border);
    border-radius:13px;
    background:#fff;
    color:var(--tp-text);
    cursor:pointer;
    transition:
        border-color .18s ease,
        background-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio:hover{
    border-color:var(--tp-green);
    background:#fbfdf5;
    transform:translateY(-1px);
    box-shadow:0 7px 18px rgba(17,21,17,.07);
}


/* Oikea radio-input piiloon */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio > input[type="radio"]{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none;
}


/* Oma radioympyrä */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-radio-inner{
    display:flex;
    flex:0 0 21px;
    align-items:center;
    justify-content:center;
    width:21px;
    height:21px;
    border:2px solid var(--tp-border-dark);
    border-radius:50%;
    background:#fff;
    transition:
        border-color .18s ease,
        background-color .18s ease,
        box-shadow .18s ease;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-radio-dot{
    display:block;
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--tp-dark);
    opacity:0;
    transform:scale(.35);
    transition:
        opacity .15s ease,
        transform .15s ease;
}


/* Valittu radiokortti */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio:has(input[type="radio"]:checked){
    border-color:var(--tp-green);
    background:var(--tp-green-light);
    box-shadow:
        0 0 0 2px rgba(178,211,62,.18),
        0 8px 20px rgba(17,21,17,.06);
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio:has(input[type="radio"]:checked) .wpo-radio-inner{
    border-color:var(--tp-green);
    background:var(--tp-green);
    box-shadow:0 0 0 3px rgba(178,211,62,.17);
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio:has(input[type="radio"]:checked) .wpo-radio-dot{
    opacity:1;
    transform:scale(1);
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio:has(input[type="radio"]:checked) .wpo-choice-label{
    color:var(--tp-dark);
    font-weight:850;
}


/* Näppäimistökohdistus */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio:has(input[type="radio"]:focus-visible){
    outline:3px solid rgba(178,211,62,.3);
    outline-offset:2px;
}


/* ---------------------------------------------------------
   7. VALINNAN TEKSTI JA HINTA
   --------------------------------------------------------- */

.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio .wpo-choice-label{
    flex:1 1 auto;
    min-width:0;
    color:var(--tp-text);
    font-size:15px;
    font-weight:700;
    line-height:1.3;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio .wpo-price-container{
    display:flex;
    flex:0 0 auto;
    align-items:baseline;
    margin-left:auto;
    padding-left:10px;
    color:var(--tp-dark);
    font-size:14px;
    font-weight:850;
    white-space:nowrap;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio .wpo-price,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio .wpo-currency{
    color:inherit;
    font-size:inherit;
    font-weight:inherit;
}


/* Poistetaan hinnan alusta plusmerkki visuaalisesti */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio .wpo-price{
    font-size:0;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio .wpo-price::after{
    content:attr(data-clean-price);
    font-size:14px;
}

/*
Barn2 ei anna hintaa attribuuttina, joten yllä oleva ei normaalisti
korvaa tekstiä. Tämän vuoksi pidetään varmistuksena alkuperäinen näkyvissä.
*/
.elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio .wpo-price:not([data-clean-price]){
    font-size:14px;
}


/* ---------------------------------------------------------
   8. EHDOLLISESTI AVAUTUVAT KENTÄT
   --------------------------------------------------------- */

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field-hide{
    display:none;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field:not(.wpo-field-hide){
    animation:tpFieldAppear .22s ease both;
}

@keyframes tpFieldAppear{
    from{
        opacity:0;
        transform:translateY(-4px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* ---------------------------------------------------------
   9. TIEDOSTON LATAUSALUE
   --------------------------------------------------------- */

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-file-dropzone{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:150px;
    padding:22px;
    overflow:hidden;
    border:2px dashed #cbd4be;
    border-radius:15px;
    background:
        linear-gradient(
            135deg,
            rgba(178,211,62,.08),
            rgba(178,211,62,.02)
        );
    cursor:pointer;
    transition:
        border-color .18s ease,
        background-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-file-dropzone:hover{
    border-color:var(--tp-green);
    background:var(--tp-green-light);
    transform:translateY(-1px);
    box-shadow:0 8px 22px rgba(17,21,17,.07);
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-file-dropzone .dz-message{
    width:100%;
    margin:0;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-file-dropzone .dz-button{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    color:var(--tp-text);
    font-family:inherit;
    cursor:pointer;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-file-dropzone .dz-button-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    margin-bottom:9px;
    border-radius:50%;
    background:var(--tp-green);
    color:var(--tp-dark);
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-file-dropzone .dz-button-icon svg{
    width:28px;
    height:28px;
    fill:currentColor;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-file-dropzone .dz-button-label{
    color:var(--tp-dark);
    font-size:15px;
    font-weight:800;
    line-height:1.4;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-file-dropzone .dz-button-label::after{
    content:" tai klikkaa valitaksesi tiedoston";
    display:block;
    margin-top:4px;
    color:var(--tp-muted);
    font-size:12px;
    font-weight:500;
}


/* Ladatun tiedoston esikatselu */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-dropzone-preview{
    margin-top:10px;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-dropzone-preview .dz-preview{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border:1px solid var(--tp-border);
    border-radius:11px;
    background:var(--tp-light);
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-dropzone-preview .dz-details{
    min-width:0;
    color:var(--tp-text);
    font-size:13px;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-dropzone-preview .dz-filename{
    font-weight:750;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-dropzone-preview .dz-progress{
    position:absolute;
    right:12px;
    bottom:7px;
    left:12px;
    height:3px;
    overflow:hidden;
    border-radius:4px;
    background:#e4e7e1;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-dropzone-preview .dz-upload{
    display:block;
    height:100%;
    background:var(--tp-green);
}


/* ---------------------------------------------------------
   10. TEKSTIKENTÄT
   --------------------------------------------------------- */

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field-text input[type="text"],
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field input[type="email"],
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field input[type="number"],
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field textarea,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field select{
    width:100%;
    min-height:52px;
    margin:0;
    padding:13px 15px;
    border:1px solid var(--tp-border);
    border-radius:11px;
    background:#fff;
    color:var(--tp-text);
    font-family:inherit;
    font-size:15px;
    font-weight:500;
    outline:none;
    box-shadow:none;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background-color .18s ease;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field textarea{
    min-height:125px;
    resize:vertical;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field-text input[type="text"]:hover,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field input[type="email"]:hover,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field input[type="number"]:hover,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field textarea:hover,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field select:hover{
    border-color:var(--tp-border-dark);
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field-text input[type="text"]:focus,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field input[type="email"]:focus,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field input[type="number"]:focus,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field textarea:focus,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field select:focus{
    border-color:var(--tp-green);
    background:#fff;
    box-shadow:0 0 0 3px rgba(178,211,62,.18);
}


/* Piilotetaan tekstikentän turha erillinen label */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field-text > label{
    margin-bottom:8px;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field-text > label .wpo-choice-label{
    font-size:13px;
    font-weight:650;
}


/* ---------------------------------------------------------
   11. HINTA
   --------------------------------------------------------- */

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .elementor-widget-woocommerce-product-price,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .price{
    color:var(--tp-dark);
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .elementor-widget-woocommerce-product-price .price{
    display:block;
    margin:0;
    font-size:0;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .elementor-widget-woocommerce-product-price .price::before{
    content:"HINTA ALKAEN";
    display:block;
    margin-bottom:5px;
    color:#6f766f;
    font-size:11px;
    font-weight:850;
    letter-spacing:.12em;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .elementor-widget-woocommerce-product-price .woocommerce-Price-amount{
    color:var(--tp-dark);
    font-size:34px;
    font-weight:900;
    line-height:1.1;
    letter-spacing:-.03em;
}


/* ---------------------------------------------------------
   12. OSTOSKORIRIVI
   --------------------------------------------------------- */

.elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart{
    display:grid !important;
    grid-template-columns:82px minmax(0, 1fr);
    gap:10px;
    width:100%;
    margin-top:22px !important;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart .quantity{
    float:none !important;
    width:82px;
    margin:0 !important;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart .quantity .qty{
    width:100% !important;
    min-height:56px;
    margin:0;
    padding:0 8px;
    border:1px solid var(--tp-border);
    border-radius:12px;
    background:#fff;
    color:var(--tp-dark);
    font-size:15px;
    font-weight:800;
    text-align:center;
    outline:none;
    box-shadow:none;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart .quantity .qty:focus{
    border-color:var(--tp-green);
    box-shadow:0 0 0 3px rgba(178,211,62,.18);
}


/* Ostoskoriin-painike */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart .single_add_to_cart_button{
    float:none !important;
    width:100%;
    min-height:56px;
    margin:0 !important;
    padding:14px 22px !important;
    border:0 !important;
    border-radius:12px !important;
    background:var(--tp-green) !important;
    color:var(--tp-dark) !important;
    font-family:inherit !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    text-transform:none !important;
    box-shadow:none !important;
    cursor:pointer;
    transition:
        background-color .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart .single_add_to_cart_button:hover{
    background:var(--tp-green-hover) !important;
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(17,21,17,.13) !important;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart .single_add_to_cart_button:active{
    transform:translateY(0);
    box-shadow:none !important;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart .single_add_to_cart_button.disabled,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart .single_add_to_cart_button:disabled{
    opacity:.5;
    cursor:not-allowed;
    transform:none;
    box-shadow:none !important;
}


/* ---------------------------------------------------------
   13. VIRHEET JA PAKOLLISET KENTÄT
   --------------------------------------------------------- */

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-error,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-validation-error,
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .woocommerce-error{
    margin-top:10px;
    padding:10px 12px;
    border:1px solid rgba(179,38,30,.2);
    border-radius:9px;
    background:#fff3f2;
    color:var(--tp-error);
    font-size:13px;
    font-weight:700;
    line-height:1.45;
}


/* ---------------------------------------------------------
   14. MOBIILI
   --------------------------------------------------------- */

@media (max-width:767px){

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field{
        padding:22px 0;
    }

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-option-name{
        font-size:16px;
    }

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-choice-list,
    .elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-radios,
    .elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-radios-one-col{
        grid-template-columns:1fr;
        gap:8px;
    }

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio{
        min-height:56px;
        padding:14px;
    }

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio .wpo-choice-label{
        font-size:14px;
    }

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 label.wpo-radio .wpo-price-container{
        font-size:13px;
    }

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-file-dropzone{
        min-height:135px;
        padding:18px;
    }

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart{
        grid-template-columns:72px minmax(0, 1fr);
    }

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart .quantity{
        width:72px;
    }

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart .single_add_to_cart_button{
        padding-right:14px !important;
        padding-left:14px !important;
        font-size:15px !important;
    }
}


/* ---------------------------------------------------------
   15. PIENET NÄYTÖT
   --------------------------------------------------------- */

@media (max-width:420px){

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart{
        grid-template-columns:1fr;
    }

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart .quantity{
        width:100%;
    }

    .elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart .quantity .qty{
        width:100% !important;
    }
}/* =====================================================
   KORJAUKSET: TÄHDET, MÄÄRÄVALITSIN JA OSTOSKORIPAINIKE
   ===================================================== */

/* Kentän otsikko ja pakollisuuden tähti samalle riville */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-option-name{
    display:block;
    margin:0 0 14px;
    line-height:1.35;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-option-name__text{
    display:inline;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-option-name .wpo-field-required-symbol{
    position:static !important;
    display:inline !important;
    margin-left:2px;
    vertical-align:baseline;
    line-height:1;
    transform:none !important;
}

/* Latauskentän labelissa oleva toinen ylimääräinen tähti pois */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .wpo-field-file_upload > label .wpo-field-required-symbol{
    display:none !important;
}

/* WooCommercen oma kappalemäärävalitsin pois */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart .quantity{
    display:none !important;
}

/* Ostoskorilomake takaisin yksipalstaiseksi */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart{
    display:block !important;
    width:100%;
    margin-top:22px !important;
}

/* Ostoskoriin-painike täysleveäksi */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 form.cart .single_add_to_cart_button{
    display:block !important;
    float:none !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
}/* WooCommerce-tuotehinta */
.elementor-32254 .elementor-element.elementor-element-fdfdb74 .elementor-widget-woocommerce-product-price .price{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:8px;
    margin:0;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .elementor-widget-woocommerce-product-price .price::before{
    content:"Hinnat alkaen";
    color:#667066;
    font-size:14px;
    font-weight:700;
}

.elementor-32254 .elementor-element.elementor-element-fdfdb74 .elementor-widget-woocommerce-product-price .woocommerce-Price-amount{
    color:#151815;
    font-size:34px;
    font-weight:900;
    line-height:1.1;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1ad2016 */.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-print-summary-card {
    position: relative;
    width: 100%;
    overflow: hidden;

    border: 1px solid rgba(178, 211, 62, 0.20);
    border-radius: 26px;

    background:
        repeating-linear-gradient(
            35deg,
            rgba(178, 211, 62, 0.018) 0,
            rgba(178, 211, 62, 0.018) 2px,
            transparent 2px,
            transparent 28px
        ),
        radial-gradient(
            circle at 100% 0,
            rgba(178, 211, 62, 0.13),
            transparent 36%
        ),
        linear-gradient(
            145deg,
            #171a17 0%,
            #111411 100%
        );

    color: #ffffff;

    box-shadow:
        0 26px 58px rgba(0, 0, 0, 0.22);
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-print-summary-card::before {
    content: "";
    position: absolute;
    top: 39%;
    left: 0;
    width: 100%;
    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(178, 211, 62, 0.23),
        transparent
    );

    pointer-events: none;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-print-summary-card > * {
    position: relative;
    z-index: 1;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-top {
    padding: 34px 34px 25px;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-eyebrow,
.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-help-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 14px;

    color: #b2d33e;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-eyebrow::before {
    content: "";
    width: 27px;
    height: 3px;
    border-radius: 999px;
    background: #b2d33e;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-top h3 {
    margin: 0 0 14px;

    color: #ffffff;
    font-size: 30px;
    font-weight: 620;
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-top p,
.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-section > p,
.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-help p {
    margin: 0;

    color: #c2c8bf;
    font-size: 15px;
    line-height: 1.7;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-highlight {
    display: flex;
    gap: 13px;

    margin: 0 22px 8px;
    padding: 17px;

    border: 1px solid rgba(178, 211, 62, 0.28);
    border-radius: 15px;

    background: rgba(178, 211, 62, 0.075);
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-highlight-icon {
    display: grid;
    flex: 0 0 29px;
    width: 29px;
    height: 29px;
    place-items: center;

    border-radius: 50%;

    background: #b2d33e;
    color: #101210;

    font-size: 14px;
    font-weight: 900;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-highlight strong {
    display: block;
    margin-bottom: 4px;

    color: #ffffff;
    font-size: 15px;
    font-weight: 650;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-highlight p {
    margin: 0;

    color: #abb2a8;
    font-size: 13px;
    line-height: 1.55;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-section {
    margin: 0 22px;
    padding: 25px 12px;

    border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-section-title {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 16px;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-section-title > span {
    display: grid;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    place-items: center;

    border: 1px solid rgba(178, 211, 62, 0.40);
    border-radius: 50%;

    color: #b2d33e;
    font-size: 10px;
    font-weight: 750;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-section-title h4,
.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-help h4 {
    margin: 0;

    color: #ffffff;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;

    margin-top: 17px;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-badges span {
    padding: 7px 10px;

    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;

    background: rgba(255, 255, 255, 0.045);
    color: #ffffff;

    font-size: 11px;
    font-weight: 650;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-link {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: 18px;
    padding: 14px 16px;

    border: 1px solid rgba(178, 211, 62, 0.25);
    border-radius: 12px;

    background: rgba(178, 211, 62, 0.065);
    color: #ffffff;

    font-size: 14px;
    font-weight: 650;
    text-decoration: none;

    transition:
        transform 0.18s ease,
        background 0.18s ease;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-link:hover {
    transform: translateY(-2px);
    background: rgba(178, 211, 62, 0.11);
    color: #ffffff;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-list li {
    display: flex;
    justify-content: space-between;
    gap: 18px;

    padding: 12px 0;

    color: #9fa69c;
    font-size: 13px;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-list li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-list strong {
    color: #ffffff;
    font-weight: 600;
    text-align: right;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-help {
    margin: 0 22px 22px;
    padding: 22px;

    border-radius: 17px;

    background:
        linear-gradient(
            135deg,
            rgba(178, 211, 62, 0.13),
            rgba(178, 211, 62, 0.055)
        );
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-help h4 {
    margin-bottom: 9px;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-help a {
    display: flex;
    justify-content: center;

    margin-top: 18px;
    padding: 14px 18px;

    border-radius: 12px;

    background: #b2d33e;
    color: #101210;

    font-size: 14px;
    font-weight: 700;
    text-decoration: none;

    transition:
        transform 0.18s ease,
        background 0.18s ease;
}

.elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-help a:hover {
    transform: translateY(-2px);
    background: #c1e448;
    color: #101210;
}

@media (max-width: 767px) {

    .elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-print-summary-card {
        border-radius: 21px;
    }

    .elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-top {
        padding: 27px 23px 23px;
    }

    .elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-top h3 {
        font-size: 27px;
    }

    .elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-highlight,
    .elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-section,
    .elementor-32254 .elementor-element.elementor-element-1ad2016 .teippari-summary-help {
        margin-left: 15px;
        margin-right: 15px;
    }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f5c3ccd */.elementor-32254 .elementor-element.elementor-element-f5c3ccd {
    align-self: flex-start;
    position: sticky;
    top: 110px;

    min-width: 0;
}

.elementor-32254 .elementor-element.elementor-element-f5c3ccd .teippari-print-summary-card {
    width: 100%;
}

@media (max-width: 1000px) {
    .elementor-32254 .elementor-element.elementor-element-f5c3ccd {
        position: static;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ebcda5c */.elementor-32254 .elementor-element.elementor-element-ebcda5c {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 34px;

    width: min(1400px, calc(100% - 32px));
    margin: 38px auto 90px;
    padding: 44px;

    border-radius: 34px;

    background:
        repeating-linear-gradient(
            35deg,
            rgba(178, 211, 62, 0.018) 0,
            rgba(178, 211, 62, 0.018) 2px,
            transparent 2px,
            transparent 30px
        ),
        linear-gradient(
            135deg,
            #f7f8f4 0%,
            #ffffff 100%
        );

    border: 1px solid #e2e6dc;

    box-shadow:
        0 28px 65px rgba(20, 25, 18, 0.10);
}

.elementor-32254 .elementor-element.elementor-element-ebcda5c > .e-con:first-child {
    width: calc(65% - 17px);
}

.elementor-32254 .elementor-element.elementor-element-ebcda5c > .e-con:last-child {
    width: calc(35% - 17px);
}

@media (max-width: 1000px) {
    .elementor-32254 .elementor-element.elementor-element-ebcda5c {
        flex-direction: column;
    }

    .elementor-32254 .elementor-element.elementor-element-ebcda5c > .e-con:first-child,
    .elementor-32254 .elementor-element.elementor-element-ebcda5c > .e-con:last-child {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .elementor-32254 .elementor-element.elementor-element-ebcda5c {
        width: calc(100% - 18px);
        margin-top: 20px;
        padding: 20px;
        gap: 22px;
        border-radius: 23px;
    }
}/* End custom CSS */