.fm-condition-tabs {margin-bottom: 0px !important; }

body.fm-has-tabs .fm-condition-tabs {
    margin-top: 14px;
}

.fm-tab-nav {
    display: flex;
    gap: 3px;
}

.fm-tab {
    background: #ececec;
    border: none;
    border-radius: 8px 8px 0 0;
    padding: 5px 24px;
    font-size: 15px;
    font-weight: 500;
    color: var(--theme-palette-color-3);
    cursor: pointer;
    transition: background .15s, color .15s;
}
.fm-tab:hover { color: var(--theme-palette-color-2); }
.fm-tab.is-active {
    background: var(--theme-palette-color-6);
    border: 1px solid var(--theme-palette-color-5);
    border-bottom: none;
    margin-bottom: -1px;
    position: relative;
    z-index: 1;
    color: var(--theme-palette-color-2);
}

.fm-tab-meta {
    font-size: 12px;
    font-weight: 400;
    color: var(--theme-palette-color-4);
    margin-left: 2px;
}

.fm-tab-discount {
    display: inline-block;
    background: #FB7185;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    border-radius: 10px;
    padding: 1px 7px;
    margin-left: 6px;
    vertical-align: middle;
}

.fm-tab-panel {
    display: none;
	   background: var(--theme-palette-color-6);
    padding: 1.5em 2em;
    border: 1px solid var(--theme-palette-color-5);
	border-bottom: 0px;
}


.gspb-buttonbox {
	background: var(--theme-palette-color-6);
    padding: 0 1.5em 2em;
    border: 1px solid var(--theme-palette-color-5);
	border-top: 0px;
	border-radius: 0 0 8px 8px;
	display: flex!important;
    flex-direction: column;}

.fm-tab-panel.is-active { display: block; border-radius: 0px 8px 8px 8px}
.fm-condition-tabs.is-solo .fm-tab-panel { border-radius: 8px;}


.single form.cart {display: block;}

/* Hintataulukko */
.entry-summary .fm-price-table {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.entry-summary p.price {
    display: none;
}

.fm-price-row--total del {
    font-size: 60%;
    color: var(--theme-palette-color-3);
	font-weight: 500;
}

.fm-price-row--total ins {
	color: #e10a1e;
}

.fm-price-row--total ins.is-discounted {
    color: #e10a1e;
}

.fm-price-row--after-all {
padding-top: 0.5em;
	border-top: 1px dashed var(--theme-palette-color-4);
}

.cb-wrapper {border: 1px solid #fb7185;
    padding: 1em;
    border-radius: 8px;
    margin-bottom: 1.5em;
	background-color: #fff;}

.fm-price-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 15px;
    color: var(--theme-palette-color-3);
	font-weight: 500;
}

.fm-price-divider {
    border-top: 1px solid var(--theme-palette-color-5);
    margin: 6px 0 2px;
}
.fm-price-row--total .fm-price-label {
    font-size: 16px;
    font-weight: 600;
    color: var(--theme-palette-color-2);
}
.fm-price-row--total .fm-price-value {
    font-size: 42px;
    font-weight: 700;
    color: var(--theme-palette-color-2);
	margin-top: 10px;
    line-height: normal;
}

.fm-price-value.is-discounted {color: #e10a1e;}

/* Käytetty-paneelin intro */
.fm-used-intro {
    margin: 0 0 1em 0;
    padding: 10px 14px;
    background: #fff8f9;
    border-left: 3px solid #FB7185;
    border-radius: 4px;
    font-size: 13px;
    color: var(--theme-palette-color-3);
}

/* Käytetty-lista */
.fm-used-list { list-style: none; padding: 0; margin: 0; }
.fm-used-item + .fm-used-item { margin-top: 8px; }
.fm-used-item a {
    display: flex; gap: 12px; align-items: center;
    padding: 10px;
    border: 1px solid var(--theme-palette-color-5);
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    background: #fff;
    transition: border-color .15s, background .15s;
}
.fm-used-item a:hover { border-color: #FB7185; background: #fff8f9; }
.fm-used-thumb {
    width: 64px; height: 64px;
    object-fit: cover; border-radius: 6px;
    flex-shrink: 0;
}
.fm-used-info { display: flex; flex-direction: column; gap: 2px; }
.fm-used-name { font-weight: 500; color: var(--theme-palette-color-2); font-size: 14px; }
.fm-used-price { color: var(--theme-palette-color-3); font-size: 13px; font-weight: 600;}

.fm-used-bullets {
    list-style: none;
    padding: 0;
    margin: 4px 0;
    font-size: 12px;
    color: var(--theme-palette-color-3);
    line-height: 1.5;
}
.fm-used-bullets li {
    position: relative;
    padding-left: 12px;
    margin: 0;
}
.fm-used-bullets li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: #FB7185;
}

/* Piilota uuden tuotteen ostotoiminnot kun Käytetty-tab on aktiivinen */
body.fm-tab-active-used .ct-product-add-to-cart,
body.fm-tab-active-used .single_add_to_cart_button,
body.fm-tab-active-used .linked_vars,
body.fm-tab-active-used div[data-block="hook:622206"] {
    display: none;
}

.fm-tab-panel p:empty {
    display: none;
}

.entry-summary {
    margin-left: auto;
}

.fm-vat-toggle-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
	margin-bottom: 1em;
	margin-top: 1em;
}

.is-solo .fm-vat-toggle-wrap {
	margin-top: 0em;
}

.fm-vat-toggle:disabled {
    cursor: default;
    opacity: 0.7;
}

.top_badge.fm-vat-toggle {
    background: var(--theme-palette-color-4);
    color: var(--theme-palette-color-3);
    cursor: pointer;
    transition: all .15s;
	font-weight: 500;
}

.fm-vat-toggle svg {
    flex-shrink: 0;
}

.top_badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 6px;
    padding: 4px 10px;
}

