/* TET — täiendused Harmoni malli peale. Vana disain jääb, uus sisu istub sinna sisse. */

:root {
	--tet-yellow: #fdc600;
	--tet-dark: #1d1d1d;
	--tet-muted: #767676;
	--tet-border: #e6e6e6;
}

/* --- Päis: päris menüü + ostukorv --- */
.menu-item-list ul { display: flex; flex-wrap: wrap; align-items: center; }
.menu-item-list ul li { position: relative; }
.menu-item-list ul li a {
	display: block;
	padding: 30px 14px;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: .5px;
	color: #fff;
}
.menu-item-list ul li a:hover,
.menu-item-list ul li.current-menu-item > a { color: var(--tet-yellow); }

.menu-item-list ul .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background: #fff;
	display: none;
	flex-direction: column;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
	z-index: 99;
}
.menu-item-list ul li:hover > .sub-menu { display: flex; }
.menu-item-list ul .sub-menu li a { padding: 12px 18px; color: var(--tet-dark); }

.user-search-btn-group ul { display: flex; justify-content: flex-end; align-items: center; gap: 18px; }
.user-search-btn-group ul li a { color: #fff; font-size: 16px; }
.user-search-btn-group ul li a:hover { color: var(--tet-yellow); }

.tet-cart-link { position: relative; display: inline-block; }
.tet-cart-count {
	position: absolute;
	top: -8px;
	right: -12px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background: var(--tet-yellow);
	color: #000;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}

.tet-menu-toggle { display: none; color: #fff; font-size: 22px; }

@media (max-width: 991px) {
	.tet-menu-toggle { display: inline-block; float: right; padding: 18px 0; }
	.mainmenu-wrapper { display: none; }
	.mainmenu-wrapper.is-open { display: block; background: rgba(0, 0, 0, .92); padding: 10px 0 20px; }
	.menu-item-list ul { flex-direction: column; align-items: flex-start; }
	.menu-item-list ul li a { padding: 10px 0; }
	.menu-item-list ul .sub-menu { position: static; display: flex; box-shadow: none; background: transparent; }
	.menu-item-list ul .sub-menu li a { color: #fff; padding-left: 14px; }
	.user-search-btn-group ul { justify-content: flex-start; padding-top: 10px; }
}

/* --- Sisulehed --- */
.tet-page { background: #fff; }
.tet-content { font-size: 16px; line-height: 1.8; color: #444; }
.tet-content h2, .tet-content h3 { margin: 32px 0 14px; }
.tet-content ul, .tet-content ol { margin: 0 0 20px 20px; list-style: initial; }

.tet-subhead {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 24px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--tet-yellow);
	display: inline-block;
}

/* --- Loengu detailvaade --- */
.tet-loeng-meta > div { margin-bottom: 20px; }
.tet-loeng-meta .title { display: block; font-size: 13px; text-transform: uppercase; color: var(--tet-muted); letter-spacing: 1px; }
.tet-loeng-meta span { font-size: 18px; font-weight: 600; }
.tet-speaker { padding: 30px; background: #f7f7f7; border-left: 4px solid var(--tet-yellow); }
.tet-speaker .title { font-size: 20px; margin: 0 0 10px; }
.tet-loeng-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.tet-btn-alt { background: var(--tet-dark) !important; color: #fff !important; }

/* --- Koolituste kaardid --- */
.tet-course-card .event-image { position: relative; }
.tet-course-card .event-image img { width: 100%; height: 220px; object-fit: cover; }
.tet-badge {
	position: absolute;
	top: 14px;
	right: 14px;
	background: #2e7d32;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 5px 10px;
	border-radius: 3px;
}
.tet-course-card .title a { color: inherit; }
.tet-course-card .title a:hover { color: var(--tet-yellow); }

/* --- Paketid --- */
.tet-pass-card {
	border: 2px solid var(--tet-border);
	padding: 34px 28px;
	text-align: center;
	margin-bottom: 30px;
	transition: border-color .2s ease;
	background: #fff;
}
.tet-pass-card:hover { border-color: var(--tet-yellow); }
.tet-pass-card .title { font-size: 20px; margin: 0 0 12px; }
.tet-pass-card .price { font-size: 30px; font-weight: 700; color: var(--tet-yellow); margin-bottom: 14px; }
.tet-pass-card .price del { font-size: 18px; color: var(--tet-muted); }
.tet-pass-card p { color: var(--tet-muted); margin-bottom: 22px; }

/* --- Videod --- */
.tet-course-videos { margin-top: 50px; }
.tet-video { margin-bottom: 36px; }
.tet-video-title { font-size: 18px; margin: 0 0 12px; }
.tet-video-frame { position: relative; padding-top: 56.25%; background: #000; }
.tet-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.tet-locked-list { margin: 0 0 24px; padding: 0; list-style: none; }
.tet-locked-list li {
	padding: 14px 18px;
	margin-bottom: 8px;
	background: #f7f7f7;
	color: var(--tet-muted);
	border-left: 3px solid var(--tet-border);
}
.tet-locked-list .fa-lock { margin-right: 10px; }
.tet-locked-note { padding: 20px; background: #fffbe9; border: 1px solid var(--tet-yellow); }
.tet-locked-note p { margin: 0; }
.tet-pass-note { padding: 16px 20px; background: #f1f8f1; border-left: 4px solid #2e7d32; }

/* --- Lehekülgede sirvimine --- */
.tet-pagination { margin-top: 40px; text-align: center; }
.tet-pagination .page-numbers {
	display: inline-block;
	min-width: 40px;
	padding: 9px 12px;
	margin: 0 3px;
	border: 1px solid var(--tet-border);
	color: var(--tet-dark);
}
.tet-pagination .page-numbers.current,
.tet-pagination .page-numbers:hover { background: var(--tet-yellow); border-color: var(--tet-yellow); }

/* --- WooCommerce Harmoni sees --- */
.woocommerce .button, .woocommerce button.button, .woocommerce input.button, .woocommerce a.button {
	background: var(--tet-yellow) !important;
	color: #000 !important;
	font-weight: 700;
	border-radius: 2px;
	padding: 12px 26px;
}
.woocommerce .button:hover { background: var(--tet-dark) !important; color: #fff !important; }
.woocommerce div.product .price, .woocommerce ul.products li.product .price { color: var(--tet-dark); font-weight: 700; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--tet-yellow); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--tet-yellow); }

/* --- Sisulehtede päis: valge taust, tume kiri ---
   Harmoni oma reeglid on üsna spetsiifilised, seepärast on need siin sama pikad. */
.tet-solid-header { background-color: #fff; box-shadow: 0 2px 6px 1px rgba(0, 0, 0, .1); }

.tet-solid-header .header-bottom .menu-item-list > ul > li > a,
.tet-solid-header .header-bottom .user-search-btn-group > ul > li a {
	color: var(--tet-dark);
}
.tet-solid-header .header-bottom .menu-item-list > ul > li > a:hover,
.tet-solid-header .header-bottom .menu-item-list > ul > li.current-menu-item > a {
	color: var(--tet-yellow);
}

/* Konto- ja ostukorviikoon: hover täidab ringi kollasega. Valge ikoon jäi
   sellel taustal liiga tuhmiks, seega hoiame ikooni tumedana. */
.header-section .header-bottom .user-search-btn-group > ul > li:hover > a,
.header-section .header-bottom .user-search-btn-group > ul > li:hover > a i,
.header-section .header-bottom .user-search-btn-group > ul > li > a:hover,
.header-section .header-bottom .user-search-btn-group > ul > li > a:hover i {
	color: #1d1d1d;
}
.tet-solid-header .tet-menu-toggle { color: var(--tet-dark); }

/* Logo ei tohi päisest välja joosta. */
.site-logo-wrapper .logo img { max-height: 70px; width: auto; }
.header-section .header-bottom { padding: 10px 0; }
.default-header-p { padding-top: 96px; }

@media (max-width: 991px) {
	.default-header-p { padding-top: 80px; }
	.site-logo-wrapper .logo img { max-height: 54px; }
	.tet-solid-header .mainmenu-wrapper.is-open { background: #fff; border-top: 1px solid var(--tet-border); }
	.tet-solid-header .header-bottom .menu-item-list .sub-menu li a { color: var(--tet-dark); }
}

/* --- Bänner: pealkiri jääb suureks, selgitav lause on selle kõrval tagasihoidlik --- */
.main-carousel2 .item .slider-content { max-width: 820px; }
.main-carousel2 .item .slider-content .title-text { font-size: 54px; margin-bottom: 18px; }
.main-carousel2 .item .slider-content .bold-text {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 36px;
}

@media (max-width: 991px) {
	.main-carousel2 .item .slider-content .title-text { font-size: 38px; }
	.main-carousel2 .item .slider-content .bold-text { font-size: 19px; }
}

@media (max-width: 575px) {
	.main-carousel2 .item .slider-content .title-text { font-size: 30px; }
	.main-carousel2 .item .slider-content .bold-text { font-size: 17px; }
	.main-carousel2 .item .overlay-black { padding: 120px 0; }
}

/* --- Mobiilipäis ---
   Harmoni peidab mobiilis #header-section ja näitab oma külgmenüüd.
   Meil on üks päis, seega toome selle tagasi ja teeme hamburgeri-menüüks. */
@media screen and (max-width: 991px) {
	.header-section { display: block; }
	body { padding-top: 0; }
	.default-header-p { padding-top: 76px; }

	.header-section .header-bottom { padding: 8px 0; }
	.header-section .header-bottom .row { align-items: center; }

	/* Avalehel on bänner tumeda pildiga, nii et päis peab olema loetav ka seal. */
	.homepage2 .header-section:not(.tet-solid-header) .header-bottom { background-color: rgba(0, 0, 0, .85); }

	/* Päise rida on Bootstrapi col-6 paaris; mobiilis tahame logo vasakule ja nupu paremale. */
	.header-section .header-bottom .row { flex-wrap: nowrap; justify-content: space-between; }
	/* Veerg ei tohi olla positsioneeritud, muidu avaneb menüü selle laiuses. */
	.header-section .header-bottom .row > div { flex: 0 0 auto; width: auto; max-width: none; position: static; }
	.header-section .header-bottom .container { position: relative; }

	/* Avanev menüü katab kogu laiuse päise all, mitte poolt veergu. */
	.mainmenu-wrapper {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		padding: 0 20px 16px;
		background: rgba(0, 0, 0, .92);
	}
	.mainmenu-wrapper.is-open { display: block; }
	.tet-solid-header .mainmenu-wrapper { background: #fff; border-top: 1px solid var(--tet-border); box-shadow: 0 8px 16px rgba(0, 0, 0, .1); }

	.mainmenu-wrapper .row { flex-direction: column; }
	.mainmenu-wrapper .col-lg-10,
	.mainmenu-wrapper .col-lg-2 { width: 100%; max-width: 100%; flex: 0 0 100%; }

	.tet-menu-toggle {
		display: inline-block;
		float: right;
		padding: 14px 0 14px 16px;
		font-size: 22px;
		line-height: 1;
	}

	/* Mobiilis on menüü lihtne loend, mitte flex-rida. */
	.header-section .menu-item-list > ul { display: block; }
	.header-section .menu-item-list > ul > li { display: block; width: 100%; }
	.header-section .menu-item-list > ul > li > a { padding: 12px 0; }
	.header-section .menu-item-list > ul > li + li { border-top: 1px solid rgba(128, 128, 128, .2); }
	.header-section .user-search-btn-group > ul { justify-content: flex-start; padding: 14px 0 8px; gap: 24px; }
}

/* Mobiilimenüü taust peab olema läbipaistmatu, muidu kumab bänner läbi. */
@media screen and (max-width: 991px) {
	.mainmenu-wrapper { background: #111; }
}

/* --- Menüü hover sisulehtedel ---
   Päisel on korraga sticky- ja default-klass, nii et mall üritab näidata korraga
   oranži gradient-nuppu (sticky variant) ja allkriipsu (valge variant). Jätame allkriipsu. */
.tet-solid-header .header-bottom .menu-item-list > ul > li > a:before {
	display: none !important;
}
.tet-solid-header .header-bottom .menu-item-list > ul > li:before {
	display: none;
}

/* Allkriips tuleb lingi enda alläärele, mitte teksti keskele. */
.tet-solid-header .header-bottom .menu-item-list > ul > li > a {
	position: relative;
	box-shadow: inset 0 -3px 0 transparent;
	transition: box-shadow .2s ease, color .2s ease;
}
.tet-solid-header .header-bottom .menu-item-list > ul > li:hover > a,
.tet-solid-header .header-bottom .menu-item-list > ul > li.current-menu-item > a {
	box-shadow: inset 0 -3px 0 var(--tet-yellow);
}

@media screen and (max-width: 991px) {
	/* Mobiilis pole allkriipsu vaja, menüü on niigi loend. */
	.header-section .header-bottom .menu-item-list > ul > li:before { display: none; }
}

/* --- Paketiriba koolituste nimekirja kohal --- */
.tet-pass-strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 30px;
	background: #fffbe9;
	border: 1px solid var(--tet-yellow);
	border-radius: 4px;
}
.tet-pass-strip-text strong { display: block; font-size: 19px; margin-bottom: 4px; }
.tet-pass-strip-text span { color: var(--tet-muted); }

.tet-pass-strip-options { display: flex; flex-wrap: wrap; gap: 12px; }

.tet-pass-option {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 126px;
	padding: 12px 18px;
	background: #fff;
	border: 2px solid var(--tet-yellow);
	border-radius: 4px;
	line-height: 1.3;
	transition: background .2s ease;
}
.tet-pass-option:hover { background: var(--tet-yellow); }
.tet-pass-option-days {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--tet-muted);
}
.tet-pass-option:hover .tet-pass-option-days { color: #7a5c00; }
.tet-pass-option-price { font-size: 21px; font-weight: 700; color: var(--tet-dark); margin: 2px 0 4px; }
.tet-pass-option-price .amount { color: inherit; }
.tet-pass-option-cta {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .8px;
	text-transform: uppercase;
	color: #b98b00;
}
.tet-pass-option:hover .tet-pass-option-cta { color: #000; }

@media (max-width: 767px) {
	.tet-pass-strip { flex-direction: column; align-items: stretch; }
	.tet-pass-strip-options { justify-content: stretch; }
	.tet-pass-option { flex: 1 1 0; min-width: 0; }
}

@media (max-width: 575px) {
	.tet-pass-strip { padding: 20px; }
}

/* --- Paketikast tootelehel --- */
.tet-pass-upsell {
	margin-top: 30px;
	padding: 22px 26px;
	background: #f7f7f7;
	border-left: 4px solid var(--tet-yellow);
}
.tet-pass-upsell strong { display: block; margin-bottom: 6px; }
.tet-pass-upsell ul { margin: 12px 0 0; padding: 0; list-style: none; }
.tet-pass-upsell li { margin-bottom: 8px; }
.tet-pass-upsell li a { font-weight: 600; }

/* --- Tooteleht --- */
.woocommerce div.product { padding-top: 10px; }
.woocommerce .woocommerce-breadcrumb {
	font-size: 13px;
	color: var(--tet-muted);
	margin-bottom: 26px;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--tet-muted); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--tet-yellow); }

.woocommerce div.product .product_title {
	font-size: 34px;
	font-weight: 900;
	line-height: 1.25;
	margin-bottom: 14px;
}
.woocommerce div.product p.price {
	font-size: 30px;
	font-weight: 700;
	color: var(--tet-dark);
	margin-bottom: 10px;
}
.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--tet-muted);
	font-size: 15px;
	margin-bottom: 14px;
}
.woocommerce div.product .product_meta { display: none; }

.tet-access-note {
	display: inline-block;
	padding: 8px 14px;
	margin-bottom: 22px;
	background: #fffbe9;
	border: 1px solid var(--tet-yellow);
	border-radius: 3px;
	font-size: 14px;
}
.tet-access-note i { margin-right: 8px; color: #b98b00; }

.woocommerce div.product form.cart { margin-bottom: 0; }
.woocommerce div.product form.cart .quantity { display: none; }
.woocommerce div.product form.cart .button {
	width: 100%;
	max-width: 320px;
	padding: 16px 30px;
	font-size: 15px;
	letter-spacing: .5px;
	text-transform: uppercase;
}

.woocommerce div.product div.images { margin-bottom: 30px; }
.woocommerce div.product div.images img { border-radius: 3px; }

.tet-product-description { margin-top: 50px; }
.tet-product-description p { margin-bottom: 18px; }

@media (max-width: 767px) {
	.woocommerce div.product .product_title { font-size: 26px; }
	.woocommerce div.product form.cart .button { max-width: none; }
}

/* --- Koolituse kaart --- */
.tet-card {
	display: flex;
	flex-direction: column;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	background: #fff;
	border: 1px solid var(--tet-border);
	border-radius: 4px;
	overflow: hidden;
	transition: box-shadow .25s ease, transform .25s ease;
}
.tet-card:hover { box-shadow: 0 12px 28px rgba(0, 0, 0, .12); transform: translateY(-3px); }

.tet-card-media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	background: #f2f2f2;
	overflow: hidden;
}
.tet-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tet-card-media-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: #c9c9c9;
	font-size: 34px;
}

.tet-card-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 5px 11px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: #fff;
	background: rgba(0, 0, 0, .7);
}
.tet-card-badge.is-owned { background: #2e7d32; }

.tet-card-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 22px 22px 20px;
}
.tet-card-title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 10px;
}
.tet-card-title a { color: var(--tet-dark); }
.tet-card-title a:hover { color: var(--tet-yellow); }

.tet-card-meta {
	font-size: 14px;
	color: var(--tet-muted);
	margin: 0 0 18px;
}

.tet-card-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid var(--tet-border);
}
.tet-card-price { font-size: 20px; font-weight: 700; color: var(--tet-dark); }
.tet-card-price .amount { color: var(--tet-dark); }
.tet-card-owned { font-size: 14px; font-weight: 600; color: #2e7d32; }
.tet-card-owned i { margin-right: 5px; }

.tet-card-btn {
	flex: 0 0 auto;
	padding: 9px 16px;
	border: 2px solid var(--tet-yellow);
	border-radius: 3px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--tet-dark);
	transition: background .2s ease, color .2s ease;
}
.tet-card-btn:hover { background: var(--tet-yellow); color: #000; }

@media (max-width: 575px) {
	.tet-card-foot { flex-direction: column; align-items: stretch; }
	.tet-card-btn { text-align: center; }
}

/* Woo pildiveerg ujub vasakule; allpool olev sisu peab ujumise lõpetama. */
.tet-product-description,
.tet-course-videos {
	clear: both;
}
.woocommerce div.product::after { content: ''; display: table; clear: both; }

/* Püstised esinejapildid ei tohi lehte pikaks venitada. */
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
	max-height: 460px;
	width: 100%;
	object-fit: cover;
}

/* --- Seotud tooted tootelehe lõpus --- */
.woocommerce .related.products,
.woocommerce .up-sells.products {
	clear: both;
	margin-top: 70px;
	padding-top: 50px;
	border-top: 1px solid var(--tet-border);
}
.woocommerce .related.products > h2,
.woocommerce .up-sells.products > h2 {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 28px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--tet-yellow);
	display: inline-block;
}
.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title {
	font-size: 16px;
	line-height: 1.35;
}
.woocommerce .related.products ul.products li.product img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 3px;
}

/* Pealkirja ja paketiriba vahele õhku. */
.tet-page .section-title { margin-bottom: 45px; }
.tet-pass-strip { margin-top: 10px; }

/* Tootelehe paketikast on kitsas veerus, seega ridadena, mitte kaartidena. */
.tet-pass-upsell > span { display: block; color: var(--tet-muted); margin-bottom: 16px; }

.tet-pass-rows { display: flex; flex-direction: column; gap: 10px; }

.tet-pass-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: #fff;
	border: 1px solid var(--tet-border);
	border-radius: 4px;
	transition: border-color .2s ease, background .2s ease;
}
.tet-pass-row:hover { border-color: var(--tet-yellow); background: #fffdf5; }

.tet-pass-row-label {
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .4px;
	text-transform: uppercase;
	color: var(--tet-muted);
}
.tet-pass-row-price {
	flex: 1 1 auto;
	font-size: 19px;
	font-weight: 700;
	color: var(--tet-dark);
	white-space: nowrap;
}
.tet-pass-row-price .amount { color: inherit; }
.tet-pass-row-cta {
	flex: 0 0 auto;
	padding: 7px 13px;
	border-radius: 3px;
	background: var(--tet-yellow);
	color: #000;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	white-space: nowrap;
}

@media (max-width: 420px) {
	.tet-pass-row { flex-wrap: wrap; }
	.tet-pass-row-price { flex: 1 1 100%; }
}

/* --- Poe lehtede ülaserv --- */
.tet-woo-page { padding-top: 50px; padding-bottom: 90px; }

.tet-back-link {
	display: inline-block;
	margin-bottom: 22px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .4px;
	text-transform: uppercase;
	color: var(--tet-muted);
}
.tet-back-link:hover { color: var(--tet-yellow); }
.tet-back-link i { margin-right: 7px; }

@media (max-width: 767px) {
	.tet-woo-page { padding-top: 34px; padding-bottom: 60px; }
}

/* --- Oma videomängija ---
   YouTube'i liides on välja lülitatud ja iframe on kaetud .tet-player-cover kihiga,
   nii et YouTube ei saa hiiresündmusi ega too välja pealkirja, jagamist ega
   "Watch on YouTube" nuppu. Kõik juhtimine käib IFrame API kaudu. */
.tet-player {
	position: relative;
	background: #000;
	border-radius: 4px;
	overflow: hidden;
}

.tet-player-frame { position: relative; padding-top: 56.25%; }
.tet-player-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	pointer-events: none;
}

/* See kiht püüab kinni kõik hiireklõpsud, nii et YouTube ei saa neid näha. */
.tet-player-cover {
	position: absolute;
	inset: 0;
	cursor: pointer;
	outline: none;
}

/* Kuni video pole käivitatud, katab kõike meie oma eelvaatepilt. */
.tet-player-poster {
	position: absolute;
	inset: 0;
	width: 100%;
	padding: 0;
	border: 0;
	background-color: #000;
	background-size: cover;
	background-position: center;
	cursor: pointer;
	z-index: 3;
}
.tet-player.is-started .tet-player-poster { display: none; }

.tet-player-poster-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	padding-left: 5px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .55);
	color: #fff;
	font-size: 24px;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}
