/* ============================================
   Proxima Nova - Site-wide Typography
   gatosports.com
   ============================================ */

/* --- @font-face declarations --- */
@font-face {
    font-family: 'Proxima Nova';
    src: url('../fonts/proxima-nova/ProximaNova-Light.woff2') format('woff2'),
         url('../fonts/proxima-nova/ProximaNova-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Proxima Nova';
    src: url('../fonts/proxima-nova/ProximaNova-Regular.woff2') format('woff2'),
         url('../fonts/proxima-nova/ProximaNova-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Proxima Nova';
    src: url('../fonts/proxima-nova/ProximaNova-Semibold.woff2') format('woff2'),
         url('../fonts/proxima-nova/ProximaNova-Semibold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Proxima Nova';
    src: url('../fonts/proxima-nova/ProximaNova-Extrabold.woff2') format('woff2'),
         url('../fonts/proxima-nova/ProximaNova-Extrabold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Proxima Nova';
    src: url('../fonts/proxima-nova/ProximaNova-BoldItalic.woff2') format('woff2'),
         url('../fonts/proxima-nova/ProximaNova-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

/* --- Global base --- */
body,
html {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400 !important;
}

/* --- Headings --- */
h1, .h1 {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 700 !important;
    font-style: italic !important;
}

h2, .h2 {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 900 !important;
    font-style: italic !important;
    font-size: 36px !important;
}

h3, .h3 {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 600 !important;
}

h4, .h4 {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400 !important;
}

h5, .h5 {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400 !important;
}

h6, .h6 {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 300 !important;
}

/* --- Body text elements --- */
p,
span,
a,
div,
label,
td,
th,
blockquote,
figcaption,
address {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
}

/* --- Light weight elements (h6, li, small, captions) --- */
li,
ul li,
ol li,
small,
.small,
caption,
figcaption,
.tvproduct-name h6,
.cms-description h6,
.cms-description li,
.cms-description ol li,
.cms-description ul li {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 300 !important;
}

/* --- Form elements --- */
input,
select,
textarea,
button,
.form-control,
.form-group label {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
}

/* --- Buttons (Semibold) --- */
.btn,
button,
input[type="submit"],
input[type="button"],
.add-to-cart,
.tvall-inner-btn,
.tvall-inner-btn-cancel,
.tvmain-slider-button,
.tvprocess-to-checkout,
.tv-continue-shopping-btn {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 600 !important;
}

/* --- Navigation / Menu --- */
.tv-menu-horizontal ul li a,
.tv-menu-horizontal ul li.level-1 > a,
.tvcmsvertical-menu li a,
.tvmega-menu-title,
.tvmega-menu-title a,
.tvmenu-link-wrapper a,
.breadcrumb li,
.breadcrumb li a,
#_desktop_contact_link #contact-link span {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 600 !important;
}

/* --- Product titles / names --- */
.tvproduct-name,
.tvproduct-name a,
.tvproduct-name h6 a,
.product-title,
.product-title a,
.tv-product-page-content h1,
h1.product-detail-name {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
}

/* --- Prices (Semibold) --- */
.price,
.product-price,
.product-price-and-shipping .price,
.current-price .price,
.regular-price,
.tvproduct-discount-price,
.tv-addtocart-price {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 600 !important;
}

/* --- Theme section titles (Semibold/Extrabold) --- */
.tvcms-main-title,
.tvcms-main-title .tvmain-title,
.tvcms-main-title .tvmain-title h2,
.tvmain-title,
.tvfooter-title,
.tvfooter-title span,
.tvnewsletter-title,
.block_newsletter .tvnewsletter-title,
.tvtab-title-wrapper .tvtabs-products li,
.tvtab-title-wrapper .tvtabs-products li a {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 600 !important;
}

/* --- Footer text (Regular) --- */
.footer-container,
.footer-container a,
.footer-container li,
.footer-container p,
.footer-container span,
.tvcopylink p,
.tvfooter-logo-desc,
.tvfooter-addresses,
.tvfooter-store-link,
.tvfooter-store-link-content,
.tvfooter-store-link-fax,
#footer_sub_menu_store_info,
.tvfooter-open-time-wrapper {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
}

/* Footer links (Light) */
.footer-container .links li a,
.footer-container #block_myaccount_infos li a,
.tvfooter-account-link li a,
.tvfooter-category-block ul li a {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 300 !important;
}

/* --- Header account / cart text --- */
.tv-account-wrapper,
.tv-account-wrapper a,
.tv-account-wrapper span,
.tvheader-cart-wrapper,
.tvcart-lable,
.tv-myaccount-btn span,
.tv-account-dropdown a,
.tvdesktop-wishlist span,
.tvwishlist-name span,
.tvwishlist_name span,
.tvcmsdesktop-view-compare span {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
}

/* --- Blog / CMS content --- */
.cms-description,
.cms-description p,
.cms-description a,
.cms-description h1,
.cms-description h2,
.cms-description h3,
.cms-description h4,
.cms-description h5,
.tvnews-event-titel a,
.tvnews-event-titel h3,
.tvblog_post .post_content,
.tvblog_post .post_title a {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
}

/* --- Product page specifics --- */
.tvproduct-page-decs p,
.product-description,
.product-description p,
.product-reference,
.product-quantities,
.product-variants label,
.product-variants .control-label,
.product-add-to-cart,
.tvproduct-tax-label,
.tvproduct-wishlist span,
.tvproduct-wishlist a,
.tvproduct-stock-social,
.tvproduct-special-desc,
.product-additional-info,
.product-flags li,
.tvproduct-timer,
.tv-indicator {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
}

/* --- Cart / Checkout --- */
.cart-overview,
.cart-summary,
.checkout-step,
.checkout-step label,
.checkout-step p,
.checkout-step a,
.product-line-info,
.product-line-info a,
.tvcart-product-list,
.tvcart-product-list a,
.tvshoping-cart-dropdown-title {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
}

/* --- Services / Features bar --- */
.tvservices-title,
.tvservices-content-box,
.tvservices-content-box p {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400 !important;
}

/* --- Category page --- */
.tv-total-product-number,
.tvcategory-name,
.tvcategory-name a,
.tvcategory-chain-title a,
.tvcategory-chain-slider-category a,
.tv-sub-category-title-wrapper,
.tv-category-block-wrapper,
#category-description {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
}

/* --- Slider / Banner text --- */
.tvmain-slider-contant,
.tvmain-slider-info h2,
.tvmain-slider-info p {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
}

/* --- Search --- */
.tvsearch-result,
.tvsearch-result a,
.tvsearch-dropdown-wrapper,
.tvsearch-dropdown-wrapper a,
.tvcmsheader-search input {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
}

/* --- Misc elements --- */
.alert,
.notification,
.tvheader-nav-offer-text,
.tvheader-nav-offer-text p,
.tvnewsletter-description,
.tvnewsletter-description p,
.block_newsletter,
.block_newsletter p,
table,
.table,
.data-sheet {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
}

/* --- Bold / Strong text --- */
strong,
b,
.font-weight-bold {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 600 !important;
}

/* --- Override jQuery UI widget font --- */
.ui-widget,
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
    font-family: 'Proxima Nova', 'Helvetica Neue', Arial, sans-serif !important;
}

/* --- Material Icons exception (keep icon font) --- */
.material-icons,
i.material-icons {
    font-family: 'Material Icons' !important;
}

/* --- Blog card images: stretch to fill card width --- */
.tvblog-event-all-content-block .tvblog-img-block .tvblog-content-img img,
.tvcmsblog-event-home .tvblog-content-img img.tv-img-responsive {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    display: block;
}
.tvblog-event-all-content-block .tvblog-img-block .tvblog-content-img {
    overflow: hidden;
}
