/* Shared typography roles. Values come from the existing desktop/mobile controls. */
html:root body:not(.wp-admin){font-family:var(--vgt-font-family);font-size:var(--vgt-body-size);line-height:1.5}
html:root body:not(.wp-admin) #page :is(h1,h2,h3,h4,h5,h6,p,li,input,select,textarea,button){font-family:var(--vgt-font-family)}
html:root body:not(.wp-admin) #page :is(h1,h2,h3,h4,h5,h6){line-height:1.2;font-weight:700;letter-spacing:normal}
html:root body:not(.wp-admin) #page h1{font-size:var(--vgt-page-title)}
html:root body:not(.wp-admin) #page h2{font-size:var(--vgt-content-title)}
html:root body:not(.wp-admin) #page h3{font-size:var(--vgt-subheading-size)}
html:root body:not(.wp-admin) #page :is(h4,h5,h6){font-size:var(--vgt-card-title)}
html:root body:not(.wp-admin) #page :is(p,li){line-height:1.5}
html:root body:not(.wp-admin) #page :is(.section-title,.title_hwp,.vgt-albums h2,.vg-about h2,#vgt-related-heading){font-size:var(--vgt-section-title)!important;line-height:1.2!important;font-weight:700!important}
html:root body:not(.wp-admin) #page :is(.single-product h1,.single-post-inner h1,.editor>h1,.contact-section h1,h1.section-title,.tz-Breadcrumb .page_title,.inner-banner-content .inner-title,.vgtp-results-heading h1){font-size:var(--vgt-page-title)!important;line-height:1.2!important}
html:root body:not(.wp-admin) #page :is(.vgt-albums .vgt-hero h1,.vg-about .vg-hero h2,.banner-content .banner-title,.vgtp-hero-copy strong){font-size:var(--vgt-hero-title)!important;line-height:1.2!important;font-weight:700!important}
html:root body:not(.wp-admin) #page :is(.section-heading>p,.section-heading>p span,.section-heading>p strong,.section-heading>p em,.vg-about p,.vg-about .vg-service-note,.vg-about .vg-vision,.vgtp-results-heading>p,.vgtp-hero-copy>span){font-size:var(--vgt-body-size)!important;line-height:1.5!important}

/* Long-form content: retain the separate existing line-spacing setting. */
html:root body:not(.wp-admin) #page :is(.editor,.entry-content,.vgt-story-content,.vgt-single .vgt-intro){font-size:var(--vgt-reading-size)!important;line-height:var(--vgt-reading-line)!important}
html:root body:not(.wp-admin) :is(.editor,.entry-content,.vgt-story-content) :is(p,li,ul,ol,td,th,blockquote){font-size:inherit!important;line-height:var(--vgt-reading-line)!important}
html:root body:not(.wp-admin) #page :is(.editor,.entry-content,.vgt-story-content) h2,
html:root body:not(.wp-admin) #page :is(.title-description h2,.vgt-dates h2,.single-product .faq>.section-title,.vgtp-no-results h2){font-size:var(--vgt-content-title)!important;line-height:1.3!important}
html:root body:not(.wp-admin) #page :is(.editor,.entry-content,.vgt-story-content) h3,
html:root body:not(.wp-admin) #page :is(.faq-question h2,.single-post-inner .sidebar h3,.single-post-inner .author-content h3){font-size:var(--vgt-subheading-size)!important;line-height:1.3!important}
html:root body:not(.wp-admin) #page :is(.editor,.entry-content,.vgt-story-content) :is(h4,h5,h6),
html:root body:not(.wp-admin) #page .itinerary .day-title{font-size:var(--vgt-featured-title)!important;line-height:1.3!important}