.tet-player-poster:hover .tet-player-poster-btn {
	background: var(--tet-yellow);
	color: #000;
	transform: translate(-50%, -50%) scale(1.06);
}
.tet-player-cover::after {
	content: '\f04b';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 74px;
	height: 74px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .55);
	color: #fff;
	font-size: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 5px;
	transition: opacity .2s ease, transform .2s ease;
}
.tet-player-cover:hover::after { background: var(--tet-yellow); color: #000; }
.tet-player.is-playing .tet-player-cover::after { opacity: 0; transform: translate(-50%, -50%) scale(.85); }

/* Pausil ja kerimise ajal toob YouTube välja oma "More videos" kihi.
   Teeme katte siis läbipaistmatuks, nii et sellest ei paista midagi läbi. */
.tet-player.is-started:not(.is-playing) .tet-player-cover,
.tet-player.is-seeking .tet-player-cover {
	background: #000;
}
.tet-player.is-seeking .tet-player-cover::after { opacity: 0; }

.tet-player-bar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	background: #111;
	color: #fff;
}

.tet-player-btn {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #fff;
	font-size: 14px;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.tet-player-btn:hover { background: var(--tet-yellow); color: #000; }

.tet-player-time {
	flex: 0 0 auto;
	font-size: 13px;
	font-variant-numeric: tabular-nums;
	color: #ccc;
}

.tet-player-seek {
	position: relative;
	flex: 1 1 auto;
	height: 16px;
	cursor: pointer;
	display: flex;
	align-items: center;
}
.tet-player-seek::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	height: 4px;
	border-radius: 2px;
	background: rgba(255, 255, 255, .25);
}
.tet-player-buffer,
.tet-player-progress {
	position: absolute;
	left: 0;
	height: 4px;
	border-radius: 2px;
}
.tet-player-buffer { background: rgba(255, 255, 255, .35); width: 0; }
.tet-player-progress { background: var(--tet-yellow); width: 0; }
.tet-player-knob {
	position: absolute;
	right: -6px;
	top: 50%;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	border-radius: 50%;
	background: var(--tet-yellow);
	opacity: 0;
	transition: opacity .15s ease;
}
.tet-player-seek:hover .tet-player-knob,
.tet-player-seek:focus .tet-player-knob { opacity: 1; }

.tet-player-volume {
	flex: 0 0 82px;
	height: 4px;
	accent-color: var(--tet-yellow);
	cursor: pointer;
}

.tet-player.is-full { border-radius: 0; display: flex; flex-direction: column; }
.tet-player.is-full .tet-player-frame { flex: 1 1 auto; padding-top: 0; }

@media (max-width: 575px) {
	.tet-player-bar { gap: 6px; padding: 8px 10px; }
	.tet-player-volume { display: none; }
	.tet-player-time { font-size: 12px; }
	.tet-player-cover::after,
	.tet-player-poster-btn { width: 58px; height: 58px; font-size: 19px; }
}

/* --- Lehekülgede sirvimine --- */
.tet-pagination { margin-top: 40px; text-align: center; }
.tet-pagination .page-numbers {
	display: inline-block;
	min-width: 40px;
	padding: 9px 12px;
	margin: 0 3px;
	border: 1px solid var(--tet-border);
	color: var(--tet-dark);
}
.tet-pagination .page-numbers.current,
.tet-pagination .page-numbers:hover { background: var(--tet-yellow); border-color: var(--tet-yellow); }

/* --- WooCommerce Harmoni sees --- */
.woocommerce .button, .woocommerce button.button, .woocommerce input.button, .woocommerce a.button {
	background: var(--tet-yellow) !important;
	color: #000 !important;
	font-weight: 700;
	border-radius: 2px;
	padding: 12px 26px;
}
.woocommerce .button:hover { background: var(--tet-dark) !important; color: #fff !important; }
.woocommerce div.product .price, .woocommerce ul.products li.product .price { color: var(--tet-dark); font-weight: 700; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--tet-yellow); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--tet-yellow); }

