.elementor-12394 .elementor-element.elementor-element-1d6001d{--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-12394 .elementor-element.elementor-element-eaac573{color:var( --e-global-color-text );}.elementor-12394 .elementor-element.elementor-element-eaac573 a{color:var( --e-global-color-primary );}.elementor-12394 .elementor-element.elementor-element-3e5db2b{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12394 .elementor-element.elementor-element-589e3e6 img{width:100%;border-radius:25px 25px 25px 25px;}.elementor-12394 .elementor-element.elementor-element-1cbdf5c{background-image:url("https://kukkatalo.fi/wp-content/uploads/2025/07/kt-ale-badge.svg");top:1rem;background-position:center center;background-repeat:no-repeat;}body:not(.rtl) .elementor-12394 .elementor-element.elementor-element-1cbdf5c{left:1rem;}body.rtl .elementor-12394 .elementor-element.elementor-element-1cbdf5c{right:1rem;}.elementor-12394 .elementor-element.elementor-element-2436e1a{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:2rem 2rem;--row-gap:2rem;--column-gap:2rem;--grid-auto-flow:row;--justify-items:center;--margin-top:1rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12394 .elementor-element.elementor-element-b37ae26{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12394 .elementor-element.elementor-element-be74636{text-align:center;}.elementor-12394 .elementor-element.elementor-element-3b011d3{margin:0rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;}.elementor-12394 .elementor-element.elementor-element-2e65878{width:var( --container-widget-width, 75% );max-width:75%;margin:0.5rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;--container-widget-width:75%;--container-widget-flex-grow:0;text-align:center;}.woocommerce .elementor-12394 .elementor-element.elementor-element-2e65878 .woocommerce-product-details__short-description{color:var( --e-global-color-c66a828 );}.elementor-12394 .elementor-element.elementor-element-8e05082{margin:0.5rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;}.elementor-12394 .elementor-element.elementor-element-8e05082 .cart button, .elementor-12394 .elementor-element.elementor-element-8e05082 .cart .button{font-weight:500;border-radius:8px 8px 8px 8px;padding:1.25rem 1.5rem 1.25rem 1.5rem;background-color:#149F27;transition:all 0.2s;}.elementor-12394 .elementor-element.elementor-element-8e05082 .cart button:hover, .elementor-12394 .elementor-element.elementor-element-8e05082 .cart .button:hover{background-color:#0D831D;}.elementor-12394 .elementor-element.elementor-element-bf17144{width:100%;max-width:100%;margin:1rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;}@media(max-width:1280px){.elementor-12394 .elementor-element.elementor-element-2436e1a{--grid-auto-flow:row;}}@media(max-width:1024px){.elementor-12394 .elementor-element.elementor-element-2436e1a{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-12394 .elementor-element.elementor-element-2e65878{--container-widget-width:80%;--container-widget-flex-grow:0;width:var( --container-widget-width, 80% );max-width:80%;}}@media(max-width:767px){.elementor-12394 .elementor-element.elementor-element-589e3e6 img{border-radius:15px 15px 15px 15px;}body:not(.rtl) .elementor-12394 .elementor-element.elementor-element-1cbdf5c{left:0.5rem;}body.rtl .elementor-12394 .elementor-element.elementor-element-1cbdf5c{right:0.5rem;}.elementor-12394 .elementor-element.elementor-element-1cbdf5c{top:0.5rem;}.elementor-12394 .elementor-element.elementor-element-2436e1a{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:1rem 1rem;--row-gap:1rem;--column-gap:1rem;--grid-auto-flow:row;--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-12394 .elementor-element.elementor-element-b37ae26{--margin-top:0.25rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-12394 .elementor-element.elementor-element-2e65878{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.woocommerce .elementor-12394 .elementor-element.elementor-element-2e65878 .woocommerce-product-details__short-description{font-size:1rem;line-height:1.6em;}}@media(min-width:768px){.elementor-12394 .elementor-element.elementor-element-b37ae26{--width:800px;}}@media(max-width:1024px) and (min-width:768px){.elementor-12394 .elementor-element.elementor-element-b37ae26{--width:700px;}}/* Start custom CSS for breadcrumbs, class: .elementor-element-eaac573 */.custom-breadcrumb-svg {
    width: 1rem;
    height: 1rem;
    vertical-align: middle;
    margin-right: 0.25rem;
    display: inline-flex;
    margin-bottom: 3px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1cbdf5c */.elementor-12394 .elementor-element.elementor-element-1cbdf5c {
    display: flex;
    background-repeat: no-repeat;
    background-position: center;
    color: #fff;
    font-size: clamp(0.5rem,3vw,0.8rem);
    padding: clamp(0.4rem,2vw,0.8rem);
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    font-weight: 700;
    filter: hue-rotate(100deg) saturate(2);
    aspect-ratio: 1/1;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-3b011d3 */.kukkatalo-saatavuus span:first-child {
  position: relative;
  width: 10px;
  height: 10px;
  background-color: #22c55e;
  border-radius: 50%;
  display: inline-block;
}

/* Two layered pulse waves */
.kukkatalo-saatavuus span:first-child::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background-color: #22c55e;
  opacity: 0.7;
  animation: pulse-wave 2s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}

.kukkatalo-saatavuus span:first-child::after {
  animation-delay: 0.6s; /* second ring for depth */
}

@keyframes pulse-wave {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  70% {
    transform: scale(2.2);
    opacity: 0;
  }
  100% {
    transform: scale(2.22c55e);
    opacity: 0;
  }
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-short-description, class: .elementor-element-2e65878 */.elementor-12394 .elementor-element.elementor-element-2e65878 li {
    margin-bottom: 0.5rem;
    
    strong {
        font-weight: 600;
    }
    
    &::marker {
        color: var(--e-global-color-primary) !important;
    }
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-add-to-cart, class: .elementor-element-8e05082 */:is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart.variations_form .woocommerce-variation-add-to-cart, :is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart:not(.grouped_form):not(.variations_form) {
    display: block;
}

.wcgc-grid {
    grid-template-columns: repeat(6, 1fr) !important;
}

@media (max-width: 768px) {
    .wcgc-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

.wcgc-btn {
    background: none !important;
    color: #1b7f29;
    border-color: #3a7d2a !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    padding: 0.75rem 1rem !important;
    
    &:hover, &:focus {
        transform: scale(1.05);
        color: #1b7f29;
    }
}

.wcgc-btn-custom {
    grid-column: 1 / -1 !important;
    width: auto !important;
    justify-self: start;
    padding: 10px 20px;
}

.single_add_to_cart_button {
    border: 1px solid #107A1E !important;
}

.wcgc-btn.is-active {
    background: #caffbd !important;
    box-shadow: none !important;
    border-width: 1px;
    transform: scale(1);
}

.wcgc-row {
    display: block !important;
    margin-bottom: 1rem !important;
}

.wcgc-box label {
    font-weight: 500;
    font-size: 0.9rem;
}

.wcgc-row input, .wcgc-row textarea {
    border-color: #bfbfbf;
    border-width: 1px;
    border-radius: 8px;
    background: rgb(249,249,249);
    margin-top: 0.5rem;
}

.wcgc-row textarea {
    border-width: 1px;
    border-radius: 8px;
    margin-top: 0.5rem;
}

.wcgc-box {
    border: 0 !important;
    padding: 0 !important;
    margin-top: 0 !important;
}

.elementor-add-to-cart {
    padding: 1rem;
    /* border: 1px solid #d7d7d7; */
    border-radius: 12px;
    /* background: rgb(249,249,249); */
    max-width: 600px;
}

.single_add_to_cart_button {
    width: 100%;
}

.elementor-12394 .elementor-element.elementor-element-8e05082:not(:has(.wcgc-box)), .stock {
    display: none !important;
}

.wcgc-help {
    color: #000000 !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    text-align: center;
    line-height: 1.5em;
    display:none;
}

#wcgc_send_date {
    max-width: 50%;
    display: block;
}

#wcgc_send_date::placeholder {
   overflow: visible;
}

input[type=date]:focus, input[type=email]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=url]:focus, select:focus, textarea:focus {
    outline: #3a7d2a;
    border-color: #3a7d2a;
    background: #f9fff7;
}

input.has-value,
textarea.has-value {
    border-color: #3a7d2a !important;
    background: #f9fff7 !important;
}

input.invalid {
    background: #ffe5e5 !important;
    border-color: #ed4c4c !important;
}

.amount-euro-wrap {
    position: relative;
    width: 100%;
}

.amount-euro-wrap input {
    padding-right: 40px !important;
    display: block;
    width: 100%;
}

.amount-euro-box {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;        /* tämä on tärkein */
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    color: #666;
    background: rgb(0 0 0 / 5%);
    border-left: 1px solid rgb(0 0 0 / 15%);
    border-radius: 0 4px 4px 0;
    box-sizing: border-box;
    padding-right: 2px;
}

.gc-preview-wrapper {
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
}

.gc-preview-card {
    width: 350px;
    padding: 24px;
    border-radius: 16px;
    background: #da382c;
    color: #fff;
    text-align: center;
    font-family: Arial, sans-serif;
    position: relative;
    border: 1px solid rgba(0,0,0,.2);
    box-shadow: rgba(14, 63, 126, 0.04) 0px 0px 0px 1px, rgba(42, 51, 69, 0.04) 0px 1px 1px -0.5px, rgba(42, 51, 70, 0.04) 0px 3px 3px -1.5px, rgba(42, 51, 70, 0.04) 0px 6px 6px -3px, rgba(14, 63, 126, 0.04) 0px 12px 12px -6px, rgba(14, 63, 126, 0.04) 0px 24px 24px -12px;
}

.gc-preview-amount {
    background: #ad1f21;
    display: inline-block;
    padding: 6px 16px;
    border-radius: 0 0 6px 6px;
    font-weight: bold;
    font-size: 18px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.gc-preview-title {
    margin-top: 40px;
    font-size: 14px;
    line-height: 1.3;
}

.gc-preview-brand {
    font-size: 32px;
    font-weight: bold;
    margin: 20px 0;
}

.gc-preview-barcode {
    font-family: monospace;
    margin: 10px 0;
    opacity: 0.7;
}

.gc-preview-code {
    font-size: 13px;
    opacity: 0.9;
}

/* Latest ver */

.gc-preview-amount.updating {
    opacity: 0;
    transition: opacity .15s ease;
}
.gc-preview-amount {
    transition: opacity .15s ease;
}

.gc-preview-wrapper.in {
    animation: fadeSlide .4s ease forwards;
    opacity: 0;
    transform: translateY(10px);
}

@keyframes fadeSlide {
    to { opacity: 1; transform: translateY(0); }
}

.pulse {
    animation: pulseAnim .2s ease-out;
}
@keyframes pulseAnim {
    0% { transform: scale(.95); }
    100% { transform: scale(1); }
}

.wcgc-hint {
    font-size: 13px;
    color: #888;
    margin-top: 2px;
    line-height: 1.3;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0ac93e4 */.elementor-12394 .elementor-element.elementor-element-0ac93e4 a {
    background: #FFEDEA;
    padding: 0.05rem 0.45rem;
    padding-bottom: 0.15rem;
    border-radius: 15px;
    line-height: 1.5em;
    font-weight: 400;
    border: 1px solid #C32D1C40;
    display: inline-block;
    margin-bottom: 0.25rem;
    transition: 0.1s;
    
    &:focus, &:hover {
        transform: scale(1.05);
        background: var(--e-global-color-secondary);
        color: #fff;
    }
}

.elementor-12394 .elementor-element.elementor-element-0ac93e4 {
    font-weight: 500;
    font-size: 0.8rem;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-bf17144 *//* Details element (accordion item) */
.accordion-item {
    border-bottom: 1px solid #e5e5e5;
    margin: 0;
}

.accordion-item:first-child {
    border-top: 1px solid #e5e5e5;
}

.accordion-item:last-child {
    border-bottom: 1px solid #e5e5e5;
}

/* Summary element (trigger button) */
.accordion-trigger {
    width: 100%;
    padding: 18px 0;
    background: none !important;
    border: none;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: color 0.2s ease;
    font-size: 0.9rem;
    line-height: 1.4;
    list-style: none;
    outline: none;
}

/* Remove default summary marker */
.accordion-trigger::-webkit-details-marker {
    display: none !important;
}

.accordion-trigger::marker {
    display: none;
}

.accordion-trigger:hover {
    color: #000;
}

.accordion-trigger:focus {
    color: #000;
}

.accordion-title {
    flex: 1;
    margin: 0;
    font-weight: 600;
    text-align: left;
}

.accordion-icon {
    width: 16px;
    height: 16px;
    position: relative;
    flex-shrink: 0;
    margin-left: 12px;
    transition: transform 0.25s ease;
}

.accordion-icon::before {
    content: '';
    position: absolute;
    top: 35%;
    left: 50%;
    width: 7px;
    height: 7px;
    border-right: 2px solid #666;
    border-bottom: 2px solid #666;
    transform: translate(-50%, -50%) rotate(45deg);
    transition: transform 0.25s ease;
}

/* Open state - rotate icon when details is open */
.accordion-item[open] .accordion-icon {
    transform: rotate(0deg) !important;
}

.accordion-item[open] .accordion-icon::before {
    transform: translate(-50%, -50%) rotate(-135deg) !important;
}

/* Content area */
.accordion-content {
    padding-bottom: 2rem;
    color: #424242;
    line-height: 1.6;
    font-size: 0.9rem;
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.accordion-content p {
    margin: 0 0 12px 0;
}

.accordion-content p:last-child {
    margin-bottom: 0;
}

.accordion-content ul, 
.accordion-content ol {
    margin: 0 0 12px 20px;
    padding: 0;
}

.accordion-content li {
    margin-bottom: 6px;
    line-height: 1.5;
}

.accordion-content h4, 
.accordion-content h5, 
.accordion-content h6 {
    margin: 0 0 8px 0;
    font-weight: 600;
    font-size: 14px;
}

.accordion-content strong {
    color: #333333;
    font-weight: 600;
}

.accordion-content a {
    color: #c53030;
    text-decoration: none;
    transition: color 0.2s ease;
}

.accordion-content a:hover {
    text-decoration: underline;
    color: #a02626;
}

.accordion-content a:focus {
    outline: 2px solid #007cba;
    outline-offset: 2px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .accordion-trigger {
        padding: 16px 0;
        font-size: 15px;
    }
    
    .accordion-content {
        font-size: 0.9rem;
        line-height: 1.5;
    }
    
    .accordion-icon {
        width: 14px;
        height: 14px;
    }
    
    .accordion-icon::before {
        width: 8px;
        height: 8px;
        border-width: 1.5px;
    }
    
    .accordion-content ul, 
    .accordion-content ol {
        margin-left: 16px;
    }
}

@media (max-width: 480px) {
    .accordion-trigger {
        padding: 14px 0;
        font-size: 0.9rem;
    }
    
    .accordion-content {
        font-size: 0.9rem;
    }
}

/* Accessibility and Motion */
@media (prefers-reduced-motion: reduce) {
    .accordion-icon,
    .accordion-icon::before,
    .accordion-content {
        transition: none;
        animation: none;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .accordion-trigger {
        color: #000;
    }
    
    .accordion-content {
        color: #000;
    }
    
    .accordion-item {
        border-color: #000;
    }
    
    .accordion-icon::before {
        border-color: #000;
    }
}

/* Print styles */
@media print {
    .accordion-item[open] .accordion-content {
        page-break-inside: avoid;
    }
    
    .accordion-trigger {
        page-break-inside: avoid;
    }
}/* End custom CSS */