/* Ordinary cards and featured cards share their own role, including search results. */
html:root body:not(.wp-admin) #page :is(.tour_title,.package-content h3,.vgt-card h3,.visa_content .title,.post-content h3,.post .entry-title,.vgt-r-body h3,.vgtp-result-body h2,.vg-card h3,.vg-reason h3,.vg-values h3,.vg-office h3,.vg-milestone h3){font-size:var(--vgt-card-title)!important;line-height:1.3!important;font-weight:600!important}
html:root body:not(.wp-admin) #page :is(.tour_title,.package-content h3,.vgt-card h3,.visa_content .title,.post-content h3,.post .entry-title,.vgt-r-body h3,.vgtp-result-body h2) a{font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important}
html:root body:not(.wp-admin) #page .home-package :is(.tour_title,.tour_title a,.package-content h3),
html:root body:not(.wp-admin) #page .home-blog .blog-section>.row>div:first-child h3{font-size:var(--vgt-featured-title)!important;line-height:1.3!important;font-weight:600!important}
html:root body:not(.wp-admin) #page :is(.price-list ins,.vgt-r-price,.visa_content .price,.vgtp-result-body .vgtp-result-price){font-size:var(--vgt-price-size)!important;line-height:1.25!important;font-weight:700!important}
html:root body:not(.wp-admin) #page .price-detail ins{font-size:var(--vgt-detail-price)!important;line-height:1.25!important;font-weight:700!important}
html:root body:not(.wp-admin) #page #breadcrumbs,
html:root body:not(.wp-admin) #page :is(.entry-meta,.entry-meta a,.entry-meta span,.post-meta,.post-meta a,.vgt-date,.vgt-destination,.vgt-photo-count,.cat-meta,.vgt-tour-meta,.vgt-r-meta,.price-list del,.price-detail del,.price-list .pecent,.vgtp-result-body p:not(.vgtp-result-price),.vgtp-results-heading nav,.vgtp-selected-filters,.vgtp-quick-places,.vgtp-hero-count){font-size:var(--vgt-small-size)!important;line-height:1.45!important}
html:root body:not(.wp-admin) #page .package-item .package-meta :is(li,span,strong){font-size:var(--vgt-small-size)!important;line-height:1.45!important}
html:root body:not(.wp-admin) #page .vgtp-result-body .vgtp-result-price{font-size:var(--vgt-price-size)!important;line-height:1.25!important}

/* Form text stays independently adjustable from smaller labels. Icon fonts are untouched. */
html:root body:not(.wp-admin) :is(.navigation-container a,.mm-listview a){font-size:var(--vgt-menu-size)!important;line-height:1.4!important;font-weight:600}
html:root body:not(.wp-admin) #page :is(.round-btn,.outline-btn,.vgt-button,.vg-button,input[type=submit],.vgtp-search-submit,.vgtp-result-open,.vgtp-results-toolbar button,.vgtp-filter-toggle,.vgtp-hero-copy .vgtp-hero-cta){font-family:var(--vgt-font-family)!important;font-size:var(--vgt-button-size)!important;line-height:1.4!important;font-weight:600!important}
html:root body:not(.wp-admin) :is(input:not([type=submit]):not([type=button]):not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea):not(#adminbar-search){font-family:var(--vgt-font-family)!important;font-size:var(--vgt-input-size)!important;line-height:1.5!important}
html:root body:not(.wp-admin) #page :is(.wpcf7 label,.form-contact label,.form-group label,.vgtp-tour-finder label,.vgtp-results-toolbar label){font-size:var(--vgt-small-size)!important;line-height:1.4!important}
html:root body:not(.wp-admin) #page .vgtp-tour-finder h2{font-size:var(--vgt-finder-title)!important;line-height:1.3!important}
html:root body:not(.wp-admin) #page .vgtp-tour-finder :is(input,select){height:auto;min-height:48px}
html:root body:not(.wp-admin) #page :is(.vgtp-search-submit,.vgtp-result-open){min-height:44px}

/* Supporting pages and footer use the same small/body/card scale. */
html:root body:not(.wp-admin) #page .vgt-albums :is(.vgt-card-link,.vgt-filters label,.vgt-breadcrumb,.vgt-breadcrumb a,.vgt-breadcrumb span,.vgt-trip-meta,.vgt-trip-meta span,.vgt-section-heading p,.vgt-section-heading span,.vgt-gallery-status),
html:root body:not(.wp-admin) #page .vg-about :is(.vg-office p,.vg-company-details dt,.vg-company-details dd,figcaption,.vg-proof span,.vg-card a,.vg-office a),
html:root body:not(.wp-admin) #colophon :is(p,li,.copyright,.bottom-footer){font-size:var(--vgt-small-size)!important;line-height:1.5!important}
html:root body:not(.wp-admin) #colophon h3{font-size:var(--vgt-featured-title)!important;line-height:1.3!important}
html:root body:not(.wp-admin) #modalPopup :is(.vigo-popup-title,.vigo-popup-title p){font-size:var(--vgt-content-title)!important;line-height:1.3!important}
html:root body:not(.wp-admin) #modalPopup :is(.vigo-popup-subtitle,.vigo-popup-subtitle p,.vigo-popup-subtitle strong){font-size:var(--vgt-body-size)!important;line-height:1.5!important}
html:root body:not(.wp-admin) #modalPopup :is(label,.vigo-popup-badge,.vigo-popup-benefits,.vigo-popup-benefits span,.vigo-popup-privacy,.vigo-popup-privacy p){font-size:var(--vgt-small-size)!important;line-height:1.45!important}
html:root body:not(.wp-admin) #modalPopup :is(.round-btn,input[type=submit],button[type=submit]){font-size:var(--vgt-button-size)!important}