/* --- Sisulehtede päis: valge taust, tume kiri ---
   Harmoni oma reeglid on üsna spetsiifilised, seepärast on need siin sama pikad. */
.tet-solid-header { background-color: #fff; box-shadow: 0 2px 6px 1px rgba(0, 0, 0, .1); }

.tet-solid-header .header-bottom .menu-item-list > ul > li > a,
.tet-solid-header .header-bottom .user-search-btn-group > ul > li a {
	color: var(--tet-dark);
}
.tet-solid-header .header-bottom .menu-item-list > ul > li > a:hover,
.tet-solid-header .header-bottom .menu-item-list > ul > li.current-menu-item > a {
	color: var(--tet-yellow);
}

/* Konto- ja ostukorviikoon: hover täidab ringi kollasega. Valge ikoon jäi
   sellel taustal liiga tuhmiks, seega hoiame ikooni tumedana. */
.header-section .header-bottom .user-search-btn-group > ul > li:hover > a,
.header-section .header-bottom .user-search-btn-group > ul > li:hover > a i,
.header-section .header-bottom .user-search-btn-group > ul > li > a:hover,
.header-section .header-bottom .user-search-btn-group > ul > li > a:hover i {
	color: #1d1d1d;
}
.tet-solid-header .tet-menu-toggle { color: var(--tet-dark); }

/* Logo ei tohi päisest välja joosta. */
.site-logo-wrapper .logo img { max-height: 70px; width: auto; }
.header-section .header-bottom { padding: 10px 0; }
.default-header-p { padding-top: 96px; }

@media (max-width: 991px) {
	.default-header-p { padding-top: 80px; }
	.site-logo-wrapper .logo img { max-height: 54px; }
	.tet-solid-header .mainmenu-wrapper.is-open { background: #fff; border-top: 1px solid var(--tet-border); }
	.tet-solid-header .header-bottom .menu-item-list .sub-menu li a { color: var(--tet-dark); }
}

/* --- Bänner: pealkiri jääb suureks, selgitav lause on selle kõrval tagasihoidlik --- */
.main-carousel2 .item .slider-content { max-width: 820px; }
.main-carousel2 .item .slider-content .title-text { font-size: 54px; margin-bottom: 18px; }
.main-carousel2 .item .slider-content .bold-text {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 36px;
}

@media (max-width: 991px) {
	.main-carousel2 .item .slider-content .title-text { font-size: 38px; }
	.main-carousel2 .item .slider-content .bold-text { font-size: 19px; }
}

@media (max-width: 575px) {
	.main-carousel2 .item .slider-content .title-text { font-size: 30px; }
	.main-carousel2 .item .slider-content .bold-text { font-size: 17px; }
	.main-carousel2 .item .overlay-black { padding: 120px 0; }
}

/* --- Mobiilipäis ---
   Harmoni peidab mobiilis #header-section ja näitab oma külgmenüüd.
   Meil on üks päis, seega toome selle tagasi ja teeme hamburgeri-menüüks. */
@media screen and (max-width: 991px) {
	.header-section { display: block; }
	body { padding-top: 0; }
	.default-header-p { padding-top: 76px; }

	.header-section .header-bottom { padding: 8px 0; }
	.header-section .header-bottom .row { align-items: center; }

	/* Avalehel on bänner tumeda pildiga, nii et päis peab olema loetav ka seal. */
	.homepage2 .header-section:not(.tet-solid-header) .header-bottom { background-color: rgba(0, 0, 0, .85); }

	/* Päise rida on Bootstrapi col-6 paaris; mobiilis tahame logo vasakule ja nupu paremale. */
	.header-section .header-bottom .row { flex-wrap: nowrap; justify-content: space-between; }
	/* Veerg ei tohi olla positsioneeritud, muidu avaneb menüü selle laiuses. */
	.header-section .header-bottom .row > div { flex: 0 0 auto; width: auto; max-width: none; position: static; }
	.header-section .header-bottom .container { position: relative; }

	/* Avanev menüü katab kogu laiuse päise all, mitte poolt veergu. */
	.mainmenu-wrapper {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		padding: 0 20px 16px;
		background: rgba(0, 0, 0, .92);
	}
	.mainmenu-wrapper.is-open { display: block; }
	.tet-solid-header .mainmenu-wrapper { background: #fff; border-top: 1px solid var(--tet-border); box-shadow: 0 8px 16px rgba(0, 0, 0, .1); }

	.mainmenu-wrapper .row { flex-direction: column; }
	.mainmenu-wrapper .col-lg-10,
	.mainmenu-wrapper .col-lg-2 { width: 100%; max-width: 100%; flex: 0 0 100%; }

	.tet-menu-toggle {
		display: inline-block;
		float: right;
		padding: 14px 0 14px 16px;
		font-size: 22px;
		line-height: 1;
	}

	/* Mobiilis on menüü lihtne loend, mitte flex-rida. */
	.header-section .menu-item-list > ul { display: block; }
	.header-section .menu-item-list > ul > li { display: block; width: 100%; }
	.header-section .menu-item-list > ul > li > a { padding: 12px 0; }
	.header-section .menu-item-list > ul > li + li { border-top: 1px solid rgba(128, 128, 128, .2); }
	.header-section .user-search-btn-group > ul { justify-content: flex-start; padding: 14px 0 8px; gap: 24px; }
}

/* Mobiilimenüü taust peab olema läbipaistmatu, muidu kumab bänner läbi. */
@media screen and (max-width: 991px) {
	.mainmenu-wrapper { background: #111; }
}

/* --- Menüü hover sisulehtedel ---
   Päisel on korraga sticky- ja default-klass, nii et mall üritab näidata korraga
   oranži gradient-nuppu (sticky variant) ja allkriipsu (valge variant). Jätame allkriipsu. */
.tet-solid-header .header-bottom .menu-item-list > ul > li > a:before {
	display: none !important;
}
.tet-solid-header .header-bottom .menu-item-list > ul > li:before {
	display: none;
}

/* Allkriips tuleb lingi enda alläärele, mitte teksti keskele. */
.tet-solid-header .header-bottom .menu-item-list > ul > li > a {
	position: relative;
	box-shadow: inset 0 -3px 0 transparent;
	transition: box-shadow .2s ease, color .2s ease;
}
.tet-solid-header .header-bottom .menu-item-list > ul > li:hover > a,
.tet-solid-header .header-bottom .menu-item-list > ul > li.current-menu-item > a {
	box-shadow: inset 0 -3px 0 var(--tet-yellow);
}

@media screen and (max-width: 991px) {
	/* Mobiilis pole allkriipsu vaja, menüü on niigi loend. */
	.header-section .header-bottom .menu-item-list > ul > li:before { display: none; }
}

/* --- Paketiriba koolituste nimekirja kohal --- */
.tet-pass-strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 30px;
	background: #fffbe9;
	border: 1px solid var(--tet-yellow);
	border-radius: 4px;
}
.tet-pass-strip-text strong { display: block; font-size: 19px; margin-bottom: 4px; }
.tet-pass-strip-text span { color: var(--tet-muted); }

.tet-pass-strip-options { display: flex; flex-wrap: wrap; gap: 12px; }

.tet-pass-option {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 126px;
	padding: 12px 18px;
	background: #fff;
	border: 2px solid var(--tet-yellow);
	border-radius: 4px;
	line-height: 1.3;
	transition: background .2s ease;
}
.tet-pass-option:hover { background: var(--tet-yellow); }
.tet-pass-option-days {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--tet-muted);
}
.tet-pass-option:hover .tet-pass-option-days { color: #7a5c00; }
.tet-pass-option-price { font-size: 21px; font-weight: 700; color: var(--tet-dark); margin: 2px 0 4px; }
.tet-pass-option-price .amount { color: inherit; }
.tet-pass-option-cta {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .8px;
	text-transform: uppercase;
	color: #b98b00;
}
.tet-pass-option:hover .tet-pass-option-cta { color: #000; }

@media (max-width: 767px) {
	.tet-pass-strip { flex-direction: column; align-items: stretch; }
	.tet-pass-strip-options { justify-content: stretch; }
	.tet-pass-option { flex: 1 1 0; min-width: 0; }
}

@media (max-width: 575px) {
	.tet-pass-strip { padding: 20px; }
}

/* --- Paketikast tootelehel --- */
.tet-pass-upsell {
	margin-top: 30px;
	padding: 22px 26px;
	background: #f7f7f7;
	border-left: 4px solid var(--tet-yellow);
}
.tet-pass-upsell strong { display: block; margin-bottom: 6px; }
.tet-pass-upsell ul { margin: 12px 0 0; padding: 0; list-style: none; }
.tet-pass-upsell li { margin-bottom: 8px; }
.tet-pass-upsell li a { font-weight: 600; }

/* --- Tooteleht --- */
.woocommerce div.product { padding-top: 10px; }
.woocommerce .woocommerce-breadcrumb {
	font-size: 13px;
	color: var(--tet-muted);
	margin-bottom: 26px;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--tet-muted); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--tet-yellow); }

.woocommerce div.product .product_title {
	font-size: 34px;
	font-weight: 900;
	line-height: 1.25;
	margin-bottom: 14px;
}
.woocommerce div.product p.price {
	font-size: 30px;
	font-weight: 700;
	color: var(--tet-dark);
	margin-bottom: 10px;
}
.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--tet-muted);
	font-size: 15px;
	margin-bottom: 14px;
}
.woocommerce div.product .product_meta { display: none; }

