/* Site typography: one family and a shared scale by content role. */
:root{--ef-font:Inter,Arial,sans-serif;--ef-body:16px;--ef-small:14px;--ef-caption:12px;--ef-h1:clamp(30px,3.2vw,40px);--ef-hero:clamp(32px,4vw,48px);--ef-h2:clamp(26px,2.6vw,32px);--ef-h3:22px;--ef-card-title:18px}
body,body :is(h1,h2,h3,h4,h5,h6,p,a,li,dt,dd,label,legend,input,select,textarea,button,th,td,summary,blockquote){font-family:var(--ef-font)!important;font-style:normal}
body{font-size:var(--ef-body);line-height:1.6;font-weight:400}
body :is(.entry-content,.woocommerce,.woocommerce-page,.ef-device-checker,.ef-ref-page) p{font-size:var(--ef-body)!important;line-height:1.65!important;letter-spacing:0!important;font-weight:400}
body :is(h1,h2,h3,h4,h5,h6){font-weight:700!important;letter-spacing:-.025em!important;line-height:1.22!important;overflow-wrap:break-word}
body h1{font-size:var(--ef-h1)!important}
body h2{font-size:var(--ef-h2)!important}
body h3{font-size:var(--ef-h3)!important}
body h4{font-size:18px!important}
body :is(h5,h6){font-size:16px!important}
body :is(h1,h2,h3,h4,h5,h6)>:is(span,strong,em,a){font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
body :is(.ef-hero-slider,.ef-device-hero,.ef-ref-hero) :is(h1,h2),body.home .left-column-main h1{font-size:var(--ef-hero)!important;line-height:1.15!important}
body .ef-ref-hero .ef-ref-hero-card h2{font-size:var(--ef-h3)!important;line-height:1.3!important}
body :is(.featured-product-item .fp-title,.woocommerce-loop-product__title,.product-flag-item .product-title,.ef-device-model,.ef-device-steps h3,.ef-ref-steps h3){font-size:var(--ef-card-title)!important;font-weight:600!important;line-height:1.35!important;letter-spacing:-.015em!important}
body :is(button,.button,input[type=submit],.wp-block-button__link,.fp-btn,.ef-ref-button,.ef-footer-cta){font-family:var(--ef-font)!important;font-size:var(--ef-body)!important;font-weight:600!important;letter-spacing:0!important;line-height:1.4!important;text-transform:none!important}
body :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select){font-family:var(--ef-font)!important;font-size:var(--ef-body)!important;font-weight:400!important;letter-spacing:0!important}
body :is(label,legend,.ef-control-label,.ef-trip-calendar legend){font-size:var(--ef-small)!important;font-weight:600!important;line-height:1.4!important;letter-spacing:0!important}
body :is(.fp-shortdesc,.fp-shortdesc p,.ef-quantity-help,.ef-duration-help,.ef-trip-summary,.ef-device-details,.ef-device-details p,.ef-ref-dashboard p,.woocommerce-result-count,.woocommerce-breadcrumb,.ef-footer-column a,.ef-footer-note,.ef-footer-intro p,.ef-footer-preferences,.copyright){font-size:var(--ef-small)!important;line-height:1.6!important;letter-spacing:0!important}
body :is(.ef-device-eyebrow,.ef-ref-eyebrow,.ef-device-brand-name){font-size:var(--ef-caption)!important;font-weight:600!important;letter-spacing:.12em!important;line-height:1.5!important}
body :is(.ef-device-reviewed,.ef-device-status,.ef-step-unit,.price small,.fp-price small){font-size:var(--ef-caption)!important;line-height:1.5!important;font-weight:400!important}
body :is(.featured-product-item .fp-price,.products .price,.product-flag-item .product-price){font-size:20px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:-.02em!important;font-variant-numeric:tabular-nums}
body :is(.summary>.price,.ef-package-total strong){font-size:26px!important;font-weight:700!important;line-height:1.3!important;font-variant-numeric:tabular-nums}
body .ef-footer-column h2{font-size:16px!important;font-weight:600!important;letter-spacing:0!important;line-height:1.4!important}
/* Retain the established compact navigation scale and numeric badges. */
body.header-4 :is(.main-menu-link,.main-menu-link>span,.ef-header-tools select,.site-header-cart .cart-contents),body.header-4 .col-full-nav .site-header-cart .cart-contents:after{font-size:var(--ef-header-font-size,15px)!important;font-weight:400!important;letter-spacing:0!important;font-family:var(--ef-font)!important}
body .ef-hero-country{font-size:var(--ef-small)!important;line-height:1.4!important;font-weight:600!important}
body .ef-hero-controls button{font-size:var(--ef-small)!important}
body .ef-product-configurator .ef-step-button{font-size:24px!important;line-height:1!important}
body .ef-ref-gift{font-family:var(--ef-font);font-size:28px}
@media(max-width:767px){body .ef-hero-country{font-size:var(--ef-caption)!important}}
body .entry-content p:is(.ef-device-eyebrow,.ef-ref-eyebrow){font-size:var(--ef-caption)!important;font-weight:600!important;letter-spacing:.12em!important;line-height:1.5!important}
body :is(.entry-content,.woocommerce,.wc-block-checkout,.wc-block-cart,.woocommerce-MyAccount-content){font-size:var(--ef-body);line-height:1.6}
body :is(.wc-block-checkout,.wc-block-cart,.woocommerce-MyAccount-content,.woocommerce-form) h2{font-size:var(--ef-h3)!important;line-height:1.3!important}
body :is(.wc-block-components-totals-item__label,.wc-block-components-totals-item__value,.wc-block-components-checkout-step__description,.wc-block-components-address-card,.wc-block-components-panel__button){font-size:var(--ef-body)!important;line-height:1.5!important}
/* Keep full native date values readable at narrow phone widths. */
@media(max-width:420px){body .ef-product-configurator .ef-trip-dates{grid-template-columns:minmax(0,1fr)}}
