@media only screen and (min-width: 320px) {
    /*Single product layout*/
    .single-product .inside-article > .entry-content{
        padding-top:40px;
    }
    .single-product .entry-content  > .product{
        display: flex;
        flex-direction: column;
        row-gap: 40px;
    }

    /* ==========================================================================
       Gallery — reuse the product-list card image technique:
       white product photo on grey background via mix-blend-mode multiply.
       ========================================================================== */
    
    .single-product #main .woocommerce-product-gallery {
        
        margin-bottom:0px;
    }
    .single-product .woocommerce-product-gallery__image {
        background-color: var(--product-img-bg);
        isolation: isolate;
        overflow: hidden;
    }
    .single-product .woocommerce-product-gallery__image a {
        display: block;
        padding: var(--product-img-padding);
    }
    .single-product .woocommerce-product-gallery__image img {
        mix-blend-mode: multiply;
        aspect-ratio: 1 / 1;
        object-fit: contain;
    }
    .single-product .woocommerce-product-gallery__image img:hover {
        mix-blend-mode: normal;
    }

    .single-product .flex-control-thumbs li {
        background-color: var(--product-img-bg);
    }
    .single-product .flex-control-thumbs img {
        mix-blend-mode: multiply;
    }

    .woocommerce div.product div.images .flex-control-thumbs{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap:var(--product-img-padding);
        margin-top:15px;
    }
    .woocommerce div.product div.images .flex-control-thumbs li{
        width:calc(50% - (var(--product-img-padding)/2));
        margin:0;
        padding:0;
    }
    .woocommerce div.product div.images .flex-control-thumbs li img{
        opacity:1;
        mix-blend-mode: multiply;
        object-fit: contain;
        aspect-ratio: 1 / 1;
        padding:15px;
        box-sizing: border-box;
        transition: transform 0.6s ease;
    }
    .woocommerce div.product div.images .flex-control-thumbs li img:hover{
        transform: scale(1.04);
    }

    /* Reviews summary: label + stars */
    .single-reviews-stars {
        display: inline-flex;
        align-items: center;
    }

    /* ==========================================================================
       Breadcrumb
       ========================================================================== */
    .single-product .woocommerce-breadcrumb {
        margin-bottom: 1.5rem;
        font-size: 0.72rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--font-clr);
    }
    .single-product .woocommerce-breadcrumb a {
        color: var(--font-clr);
        font-size:inherit;
    }
    .single-product .woocommerce-breadcrumb a:hover {
        color: var(--link-hover-clr);
    }
    /**Title*/
    .single-product .product_title {
        margin-bottom:20px;
        
    }
    /* ==========================================================================
       Summary: subtitle (designer)
       ========================================================================== */
    .single-product-subtitle {
        margin: 0.25rem 0 1.25rem;
        font-size: 0.95rem;
        color: var(--font-clr);
    }
    .single-product-subtitle a {
        color: var(--font-clr);
        text-decoration: none;
    }
    .single-product-subtitle a:hover {
        color: var(--link-hover-clr);
    }

    /* ==========================================================================
       Summary: price ("Hinta" + sale)
       ========================================================================== */
    .single-product-price {
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 0.5rem;
        font-size: 1.1rem;
        margin-bottom:20px;
    }
    .single-product-price__label {
        font-weight: 600;
    }
    .single-product-price .price {
        color: var(--font-clr);
        font-size: 1.1rem;
    }
    /* Old price (struck through) */
    .single-product-price del {
        color: var(--sale-old-price-color);
        text-decoration: line-through;
        opacity: 1;
        font-weight: 400;
    }
    /* Sale price (highlighted) */
    .single-product-price ins {
        color: var(--link-hover-clr);
        text-decoration: none;
        font-weight: bold;
    }

    /* ==========================================================================
       Summary: rating + Omnibus 30-day lowest price
       ========================================================================== */
    .single-product .woocommerce-product-rating {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin: 0 0 0.4rem;
    }
    .single-product .woocommerce-product-rating .woocommerce-review-link {
        color: var(--placeholder-clr);
        font-size: 0.85rem;
    }
    .single-product-omnibus {
        margin: 0 0 1.25rem;
        color: var(--placeholder-clr);
        font-size: 0.8rem;
    }

    /*Short description*/
    .woocommerce-product-details__short-description{
        margin-bottom:20px;
    }

    /* ==========================================================================
       Buy area: quantity (label + stepper), size select, add to cart
       ========================================================================== */
    /* Simple product form and the variable product add-to-cart block share a
       2-column grid: label (left) + quantity (right), button spans full width. */
    .single-product form.cart:not(.variations_form),
    .single-product .woocommerce-variation-add-to-cart {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: 0.75rem 1rem;
    }
    .applari-qty-label {
        grid-column: 1;
        font-weight: 600;
    }
    .single-product .quantity {
        grid-column: 2;
        justify-self: end;
        display: inline-flex;
        align-items: center;
        border: 1px solid var(--font-clr);
    }
    .single-product .single_add_to_cart_button {
        grid-column: 1 / -1;
    }

    .applari-qty__btn {
        background: none;
        border: 0;
        width: 2.5rem;
        height: 2.75rem;
        padding: 0;
        font-size: 1.1rem;
        line-height: 1;
        color: var(--font-clr);
        cursor: pointer;
    }
    .applari-qty__btn:hover {
        background: none;
        color: var(--link-hover-clr);
    }
    .single-product .quantity input.qty {
        width: 2.5rem;
        height: 2.75rem;
        padding: 0;
        text-align: center;
        border: 0;
        border-left: 1px solid var(--font-clr);
        border-right: 1px solid var(--font-clr);
        border-radius: 0;
        -moz-appearance: textfield;
        font-size:13px;
    }
    .single-product .quantity input.qty::-webkit-outer-spin-button,
    .single-product .quantity input.qty::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    /* Size select ("Valitse koko"): hide attribute label, full-width dropdown. */
    .single-product table.variations,
    .single-product table.variations tbody,
    .single-product table.variations tr,
    .single-product table.variations td {
        display: block;
        width: 100%;
    }
    .single-product table.variations {
        margin: 0 0 1rem;
        border: 0;
    }
    .single-product table.variations th.label {
        display: none;
    }
    .single-product table.variations tr{
        margin-bottom:10px;
    }
    .single-product table.variations td.value {
        padding: 0;
    }
    .single-product table.variations select {
        width: 100%;
        padding: 0.9rem 2.5rem 0.9rem 1rem;
        border: 1px solid var(--font-clr);
        border-radius: 0;
        background-color: transparent;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 1rem center;
        background-size: 0.8rem;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        font-size: 1rem;
        cursor: pointer;
    }
    .single-product .reset_variations {
        display: inline-block;
        margin-top: 0.25rem;
        font-size: 0.8rem;
    }

    /* Add to cart button: full-width solid black, inverts on hover. */
    .single-product #main .single_add_to_cart_button {
        width: 100%;
        padding: 1rem 1.5rem;
        background-color: var(--font-clr);
        color: #fff;
        border: 1px solid var(--font-clr);
        border-radius: 0;
        font-size: 1rem;
        font-weight: 600;
        letter-spacing: 0.5px;
        text-transform: none;
        text-align: center;
    }
    .single-product #main .single_add_to_cart_button:hover {
        background-color: #fff;
        color: var(--font-clr);
        border-color: var(--font-clr);
    }

    /* ==========================================================================
       Klarna messaging + divider + write a review
       ========================================================================== */
    .single-product-klarna {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        margin: 0.85rem 0 0;
        font-size: 0.85rem;
        color: var(--font-clr);
    }
    .single-product-klarna__logo {
        font-weight: 700;
        letter-spacing: -0.5px;
    }
    .single-product-divider {
        border: 0;
        border-top: 1px solid var(--font-clr);
        margin: 2rem 0 0;
    }
    .single-product-write-review {
        display: inline-block;
        margin-top: 1.25rem;
        color: var(--font-clr);
        font-weight: 600;
        text-decoration: underline;
    }
    .single-product-write-review:hover {
        color: var(--link-hover-clr);
    }
    /* Product info accordion (Tuotetiedot) */
    .single-product-info {
        margin-top: 0px;
    }

    .single-product-info__item {
        border-bottom: 1px solid var(--font-clr);
    }

    .single-product-info__summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: 1.25rem 0;
        cursor: pointer;
        list-style: none;
    }

    /* Hide default disclosure marker (Safari/Chrome/Firefox) */
    .single-product-info__summary::-webkit-details-marker {
        display: none;
    }
    .single-product-info__summary::marker {
        content: "";
    }

    .single-product-info__title {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.75rem;
        font-weight: 600;
        font-size:18px;
    }

    /* +/- toggle icon */
    .single-product-info__icon {
        position: relative;
        flex: 0 0 auto;
        width: 14px;
        height: 14px;
    }

    .single-product-info__icon::before,
    .single-product-info__icon::after {
        content: "";
        position: absolute;
        background-color: var(--font-clr);
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    .single-product-info__icon::before {
        top: 50%;
        left: 0;
        width: 100%;
        height: 1px;
        transform: translateY(-50%);
    }

    .single-product-info__icon::after {
        top: 0;
        left: 50%;
        width: 1px;
        height: 100%;
        transform: translateX(-50%);
    }

    .single-product-info__item[open] .single-product-info__icon::after {
        opacity: 0;
    }

    .single-product .single-product-info__content {
        padding: 0 0 1.5rem;
        margin-top:10px;
    }

    .single-product-info__content > *:first-child {
        margin-top: 0;
    }

    .single-product-info__content > *:last-child {
        margin-bottom: 0;
    }
    /*Additional information*/
    .woocommerce table.shop_attributes th{
        text-align:left;
    }
    .woocommerce table.shop_attributes td{
        padding:8px;
    }
}

@media only screen and (min-width: 768px) {
    .single-product .entry-content  > .product{
        flex-direction: row;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .woocommerce-product-gallery{
        flex: 0 0 49%;
        max-width: 49%;
    }
    .woocommerce div.product div.images .flex-control-thumbs{
        gap:15px;
    }
    .single-product .summary{
        flex: 0 0 49%;
        max-width: 49%;
    }
}

@media only screen and (min-width: 990px) {

}

@media only screen and (min-width: 1280px) {

}
