/* "Este finde". Builds on /base.css: a dark opening with the weekend's date large, the share
   buttons under it, then short lists that read like a message from a friend who rides. */
.f-top { background: var(--noche); color: #fff; padding: 36px 0 40px; }
.f-top h1 { font-family: var(--cond); font-weight: 800; font-size: clamp(52px, 8vw, 96px); line-height: .9; }
.f-fecha { margin-top: 8px; font-family: var(--cond); font-weight: 700; font-size: clamp(24px, 3.4vw, 34px); line-height: 1.05; color: var(--barro-claro); }
.f-top .lead { margin-top: 14px; max-width: 58ch; font-size: 18px; color: var(--niebla); }
.f-acciones { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 10px; }
.f-acciones .btn { display: inline-flex; align-items: center; gap: 8px; }
.f-wa { background: #1a7f4b; border-color: #1a7f4b; }
.f-wa:hover { background: #156b3f; }
.f-btn { display: inline-flex; align-items: center; min-height: 48px; padding: 10px 18px; border: 2px solid var(--niebla); border-radius: var(--radius-sm); background: none; color: #fff; font-family: var(--cond); font-weight: 700; font-size: 19px; cursor: pointer; }
.f-btn:hover { border-color: var(--barro-claro); color: var(--barro-claro); }
.f-btn:focus-visible, .f-wa:focus-visible { outline: 3px solid var(--barro-claro); outline-offset: 2px; }
.f-estado { margin-top: 10px; min-height: 1.4em; color: var(--niebla); font-size: 15px; }

.f-body { padding-bottom: 72px; max-width: 860px; }
.f-sec { margin-top: 44px; }
.f-sec h2 { font-family: var(--cond); font-weight: 800; font-size: 34px; line-height: 1; padding-bottom: 10px; border-bottom: 3px solid var(--noche); }
.f-lista li { display: flex; flex-direction: column; gap: 2px; padding: 14px 0 14px 14px; border-bottom: 1px solid var(--linea); border-left: 4px solid transparent; }
.f-lista li.f-este { border-left-color: var(--barro); }
.f-lista li.f-aviso { border-left-color: var(--alerta); }
.f-lista a { font-family: var(--cond); font-size: 24px; line-height: 1.1; text-decoration: none; }
.f-lista a:hover { color: var(--barro-oscuro); }
.f-lista span { color: var(--gris); font-size: 16px; }
.f-lista .f-este span::before { content: "Este finde. "; color: var(--barro-oscuro); font-weight: 700; }
.f-lista .f-aviso span { color: var(--alerta); }
.f-nada, .f-pie { margin-top: 14px; max-width: 62ch; }
.f-nada { padding: 14px 16px; border: 2px dashed var(--linea); border-radius: var(--radius-sm); }
.f-semana { margin-top: 16px; display: flex; flex-direction: column; gap: 6px; padding: 22px 22px 20px; background: var(--monte); color: #fff; border-radius: var(--radius-md); text-decoration: none; }
.f-semana b { font-family: var(--cond); font-weight: 800; font-size: 40px; line-height: 1; }
.f-semana .f-meta { color: #d6e6da; font-size: 16px; }
.f-semana span { max-width: 62ch; }
.f-semana .f-ver { margin-top: 6px; font-family: var(--cond); font-weight: 700; font-size: 19px; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.f-semana:hover .f-ver { color: var(--barro-claro); }
.f-texto { margin-top: 44px; }
.f-texto summary { cursor: pointer; font-family: var(--cond); font-weight: 700; font-size: 20px; }
.f-texto pre { margin-top: 10px; padding: 14px 16px; background: var(--surface); border: 1px solid var(--linea); border-radius: var(--radius-sm); white-space: pre-wrap; font-family: var(--body); font-size: 15px; }
.checked { margin-top: 18px; color: var(--gris); font-size: 14px; max-width: 72ch; }