.tet-access-note {
	display: inline-block;
	padding: 8px 14px;
	margin-bottom: 22px;
	background: #fffbe9;
	border: 1px solid var(--tet-yellow);
	border-radius: 3px;
	font-size: 14px;
}
.tet-access-note i { margin-right: 8px; color: #b98b00; }

.woocommerce div.product form.cart { margin-bottom: 0; }
.woocommerce div.product form.cart .quantity { display: none; }
.woocommerce div.product form.cart .button {
	width: 100%;
	max-width: 320px;
	padding: 16px 30px;
	font-size: 15px;
	letter-spacing: .5px;
	text-transform: uppercase;
}

.woocommerce div.product div.images { margin-bottom: 30px; }
.woocommerce div.product div.images img { border-radius: 3px; }

.tet-product-description { margin-top: 50px; }
.tet-product-description p { margin-bottom: 18px; }

@media (max-width: 767px) {
	.woocommerce div.product .product_title { font-size: 26px; }
	.woocommerce div.product form.cart .button { max-width: none; }
}

/* --- Koolituse kaart --- */
.tet-card {
	display: flex;
	flex-direction: column;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	background: #fff;
	border: 1px solid var(--tet-border);
	border-radius: 4px;
	overflow: hidden;
	transition: box-shadow .25s ease, transform .25s ease;
}
.tet-card:hover { box-shadow: 0 12px 28px rgba(0, 0, 0, .12); transform: translateY(-3px); }

.tet-card-media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	background: #f2f2f2;
	overflow: hidden;
}
.tet-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tet-card-media-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: #c9c9c9;
	font-size: 34px;
}

