/* Public Green Tech typography, shared by every page bundle and its fallback.
   The gt-front-type body is added only by include/header.php; admin stays separate.
   Legacy templates use inline/high-specificity fonts, so only type properties are
   overridden here. Layout, colours, icon fonts, content and business behaviour stay in their sources. */
body.gt-front-type { --gt-type-font: Inter, Arial, sans-serif; font-family: var(--gt-type-font); font-weight: 400; line-height: 1.6; }

/* Text elements and public component roots. Do not apply font-family to every span/i:
   Font Awesome, Bootstrap and gallery icons rely on their own glyph fonts. */
body.gt-front-type :is(header, main, footer, nav, section, article, aside,
    h1, h2, h3, h4, h5, h6, p, a, label, summary, button, input, select, textarea,
    option, small, b, strong, em, li, dl, dt, dd, th, td, legend, figcaption, blockquote,
    .gt-page, .gt-content-page, .gt-contact-page, .gt-product-info-accordion,
    .gt-sort-custom, .gt-product-readable, .gt-category-readable, .gt-news-prose,
    .gth, .gtc, .gtp-card, .gt-auth, .gt-account, .gt-checkout-auth, .gt-orders,
    .gt-account-avatar, .gt-live-search, .gt-toast, .gt-mega-cats, .gt-mega-side,
    .gt-mega-news, .gt-brands-index, .gt-brands-az, .modal, #gt-cookie-banner):not(:is(.fa, .fas, .far, .fab, .fa-solid, .fa-regular, .fa-brands, .bi, .glyphicon, .lg-icon)) {
    font-family: var(--gt-type-font) !important;
}
body.gt-front-type input::placeholder, body.gt-front-type textarea::placeholder { font-family: var(--gt-type-font) !important; }
body.gt-front-type .header_middle_d > #menu_products.gt-nav > .gt-nav-item > div > a.gt-nav-link,
body.gt-front-type .gt-category-toolbar #dropdown_box,
body.gt-front-type .gt-topbar-link,
body.gt-front-type :is(.gt-page-body, .gt-product-readable, .gt-category-readable, .gt-news-prose) [style*="font-family"] {
    font-family: var(--gt-type-font) !important;
}

/* The same light headline weight as the 404. Existing sizes and spacing are retained. */
body.gt-front-type :is(h1, h2) { font-weight: 400 !important; }
body.gt-front-type :is(h3, h4, h5, h6) { font-weight: 500 !important; }
body.gt-front-type :is(h1, h2, h3, h4, h5, h6) > a { font-weight: inherit !important; }
body.gt-front-type :is(b, strong, th):not(:is(.fa, .fas, .far, .fab, .fa-solid, .fa-regular, .fa-brands, .bi, .glyphicon, .lg-icon)) { font-weight: 600 !important; }
body.gt-front-type :is(.podebljano, .gth-cat-name, .gth-card-title, .gtc-name,
    .gtc-extra-title, .gtp-title, .gt-mega-cat-name, .gt-mega-promo-body > strong,
    .gt-mega-news-body > strong, .gt-news-related strong, .gt-account-card-head,
    .gt-order-id, .gt-toast-title) { font-family: var(--gt-type-font) !important; font-weight: 500 !important; }

/* Navigation and actions keep a clear hierarchy without the old heavy weights. */
body.gt-front-type :is(button, input[type=submit], input[type=button], .btn,
    .gth-btn, .gth-more, .gth-card-cta, .gtc-cta, .gt-auth-btn, .gt-wo-button,
    .gt-news-read, .gt-news-button, .gt-news-filters a, .gt-news-pagination a,
    .gt-auth-switch a, .gt-checkout-auth-links a, .gt-account-edit, .gt-nav-menu a,
    .gt-mobile-mega-all, .gt-mobile-group-toggle, .gt-live-search-more,
    .gt-cookie-banner__button, .btn-load-more):not(:is(.fa, .fas, .far, .fab, .fa-solid, .fa-regular, .fa-brands, .bi, .glyphicon, .lg-icon)) { font-weight: 500 !important; }