.fm-free-shipping {background: #0f834d; color: #fff;}

.fm-free-shipping svg {
    flex-shrink: 0;
    stroke: #fff;
}

.fm-warranty-label {
    background: #E3F8F0;
}

.fm-warranty-checked {
    background: #cce3ff;
}

.fm-price-row--after-all .fm-price-value {
    font-size: 18px;
    font-weight: 600;
    color: #e10a1e;
}

.fm-price-disclaimer {
    font-size: 11px;
    color: var(--theme-palette-color-3);
    line-height: 1.4;
	padding: 0.5em 0;
}

.fm-used-info-box, .accordion {
padding: 1.5em 2em;
    margin-top: 1.5em;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	border: 1px solid #e1e1e1;
    border-radius: 8px;
		position:relative;
}

.fm-condition-tabs + .fm-used-info-box::before,
.fm-condition-tabs + .fm-used-info-box::after,
.fm-condition-tabs + .accordion::before,
.fm-condition-tabs + .accordion::after,
.fm-used-info-box + .accordion::after,
.fm-used-info-box + .accordion::before,
.card1.accordion + .fm-benefits::after,
.card1.accordion + .fm-benefits::before,
.fm-benefits + .returnright::before,
.fm-benefits + .returnright::after{
    content: '';
    position: absolute;
    top: -24px;
    width: 2px;
    height: 24px;
    background: var(--theme-palette-color-5);
}

.fm-condition-tabs + .fm-used-info-box::before, .fm-condition-tabs + .accordion::before, .fm-used-info-box + .accordion::before, .card1.accordion + .fm-benefits::before, .fm-benefits + .returnright::before {
    left: 30%;
}

.fm-condition-tabs + .fm-used-info-box::after, .fm-condition-tabs + .accordion::after, .fm-used-info-box + .accordion::after, .card1.accordion + .fm-benefits::after, .fm-benefits + .returnright::after {
    right: 30%;
}

.fm-used-condition {
    font-size: 18px;
    color: var(--theme-palette-color-3);
	display: flex;
    align-items: center;
	gap: 6px;
}

.fm-used-article {margin-bottom: 1em;}

.fm-used-contents-title, .accordion-heading {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
    color: var(--theme-palette-color-2);
    margin-bottom: 0.5em;
}

.accordion .disclaimer {font-size: 14px;}

.fm-used-contents-value ul {
    padding-left: 1.2em;
    font-size: 14px;
}

.fm-used-contents-value li {
    margin-bottom: 2px;
}

.fm-variant-trigger {
    border: 1px solid var(--theme-palette-color-5);
    border-radius: 8px;
    padding: 10px 16px;
    cursor: pointer;
    margin-bottom: 1em;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fm-variant-wrap {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 1em;
}

.fm-variant-trigger-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--theme-palette-color-2);
}