.tet-card-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 5px 11px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: #fff;
	background: rgba(0, 0, 0, .7);
}
.tet-card-badge.is-owned { background: #2e7d32; }

.tet-card-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 22px 22px 20px;
}
.tet-card-title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 10px;
}
.tet-card-title a { color: var(--tet-dark); }
.tet-card-title a:hover { color: var(--tet-yellow); }

.tet-card-meta {
	font-size: 14px;
	color: var(--tet-muted);
	margin: 0 0 18px;
}

.tet-card-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid var(--tet-border);
}
.tet-card-price { font-size: 20px; font-weight: 700; color: var(--tet-dark); }
.tet-card-price .amount { color: var(--tet-dark); }
.tet-card-owned { font-size: 14px; font-weight: 600; color: #2e7d32; }
.tet-card-owned i { margin-right: 5px; }

.tet-card-btn {
	flex: 0 0 auto;
	padding: 9px 16px;
	border: 2px solid var(--tet-yellow);
	border-radius: 3px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--tet-dark);
	transition: background .2s ease, color .2s ease;
}
.tet-card-btn:hover { background: var(--tet-yellow); color: #000; }

@media (max-width: 575px) {
	.tet-card-foot { flex-direction: column; align-items: stretch; }
	.tet-card-btn { text-align: center; }
}

/* Woo pildiveerg ujub vasakule; allpool olev sisu peab ujumise lõpetama. */
.tet-product-description,
.tet-course-videos {
	clear: both;
}
.woocommerce div.product::after { content: ''; display: table; clear: both; }

/* Püstised esinejapildid ei tohi lehte pikaks venitada. */
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
	max-height: 460px;
	width: 100%;
	object-fit: cover;
}