body.gt-front-type .header_middle_d > #menu_products.gt-nav > .gt-nav-item > div > a.gt-nav-link { font-weight: 500 !important; }
body.gt-front-type #mySidenav :is(a, summary),
body.gt-front-type #content .gt-product-card-tech .gt-product-cart-btn-v2,
body.gt-front-type #content .gt-pd-techsavers .gt-product-cart-btn-v2.gt-pd-cart-btn,
body.gt-front-type #content .gt-whatsapp-business,
body.gt-front-type #MyCartForm .gt-card-payment-label { font-weight: 500 !important; }

/* Prices stay distinct and legible; numbers use the same family as the copy. */
body.gt-front-type :is(.gt-price-main, .item-price, .subtotal, .gtc-price strong,
    .gt-account-tile strong, .gt-wo-offer > b, .gt-order-total strong) {
    font-family: var(--gt-type-font) !important; font-weight: 600 !important;
    font-variant-numeric: tabular-nums; letter-spacing: -.02em;
}
body.gt-front-type #content .gt-pd-price-current,
body.gt-front-type #content .gt-pd-price-current :is(.convert_inline_EUR, .convert_EUR, .gt-price-main),
body.gt-front-type #content .gt-product-card-tech :is(.gt-product-price-main, .gt-product-price-main span, .gt-product-price-v2 > span:first-child),
body.gt-front-type #content aside.gt-product-info .gt-product-price span,
body.gt-front-type #my_cart .cart_product > .item-block > .item-detail > .item-price {
    font-family: var(--gt-type-font) !important; font-weight: 600 !important;
}
body.gt-front-type :is(.gth-eyebrow, .gtc-eyebrow, .gtp-head-eyebrow,
    .gth-card-brand, .gtp-brand, .gt-news-eyebrow, .gt-news-category,
    .gt-news-author, .gt-news-read, .gt-mega-head, .gt-mega-promo-kicker,
    .gt-mega-news-badge, .gt-mega-news-cat, .gt-live-search-heading,
    .gt-cookie-banner__brand, .gt-topbar-badge, .gt-pd-spec-label,
    .gt-product-unavailable, .gt-order-status, .gt-order-flag, .gt-account-badge,
    .gth-card-condition, .gtp-cond, .gth-card-sale, .gtp-sale, .gtp-perk,
    .gt-wo-kicker, .gt-wo summary, .gt-wo-form label, .gt-wo-jump a) { font-weight: 500 !important; }
body.gt-front-type :is(.gtnp-eyebrow, .gtnp-all, .gtnp-flag, .gtnp-card-read,
    .gtnp-grid-flag, .gtnp-grid-kicker, .gtnp-grid-link, .gtnp-grid-off,
    .gtnp-pbadge, .gtnp-pbrand, .gtnp-pbtn, .gtnp-assure-warranty,
    .gtc-badge, .go_back, .gt-new-products-tool, .gt-price-filter-title,
    .gt-price-currency, .gt-price-values-separator, .filter_title,
    .gt-pd-eyebrow, .gt-upgrade-kicker, .gt-accordion-title,
    .gt-news-promo-label, .gt-page-kicker, .gt-contact-kicker,
    .gt-empty-cart__button) { font-weight: 500 !important; }
body.gt-front-type main > #content > nav.breadcrumb :is(li, a, span, strong) { font-weight: 500 !important; }

/* Comfortable reading for articles, information pages and product descriptions. */
body.gt-front-type :is(.gt-page-body, .gt-product-readable, .gt-category-readable, .gt-news-prose) { line-height: 1.8; }
body.gt-front-type :is(.gt-page-body, .gt-product-readable, .gt-category-readable, .gt-news-prose) p { line-height: 1.8; }
@media (max-width: 760px) {
    body.gt-front-type :is(.gt-auth, .gt-checkout-auth, .gt-account, #MyCartForm,
        .gt-contact-page, .gt-reclamation, .gt-wo-form, .gt-error-search)
        :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]), select, textarea) { font-size: 16px !important; }
}
