@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;600&display=swap"); #crr-app, #crr-app *, #crr-app *::before, #crr-app *::after {
box-sizing: border-box;
} :root {
--crr-bg:       #F2EFE7;
--crr-dark:     #312D27;
--crr-red:      #CC2D2D;
--crr-red-dark: #a82424;
--crr-text:     #7A7A7A;
--crr-border:   #ddd9d0;
--crr-white:    #ffffff;
--crr-input-bg: #faf9f6;
} #crr-app {
font-family: 'Roboto', sans-serif !important;
font-size: 22px !important;
color: var(--crr-text);
position: relative;
max-width: 100%;
overflow-x: hidden;
} .crr-step {
background: var(--crr-white);
border: 1px solid var(--crr-border);
border-radius: 2px;
padding: 36px 40px;
max-width: 100%;
overflow: hidden;
}
@media (max-width: 600px) {
.crr-step { padding: 20px 16px; }
}
@media (max-width: 380px) {
.crr-step { padding: 16px 12px; }
} .crr-step h3 {
font-size: 0.9em;
font-weight: 600;
color: var(--crr-dark);
text-transform: uppercase;
letter-spacing: 0.08em;
margin: 0 0 22px;
padding-bottom: 10px;
border-bottom: 1px solid var(--crr-border);
}
.crr-step h4 {
font-size: 0.75em;
font-weight: 600;
color: var(--crr-dark);
text-transform: uppercase;
letter-spacing: 0.08em;
margin: 28px 0 16px;
}
.crr-race-date {
font-size: 0.85em;
color: var(--crr-text);
margin: -14px 0 18px;
} .crr-grid-2,
.crr-form-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 14px;
width: 100%;
}
@media (max-width: 600px) {
.crr-grid-2,
.crr-form-grid { grid-template-columns: 1fr; }
}
.crr-full,
.crr-field--full { grid-column: 1 / -1; } .crr-field {
display: flex;
flex-direction: column;
gap: 5px;
min-width: 0; }
.crr-field label {
font-size: 0.6em;
font-weight: 600;
color: var(--crr-dark);
text-transform: uppercase;
letter-spacing: 0.06em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.crr-field input,
.crr-field select,
.crr-field textarea {
width: 100%; min-width: 0;
padding: 10px 12px;
border: 1px solid var(--crr-border);
border-radius: 2px;
font-size: 0.82em;
font-family: 'Roboto', sans-serif;
color: var(--crr-dark);
background: var(--crr-input-bg);
transition: border-color 0.15s;
-webkit-appearance: none;
}
.crr-field input::placeholder,
.crr-field select::placeholder { color: #bbb; }
.crr-field input:focus,
.crr-field select:focus {
outline: none;
border-color: var(--crr-dark);
background: var(--crr-white);
}
.crr-field input[type="file"] {
padding: 8px 10px;
font-size: 0.7em;
color: var(--crr-text);
cursor: pointer;
}
.crr-field-hint {
font-size: 0.62em;
color: var(--crr-text);
} .crr-tabs {
display: flex;
margin-bottom: 24px;
border: 1px solid var(--crr-border);
border-radius: 2px;
overflow: hidden;
}
.crr-tab {
flex: 1;
padding: 10px 16px;
border: none;
background: var(--crr-bg);
color: var(--crr-text);
cursor: pointer;
font-size: 0.75em;
font-family: 'Roboto', sans-serif;
font-weight: 500;
transition: background 0.15s, color 0.15s;
}
.crr-tab + .crr-tab { border-left: 1px solid var(--crr-border); }
.crr-tab.active { background: var(--crr-dark); color: var(--crr-white); } .crr-btn {
display: inline-block;
margin-top: 24px;
padding: 12px 28px;
background: var(--crr-red);
color: var(--crr-white);
border: none;
border-radius: 4px;
font-size: 0.75em;
font-family: 'Roboto', sans-serif;
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
cursor: pointer;
transition: background 0.15s;
}
.crr-btn:hover { background: var(--crr-red-dark); }
.crr-btn--secondary {
background: transparent;
color: var(--crr-text);
border: 1px solid var(--crr-border);
}
.crr-btn--secondary:hover {
background: var(--crr-bg);
color: var(--crr-dark);
border-color: var(--crr-dark);
} .crr-coupon-row {
display: flex;
gap: 10px;
flex-wrap: wrap;
margin-top: 16px;
}
#crr-coupon-input {
flex: 1;
min-width: 0;
width: 100%;
border: 1px solid var(--crr-border);
border-radius: 2px;
padding: 10px 12px;
font-family: 'Roboto', sans-serif;
font-size: 0.82em;
letter-spacing: 0.05em;
color: var(--crr-dark);
background: var(--crr-white);
}
#crr-coupon-input:focus { outline: none; border-color: var(--crr-dark); } .crr-price-row {
display: flex;
align-items: center;
gap: 10px;
margin: 12px 0;
font-size: 0.9em;
flex-wrap: wrap;
}
.crr-price-row strong { color: var(--crr-dark); font-weight: 600; } .crr-summary-table {
width: 100%;
border-collapse: collapse;
margin-bottom: 20px;
font-size: 0.75em;
table-layout: fixed; word-break: break-word;
}
.crr-summary-table th,
.crr-summary-table td {
padding: 9px 10px;
border-bottom: 1px solid var(--crr-border);
text-align: left;
overflow: hidden;
}
.crr-summary-table th {
color: var(--crr-text);
font-weight: 400;
width: 38%;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.crr-summary-table td { color: var(--crr-dark); font-weight: 500; } #paypal-button-container {
max-width: 380px;
width: 100%;
} #crr-loading {
position: absolute;
inset: 0;
background: rgba(242, 239, 231, 0.88);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border-radius: 2px;
z-index: 100;
}
#crr-loading-text {
font-size: 0.5em;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--crr-text);
margin-top: 14px;
}
.crr-spinner {
width: 32px; height: 32px;
border: 2px solid var(--crr-border);
border-top-color: var(--crr-dark);
border-radius: 50%;
animation: crr-spin 0.7s linear infinite;
}
@keyframes crr-spin { to { transform: rotate(360deg); } } .crr-step p { font-size: 0.75em; color: var(--crr-text); line-height: 1.6; } .crr-notice {
margin-top: 20px;
padding: 12px 16px;
background: var(--crr-bg);
border-left: 3px solid var(--crr-dark);
font-size: 0.65em;
color: var(--crr-text);
line-height: 1.6;
}
.crr-notice strong { color: var(--crr-dark); font-weight: 500; } #crr-btn-free-confirm {
width: 100%;
background: var(--crr-dark);
}
#crr-btn-free-confirm:hover { background: #1a1713; } .crr-group-selector       { margin-bottom: 28px; }
.crr-group-selector-title {
margin-bottom: 12px;
font-size: 0.62em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
color: #312D27;
}
.crr-group-options {
display: flex;
gap: 12px;
flex-wrap: wrap;
}
.crr-group-option {
flex: 1;
min-width: 120px;
cursor: pointer;
background: #fff;
border: 2px solid #E0DDD5;
border-radius: 10px;
padding: 16px 10px;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
gap: 5px;
transition: background .18s, border-color .18s, color .18s;
user-select: none;
color: #312D27;
}
.crr-group-option input[type="radio"] { display: none; }
.crr-group-option:hover {
background: #353737;
border-color: #353737;
color: #fff;
}
.crr-group-option:hover .crr-group-opt-icon  { filter: brightness(0) invert(1); }
.crr-group-option:hover .crr-group-opt-note  { color: #ccc; }
.crr-group-option:hover .crr-group-opt-price { color: #fff; }
.crr-group-option.active {
background: #CC2D2D;
border-color: #CC2D2D;
color: #fff;
}
.crr-group-option.active .crr-group-opt-icon  { filter: brightness(0) invert(1); }
.crr-group-option.active .crr-group-opt-note  { color: rgba(255,255,255,.75); }
.crr-group-option.active .crr-group-opt-price { color: #fff; }
.crr-group-opt-icon  { height: 50px; width: auto; display: block; object-fit: contain; margin: 0 auto; }
.crr-group-opt-label { font-weight: 700; font-size: 0.85em; margin-top: 2px; }
.crr-group-opt-price { font-size: 1em; font-weight: 700; }
.crr-group-opt-note  { font-size: 0.62em; color: #7A7A7A; }
.crr-step-label { font-size: 0.65em; color: #7A7A7A; margin-bottom: 12px; font-style: italic; } @media (max-width: 480px) {
.crr-group-option { min-width: calc(33% - 8px); padding: 12px 6px; }
.crr-group-opt-icon { height: 36px; }
.crr-group-opt-label { font-size: 0.65em; }
.crr-group-opt-price { font-size: 0.7em; }
.crr-group-opt-note  { display: none; } } .crr-member-panel  { border: 1px solid #E0DDD5; border-radius: 6px; margin-bottom: 10px; overflow: hidden; }
.crr-member-header {
background: #F2EFE7;
padding: 12px 16px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 0.75em;
}
.crr-member-header:hover { background: #E8E4DA; }
.crr-member-status { color: #10b981; margin-left: 8px; flex: 1; }
.crr-member-arrow  { font-size: 0.7em; color: #7A7A7A; }
.crr-member-body   { padding: 16px; } .crr-liberatoria {
margin-top: 20px;
padding: 14px 16px;
background: #fdf8f0;
border: 1px solid #e8d9b5;
border-radius: 4px;
}
.crr-liberatoria-label {
display: flex;
align-items: flex-start;
gap: 12px;
cursor: pointer;
font-size: 0.75em;
color: var(--crr-dark);
line-height: 1.55;
}
.crr-liberatoria-label input[type="checkbox"] {
width: 18px;
height: 18px;
min-width: 18px;
margin-top: 2px;
accent-color: var(--crr-red);
cursor: pointer;
}
.crr-liberatoria-label a {
color: var(--crr-red);
text-decoration: underline;
font-weight: 600;
}
.crr-liberatoria-label a:hover { color: var(--crr-red-dark); }.crr-strava-wrap {
font-family: 'Roboto', sans-serif;
border: 1px solid #e8e4dc;
border-radius: 8px;
overflow: hidden;
max-width: 780px;
margin: 32px auto;
background: #fff;
box-shadow: 0 2px 12px rgba(0,0,0,.07);
} .crr-strava-header {
display: flex;
align-items: center;
gap: 16px;
padding: 20px 24px;
background: linear-gradient(135deg, #1a1713 0%, #312D27 100%);
color: #fff;
}
.crr-strava-logo {
display: flex;
flex-direction: column;
align-items: center;
gap: 2px;
flex-shrink: 0;
}
.crr-strava-logo span {
font-size: 10px;
font-weight: 600;
color: #FC4C02;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.crr-strava-meta { flex: 1; }
.crr-strava-title {
font-size: 18px;
font-weight: 700;
color: #fff;
margin: 0 0 4px;
letter-spacing: 0.01em;
}
.crr-strava-efforts {
font-size: 12px;
color: rgba(255,255,255,.6);
letter-spacing: 0.02em;
}
.crr-strava-kom-badge {
background: #FC4C02;
color: #fff;
padding: 8px 14px;
border-radius: 6px;
font-size: 11px;
font-weight: 700;
text-align: center;
line-height: 1.3;
text-transform: uppercase;
letter-spacing: 0.04em;
flex-shrink: 0;
} .crr-strava-table {
width: 100%;
border-collapse: collapse;
font-size: 13px;
}
.crr-strava-table thead tr {
background: #f5f2ec;
}
.crr-strava-table th {
padding: 10px 16px;
text-align: left;
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.07em;
color: #7A7A7A;
border-bottom: 2px solid #e8e4dc;
}
.crr-strava-row td {
padding: 11px 16px;
border-bottom: 1px solid #f0ece4;
vertical-align: middle;
}
.crr-strava-row:last-child td { border-bottom: none; }
.crr-strava-row:hover td { background: #faf8f4; } .crr-strava-kom td { background: #fff8f0; }
.crr-strava-kom:hover td { background: #fff3e6; }
.crr-strava-kom .crr-strava-time strong { color: #FC4C02; font-size: 15px; } .crr-strava-iscritto td { background: #f0f7f0; }
.crr-strava-iscritto:hover td { background: #e8f3e8; } .crr-strava-pos {
width: 42px;
text-align: center;
font-weight: 600;
color: #9a9590;
font-size: 14px;
}
.crr-strava-crown { font-size: 16px; }
.crr-strava-name {
display: flex;
align-items: center;
gap: 10px;
}
.crr-strava-avatar {
width: 30px;
height: 30px;
border-radius: 50%;
object-fit: cover;
flex-shrink: 0;
border: 2px solid #e8e4dc;
}
.crr-strava-badge-iscritto {
background: #312D27;
color: #fff;
font-size: 9px;
font-weight: 700;
padding: 2px 7px;
border-radius: 20px;
text-transform: uppercase;
letter-spacing: 0.05em;
white-space: nowrap;
}
.crr-strava-time { width: 90px; }
.crr-strava-time strong { color: #312D27; font-size: 14px; }
.crr-strava-speed { width: 110px; color: #7A7A7A; }
.crr-strava-date  { width: 90px; color: #b0aa9f; font-size: 12px; } .crr-strava-footer {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 20px;
background: #f5f2ec;
border-top: 1px solid #e8e4dc;
font-size: 12px;
flex-wrap: wrap;
gap: 8px;
}
.crr-strava-footer a {
color: #FC4C02;
text-decoration: none;
font-weight: 600;
}
.crr-strava-footer a:hover { text-decoration: underline; }
.crr-strava-footer span { color: #b0aa9f; } @media (max-width: 600px) {
.crr-strava-header { padding: 16px; gap: 12px; }
.crr-strava-title { font-size: 15px; }
.crr-strava-table th, .crr-strava-row td { padding: 9px 10px; }
.crr-strava-speed, .crr-strava-date { display: none; }
.crr-strava-avatar { width: 24px; height: 24px; }
}.crr-timing-wrap h1 { margin-bottom: 24px; }
.crr-timing-wrap h2 { font-size: 16px; font-weight: 600; margin: 0 0 12px; }
.crr-timing-controls {
background: #fff;
border: 1px solid #ddd;
border-radius: 6px;
padding: 24px;
margin-bottom: 24px;
}
.crr-btn-start {
font-size: 22px !important;
padding: 16px 48px !important;
height: auto !important;
background: #2e7d32 !important;
border-color: #1b5e20 !important;
border-radius: 6px !important;
letter-spacing: .04em;
display: block;
margin-bottom: 12px;
}
.crr-btn-start:hover { background: #1b5e20 !important; }
.crr-btn-reset { color: #c62828 !important; border-color: #c62828 !important; margin-top: 12px; }
.crr-timing-hint { color: #666; font-size: 13px; margin-top: 8px; }
.crr-timing-status {
font-size: 16px;
font-weight: 600;
padding: 14px 18px;
background: #e8f5e9;
border: 1px solid #a5d6a7;
border-radius: 6px;
display: flex;
align-items: center;
gap: 10px;
color: #2e7d32;
}
.crr-status-dot {
width: 12px; height: 12px;
border-radius: 50%;
background: #2e7d32;
animation: crr-blink 1.2s ease-in-out infinite;
flex-shrink: 0;
}
@keyframes crr-blink {
0%,100%{opacity:1} 50%{opacity:.3}
}
.crr-elapsed-live { font-family: monospace; font-size: 14px; color: #555; } .crr-scanner-panel {
background: #fff;
border: 1px solid #ddd;
border-radius: 6px;
padding: 24px;
margin-bottom: 24px;
}
#crr-scan-area {
width: 100%;
max-width: 380px;
margin: 0 auto 16px;
background: #000;
border-radius: 6px;
overflow: hidden;
min-height: 120px;
display: flex;
align-items: center;
justify-content: center;
}
#crr-qr-video { width: 100%; display: block; }
.crr-manual-input {
display: flex;
gap: 10px;
align-items: center;
max-width: 380px;
margin: 0 auto;
}
.crr-manual-input input {
flex: 1;
padding: 8px 12px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 14px;
}
.crr-scan-result {
margin-top: 12px;
padding: 10px 14px;
border-radius: 4px;
font-size: 14px;
font-weight: 500;
display: none;
max-width: 380px;
margin-left: auto;
margin-right: auto;
}
.crr-scan-result.ok  { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.crr-scan-result.err { background: #ffebee; color: #c62828; border: 1px solid #ef9a9a; } .crr-results-panel {
background: #fff;
border: 1px solid #ddd;
border-radius: 6px;
padding: 24px;
}
.crr-results-table td:first-child { font-weight: 700; } .crr-risultati-wrap {
font-family: 'Roboto', sans-serif;
max-width: 700px;
margin: 32px auto;
}
.crr-risultati-header {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 16px;
margin-bottom: 20px;
flex-wrap: wrap;
}
.crr-risultati-title {
font-size: 22px;
font-weight: 600;
color: #1a1713;
margin: 0;
}
.crr-ris-start {
font-size: 13px;
color: #888;
}
.crr-ris-table {
width: 100%;
border-collapse: collapse;
border: 1px solid #e8e4dc;
border-radius: 8px;
overflow: hidden;
font-size: 15px;
}
.crr-ris-table thead tr { background: #1a1713; }
.crr-ris-table th {
padding: 11px 16px;
text-align: left;
font-size: 11px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .07em;
color: rgba(255,255,255,.7);
}
.crr-ris-table td {
padding: 11px 16px;
border-bottom: 1px solid #f0ece4;
color: #312D27;
}
.crr-ris-table tr:last-child td { border-bottom: none; }
.crr-ris-table tr:hover td { background: #faf8f4; }
.crr-ris-primo td  { background: #fff8e1; }
.crr-ris-podio td  { background: #fafaf6; }
.crr-ris-pos  { width: 52px; text-align: center; font-size: 20px; }
.crr-ris-cat  { color: #888; font-size: 13px; }
.crr-ris-tempo {
font-family: 'Courier New', monospace;
font-size: 17px;
font-weight: 700;
color: #1a1713;
letter-spacing: .03em;
}
.crr-ris-primo .crr-ris-tempo { color: #CC2D2D; }
.crr-ris-empty { color: #999; font-style: italic; text-align: center; padding: 32px 0; }
.crr-ris-footer { font-size: 12px; color: #bbb; text-align: right; margin-top: 10px; }
@media (max-width: 480px) {
.crr-ris-cat { display: none; }
.crr-ris-tempo { font-size: 15px; }
} .crr-stage-tabs {
display: flex;
gap: 0;
margin-bottom: 24px;
border: 1px solid #ddd;
border-radius: 4px;
overflow: hidden;
width: fit-content;
}
.crr-tab-link {
padding: 10px 22px;
font-size: 13px;
font-weight: 500;
color: #555;
text-decoration: none;
background: #f9f9f9;
border-right: 1px solid #ddd;
display: flex;
align-items: center;
gap: 6px;
transition: background .15s, color .15s;
}
.crr-tab-link:last-child { border-right: none; }
.crr-tab-link:hover { background: #f0f0f0; color: #222; }
.crr-tab-link.active { background: #1a1713; color: #fff; }
.crr-tab-dot {
width: 8px; height: 8px;
border-radius: 50%;
background: #2e7d32;
display: inline-block;
} .crr-ris-split {
font-family: 'Courier New', monospace;
font-size: 13px;
color: #888;
padding: 11px 16px;
} .crr-finished {
background: #e3f2fd;
border: 1px solid #90caf9;
color: #1565c0;
}
.crr-finished .crr-status-dot { background: #1565c0; animation: none; }
.crr-btn-finish { transition: background .15s; } @media screen and (max-width: 782px) {
table.crr-results-table th.col-cat,
table.crr-results-table td.col-cat { display: none !important; }
}.ct-language-switcher img{max-width:18px;border-radius:var(--items-border-radius)}.ct-language-switcher[data-type=inline] ul{display:flex;flex-wrap:wrap;column-gap:var(--items-spacing, 20px);row-gap:5px}.ct-language-switcher[data-type=inline] ul li.current-lang{--theme-link-initial-color: var(--theme-link-hover-color)}.ct-language-switcher[data-type=dropdown] ul{margin-top:var(--margin-top);border-radius:var(--theme-border-radius, 2px);background:var(--background-color);box-shadow:var(--theme-box-shadow)}.ct-language-switcher[data-type=dropdown] ul[data-placement=left]{right:var(--theme-submenu-inline-offset, -15px)}.ct-language-switcher[data-type=dropdown] ul[data-placement=right]{left:var(--theme-submenu-inline-offset, -15px)}.ct-language-switcher[data-type=dropdown] ul li:not(:last-child){border-bottom:var(--theme-border)}.ct-language-switcher[data-type=dropdown] ul li a{padding:var(--padding) 15px}.ct-language-switcher[data-type=dropdown] ul li.current-lang{display:none}.ct-language-switcher[data-type=dropdown] ul:before{position:absolute;content:"";top:0;left:0;width:100%;height:var(--margin-top);transform:translateY(-100%)}.ct-language{color:var(--theme-link-initial-color)}.ct-active-language{cursor:pointer;transition:color .12s cubic-bezier(0.455, 0.03, 0.515, 0.955)}.ct-active-language:hover{color:var(--theme-link-hover-color)}.ct-active-language .ct-dropdown-icon{order:3;--theme-icon-size: 8px;--theme-icon-color: currentColor;--theme-icon-hover-color: currentColor}.ct-active-language[data-label=bottom] .ct-dropdown-icon{margin-top:.5em}