/* --- Seotud tooted tootelehe lõpus --- */
.woocommerce .related.products,
.woocommerce .up-sells.products {
	clear: both;
	margin-top: 70px;
	padding-top: 50px;
	border-top: 1px solid var(--tet-border);
}
.woocommerce .related.products > h2,
.woocommerce .up-sells.products > h2 {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 28px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--tet-yellow);
	display: inline-block;
}
.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title {
	font-size: 16px;
	line-height: 1.35;
}
.woocommerce .related.products ul.products li.product img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 3px;
}

/* Pealkirja ja paketiriba vahele õhku. */
.tet-page .section-title { margin-bottom: 45px; }
.tet-pass-strip { margin-top: 10px; }

/* Tootelehe paketikast on kitsas veerus, seega ridadena, mitte kaartidena. */
.tet-pass-upsell > span { display: block; color: var(--tet-muted); margin-bottom: 16px; }

.tet-pass-rows { display: flex; flex-direction: column; gap: 10px; }

.tet-pass-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: #fff;
	border: 1px solid var(--tet-border);
	border-radius: 4px;
	transition: border-color .2s ease, background .2s ease;
}
.tet-pass-row:hover { border-color: var(--tet-yellow); background: #fffdf5; }

.tet-pass-row-label {
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .4px;
	text-transform: uppercase;
	color: var(--tet-muted);
}
.tet-pass-row-price {
	flex: 1 1 auto;
	font-size: 19px;
	font-weight: 700;
	color: var(--tet-dark);
	white-space: nowrap;
}
.tet-pass-row-price .amount { color: inherit; }
.tet-pass-row-cta {
	flex: 0 0 auto;
	padding: 7px 13px;
	border-radius: 3px;
	background: var(--tet-yellow);
	color: #000;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	white-space: nowrap;
}

@media (max-width: 420px) {
	.tet-pass-row { flex-wrap: wrap; }
	.tet-pass-row-price { flex: 1 1 100%; }
}

/* --- Poe lehtede ülaserv --- */
.tet-woo-page { padding-top: 50px; padding-bottom: 90px; }

.tet-back-link {
	display: inline-block;
	margin-bottom: 22px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .4px;
	text-transform: uppercase;
	color: var(--tet-muted);
}
.tet-back-link:hover { color: var(--tet-yellow); }
.tet-back-link i { margin-right: 7px; }

@media (max-width: 767px) {
	.tet-woo-page { padding-top: 34px; padding-bottom: 60px; }
}

/* --- WooCommerce plokid (ostukorv ja kassa) ---
   Plokipõhine ostukorv ei kasuta klassikalisi .button stiile, vaid oma omi. */
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background-color: var(--tet-yellow) !important;
	border-color: var(--tet-yellow) !important;
	color: #000 !important;
	border-radius: 3px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: .5px;
}
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background-color: var(--tet-dark) !important;
	border-color: var(--tet-dark) !important;
	color: #fff !important;
}
.wc-block-components-button__text { color: inherit !important; }

