.elementor-kit-7{--e-global-color-primary:#0E0E0E;--e-global-color-secondary:#7D1B2E;--e-global-color-text:#2F2F2F;--e-global-color-accent:#7D1B2E;--e-global-typography-primary-font-family:"Bebas Neue";--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.08em;--e-global-typography-primary-letter-spacing:0.5px;--e-global-typography-secondary-font-family:"DM Sans";--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.618em;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.618em;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.618em;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.618em;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:#0E0E0E;}.elementor-kit-7 a:hover{color:#7D1B2E;}.elementor-kit-7 h1{font-family:"Bebas Neue", Sans-serif;font-size:53px;font-weight:400;line-height:1.08em;letter-spacing:0.5px;}.elementor-kit-7 h2{font-family:"Bebas Neue", Sans-serif;font-size:33px;font-weight:400;line-height:1.12em;letter-spacing:0.5px;}.elementor-kit-7 h3{font-family:"Bebas Neue", Sans-serif;font-size:26px;font-weight:400;line-height:1.18em;letter-spacing:0.5px;}.elementor-kit-7 h4{font-family:"Bebas Neue", Sans-serif;font-size:20px;font-weight:400;line-height:1.25em;letter-spacing:0.5px;}.elementor-kit-7 h5{font-family:"Bebas Neue", Sans-serif;font-size:16px;font-weight:400;line-height:1.35em;letter-spacing:0.5px;}.elementor-kit-7 h6{font-family:"Bebas Neue", Sans-serif;font-size:16px;font-weight:400;line-height:1.35em;letter-spacing:0.5px;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:500;}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{font-family:"DM Sans", Sans-serif;font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1440px){.elementor-kit-7{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}}@media(max-width:1024px){.elementor-kit-7{font-size:16px;}.elementor-kit-7 h1{font-size:42px;}.elementor-kit-7 h2{font-size:30px;}.elementor-kit-7 h3{font-size:24px;}.elementor-kit-7 h4{font-size:20px;}.elementor-kit-7 h5{font-size:16px;}.elementor-kit-7 h6{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{font-size:16px;}.elementor-kit-7 h1{font-size:33px;}.elementor-kit-7 h2{font-size:26px;}.elementor-kit-7 h3{font-size:22px;}.elementor-kit-7 h4{font-size:20px;}.elementor-kit-7 h5{font-size:16px;}.elementor-kit-7 h6{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}@media(min-width:2400px){.elementor-kit-7{font-size:16px;}.elementor-kit-7 h1{font-size:68px;}.elementor-kit-7 h2{font-size:42px;}.elementor-kit-7 h3{font-size:33px;}.elementor-kit-7 h4{font-size:26px;}.elementor-kit-7 h5{font-size:20px;}.elementor-kit-7 h6{font-size:20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1560px;}.e-con{--container-max-width:1560px;}}
/* Start custom CSS *//* Brodetic - typografia. Kultainen leikkaus, perusta 16 px.
   Asteikko: 13 / 16 / 20 / 26 / 33 / 42 / 53 / 68
   Askel 1.272 (= neliojuuri 1.618), joten joka toinen askel on tasan 1.618. */
:root:root{
--brd-xs:13px;--brd-s:16px;--brd-m:20px;--brd-l:26px;
--brd-xl:33px;--brd-2xl:42px;--brd-3xl:53px;--brd-4xl:68px;
--brd-leipa:"DM Sans","Helvetica Neue",Arial,sans-serif;
--bk-teksti-fontti:"DM Sans","Helvetica Neue",Arial,sans-serif;
--bk-otsikko-fontti:"Bebas Neue","Bebas Neue Pro","Babas Neue","Arial Narrow",sans-serif;
}
body{font-family:var(--brd-leipa);font-size:var(--brd-s);line-height:1.618;}
p,li,td,th,label,legend,input,select,textarea,button,.button{font-family:var(--brd-leipa);}
p{max-width:68ch;}

/* pikkuteksti 13 px */
.woocommerce .woocommerce-breadcrumb,
.woocommerce-result-count,
.woocommerce div.product form.cart table.variations th.label label,
.bk-merkkaus__johdanto,.bk-tapa__kuvaus,.bk-merkkaus__merkki,
.bk-varivalinta__otsikko,.bk-matriisi__ohje{font-size:var(--brd-xs) !important;}
.bk-merkkaus__merkki{letter-spacing:.12em;}

/* leipateksti 16 px */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce div.product form.cart .button,.single_add_to_cart_button,
.bk-tapa__numero,.bk-tapa__hinta,.bk-tapa__nimi,.bk-label,,.bk-suodatin select,.bk-suodatin input{
font-size:var(--brd-s) !important;}

/* apuotsikot: eivat kilpaile sivun H1:n kanssa */
.bk-suodattimet__otsikko{
font-size:var(--brd-s) !important;letter-spacing:.14em !important;line-height:1.3 !important;}

/* tuotekortin nimi luettavaksi, ei versaalifonttia */
.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
font-family:var(--brd-leipa) !important;font-size:var(--brd-s) !important;
font-weight:500 !important;line-height:1.35 !important;letter-spacing:0 !important;}

/* hinnat: taulukkonumerot */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,.woocommerce div.product span.price{
font-family:var(--brd-leipa) !important;font-size:var(--brd-m) !important;
font-weight:600 !important;font-variant-numeric:tabular-nums;letter-spacing:0 !important;}
@media(max-width:767px){
.woocommerce ul.products li.product .price{font-size:var(--brd-s) !important;}}

/* kapealla naytolla sisalto irti reunasta */
@media(max-width:1024px){
.elementor-location-archive{padding-left:20px;padding-right:20px;}}
@media(max-width:767px){
.elementor-location-archive{padding-left:16px;padding-right:16px;}}

/* ============================================================
   Laitekohtainen asettelu
   mobiili <=767 | tabletti <=1024 | kannettava <=1440 | iso >1440
   ============================================================ */

/* Tuoteruudukko taytti aiemmin nelja kiinteaa 270 px saraketta, joten
   isolla naytolla oikealle jai satoja pikseleita tyhjaa. Sarakkeet ovat
   nyt joustavia ja maara skaalautuu laitteen mukaan. */