.fm-variant-trigger-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fm-variant-trigger-value {
    font-size: 15px;
    font-weight: 500;
    color: var(--theme-palette-color-2);
}

/* Drawer */
.fm-drawer-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    z-index: 9998;
}

.fm-drawer {
    position: fixed;
    top: 0;
    right: -420px;
    width: 420px;
    max-width: 100vw;
    height: 100vh;
    background: #fff;
    z-index: 9999;
    transition: right 0.3s ease;
    display: flex;
    flex-direction: column;
	top: var(--wp-admin--admin-bar--height, 0px);
    height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
	overflow-y: auto;
}

.fm-drawer.is-open {
    right: 0;
}

.fm-drawer-overlay.is-open {
    display: block;
}

.fm-drawer-header, .fm-drawer-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid var(--theme-palette-color-5);
    font-weight: 600;
    font-size: 20px;
}

.fm-drawer-close {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--theme-palette-color-3);
    padding: 4px;
}

.fm-drawer-content {
    padding: 24px;
    border-bottom: 1px solid var(--theme-palette-color-5);
}

/* Combo-kortit drawerin sisällä */
.fm-combo-cards {
    margin-top: 1em;
	padding-bottom: 1em;
}

.fm-drawer .fm-combo-card {margin-bottom: 1em;}

.fm-combo-card {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.fm-combo-card-header {
    background: var(--theme-palette-color-5);
    padding: 10px 16px;
    font-weight: 600;
    font-size: 14px;
    color: #333;
}

.fm-combo-card-images {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px;
}

.fm-combo-card-image {
    flex: 1;
    max-width: 40%;
}

.fm-combo-card-image img {
    width: 100%;
    height: auto;
    display: block;
}

.fm-combo-card-plus {
    font-size: 24px;
    font-weight: 300;
    color: #999;
    flex-shrink: 0;
}

.fm-combo-card-titles {
    padding: 0 16px 12px;
    font-size: 13px;
    text-align: center;
}

.fm-combo-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-top: 1px solid var(--theme-palette-color-5);
    background: var(--theme-palette-color-5);
}

.fm-combo-card-price {
    font-size: 18px;
    font-weight: 700;
    color: #222;
}

.fm-combo-card-add {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0 !important;
    background: var(--theme-palette-color-1) !important;
    color: #fff !important;
    border-radius: 50% !important;
    border: none !important;
    cursor: pointer;
    transition: opacity 0.2s ease;
    text-decoration: none !important;
    box-sizing: border-box;
    flex-shrink: 0;
    line-height: 1;
}

.fm-combo-card-add:hover {
    opacity: 0.85;
}

.fm-combo-card-add svg {
    width: 18px;
    height: 18px;
    display: block;
}

.fm-combo-card-add {
    position: relative;   /* ankkuri badgelle */
    overflow: visible;    /* badge saa näkyä napin reunan yli */
}

.fm-combo-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 10px;
    background: #fff;
    color: #FB7185;
    font-size: 12px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
    box-shadow: 0 1px 4px rgba(0,0,0,0.25);
    transform: scale(0);
    transition: transform 0.2s ease;
    pointer-events: none;
}

.fm-combo-badge.show {
    transform: scale(1);
}

/* Piilotetaan tekstilabel napista — vain ikoni näkyy */
.fm-combo-card-add .fm-cart-label {
    display: none;
}

/* ---------- Toimitusrivit ---------- */

.shipping_wrapper {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
        "title price"
        "sub   sub";
    column-gap: 1rem;
    row-gap: 0.125rem;
    padding: 0.875rem 0;
}

/* Erotin rivien väliin (paitsi viimeisen jälkeen) */
.shipping_wrapper:not(:last-child) {
    border-bottom: 1px solid var(--theme-palette-color-4);
}