/* Lingid ja rõhutused plokkides käivad brändivärvi, mitte vaikimisi punase järgi. */
.wp-block-woocommerce-cart a,
.wp-block-woocommerce-checkout a,
.wc-block-components-totals-coupon__button,
.wc-block-components-panel__button {
	color: var(--tet-dark);
}
.wp-block-woocommerce-cart a:hover,
.wp-block-woocommerce-checkout a:hover {
	color: var(--tet-yellow);
}

.wc-block-components-totals-item__label { font-weight: 600; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--tet-dark); }

/* Koolitus on virtuaalne toode: kogus ostukorvis alati 1. */
.wc-block-cart-item__quantity .wc-block-components-quantity-selector { display: none; }

/* --- Klassikaline ostukorv --- */
.woocommerce table.shop_table {
	border: 1px solid var(--tet-border);
	border-radius: 4px;
	border-collapse: separate;
}
.woocommerce table.shop_table th {
	font-size: 12px;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: var(--tet-muted);
	padding: 16px 12px;
}
.woocommerce table.shop_table td { padding: 18px 12px; vertical-align: middle; }
.woocommerce table.cart img { width: 84px; border-radius: 3px; }
.woocommerce table.cart .product-name a { font-weight: 600; color: var(--tet-dark); }
.woocommerce table.cart .product-name a:hover { color: var(--tet-yellow); }

/* Koolitus on virtuaalne: kogus on alati 1. */
.woocommerce table.cart td.product-quantity,
.woocommerce table.cart th.product-quantity { display: none; }

.woocommerce .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-checkout .woocommerce-billing-fields h3 {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--tet-yellow);
	display: inline-block;
}
.woocommerce .cart_totals table.shop_table td,
.woocommerce .cart_totals table.shop_table th { border-top: 1px solid var(--tet-border); }
.woocommerce .cart_totals .order-total .amount { font-size: 22px; color: var(--tet-dark); }

.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: block;
	text-align: center;
	font-size: 15px;
}

/* --- Klassikaline kassa ---
   Bootstrapil ja WooCommerce'il on mõlemal klassid .col-1 ja .col-2.
   Bootstrap surub kassa veeru 8% laiuseks, seega võtame selle siin tagasi. */
.woocommerce .col2-set,
.woocommerce-page .col2-set { display: block; }
.woocommerce .col2-set > .col-1,
.woocommerce .col2-set > .col-2,
.woocommerce-page .col2-set > .col-1,
.woocommerce-page .col2-set > .col-2 {
	flex: 0 0 100%;
	max-width: 100%;
	width: 100%;
	float: none;
	padding: 0;
}

/* Woo enda kahe välja rida. */
.woocommerce form .form-row { display: block; margin-bottom: 18px; }
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
	float: left;
	width: 48.5%;
	margin-right: 3%;
}
.woocommerce form .form-row-last { margin-right: 0; }
.woocommerce form .form-row-wide { clear: both; width: 100%; }
/* Harmoni annab sisendväljadele fikseeritud laiuse; kassas peavad nad reale laiuma. */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row select {
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
}
.woocommerce .woocommerce-billing-fields__field-wrapper::after { content: ''; display: table; clear: both; }

@media (max-width: 575px) {
	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last { float: none; width: 100%; margin-right: 0; }
}

.woocommerce form .form-row label {
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 6px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	padding: 12px 14px;
	border: 1px solid var(--tet-border);
	border-radius: 3px;
	font-size: 15px;
	line-height: 1.4;
}
.woocommerce form .form-row input.input-text:focus {
	border-color: var(--tet-yellow);
	outline: none;
}

.woocommerce-checkout #payment {
	background: #f7f7f7;
	border-radius: 4px;
}
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--tet-border); }
.woocommerce-checkout #payment div.form-row { padding: 18px; }
.woocommerce-checkout #place_order { width: 100%; font-size: 15px; }

.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table { margin-bottom: 20px; }

/* Woo mähib sisendi .woocommerce-input-wrapper sisse, mis kahaneb sisu järgi. */
.woocommerce form .form-row .woocommerce-input-wrapper,
.woocommerce-page form .form-row .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

