@font-face {
    font-family: 'Okruhari Racing Artwork';
    src: url('okruhari-racing-bold-v2.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Okruhari Racing Text';
    src: url('okruhari-text-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Okruhari Racing Text';
    src: url('okruhari-text-semibold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Okruhari Racing Text';
    src: url('okruhari-text-bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

body,
body p,
body li,
body label,
body input,
body select,
body textarea,
body button,
body .elementor-widget-text-editor,
body .elementor-icon-list-text,
body .elementor-nav-menu .elementor-item,
body .elementor-image-box-title,
body .elementor-icon-box-title,
body .elementor-tab-title,
body .woocommerce-loop-product__title,
body .products .product-title,
body .price {
    font-family: 'Okruhari Racing Text', Arial, sans-serif !important;
}

html body #ok27-hero-events .ok27h-intro h3 {
    font-family: 'Okruhari Racing Text', Arial, sans-serif !important;
    font-size: clamp(20px, 4.9cqw, 27px);
    line-height: 1.35;
    font-weight: 700;
}

html body #ok27-hero-events .ok27h-intro p {
    font-size: clamp(16px, 3.7cqw, 19px);
    line-height: 1.5;
}

body .elementor .elementor-widget-heading .elementor-heading-title,
body .elementor .elementor-divider__text,
body .page-heading h1,
body .page-heading .title,
body .okruhari-eshop-hero-inner h1,
body h1.entry-title,
body .single-product h1.product_title,
html body #ok27-hero-events h2,
html body #ok27-showcase .ok27-season h2,
html body #ok27-showcase .ok27-news h2,
html body #ok27-showcase .ok27-news-card h3 {
    font-family: 'Okruhari Racing Artwork', Rajdhani, sans-serif !important;
    font-weight: 700 !important;
    font-style: normal !important;
    text-transform: uppercase;
    letter-spacing: 0 !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word;
}

html body #ok27-hero-events h2 em,
html body #ok27-showcase .ok27-season h2 em,
html body #ok27-showcase .ok27-news h2 em {
    font-style: normal !important;
}

html body #ok27-hero-events h2 {
    font-size: clamp(26px, 7cqw, 42px);
}

html body #ok27-showcase .ok27-season h2,
html body #ok27-showcase .ok27-news h2 {
    font-size: clamp(27px, 4.2vw, 48px);
}



html body #ok27-showcase .ok27-news-card h3 {
    font-size: clamp(17px, 1.7vw, 22px);
}

body .single-product h1.product_title {
    font-size: clamp(20px, 2vw, 28px);
}

body.okruhari-racing-school .elementor-widget-heading h2.elementor-heading-title {
    font-size: clamp(24px, 2.4vw, 32px) !important;
}

body.okruhari-racing-school .elementor-widget-heading h3.elementor-heading-title,
body.okruhari-racing-school .elementor-widget-heading h4.elementor-heading-title {
    font-size: clamp(18px, 1.7vw, 23px) !important;
    line-height: 1.4 !important;
}

body.okruhari-racing-school .elementor-widget-text-editor {
    font-size: 17px;
    line-height: 1.55;
}

body.okruhari-racing-school .elementor-widget-text-editor p,
body.okruhari-racing-school .elementor-widget-text-editor li {
    line-height: 1.55;
}

body.okruhari-racing-school .elementor-image-box-title {
    font-size: 23px !important;
}

/* Keep the event cards in their original typefaces. */
html body #ok27-showcase .ok27-event,
html body #ok27-showcase .ok27-event p,
html body #ok27-showcase .ok27-event a,
html body #ok27-showcase .ok27-event span {
    font-family: Rajdhani, 'Arial Narrow', Arial, sans-serif !important;
}

html body #ok27-showcase .ok27-lead,
html body #ok27-showcase .ok27-news-head > p,
html body #ok27-hero-events .ok27h-intro h3 {
    font-family: 'Okruhari Racing Artwork', Rajdhani, sans-serif !important;
    font-weight: 700 !important;
    font-style: normal !important;
    font-size: clamp(18px, 1.65vw, 24px);
    line-height: 1.55 !important;
    letter-spacing: 0;
}