/* Sisältö purkautuu suoraan vanhemman gridiin */
.shipping_container {
    display: contents;
}

/* Schenker / Posti -otsikko ylös vasemmalle */
.shipping_container .font-weight-semibold {
    grid-area: title;
    color: var(--theme-palette-color-2);
    font-weight: 500;
    line-height: 1.4;
}

/* Noutopiste / Postipaketti -alateksti alle, koko leveydeltä */
.shipping_container .text-muted,
.shipping_container .font-size-sm {
    grid-area: sub;
    color: #9ca3af;
    font-size: 0.9375rem;
    line-height: 1.4;
}

/* Hinta ylös oikealle, otsikon kanssa samalla rivillä */
.shipping_price {
    grid-area: price;
    color: var(--theme-palette-color-2);
    font-weight: 400;
    white-space: nowrap;
    text-align: right;
}

.fm-benefits {padding: 0px; background-color: #f5fefa;}

.fm-product-section__content table tr:nth-child(odd) {background-color: var(--theme-palette-color-6);}

.single .flexy-view .ct-media-container:has(img[src*=".jpg"]),
.single .flexy-view .ct-media-container:has(img[src*=".jpeg"]){
    aspect-ratio: 5 / 4 !important;
}

.ct-floating-bar-item-title .woo-custom-stock-status {display: none;}
.ct-floating-bar-content .ct-media-container img {padding: 0px;}

.ct-woo-badge-campaign-link {
    background: none;
	padding: 0px;
}

.fm-price-row.is-last {margin-bottom: 0.5em;}

.fm-capture-one-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
	margin: 0px;
}

/* työntää hinnan oikeaan reunaan */
.fm-capture-one-price {
    margin-left: auto;
}

.fm-capture-one-wrap {
  margin: 1em 0;
    background-color: #ffffff;
    padding: 10px;
    border-radius: 8px;
    border: 1px solid #fb7185;}

.fm-capture-one-wrap {
    position: relative;   /* tooltipin ankkuri */
}

/* pikku-i pelkkä vihje, ei enää hover-kohde */
.fm-co-info {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    color: #FB7185;   /* coral ikoni, läpinäkyvä tausta */
    cursor: help;
    vertical-align: middle;
}
.fm-co-info svg {
    display: block;
}

/* tooltip-kupla keskitettynä koko palkin päälle */
.fm-co-tooltip {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    visibility: hidden;
    transition: opacity .15s ease, visibility .15s ease;
    pointer-events: none;
    z-index: 10;
}

/* laukaisu koko palkin hoverista */
.fm-capture-one-wrap:hover .fm-co-tooltip {
    opacity: 1;
    visibility: visible;
}

.oppaat {margin-top: 0.5em;
    text-align: center;
    font-size: 12px;}

.virtual .button2,
.virtual .card,
.virtual .returnright

{display:none;}

.virtual form.cart {margin-top: 1em;}

.erat {display: inline-block; margin: 0px;}

.fm-variant-trigger-value {    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;}

.fm-product-section--combo-only #fm-section-kampanjat-title {display:none;}
.fm-product-section--combo-only .fm-kampanja-combos__title {padding-top: 0px;}

.wpcf7-form-control-wrap.url + br {
    display: none;
}

/* @Mobile only CSS */

@media (max-width: 767px) {
	
#pwb_product-brand-name.desktop-only {display: none;} 
	
div.woocommerce-product-gallery {margin-bottom: 0em;}
	
.fm-tab-panel {width: 100vw;
    position: relative;
    margin-left: -50vw;
    left: 50%;
	border-radius:0px!important;
	padding: 1.5em 15px;}

	.fm-price-row--total ins.is-discounted {
    font-size: 30px;}
		
	.fm-price-row--total del {
    font-size: 22px;
	}
	
	.rbmonthly .erat, .rbmonthly .line2.second, .rbcontainer .rb_read {display:none;}
	.rbmonthly {font-size: 16px; display: block;}
	.rbmonthly .totalcost {display: block;}
	.annualinterest:after, .rb_read:before {content: "";margin:0px;}

}