/* --- Tänuleht --- */
.tet-thankyou {
	margin: 30px 0 40px;
	padding: 26px 30px;
	background: #f1f8f1;
	border-left: 4px solid #2e7d32;
}
.tet-thankyou .tet-subhead { border-bottom-color: #2e7d32; margin-bottom: 16px; }
.tet-thankyou ul { margin: 0; padding: 0; list-style: none; }
.tet-thankyou li { margin-bottom: 10px; }
.tet-thankyou li a { font-weight: 600; }

/* --- "Minu koolitused" konto all ---
   Sisuveerg on kitsam kui tavaline leht, seega kaks kaarti reas ja väiksem kiri. */
.tet-my-courses > div {
	flex: 0 0 50%;
	max-width: 50%;
}
.tet-my-courses .tet-card-title { font-size: 16px; }
.tet-my-courses .tet-card-body { padding: 18px 18px 16px; }
.tet-my-courses .tet-card-foot { justify-content: flex-start; }

.tet-pass-note { display: flex; align-items: center; gap: 10px; margin-bottom: 26px; }
.tet-pass-note i { color: #2e7d32; }

@media (max-width: 767px) {
	.tet-my-courses > div { flex: 0 0 100%; max-width: 100%; }
}

/* Virtuaalsel tootel pole tarneaadressi ega allalaaditavaid faile. */
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--downloads,
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-address {
	display: none;
}

/* --- Kontaktileht --- */
.tet-lead p { font-size: 18px; line-height: 1.65; color: #444; }
.mb-60 { margin-bottom: 60px; }

.tet-contact-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	height: 100%;
	padding: 28px 26px;
	margin-bottom: 24px;
	background: #fff;
	border: 1px solid var(--tet-border);
	border-radius: 4px;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.tet-contact-card:hover {
	border-color: var(--tet-yellow);
	box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
	transform: translateY(-2px);
}
.tet-contact-card .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-bottom: 16px;
	border-radius: 50%;
	background: #fffbe9;
	color: #b98b00;
	font-size: 17px;
}
.tet-contact-card strong {
	font-size: 13px;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: var(--tet-muted);
	margin-bottom: 4px;
}
.tet-contact-card .value { font-size: 17px; font-weight: 600; color: var(--tet-dark); word-break: break-word; }
.tet-contact-card:hover .value { color: var(--tet-yellow); }

/* --- Korduvad küsimused --- */
.tet-accordion { margin-top: 10px; border-top: 1px solid var(--tet-border); }

.tet-accordion-item { border-bottom: 1px solid var(--tet-border); }
.tet-accordion-item > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 4px;
	font-size: 17px;
	font-weight: 600;
	color: var(--tet-dark);
	cursor: pointer;
	list-style: none;
	transition: color .2s ease;
}
.tet-accordion-item > summary::-webkit-details-marker { display: none; }
.tet-accordion-item > summary:hover { color: var(--tet-yellow); }
.tet-accordion-item > summary i {
	flex: 0 0 auto;
	font-size: 13px;
	color: var(--tet-muted);
	transition: transform .25s ease, color .2s ease;
}
.tet-accordion-item[open] > summary { color: var(--tet-yellow); }
.tet-accordion-item[open] > summary i { transform: rotate(180deg); color: var(--tet-yellow); }

.tet-accordion-body {
	padding: 0 4px 24px;
	font-size: 16px;
	line-height: 1.75;
	color: #555;
}
.tet-accordion-body p { margin: 0 0 14px; }
.tet-accordion-body p:last-child { margin-bottom: 0; }
.tet-accordion-body a { color: var(--tet-dark); text-decoration: underline; }
.tet-accordion-body a:hover { color: var(--tet-yellow); }

@media (max-width: 575px) {
	.tet-accordion-item > summary { font-size: 16px; padding: 16px 2px; }
}

/* --- Live-loengu leht --- */
.tet-loeng-image img { width: 100%; border-radius: 4px; }

.tet-loeng-flag {
	display: inline-block;
	margin-bottom: 14px;
	padding: 5px 12px;
	border-radius: 3px;
	background: #2e7d32;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .6px;
	text-transform: uppercase;
}
.tet-loeng-title { font-size: 30px; font-weight: 900; line-height: 1.25; margin: 0 0 10px; }
.tet-loeng-speaker { font-size: 17px; color: var(--tet-muted); margin-bottom: 22px; }

.tet-loeng-facts { margin: 0 0 26px; padding: 0; list-style: none; }
.tet-loeng-facts li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 0;
	border-bottom: 1px solid var(--tet-border);
	font-size: 16px;
}
.tet-loeng-facts li i { width: 18px; color: #b98b00; text-align: center; }

@media (max-width: 767px) {
	.tet-loeng-title { font-size: 24px; }
}

/* --- Piltide kadreerimine ---
   Esinejapiltidel on nägu ülemises kolmandikus, seega lõikame alt, mitte keskelt. */
.tet-card-media img,
.woocommerce ul.products li.product img,
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
	object-position: 50% 22%;
}

/* --- Bänner, kui seal on järgmine loeng ---
   Siin on info, mitte loosung, seega väiksem kiri ja madalam plokk. */
.main-carousel2 .item .overlay-black { padding: 130px 0; }

.slider-content.is-next-loeng { max-width: 680px; }
.slider-content.is-next-loeng .date {
	display: block;
	margin-bottom: 14px;
	font-size: 13px;
	letter-spacing: 1.5px;
}
.slider-content.is-next-loeng .title-text {
	font-size: 34px;
	line-height: 1.3;
	margin-bottom: 12px;
}
.slider-content.is-next-loeng .bold-text {
	font-size: 17px;
	font-weight: 500;
	margin-bottom: 26px;
}

@media (max-width: 991px) {
	.main-carousel2 .item .overlay-black { padding: 100px 0; }
	.slider-content.is-next-loeng .title-text { font-size: 26px; }
	.slider-content.is-next-loeng .bold-text { font-size: 16px; }
}

@media (max-width: 575px) {
	.slider-content.is-next-loeng .title-text { font-size: 22px; }
}

/* Avalehe viide koolitustele: ainult pealkiri ja nupp, kaarte siin pole. */
.tet-courses-cta .section-title { margin-bottom: 0; }
@media (max-width: 991px) {
	.tet-courses-cta .text-right { text-align: left !important; margin-top: 24px; }
}

/* --- Konto töölaud --- */
.tet-account-hello { font-size: 17px; margin-bottom: 26px; }

.tet-account-links {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 16px;
}
.tet-account-link {
	display: block;
	padding: 22px 20px;
	background: #fff;
	border: 1px solid var(--tet-border);
	border-radius: 4px;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.tet-account-link:hover { border-color: var(--tet-yellow); box-shadow: 0 8px 20px rgba(0, 0, 0, .07); }
.tet-account-link .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin-bottom: 14px;
	border-radius: 50%;
	background: #fffbe9;
	color: #b98b00;
}
.tet-account-link strong { display: block; color: var(--tet-dark); margin-bottom: 3px; }
.tet-account-link .sub { font-size: 14px; color: var(--tet-muted); }

/* --- Ostukorv, kassa ja konto: üks pealkiri, ilma topeltvaheta --- */
.tet-page-head {
	margin-bottom: 34px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--tet-border);
}
.tet-page-title {
	font-size: 30px;
	font-weight: 900;
	margin: 0;
}

/* Kupongiriba ei vaja kollast ülajoont. */
.woocommerce-info,
.woocommerce-message {
	border-top: none;
	border-left: 4px solid var(--tet-yellow);
	background: #fafafa;
	padding: 16px 20px 16px 48px;
}
.woocommerce-info::before,
.woocommerce-message::before { top: 16px; left: 18px; }

@media (max-width: 767px) {
	.tet-page-title { font-size: 24px; }
}