/* Keep the established header compact at laptop widths. */
body .elementor-location-header .elementor-nav-menu .elementor-item,
body .elementor-location-header p,
body .elementor-location-header li,
body .elementor-location-header .elementor-icon-list-text {
    font-family: Rajdhani, 'Arial Narrow', Arial, sans-serif !important;
}


@font-face {
    font-family: 'Okruhari Event Dates';
    src: url('barlow-condensed-semibold-italic.woff2') format('woff2');
    font-style: italic;
    font-weight: 600;
    font-display: swap;
}
html body #ok27-showcase .ok27-event h3 {
    font-family: 'Okruhari Event Dates', Rajdhani, sans-serif !important;
    font-weight: 600 !important;
    font-style: italic !important;
}

/* Separate the shared site navigation from every page. */
body .elementor-location-header{background:#fff;border-bottom:1px solid #e0e3e7;margin-bottom:24px;box-shadow:0 4px 16px #20252b08}
body .elementor-location-header>.e-con:not(.elementor-sticky__spacer){background-color:#fff!important;border-bottom:1px solid #e0e3e7;box-shadow:0 4px 16px #20252b08}
/* Contact information and form share a readable, bounded layout. */
.elementor .elementor-element.elementor-element-924528c{display:grid!important;grid-template-columns:300px minmax(0,1fr)!important;gap:56px!important;width:calc(100% - 80px)!important;max-width:1120px!important;margin:0 auto!important;padding:56px 0 64px!important;background:#fff!important;align-items:start!important}
.elementor .elementor-element.elementor-element-766919f{display:flex!important;width:100%!important;max-width:none!important;align-items:flex-start!important;justify-content:flex-start!important;padding:28px 0!important;gap:18px!important}
.elementor .elementor-element.elementor-element-bbd7a63{display:flex!important;width:100%!important;max-width:none!important;padding:30px!important;gap:22px!important;background:#f7f8f9!important;border:1px solid #e4e6e9!important;border-radius:14px!important}
.elementor .elementor-element-766919f .elementor-widget{width:100%;margin:0!important;text-align:left!important}
.elementor .elementor-element-7600a6b img{width:220px!important;max-width:100%!important}
.elementor .elementor-element-766919f .elementor-icon-list-item{justify-content:flex-start!important;text-align:left!important}
.elementor .elementor-element-766919f .elementor-icon-list-text{font-size:17px!important}
.elementor .elementor-element-766919f .elementor-widget-text-editor{font-size:14px!important;line-height:1.6!important}
.elementor .elementor-element-766919f .elementor-widget-text-editor p{margin:0 0 12px!important}
.elementor .elementor-element-766919f .elementor-divider-separator{margin-left:0!important;width:64px!important}
.elementor .elementor-element-2682694 .elementor-heading-title{font-size:26px!important;line-height:1.25!important;margin:0!important}
.elementor .elementor-element-1f368b5 .form-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 16px}
.elementor .elementor-element-1f368b5 .wpcf7-form p{width:auto!important;margin:0 0 16px!important;padding:0!important;text-align:left}
.elementor .elementor-element-1f368b5 .form-group p{margin:0!important}
.elementor .elementor-element-1f368b5 .wpcf7-form p>br{display:none}
.elementor .elementor-element-1f368b5 label{display:block;font-size:14px!important;font-weight:600;color:#414750;margin:0 0 7px}
.elementor .elementor-element-1f368b5 .wpcf7-text{height:46px!important;min-height:46px!important;width:100%!important;border:1px solid #d6dbe1!important;border-radius:7px!important;background:#fff!important;padding:10px 12px!important;font-size:16px!important;color:#24272c!important;margin:0!important}
.elementor .elementor-element-1f368b5 textarea{height:144px!important;min-height:120px!important;width:100%!important;resize:vertical;border:1px solid #d6dbe1!important;border-radius:7px!important;padding:12px!important;font-size:16px!important;background:#fff!important;margin:0!important}
.elementor .elementor-element-1f368b5 :is(.wpcf7-text,textarea):focus{outline:2px solid #ed163066;outline-offset:2px;border-color:#ed1630!important}
.elementor .elementor-element-1f368b5 .wpcf7-submit{min-height:46px!important;padding:12px 24px!important;border-radius:7px!important;font-size:15px!important;font-weight:700!important;line-height:1.3!important;width:auto!important;float:none!important;margin:0!important;background:#ed1630!important;color:#fff!important}
.elementor .elementor-element-1f368b5 .wpcf7-form>p:last-of-type{margin-bottom:0!important}
/* MotoCup calendar: one separate journey with connected stops. */
body .mc27 .mc-calendar{width:calc(100% - 80px);max-width:1344px;margin:52px auto 64px;padding:24px 0 0;border:0;background:#fff}
body .mc27 .mc-rounds{width:100%;max-width:none;position:relative;padding:0;gap:0;overflow:visible}
body .mc27 .mc-round{position:relative;padding:28px 20px 8px!important;border:0;min-width:0}
body .mc27 .mc-round::before{content:"";position:absolute;left:20px;top:0;width:100%;height:2px;background:#ed1630}
body .mc27 .mc-round:last-child::before{display:none}
body .mc27 .mc-round::after{content:"";position:absolute;left:14px;top:-5px;width:12px;height:12px;border-radius:50%;background:#ed1630;box-shadow:0 0 0 5px #fff,0 0 0 6px #f1c4cb;transition:transform .18s}
body .mc27 .mc-round:hover::after{transform:scale(1.25)}
body .mc27 .mc-round-label{font-size:11px;line-height:1.5;color:#72777f}
body .mc27 .mc-round strong{font-size:20px;margin:8px 0}
body .mc27 .mc-round time{font-family:'Okruhari Racing Text',Arial,sans-serif;font-size:14px;line-height:1.5}
@media(max-width:900px){.elementor .elementor-element.elementor-element-924528c{grid-template-columns:240px minmax(0,1fr)!important;gap:28px!important}.elementor .elementor-element.elementor-element-bbd7a63{padding:24px!important}body .mc27 .mc-round{padding-left:12px!important;padding-right:12px!important}body .mc27 .mc-round strong{font-size:17px}body .mc27 .mc-round time{font-size:12px}}
@media(max-width:700px){body .elementor-location-header{margin-bottom:16px}.elementor .elementor-element.elementor-element-924528c{width:calc(100% - 40px)!important;grid-template-columns:1fr!important;gap:24px!important;padding:24px 0 40px!important}.elementor .elementor-element.elementor-element-766919f{padding:12px 0!important}.elementor .elementor-element.elementor-element-bbd7a63{padding:22px!important}.elementor .elementor-element-2682694 .elementor-heading-title{font-size:23px!important}body .mc27 .mc-calendar{width:calc(100% - 40px);margin:36px auto 40px;padding:0}body .mc27 .mc-rounds{display:flex;flex-direction:column}body .mc27 .mc-round{padding:0 0 28px 32px!important;min-height:100px}body .mc27 .mc-round::before{left:7px;top:12px;width:2px;height:100%}body .mc27 .mc-round::after{left:2px;top:7px}body .mc27 .mc-round:last-child{padding-bottom:0!important;min-height:0}body .mc27 .mc-round strong{font-size:20px;margin:5px 0}body .mc27 .mc-round time{font-size:14px}}
@media(max-width:420px){.elementor .elementor-element-1f368b5 .form-group{grid-template-columns:1fr;gap:16px}.elementor .elementor-element.elementor-element-bbd7a63{padding:20px!important}}
@media(prefers-reduced-motion:reduce){body .mc27 .mc-round::after{transition:none}}

.elementor .elementor-element-766919f .elementor-icon-list-item a{justify-content:flex-start!important}

/* Quiet, matching account and basket controls across translated headers. */
html body .elementor.elementor-location-header .elementor-element-b02abc1 .elementor-icon-list-item a,
html body .elementor.elementor-location-header .elementor-menu-cart__toggle_button{
 background:#fff!important;border:1px solid #dedfe2!important;border-radius:8px!important;
 color:#202124!important;box-shadow:none!important;min-height:44px;
 transition:background-color .18s,border-color .18s,box-shadow .18s;
}
html body .elementor.elementor-location-header .elementor-element-b02abc1 .elementor-icon-list-item a:hover,
html body .elementor.elementor-location-header .elementor-menu-cart__toggle_button:hover{
 background:#f7f7f8!important;border-color:#aeb2b8!important;box-shadow:0 2px 8px #191d2408!important;
}
html body .elementor.elementor-location-header .elementor-element-b02abc1 .elementor-icon-list-text,
html body .elementor.elementor-location-header .elementor-element-b02abc1 .elementor-icon-list-icon{color:#202124!important}
html body .elementor.elementor-location-header .elementor-element-b02abc1 .elementor-icon-list-text::after{
 background:#25272b!important;color:#fff!important;border-radius:3px!important;
 font-size:8px!important;letter-spacing:.08em!important;padding:3px 5px!important;box-shadow:0 0 0 3px #fff!important;
}
html body .elementor.elementor-location-header .elementor-button-icon-qty{
 background:#e91931!important;color:#fff!important;box-shadow:0 0 0 2px #fff!important;
}
html body .elementor.elementor-location-header .elementor-button-icon-qty[data-counter="0"]{background:#25272b!important}
html body .elementor.elementor-location-header .elementor-element-b02abc1 a:focus-visible,
html body .elementor.elementor-location-header .elementor-menu-cart__toggle_button:focus-visible{outline:2px solid #202124;outline-offset:3px}
/* Give each reward a clear numbered identity without changing eligibility. */
html body.woocommerce-account .okr-reward-card{
 background:#fff;border:1px solid #d4d9df;border-top:3px solid #252a30;
 border-radius:14px;margin-bottom:36px;padding:28px;box-shadow:0 8px 24px #17232c08;
}
html body.woocommerce-account .okr-reward-card header{gap:20px;padding-bottom:20px;border-bottom:1px solid #e4e7eb;margin-bottom:20px}
html body.woocommerce-account .okr-reward-card header::before{
 width:68px;height:68px;border-radius:10px;background:#252a30;color:#fff;border:0;
 font-family:Arial,sans-serif;font-size:34px;font-weight:800;line-height:1;letter-spacing:-1px;
}
html body.woocommerce-account .okr-reward-card .okr-reward-kicker{font-size:19px!important;line-height:1.35!important;font-weight:700!important;color:#202830!important;margin-bottom:8px}
html body.woocommerce-account .okr-reward-card h3{font-size:15px!important;color:#596674!important;line-height:1.5!important}
html body.woocommerce-account .okr-reward-card .okr-reward-percent{color:#202830;font-size:32px}
html body.woocommerce-account .okr-reward-tier-10{border-top-color:#e91931}
html body.woocommerce-account .okr-reward-tier-10 header::before{background:#e91931}
html body.woocommerce-account .okr-reward-pass{border-top-color:#85806c}
html body.woocommerce-account .okr-reward-pass header::before{background:#645f50}
@media(max-width:600px){
 html body.woocommerce-account .okr-reward-card{padding:20px;margin-bottom:28px}
 html body.woocommerce-account .okr-reward-card header{gap:14px;align-items:flex-start}
 html body.woocommerce-account .okr-reward-card header::before{width:54px;height:54px;font-size:28px;border-radius:8px}
 html body.woocommerce-account .okr-reward-card header>div{flex-basis:calc(100% - 68px);min-width:0}
 html body.woocommerce-account .okr-reward-card .okr-reward-kicker{font-size:17px!important}
 html body.woocommerce-account .okr-reward-card .okr-reward-percent{margin-left:68px;font-size:28px}
}
@media(prefers-reduced-motion:reduce){html body .elementor.elementor-location-header .elementor-menu-cart__toggle_button,html body .elementor.elementor-location-header .elementor-element-b02abc1 a{transition:none}}