.woocommerce ul.products.elementor-grid{
grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

/* Suodattimet jakautuivat 5+1 kahdelle riville. Tasajako auto-fitilla.
   Kohteena on __sisus, ei __paa: __paa sisaltaa vain otsikon ja
   mobiilin avausnapin. */
.bk-suodattimet__sisus{
grid-template-columns:repeat(auto-fit,minmax(170px,1fr)) !important;
gap:12px;
align-items:end;
}
.bk-suodattimet__sisus > *{min-width:0;}

/* --- iso naytto: leveampi ruudukko, luettava teksti pysyy kapeana --- */
@media(min-width:1441px){
.woocommerce ul.products.elementor-grid{grid-template-columns:repeat(6,minmax(0,1fr)) !important;}
}

/* --- tabletti --- */
@media(max-width:1024px){
.woocommerce ul.products.elementor-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}

/* --- puhelin --- */
@media(max-width:767px){
.woocommerce ul.products.elementor-grid{
grid-template-columns:repeat(2,minmax(0,1fr)) !important;
gap:28px 12px !important;
}
.bk-suodattimet__sisus{grid-template-columns:1fr !important;gap:10px;}
}

/* ============================================================
   Ostoskoripaneeli
   Nimi oli versaali ja punainen, merkkaustiedot puristuivat kahteen
   kapeaan palstaan ja napit olivat harmaat. Rauhoitettu: yksi palsta,
   hiusviivat, viininpunainen vain paatoiminnolle.
   ============================================================ */
.elementor-menu-cart__main{
padding:32px 28px 28px !important;
border-radius:0 !important;
box-shadow:-24px 0 60px rgba(14,14,14,.10) !important;
width:min(100vw,430px) !important;
}

.elementor-menu-cart__close-button{
margin:0 0 20px auto !important;
opacity:.55;
transition:opacity .15s;
}
.elementor-menu-cart__close-button:hover{opacity:1;}

.elementor-menu-cart__products{
padding:0 !important;
border-top:1px solid var(--bk-viiva,#DED7D6);
}

.elementor-menu-cart__product{
display:grid !important;
grid-template-columns:64px 1fr auto;
column-gap:16px;
row-gap:4px;
align-items:start;
padding:20px 0 !important;
margin:0 !important;
border:0 !important;
border-bottom:1px solid var(--bk-viiva,#DED7D6) !important;
}

.elementor-menu-cart__product-image{grid-row:1 / span 4;width:64px;}
.elementor-menu-cart__product-image img{width:64px;height:64px;object-fit:contain;background:#F5F2F2;}

.elementor-menu-cart__product-name{grid-column:2;margin:0 !important;}
.elementor-menu-cart__product-name a{
font-family:var(--brd-leipa) !important;
font-size:var(--brd-s) !important;
font-weight:500 !important;
line-height:1.35 !important;
letter-spacing:0 !important;
text-transform:none !important;
color:var(--bk-musta,#0E0E0E) !important;
text-decoration:none;
}
.elementor-menu-cart__product-name a:hover{text-decoration:underline;}

/* merkkaustiedot yhteen palstaan */
.elementor-menu-cart__product .variation{
grid-column:2;
display:block !important;
margin:6px 0 0 !important;
font-size:var(--brd-xs) !important;
line-height:1.5;
}
.elementor-menu-cart__product .variation dt,
.elementor-menu-cart__product .variation dd{
display:inline !important;
float:none !important;
clear:none !important;
margin:0 !important;
padding:0 !important;
font-size:var(--brd-xs) !important;
}
.elementor-menu-cart__product .variation dt{color:var(--bk-harmaa,#6B6B6B);font-weight:400;}
.elementor-menu-cart__product .variation dd{color:var(--bk-musta,#0E0E0E);}
.elementor-menu-cart__product .variation dd::after{content:"";display:block;height:2px;}
.elementor-menu-cart__product .variation dd p{margin:0 !important;display:inline;}

.elementor-menu-cart__product-price{
grid-column:2;
margin:8px 0 0 !important;
font-family:var(--brd-leipa) !important;
font-size:var(--brd-s) !important;
font-weight:600 !important;
color:var(--bk-musta,#0E0E0E) !important;
font-variant-numeric:tabular-nums;
}
.elementor-menu-cart__product-price .product-quantity{
color:var(--bk-harmaa,#6B6B6B);
font-weight:400;
}

.elementor-menu-cart__product-remove{
grid-column:3;grid-row:1;
position:static !important;
opacity:.4;
transition:opacity .15s;
}
.elementor-menu-cart__product-remove:hover{opacity:1;}

/* valisumma */
.elementor-menu-cart__subtotal{
display:flex !important;
flex-wrap:wrap;
align-items:baseline;
gap:8px;
padding:22px 0 !important;
border:0 !important;
font-family:var(--brd-leipa) !important;
}
.elementor-menu-cart__subtotal strong{
font-family:var(--brd-leipa) !important;
font-size:var(--brd-xs) !important;
font-weight:600 !important;
letter-spacing:.12em;
text-transform:uppercase;
color:var(--bk-harmaa,#6B6B6B);
}
.elementor-menu-cart__subtotal .amount{
margin-left:auto;
font-family:"Bebas Neue","Arial Narrow",sans-serif !important;
font-size:var(--brd-l) !important;
font-weight:400 !important;
color:var(--bk-musta,#0E0E0E) !important;
font-variant-numeric:tabular-nums;
}
.elementor-menu-cart__subtotal .tax_label{
flex:1 0 100%;
font-size:var(--brd-xs) !important;
color:var(--bk-harmaa,#6B6B6B);
}

/* napit: yksi paatoiminto, yksi toissijainen */
.elementor-menu-cart__footer-buttons{
display:grid !important;
grid-template-columns:1fr;
gap:10px;
}
.elementor-menu-cart__footer-buttons .elementor-button{
display:flex !important;
align-items:center;
justify-content:center;
height:52px;
border-radius:0 !important;
font-family:var(--brd-leipa) !important;
font-size:var(--brd-s) !important;
font-weight:500 !important;
letter-spacing:0 !important;
text-transform:none !important;
transition:background .15s,color .15s;
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout{
order:-1;
background:var(--bk-korostus,#7D1B2E) !important;
color:#fff !important;
border:1px solid var(--bk-korostus,#7D1B2E) !important;
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover{
background:var(--bk-korostus-tumma,#5F1322) !important;
border-color:var(--bk-korostus-tumma,#5F1322) !important;
}
.elementor-menu-cart__footer-buttons .elementor-button--view-cart{
background:transparent !important;
color:var(--bk-musta,#0E0E0E) !important;
border:1px solid var(--bk-musta,#0E0E0E) !important;
}
.elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover{
background:var(--bk-musta,#0E0E0E) !important;
color:#fff !important;
}

@media(max-width:767px){
.elementor-menu-cart__main{padding:24px 18px !important;width:100vw !important;}
.elementor-menu-cart__product{grid-template-columns:56px 1fr auto;column-gap:12px;}
.elementor-menu-cart__product-image,
.elementor-menu-cart__product-image img{width:56px;height:56px;}
}

/* viimeistely: yksi vierityspalkki paneelille, ei toista tuotelistalle */
.elementor-menu-cart__main{overflow-y:auto !important;}
.elementor-menu-cart__products{
max-height:none !important;
overflow:visible !important;
padding-right:0 !important;
}
.elementor-menu-cart__subtotal{
justify-content:flex-start !important;
text-align:left !important;
}
.elementor-menu-cart__subtotal .tax_label{text-align:left !important;margin:2px 0 0 !important;}
.elementor-menu-cart__product .variation{line-height:1.45 !important;}
.elementor-menu-cart__footer-buttons{margin-top:4px;}

/* ============================================================
   Ostoskorisivu
   WooCommercen oletustaulukko laatikkoreunuksineen vaihdettu
   hiusviivoihin: sama ilme kuin tuotesivun merkkauslohkossa.
   ============================================================ */
.woocommerce table.shop_table.cart{
border:0 !important;
border-collapse:collapse !important;
border-radius:0 !important;
margin:0 0 28px !important;
}
.woocommerce table.shop_table.cart th{
padding:0 16px 12px 0 !important;
border:0 !important;
border-bottom:2px solid var(--bk-musta,#0E0E0E) !important;
background:transparent !important;
font-family:var(--brd-leipa) !important;
font-size:var(--brd-xs) !important;
font-weight:600 !important;
letter-spacing:.12em;
text-transform:uppercase;
color:var(--bk-harmaa,#6B6B6B) !important;
text-align:left;
}
.woocommerce table.shop_table.cart td{
padding:20px 16px 20px 0 !important;
border:0 !important;
border-bottom:1px solid var(--bk-viiva,#DED7D6) !important;
background:transparent !important;
vertical-align:top;
}
.woocommerce table.shop_table.cart td.product-remove{padding-right:8px !important;width:32px;}
.woocommerce table.shop_table.cart td.product-thumbnail{width:88px;}
.woocommerce table.shop_table.cart td.product-thumbnail img{
width:72px;height:72px;object-fit:contain;background:#F5F2F2;
}
.woocommerce table.shop_table.cart td.product-name > a{
font-family:var(--brd-leipa) !important;
font-size:var(--brd-s) !important;
font-weight:500 !important;
color:var(--bk-musta,#0E0E0E) !important;
text-decoration:none;
line-height:1.35;
}
.woocommerce table.shop_table.cart td.product-name > a:hover{text-decoration:underline;}
.woocommerce table.shop_table.cart td.product-name .variation{
margin:8px 0 0 !important;
font-size:var(--brd-xs) !important;
line-height:1.5;
}
.woocommerce table.shop_table.cart td.product-name .variation dt,
.woocommerce table.shop_table.cart td.product-name .variation dd{
display:inline !important;float:none !important;clear:none !important;
margin:0 !important;padding:0 !important;font-size:var(--brd-xs) !important;
}
.woocommerce table.shop_table.cart td.product-name .variation dt{color:var(--bk-harmaa,#6B6B6B);font-weight:400;}
.woocommerce table.shop_table.cart td.product-name .variation dd::after{content:"";display:block;height:2px;}
.woocommerce table.shop_table.cart td.product-name .variation dd p{display:inline;margin:0 !important;}

.woocommerce table.shop_table.cart td.product-price,
.woocommerce table.shop_table.cart td.product-subtotal{
font-variant-numeric:tabular-nums;
font-size:var(--brd-s) !important;
}
.woocommerce table.shop_table.cart td.product-subtotal{font-weight:600;}

.woocommerce table.shop_table.cart .quantity input.qty{
width:64px;height:44px;padding:0 8px;
border:1px solid var(--bk-viiva-vahva,#C4B8B8) !important;
border-radius:0 !important;
font-family:var(--brd-leipa) !important;
font-size:var(--brd-s) !important;
text-align:center;
}
.woocommerce table.shop_table.cart td.product-remove a.remove{
width:24px;height:24px;line-height:22px;
font-size:20px !important;
color:var(--bk-harmaa,#6B6B6B) !important;
background:transparent !important;
opacity:.5;transition:opacity .15s,color .15s;
}
.woocommerce table.shop_table.cart td.product-remove a.remove:hover{
opacity:1;color:var(--bk-korostus,#7D1B2E) !important;background:transparent !important;
}

/* kuponki ja paivitys samalle riville, toissijaisina */
.woocommerce table.shop_table.cart td.actions{
padding:20px 0 0 !important;border-bottom:0 !important;
}
.woocommerce .cart .coupon{display:flex;gap:10px;align-items:center;float:none !important;}
.woocommerce .cart .coupon .input-text{
width:190px;height:44px;padding:0 12px;
border:1px solid var(--bk-viiva-vahva,#C4B8B8) !important;border-radius:0 !important;
font-family:var(--brd-leipa) !important;font-size:var(--brd-s) !important;
}
.woocommerce .cart td.actions .button,
.woocommerce .cart .coupon .button{
height:44px;padding:0 20px;border-radius:0 !important;
background:transparent !important;
color:var(--bk-musta,#0E0E0E) !important;
border:1px solid var(--bk-musta,#0E0E0E) !important;
font-family:var(--brd-leipa) !important;font-size:var(--brd-s) !important;font-weight:500 !important;
text-transform:none !important;letter-spacing:0 !important;
}
.woocommerce .cart td.actions .button:hover,
.woocommerce .cart .coupon .button:hover{
background:var(--bk-musta,#0E0E0E) !important;color:#fff !important;
}
.woocommerce .cart td.actions .button[disabled]{opacity:.35;}

/* yhteenvetolaatikko: valkoinen, hiusviivareunus */
.woocommerce .cart-collaterals .cart_totals{
background:#fff !important;
border:1px solid var(--bk-viiva,#DED7D6);
padding:28px !important;
border-radius:0 !important;
width:100% !important;
}
.woocommerce .cart-collaterals .cart_totals > h2{
font-family:var(--brd-leipa) !important;
font-size:var(--brd-xs) !important;
font-weight:600 !important;
letter-spacing:.12em;
text-transform:uppercase;
color:var(--bk-harmaa,#6B6B6B) !important;
margin:0 0 18px !important;
}
.woocommerce .cart_totals table.shop_table{border:0 !important;margin:0 !important;}
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td{
padding:12px 0 !important;border:0 !important;
border-bottom:1px solid var(--bk-viiva,#DED7D6) !important;
background:transparent !important;font-size:var(--brd-s) !important;vertical-align:top;
}
.woocommerce .cart_totals table.shop_table th{
font-family:var(--brd-leipa) !important;font-weight:500 !important;
color:var(--bk-harmaa,#6B6B6B) !important;text-transform:none;letter-spacing:0;
}
.woocommerce .cart_totals table.shop_table td{text-align:right;font-variant-numeric:tabular-nums;}
.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td{border-bottom:0 !important;padding-top:18px !important;}
.woocommerce .cart_totals .order-total th{
color:var(--bk-musta,#0E0E0E) !important;font-weight:600 !important;
}
.woocommerce .cart_totals .order-total .amount{
font-family:"Bebas Neue","Arial Narrow",sans-serif !important;
font-size:var(--brd-xl) !important;font-weight:400 !important;
color:var(--bk-musta,#0E0E0E) !important;
}

/* toimitustavat selkeiksi riveiksi */
.woocommerce .cart_totals ul#shipping_method{margin:0 !important;padding:0 !important;text-align:left;}
.woocommerce .cart_totals ul#shipping_method li{
display:flex;align-items:baseline;gap:10px;
margin:0 !important;padding:9px 0 !important;text-indent:0 !important;
}
.woocommerce .cart_totals ul#shipping_method li label{
flex:1;font-size:var(--brd-s) !important;color:var(--bk-musta,#0E0E0E);cursor:pointer;
}
.woocommerce .cart_totals ul#shipping_method li .amount{font-variant-numeric:tabular-nums;font-weight:600;}
.woocommerce .cart_totals .woocommerce-shipping-destination{
font-size:var(--brd-xs) !important;color:var(--bk-harmaa,#6B6B6B);margin:10px 0 0 !important;
}

/* paatoiminto */
.woocommerce .wc-proceed-to-checkout{padding:22px 0 0 !important;}
.woocommerce .wc-proceed-to-checkout a.checkout-button{
display:flex !important;align-items:center;justify-content:center;
height:56px;margin:0 !important;padding:0 24px !important;
border-radius:0 !important;
background:var(--bk-korostus,#7D1B2E) !important;
color:#fff !important;
font-family:var(--brd-leipa) !important;
font-size:var(--brd-s) !important;font-weight:500 !important;
text-transform:none !important;letter-spacing:0 !important;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{
background:var(--bk-korostus-tumma,#5F1322) !important;
}

@media(max-width:767px){
.woocommerce table.shop_table.cart td{padding:14px 10px 14px 0 !important;}
.woocommerce table.shop_table.cart td.product-thumbnail img{width:56px;height:56px;}
.woocommerce .cart .coupon{flex-wrap:wrap;}
.woocommerce .cart .coupon .input-text{width:100%;}
.woocommerce .cart-collaterals .cart_totals{padding:20px !important;}
}

/* ALV-erittely ei saa perii ison summan tyylia: sisakkainen .amount */
.woocommerce .cart_totals .order-total small,
.woocommerce .cart_totals .order-total small .amount,
.woocommerce .cart_totals .includes_tax,
.woocommerce .cart_totals .includes_tax .amount,
.woocommerce .cart_totals .tax-rate .amount{
font-family:var(--brd-leipa) !important;
font-size:var(--brd-xs) !important;
font-weight:400 !important;
color:var(--bk-harmaa,#6B6B6B) !important;
letter-spacing:0 !important;
}
.woocommerce .cart_totals .order-total small{display:block;margin-top:6px;}
.elementor-menu-cart__subtotal small,
.elementor-menu-cart__subtotal small .amount{
font-family:var(--brd-leipa) !important;
font-size:var(--brd-xs) !important;
font-weight:400 !important;
color:var(--bk-harmaa,#6B6B6B) !important;
}
/* kuponki ja paivitys samalle riville.
   HUOM. td EI saa olla display:flex - se irrottaa solun taulukon
   asettelusta, jolloin colspan lakkaa toimimasta ja solu kutistuu
   yhden sarakkeen levyiseksi (tassa 199 px). */
.woocommerce .cart td.actions{display:table-cell !important;}
.woocommerce .cart td.actions .coupon{display:inline-flex;vertical-align:middle;}
.woocommerce .cart td.actions > button.button,
.woocommerce .cart td.actions > input.button{float:right;}

/* Taulukon sarakkeet kutistuivat: kuva puristui 72 px korkeaksi mutta
   16 px levaksi ja tuotenimi katkesi neljalle riville. */
.woocommerce table.shop_table.cart th.product-thumbnail,
.woocommerce table.shop_table.cart td.product-thumbnail{
width:88px !important;min-width:88px !important;
}
.woocommerce table.shop_table.cart td.product-thumbnail img{
width:72px !important;height:72px !important;max-width:none !important;
}
.woocommerce table.shop_table.cart th.product-name,
.woocommerce table.shop_table.cart td.product-name{min-width:190px;}
.woocommerce table.shop_table.cart th.product-price,
.woocommerce table.shop_table.cart td.product-price,
.woocommerce table.shop_table.cart th.product-subtotal,
.woocommerce table.shop_table.cart td.product-subtotal{white-space:nowrap;}

/* kapealla naytolla yhteenveto taulukon alle, ei viereen */
@media(max-width:1024px){
.woocommerce-cart .woocommerce{display:block !important;}
.woocommerce-cart .cart-collaterals{width:100% !important;max-width:none !important;margin-top:32px !important;}
.woocommerce table.shop_table.cart td.product-name{min-width:150px;}
}

/* ============================================================
   Tuotesivu
   Ostosnappi oli ~230 px taitteen alapuolella. Kokeilin
   position:sticky-nappia, mutta se leijui merkkausvalintojen
   PAALLE eli peitti juuri sen kohdan, jossa asiakas valitsee
   brodeerauksen. Oikea korjaus on lyhentaa sivua: tuotekuva oli
   913 px korkea. Kunnollinen tarttuva ostopalkki (nimi + hinta +
   nappi, ilmestyy vasta kun oikea nappi on vierinyt ohi) vaatii
   JavaScriptia ja kuuluu lisaosaan, ei tahan.
   ============================================================ */
.woocommerce div.product .woocommerce-product-gallery__image > a > img,
.woocommerce div.product .woocommerce-product-gallery__image > img{
max-height:620px;
width:auto;
margin-inline:auto;
object-fit:contain;
}
.woocommerce div.product .woocommerce-product-gallery__image{text-align:center;}
@media(max-width:767px){
.woocommerce div.product .woocommerce-product-gallery__image > a > img,
.woocommerce div.product .woocommerce-product-gallery__image > img{max-height:420px;}
}
/* suurennuslasi on emoji-kuva, ei tuotekuva */
.woocommerce div.product .woocommerce-product-gallery img.emoji{
width:1em !important;height:1em !important;max-height:none !important;
}

/* hinta ja tuotenimi nakyviin myos vierittaessa: yhteenvetopalsta seuraa */
@media(min-width:1025px){
.woocommerce div.product .summary,
.woocommerce div.product .entry-summary{align-self:start;}
}

/* Kosketuskohteet vahintaan 44 px kapealla naytolla (WCAG 2.5.8).
   HUOM. Murupolun linkit EIVAT kuulu tahan: `display:flex` teki
   rivinsisaisesta linkista lohkotason, jolloin "Etusivu" vei koko
   rivin ja murupolku venyi 140 px korkeaksi. WCAG 2.5.8 sallii
   poikkeuksen tekstin seassa oleville linkeille. */
@media(max-width:1024px){
.e-n-menu-title-container,
.bk-tapa,
.bk-paikat label{min-height:44px;display:flex;align-items:center;}
.bk-suodatin select{min-height:44px;}
}
.woocommerce .woocommerce-breadcrumb{line-height:1.5 !important;}
.woocommerce .woocommerce-breadcrumb a{
display:inline !important;min-height:0 !important;
padding:4px 0;
}

/* ============================================================
   Kassa (WooCommercen lohkokassa)
   Oletuksena pyoristetyt kentat ja harmaat reunat. Samat
   hiusviivat ja suorat kulmat kuin muualla sivustolla.
   ============================================================ */
.wc-block-checkout__form,
.wp-block-woocommerce-checkout{font-family:var(--brd-leipa) !important;}

/* vaiheiden otsikot */
.wc-block-components-checkout-step__title{
font-family:"Bebas Neue","Arial Narrow",sans-serif !important;
font-size:var(--brd-l) !important;
font-weight:400 !important;
letter-spacing:.02em;
color:var(--bk-musta,#0E0E0E) !important;
}
.wc-block-components-checkout-step__description{
font-size:var(--brd-xs) !important;
color:var(--bk-harmaa,#6B6B6B) !important;
}
.wc-block-components-checkout-step{
padding-left:0 !important;
border-bottom:1px solid var(--bk-viiva,#DED7D6);
padding-bottom:28px;
margin-bottom:28px;
}
.wc-block-components-checkout-step__heading-content,
.wc-block-components-checkout-step__container::after{display:none !important;}

/* kentat */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select__select,
.wc-block-components-combobox-control input{
border-radius:0 !important;
border:1px solid var(--bk-viiva-vahva,#C4B8B8) !important;
background:#fff !important;
font-family:var(--brd-leipa) !important;
font-size:var(--brd-s) !important;
min-height:52px !important;
box-shadow:none !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select__select:focus,
.wc-block-components-combobox-control input:focus{
border-color:var(--bk-musta,#0E0E0E) !important;
outline:2px solid var(--bk-korostus,#7D1B2E) !important;
outline-offset:1px;
}
.wc-block-components-text-input label,
.wc-block-components-select label{
font-family:var(--brd-leipa) !important;
font-size:var(--brd-s) !important;
color:var(--bk-harmaa,#6B6B6B) !important;
}

/* toimitus- ja maksuvalinnat riveiksi */
.wc-block-components-radio-control__option{
border-radius:0 !important;
padding:16px 16px 16px 48px !important;
}
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option{
border:1px solid var(--bk-viiva,#DED7D6) !important;
margin-bottom:-1px;
}
.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__input:checked){
border-color:var(--bk-musta,#0E0E0E) !important;
position:relative;z-index:1;
}
.wc-block-components-radio-control__label{
font-size:var(--brd-s) !important;color:var(--bk-musta,#0E0E0E) !important;
}
.wc-block-components-radio-control__secondary-label{
font-variant-numeric:tabular-nums;font-weight:600;
}

/* tilauksen yhteenveto */
.wp-block-woocommerce-checkout-order-summary-block{
border:1px solid var(--bk-viiva,#DED7D6) !important;
border-radius:0 !important;
background:#fff !important;
padding:28px !important;
}
.wc-block-components-checkout-order-summary__title,
.wc-block-components-checkout-order-summary__title-text{
font-family:var(--brd-leipa) !important;
font-size:var(--brd-xs) !important;
font-weight:600 !important;
letter-spacing:.12em;
text-transform:uppercase;
color:var(--bk-harmaa,#6B6B6B) !important;
}
.wc-block-components-order-summary-item__description .wc-block-components-product-name{
font-family:var(--brd-leipa) !important;
font-size:var(--brd-s) !important;
font-weight:500 !important;
color:var(--bk-musta,#0E0E0E) !important;
}
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata{
font-size:var(--brd-xs) !important;color:var(--bk-harmaa,#6B6B6B) !important;
}
.wc-block-components-totals-item{
font-family:var(--brd-leipa) !important;font-size:var(--brd-s) !important;
}
.wc-block-components-totals-item__value{font-variant-numeric:tabular-nums;}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
font-family:"Bebas Neue","Arial Narrow",sans-serif !important;
font-size:var(--brd-xl) !important;font-weight:400 !important;
color:var(--bk-musta,#0E0E0E) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
font-weight:600 !important;color:var(--bk-musta,#0E0E0E) !important;
}

/* paatoiminto */
.wc-block-components-checkout-place-order-button{
border-radius:0 !important;
min-height:56px !important;
background:var(--bk-korostus,#7D1B2E) !important;
color:#fff !important;
font-family:var(--brd-leipa) !important;
font-size:var(--brd-s) !important;font-weight:500 !important;
letter-spacing:0 !important;text-transform:none !important;
}
.wc-block-components-checkout-place-order-button:hover{
background:var(--bk-korostus-tumma,#5F1322) !important;
}

/* toissijaiset napit ja kuponkipaneeli */
.wc-block-components-button:not(.wc-block-components-checkout-place-order-button):not([disabled]){
border-radius:0 !important;
}
.wc-block-components-panel__button{
font-family:var(--brd-leipa) !important;font-size:var(--brd-s) !important;
color:var(--bk-musta,#0E0E0E) !important;
}
.wc-block-components-checkbox__label{font-size:var(--brd-s) !important;}

@media(max-width:767px){
.wp-block-woocommerce-checkout-order-summary-block{padding:20px !important;}
.wc-block-components-checkout-step{padding-bottom:22px;margin-bottom:22px;}
}

/* Pikakassa nakyy tyhjana reunustettuna laatikkona, jos asiakkaan
   selaimessa ei ole Apple Payta tai Google Payta. Piilotetaan lohko
   ja sen "Tai jatka alla" -erotin silloin kun siina ei ole nappeja. */
.wp-block-woocommerce-checkout-express-payment-block:not(:has(button)):not(:has(iframe)){
display:none !important;
}
.wp-block-woocommerce-checkout-express-payment-block:not(:has(button)):not(:has(iframe))
+ .wc-block-components-checkout-step__container,
.wp-block-woocommerce-checkout-express-payment-block:not(:has(button)):not(:has(iframe))
~ .wc-block-checkout__actions_row:first-of-type{display:none;}
.wc-block-components-express-payment-continue-rule:has(+ *:empty){display:none !important;}

/* ============================================================
   Tuotekortit kapealla naytolla
   Kortti oli 166 px leveä ja siina oli kuusi tekstilohkoa, joista
   kolme rivittyi: ALV-suffiksi kahdelle riville, merkkausrivi
   kahdelle ja nappi kahdelle. Karsitaan ja tiivistetaan.
   ============================================================ */

/* ALV-huomautus kuuluu tuotesivulle, ei jokaiseen korttiin.
   Hinnat ovat verollisia joka tapauksessa. */
.woocommerce ul.products li.product .woocommerce-price-suffix{display:none;}

.woocommerce ul.products li.product .bk-kortti__merkki{
font-size:var(--brd-xs) !important;
letter-spacing:.1em;
color:var(--bk-harmaa,#6B6B6B) !important;
}
.woocommerce ul.products li.product .bk-kortti__merkkaus{
font-size:12px !important;
line-height:1.4 !important;
color:var(--bk-harmaa,#6B6B6B) !important;
}
.woocommerce ul.products li.product .bk-loop-button{
min-height:44px;
padding:10px 12px !important;
font-size:var(--brd-xs) !important;
line-height:1.25 !important;
text-align:center;
}

@media(max-width:767px){
.woocommerce ul.products li.product{gap:2px;}
.woocommerce ul.products li.product h2.woocommerce-loop-product__title{
font-size:15px !important;line-height:1.3 !important;
}
.woocommerce ul.products li.product .price{
font-size:15px !important;line-height:1.3 !important;
}
.woocommerce ul.products li.product .bk-kortti__merkkaus{font-size:11px !important;}
}

/* Kortit samaan korkeuteen: nappi rivin alareunaan riippumatta siita
   rivittyyko tuotenimi yhdelle vai kahdelle riville. Ilman tata
   ruudukko nayttaa levottomalta, koska napit ovat eri korkeuksilla. */
.woocommerce ul.products li.product{
display:flex !important;
flex-direction:column !important;
}
.woocommerce ul.products li.product .bk-loop-button,
.woocommerce ul.products li.product .button{margin-top:auto !important;}
.woocommerce ul.products.elementor-grid{align-items:stretch;}

/* tuloslaskuri ja lajittelu samalle riville */
.woocommerce .woocommerce-result-count{margin:0 !important;}
.woocommerce .woocommerce-ordering{margin:0 !important;}
@media(min-width:480px){
.woocommerce-page .woocommerce-result-count{float:left;}
.woocommerce-page .woocommerce-ordering{float:right;}
}

/* ============================================================
   Ostoskori kapealla naytolla
   WooCommercen `shop_table_responsive` pinoaa solut ja lisaa
   "Hinta:" / "Maara:" / "Valisumma:" -laput. Toimii, mutta nayttaa
   taulukolta. Sama tiivis kaksipalstainen rivi kuin koripaneelissa.
   ============================================================ */
@media(max-width:767px){
.woocommerce table.shop_table_responsive.cart tr.cart_item{
display:grid !important;
grid-template-columns:72px minmax(0,1fr) auto;
grid-template-areas:
 "kuva nimi   poista"
 "kuva hinta  hinta"
 "maara maara summa";
column-gap:14px;
row-gap:8px;
align-items:start;
padding:20px 0 !important;
border:0 !important;
border-bottom:1px solid var(--bk-viiva,#DED7D6) !important;
}
.woocommerce table.shop_table_responsive.cart tr.cart_item td{
display:block !important;
padding:0 !important;
border:0 !important;
text-align:left !important;
}
/* WooCommercen data-title -laput pois, paitsi valisummasta */
.woocommerce table.shop_table_responsive.cart tr.cart_item td::before{
display:none !important;
}
.woocommerce table.shop_table_responsive.cart td.product-thumbnail{
grid-area:kuva;width:72px !important;min-width:72px !important;
}
.woocommerce table.shop_table_responsive.cart td.product-thumbnail img{
width:72px !important;height:72px !important;
}
.woocommerce table.shop_table_responsive.cart td.product-name{grid-area:nimi;}
.woocommerce table.shop_table_responsive.cart td.product-remove{
grid-area:poista;justify-self:end;
}
.woocommerce table.shop_table_responsive.cart td.product-price{
grid-area:hinta;
font-size:var(--brd-xs) !important;
color:var(--bk-harmaa,#6B6B6B) !important;
}
.woocommerce table.shop_table_responsive.cart td.product-quantity{
grid-area:maara;align-self:center;
}
.woocommerce table.shop_table_responsive.cart td.product-subtotal{
grid-area:summa;
justify-self:end;align-self:center;
font-size:var(--brd-m) !important;
font-weight:600 !important;
}
.woocommerce table.shop_table_responsive.cart td.product-subtotal .woocommerce-price-suffix{
display:block;font-size:var(--brd-xs) !important;font-weight:400 !important;
color:var(--bk-harmaa,#6B6B6B) !important;
}
.woocommerce table.shop_table_responsive.cart thead{display:none !important;}
.woocommerce table.shop_table_responsive.cart td.actions{
display:block !important;grid-area:auto;padding:20px 0 0 !important;
}
}

/* ============================================================
   Tuotesivun alaosa: kuvauslehdet ja "Tutustu myos"
   Olivat WooCommercen oletusilmeessa: harmaat laatikkovalilehdet
   pyoristetyin kulmin. Sama hiusviivalinja kuin muualla.
   ============================================================ */
.woocommerce div.product .woocommerce-tabs ul.tabs{
padding:0 !important;margin:0 0 28px !important;
display:flex;gap:28px;flex-wrap:wrap;
border:0 !important;border-bottom:2px solid var(--bk-musta,#0E0E0E) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
background:transparent !important;
border:0 !important;
border-radius:0 !important;
margin:0 !important;padding:0 !important;
box-shadow:none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none !important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
display:block;
padding:0 0 12px !important;
font-family:var(--brd-leipa) !important;
font-size:var(--brd-xs) !important;
font-weight:600 !important;
letter-spacing:.12em;
text-transform:uppercase;
color:var(--bk-harmaa,#6B6B6B) !important;
border-bottom:2px solid transparent;
margin-bottom:-2px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
color:var(--bk-musta,#0E0E0E) !important;
border-bottom-color:var(--bk-korostus,#7D1B2E);
}
.woocommerce div.product .woocommerce-Tabs-panel > h2:first-child{display:none;}
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes{
border:0 !important;
}
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes th,
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes td{
border:0 !important;border-bottom:1px solid var(--bk-viiva,#DED7D6) !important;
padding:12px 16px 12px 0 !important;background:transparent !important;
font-style:normal !important;font-size:var(--brd-s) !important;
}
.woocommerce div.product .woocommerce-Tabs-panel table.shop_attributes th{
font-weight:500 !important;color:var(--bk-harmaa,#6B6B6B) !important;width:40%;
}

.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells.products > h2{
font-family:"Bebas Neue","Arial Narrow",sans-serif !important;
font-size:var(--brd-xl) !important;font-weight:400 !important;
margin:0 0 24px !important;
padding-bottom:10px;
border-bottom:2px solid var(--bk-musta,#0E0E0E);
}

/* napit samaan mittaan kaikkialla */
.woocommerce div.product form.cart .single_add_to_cart_button{
min-height:56px !important;
margin-left:0 !important;
padding:0 32px !important;
}

@media(max-width:767px){
/* maarakentta omaan mittaansa, ei koko palstaa */
.woocommerce table.shop_table_responsive.cart td.product-quantity{
justify-self:start;width:auto !important;
}
.woocommerce table.shop_table_responsive.cart td.product-quantity .quantity{
display:inline-block;width:auto;
}
/* ALV-huomautus summan alle omalle riville */
.woocommerce table.shop_table_responsive.cart td.product-subtotal{
text-align:right !important;
}
.woocommerce table.shop_table_responsive.cart td.product-subtotal .tax_label,
.woocommerce table.shop_table_responsive.cart td.product-subtotal small{
display:block;
font-size:var(--brd-xs) !important;
font-weight:400 !important;
color:var(--bk-harmaa,#6B6B6B) !important;
margin-top:2px;
}
/* yksikkohinta selkeammin */
.woocommerce table.shop_table_responsive.cart td.product-price::after{
content:" / kpl";color:var(--bk-harmaa,#6B6B6B);
}
}

/* ============================================================
   Etusivun osastokortit
   ============================================================ */
.bk-osastokortti__maara{
margin:2px 0 0 !important;
font-family:var(--brd-leipa) !important;
font-size:var(--brd-xs) !important;
letter-spacing:.12em;
text-transform:uppercase;
color:rgba(255,255,255,.78) !important;
}

/* Osastokortit.
   Kuva on oikea <img>, joka taytetaan kortin alalle. Nain se saa
   srcsetin ja selaimen oman laiskalatauksen, eika ole riippuvainen
   Elementorin taustakuvien laiskalatauksesta, joka jatti kortit
   tyhjiksi alle 1024 px korkeilla naytoilla.
   Otsikon linkki laajennetaan koko kortin alalle, jolloin Google nakee
   oikean linkin ja koko kortti on klikattava. */
.elementor-element-9605845 .e-grid > .e-con{
position:relative;overflow:hidden;background:#0E0E0E;
}
.elementor-element-9605845 .e-grid > .e-con > .elementor-widget-image{
position:absolute;inset:0;margin:0;width:100%;height:100%;
}
.elementor-element-9605845 .elementor-widget-image .elementor-widget-container,
.elementor-element-9605845 .elementor-widget-image figure,
.elementor-element-9605845 .elementor-widget-image img{
width:100%;height:100%;margin:0;display:block;
}
.elementor-element-9605845 .elementor-widget-image img{
object-fit:cover;transition:transform .5s ease;
}
.elementor-element-9605845 .e-grid > .e-con:hover img{transform:scale(1.04);}

/* Liukuva tummennus: kuva pysyy kirkkaana ylhaalta ja teksti on
   luettava alhaalta riippumatta siita, mita kuvassa on. */
.elementor-element-9605845 .e-grid > .e-con::after{
content:"";position:absolute;inset:0;z-index:1;
background:linear-gradient(to top,rgba(14,14,14,.78),rgba(14,14,14,.18) 55%,rgba(14,14,14,.04));
}
.elementor-element-9605845 .e-grid > .e-con > .elementor-widget-heading,
.elementor-element-9605845 .e-grid > .e-con > .elementor-widget-text-editor{
position:relative;z-index:2;
}
.elementor-element-9605845 .elementor-heading-title a{color:#fff !important;text-decoration:none;}
.elementor-element-9605845 .elementor-heading-title a::after{
content:"";position:absolute;inset:0;z-index:3;
}
.elementor-element-9605845 .e-grid > .e-con:focus-within{
outline:2px solid var(--bk-korostus,#7D1B2E);outline-offset:2px;
}

/* ============================================================
   Etusivun hero
   ============================================================ */
/* Ylatunnisteteksti oli #6B6B6B tummalla pohjalla eli kontrasti 3.5:1.
   WCAG AA vaatii pienelta tekstilta 4.5:1. */
.elementor-element-4417a7c8 .bk-osiolabel{color:#B8B2B0 !important;}

/* Napit olivat 62 ja 66 px korkeat, koska toisessa on 2 px reuna. */
.elementor-element-4417a7c8 .elementor-button{
height:62px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
}
/* Toissijaisen napin viininpunainen reuna ei erottunut tummalta taustalta. */
.elementor-element-8fd5af0 .elementor-button{
border-width:1px !important;border-color:rgba(255,255,255,.55) !important;
}
.elementor-element-8fd5af0 .elementor-button:hover{
background:#FFFFFF !important;color:#0E0E0E !important;border-color:#FFFFFF !important;
}

/* ============================================================
   Linkkien varit
   Hello Elementorin reset.css asettaa a{color:#CC3366} eli pinkin.
   Se nakyi murupolussa, sivutuksessa, valikoissa ja korin
   poistolinkeissa. Teemaan ei kuulu pinkkia.
   ============================================================ */
a{color:var(--bk-musta,#0E0E0E);}
a:hover,a:focus{color:var(--bk-korostus,#7D1B2E);}
button,[type="button"],[type="submit"]{color:inherit;}

/* Poikkeukset: tummat pinnat, joilla teksti on valkoinen. */
.bk-alatunniste a{color:var(--al-teksti,#B8B2B0);}
.bk-alatunniste a:hover{color:#FFFFFF;}
.elementor-element-4417a7c8 a{color:#FFFFFF;}
.bk-haku__kaikki,.bk-haku__kaikki:hover{color:#FFFFFF;}

/* Tuotesivun alaosan nostot kapealla naytolla */
@media(max-width:767px){
.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells.products > h2{
font-size:var(--brd-l,24px) !important;margin-bottom:18px !important;
}
.woocommerce div.product .related.products ul.products,
.woocommerce div.product .upsells.products ul.products{
gap:22px 12px !important;
}
}

/* ============================================================
   Etusivun osiorytmi
   ============================================================ */

/* Tilauksen vaiheet tummalla pohjalla: sivu tarvitsi valiin yhden
   painavan osion, jottei se ole pelkkia vaaleita kaistaleita. */
.elementor-element-17f59328 .bk-osiotunniste{border-top-color:rgba(255,255,255,.22);}
.elementor-element-17f59328 .bk-osiotunniste__nimi,
.elementor-element-17f59328 h3,
.elementor-element-17f59328 .bk-iso-numero{color:#FFFFFF !important;}
.elementor-element-17f59328 .bk-iso-numero{color:#C4384F !important;}
.elementor-element-17f59328 p{color:#B0AAA8;}
.elementor-element-17f59328 .elementor-widget-container > p:not(.bk-iso-numero){color:#B0AAA8;}

/* Osastojen otsikkorivi: otsikko ja polku kauppaan samalle riville. */
.elementor-element-401633d .e-con-inner{
display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;
}

/* Korttien typografia: nimi ja maara samaan pinoon, nuoli kertoo linkista. */
.elementor-element-9605845 .elementor-heading-title{
display:flex;align-items:center;gap:10px;
}
.elementor-element-9605845 .elementor-heading-title a::before{
content:"";width:22px;height:1px;background:currentColor;
transform:scaleX(0);transform-origin:left;transition:transform .35s ease;
display:inline-block;margin-right:10px;vertical-align:middle;
}
.elementor-element-9605845 .e-grid > .e-con:hover .elementor-heading-title a::before{
transform:scaleX(1);
}

/* Heron peite kapealla naytolla: taustavideota ei toisteta puhelimessa,
   joten teksti lepaa varmuuskuvan paalla ja tarvitsee oman tummennuksen. */
@media(max-width:767px){
.elementor-element-4417a7c8::before{
background-image:linear-gradient(180deg,rgba(14,14,14,.92) 0%,rgba(14,14,14,.78) 100%) !important;
}
.elementor-element-4417a7c8 .elementor-button{width:100%;}
.elementor-element-b187cd0{width:100%;}
.elementor-element-b187cd0 > .elementor-widget-button{width:100%;}
}

/* === Pikakorjaus 20.10.2026: yksi punainen. Mustalla pohjalla valkoinen nappi, viini vain vaalealla. === */
body .bk-alatunniste{--al-korostus:#FFFFFF}
body .bk-alatunniste__nappi{color:#0E0E0E !important}
body .bk-alatunniste__nappi:hover{background:#7D1B2E;color:#FFFFFF !important}
body .bk-alatunniste a:focus-visible{outline-color:#FFFFFF}
body .bk-palvelu-polku--tumma .bk-palvelu-polku__numero{color:#FFFFFF}

/* Pikakorjaus 20.10.2026: tuotesivun Samankaltaisia tuotteita -säilö piiloon, kun tuotteita ei ole (muuten 160 px tyhjää harmaata). */
body .elementor-element-6972bc3b:not(:has(li.product)){display:none}/* End custom CSS */