/*
 * 30-fonts.css — site typography (stream T1 "fonts", docs/reports/fonts.md).
 *
 * Exactly two text typefaces, both self-hosted (assets/fonts, SIL OFL 1.1, variable woff2,
 * split by unicode-range exactly like Google Fonts serves them):
 *   Noto Serif Georgian 500–700 — headings H1–H6, sub-headings, quotes
 *   Noto Sans Georgian  400–600 — body text, menu, buttons, forms, product cards, prices, footer
 * Both faces contain Georgian (incl. Mtavruli U+1C90–1CBF), Latin and Latin Extended (₾).
 * Icon fonts (Font Awesome, kaffa-fontello, lte-font, eicons, WooCommerce) are not touched.
 *
 * Breakpoints follow the Elementor kit: tablet ≤1199px, mobile ≤767px.
 */

/* ── 1. Font faces ─────────────────────────────────────────────────────────── */
@font-face {
	font-family: 'Noto Serif Georgian';
	font-style: normal;
	font-weight: 500 700;
	font-display: swap;
	src: url(../fonts/noto-serif-georgian-v29-georgian.woff2) format('woff2');
	unicode-range: U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31;
}
@font-face {
	font-family: 'Noto Serif Georgian';
	font-style: normal;
	font-weight: 500 700;
	font-display: swap;
	src: url(../fonts/noto-serif-georgian-v29-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Noto Serif Georgian';
	font-style: normal;
	font-weight: 500 700;
	font-display: swap;
	src: url(../fonts/noto-serif-georgian-v29-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Noto Sans Georgian';
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url(../fonts/noto-sans-georgian-v48-georgian.woff2) format('woff2');
	unicode-range: U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31;
}
@font-face {
	font-family: 'Noto Sans Georgian';
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url(../fonts/noto-sans-georgian-v48-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Noto Sans Georgian';
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url(../fonts/noto-sans-georgian-v48-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── 2. Tokens + theme (Kaffa) variables ───────────────────────────────────── */
/* Kaffa prints --font-main/--font-headers/--font-subheaders inline with !important from its
   options; this file loads later, so these win even if the options are changed back. */
:root {
	--fzg-serif: 'Noto Serif Georgian', Georgia, serif;
	--fzg-sans: 'Noto Sans Georgian', Arial, sans-serif;
	--font-main: 'Noto Sans Georgian' !important;
	--font-headers: 'Noto Serif Georgian' !important;
	--font-subheaders: 'Noto Serif Georgian' !important;
}

/* ── 3. Base text ──────────────────────────────────────────────────────────── */
/* Neither face has an italic: never fake one (Georgian has no italic tradition). Bold stays. */
html {
	font-synthesis: weight small-caps;
}
/* Same values as the Elementor kit "Body" style; the kit rule (.elementor-kit-*) wins on
   Elementor pages, this one covers WooCommerce, blog and other theme templates. */
body {
	font-family: var(--fzg-sans);
	font-weight: 400;
	font-size: 17px;
	line-height: 1.65;
}
blockquote,
.wp-block-quote {
	font-family: var(--fzg-serif);
}

/* ── 4. Headings: serif 600, one scale (desktop / tablet / mobile) ─────────── */
/* H1 48/40/32 (spec: 52 — 48 keeps the long Georgian home title on one line with air around it
   and equals Kaffa's page-title size), H2 40/32/28, H3 28/24/22, H4 22/20/18. */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--fzg-serif);
	font-weight: 600;
}
h1 { font-size: 48px; line-height: 1.2; }
h2 { font-size: 40px; line-height: 1.25; }
h3 { font-size: 28px; line-height: 1.3; }
h4 { font-size: 22px; line-height: 1.35; }
h5 { font-size: 18px; line-height: 1.4; }
h6 { font-size: 16px; line-height: 1.4; }
.lte-page-header h1 { font-size: 48px; line-height: 1.2; }
/* Kaffa "Heading" widget (lte-header) at its default size took the bare h-tag size; it is used
   as a section title ("Send Message") → H2 scale. Its lg/md/bg/sm sizes keep their own values. */
.lte-heading:where(.heading-tag-h1, .heading-tag-h2, .heading-tag-h3, .heading-tag-h4):where(:not(.lte-size-lg, .lte-size-md, .lte-size-bg, .lte-size-sm)) .lte-header {
	font-size: 40px;
	line-height: 1.25;
}
/* Elementor's own default for heading widgets is line-height:1, too tight for Georgian.
   Widget-level settings (kit / per widget) still override this. */
.elementor-widget-heading .elementor-heading-title { line-height: 1.25; }
/* Kaffa sets 700 on its heading classes; one heading weight everywhere. */
.lte-header, .header,
.lte-header-widget,
.lte-footer-widget-area .lte-header-widget,
.lte-heading.lte-style-header-subheader .lte-subheader,
.woocommerce .comment-reply-title {
	font-weight: 600;
}

@media (max-width: 1199px) {
	body { font-size: 17px; }
	h1, .lte-page-header h1 { font-size: 40px; }
	h2 { font-size: 32px; }
	h3 { font-size: 24px; }
	h4 { font-size: 20px; }
	.lte-heading:where(.heading-tag-h1, .heading-tag-h2, .heading-tag-h3, .heading-tag-h4):where(:not(.lte-size-lg, .lte-size-md, .lte-size-bg, .lte-size-sm)) .lte-header { font-size: 32px; }
}
@media (max-width: 767px) {
	body { font-size: 16px; }
	h1, .lte-page-header h1 { font-size: 32px; }
	h2 { font-size: 28px; }
	h3 { font-size: 22px; }
	h4 { font-size: 18px; }
	h5 { font-size: 17px; }
	.lte-heading:where(.heading-tag-h1, .heading-tag-h2, .heading-tag-h3, .heading-tag-h4):where(:not(.lte-size-lg, .lte-size-md, .lte-size-bg, .lte-size-sm)) .lte-header { font-size: 28px; }
}

/* ── 5. Interface → sans ───────────────────────────────────────────────────── */
/* Kaffa draws its whole interface (menu, buttons, prices, product cards, cart, breadcrumbs …)
   with the "headers" font. Same selectors as in kaffa/style.css, loaded later → they win. */
.lte-page-header .breadcrumbs,
.lte-tagline,
.lte-navbar .lte-navbar-items.navbar-desktop .lte-ul-nav li, .lte-navbar .lte-navbar-items.navbar-desktop .lte-ul-nav a,
.lte-navbar .lte-navbar-items.navbar-desktop .mega-menu .sub-menu li:not(.menu-item-has-children) a span,
.lte-navbar .lte-navbar-items.navbar-mobile .lte-ul-nav > li > a,
.lte-navbar .lte-navbar-items.navbar-mobile .lte-ul-nav .sub-menu li a,
.lte-navbar .lte-navbar-items.navbar-mobile .cart-mob .name,
.lte-mobile-controls .lte-nav-profile,
.lte-mobile-controls .lte-nav-search input[type="search"], .lte-mobile-controls .lte-nav-search input[type="text"],
.lte-navbar-icons .lte-cart .lte-count,
.lte-navbar-icons-add .lte-header,
.lte-navbar-social .header, .lte-social .header,
small,
.wp-block-button__link,
.button, input[type="button"], input[type="submit"], .lte-btn,
.woocommerce #respond input#submit,
.woocommerce .place-order button,
.comment-text table.wp-block-table thead th, .lte-text-page table.wp-block-table thead th, .comment-text table.shop_table thead th, .lte-text-page table.shop_table thead th, .comment-text table.lte-table thead th, .lte-text-page table.lte-table thead th,
.lte-hours li,
.lte-tariff-sc .swiper-pagination-custom .swiper-pagination-bullet,
.tariff-item.vip .label-vip,
.tariff-item .price,
.tariff-item .lte-tariff-icons li,
.lte-testimonials-list .lte-inner .lte-subheader,
.lte-footer-widget-area .widget_lte_navmenu ul li a,
.lte-social-icons-list .lte-header,
.lte-go-top .go-top-header,
.woocommerce-MyAccount-navigation aside > ul li, .widget-area aside > ul li,
.widget.widget_nav_menu a, .page-content.widget_nav_menu a,
.widget.widget_rss li .rsswidget, .page-content.widget_rss li .rsswidget,
.lte-tag,
.widget_product_tag_cloud a, .widget_tag_cloud a, .lte-tags a,
.widget_calendar caption,
.lte-cat,
.lte-cats a,
.more-link,
.lte-post-info li span,
.blog-post .blog-info-post-bottom .tags-line .lte-tags .tags-header,
.blog-post .cats-many .cats-many-header,
.page-links,
.lte-author-bio .author-name,
.nav-links a,
.nav-links a span span,
.comments-area .comment-info .comment-author,
.comments-area .comment-reply-link,
h3.comment-reply-title small,
.lte-sharing-header,
.lte-sharing li.sharing-header,
.elementor-widget-lte-icons .lte-block-icon i.lte-icon-text,
.elementor-widget-lte-icons .lte-header,
.lte-video-popup.style-icon .lte-video-header,
.lte-video-popup.style-plain .lte-video-header,
.lte-tabs-cats li,
.elementor-widget-lte-slider-full .lte-slider-fc-menu ul li span,
.elementor-widget-lte-slider-full .row > div.lte-content .lte-price,
.elementor-widget-lte-slider-full .row > div.lte-image .lte-price.lte-price-desktop,
.paging-navigation .pagination .page-numbers, .page-numbers .pagination .page-numbers,
.page-numbers-function .page-numbers,
.woocommerce nav.woocommerce-pagination ul .page-numbers,
.woocommerce ul.products[class*="columns-"] li.product .woocommerce-loop-product__title, .woocommerce-page ul.products[class*="columns-"] li.product .woocommerce-loop-product__title,
.woocommerce ul.products[class*="columns-"] li.product .added_to_cart, .woocommerce-page ul.products[class*="columns-"] li.product .added_to_cart,
.woocommerce span.lte-wc-new, .woocommerce span.onsale,
.woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce ul.products li.product .price,
.woocommerce .widget_price_filter .price_slider_amount .price_label,
.woocommerce div.product .woocommerce-tabs .tabs.wc-tabs li a,
.woocommerce table.shop_table td.product-total,
.woocommerce table.shop_table .woocommerce-cart-form__cart-item .product-name a,
.woocommerce table.shop_table .woocommerce-cart-form__cart-item .product-price,
.woocommerce table.shop_table .woocommerce-cart-form__cart-item .product-subtotal,
.cart.woocommerce-cart-form__contents .product-name a,
.cart.woocommerce-cart-form__contents .product-subtotal span, .cart.woocommerce-cart-form__contents .product-price span,
.cart-collaterals .cart-subtotal th,
.cart-collaterals .cart_totals tr th,
.cart-collaterals .cart_totals td a,
.cart-collaterals .cart_totals td .amount,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .product-name,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot .amount,
.woocommerce .widget_shopping_cart .mini_cart_item,
.woocommerce .widget_shopping_cart .woocommerce-mini-cart__total,
.woocommerce-grouped-product-list td a,
.lte-products-cats-sc.lte-layout-circles .lte-item .lte-count-label,
.lte-wc-attr-list .item,
.events-sc .item div.date .date-day, .events-sc .item div.date .date-my,
.events-sc .item .div-more .lte-price,
.mfp-close, .mfp-counter, .mfp-title,
#swipebox-top-bar {
	font-family: var(--fzg-sans);
	letter-spacing: 0;
}
/* the two Kaffa rules that use !important */
.lte-navbar .lte-navbar-items.navbar-mobile .mega-menu.show > ul a.fa span,
.woocommerce .widget_shopping_cart .cart_list li a.remove, .woocommerce.widget_shopping_cart .cart_list li a.remove, .woocommerce a.remove {
	font-family: var(--fzg-sans) !important;
	letter-spacing: 0 !important;
}

/* Weights: the sans face ends at 600 (Kaffa asks for 700 everywhere). */
.lte-navbar .lte-navbar-items.navbar-desktop .lte-ul-nav li, .lte-navbar .lte-navbar-items.navbar-desktop .lte-ul-nav a,
.lte-page-header .breadcrumbs,
.lte-tagline,
.lte-navbar-icons-add .lte-header,
.lte-navbar-social .header, .lte-social .header {
	font-weight: 500;
}
.button, input[type="button"], input[type="submit"], .lte-btn,
.woocommerce #respond input#submit,
.woocommerce ul.products[class*="columns-"] li.product .woocommerce-loop-product__title, .woocommerce-page ul.products[class*="columns-"] li.product .woocommerce-loop-product__title,
.woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce ul.products li.product .price,
.lte-social-icons-list .lte-header,
.elementor-widget-lte-icons .lte-header {
	font-weight: 600;
}
/* Kaffa asks for 900 on the product review form labels (+ their "*") and for 100 on the header search "×". */
.woocommerce #reviews #commentform label {
	font-weight: 600;
}
.lte-navbar-icons .lte-top-search-wrapper .lte-top-search-ico-close {
	font-weight: 400;
}

/* ── 6. Side effects of the 1px → 17px body size fix ──────────────────────── */
/* /testimonials/ prints an empty testimonials archive under the page content; its
   "nothing found" text + search box were invisible only because body text was 1px. */
.lte-testimonials-list > .page-content-none {
	display: none;
}
