{"id":5950,"date":"2026-03-04T08:00:00","date_gmt":"2026-03-04T07:00:00","guid":{"rendered":"https:\/\/www.autonocion.com\/motornocion\/?page_id=5950"},"modified":"2026-03-05T01:41:00","modified_gmt":"2026-03-05T00:41:00","slug":"calendario-mundial-f1-2026","status":"publish","type":"page","link":"https:\/\/www.autonocion.com\/motornocion\/calendario-mundial-f1-2026\/","title":{"rendered":"Calendario mundial de F1 2026"},"content":{"rendered":"<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>Calendario F1 2026 \u2013 autonoci\u00f3n<\/title>\r\n<meta name=\"description\" content=\"Calendario completo de la F\u00f3rmula 1 2026: fechas, circuitos y horarios de los 24 Grandes Premios de la temporada. Incluye Sprints y el nuevo GP de Madrid.\">\r\n<meta name=\"robots\" content=\"index, follow\">\r\n<link rel=\"canonical\" href=\"https:\/\/www.autonocion.com\/f1\/calendario-2026\/\">\r\n<meta property=\"og:title\" content=\"Calendario F1 2026 \u2013 Todos los Grandes Premios | autonoci\u00f3n\">\r\n<meta property=\"og:description\" content=\"Fechas y circuitos de los 24 GPs de la temporada 2026 de F\u00f3rmula 1, con los 6 fines de semana Sprint y el debut de Madrid.\">\r\n<meta property=\"og:type\" content=\"website\">\r\n<script type=\"application\/ld+json\">\r\n{\r\n  \"@context\": \"https:\/\/schema.org\",\r\n  \"@type\": \"ItemList\",\r\n  \"name\": \"Calendario F\u00f3rmula 1 2026\",\r\n  \"description\": \"Los 24 Grandes Premios de la temporada 2026 del Campeonato del Mundo de F\u00f3rmula 1\",\r\n  \"url\": \"https:\/\/www.autonocion.com\/f1\/calendario-2026\/\",\r\n  \"numberOfItems\": 24,\r\n  \"itemListElement\": [\r\n    {\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Australia 2026\",\"startDate\":\"2026-03-08\",\"location\":{\"@type\":\"Place\",\"name\":\"Albert Park Circuit\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Melbourne\",\"addressCountry\":\"AU\"}},\"sport\":\"Formula 1\",\"organizer\":{\"@type\":\"Organization\",\"name\":\"FIA Formula One World Championship\"}}},\r\n    {\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de China 2026\",\"startDate\":\"2026-03-15\",\"location\":{\"@type\":\"Place\",\"name\":\"Shanghai International Circuit\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Shanghai\",\"addressCountry\":\"CN\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Jap\u00f3n 2026\",\"startDate\":\"2026-03-29\",\"location\":{\"@type\":\"Place\",\"name\":\"Suzuka International Racing Course\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Suzuka\",\"addressCountry\":\"JP\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Bahrein 2026\",\"startDate\":\"2026-04-12\",\"location\":{\"@type\":\"Place\",\"name\":\"Bahrain International Circuit\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Sakhir\",\"addressCountry\":\"BH\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":5,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Arabia Saud\u00ed 2026\",\"startDate\":\"2026-04-19\",\"location\":{\"@type\":\"Place\",\"name\":\"Jeddah Corniche Circuit\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Jeddah\",\"addressCountry\":\"SA\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":6,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Miami 2026\",\"startDate\":\"2026-05-03\",\"location\":{\"@type\":\"Place\",\"name\":\"Miami International Autodrome\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Miami\",\"addressCountry\":\"US\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":7,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Canad\u00e1 2026\",\"startDate\":\"2026-05-24\",\"location\":{\"@type\":\"Place\",\"name\":\"Circuit Gilles Villeneuve\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Montreal\",\"addressCountry\":\"CA\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":8,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de M\u00f3naco 2026\",\"startDate\":\"2026-06-07\",\"location\":{\"@type\":\"Place\",\"name\":\"Circuit de Monaco\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Montecarlo\",\"addressCountry\":\"MC\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":9,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Espa\u00f1a 2026\",\"startDate\":\"2026-06-14\",\"location\":{\"@type\":\"Place\",\"name\":\"Circuit de Barcelona-Catalunya\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Montmel\u00f3\",\"addressCountry\":\"ES\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":10,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Austria 2026\",\"startDate\":\"2026-06-28\",\"location\":{\"@type\":\"Place\",\"name\":\"Red Bull Ring\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Spielberg\",\"addressCountry\":\"AT\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":11,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Gran Breta\u00f1a 2026\",\"startDate\":\"2026-07-05\",\"location\":{\"@type\":\"Place\",\"name\":\"Silverstone Circuit\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Silverstone\",\"addressCountry\":\"GB\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":12,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de B\u00e9lgica 2026\",\"startDate\":\"2026-07-19\",\"location\":{\"@type\":\"Place\",\"name\":\"Circuit de Spa-Francorchamps\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Spa\",\"addressCountry\":\"BE\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":13,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Hungr\u00eda 2026\",\"startDate\":\"2026-07-26\",\"location\":{\"@type\":\"Place\",\"name\":\"Hungaroring\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Budapest\",\"addressCountry\":\"HU\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":14,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Pa\u00edses Bajos 2026\",\"startDate\":\"2026-08-23\",\"location\":{\"@type\":\"Place\",\"name\":\"Circuit Zandvoort\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Zandvoort\",\"addressCountry\":\"NL\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":15,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Italia 2026\",\"startDate\":\"2026-09-06\",\"location\":{\"@type\":\"Place\",\"name\":\"Autodromo Nazionale Monza\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Monza\",\"addressCountry\":\"IT\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":16,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Madrid 2026\",\"startDate\":\"2026-09-13\",\"location\":{\"@type\":\"Place\",\"name\":\"Madring\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Madrid\",\"addressCountry\":\"ES\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":17,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Azerbaiy\u00e1n 2026\",\"startDate\":\"2026-09-26\",\"location\":{\"@type\":\"Place\",\"name\":\"Baku City Circuit\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Bak\u00fa\",\"addressCountry\":\"AZ\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":18,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Singapur 2026\",\"startDate\":\"2026-10-11\",\"location\":{\"@type\":\"Place\",\"name\":\"Marina Bay Street Circuit\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Singapur\",\"addressCountry\":\"SG\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":19,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Estados Unidos 2026\",\"startDate\":\"2026-10-25\",\"location\":{\"@type\":\"Place\",\"name\":\"Circuit of the Americas\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Austin\",\"addressCountry\":\"US\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":20,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de M\u00e9xico 2026\",\"startDate\":\"2026-11-01\",\"location\":{\"@type\":\"Place\",\"name\":\"Aut\u00f3dromo Hermanos Rodr\u00edguez\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Ciudad de M\u00e9xico\",\"addressCountry\":\"MX\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":21,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de S\u00e3o Paulo 2026\",\"startDate\":\"2026-11-08\",\"location\":{\"@type\":\"Place\",\"name\":\"Aut\u00f3dromo Jos\u00e9 Carlos Pace\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"S\u00e3o Paulo\",\"addressCountry\":\"BR\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":22,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Las Vegas 2026\",\"startDate\":\"2026-11-21\",\"location\":{\"@type\":\"Place\",\"name\":\"Las Vegas Strip Circuit\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Las Vegas\",\"addressCountry\":\"US\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":23,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Qatar 2026\",\"startDate\":\"2026-11-29\",\"location\":{\"@type\":\"Place\",\"name\":\"Lusail International Circuit\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Lusail\",\"addressCountry\":\"QA\"}},\"sport\":\"Formula 1\"}},\r\n    {\"@type\":\"ListItem\",\"position\":24,\"item\":{\"@type\":\"SportsEvent\",\"name\":\"GP de Abu Dhabi 2026\",\"startDate\":\"2026-12-06\",\"location\":{\"@type\":\"Place\",\"name\":\"Yas Marina Circuit\",\"address\":{\"@type\":\"PostalAddress\",\"addressLocality\":\"Abu Dhabi\",\"addressCountry\":\"AE\"}},\"sport\":\"Formula 1\"}}\r\n  ]\r\n}\r\n<\/script>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow+Condensed:wght@400;600;700;800&family=Barlow:wght@400;500;600&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\r\n\r\n  :root {\r\n    --red: #e10600;\r\n    --red-dark: #b50000;\r\n    --black: #15151e;\r\n    --gray-dark: #38383f;\r\n    --gray-mid: #67676d;\r\n    --gray-light: #e8e8e8;\r\n    --gray-bg: #f5f5f7;\r\n    --white: #ffffff;\r\n    --upcoming: #fff7ed;\r\n    --upcoming-border: #fb923c;\r\n    --done: #f0fdf4;\r\n    --done-border: #4ade80;\r\n  }\r\n\r\n  body {\r\n    font-family: 'Barlow', sans-serif;\r\n    background: var(--white);\r\n    color: var(--black);\r\n    padding: 0;\r\n  }\r\n\r\n  \/* ---- HEADER ---- *\/\r\n  .cal-header {\r\n    background: var(--black);\r\n    padding: 28px 32px 24px;\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 16px;\r\n    position: relative;\r\n    overflow: hidden;\r\n  }\r\n  .cal-header::after {\r\n    content: 'F1';\r\n    position: absolute;\r\n    right: 24px;\r\n    top: 50%;\r\n    transform: translateY(-50%);\r\n    font-family: 'Barlow Condensed', sans-serif;\r\n    font-size: 96px;\r\n    font-weight: 800;\r\n    color: rgba(255,255,255,0.04);\r\n    line-height: 1;\r\n    letter-spacing: -4px;\r\n    pointer-events: none;\r\n  }\r\n  .cal-header-flag {\r\n    width: 48px;\r\n    height: 48px;\r\n    background: var(--red);\r\n    border-radius: 50%;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    flex-shrink: 0;\r\n  }\r\n  .cal-header-flag svg { width: 24px; height: 24px; fill: white; }\r\n  .cal-header-text {}\r\n  .cal-header-text h1 {\r\n    font-family: 'Barlow Condensed', sans-serif;\r\n    font-size: 28px;\r\n    font-weight: 800;\r\n    color: white;\r\n    letter-spacing: 1px;\r\n    text-transform: uppercase;\r\n    line-height: 1;\r\n  }\r\n  .cal-header-text p {\r\n    font-size: 13px;\r\n    color: rgba(255,255,255,0.5);\r\n    margin-top: 4px;\r\n    font-weight: 500;\r\n  }\r\n\r\n  \/* ---- FILTERS ---- *\/\r\n  .cal-filters {\r\n    background: var(--white);\r\n    border-bottom: 1px solid var(--gray-light);\r\n    padding: 12px 32px;\r\n    display: flex;\r\n    gap: 8px;\r\n    flex-wrap: wrap;\r\n    align-items: center;\r\n  }\r\n  .filter-btn {\r\n    font-family: 'Barlow Condensed', sans-serif;\r\n    font-size: 13px;\r\n    font-weight: 700;\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.5px;\r\n    padding: 6px 14px;\r\n    border-radius: 20px;\r\n    border: 1.5px solid var(--gray-light);\r\n    background: transparent;\r\n    color: var(--gray-mid);\r\n    cursor: pointer;\r\n    transition: all 0.18s ease;\r\n  }\r\n  .filter-btn:hover { border-color: var(--red); color: var(--red); }\r\n  .filter-btn.active { background: var(--red); border-color: var(--red); color: white; }\r\n  .cal-count {\r\n    margin-left: auto;\r\n    font-size: 13px;\r\n    color: var(--gray-mid);\r\n    font-weight: 500;\r\n  }\r\n  .cal-count span { font-weight: 700; color: var(--black); }\r\n\r\n  \/* ---- GRID ---- *\/\r\n  .cal-grid {\r\n    padding: 24px 32px 40px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 0;\r\n  }\r\n\r\n  \/* ---- RACE CARD ---- *\/\r\n  .race-card {\r\n    display: grid;\r\n    grid-template-columns: 56px 1fr auto;\r\n    gap: 0 16px;\r\n    padding: 16px 0;\r\n    border-bottom: 1px solid var(--gray-light);\r\n    align-items: center;\r\n    transition: background 0.15s;\r\n    cursor: default;\r\n    position: relative;\r\n  }\r\n  .race-card:last-child { border-bottom: none; }\r\n  .race-card:hover { background: var(--gray-bg); margin: 0 -32px; padding-left: 32px; padding-right: 32px; }\r\n\r\n  \/* Round number *\/\r\n  .race-round {\r\n    width: 40px;\r\n    height: 40px;\r\n    border-radius: 8px;\r\n    background: var(--gray-bg);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    font-family: 'Barlow Condensed', sans-serif;\r\n    font-size: 15px;\r\n    font-weight: 800;\r\n    color: var(--gray-mid);\r\n    flex-shrink: 0;\r\n    border: 1.5px solid var(--gray-light);\r\n  }\r\n  .race-card.status-next .race-round {\r\n    background: var(--red);\r\n    color: white;\r\n    border-color: var(--red);\r\n  }\r\n  .race-card.status-done .race-round {\r\n    background: #f0fdf4;\r\n    color: #16a34a;\r\n    border-color: #bbf7d0;\r\n  }\r\n\r\n  \/* Main info *\/\r\n  .race-info {}\r\n  .race-name-row {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    flex-wrap: wrap;\r\n  }\r\n  .race-flag { font-size: 20px; line-height: 1; }\r\n  .race-name {\r\n    font-family: 'Barlow Condensed', sans-serif;\r\n    font-size: 17px;\r\n    font-weight: 700;\r\n    color: var(--black);\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.3px;\r\n  }\r\n  .race-badge {\r\n    font-family: 'Barlow Condensed', sans-serif;\r\n    font-size: 10px;\r\n    font-weight: 700;\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.5px;\r\n    padding: 2px 7px;\r\n    border-radius: 4px;\r\n  }\r\n  .badge-next { background: var(--red); color: white; }\r\n  .badge-done { background: #dcfce7; color: #16a34a; }\r\n  .badge-sprint { background: #fef3c7; color: #d97706; }\r\n\r\n  .race-circuit {\r\n    font-size: 13px;\r\n    color: var(--gray-mid);\r\n    margin-top: 3px;\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 6px;\r\n  }\r\n  .race-circuit svg { width: 12px; height: 12px; opacity: 0.5; }\r\n\r\n  \/* Date block *\/\r\n  .race-date-block {\r\n    text-align: right;\r\n    flex-shrink: 0;\r\n    min-width: 100px;\r\n  }\r\n  .race-date-main {\r\n    font-family: 'Barlow Condensed', sans-serif;\r\n    font-size: 16px;\r\n    font-weight: 700;\r\n    color: var(--black);\r\n    line-height: 1.2;\r\n    text-transform: uppercase;\r\n  }\r\n  .race-date-year {\r\n    font-size: 12px;\r\n    color: var(--gray-mid);\r\n    font-weight: 500;\r\n  }\r\n  .race-countdown {\r\n    display: inline-block;\r\n    margin-top: 4px;\r\n    font-size: 11px;\r\n    font-weight: 600;\r\n    color: var(--red);\r\n    font-family: 'Barlow Condensed', sans-serif;\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.3px;\r\n  }\r\n  .race-card.status-done .race-date-main { color: var(--gray-mid); }\r\n\r\n  \/* Month separator *\/\r\n  .month-sep {\r\n    font-family: 'Barlow Condensed', sans-serif;\r\n    font-size: 11px;\r\n    font-weight: 700;\r\n    letter-spacing: 2px;\r\n    text-transform: uppercase;\r\n    color: var(--gray-mid);\r\n    padding: 20px 0 8px;\r\n    border-bottom: 2px solid var(--gray-light);\r\n    margin-bottom: 0;\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n  }\r\n  .month-sep::after {\r\n    content: '';\r\n    flex: 1;\r\n    height: 1px;\r\n    background: var(--gray-light);\r\n  }\r\n\r\n  \/* ---- LEGEND ---- *\/\r\n  .cal-legend {\r\n    padding: 16px 32px 0;\r\n    display: flex;\r\n    gap: 20px;\r\n    flex-wrap: wrap;\r\n    border-top: 1px solid var(--gray-light);\r\n    margin: 0 0 0 0;\r\n  }\r\n  .legend-item {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 6px;\r\n    font-size: 12px;\r\n    color: var(--gray-mid);\r\n  }\r\n  .legend-dot {\r\n    width: 8px; height: 8px;\r\n    border-radius: 50%;\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  \/* ---- FOOTER ---- *\/\r\n  .cal-footer {\r\n    padding: 16px 32px;\r\n    font-size: 11px;\r\n    color: var(--gray-mid);\r\n    text-align: center;\r\n    border-top: 1px solid var(--gray-light);\r\n  }\r\n\r\n  \/* ---- RESPONSIVE ---- *\/\r\n  @media (max-width: 600px) {\r\n    .cal-header { padding: 20px 16px; }\r\n    .cal-filters { padding: 10px 16px; }\r\n    .cal-grid { padding: 16px 16px 32px; }\r\n    .cal-legend { padding: 12px 16px 0; }\r\n    .cal-footer { padding: 12px 16px; }\r\n    .race-card:hover { margin: 0 -16px; padding-left: 16px; padding-right: 16px; }\r\n    .race-date-block { min-width: 80px; }\r\n    .race-name { font-size: 15px; }\r\n    .month-sep { padding-top: 14px; }\r\n    .cal-count { display: none; }\r\n  }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<!-- HEADER -->\r\n<div class=\"cal-header\">\r\n  <div class=\"cal-header-flag\">\r\n    <svg viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n      <path d=\"M4 4h4v4H4V4zm4 0h4v4H8V4zm4 0h4v4h-4V4zM4 8h4v4H4V8zm8 0h4v4h-4V8zm4 4h4v4h-4v-4zm-8 0h4v4H8v-4zm-4 4h4v4H4v-4zm8 0h4v4h-4v-4z\"\/>\r\n    <\/svg>\r\n  <\/div>\r\n  <div class=\"cal-header-text\">\r\n    <h1>Calendario F1 2026<\/h1>\r\n    <p>24 Grandes Premios \u00b7 Temporada oficial FIA<\/p>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- FILTERS -->\r\n<div class=\"cal-filters\">\r\n  <button class=\"filter-btn active\" onclick=\"filterRaces('all', this)\">Todos<\/button>\r\n  <button class=\"filter-btn\" onclick=\"filterRaces('upcoming', this)\">Pr\u00f3ximas<\/button>\r\n  <button class=\"filter-btn\" onclick=\"filterRaces('done', this)\">Disputadas<\/button>\r\n  <button class=\"filter-btn\" onclick=\"filterRaces('sprint', this)\">Sprint<\/button>\r\n  <span class=\"cal-count\" id=\"raceCount\">Mostrando <span>24<\/span> carreras<\/span>\r\n<\/div>\r\n\r\n<!-- CALENDAR GRID -->\r\n<div class=\"cal-grid\" id=\"calGrid\"><\/div>\r\n\r\n<!-- LEGEND -->\r\n<div class=\"cal-legend\">\r\n  <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:var(--red)\"><\/div> Pr\u00f3xima carrera<\/div>\r\n  <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#4ade80\"><\/div> Disputada<\/div>\r\n  <div class=\"legend-item\"><div class=\"legend-dot\" style=\"background:#fbbf24\"><\/div> GP Sprint<\/div>\r\n<\/div>\r\n\r\n<!-- FOOTER -->\r\n<div class=\"cal-footer\">\r\n  Calendario provisional FIA \u00b7 Actualizado a marzo 2026 \u00b7 <strong>autonoci\u00f3n.com<\/strong>\r\n<\/div>\r\n\r\n<script>\r\nconst RACES_2026 = [\r\n  { round: 1,  name: \"GP de Australia\",        circuit: \"Albert Park, Melbourne\",          flag: \"\ud83c\udde6\ud83c\uddfa\", date: new Date(\"2026-03-08\"), sprint: false },\r\n  { round: 2,  name: \"GP de China\",            circuit: \"Shanghai International Circuit\",  flag: \"\ud83c\udde8\ud83c\uddf3\", date: new Date(\"2026-03-15\"), sprint: true  },\r\n  { round: 3,  name: \"GP de Jap\u00f3n\",            circuit: \"Suzuka International Racing C.\",  flag: \"\ud83c\uddef\ud83c\uddf5\", date: new Date(\"2026-03-29\"), sprint: false },\r\n  { round: 4,  name: \"GP de Bahrein\",          circuit: \"Bahrain International Circuit\",   flag: \"\ud83c\udde7\ud83c\udded\", date: new Date(\"2026-04-12\"), sprint: false },\r\n  { round: 5,  name: \"GP de Arabia Saud\u00ed\",     circuit: \"Jeddah Corniche Circuit\",         flag: \"\ud83c\uddf8\ud83c\udde6\", date: new Date(\"2026-04-19\"), sprint: false },\r\n  { round: 6,  name: \"GP de Miami\",            circuit: \"Miami International Autodrome\",   flag: \"\ud83c\uddfa\ud83c\uddf8\", date: new Date(\"2026-05-03\"), sprint: true  },\r\n  { round: 7,  name: \"GP de Canad\u00e1\",           circuit: \"Circuit Gilles Villeneuve\",       flag: \"\ud83c\udde8\ud83c\udde6\", date: new Date(\"2026-05-24\"), sprint: true  },\r\n  { round: 8,  name: \"GP de M\u00f3naco\",           circuit: \"Circuit de Monaco\",               flag: \"\ud83c\uddf2\ud83c\udde8\", date: new Date(\"2026-06-07\"), sprint: false },\r\n  { round: 9,  name: \"GP de Espa\u00f1a\",           circuit: \"Circuit de Barcelona-Catalunya\",  flag: \"\ud83c\uddea\ud83c\uddf8\", date: new Date(\"2026-06-14\"), sprint: false },\r\n  { round: 10, name: \"GP de Austria\",          circuit: \"Red Bull Ring, Spielberg\",        flag: \"\ud83c\udde6\ud83c\uddf9\", date: new Date(\"2026-06-28\"), sprint: false },\r\n  { round: 11, name: \"GP de Gran Breta\u00f1a\",     circuit: \"Silverstone Circuit\",             flag: \"\ud83c\uddec\ud83c\udde7\", date: new Date(\"2026-07-05\"), sprint: true  },\r\n  { round: 12, name: \"GP de B\u00e9lgica\",          circuit: \"Circuit de Spa-Francorchamps\",    flag: \"\ud83c\udde7\ud83c\uddea\", date: new Date(\"2026-07-19\"), sprint: false },\r\n  { round: 13, name: \"GP de Hungr\u00eda\",          circuit: \"Hungaroring, Budapest\",           flag: \"\ud83c\udded\ud83c\uddfa\", date: new Date(\"2026-07-26\"), sprint: false },\r\n  { round: 14, name: \"GP de Pa\u00edses Bajos\",     circuit: \"Circuit Zandvoort\",               flag: \"\ud83c\uddf3\ud83c\uddf1\", date: new Date(\"2026-08-23\"), sprint: true  },\r\n  { round: 15, name: \"GP de Italia\",           circuit: \"Autodromo Nazionale Monza\",       flag: \"\ud83c\uddee\ud83c\uddf9\", date: new Date(\"2026-09-06\"), sprint: false },\r\n  { round: 16, name: \"GP de Madrid\",           circuit: \"Madring, Madrid\",                 flag: \"\ud83c\uddea\ud83c\uddf8\", date: new Date(\"2026-09-13\"), sprint: false },\r\n  { round: 17, name: \"GP de Azerbaiy\u00e1n\",       circuit: \"Baku City Circuit\",               flag: \"\ud83c\udde6\ud83c\uddff\", date: new Date(\"2026-09-26\"), sprint: false },\r\n  { round: 18, name: \"GP de Singapur\",         circuit: \"Marina Bay Street Circuit\",       flag: \"\ud83c\uddf8\ud83c\uddec\", date: new Date(\"2026-10-11\"), sprint: true  },\r\n  { round: 19, name: \"GP de Estados Unidos\",   circuit: \"Circuit of the Americas, Austin\", flag: \"\ud83c\uddfa\ud83c\uddf8\", date: new Date(\"2026-10-25\"), sprint: false },\r\n  { round: 20, name: \"GP de M\u00e9xico\",           circuit: \"Aut\u00f3dromo Hermanos Rodr\u00edguez\",    flag: \"\ud83c\uddf2\ud83c\uddfd\", date: new Date(\"2026-11-01\"), sprint: false },\r\n  { round: 21, name: \"GP de S\u00e3o Paulo\",        circuit: \"Aut\u00f3dromo Jos\u00e9 Carlos Pace\",      flag: \"\ud83c\udde7\ud83c\uddf7\", date: new Date(\"2026-11-08\"), sprint: false },\r\n  { round: 22, name: \"GP de Las Vegas\",        circuit: \"Las Vegas Strip Circuit\",         flag: \"\ud83c\uddfa\ud83c\uddf8\", date: new Date(\"2026-11-21\"), sprint: false },\r\n  { round: 23, name: \"GP de Qatar\",            circuit: \"Lusail International Circuit\",    flag: \"\ud83c\uddf6\ud83c\udde6\", date: new Date(\"2026-11-29\"), sprint: false },\r\n  { round: 24, name: \"GP de Abu Dhabi\",        circuit: \"Yas Marina Circuit\",              flag: \"\ud83c\udde6\ud83c\uddea\", date: new Date(\"2026-12-06\"), sprint: false },\r\n];\r\n\r\nconst MONTHS_ES = [\"Enero\",\"Febrero\",\"Marzo\",\"Abril\",\"Mayo\",\"Junio\",\"Julio\",\"Agosto\",\"Septiembre\",\"Octubre\",\"Noviembre\",\"Diciembre\"];\r\nconst DAYS_ES   = [\"Dom\",\"Lun\",\"Mar\",\"Mi\u00e9\",\"Jue\",\"Vie\",\"S\u00e1b\"];\r\n\r\nfunction getStatusAll() {\r\n  const now = new Date();\r\n  const nextRace = RACES_2026.find(r => r.date >= now);\r\n  return RACES_2026.map(r => {\r\n    if (r.date < now) return { ...r, status: 'done' };\r\n    if (nextRace && r.round === nextRace.round) return { ...r, status: 'next' };\r\n    return { ...r, status: 'upcoming' };\r\n  });\r\n}\r\n\r\nfunction countdown(date) {\r\n  const now = new Date();\r\n  const diff = date - now;\r\n  if (diff <= 0) return null;\r\n  const days = Math.ceil(diff \/ (1000 * 60 * 60 * 24));\r\n  if (days === 0) return \"\u00a1Hoy!\";\r\n  if (days === 1) return \"\u00a1Ma\u00f1ana!\";\r\n  if (days < 7) return `En ${days} d\u00edas`;\r\n  if (days < 14) return `En 1 semana`;\r\n  const weeks = Math.floor(days \/ 7);\r\n  if (weeks < 5) return `En ${weeks} semanas`;\r\n  return null;\r\n}\r\n\r\nfunction formatDate(date) {\r\n  const d = DAYS_ES[date.getDay()];\r\n  const day = date.getDate();\r\n  const month = MONTHS_ES[date.getMonth()].slice(0, 3).toUpperCase();\r\n  return `${d} ${day} ${month}`;\r\n}\r\n\r\nlet currentFilter = 'all';\r\n\r\nfunction renderCalendar(filter) {\r\n  const races = getStatusAll();\r\n  let filtered = races;\r\n  if (filter === 'upcoming') filtered = races.filter(r => r.status !== 'done');\r\n  if (filter === 'done') filtered = races.filter(r => r.status === 'done');\r\n  if (filter === 'sprint') filtered = races.filter(r => r.sprint);\r\n\r\n  const grid = document.getElementById('calGrid');\r\n  const countEl = document.querySelector('#raceCount span');\r\n  countEl.textContent = filtered.length;\r\n\r\n  let html = '';\r\n  let lastMonth = -1;\r\n\r\n  filtered.forEach(race => {\r\n    const month = race.date.getMonth();\r\n    if (month !== lastMonth) {\r\n      html += `<div class=\"month-sep\">${MONTHS_ES[month]} ${race.date.getFullYear()}<\/div>`;\r\n      lastMonth = month;\r\n    }\r\n\r\n    const statusClass = `status-${race.status}`;\r\n    const cd = countdown(race.date);\r\n    const badgeHtml = race.status === 'next'\r\n      ? `<span class=\"race-badge badge-next\">Pr\u00f3xima<\/span>`\r\n      : race.status === 'done'\r\n      ? `<span class=\"race-badge badge-done\">\u2713 Disputada<\/span>`\r\n      : '';\r\n    const sprintBadge = race.sprint ? `<span class=\"race-badge badge-sprint\">Sprint<\/span>` : '';\r\n\r\n    html += `\r\n      <div class=\"race-card ${statusClass}\" data-status=\"${race.status}\" data-sprint=\"${race.sprint}\">\r\n        <div class=\"race-round\">${race.round}<\/div>\r\n        <div class=\"race-info\">\r\n          <div class=\"race-name-row\">\r\n            <span class=\"race-flag\">${race.flag}<\/span>\r\n            <span class=\"race-name\">${race.name}<\/span>\r\n            ${badgeHtml}\r\n            ${sprintBadge}\r\n          <\/div>\r\n          <div class=\"race-circuit\">\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>\r\n            ${race.circuit}\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"race-date-block\">\r\n          <div class=\"race-date-main\">${formatDate(race.date)}<\/div>\r\n          <div class=\"race-date-year\">${race.date.getFullYear()}<\/div>\r\n          ${cd ? `<span class=\"race-countdown\">${cd}<\/span>` : ''}\r\n        <\/div>\r\n      <\/div>`;\r\n  });\r\n\r\n  grid.innerHTML = html;\r\n}\r\n\r\nfunction filterRaces(filter, btn) {\r\n  currentFilter = filter;\r\n  document.querySelectorAll('.filter-btn').forEach(b => b.classList.remove('active'));\r\n  btn.classList.add('active');\r\n  renderCalendar(filter);\r\n}\r\n\r\nrenderCalendar('all');\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-5950","page","type-page","status-publish"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/pages\/5950","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/comments?post=5950"}],"version-history":[{"count":2,"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/pages\/5950\/revisions"}],"predecessor-version":[{"id":5955,"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/pages\/5950\/revisions\/5955"}],"wp:attachment":[{"href":"https:\/\/www.autonocion.com\/motornocion\/wp-json\/wp\/v2\/media?parent=5950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}