/* Telli24 teema – brändiraamatu järgi. Värvid tulevad theme.json-ist (--wp--preset--color--*). */

:root {
	--t24-surface: var(--wp--preset--color--surface, #fff);
	--t24-muted-bg: var(--wp--preset--color--surface-muted, #f2f2f2);
	--t24-ink: var(--wp--preset--color--ink, #111);
	--t24-ink-muted: var(--wp--preset--color--ink-muted, #555);
	--t24-border: var(--wp--preset--color--border, #e5e5e5);
	--t24-brand: var(--wp--preset--color--brand, #e85d04);
	--t24-brand-strong: var(--wp--preset--color--brand-strong, #b84a03);
	--t24-brand-tint: var(--wp--preset--color--brand-tint, #fff1e7);
	--t24-radius: 12px;
	--t24-radius-sm: 6px;
	--t24-max: 1280px;
	--t24-gutter: 24px;
}

body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
:where(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--t24-brand); outline-offset: 2px; }

/* Ühised */
.t24-main { max-width: var(--t24-max); margin: 0 auto; padding: 0 var(--t24-gutter) 56px; box-sizing: border-box; }
.t24-page { padding-top: 32px; }
.t24-label { margin: 0; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.6px; text-transform: uppercase; color: var(--t24-ink-muted); }
.t24-badge { display: inline-block; width: fit-content; margin: 0; font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase; color: var(--t24-brand-strong); background: var(--t24-brand-tint); border: 1px solid var(--t24-brand); border-radius: var(--t24-radius-sm); padding: 4px 8px; }
.t24-section { margin-top: 40px; }
.t24-section > h2, .t24-section__head h2 { margin: 0 0 16px; font-size: 24px; line-height: 30px; letter-spacing: -0.3px; }
.t24-main h1 { font-size: 36px; line-height: 42px; letter-spacing: -0.8px; }
.t24-main h2 { font-size: 24px; line-height: 30px; letter-spacing: -0.3px; }
.t24-section__head { align-items: baseline; margin-bottom: 0; }
.t24-section__head p { margin: 0; font-weight: 600; font-size: 15px; }

/* Nupud */
.wp-element-button, .wp-block-button__link { border-radius: var(--t24-radius); }
.wp-block-button.is-style-brand .wp-block-button__link {
	background: var(--t24-brand); color: #fff; font-size: 18px; font-weight: 700;
	min-height: 56px; padding: 0 28px; display: inline-flex; align-items: center;
}
.wp-block-button.is-style-brand .wp-block-button__link:hover { background: var(--t24-brand-strong); color: #fff; }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; color: var(--t24-ink); border: 1px solid var(--t24-ink);
	min-height: 56px; padding: 0 24px; display: inline-flex; align-items: center;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--t24-ink); color: #fff; }

/* Päis */
.t24-topbar { background: var(--t24-ink); color: #fff; font-size: 14px; line-height: 20px; }
.t24-topbar p { max-width: var(--t24-max); margin: 0 auto; padding: 8px var(--t24-gutter); display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 32px; box-sizing: border-box; }
.t24-header { border-bottom: 1px solid var(--t24-border); background: var(--t24-surface); }
.t24-header__row { max-width: var(--t24-max); margin: 0 auto; padding: 16px var(--t24-gutter); display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; box-sizing: border-box; }
.t24-logo { display: flex; align-items: center; }
.t24-logo img { height: 40px; width: auto; display: block; }
.t24-search { flex: 1 1 360px; margin: 0; }
.t24-search .wp-block-search__inside-wrapper { background: var(--t24-muted-bg); border: 0; border-radius: var(--t24-radius); padding: 6px 6px 6px 16px; min-height: 48px; box-sizing: border-box; }
.t24-search .wp-block-search__input { background: transparent; border: 0; font: inherit; font-size: 16px; color: var(--t24-ink); padding: 0; }
.t24-search .wp-block-search__input:focus { outline: none; }
.t24-search .wp-block-search__inside-wrapper:focus-within { box-shadow: 0 0 0 2px var(--t24-brand); }
.t24-search .wp-block-search__button { margin-left: 8px; border-radius: 8px; background: var(--t24-ink); color: #fff; font-size: 15px; font-weight: 600; padding: 6px 16px; }
.t24-header__actions { gap: 8px; align-items: center; }
.t24-header__actions .wc-block-customer-account a { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 12px; color: var(--t24-ink); font-size: 15px; font-weight: 600; }
.t24-header__actions .wc-block-customer-account a:hover { color: var(--t24-brand-strong); }
.t24-header__actions .wc-block-customer-account svg { fill: currentColor; }
.t24-header__actions .wc-block-mini-cart__button { min-height: 48px; padding: 0 16px; border: 1px solid var(--t24-border); border-radius: var(--t24-radius); color: var(--t24-ink); font-weight: 600; }
.t24-header__actions .wc-block-mini-cart__badge { background: var(--t24-brand) !important; color: var(--t24-ink) !important; font-weight: 700; }
.t24-cats { max-width: var(--t24-max); margin: 0 auto; padding: 0 var(--t24-gutter) 12px; gap: 4px 24px !important; box-sizing: border-box; }
.t24-cats .wp-block-navigation-item__content { color: var(--t24-ink); padding: 6px 0; }
.t24-cats .wp-block-navigation-item__content:hover { color: var(--t24-brand-strong); }
.t24-cats .t24-cats__deals .wp-block-navigation-item__content { color: var(--t24-brand-strong); }

/* Esileht: hero */
.t24-header > .wp-block-woocommerce-customer-account,
.t24-header > .wp-block-woocommerce-mini-cart { display: none; }
.t24-main > .t24-hero { margin-top: 32px !important; }
.t24-hero { display: flex; flex-wrap: wrap; gap: 24px; align-items: stretch; }
.t24-hero__main { flex: 999 1 520px; min-width: 0; background: var(--t24-muted-bg); border-radius: var(--t24-radius); padding: 56px 48px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; gap: 24px; }
.t24-hero__main > * { margin: 0; }
.t24-main .t24-hero__title { font-size: 56px; line-height: 60px; letter-spacing: -1.4px; max-width: 560px; }
.t24-hero__lead { font-size: 18px; line-height: 28px; color: var(--t24-ink-muted); max-width: 520px; }
.t24-hero__deal { flex: 1 1 340px; min-width: 0; border: 1px solid var(--t24-border); border-radius: var(--t24-radius); padding: 24px; box-sizing: border-box; display: flex; flex-direction: column; gap: 16px; }
.t24-hero__deal .wc-block-product { border: 0 !important; padding: 0 !important; }
.t24-hero__deal .wc-block-components-product-price { font-size: 32px; }

/* Kategooriad */
.t24-cat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 900px) { .t24-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.t24-cat { display: flex; flex-direction: row; align-items: center; gap: 16px; padding: 20px 24px; border-radius: var(--t24-radius); background: var(--t24-muted-bg); color: var(--t24-ink); font-size: 15px; font-weight: 600; }
.t24-cat:hover { background: var(--t24-border); color: var(--t24-ink); }

/* Tootekaardid (product collection, related) */
.t24-products .wc-block-product-template,
.t24-products .wp-block-post-template { gap: 24px !important; }
.t24-products li.wc-block-product,
.t24-products li.wp-block-post {
	position: relative; display: flex; flex-direction: column; gap: 12px;
	padding: 12px 12px 16px; border: 1px solid var(--t24-border); border-radius: var(--t24-radius);
	background: var(--t24-surface); box-sizing: border-box; text-align: left;
}
.t24-products li > * { margin: 0 !important; }
.t24-products .wc-block-components-product-image { background: var(--t24-muted-bg); border-radius: 8px; overflow: hidden; }
.t24-products .wc-block-components-product-image img { aspect-ratio: 1 / 1; object-fit: contain; mix-blend-mode: multiply; }
.t24-products .wp-block-post-title { font-size: 16px !important; line-height: 22px; font-weight: 600; flex: 1; text-align: left; }
.t24-products .wp-block-post-title a { color: var(--t24-ink); }
.t24-products .wc-block-components-product-price { font-size: 24px; line-height: 30px; font-weight: 700; letter-spacing: -0.4px; text-align: left; }
.t24-products .wc-block-components-product-button { align-items: stretch; }
.t24-products .wc-block-components-product-button__button,
.t24-products .wp-block-button__link {
	width: 100%; min-height: 48px; border-radius: var(--t24-radius); background: var(--t24-ink); color: #fff;
	font-size: 16px; font-weight: 600; justify-content: center;
}
/* Soodushinnaga toode: oranž raam ja hind (brändiraamat: parim hind alati märgistatud) */
.t24-products li.sale { border: 2px solid var(--t24-brand); }
.t24-products li.sale .wc-block-components-product-price ins,
.t24-products li.sale .wc-block-components-product-price > .woocommerce-Price-amount { color: var(--t24-brand-strong); }

/* Hinnad */
.wc-block-components-product-price del, .price del { color: var(--t24-ink-muted); font-size: 0.65em; font-weight: 400; margin-right: 8px; }
.wc-block-components-product-price ins, .price ins { text-decoration: none; }

/* Soodusmärk */
.wc-block-components-product-sale-badge, .onsale {
	background: var(--t24-brand-tint) !important; color: var(--t24-brand-strong) !important;
	border: 1px solid var(--t24-brand) !important; border-radius: var(--t24-radius-sm) !important;
	font-size: 12px !important; line-height: 16px !important; font-weight: 700 !important;
	letter-spacing: 0.6px; text-transform: uppercase; padding: 4px 8px !important;
}

/* Eelised */
.t24-usp { margin-top: 40px; background: var(--t24-muted-bg); border-radius: var(--t24-radius); padding: 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.t24-usp__item { display: flex; gap: 16px; align-items: flex-start; }
.t24-usp__item svg { flex: none; color: var(--t24-brand-strong); }
.t24-usp__item strong { display: block; font-size: 16px; font-weight: 600; line-height: 24px; }
.t24-usp__item span { display: block; font-size: 14px; line-height: 20px; color: var(--t24-ink-muted); }

/* Jalus */
.t24-footer { border-top: 1px solid var(--t24-border); margin-top: 0; }
.t24-footer__inner { max-width: var(--t24-max); margin: 0 auto; padding: 40px var(--t24-gutter); display: flex; flex-wrap: wrap; gap: 32px 64px; box-sizing: border-box; font-size: 14px; line-height: 20px; }
.t24-footer__inner p { margin: 0; }
.t24-footer__brand { flex: 1 1 240px; display: flex; flex-direction: column; gap: 16px; color: var(--t24-ink-muted); }
.t24-footer__logo { height: 32px; width: auto; margin: 0; align-self: flex-start; display: block; }
.t24-footer__col { display: flex; flex-direction: column; gap: 8px; }
.t24-footer__col a { color: var(--t24-ink); }
.t24-footer__col a:hover { color: var(--t24-brand-strong); }

/* Leivapuru */
.woocommerce-breadcrumb, .wc-block-breadcrumbs { font-size: 14px; color: var(--t24-ink-muted); padding: 20px 0; margin: 0; }
.woocommerce-breadcrumb a, .wc-block-breadcrumbs a { color: var(--t24-ink-muted); }

/* Tooteleht */
.t24-product__top { gap: 40px !important; align-items: flex-start; }
.t24-product__media .woocommerce-product-gallery { background: var(--t24-muted-bg); border-radius: var(--t24-radius); overflow: hidden; }
.t24-product__media .woocommerce-product-gallery img { mix-blend-mode: multiply; }
.t24-product__media .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 12px !important; }
.t24-product__media .flex-control-thumbs li { width: auto !important; }
.t24-product__media .flex-control-thumbs img { border-radius: 8px; border: 1px solid var(--t24-border); }
.t24-product__info { display: flex; flex-direction: column; gap: 16px; }
.t24-product__info > * { margin: 0 !important; }
.t24-product__info .wp-block-post-title { font-size: 36px; line-height: 42px; letter-spacing: -0.8px; }
.t24-product__info .wc-block-components-product-sku { font-size: 14px; color: var(--t24-ink-muted); }
.t24-product__price { font-size: 40px !important; line-height: 44px; font-weight: 700; letter-spacing: -0.8px; }
.t24-vat-note { font-size: 14px; color: var(--t24-ink-muted); margin-top: -8px !important; }
.t24-product .wc-block-components-product-stock-indicator { font-size: 15px; font-weight: 600; color: var(--t24-ink); }
.t24-product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.t24-product form.cart .quantity input { height: 56px; width: 72px; border: 1px solid var(--t24-border); border-radius: var(--t24-radius); text-align: center; font: inherit; font-size: 16px; }
.t24-product .single_add_to_cart_button {
	flex: 1 1 220px; min-height: 56px; border: 0; border-radius: var(--t24-radius) !important;
	background: var(--t24-brand) !important; color: #fff !important; font-size: 18px !important; font-weight: 700 !important;
}
.t24-product .single_add_to_cart_button:hover { background: var(--t24-brand-strong) !important; }
.t24-product table.variations select { height: 48px; border: 1px solid var(--t24-border); border-radius: var(--t24-radius); padding: 0 12px; font: inherit; }
.t24-trust { list-style: none; padding: 20px 0 0 !important; border-top: 1px solid var(--t24-border); display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
.t24-trust li { display: flex; gap: 12px; align-items: center; }
.t24-trust svg { color: var(--t24-brand-strong); flex: none; }
.t24-product .wp-block-woocommerce-product-details { margin-top: 56px; }
.t24-product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 24px; border-bottom: 1px solid var(--t24-border); padding: 0; margin: 0 0 24px; list-style: none; }
.t24-product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; background: none; }
.t24-product .woocommerce-tabs ul.tabs li a { display: block; padding: 12px 0; font-weight: 600; color: var(--t24-ink-muted); }
.t24-product .woocommerce-tabs ul.tabs li.active a { color: var(--t24-ink); box-shadow: inset 0 -2px 0 var(--t24-ink); }
.t24-product .woocommerce-product-attributes { width: 100%; border-collapse: collapse; font-size: 15px; }
.t24-product .woocommerce-product-attributes th,
.t24-product .woocommerce-product-attributes td { text-align: left; padding: 12px 0; border-bottom: 1px solid var(--t24-border); font-weight: 400; }
.t24-product .woocommerce-product-attributes th { color: var(--t24-ink-muted); width: 220px; }
.t24-product .wp-block-woocommerce-related-products { margin-top: 56px; }

/* Kataloog */
.t24-archive .wp-block-query-title { margin: 0 0 8px; }
.t24-archive__bar { margin: 16px 0 24px; font-size: 14px; color: var(--t24-ink-muted); }
.t24-archive__bar select { height: 44px; border: 1px solid var(--t24-border); border-radius: var(--t24-radius); padding: 0 12px; font: inherit; color: var(--t24-ink); background: var(--t24-surface); }
.wp-block-query-pagination { margin-top: 40px; gap: 8px; font-weight: 600; }

/* Ostukorv ja kassa (WooCommerce plokid) */
.wc-block-components-button:not(.is-link) { border-radius: var(--t24-radius); }
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--t24-brand) !important; color: #fff !important; min-height: 56px;
	font-size: 18px !important; font-weight: 700 !important; border-radius: var(--t24-radius) !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover { background: var(--t24-brand-strong) !important; }
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select { border-radius: var(--t24-radius) !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 28px; font-weight: 700; }
.wc-block-cart .wc-block-cart__totals-title { font-size: 20px; font-weight: 600; text-transform: none; }

/* Telefon */
@media (max-width: 600px) {
	:root { --t24-gutter: 16px; }
	.t24-hero__main { padding: 32px 24px; }
	.t24-main .t24-hero__title { font-size: 40px; line-height: 44px; letter-spacing: -1px; }
	.t24-product__info .wp-block-post-title { font-size: 28px; line-height: 34px; }
	.t24-product__price { font-size: 32px !important; }
	.t24-usp { padding: 24px; }
	.t24-topbar p span:nth-child(n+2) { display: none; }
}
