/* SionSeries Competiciones — hereda colores y tipografía del tema */

.ss-badge { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: .8em; font-weight: 600; line-height: 1.6; background: rgba(150,150,150,.25); }
.ss-badge--ok, .ss-badge--livery-accepted { background: rgba(34,170,85,.22); color: #2ecc71; }
.ss-badge--livery-submitted, .ss-badge--new { background: rgba(240,180,0,.22); color: #f1c40f; }
.ss-badge--livery-rejected { background: rgba(230,60,60,.22); color: #ff6b6b; }
.ss-badge--off, .ss-badge--livery-none { background: rgba(150,150,150,.22); color: inherit; opacity: .85; }

.ss-button { display: inline-block; padding: .6em 1.2em; border-radius: 4px; border: 1px solid currentColor; text-decoration: none !important; font-weight: 600; margin: .25em .25em .25em 0; }
.ss-button--primary { background: #0170b9; border-color: #0170b9; color: #fff !important; }
.ss-button--primary:hover { filter: brightness(1.15); }
.ss-button--disabled { opacity: .55; cursor: not-allowed; }

.ss-event-box { border: 1px solid rgba(150,150,150,.3); border-radius: 8px; padding: 1.2em 1.4em; margin: 0 0 2em; }
.ss-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1em; margin: 0 0 1em; }
.ss-facts dt { font-size: .8em; text-transform: uppercase; letter-spacing: .05em; opacity: .7; }
.ss-facts dd { margin: 0; font-weight: 600; }
.ss-event-status p { margin: .3em 0; }

.ss-heading { margin-top: 1.5em; }
.ss-table { width: 100%; border-collapse: collapse; margin: 1em 0; }
.ss-table thead, .woocommerce-account .ss-table thead { background: transparent !important; }
.ss-table thead th, .woocommerce-account .ss-table thead th { background: rgba(150,150,150,.15) !important; color: inherit !important; font-size: .85em; text-transform: uppercase; letter-spacing: .04em; }
.ss-table th, .ss-table td { padding: .6em .8em; border-bottom: 1px solid rgba(150,150,150,.25); text-align: left; vertical-align: top; }
.ss-podium.ss-p1 td:first-child { color: #f1c40f; font-weight: 700; }
.ss-podium.ss-p2 td:first-child { color: #bdc3c7; font-weight: 700; }
.ss-podium.ss-p3 td:first-child { color: #d38b4f; font-weight: 700; }
.ss-unread td { font-weight: 700; }

/* ---------- Tarjeta horizontal: fotos a la izquierda (coche arriba, pista abajo), datos a la derecha sin solaparse ---------- */
.ss-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); gap: 1.4em; margin: 1em 0; }
.ss-card { position: relative; aspect-ratio: 16 / 9; min-height: 250px; border-radius: 10px; overflow: hidden; background: #000; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 10px 28px rgba(0,0,0,.35); }
.ss-card__media { position: absolute; top: 0; bottom: 0; left: 0; width: 50%; display: grid; grid-template-rows: 1fr 1fr; gap: 2px; background: #111; }
.ss-card__media--1 { grid-template-rows: 1fr; }
.ss-card__media--0 { background: linear-gradient(135deg, #1b2236, #0b0e18); }
.ss-card__media img { width: 100%; height: 100%; min-height: 0; object-fit: cover; display: block; margin: 0; }
.ss-card__body { position: absolute; top: 0; bottom: 0; right: 0; left: 50%; padding: 1.1em 1.3em; display: flex; flex-direction: column; color: #fff;
	background: #0a0c12; border-left: 3px solid #0170b9; }
.ss-card__title { margin: 0 0 .45em; font-size: 1.15em; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ss-card__title a { color: #fff !important; text-decoration: none !important; }
.ss-card__title a:hover { color: #4fb3ff !important; }
.ss-card__facts { list-style: none; margin: 0 0 .7em; padding: 0; font-size: .88em; }
.ss-card__facts li { margin: .2em 0; color: rgba(255,255,255,.8); }
.ss-card__facts strong { color: #fff; }
.ss-card__date { text-transform: uppercase; letter-spacing: .06em; font-size: .9em; color: #4fb3ff !important; }
.ss-card__status { margin: 0 0 .7em; }
/* El botón siempre abajo: alineado en todas las tarjetas. */
.ss-card__cta { margin: auto 0 0 !important; align-self: flex-start; color: #fff !important; border-color: rgba(255,255,255,.6) !important; }
.ss-card__cta:hover { background: #0170b9; border-color: #0170b9 !important; }
@media (max-width: 600px) {
	.ss-cards { grid-template-columns: 1fr; }
	.ss-card { aspect-ratio: auto; min-height: 270px; }
	.ss-card__media { width: 45%; }
	.ss-card__body { left: 45%; padding: 1em; font-size: .92em; }
}

/* ---------- Carrusel (portada) ---------- */
.ss-carousel { position: relative; margin: 1em 0; }
.ss-carousel__track { display: flex; gap: 1.4em; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: .2em .2em 1em; scrollbar-width: none; }
.ss-carousel__track::-webkit-scrollbar { display: none; }
.ss-carousel__track:focus-visible { outline: 2px solid #0170b9; outline-offset: 4px; }
.ss-carousel__track .ss-card { flex: 0 0 calc((100% - 1.4em) / 2); scroll-snap-align: start; }
.ss-carousel__nav { position: absolute; top: calc(50% - .5em); transform: translateY(-50%); z-index: 2; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); background: rgba(10,14,30,.8); color: #fff; font-size: 28px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0 0 4px; }
.ss-carousel__nav:hover { background: #0170b9; border-color: #0170b9; }
.ss-carousel__prev { left: -18px; }
.ss-carousel__next { right: -18px; }
.ss-carousel__all { text-align: center; margin: .5em 0 0; }
@media (max-width: 921px) { .ss-carousel__track .ss-card { flex-basis: 88%; } }
@media (max-width: 600px) {
	.ss-carousel__track .ss-card { flex-basis: 92%; }
	.ss-carousel__prev { left: 2px; }
	.ss-carousel__next { right: 2px; }
}

/* ---------- Aviso de ForgedMod (portada) ---------- */
.ss-notice { position: relative; max-width: 760px; margin: 0 auto; padding: 2.2em 2.4em; border-radius: 14px; text-align: center; overflow: hidden;
	background: linear-gradient(135deg, rgba(1,112,185,.18), rgba(230,40,60,.12)); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 18px 40px rgba(0,0,0,.35); }
.ss-notice::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #e6283c, #0170b9); }
.ss-notice__eyebrow { display: inline-block; font-size: .72em; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; padding: .35em 1em; border-radius: 999px; background: rgba(230,40,60,.18); color: #ff6b78; margin-bottom: 1em; }
.ss-notice__title { margin: 0 0 .4em; font-size: 1.7em; line-height: 1.2; color: #fff; }
.ss-notice__text { margin: 0 auto 1.4em; max-width: 34em; font-size: 1.08em; opacity: .9; }
.ss-notice__text a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ss-notice__button { display: inline-block; padding: .85em 1.8em; border-radius: 6px; background: #e6283c; color: #fff !important; font-weight: 700; text-decoration: none !important; transition: transform .15s, background .15s; }
.ss-notice__button:hover { background: #ff3b50; transform: translateY(-1px); }
.ss-notice__footer { margin: 1.6em 0 0; padding-top: 1.2em; border-top: 1px solid rgba(255,255,255,.12); font-size: .95em; opacity: .8; }
@media (max-width: 600px) { .ss-notice { padding: 1.8em 1.2em; } .ss-notice__title { font-size: 1.35em; } }

.ss-home-heading { text-align: center; margin: 2.2em 0 .4em; }
.ss-result-block { margin-bottom: 2.5em; }

.ss-standings { margin-bottom: 1.5em; }
.ss-standings__class { margin: 1.2em 0 .2em; font-size: 1.1em; }
.ss-standings .ss-table td:first-child { width: 3.5em; }
.ss-standings .ss-table td:last-child, .ss-standings .ss-table th:last-child { text-align: right; width: 6em; }
.ss-media { display: grid; gap: 2px; overflow: hidden; background: rgba(150,150,150,.15); }
.ss-media--2 { grid-template-columns: 1fr 1fr; }
.ss-media img { width: 100%; height: 170px; object-fit: cover; display: block; margin: 0; }
.ss-event-box .ss-media { margin: -1.2em -1.4em 1.2em; border-radius: 8px 8px 0 0; }
.ss-event-box .ss-media img { height: 240px; }

.ss-specs { display: grid; grid-template-columns: 3fr 2fr; gap: 0 2.5em; }
.ss-tracks { margin: 0 0 1em; padding: 0; list-style: none; counter-reset: ss-track; }
.ss-tracks li { display: flex; flex-wrap: wrap; align-items: center; gap: .3em 1em; padding: .55em 0; border-bottom: 1px solid rgba(150,150,150,.2); }
.ss-tracks__img { width: 96px; height: 60px; object-fit: cover; border-radius: 4px; flex: none; margin: 0; }
.ss-tracks__name { font-weight: 600; flex: 1 1 140px; }
.ss-tracks__meta { font-size: .85em; opacity: .9; display: flex; gap: .6em; align-items: center; }
.ss-cars { list-style: none; margin: 0 0 1em; padding: 0; display: flex; flex-wrap: wrap; gap: .5em; }
.ss-cars li { border: 1px solid rgba(150,150,150,.35); border-radius: 4px; padding: .3em .7em; font-size: .9em; }
.ss-cars li.ss-cars__photo { padding: 0; overflow: hidden; width: calc(50% - .25em); }
.ss-cars__photo img { width: 100%; height: 110px; object-fit: cover; display: block; margin: 0; }
.ss-cars__photo span { display: block; padding: .4em .6em; }
@media (max-width: 760px) {
	.ss-specs { grid-template-columns: 1fr; }
	.ss-event-box .ss-media { margin: -1em -1em 1em; }
	.ss-event-box .ss-media img { height: 160px; }
	.ss-media img { height: 130px; }
}
.ss-entry-list { columns: 2 200px; }
.ss-empty { opacity: .8; }

.ss-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 1em; margin: 0 0 1.5em; }
.ss-stat { border: 1px solid rgba(150,150,150,.3); border-radius: 8px; padding: .8em; text-align: center; }
.ss-stat__value { display: block; font-size: 1.8em; font-weight: 700; line-height: 1.2; }
.ss-stat__label { font-size: .8em; text-transform: uppercase; letter-spacing: .05em; opacity: .7; }

.ss-upload { margin-top: .6em; display: flex; flex-wrap: wrap; gap: .4em; align-items: center; }
.ss-upload input[type=file] { max-width: 100%; font-size: .85em; }
.ss-note { margin: .4em 0 0; font-size: .85em; color: #ff6b6b; }
.ss-help { font-size: .85em; opacity: .75; }
.ss-form label { display: block; font-weight: 600; margin-bottom: .2em; }
.ss-form input[type=text], .ss-form select, .ss-form textarea { width: 100%; }

.ss-thread { margin: 1em 0 1.5em; }
.ss-msg { border: 1px solid rgba(150,150,150,.3); border-radius: 8px; padding: .8em 1.1em; margin: .8em 0; }
.ss-msg--staff { border-left: 4px solid #0170b9; }
.ss-msg--pilot { border-left: 4px solid #f1c40f; }
.ss-msg__head { display: flex; justify-content: space-between; gap: 1em; font-size: .85em; opacity: .85; margin-bottom: .4em; }
.ss-msg__body p:last-child { margin-bottom: 0; }

@media (max-width: 600px) {
	.ss-event-box { padding: 1em; }
	.ss-table th, .ss-table td { padding: .5em; }
}
