.elementor-widget-image .widget-image-caption{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-341 .elementor-element.elementor-element-f80a37f{margin:40px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-341 .elementor-element.elementor-element-f80a37f img{width:59%;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-341 .elementor-element.elementor-element-cb50343{margin:40px 120px calc(var(--kit-widget-spacing, 0px) + 0px) 120px;text-align:center;font-family:"Roboto", Sans-serif;font-size:32px;font-weight:600;color:#000000;}.elementor-341 .elementor-element.elementor-element-e3a09b8{width:var( --container-widget-width, 98.075% );max-width:98.075%;--container-widget-width:98.075%;--container-widget-flex-grow:0;}@media(max-width:767px){.elementor-341 .elementor-element.elementor-element-f80a37f{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-341 .elementor-element.elementor-element-f80a37f img{width:100%;}.elementor-341 .elementor-element.elementor-element-cb50343{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-size:18px;}}/* Start custom CSS *//* ================================
SMOKEY PINES RACE REGISTRATION UI
================================ */

#race-registration,
#race-cart{
background:#fff;
border:1px solid #e5e5e5;
border-radius:10px;
padding:30px;
max-width:950px;
margin:auto;
box-shadow:0 6px 18px rgba(0,0,0,0.05);
}

/* headers */

#race-registration h2{
font-size:28px;
font-weight:700;
margin-bottom:10px;
}

#race-registration h3{
margin-top:25px;
font-size:20px;
font-weight:600;
border-bottom:1px solid #eee;
padding-bottom:6px;
}

/* form */

#race-registration select,
#race-registration input[type=text]{
width:100%;
padding:10px;
border:1px solid #ddd;
border-radius:6px;
margin-bottom:12px;
}

#add-rider-link {
    text-align: right;
    font-size: 12px;
    font-weight: 600;
    margin-top:10px;
}
#add-rider-link a {
color:#fff;
background-color: #F0AE1C;
padding: 4px 10px;
border-radius: 10px;
}
#add-rider-link a:hover {
color:#000;
}

/* class groups */

.class-group-title{
font-size:16px;
font-weight:600;
cursor:pointer;
display:flex;
justify-content:space-between;
padding:6px 0;
}

.class-group-title::after{
content:"▼";
font-size:12px;
opacity:.6;
}

.class-group.collapsed .class-group-title::after{
transform:rotate(-90deg);
}

.class-group.collapsed .class-grid{
display:none;
}


/* class grid */

.class-grid{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
gap:10px;
margin-top:10px;
}

/* buttons */

.class-grid label{
display:flex;
align-items:center;
justify-content:center;
height:44px;
background:#444;
color:#fff;
border-radius:6px;
font-size:14px;
cursor:pointer;
transition:.2s;
}

.class-grid input{
display:none;
}

.class-grid label:hover{
background:#555;
}

.class-grid input:checked + span{
background:#F0AE1C;
width:100%;
height:100%;
display:flex;
align-items:center;
justify-content:center;
border-radius:6px;
}

/* class config */

.class-config{
background:#fafafa;
border:1px solid #e5e5e5;
padding:12px;
border-radius:6px;
margin-top:10px;
}

/* total */

#race-total{
margin-top:15px;
font-size:20px;
font-weight:600;
}

/* buttons */

#add-rider-entry,
#race-checkout,
#new-rider{
padding:12px 18px;
border:none;
border-radius:6px;
font-weight:600;
cursor:pointer;
margin-top:15px;
}

#add-rider-entry{
background:#F0AE1C;
color:#fff;
}

#race-checkout{
background:#1e7e34;
color:#fff;
}

#new-rider{
background:#555;
color:#fff;
}

/* cards */

.race-entry-card{
border:1px solid #e5e5e5;
background:#fafafa;
padding:15px;
border-radius:8px;
margin-bottom:12px;
}

.race-entry-card button{
margin-top:8px;
background:#dc3545;
color:#fff;
border:none;
border-radius:4px;
padding:6px 10px;
cursor:pointer;
}

.smx-tooltip {
    position: relative;
    cursor: help;
}

.smx-tooltip:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 120%;
    left: 0;
    background: #111;
    color: #fff;
    padding: 8px 10px;
    border-radius: 6px;
    font-size: 12px;
    white-space: nowrap;
    z-index: 999;
}

.smx-class-option.invalid {
    opacity: 0.4;
    
}

.smx-class-option.disabled {
    opacity: 0.35;
}

.smx-class-option.disabled .class-label::after {
    content: ' (Not eligible)';
    font-size: 11px;
    color: #999;
}


#race-date.smx-highlight {
    border: 2px solid #F0AE1C !important;
    box-shadow: 0 0 0 4px rgba(240,174,28,0.18);
    background: #fffaf0;
    transition: all 0.25s ease;
}

/* mobile */

@media(max-width:600px){

.class-grid{
grid-template-columns:repeat(2,1fr);
}

}/* End custom CSS */