/*
Theme Name: TiinanTori Kauppateema
Theme URI: https://tiinantori.fi
Description: Astra-lapsiteema WooCommerce-kauppaa varten. Responsiivinen TiinanTori.fi-ulkoasu.
Author: TiinanTori.fi
Template: astra
Version: 3.2.0
Text Domain: tiinantori
*/

:root {
  --tt-red: #e30613;
  --tt-red-dark: #b9000b;
  --tt-dark: #20242c;
  --tt-text: #222;
  --tt-muted: #6b7280;
  --tt-border: #e5e7eb;
  --tt-bg: #f4f5f7;
  --tt-card: #fff;
  --tt-radius: 10px;
  --tt-shadow: 0 8px 24px rgba(0,0,0,.08);
}

html, body { overflow-x: hidden; }
body { background: var(--tt-bg); color: var(--tt-text); }
.site-header, .ast-mobile-header-wrap, .ast-primary-header-bar, .main-header-bar { display: none !important; }
.tiinan-shop-hero, .tiinantori-shop-hero, .tt-shop-hero, .tiinan-store-hero, .tiinan-welcome-card, .tt-welcome-card { display: none !important; }

.tt-header { position: relative; z-index: 100; background: #fff; border-top: 6px solid var(--tt-dark); box-shadow: 0 2px 12px rgba(0,0,0,.08); }
.tt-header-top, .tt-header-main, .tt-cats-scroll { max-width: 1240px; margin: 0 auto; padding-left: 16px; padding-right: 16px; }
.tt-header-top { min-height: 62px; display: flex; align-items: center; }
.tt-logo { color: var(--tt-red); font-size: 28px; font-weight: 900; line-height: 1; text-decoration: none; letter-spacing: -.5px; }
.tt-logo:hover { color: var(--tt-red-dark); }
.tt-header-main { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; padding-top: 10px; padding-bottom: 10px; border-top: 1px solid var(--tt-border); }
.tt-search { display: flex; min-width: 0; width: 100%; }
.tt-search input[type="search"] { width: 100%; min-width: 0; height: 44px; border: 1px solid var(--tt-border); border-right: 0; border-radius: 6px 0 0 6px; background: #fff; padding: 0 14px; font-size: 15px; box-shadow: none; }
.tt-search button { height: 44px; border: 0; border-radius: 0 6px 6px 0; background: var(--tt-red); color: #fff; font-weight: 800; padding: 0 20px; cursor: pointer; }
.tt-search button:hover { background: var(--tt-red-dark); }
.tt-actions { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.tt-action { height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--tt-border); border-radius: 6px; background: #fff; color: var(--tt-text); text-decoration: none; font-size: 14px; font-weight: 800; padding: 0 14px; line-height: 1; }
.tt-action:hover { border-color: var(--tt-red); color: var(--tt-red); }
.tt-action em { min-width: 21px; height: 21px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--tt-red); color: #fff; font-size: 12px; font-style: normal; font-weight: 900; padding: 0 6px; }
.tt-cats { background: var(--tt-red); overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
.tt-cats-scroll { display: flex; align-items: stretch; min-width: max-content; padding-top: 0; padding-bottom: 0; }
.tt-cats-scroll a { display: flex; align-items: center; min-height: 42px; padding: 0 16px; border-left: 1px solid rgba(255,255,255,.18); color: #fff; text-decoration: none; font-size: 14px; font-weight: 800; white-space: nowrap; }
.tt-cats-scroll a:last-child { border-right: 1px solid rgba(255,255,255,.18); }
.tt-cats-scroll a:hover { background: var(--tt-red-dark); color: #fff; }

body.woocommerce #content .ast-container, body.woocommerce-page #content .ast-container, body.woocommerce-cart #content .ast-container, body.woocommerce-checkout #content .ast-container, body.woocommerce-account #content .ast-container { display: block !important; width: 100%; max-width: 1240px; margin: 0 auto; padding-left: 16px; padding-right: 16px; }
body.woocommerce #primary, body.woocommerce-page #primary, body.woocommerce-cart #primary, body.woocommerce-checkout #primary, body.woocommerce-account #primary { float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 28px 0 44px !important; border: 0 !important; }
body.woocommerce #secondary, body.woocommerce-page #secondary { display: none !important; }
.woocommerce-products-header { margin-bottom: 18px; }
.woocommerce-products-header__title, .woocommerce .page-title { font-size: clamp(26px, 3vw, 38px); font-weight: 900; color: var(--tt-dark); margin: 0 0 10px; }

.tt-shop-layout { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 24px; align-items: start; width: 100%; }
.tt-products-area { min-width: 0; width: 100%; display: block; }
.tt-sidebar { min-width: 0; width: 100%; position: sticky; top: 16px; align-self: start; }
.tt-box { background: var(--tt-card); border: 1px solid var(--tt-border); border-radius: var(--tt-radius); box-shadow: 0 3px 12px rgba(0,0,0,.04); padding: 18px; margin-bottom: 16px; }
.tt-box h3 { font-size: 16px; font-weight: 900; color: var(--tt-dark); margin: 0 0 14px; }
.tt-list { list-style: none; margin: 0; padding: 0; }
.tt-list li { margin: 0; padding: 0; border-bottom: 1px solid var(--tt-border); }
.tt-list li:last-child { border-bottom: 0; }
.tt-list a { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; color: var(--tt-text); text-decoration: none; font-size: 14px; font-weight: 650; }
.tt-list a:hover { color: var(--tt-red); }
.tt-list small { color: var(--tt-muted); font-size: 12px; }
.tt-filter-toggle, .tt-filter-close, .tt-filter-backdrop { display: none; }
.tt-filter-toggle { width: 100%; min-height: 44px; border: 0; border-radius: 8px; background: var(--tt-dark); color: #fff; font-weight: 900; margin: 0 0 16px; cursor: pointer; }
.tt-filter-close { width: 100%; min-height: 42px; border: 0; border-radius: 8px; background: var(--tt-red); color: #fff; font-weight: 900; margin-bottom: 14px; cursor: pointer; }

.woocommerce .woocommerce-result-count { float: none !important; display: inline-flex; align-items: center; min-height: 42px; margin: 0 14px 16px 0 !important; color: var(--tt-muted); font-size: 14px; }
.woocommerce .woocommerce-ordering { float: none !important; display: inline-flex; margin: 0 0 16px !important; vertical-align: top; }
.woocommerce .woocommerce-ordering select { min-height: 42px; border: 1px solid var(--tt-border); border-radius: 7px; background: #fff; padding: 0 12px; font-size: 14px; }

.woocommerce ul.products, .woocommerce-page ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; gap: 22px !important; width: 100% !important; margin: 0 !important; padding: 0 !important; clear: both; }
.woocommerce ul.products::before, .woocommerce ul.products::after, .woocommerce-page ul.products::before, .woocommerce-page ul.products::after { display: none !important; content: none !important; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none !important; clear: none !important; width: auto !important; max-width: none !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; background: var(--tt-card); border: 1px solid var(--tt-border); border-radius: var(--tt-radius); box-shadow: 0 4px 14px rgba(0,0,0,.05); overflow: hidden; display: flex; flex-direction: column; position: relative; }
.woocommerce ul.products li.product:hover { box-shadow: var(--tt-shadow); transform: translateY(-1px); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1 1 auto; text-decoration: none; color: inherit; }
.woocommerce ul.products li.product a img { width: 100% !important; height: auto !important; aspect-ratio: 1/1; object-fit: contain; background: #fafafa; margin: 0 !important; padding: 14px; border-bottom: 1px solid var(--tt-border); }
.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce-page ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; line-height: 1.25 !important; font-weight: 900 !important; color: var(--tt-text); padding: 13px 14px 6px !important; margin: 0 !important; min-height: 50px; overflow-wrap: anywhere; }
.woocommerce ul.products li.product .price { display: block; color: var(--tt-red) !important; font-size: 17px !important; font-weight: 900 !important; line-height: 1.2; padding: 0 14px 8px; margin: 0 !important; }
.woocommerce ul.products li.product .price del { color: var(--tt-muted); font-size: 13px; opacity: .8; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button, .woocommerce-page ul.products li.product .button { display: flex !important; align-items: center; justify-content: center; width: calc(100% - 28px); min-height: 40px; margin: auto 14px 14px !important; padding: 0 12px !important; border: 0 !important; border-radius: 7px !important; background: var(--tt-red) !important; color: #fff !important; font-size: 14px !important; font-weight: 900 !important; line-height: 1.1 !important; text-align: center; white-space: normal; }
.woocommerce ul.products li.product .button:hover, .woocommerce-page ul.products li.product .button:hover { background: var(--tt-red-dark) !important; color: #fff !important; }
.woocommerce span.onsale { min-width: 48px; min-height: 28px; border-radius: 999px; background: var(--tt-red); color: #fff; font-size: 12px; font-weight: 900; line-height: 28px; padding: 0 10px; }

.woocommerce div.product, .woocommerce-cart-form, .cart_totals, .woocommerce-checkout form.checkout, .woocommerce-account .woocommerce, .wc-block-cart, .wc-block-checkout { background: #fff; border: 1px solid var(--tt-border); border-radius: var(--tt-radius); box-shadow: 0 4px 18px rgba(0,0,0,.05); padding: 22px; }
.woocommerce div.product .product_title { font-size: clamp(28px, 3vw, 42px); font-weight: 900; color: var(--tt-dark); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--tt-red); font-size: 28px; font-weight: 900; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce #payment #place_order, .woocommerce div.product form.cart .button { background: var(--tt-red); color: #fff; border-radius: 7px; font-weight: 900; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover, .woocommerce #payment #place_order:hover, .woocommerce div.product form.cart .button:hover { background: var(--tt-red-dark); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; background: #f7f7f8; border: 1px solid var(--tt-border); border-radius: 7px; padding: 12px 14px; color: var(--tt-text); font-weight: 800; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--tt-red); border-color: var(--tt-red); color: #fff; }

@media (min-width: 900px) {
  .woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 24px; align-items: start; }
  .woocommerce-checkout form.checkout .col2-set { grid-column: 1; width: 100%; }
  .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; width: 100%; }
  .woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 24px; align-items: start; }
  .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; }
}
@media (max-width: 1100px) {
  .tt-shop-layout { grid-template-columns: 250px minmax(0,1fr); gap: 18px; }
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important; gap: 16px !important; }
}
@media (max-width: 921px) {
  .tt-header-top { min-height: 58px; padding-top: 12px; padding-bottom: 12px; }
  .tt-logo { font-size: 24px; }
  .tt-header-main { grid-template-columns: 1fr; gap: 10px; padding-top: 10px; padding-bottom: 12px; }
  .tt-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; gap: 8px; }
  .tt-action { width: 100%; padding-left: 8px; padding-right: 8px; font-size: 13px; }
  .tt-cats-scroll a { min-height: 40px; padding-left: 13px; padding-right: 13px; font-size: 13px; }
  body.woocommerce #primary, body.woocommerce-page #primary { padding-top: 18px !important; }
  .tt-filter-toggle { display: flex; align-items: center; justify-content: center; }
  .tt-shop-layout { display: block; }
  .tt-sidebar { position: fixed !important; top: 0 !important; left: 0; bottom: 0; width: min(88vw,360px); max-width: 360px; height: 100vh; overflow-y: auto; background: var(--tt-bg); z-index: 999999; padding: 16px; box-shadow: 20px 0 60px rgba(0,0,0,.25); transform: translateX(-105%); transition: transform .22s ease; }
  body.tt-filters-open .tt-sidebar { transform: translateX(0); }
  .tt-filter-close { display: block; }
  .tt-filter-backdrop { position: fixed; inset: 0; z-index: 999998; border: 0; background: rgba(0,0,0,.38); cursor: pointer; }
  body.tt-filters-open .tt-filter-backdrop { display: block; }
  .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { display: block; width: 100%; margin-right: 0 !important; }
  .woocommerce .woocommerce-ordering select { width: 100%; }
}
@media (max-width: 767px) {
  .tt-header-top, .tt-header-main, .tt-cats-scroll, body.woocommerce #content .ast-container, body.woocommerce-page #content .ast-container, body.woocommerce-cart #content .ast-container, body.woocommerce-checkout #content .ast-container, body.woocommerce-account #content .ast-container { padding-left: 12px; padding-right: 12px; }
  .tt-search input[type="search"], .tt-search button { height: 42px; }
  .tt-search input[type="search"] { font-size: 14px; }
  .tt-search button { padding-left: 15px; padding-right: 15px; }
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px !important; line-height: 1.25 !important; padding: 10px 10px 5px !important; min-height: 46px; }
  .woocommerce ul.products li.product .price { font-size: 15px !important; padding-left: 10px; padding-right: 10px; }
  .woocommerce ul.products li.product .button, .woocommerce-page ul.products li.product .button { width: calc(100% - 20px); min-height: 38px; margin-left: 10px !important; margin-right: 10px !important; margin-bottom: 10px !important; font-size: 12px !important; padding-left: 8px !important; padding-right: 8px !important; }
  .woocommerce ul.products li.product a img { padding: 10px; }
  .woocommerce div.product, .woocommerce-cart-form, .cart_totals, .woocommerce-checkout form.checkout, .woocommerce-account .woocommerce, .wc-block-cart, .wc-block-checkout { padding: 16px; }
}
@media (max-width: 360px) { .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: 1fr !important; } }


/* TiinanTori.fi Oma tili / kirjautuminen - viimeistely v2.2 */

.woocommerce-account .entry-title,
.woocommerce-account .woocommerce-products-header__title {
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 900;
	color: var(--tt-dark);
	margin-bottom: 18px;
}

.woocommerce-account:not(.logged-in) .woocommerce {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	display: block;
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

.woocommerce-account:not(.logged-in) .woocommerce h2 {
	font-size: 24px;
	font-weight: 900;
	color: var(--tt-dark);
	margin: 0 0 16px;
}

.woocommerce-account:not(.logged-in) .woocommerce form.login,
.woocommerce-account:not(.logged-in) .woocommerce form.register {
	background: #fff;
	border: 1px solid var(--tt-border);
	border-radius: var(--tt-radius);
	box-shadow: 0 8px 26px rgba(0, 0, 0, 0.07);
	padding: 24px;
	margin: 0 0 22px;
}

.woocommerce-account:not(.logged-in) .woocommerce form.login {
	position: relative;
}

.woocommerce-account:not(.logged-in) .woocommerce form.login::before {
	content: "Kirjaudu sisään";
	display: block;
	margin: -24px -24px 22px;
	padding: 18px 24px;
	background: linear-gradient(90deg, var(--tt-red), var(--tt-red-dark));
	color: #fff;
	border-radius: var(--tt-radius) var(--tt-radius) 0 0;
	font-size: 22px;
	font-weight: 900;
}

.woocommerce-account:not(.logged-in) .woocommerce form.login > h2,
.woocommerce-account:not(.logged-in) .woocommerce form.register > h2 {
	display: none;
}

.woocommerce-account:not(.logged-in) .woocommerce form .form-row {
	margin-bottom: 14px;
}

.woocommerce-account:not(.logged-in) .woocommerce form label {
	font-weight: 800;
	color: var(--tt-dark);
	margin-bottom: 6px;
}

.woocommerce-account:not(.logged-in) .woocommerce form .input-text,
.woocommerce-account:not(.logged-in) .woocommerce form input[type="text"],
.woocommerce-account:not(.logged-in) .woocommerce form input[type="email"],
.woocommerce-account:not(.logged-in) .woocommerce form input[type="password"] {
	min-height: 46px;
	width: 100%;
	border: 1px solid var(--tt-border);
	border-radius: 8px;
	background: #fff;
	padding: 0 13px;
	box-shadow: none;
}

.woocommerce-account:not(.logged-in) .woocommerce form .input-text:focus,
.woocommerce-account:not(.logged-in) .woocommerce form input[type="text"]:focus,
.woocommerce-account:not(.logged-in) .woocommerce form input[type="email"]:focus,
.woocommerce-account:not(.logged-in) .woocommerce form input[type="password"]:focus {
	border-color: var(--tt-red);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(227, 6, 19, 0.12);
}

.woocommerce-account:not(.logged-in) .woocommerce form .woocommerce-button,
.woocommerce-account:not(.logged-in) .woocommerce form button.button {
	width: 100%;
	min-height: 48px;
	border-radius: 8px;
	background: var(--tt-red);
	color: #fff;
	font-weight: 900;
	font-size: 16px;
}

.woocommerce-account:not(.logged-in) .woocommerce form .woocommerce-button:hover,
.woocommerce-account:not(.logged-in) .woocommerce form button.button:hover {
	background: var(--tt-red-dark);
	color: #fff;
}

.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 6px 0 14px;
	font-weight: 700;
}

.woocommerce-account:not(.logged-in) .woocommerce-LostPassword {
	text-align: center;
	margin-top: 12px;
}

.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a {
	color: var(--tt-red);
	font-weight: 800;
	text-decoration: none;
}

.woocommerce-account.logged-in .woocommerce {
	background: #fff;
	border: 1px solid var(--tt-border);
	border-radius: var(--tt-radius);
	box-shadow: 0 8px 26px rgba(0, 0, 0, 0.07);
	padding: 24px;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
	background: #f8f9fb;
	border: 1px solid var(--tt-border);
	border-radius: var(--tt-radius);
	padding: 12px;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content {
	background: #fff;
	border: 1px solid var(--tt-border);
	border-radius: var(--tt-radius);
	padding: 22px;
	min-width: 0;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content p:first-child {
	font-size: 17px;
	line-height: 1.6;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content a {
	color: var(--tt-red);
	font-weight: 800;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	gap: 7px;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-height: 44px;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a::before { content: "🏠"; margin-right: 8px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a::before { content: "📦"; margin-right: 8px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads a::before { content: "⬇️"; margin-right: 8px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a::before { content: "📍"; margin-right: 8px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--payment-methods a::before { content: "💳"; margin-right: 8px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a::before { content: "👤"; margin-right: 8px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a::before { content: "↪"; margin-right: 8px; }

.woocommerce-account .woocommerce-Address,
.woocommerce-account .woocommerce-address-fields,
.woocommerce-account fieldset,
.woocommerce-account .woocommerce-EditAccountForm {
	background: #fff;
	border: 1px solid var(--tt-border);
	border-radius: var(--tt-radius);
	padding: 18px;
}

.woocommerce-account legend {
	font-weight: 900;
	color: var(--tt-dark);
	padding: 0 6px;
}

.woocommerce-account .woocommerce table.shop_table {
	width: 100%;
}

@media (min-width: 900px) {
	.woocommerce-account.logged-in .woocommerce {
		grid-template-columns: 260px minmax(0, 1fr);
	}
}

@media (max-width: 899px) {
	.woocommerce-account.logged-in .woocommerce {
		display: block;
	}

	.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
		margin-bottom: 16px;
	}

	.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.woocommerce-account:not(.logged-in) .woocommerce form.login,
	.woocommerce-account:not(.logged-in) .woocommerce form.register,
	.woocommerce-account.logged-in .woocommerce,
	.woocommerce-account.logged-in .woocommerce-MyAccount-content {
		padding: 16px;
	}

	.woocommerce-account:not(.logged-in) .woocommerce form.login::before {
		margin: -16px -16px 18px;
		padding: 16px;
		font-size: 20px;
	}

	.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
		grid-template-columns: 1fr;
	}
}


/* TiinanTori.fi moderni yläpalkki v2.3
   Kevyt CSS-päivitys: ei raskaita elementtejä, vain selkeämpi header, haku ja painikkeet. */

.ttv2-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background:
		linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.94));
	backdrop-filter: saturate(140%) blur(8px);
	border-top: 5px solid var(--tt-dark);
	border-bottom: 1px solid rgba(229, 231, 235, 0.95);
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
}

.admin-bar .ttv2-site-header {
	top: 32px;
}

.ttv2-header-inner {
	min-height: 66px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ttv2-logo {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--tt-red);
	font-size: 27px;
	font-weight: 950;
	letter-spacing: -0.7px;
	text-decoration: none;
}

.ttv2-logo::before {
	content: "";
	width: 12px;
	height: 34px;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--tt-red), var(--tt-red-dark));
	box-shadow: 0 8px 18px rgba(227, 6, 19, 0.26);
}

.ttv2-search-row {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding-top: 12px;
	padding-bottom: 13px;
	border-top: 1px solid rgba(229, 231, 235, 0.85);
}

.ttv2-search-row::before {
	content: "";
	position: absolute;
	left: 16px;
	right: 16px;
	top: -1px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(227, 6, 19, 0.22), transparent);
	pointer-events: none;
}

.ttv2-search-form {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	background: #fff;
	border: 1px solid rgba(209, 213, 219, 0.96);
	border-radius: 999px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
	overflow: hidden;
}

.ttv2-search-form::before {
	content: "⌕";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	color: #9ca3af;
	font-size: 22px;
	font-weight: 900;
	pointer-events: none;
}

.ttv2-search-form input[type="search"] {
	height: 48px;
	border: 0;
	border-radius: 999px 0 0 999px;
	background: transparent;
	padding-left: 42px;
	padding-right: 12px;
	font-size: 15px;
}

.ttv2-search-form input[type="search"]:focus {
	outline: 0;
	box-shadow: none;
}

.ttv2-search-form:focus-within {
	border-color: rgba(227, 6, 19, 0.55);
	box-shadow:
		0 8px 24px rgba(15, 23, 42, 0.07),
		0 0 0 4px rgba(227, 6, 19, 0.10);
}

.ttv2-search-form button {
	height: 40px;
	align-self: center;
	margin-right: 4px;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--tt-red), var(--tt-red-dark));
	padding: 0 22px;
	box-shadow: 0 8px 18px rgba(227, 6, 19, 0.24);
}

.ttv2-header-actions {
	gap: 9px;
}

.ttv2-action {
	height: 48px;
	border-radius: 999px;
	border: 1px solid rgba(209, 213, 219, 0.96);
	background: #fff;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.055);
	color: var(--tt-dark);
	padding: 0 16px;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.ttv2-action:hover,
.ttv2-action:focus {
	transform: translateY(-1px);
	border-color: rgba(227, 6, 19, 0.55);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.095);
	color: var(--tt-red);
}

.ttv2-action-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	border-radius: 999px;
	background: #f3f4f6;
	font-size: 14px;
}

.ttv2-cart-count {
	min-width: 23px;
	height: 23px;
	background: linear-gradient(180deg, var(--tt-red), var(--tt-red-dark));
	box-shadow: 0 4px 10px rgba(227, 6, 19, 0.25);
}

.ttv2-category-nav {
	background: linear-gradient(90deg, var(--tt-red-dark), var(--tt-red), var(--tt-red-dark));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.ttv2-category-scroll {
	gap: 4px;
	padding-top: 6px;
	padding-bottom: 6px;
}

.ttv2-category-scroll a {
	min-height: 34px;
	border: 0;
	border-radius: 999px;
	padding: 0 14px;
	font-size: 13px;
	font-weight: 850;
	background: rgba(255, 255, 255, 0.08);
}

.ttv2-category-scroll a:last-child {
	border-right: 0;
}

.ttv2-category-scroll a:hover,
.ttv2-category-scroll a:focus {
	background: rgba(255, 255, 255, 0.20);
}

@media (max-width: 921px) {
	.admin-bar .ttv2-site-header {
		top: 46px;
	}

	.ttv2-site-header {
		position: sticky;
	}

	.ttv2-header-inner {
		min-height: 56px;
		padding-top: 10px;
		padding-bottom: 8px;
	}

	.ttv2-logo {
		font-size: 23px;
	}

	.ttv2-logo::before {
		width: 9px;
		height: 28px;
	}

	.ttv2-search-row {
		grid-template-columns: 1fr;
		gap: 9px;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.ttv2-search-row::before {
		left: 12px;
		right: 12px;
	}

	.ttv2-header-actions {
		grid-template-columns: 1fr 1fr;
	}

	.ttv2-action {
		height: 44px;
		border-radius: 12px;
		box-shadow: 0 5px 15px rgba(15, 23, 42, 0.055);
	}

	.ttv2-search-form {
		border-radius: 12px;
	}

	.ttv2-search-form input[type="search"] {
		height: 44px;
		border-radius: 12px 0 0 12px;
	}

	.ttv2-search-form button {
		height: 36px;
		border-radius: 10px;
		padding: 0 16px;
	}

	.ttv2-category-scroll {
		padding-top: 5px;
		padding-bottom: 5px;
	}

	.ttv2-category-scroll a {
		min-height: 32px;
		border-radius: 10px;
	}
}

@media (max-width: 520px) {
	.ttv2-site-header {
		border-top-width: 4px;
	}

	.ttv2-logo {
		font-size: 22px;
	}

	.ttv2-action span:not(.ttv2-action-icon):not(.ttv2-cart-count) {
		font-size: 12px;
	}

	.ttv2-action-icon {
		display: none;
	}
}


/* TiinanTori.fi v2.4 lisäviimeistelyt: kielet, oma tili, footer, ALE-lätkä */

/* Kielivalitsin näkyy vain, jos Polylang tai WPML tuottaa kielilinkit. */
.tt-language-switcher {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 48px;
	border: 1px solid rgba(209, 213, 219, 0.96);
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.055);
	padding: 0 7px;
}

.tt-language-switcher a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	border-radius: 999px;
	color: var(--tt-dark);
	text-decoration: none;
	font-size: 12px;
	font-weight: 900;
}

.tt-language-switcher a.is-current,
.tt-language-switcher a:hover {
	background: var(--tt-red);
	color: #fff;
}

/* Yläpalkin WordPress-valikon li-elementit näyttämään samalta kuin linkit. */
.tt-cats-scroll ul,
.tt-cats-scroll li {
	list-style: none;
	margin: 0;
	padding: 0;
	display: contents;
}

.tt-cats-scroll .menu-item a {
	display: flex;
	align-items: center;
	min-height: 34px;
	border: 0;
	border-radius: 999px;
	padding: 0 14px;
	font-size: 13px;
	font-weight: 850;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
}

/* Nopeat linkit pois näkyvistä myös varmuuden vuoksi, jos vanha markup jää välimuistista. */
.tt-box h3 {
	word-break: normal;
}

.tt-box:has(h3:first-child:nth-last-child(n)) h3 {
	/* Ei tee ulkoasumuutosta, pidetään selainten CSS vakaana. */
}

/* ALE-lätkä: punainen tausta, keltainen teksti. */
.woocommerce span.onsale,
.woocommerce-page span.onsale,
.tt-sale-badge {
	min-width: 54px !important;
	min-height: 34px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 999px !important;
	background: #e30613 !important;
	color: #ffe600 !important;
	border: 2px solid #ffe600 !important;
	box-shadow: 0 8px 18px rgba(227, 6, 19, 0.35);
	font-size: 14px !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	letter-spacing: .4px;
	padding: 0 12px !important;
	text-transform: uppercase;
}

/* Oma tili -sivu uusiksi, leveys ja verkkokauppamainen rakenne. */
.woocommerce-account body,
body.woocommerce-account {
	background: var(--tt-bg);
}

body.woocommerce-account #content .ast-container {
	max-width: 1180px;
}

.woocommerce-account .entry-header,
.woocommerce-account .woocommerce-products-header {
	margin-bottom: 16px;
}

.woocommerce-account .entry-title,
.woocommerce-account .woocommerce-products-header__title,
.woocommerce-account .page-title {
	font-size: clamp(30px, 4vw, 46px);
	font-weight: 950;
	color: var(--tt-dark);
	letter-spacing: -0.8px;
	margin-bottom: 16px;
}

.woocommerce-account .woocommerce {
	width: 100%;
}

/* Kirjautumaton Oma tili */
body.woocommerce-account:not(.logged-in) .woocommerce {
	max-width: 1040px;
	margin: 0 auto;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce h2 {
	display: none;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login,
body.woocommerce-account:not(.logged-in) .woocommerce form.register {
	position: relative;
	max-width: 520px;
	width: 100%;
	margin: 0 auto 18px !important;
	background: #fff;
	border: 1px solid var(--tt-border);
	border-radius: 18px;
	box-shadow: 0 14px 38px rgba(15, 23, 42, 0.10);
	padding: 84px 28px 28px !important;
	overflow: hidden;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login::before,
body.woocommerce-account:not(.logged-in) .woocommerce form.register::before {
	content: "Kirjaudu / Oma tili";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	display: flex;
	align-items: center;
	min-height: 58px;
	padding: 0 28px;
	background: linear-gradient(90deg, var(--tt-red-dark), var(--tt-red));
	color: #fff;
	font-size: 22px;
	font-weight: 950;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.register::before {
	content: "Luo asiakastili";
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login::after {
	content: "Kirjaudu sisään nähdäksesi tilaukset, osoitteet ja asiakastietosi.";
	display: block;
	color: var(--tt-muted);
	font-size: 14px;
	line-height: 1.5;
	margin-top: 14px;
	text-align: center;
}

body.woocommerce-account:not(.logged-in) .woocommerce form .form-row {
	margin-bottom: 15px;
}

body.woocommerce-account:not(.logged-in) .woocommerce form label {
	display: block;
	font-weight: 850;
	color: var(--tt-dark);
	margin-bottom: 7px;
}

body.woocommerce-account:not(.logged-in) .woocommerce form .input-text,
body.woocommerce-account:not(.logged-in) .woocommerce form input[type="text"],
body.woocommerce-account:not(.logged-in) .woocommerce form input[type="email"],
body.woocommerce-account:not(.logged-in) .woocommerce form input[type="password"] {
	min-height: 48px;
	width: 100%;
	border: 1px solid var(--tt-border);
	border-radius: 10px;
	background: #fff;
	padding: 0 14px;
	box-shadow: none;
}

body.woocommerce-account:not(.logged-in) .woocommerce form .input-text:focus,
body.woocommerce-account:not(.logged-in) .woocommerce form input:focus {
	border-color: var(--tt-red);
	outline: 0;
	box-shadow: 0 0 0 4px rgba(227, 6, 19, 0.10);
}

body.woocommerce-account:not(.logged-in) .woocommerce form button.button,
body.woocommerce-account:not(.logged-in) .woocommerce form .woocommerce-button {
	width: 100%;
	min-height: 50px;
	border-radius: 10px;
	font-size: 16px;
	font-weight: 950;
	background: var(--tt-red);
	color: #fff;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	margin: 4px 0 14px;
	font-weight: 750;
}

body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword {
	text-align: center;
	margin-top: 12px;
}

body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a {
	color: var(--tt-red);
	font-weight: 850;
	text-decoration: none;
}

/* Kirjautunut Oma tili */
body.woocommerce-account.logged-in .woocommerce {
	display: grid !important;
	grid-template-columns: 285px minmax(0, 1fr);
	gap: 22px;
	align-items: start;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
	width: auto !important;
	float: none !important;
	background: #fff;
	border: 1px solid var(--tt-border);
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
	padding: 13px;
	position: sticky;
	top: 150px;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-height: 46px;
	border-radius: 12px;
	background: #f7f7f8;
	border: 1px solid var(--tt-border);
	padding: 0 14px;
	color: var(--tt-dark);
	font-weight: 850;
	text-decoration: none;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation .is-active a,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover {
	background: var(--tt-red);
	border-color: var(--tt-red);
	color: #fff;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
	width: auto !important;
	float: none !important;
	min-width: 0;
	background: #fff;
	border: 1px solid var(--tt-border);
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
	padding: 26px;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content p:first-child {
	font-size: 17px;
	line-height: 1.65;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content a {
	color: var(--tt-red);
	font-weight: 850;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a::before { content: "🏠"; margin-right: 9px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a::before { content: "📦"; margin-right: 9px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads a::before { content: "⬇️"; margin-right: 9px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a::before { content: "📍"; margin-right: 9px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--payment-methods a::before { content: "💳"; margin-right: 9px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a::before { content: "👤"; margin-right: 9px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a::before { content: "↪"; margin-right: 9px; }

/* Footer */
.tt-footer {
	background: #20242c;
	color: #fff;
	margin-top: 36px;
	border-top: 5px solid var(--tt-red);
}

.tt-footer-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 30px 16px;
	display: grid;
	grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
	gap: 24px;
	align-items: start;
}

.tt-footer-brand strong {
	display: block;
	color: #fff;
	font-size: 26px;
	font-weight: 950;
	margin-bottom: 8px;
}

.tt-footer-brand span {
	display: block;
	color: rgba(255,255,255,.76);
	font-size: 14px;
	line-height: 1.5;
}

.tt-footer-links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px 16px;
}

.tt-footer-links a {
	color: rgba(255,255,255,.88);
	text-decoration: none;
	font-weight: 750;
	font-size: 14px;
	padding: 8px 0;
	border-bottom: 1px solid rgba(255,255,255,.10);
}

.tt-footer-links a:hover {
	color: #fff;
	border-bottom-color: var(--tt-red);
}

/* Piilotetaan ylimääräinen Astra footer, jos se jää päälle. */
.site-footer,
.ast-footer-copyright {
	display: none !important;
}

@media (max-width: 921px) {
	.tt-language-switcher {
		width: 100%;
		height: 44px;
		justify-content: center;
		border-radius: 12px;
	}

	body.woocommerce-account.logged-in .woocommerce {
		display: block !important;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
		position: static;
		margin-bottom: 16px;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tt-footer-inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	body.woocommerce-account:not(.logged-in) .woocommerce form.login,
	body.woocommerce-account:not(.logged-in) .woocommerce form.register,
	body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
		padding: 74px 16px 18px !important;
		border-radius: 14px;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
		padding: 18px !important;
	}

	body.woocommerce-account:not(.logged-in) .woocommerce form.login::before,
	body.woocommerce-account:not(.logged-in) .woocommerce form.register::before {
		min-height: 54px;
		padding: 0 16px;
		font-size: 20px;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
		grid-template-columns: 1fr;
	}

	.tt-footer-links {
		grid-template-columns: 1fr;
	}
}


/* TiinanTori.fi v2.5 Oma tili -korjaus
   Korjaa osoitesivun kapeat kortit ja tekee tilisivuista vakaammat eri näytöillä. */

body.woocommerce-account #content .ast-container,
body.woocommerce-account .ast-container,
body.woocommerce-account #primary,
body.woocommerce-account .site-main,
body.woocommerce-account .entry-content {
	width: 100% !important;
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

body.woocommerce-account #primary {
	padding-left: 16px !important;
	padding-right: 16px !important;
}

body.woocommerce-account .entry-content > .woocommerce {
	width: 100% !important;
	max-width: none !important;
}

/* Kirjautuneen asiakkaan Oma tili: sivuvalikko + sisältö. */
body.woocommerce-account.logged-in .entry-content > .woocommerce {
	display: grid !important;
	grid-template-columns: 280px minmax(0, 1fr) !important;
	gap: 24px !important;
	align-items: start !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	box-sizing: border-box;
	overflow: visible !important;
}

/* Osoitteet-sivu: ei enää kahta liian kapeaa floattia. */
body.woocommerce-account .woocommerce-Addresses,
body.woocommerce-account .u-columns.woocommerce-Addresses,
body.woocommerce-account .woocommerce-addresses,
body.woocommerce-account .u-columns {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
	gap: 18px !important;
	width: 100% !important;
	margin: 18px 0 0 !important;
}

body.woocommerce-account .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-Addresses::after,
body.woocommerce-account .u-columns::before,
body.woocommerce-account .u-columns::after {
	display: none !important;
	content: none !important;
}

body.woocommerce-account .woocommerce-Address,
body.woocommerce-account .u-column1,
body.woocommerce-account .u-column2,
body.woocommerce-account .col-1,
body.woocommerce-account .col-2 {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	box-sizing: border-box;
}

body.woocommerce-account .woocommerce-Address {
	background: #fff !important;
	border: 1px solid var(--tt-border) !important;
	border-radius: 16px !important;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.07) !important;
	padding: 18px !important;
	overflow: hidden !important;
}

body.woocommerce-account .woocommerce-Address-title {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	border-bottom: 1px solid var(--tt-border) !important;
	padding-bottom: 12px !important;
	margin-bottom: 14px !important;
}

body.woocommerce-account .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-column__title,
body.woocommerce-account .woocommerce-order-details__title,
body.woocommerce-account .woocommerce-customer-details h2 {
	margin: 0 !important;
	color: var(--tt-dark) !important;
	font-size: 20px !important;
	line-height: 1.25 !important;
	font-weight: 950 !important;
	letter-spacing: -0.2px !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
	white-space: normal !important;
}

body.woocommerce-account .woocommerce-Address-title h2 {
	white-space: nowrap !important;
}

body.woocommerce-account .woocommerce-Address-title a.edit,
body.woocommerce-account .woocommerce-Address-title a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 34px !important;
	border-radius: 999px !important;
	background: var(--tt-red) !important;
	color: #fff !important;
	padding: 0 13px !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

body.woocommerce-account .woocommerce-Address address {
	margin: 0 !important;
	color: var(--tt-muted) !important;
	font-size: 15px !important;
	line-height: 1.65 !important;
	font-style: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

/* Tili-sivun lomakkeet. */
body.woocommerce-account .woocommerce-EditAccountForm,
body.woocommerce-account .woocommerce-address-fields,
body.woocommerce-account .woocommerce-address-fields__field-wrapper {
	width: 100% !important;
	max-width: none !important;
}

body.woocommerce-account fieldset {
	border: 1px solid var(--tt-border) !important;
	border-radius: 14px !important;
	padding: 18px !important;
	margin-top: 18px !important;
}

/* Pienemmillä ruuduilla laitetaan tili-valikko ylös ja osoitteet yhteen palstaan. */
@media (max-width: 980px) {
	body.woocommerce-account.logged-in .entry-content > .woocommerce {
		display: block !important;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
		margin-bottom: 18px !important;
		position: static !important;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	body.woocommerce-account .woocommerce-Addresses,
	body.woocommerce-account .u-columns.woocommerce-Addresses,
	body.woocommerce-account .woocommerce-addresses,
	body.woocommerce-account .u-columns {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 560px) {
	body.woocommerce-account #primary {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
		grid-template-columns: 1fr !important;
	}

	body.woocommerce-account .woocommerce-Address {
		padding: 15px !important;
		border-radius: 14px !important;
	}

	body.woocommerce-account .woocommerce-Address-title {
		display: grid !important;
		grid-template-columns: 1fr !important;
		align-items: start !important;
	}

	body.woocommerce-account .woocommerce-Address-title h2 {
		white-space: normal !important;
		font-size: 19px !important;
	}

	body.woocommerce-account .woocommerce-Address-title a.edit,
	body.woocommerce-account .woocommerce-Address-title a {
		width: max-content !important;
	}
}


/* TiinanTori.fi v2.6 Oma tili: tietokoneella valikkopalkki koko leveydelle.
   Korvaa aiemman vasemman sivuvalikon vain tilisivuilla. */

@media (min-width: 981px) {
	body.woocommerce-account.logged-in .entry-content > .woocommerce,
	body.woocommerce-account.logged-in .woocommerce {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		padding: 0 !important;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
		position: static !important;
		width: 100% !important;
		max-width: none !important;
		float: none !important;
		clear: both !important;
		margin: 0 0 22px 0 !important;
		padding: 12px !important;
		background: #fff !important;
		border: 1px solid var(--tt-border) !important;
		border-radius: 18px !important;
		box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08) !important;
		box-sizing: border-box !important;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
		display: grid !important;
		grid-template-columns: repeat(6, minmax(120px, 1fr)) !important;
		gap: 8px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 48px !important;
		width: 100% !important;
		border-radius: 12px !important;
		background: #f7f7f8 !important;
		border: 1px solid var(--tt-border) !important;
		padding: 0 12px !important;
		color: var(--tt-dark) !important;
		font-size: 14px !important;
		font-weight: 850 !important;
		text-align: center !important;
		text-decoration: none !important;
		white-space: nowrap !important;
		box-sizing: border-box !important;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation .is-active a,
	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover {
		background: linear-gradient(90deg, var(--tt-red-dark), var(--tt-red)) !important;
		border-color: var(--tt-red) !important;
		color: #fff !important;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
		width: 100% !important;
		max-width: none !important;
		float: none !important;
		clear: both !important;
		margin: 0 !important;
		background: #fff !important;
		border: 1px solid var(--tt-border) !important;
		border-radius: 18px !important;
		box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08) !important;
		padding: 28px !important;
		box-sizing: border-box !important;
	}

	body.woocommerce-account .woocommerce-Addresses,
	body.woocommerce-account .u-columns.woocommerce-Addresses,
	body.woocommerce-account .woocommerce-addresses,
	body.woocommerce-account .u-columns {
		grid-template-columns: repeat(2, minmax(360px, 1fr)) !important;
	}

	body.woocommerce-account #content .ast-container,
	body.woocommerce-account .ast-container,
	body.woocommerce-account #primary,
	body.woocommerce-account .site-main,
	body.woocommerce-account .entry-content {
		max-width: 1240px !important;
	}
}

@media (min-width: 981px) and (max-width: 1180px) {
	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
		grid-template-columns: repeat(3, minmax(150px, 1fr)) !important;
	}
}


/* TiinanTori.fi v2.7: osastointitekstin keskitys, kirjautumislohkon palkit ja hintaliukusäädin */

/* Kauppa-/osastosivun harmaa tulosteksti ja lajittelu keskelle. */
body.woocommerce.archive .woocommerce-result-count,
body.woocommerce-page.archive .woocommerce-result-count {
	float: none !important;
	display: block !important;
	width: 100% !important;
	margin: 0 auto 8px !important;
	text-align: center !important;
	color: #8b94a3 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

body.woocommerce.archive .woocommerce-ordering,
body.woocommerce-page.archive .woocommerce-ordering {
	float: none !important;
	display: flex !important;
	justify-content: center !important;
	width: 100% !important;
	margin: 0 auto 20px !important;
	text-align: center !important;
}

body.woocommerce.archive .woocommerce-ordering select,
body.woocommerce-page.archive .woocommerce-ordering select {
	min-width: 220px;
	text-align: center;
}

/* Osasto-/kategoriatekstit siistimmin keskelle, jos niitä on sivulla. */
body.woocommerce.archive .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header {
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 860px !important;
}

body.woocommerce.archive .term-description,
body.tax-product_cat .term-description {
	color: #8b94a3 !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 760px !important;
}

/* Kirjautumattoman Oma tili -sivun kahden lohkon yläpalkit täsmälleen samankokoisiksi. */
body.woocommerce-account:not(.logged-in) .woocommerce form.login,
body.woocommerce-account:not(.logged-in) .woocommerce form.register {
	padding-top: 86px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login::before,
body.woocommerce-account:not(.logged-in) .woocommerce form.register::before {
	min-height: 60px !important;
	height: 60px !important;
	padding: 0 28px !important;
	display: flex !important;
	align-items: center !important;
	box-sizing: border-box !important;
	font-size: 22px !important;
	line-height: 1 !important;
	border-radius: 18px 18px 0 0 !important;
}

/* Uusi hintaliukusäädin sivusuodattimiin. */
.tt-price-modern {
	overflow: hidden;
}

.tt-price-modern h3 {
	margin-bottom: 12px;
}

.tt-price-form {
	display: grid;
	gap: 13px;
}

.tt-price-values {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	color: var(--tt-dark);
	font-size: 14px;
}

.tt-price-values strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	min-width: 86px;
	border-radius: 999px;
	background: #f7f7f8;
	border: 1px solid var(--tt-border);
	font-weight: 950;
}

.tt-price-range {
	position: relative;
	height: 36px;
	display: grid;
	align-items: center;
}

.tt-price-range::before {
	content: "";
	position: absolute;
	left: 4px;
	right: 4px;
	top: 50%;
	height: 7px;
	transform: translateY(-50%);
	border-radius: 999px;
	background: linear-gradient(90deg, #fee2e2, var(--tt-red), #fee2e2);
	opacity: .9;
}

.tt-price-range input[type="range"] {
	position: absolute;
	left: 0;
	right: 0;
	width: 100%;
	height: 36px;
	margin: 0;
	background: transparent;
	pointer-events: none;
	appearance: none;
	-webkit-appearance: none;
}

.tt-price-range input[type="range"]::-webkit-slider-thumb {
	appearance: none;
	-webkit-appearance: none;
	width: 21px;
	height: 21px;
	border-radius: 999px;
	background: var(--tt-red);
	border: 3px solid #fff;
	box-shadow: 0 3px 9px rgba(0,0,0,.25);
	cursor: pointer;
	pointer-events: auto;
}

.tt-price-range input[type="range"]::-moz-range-thumb {
	width: 17px;
	height: 17px;
	border-radius: 999px;
	background: var(--tt-red);
	border: 3px solid #fff;
	box-shadow: 0 3px 9px rgba(0,0,0,.25);
	cursor: pointer;
	pointer-events: auto;
}

.tt-price-range input[type="range"]::-webkit-slider-runnable-track {
	background: transparent;
	border: 0;
}

.tt-price-range input[type="range"]::-moz-range-track {
	background: transparent;
	border: 0;
}

.tt-price-inputs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.tt-price-inputs label {
	display: grid;
	gap: 5px;
	color: var(--tt-muted);
	font-size: 12px;
	font-weight: 850;
}

.tt-price-inputs input {
	width: 100%;
	min-height: 38px;
	border: 1px solid var(--tt-border);
	border-radius: 8px;
	padding: 0 10px;
	font-weight: 850;
	background: #fff;
}

.tt-price-form button {
	min-height: 42px;
	border: 0;
	border-radius: 9px;
	background: var(--tt-red);
	color: #fff;
	font-weight: 950;
	cursor: pointer;
}

.tt-price-form button:hover {
	background: var(--tt-red-dark);
}

.tt-price-reset {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	border-radius: 9px;
	background: #f3f4f6;
	color: var(--tt-dark);
	text-decoration: none;
	font-size: 13px;
	font-weight: 900;
}

/* Mobiilissa pidetään tulos/lajittelu napakkana. */
@media (max-width: 767px) {
	body.woocommerce.archive .woocommerce-result-count,
	body.woocommerce-page.archive .woocommerce-result-count,
	body.woocommerce.archive .woocommerce-ordering,
	body.woocommerce-page.archive .woocommerce-ordering {
		text-align: center !important;
	}

	body.woocommerce-account:not(.logged-in) .woocommerce form.login::before,
	body.woocommerce-account:not(.logged-in) .woocommerce form.register::before {
		height: 56px !important;
		min-height: 56px !important;
		padding: 0 16px !important;
		font-size: 20px !important;
		border-radius: 14px 14px 0 0 !important;
	}
}


/* TiinanTori.fi v2.8 tuotekortin osastoteksti
   Keskittää vaaleanharmaan tuoteryhmä-/osastotekstin tuotekorteissa. */

.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce-page ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .posted_in,
.woocommerce-page ul.products li.product .posted_in,
.woocommerce ul.products li.product .tt-product-category,
.woocommerce-page ul.products li.product .tt-product-category {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 30px !important;
	margin: 10px auto 0 !important;
	padding: 0 12px !important;
	box-sizing: border-box !important;
	color: #9ca3af !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	text-align: center !important;
	letter-spacing: .1px !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
}

.woocommerce ul.products li.product .ast-woo-product-category a,
.woocommerce-page ul.products li.product .ast-woo-product-category a,
.woocommerce ul.products li.product .posted_in a,
.woocommerce-page ul.products li.product .posted_in a,
.woocommerce ul.products li.product .tt-product-category a,
.woocommerce-page ul.products li.product .tt-product-category a {
	color: #9ca3af !important;
	text-decoration: none !important;
	text-align: center !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden !important;
	max-width: 100% !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
}

.woocommerce ul.products li.product .ast-woo-product-category a:hover,
.woocommerce-page ul.products li.product .ast-woo-product-category a:hover {
	color: var(--tt-red) !important;
}

/* Varmistetaan, että tuotenimi alkaa osastotekstin jälkeen siististi. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	text-align: left !important;
	padding-top: 7px !important;
}

/* Mobiilissa osastoteksti hieman pienemmäksi, jotta "Koti & Keittiö" ja "Auto & Piha" eivät näytä raskailta. */
@media (max-width: 767px) {
	.woocommerce ul.products li.product .ast-woo-product-category,
	.woocommerce-page ul.products li.product .ast-woo-product-category,
	.woocommerce ul.products li.product .posted_in,
	.woocommerce-page ul.products li.product .posted_in,
	.woocommerce ul.products li.product .tt-product-category,
	.woocommerce-page ul.products li.product .tt-product-category {
		min-height: 26px !important;
		margin-top: 8px !important;
		padding-left: 8px !important;
		padding-right: 8px !important;
		font-size: 11px !important;
	}

	.woocommerce ul.products li.product .ast-woo-product-category a,
	.woocommerce-page ul.products li.product .ast-woo-product-category a,
	.woocommerce ul.products li.product .posted_in a,
	.woocommerce-page ul.products li.product .posted_in a,
	.woocommerce ul.products li.product .tt-product-category a,
	.woocommerce-page ul.products li.product .tt-product-category a {
		font-size: 11px !important;
	}
}


/* TiinanTori.fi v2.9 tuotekortin tuoteryhmä ja kaupan ylätekstit
   Palauttaa Kauppa-otsikon ja "Näytetään tuotteet..." -tekstin normaaliksi.
   Tuotekortin tuoteryhmäteksti asetetaan sopusointuun tuotenimen kanssa, ei keskelle. */

/* Palautetaan kauppasivun otsikko, tulosteksti ja lajittelu takaisin normaaliin vasempaan asetteluun. */
body.woocommerce.archive .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header {
	text-align: left !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.woocommerce.archive .woocommerce-products-header__title,
body.woocommerce.archive .page-title,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_cat .page-title {
	text-align: left !important;
}

body.woocommerce.archive .term-description,
body.tax-product_cat .term-description {
	text-align: left !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.woocommerce.archive .woocommerce-result-count,
body.woocommerce-page.archive .woocommerce-result-count {
	float: none !important;
	display: inline-flex !important;
	align-items: center !important;
	width: auto !important;
	min-height: 42px !important;
	margin: 0 14px 16px 0 !important;
	text-align: left !important;
	color: var(--tt-muted) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
}

body.woocommerce.archive .woocommerce-ordering,
body.woocommerce-page.archive .woocommerce-ordering {
	float: none !important;
	display: inline-flex !important;
	justify-content: flex-start !important;
	width: auto !important;
	margin: 0 0 16px !important;
	text-align: left !important;
	vertical-align: top !important;
}

body.woocommerce.archive .woocommerce-ordering select,
body.woocommerce-page.archive .woocommerce-ordering select {
	min-width: 0 !important;
	text-align: left !important;
}

/* Tuotekortin sisällä oleva vaaleanharmaa tuoteryhmäteksti:
   ei keskelle, vaan samaan linjaan ja rytmiin tuotenimen kanssa. */
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce-page ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .posted_in,
.woocommerce-page ul.products li.product .posted_in,
.woocommerce ul.products li.product .tt-product-category,
.woocommerce-page ul.products li.product .tt-product-category {
	display: block !important;
	width: auto !important;
	min-height: 0 !important;
	margin: 12px 14px 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	color: #9ca3af !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	text-align: left !important;
	letter-spacing: .1px !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
}

.woocommerce ul.products li.product .ast-woo-product-category a,
.woocommerce-page ul.products li.product .ast-woo-product-category a,
.woocommerce ul.products li.product .posted_in a,
.woocommerce-page ul.products li.product .posted_in a,
.woocommerce ul.products li.product .tt-product-category a,
.woocommerce-page ul.products li.product .tt-product-category a {
	color: #9ca3af !important;
	text-decoration: none !important;
	text-align: left !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden !important;
	max-width: 100% !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
}

.woocommerce ul.products li.product .ast-woo-product-category a:hover,
.woocommerce-page ul.products li.product .ast-woo-product-category a:hover {
	color: var(--tt-red) !important;
}

/* Tuotenimi jatkuu samaa linjaa tuoteryhmän kanssa. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	text-align: left !important;
	padding-top: 6px !important;
	padding-left: 14px !important;
	padding-right: 14px !important;
}

/* Mobiilissa sama ajatus, mutta pienemmillä reunoilla kuten tuotekortissa muutenkin. */
@media (max-width: 767px) {
	body.woocommerce.archive .woocommerce-result-count,
	body.woocommerce-page.archive .woocommerce-result-count,
	body.woocommerce.archive .woocommerce-ordering,
	body.woocommerce-page.archive .woocommerce-ordering {
		display: block !important;
		width: 100% !important;
		text-align: left !important;
		margin-right: 0 !important;
	}

	.woocommerce ul.products li.product .ast-woo-product-category,
	.woocommerce-page ul.products li.product .ast-woo-product-category,
	.woocommerce ul.products li.product .posted_in,
	.woocommerce-page ul.products li.product .posted_in,
	.woocommerce ul.products li.product .tt-product-category,
	.woocommerce-page ul.products li.product .tt-product-category {
		margin: 9px 10px 0 !important;
		font-size: 11px !important;
		text-align: left !important;
	}

	.woocommerce ul.products li.product .ast-woo-product-category a,
	.woocommerce-page ul.products li.product .ast-woo-product-category a,
	.woocommerce ul.products li.product .posted_in a,
	.woocommerce-page ul.products li.product .posted_in a,
	.woocommerce ul.products li.product .tt-product-category a,
	.woocommerce-page ul.products li.product .tt-product-category a {
		font-size: 11px !important;
		text-align: left !important;
		-webkit-line-clamp: 1;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
}


/* TiinanTori.fi v3.0 hintajärjestys
   Näyttää alennushinnan ensin ja normaalihinnan sen jälkeen. */

/* Tuotekortit */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	gap: 6px !important;
}

.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins {
	order: 1 !important;
	text-decoration: none !important;
	color: var(--tt-red) !important;
	font-size: 17px !important;
	font-weight: 950 !important;
}

.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
	order: 2 !important;
	color: #8b94a3 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	opacity: .85 !important;
}

/* Tuotesivu */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	gap: 9px !important;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
	order: 1 !important;
	text-decoration: none !important;
	color: var(--tt-red) !important;
	font-size: 30px !important;
	font-weight: 950 !important;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	order: 2 !important;
	color: #8b94a3 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	opacity: .85 !important;
}

/* Ostoskori / kassa / tilaussivut */
.woocommerce .cart_item .product-price,
.woocommerce .cart_item .product-subtotal,
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal {
	white-space: normal !important;
}

.woocommerce .cart_item .product-price .amount,
.woocommerce .cart_item .product-subtotal .amount {
	font-weight: 850;
}

/* Mobiilissa hinnat pysyvät napakkana samalla rivillä, jos tila riittää. */
@media (max-width: 767px) {
	.woocommerce ul.products li.product .price,
	.woocommerce-page ul.products li.product .price {
		gap: 4px !important;
	}

	.woocommerce ul.products li.product .price ins,
	.woocommerce-page ul.products li.product .price ins {
		font-size: 15px !important;
	}

	.woocommerce ul.products li.product .price del,
	.woocommerce-page ul.products li.product .price del {
		font-size: 12px !important;
	}
}


/* TiinanTori.fi v3.1 kirjautumissivun korjaus
   Lisätty v30-pohjaan: poistaa huonosti toimivat pseudo-otsikot ja rakentaa Oma tili -kirjautumisen siistiksi. */

body.woocommerce-account:not(.logged-in) #content .ast-container,
body.woocommerce-account:not(.logged-in) .ast-container,
body.woocommerce-account:not(.logged-in) #primary,
body.woocommerce-account:not(.logged-in) .site-main,
body.woocommerce-account:not(.logged-in) .entry-content {
	width: 100% !important;
	max-width: 1180px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) #primary {
	padding-left: 16px !important;
	padding-right: 16px !important;
	padding-top: 30px !important;
}

/* Poistaa vanhojen versioiden keinotekoiset otsikot. */
body.woocommerce-account:not(.logged-in) .woocommerce form.login::before,
body.woocommerce-account:not(.logged-in) .woocommerce form.register::before,
body.woocommerce-account:not(.logged-in) .woocommerce form.login::after,
body.woocommerce-account:not(.logged-in) .woocommerce form.register::after {
	content: none !important;
	display: none !important;
}

/* WooCommercen asiakaskirjautumisen kaksi palstaa. */
body.woocommerce-account:not(.logged-in) .woocommerce,
body.woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
	width: 100% !important;
	max-width: 1000px !important;
	margin: 0 auto !important;
	display: block !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login,
body.woocommerce-account:not(.logged-in) .u-columns#customer_login,
body.woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(320px, 1fr)) !important;
	gap: 28px !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 1000px !important;
	margin: 0 auto !important;
}

body.woocommerce-account:not(.logged-in) #customer_login::before,
body.woocommerce-account:not(.logged-in) #customer_login::after,
body.woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set::before,
body.woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set::after {
	display: none !important;
	content: none !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2,
body.woocommerce-account:not(.logged-in) .woocommerce .u-column1.col-1,
body.woocommerce-account:not(.logged-in) .woocommerce .u-column2.col-2,
body.woocommerce-account:not(.logged-in) .woocommerce .col-1,
body.woocommerce-account:not(.logged-in) .woocommerce .col-2 {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	background: #fff !important;
	border: 1px solid var(--tt-border) !important;
	border-radius: 18px !important;
	box-shadow: 0 14px 38px rgba(15, 23, 42, 0.10) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

/* Käytetään WooCommercen omia H2-otsikoita korttien otsikkoina. */
body.woocommerce-account:not(.logged-in) #customer_login h2,
body.woocommerce-account:not(.logged-in) .woocommerce .u-column1 h2,
body.woocommerce-account:not(.logged-in) .woocommerce .u-column2 h2 {
	display: flex !important;
	align-items: center !important;
	min-height: 58px !important;
	margin: 0 !important;
	padding: 0 26px !important;
	background: linear-gradient(90deg, var(--tt-red-dark), var(--tt-red)) !important;
	color: #fff !important;
	font-size: 21px !important;
	line-height: 1.2 !important;
	font-weight: 950 !important;
	letter-spacing: -0.2px !important;
	border: 0 !important;
	white-space: normal !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .u-column1 h2::before,
body.woocommerce-account:not(.logged-in) .woocommerce .u-column1 h2::before {
	content: "👤";
	margin-right: 10px;
	font-size: 18px;
}

body.woocommerce-account:not(.logged-in) #customer_login .u-column2 h2::before,
body.woocommerce-account:not(.logged-in) .woocommerce .u-column2 h2::before {
	content: "＋";
	margin-right: 10px;
	font-size: 20px;
}

/* Lomakkeet korttien sisällä. */
body.woocommerce-account:not(.logged-in) .woocommerce form.login,
body.woocommerce-account:not(.logged-in) .woocommerce form.register {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 26px !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: visible !important;
	box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.register p:not(.form-row) {
	color: var(--tt-muted) !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	margin: 0 0 18px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form .form-row {
	margin: 0 0 16px !important;
	padding: 0 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form label {
	display: block !important;
	font-size: 14px !important;
	font-weight: 850 !important;
	color: var(--tt-dark) !important;
	margin: 0 0 7px !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form .input-text,
body.woocommerce-account:not(.logged-in) .woocommerce form input[type="text"],
body.woocommerce-account:not(.logged-in) .woocommerce form input[type="email"],
body.woocommerce-account:not(.logged-in) .woocommerce form input[type="password"] {
	width: 100% !important;
	min-height: 48px !important;
	border: 1px solid var(--tt-border) !important;
	border-radius: 10px !important;
	background: #fff !important;
	padding: 0 14px !important;
	box-shadow: none !important;
	font-size: 15px !important;
	box-sizing: border-box !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form .input-text:focus,
body.woocommerce-account:not(.logged-in) .woocommerce form input[type="text"]:focus,
body.woocommerce-account:not(.logged-in) .woocommerce form input[type="email"]:focus,
body.woocommerce-account:not(.logged-in) .woocommerce form input[type="password"]:focus {
	border-color: var(--tt-red) !important;
	outline: 0 !important;
	box-shadow: 0 0 0 4px rgba(227, 6, 19, 0.10) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form button.button,
body.woocommerce-account:not(.logged-in) .woocommerce form .woocommerce-button {
	width: 100% !important;
	min-height: 50px !important;
	margin-top: 4px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: linear-gradient(180deg, var(--tt-red), var(--tt-red-dark)) !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 950 !important;
	box-shadow: 0 8px 18px rgba(227, 6, 19, 0.20) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce form button.button:hover,
body.woocommerce-account:not(.logged-in) .woocommerce form .woocommerce-button:hover {
	background: var(--tt-red-dark) !important;
	color: #fff !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 2px 0 14px !important;
	color: var(--tt-dark) !important;
	font-weight: 750 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword {
	margin: 14px 0 0 !important;
	text-align: center !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a {
	color: var(--tt-red) !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

body.woocommerce-account:not(.logged-in) .entry-title,
body.woocommerce-account:not(.logged-in) .page-title {
	max-width: 1000px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: 22px !important;
	font-size: clamp(30px, 4vw, 44px) !important;
	font-weight: 950 !important;
	color: var(--tt-dark) !important;
}

/* Kapeat ruudut. */
@media (max-width: 820px) {
	body.woocommerce-account:not(.logged-in) #customer_login,
	body.woocommerce-account:not(.logged-in) .u-columns#customer_login,
	body.woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set {
		grid-template-columns: 1fr !important;
		gap: 18px !important;
		max-width: 560px !important;
	}

	body.woocommerce-account:not(.logged-in) #primary {
		padding-top: 20px !important;
	}
}

@media (max-width: 520px) {
	body.woocommerce-account:not(.logged-in) #primary {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	body.woocommerce-account:not(.logged-in) #customer_login h2,
	body.woocommerce-account:not(.logged-in) .woocommerce .u-column1 h2,
	body.woocommerce-account:not(.logged-in) .woocommerce .u-column2 h2 {
		min-height: 54px !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
		font-size: 19px !important;
	}

	body.woocommerce-account:not(.logged-in) .woocommerce form.login,
	body.woocommerce-account:not(.logged-in) .woocommerce form.register {
		padding: 18px !important;
	}
}
