/* Social Run · estilo V Jornadas de Montaña (FDMCM) */
.srr{
	--srr-bg:#04131a; --srr-bg2:#0a2630;
	--srr-amber:#F0A95B; --srr-amber-2:#D98A3D; --srr-cream:#FFE2B8;
	--srr-text:#EAF2F3; --srr-soft:rgba(234,242,243,0.70); --srr-line:rgba(255,255,255,0.13);
	--srr-glass:linear-gradient(160deg, rgba(255,255,255,0.075), rgba(255,255,255,0.02));
	--srr-red:#A70B23; --srr-red-dark:#6E0718; --srr-red-on-dark:#FF8E9D;
	position:relative; left:50%; width:100vw; max-width:none !important; margin-left:-50vw; isolation:isolate; overflow:hidden;
	background:var(--srr-bg); color:var(--srr-text);
	font-family:'Poppins','Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; font-size:16px; line-height:1.6;
	-webkit-font-smoothing:antialiased; text-align:left; scroll-margin-top:80px;
}
.srr *,.srr *::before,.srr *::after{ box-sizing:border-box; }
.srr::before{
	content:""; position:absolute; inset:-60px; z-index:-2;
	background:var(--srr-img, none) center 12%/cover no-repeat;
	filter:blur(36px) saturate(1.15); opacity:0.42;
}
.srr::after{
	content:""; position:absolute; inset:0; z-index:-1;
	background:
		linear-gradient(180deg, rgba(4,19,26,0.55) 0%, rgba(4,19,26,0.78) 55%, var(--srr-bg) 100%),
		radial-gradient(900px 520px at 78% 30%, rgba(43,118,132,0.42), transparent 70%),
		radial-gradient(700px 380px at 10% 85%, rgba(240,169,91,0.16), transparent 70%);
}
.srr .srr-redbar{ height:4px; background:linear-gradient(90deg,var(--srr-red),#d3182f 55%,var(--srr-amber-2)); }
.srr .srr-wrap{ max-width:1120px; margin:0 auto; padding:76px 24px; }
.srr .srr-grid{ display:grid; grid-template-columns:0.95fr 1.05fr; gap:56px; align-items:start; }

/* info */
.srr .srr-kicker{
	display:inline-flex; align-items:center; gap:12px; margin:0 0 16px; line-height:1.4;
	font-size:0.72rem; font-weight:700; letter-spacing:0.28em; text-transform:uppercase; color:var(--srr-amber);
}
.srr .srr-kicker::before{ content:""; width:28px; height:3px; background:var(--srr-red); border-radius:2px; flex:none; }
.srr .srr-title{
	font-family:inherit; font-weight:800; text-transform:uppercase; margin:0; padding:0;
	font-size:clamp(2.4rem,6vw,4.4rem); line-height:1; letter-spacing:-0.01em;
	background:linear-gradient(180deg,#FFD9A0 0%,#F0A95B 45%,#C97B34 100%);
	-webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.srr .srr-lead{ color:var(--srr-soft); margin:18px 0 0; max-width:52ch; font-size:1rem; }
.srr .srr-facts{
	display:grid; grid-template-columns:1fr 1fr; margin-top:28px;
	border:1px solid var(--srr-line); border-radius:22px; overflow:hidden; background:var(--srr-glass);
}
.srr .srr-fact{ padding:18px 20px; border-left:1px solid var(--srr-line); }
.srr .srr-fact:nth-child(odd){ border-left:none; }
.srr .srr-fact:nth-child(n+3){ border-top:1px solid var(--srr-line); }
.srr .srr-fact span{ display:block; font-size:0.62rem; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--srr-soft); margin-bottom:6px; }
.srr .srr-fact b{ display:block; font-size:0.98rem; font-weight:800; color:#fff; line-height:1.3; }
.srr .srr-aforo{ margin-top:24px; }
.srr .srr-aforo-txt{ font-size:0.88rem; color:var(--srr-soft); margin-bottom:8px; }
.srr .srr-aforo-txt b{ font-size:1.4rem; font-weight:800; color:var(--srr-amber); margin-right:4px; }
.srr .srr-bar{ height:8px; background:rgba(255,255,255,0.10); border-radius:99px; overflow:hidden; }
.srr .srr-bar span{ display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--srr-red),var(--srr-amber)); }
.srr .srr-perk{ margin:22px 0 0; font-size:0.86rem; color:var(--srr-soft); padding-left:14px; border-left:3px solid var(--srr-amber); }
.srr .srr-perk b{ color:var(--srr-cream); }

/* tarjeta formulario */
.srr .srr-card{
	background:var(--srr-glass); border:1px solid var(--srr-line); border-radius:26px; padding:30px 28px;
	backdrop-filter:blur(6px); box-shadow:0 40px 80px -30px rgba(0,0,0,0.7);
}
.srr .srr-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.srr label{ display:block; font-size:0.78rem; font-weight:600; letter-spacing:0.04em; color:var(--srr-text); margin:0 0 16px; }
.srr label em{ font-style:normal; color:var(--srr-soft); font-weight:500; }
.srr input[type=text],.srr input[type=email],.srr input[type=tel]{
	display:block; width:100%; margin-top:7px; padding:12px 14px; font:inherit; font-size:16px; font-weight:500;
	color:#fff; background:rgba(255,255,255,0.05); border:1.5px solid var(--srr-line); border-radius:12px;
	transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.srr input[type=text]:focus,.srr input[type=email]:focus,.srr input[type=tel]:focus{
	outline:none; border-color:var(--srr-amber); background:rgba(255,255,255,0.08); box-shadow:0 0 0 3px rgba(240,169,91,0.20);
}
.srr .srr-fed{ border:0; padding:0; margin:0 0 16px; min-width:0; }
.srr .srr-fed legend{ font-size:0.78rem; font-weight:600; letter-spacing:0.04em; padding:0; margin-bottom:7px; }
.srr .srr-pills{ display:flex; gap:8px; }
.srr label.srr-pill{ margin:0; flex:1; }
.srr .srr-pill input{ position:absolute; opacity:0; pointer-events:none; }
.srr .srr-pill span{
	display:block; text-align:center; padding:11px 10px; border-radius:12px; cursor:pointer; font-size:0.9rem; font-weight:700;
	border:1.5px solid var(--srr-line); background:rgba(255,255,255,0.05); color:var(--srr-soft); transition:all .15s ease;
}
.srr .srr-pill input:checked + span{ border-color:var(--srr-amber); color:#2a1604; background:linear-gradient(180deg,#FFC981,#E99A47); }
.srr .srr-pill input:focus-visible + span{ outline:3px solid var(--srr-amber); outline-offset:2px; }

/* bloque legal */
.srr .srr-legal{ border:1px solid var(--srr-line); border-radius:16px; padding:16px 16px 6px; margin:4px 0 20px; background:rgba(0,0,0,0.18); }
.srr .srr-legal-item{ margin-bottom:12px; }
.srr label.srr-check{ display:flex; gap:10px; align-items:flex-start; margin:0 0 4px; font-size:0.84rem; font-weight:500; letter-spacing:0; line-height:1.45; }
.srr .srr-check input{ margin:3px 0 0; width:17px; height:17px; flex:none; accent-color:var(--srr-amber); }
.srr .srr-check b{ color:var(--srr-cream); }
.srr .srr-legal details{ margin-left:27px; }
.srr .srr-legal summary{ cursor:pointer; font-size:0.72rem; font-weight:700; letter-spacing:0.06em; color:var(--srr-amber); text-decoration:underline; text-underline-offset:3px; }
.srr .srr-legal-txt{
	max-height:220px; overflow-y:auto; margin-top:8px; padding:12px 14px; border-radius:10px;
	font-size:0.76rem; line-height:1.55; color:var(--srr-soft); background:rgba(255,255,255,0.04); border:1px solid var(--srr-line);
}
.srr .srr-legal-txt p{ margin:0 0 8px; }
.srr .srr-legal-txt a{ color:var(--srr-amber); }

/* botón */
.srr .srr-btn{
	width:100%; padding:16px 26px; border:0; border-radius:999px; cursor:pointer;
	font-family:inherit; font-size:0.9rem; font-weight:800; letter-spacing:0.1em; text-transform:uppercase;
	color:#2a1604; background:linear-gradient(180deg,#FFC981,#E99A47); transition:transform .15s ease, background .15s ease;
}
.srr .srr-btn:hover{ transform:translateY(-2px); background:linear-gradient(180deg,#FFD59A,#F0A95B); }
.srr .srr-btn:focus-visible{ outline:3px solid var(--srr-amber); outline-offset:3px; }
.srr .srr-small{ text-align:center; font-size:0.72rem; letter-spacing:0.08em; color:var(--srr-soft); margin:12px 0 0; }

/* mensajes */
.srr .srr-msg{ padding:16px 18px; border-radius:14px; font-size:0.92rem; line-height:1.5; margin-bottom:18px; }
.srr .srr-msg b{ display:block; font-size:1.05rem; margin-bottom:4px; color:#fff; }
.srr .srr-msg-ok{ background:rgba(240,169,91,0.12); border:1px solid rgba(240,169,91,0.5); color:var(--srr-cream); }
.srr .srr-msg-ok .srr-num{
	display:block; margin:10px 0; font-size:3.4rem; font-weight:800; line-height:1;
	background:linear-gradient(180deg,#FFD9A0,#E08F3F); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.srr .srr-msg-info{ background:rgba(43,118,132,0.25); border:1px solid rgba(120,190,200,0.4); color:var(--srr-text); }
.srr .srr-msg-warn{ background:rgba(167,11,35,0.22); border:1px solid rgba(255,142,157,0.4); color:var(--srr-red-on-dark); }

.srr .srr-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

@media (max-width:960px){
	.srr .srr-grid{ grid-template-columns:1fr; gap:40px; }
}
@media (max-width:600px){
	.srr .srr-wrap{ padding:58px 16px; }
	.srr .srr-row{ grid-template-columns:1fr; gap:0; }
	.srr .srr-card{ padding:24px 18px; border-radius:22px; }
}
@media (prefers-reduced-motion:reduce){ .srr *{ transition:none !important; } }

/* pantalla completa */
.srr{ min-height:100vh; min-height:100svh; display:flex; flex-direction:column; }
.srr .srr-wrap{ flex:1; width:100%; display:flex; align-items:center; }
.srr .srr-grid{ width:100%; }

/* acompañantes */
.srr .srr-acomp{ border:1px dashed rgba(240,169,91,0.45); border-radius:16px; padding:14px 16px; margin:0 0 18px; }
.srr .srr-acomp-tit{ margin:0 0 10px; font-size:0.84rem; font-weight:700; color:#fff; }
.srr .srr-acomp-tit em{ display:block; font-style:normal; font-weight:500; font-size:0.74rem; color:var(--srr-soft); margin-top:2px; }
.srr .srr-acomp-row{ position:relative; display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:14px 0 0; border-top:1px solid var(--srr-line); margin-top:4px; }
.srr .srr-acomp-row label{ margin-bottom:12px; }
.srr .srr-acomp-n{ grid-column:1/-1; font-size:0.66rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--srr-amber); margin-bottom:-6px; }
.srr .srr-del{ position:absolute; top:8px; right:0; width:28px; height:28px; border-radius:50%; border:1px solid var(--srr-line); background:rgba(255,255,255,0.05); color:var(--srr-soft); font-size:18px; line-height:1; cursor:pointer; }
.srr .srr-del:hover{ border-color:var(--srr-red-on-dark); color:var(--srr-red-on-dark); }
.srr .srr-add{ font-family:inherit; font-size:0.8rem; font-weight:700; letter-spacing:0.06em; padding:10px 18px; border-radius:999px; cursor:pointer; background:transparent; color:var(--srr-amber); border:1.5px solid rgba(240,169,91,0.6); transition:all .15s ease; }
.srr .srr-add:hover{ background:var(--srr-amber); color:#2a1604; }
.srr .srr-add[hidden]{ display:none; }
.srr .srr-msg-ok .srr-num{ font-size:clamp(2rem,6vw,3.4rem); }
@media (max-width:600px){ .srr .srr-acomp-row{ grid-template-columns:1fr; gap:0; } }

/* salida con mapa */
.srr .srr-fact-wide{ grid-column:1/-1; border-left:none !important; border-top:1px solid var(--srr-line); }
.srr .srr-fact small{ display:block; margin-top:3px; font-size:0.84rem; color:var(--srr-soft); }
.srr a.srr-map{
	display:inline-flex; align-items:center; gap:8px; margin-top:14px; padding:9px 16px; border-radius:999px; text-decoration:none; box-shadow:none;
	border:1.5px solid rgba(240,169,91,0.6); color:var(--srr-amber); font-size:0.76rem; font-weight:700; letter-spacing:0.06em;
	transition:background .15s ease, color .15s ease, transform .15s ease;
}
.srr a.srr-map:hover{ background:var(--srr-amber); color:#2a1604; transform:translateY(-1px); }

/* layout con lista debajo */
.srr .srr-wrap{ flex-direction:column; align-items:stretch; justify-content:center; gap:48px; }

/* lista pública de inscritos */
.srr .srr-people{ background:var(--srr-glass); border:1px solid var(--srr-line); border-radius:24px; padding:26px 28px; }
.srr .srr-people-head{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 20px; margin-bottom:18px; }
.srr .srr-people-head .srr-kicker{ margin:0; }
.srr .srr-people-count{ margin:0; color:var(--srr-soft); font-size:0.9rem; }
.srr .srr-people-count b{ font-size:1.5rem; font-weight:800; color:var(--srr-amber); margin-right:4px; }
.srr .srr-people-count em{ font-style:normal; color:var(--srr-cream); }
.srr .srr-people-list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.srr .srr-people-list li{
	display:inline-flex; align-items:center; gap:8px; margin:0; padding:7px 14px 7px 7px; border-radius:999px;
	background:rgba(255,255,255,0.05); border:1px solid var(--srr-line); font-size:0.86rem; font-weight:600; color:#fff;
	animation:srr-pop .35s ease both;
}
.srr .srr-people-list li::before{ content:none; }
.srr .srr-people-n{ display:inline-block; min-width:34px; text-align:center; padding:3px 8px; border-radius:999px; font-size:0.7rem; font-weight:800; color:#2a1604; background:linear-gradient(180deg,#FFC981,#E99A47); }
.srr .srr-people-empty{ margin:0; color:var(--srr-soft); }
.srr .srr-people-note{ margin:16px 0 0; font-size:0.7rem; color:var(--srr-soft); letter-spacing:0.04em; }
@keyframes srr-pop{ from{ opacity:0; transform:scale(.9); } to{ opacity:1; transform:none; } }

/* ventana de confirmación */
html.srr-lock{ overflow:hidden !important; }
.srr-modal{
	position:fixed; inset:0; z-index:999999; display:flex; align-items:center; justify-content:center; padding:20px;
	background:rgba(2,10,14,0.78); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
	font-family:'Poppins','Segoe UI',Roboto,Arial,sans-serif; animation:srr-fade .25s ease both;
}
.srr-modal *{ box-sizing:border-box; }
.srr-modal-box{
	width:100%; max-width:440px; text-align:center; color:#EAF2F3; padding:34px 28px 28px; border-radius:26px;
	background:linear-gradient(160deg,#0f3340,#071a22); border:1px solid rgba(240,169,91,0.45);
	box-shadow:0 40px 90px -20px rgba(0,0,0,0.8); animation:srr-up .35s cubic-bezier(.2,.9,.3,1.2) both;
}
.srr-modal-ico{
	width:74px; height:74px; margin:0 auto 18px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	font-size:2.2rem; font-weight:800; color:#2a1604; background:linear-gradient(180deg,#FFC981,#E99A47);
	box-shadow:0 0 0 8px rgba(240,169,91,0.15);
}
.srr-modal-box h3{ margin:0; font-size:1.6rem; font-weight:800; line-height:1.15; color:#fff; font-family:inherit; text-transform:none; letter-spacing:0; }
.srr-modal-sub{ margin:8px 0 0; font-size:0.86rem; color:rgba(234,242,243,0.7); }
.srr-modal-lbl{ margin:20px 0 0; font-size:0.66rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:#F0A95B; }
.srr-modal-num{
	margin:6px 0 0; font-size:clamp(2rem,9vw,3rem); font-weight:800; line-height:1.05;
	background:linear-gradient(180deg,#FFD9A0,#E08F3F); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.srr-modal-mail{
	display:flex; gap:12px; align-items:flex-start; text-align:left; margin:22px 0 22px; padding:14px 16px; border-radius:14px;
	background:rgba(240,169,91,0.10); border:1px solid rgba(240,169,91,0.35);
}
.srr-modal-mail span{ font-size:1.5rem; line-height:1; }
.srr-modal-mail p{ margin:0; font-size:0.86rem; line-height:1.5; color:#FFE2B8; }
.srr-modal-mail b{ color:#fff; }
.srr-modal .srr-btn{
	width:100%; padding:15px 24px; border:0; border-radius:999px; cursor:pointer; font-family:inherit; font-size:0.9rem; font-weight:800;
	letter-spacing:0.1em; text-transform:uppercase; color:#2a1604; background:linear-gradient(180deg,#FFC981,#E99A47);
}
.srr-modal .srr-btn:hover{ background:linear-gradient(180deg,#FFD59A,#F0A95B); }
@keyframes srr-fade{ from{ opacity:0; } to{ opacity:1; } }
@keyframes srr-up{ from{ opacity:0; transform:translateY(24px) scale(.96); } to{ opacity:1; transform:none; } }
.srr .srr-btn:disabled{ opacity:.7; cursor:wait; transform:none; }
@media (max-width:600px){ .srr .srr-people{ padding:22px 18px; } }

/* logos */
.srr .srr-top{ display:flex; justify-content:flex-start; margin-bottom:-12px; }
.srr .srr-brands{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.srr .srr-brand{ display:flex; flex-direction:column; gap:6px; }
.srr .srr-brand small{ font-size:0.58rem; font-weight:700; letter-spacing:0.24em; text-transform:uppercase; color:var(--srr-soft); line-height:1; }
.srr .srr-brand img{ display:block; width:auto; max-width:none; border:0; box-shadow:none; }
.srr .srr-logo-fdmcm{ height:48px; }
.srr .srr-logo-kb{ height:34px; }
.srr .srr-brand-sep{ width:1px; height:44px; background:var(--srr-line); align-self:flex-end; }
@media (max-width:600px){ .srr .srr-logo-fdmcm{ height:40px; } .srr .srr-logo-kb{ height:28px; } .srr .srr-brands{ gap:16px; } }
.srr .srr-logo-fdmcm.srr-logo-alt{ height:26px; margin-top:8px; }
