/* Revista Completa 1.8 — España viva, mobile first. */
:root {
  --rc-nowbar-height: 48px;
  --rc-ink: #21151a;
  --rc-ink-soft: #685a5d;
  --rc-paper: #fffaf0;
  --rc-surface: #fffefa;
  --rc-surface-2: #f7eedb;
  --rc-line: rgba(81, 43, 43, .14);
  --rc-coral: #c60b1e;
  --rc-coral-dark: #9f0716;
  --rc-violet: #8f2f4d;
  --rc-cyan: #167f8d;
  --rc-yellow: #f9c80e;
  --rc-green: #2e8b68;
  --rc-inverse-bg: #25151c;
  --rc-font-ui: "DM Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --rc-font-editorial: "Lora", Iowan Old Style, Baskerville, Georgia, serif;
  --rc-font-reading: "Lora", Charter, Georgia, serif;
}

html[data-theme="dark"] {
  --rc-ink: #fff7eb;
  --rc-ink-soft: #c2b5b4;
  --rc-paper: #100e14;
  --rc-surface: #1a161e;
  --rc-surface-2: #261e25;
  --rc-line: rgba(255, 239, 222, .14);
  --rc-inverse-bg: #fff7eb;
  --rc-shadow: 0 24px 70px rgba(0, 0, 0, .42);
}

body { background: var(--rc-paper); font-family: var(--rc-font-ui); }
::selection { color: #25151c; background: var(--rc-yellow); }
.rc-kicker { color: var(--rc-coral); }
.rc-button--ghost:hover,
.rc-header-search:hover { background: var(--rc-coral); border-color: var(--rc-coral); }
.rc-header { background: color-mix(in srgb, var(--rc-paper) 91%, transparent); }
.rc-header__links a:hover { color: var(--rc-coral); background: color-mix(in srgb, var(--rc-coral) 7%, var(--rc-surface)); }
.rc-brand-mark__plate { fill: #28151b; stroke: color-mix(in srgb, var(--rc-coral) 58%, transparent); }
.rc-brand-mark__spine { stroke: var(--rc-yellow); }
.rc-brand-mark__bookmark { fill: var(--rc-coral); }
.rc-brand-mark__signal { fill: var(--rc-yellow); }
html[data-theme="dark"] .rc-brand-mark__plate { fill: #2c1b25; stroke: rgba(249, 200, 14, .38); }

/* A lightweight live ribbon, intentionally not an article or page cache. */
.rc-nowbar {
  position: relative;
  z-index: 20;
  overflow: hidden;
  color: #fff9ee;
  background: #2a151c;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  height: var(--rc-nowbar-height);
}
.rc-nowbar::before {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, rgba(198, 11, 30, .7), transparent 33%),
    repeating-linear-gradient(125deg, transparent 0 38px, rgba(255, 255, 255, .025) 38px 39px);
  pointer-events: none;
}
.rc-nowbar__track {
  position: relative;
  display: flex;
  min-height: 48px;
  align-items: stretch;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
  height: 100%;
}
.rc-nowbar__track::-webkit-scrollbar { display: none; }
.rc-nowbar__lead,
.rc-nowbar__item,
.rc-nowbar__jump {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  scroll-snap-align: start;
  border-right: 1px solid rgba(255, 255, 255, .11);
}
.rc-nowbar__lead { gap: 9px; padding: 0 16px 0 2px; }
.rc-nowbar__lead strong { font-family: var(--rc-font-editorial); font-size: .82rem; font-weight: 600; white-space: nowrap; }
.rc-nowbar__flag { display: grid; width: 25px; height: 18px; overflow: hidden; border-radius: 4px; box-shadow: 0 0 0 1px rgba(255,255,255,.18); }
.rc-nowbar__flag i { background: #aa151b; }
.rc-nowbar__flag i:nth-child(2) { background: #f1bf00; }
.rc-nowbar__item { min-width: 112px; gap: 8px; padding: 0 14px; }
.rc-nowbar__item small { color: #c9b9b8; font-size: .55rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.rc-nowbar__item b { font-size: .69rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rc-nowbar__weather b { display: flex; gap: 4px; align-items: center; }
.rc-nowbar__weather b > i { color: var(--rc-yellow); font-size: .9rem; font-style: normal; }
.rc-nowbar__jump { gap: 7px; margin-left: auto; padding: 0 2px 0 16px; border-right: 0; color: var(--rc-yellow); font-size: .63rem; font-weight: 800; white-space: nowrap; }
.rc-nowbar__jump span { transition: transform .25s; }
.rc-nowbar__jump:hover span { transform: translateY(3px); }

/* The first composition is exactly one visible screen, including its topic rail. */
.home .rc-hero {
  grid-template-rows: minmax(0, 1fr) auto;
  height: calc(100vh - var(--rc-header-height) - var(--rc-nowbar-height) - var(--rc-admin-bar-height));
  height: calc(100svh - var(--rc-header-height) - var(--rc-nowbar-height) - var(--rc-admin-bar-height));
  min-height: calc(100vh - var(--rc-header-height) - var(--rc-nowbar-height) - var(--rc-admin-bar-height));
  min-height: calc(100svh - var(--rc-header-height) - var(--rc-nowbar-height) - var(--rc-admin-bar-height));
  max-height: calc(100vh - var(--rc-header-height) - var(--rc-nowbar-height) - var(--rc-admin-bar-height));
  max-height: calc(100svh - var(--rc-header-height) - var(--rc-nowbar-height) - var(--rc-admin-bar-height));
}
.home .rc-hero__grid {
  width: min(calc(100% - 32px), var(--rc-container));
  height: 100%;
  min-height: 0;
  padding-top: clamp(18px, 3.6svh, 44px);
  padding-bottom: clamp(16px, 3.2svh, 38px);
  overflow: hidden;
}

/* Full-screen mobile navigation: the document never scrolls behind it. */
@media (max-width: 899px) {
  .rc-explore-menu__sheet {
    inset: 0;
    max-height: 100dvh;
    overflow: hidden;
    padding-top: max(12px, env(safe-area-inset-top));
    border: 0;
    border-radius: 0;
    overscroll-behavior: none;
    touch-action: none;
  }
  .rc-explore-menu__inner { min-height: 100%; padding-bottom: max(30px, env(safe-area-inset-bottom)); }
}

@media (max-width: 759px) {
  .home .rc-hero__grid {
    position: relative;
    display: block;
    width: calc(100% - 24px);
    padding-top: clamp(14px, 2.7svh, 24px);
    padding-bottom: clamp(10px, 1.8svh, 17px);
  }
  .home .rc-hero__copy { position: relative; z-index: 2; }
  .home .rc-hero .rc-kicker { margin-bottom: clamp(7px, 1.3svh, 12px); font-size: .61rem; }
  .home .rc-hero h1 {
    max-width: 94%;
    margin-bottom: clamp(8px, 1.5svh, 13px);
    font-size: clamp(2.2rem, 10.7vw, 3.15rem);
    line-height: .91;
  }
  .home .rc-hero__copy > p {
    display: -webkit-box;
    max-width: 88%;
    margin-bottom: clamp(10px, 1.8svh, 16px);
    overflow: hidden;
    font-size: clamp(.78rem, 3.25vw, .94rem);
    line-height: 1.42;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .home .rc-hero-search { min-height: 46px; }
  .home .rc-hero-search button { min-height: 38px; }
  .home .rc-hero__trust { gap: 5px 14px; margin-top: clamp(9px, 1.6svh, 14px); }
  .home .rc-hero__trust span { font-size: .55rem; }
  .home .rc-hero__trust b { font-size: .77rem; }
  .home .rc-hero .rc-visual {
    position: absolute;
    right: -70px;
    bottom: -40px;
    z-index: 0;
    width: min(58vw, 225px);
    margin: 0;
    opacity: .13;
    pointer-events: none;
  }
  .home .rc-topic-explorer { flex: 0 0 auto; padding-block: 8px 7px; }
  .home .rc-topic-explorer__head { margin-bottom: 5px; }
  .home .rc-topic-explorer__intro span { display: none; }
  .home .rc-topic-explorer__intro strong { font-size: .94rem; }
  .home .rc-topic-explorer__all { min-height: 31px; }
  .home .rc-topic-explorer__group > a { min-height: 45px; }
}

@media (max-width: 759px) and (max-height: 620px) {
  .home .rc-hero__grid { padding-top: 10px; padding-bottom: 7px; }
  .home .rc-hero h1 { max-width: 100%; margin-bottom: 7px; font-size: clamp(2rem, 9.8vw, 2.65rem); }
  .home .rc-hero__copy > p { margin-bottom: 8px; font-size: .74rem; line-height: 1.35; }
  .home .rc-hero-search { min-height: 42px; }
  .home .rc-hero-search button { min-height: 34px; }
  .home .rc-hero__trust { margin-top: 7px; }
  .home .rc-topic-explorer__head { display: none; }
  .home .rc-topic-explorer__group > a { min-height: 42px; }
}

/* Spain live hub. */
.rc-spain-now {
  position: relative;
  padding: 74px 0 88px;
  overflow: hidden;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--rc-yellow) 10%, var(--rc-paper)), var(--rc-paper) 28%, color-mix(in srgb, var(--rc-coral) 4%, var(--rc-paper)));
  isolation: isolate;
  scroll-margin-top: calc(var(--rc-header-height) + 12px);
}
.rc-spain-now::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
  opacity: .32;
  background-image: radial-gradient(color-mix(in srgb, var(--rc-coral) 28%, transparent) .75px, transparent .75px);
  background-size: 17px 17px;
  mask-image: linear-gradient(to bottom, #000, transparent 42%);
}
.rc-spain-now__sun {
  position: absolute;
  top: -170px;
  right: -170px;
  z-index: -1;
  width: 440px;
  height: 440px;
  border: 1px solid color-mix(in srgb, var(--rc-yellow) 38%, transparent);
  border-radius: 50%;
  box-shadow: 0 0 0 55px color-mix(in srgb, var(--rc-yellow) 7%, transparent), 0 0 0 110px color-mix(in srgb, var(--rc-coral) 3%, transparent);
}
.rc-spain-now__head { display: grid; gap: 14px; margin-bottom: 32px; }
.rc-spain-now__eyebrow { display: flex; gap: 10px; align-items: center; color: var(--rc-coral); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.rc-spain-now__eyebrow i { width: 28px; height: 4px; background: linear-gradient(#aa151b 0 33%, #f1bf00 33% 66%, #aa151b 66%); border-radius: 99px; }
.rc-spain-now__head h2 { margin: 6px 0 0; font-size: clamp(3rem, 13vw, 6.8rem); line-height: .92; letter-spacing: -.055em; }
.rc-spain-now__head > p { max-width: 520px; margin: 0; color: var(--rc-ink-soft); font-size: .93rem; }
.rc-spain-now__grid { display: grid; gap: 14px; }
.rc-spain-panel {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 20px;
  background: color-mix(in srgb, var(--rc-surface) 94%, transparent);
  border: 1px solid var(--rc-line);
  border-radius: 23px;
  box-shadow: 0 14px 40px rgba(82, 37, 34, .07);
}
html[data-theme="dark"] .rc-spain-panel { box-shadow: 0 18px 45px rgba(0,0,0,.2); }
.rc-spain-panel > header { display: flex; gap: 14px; align-items: flex-start; justify-content: space-between; margin-bottom: 20px; }
.rc-spain-panel h3 { margin: 5px 0 0; font-size: clamp(1.55rem, 7vw, 2.35rem); line-height: 1; }
.rc-spain-panel__label { color: var(--rc-coral); font-size: .6rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }

.rc-spain-today { min-height: 370px; color: #fff7eb; background: #2a151c; border-color: rgba(255,255,255,.1); isolation: isolate; }
.rc-spain-today::before { position: absolute; inset: 0; z-index: -2; content: ""; background: radial-gradient(circle at 90% 5%, rgba(249,200,14,.22), transparent 33%), linear-gradient(145deg,#2a151c,#401822 62%,#321721); }
.rc-spain-today__copy { position: relative; z-index: 2; }
.rc-spain-today .rc-spain-panel__label { color: var(--rc-yellow); }
.rc-spain-today__copy p { margin: 13px 0 2px; color: #d8c7c4; font-size: .72rem; text-transform: capitalize; }
.rc-spain-today__copy > strong { display: block; max-width: 340px; font-family: var(--rc-font-editorial); font-size: clamp(2.15rem, 10vw, 4rem); font-weight: 600; line-height: .98; text-transform: capitalize; }
.rc-spain-clocks { position: absolute; right: 18px; bottom: 18px; left: 18px; z-index: 3; display: grid; grid-template-columns: 1fr 1px 1fr; gap: 14px; align-items: center; padding: 14px; background: rgba(20, 9, 14, .58); border: 1px solid rgba(255,255,255,.13); border-radius: 16px; backdrop-filter: blur(12px); }
.rc-spain-clocks > i { width: 1px; height: 42px; background: rgba(255,255,255,.15); }
.rc-spain-clocks > div { min-width: 0; }
.rc-spain-clocks small { display: block; color: #d3c0bf; font-size: .56rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.rc-spain-clocks time { display: block; margin: 1px 0; font-size: clamp(1.13rem, 5.5vw, 1.55rem); font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.rc-spain-clocks span { display: block; overflow: hidden; color: #9f898a; font-size: .52rem; text-overflow: ellipsis; white-space: nowrap; }
.rc-spain-today__art { position: absolute; right: -35px; bottom: 83px; width: 310px; color: #fff; opacity: .56; }

.rc-spain-weather__updated { padding: 5px 9px; color: var(--rc-green); background: color-mix(in srgb, var(--rc-green) 9%, var(--rc-surface)); border-radius: 99px; font-size: .53rem; font-weight: 750; white-space: nowrap; }
.rc-spain-weather__places { display: grid; gap: 10px; }
.rc-weather-place { position: relative; min-height: 230px; padding: 17px; overflow: hidden; border: 1px solid var(--rc-line); border-radius: 18px; }
.rc-weather-place::after { position: absolute; right: -52px; bottom: -65px; width: 160px; height: 160px; content: ""; background: radial-gradient(circle, color-mix(in srgb, var(--rc-yellow) 22%, transparent), transparent 66%); }
.rc-weather-place--madrid { background: linear-gradient(145deg, color-mix(in srgb, var(--rc-yellow) 12%, var(--rc-surface)), var(--rc-surface)); }
.rc-weather-place--local { background: linear-gradient(145deg, color-mix(in srgb, var(--rc-cyan) 9%, var(--rc-surface)), var(--rc-surface)); }
.rc-weather-place__top { display: flex; align-items: center; justify-content: space-between; }
.rc-weather-place__top > span { display: flex; gap: 7px; align-items: center; font-size: .7rem; font-weight: 800; }
.rc-weather-place__top > span i { width: 7px; height: 7px; background: var(--rc-coral); border-radius: 50%; box-shadow: 0 0 0 4px color-mix(in srgb, var(--rc-coral) 12%, transparent); }
.rc-weather-place--local .rc-weather-place__top > span i { background: var(--rc-cyan); box-shadow: 0 0 0 4px color-mix(in srgb, var(--rc-cyan) 12%, transparent); }
.rc-weather-place__top > b { color: var(--rc-coral); font-size: 1.45rem; font-weight: 500; }
.rc-weather-place > strong { display: block; margin: 21px 0 1px; font-family: var(--rc-font-editorial); font-size: clamp(3.5rem, 17vw, 5.3rem); font-weight: 600; line-height: .85; letter-spacing: -.08em; }
.rc-weather-place > p { min-height: 42px; margin: 9px 0; color: var(--rc-ink-soft); font-size: .68rem; line-height: 1.45; }
.rc-weather-place > div:last-child { display: flex; gap: 12px; color: var(--rc-ink-soft); font-size: .59rem; }
.rc-weather-place > div:last-child b { color: var(--rc-ink); }
.rc-weather-place button { position: relative; z-index: 2; display: flex; gap: 8px; align-items: center; min-height: 39px; padding: 0 12px; color: #fff; background: var(--rc-cyan); border: 0; border-radius: 99px; font-size: .6rem; font-weight: 800; }
.rc-weather-place button:hover { background: var(--rc-coral); }
.rc-weather-place button[disabled] { opacity: .65; cursor: wait; }
.rc-spain-source { margin: 13px 0 0; color: var(--rc-ink-soft); font-size: .55rem; line-height: 1.45; }
.rc-spain-source a { color: var(--rc-coral); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }

.rc-spain-calendar header { align-items: center; }
.rc-calendar-nav { display: flex; gap: 5px; align-items: center; }
.rc-calendar-nav button { min-width: 36px; height: 36px; padding: 0 8px; color: var(--rc-ink); background: var(--rc-surface-2); border: 1px solid var(--rc-line); border-radius: 10px; font-size: .66rem; font-weight: 800; }
.rc-calendar-nav button:hover { color: #fff; background: var(--rc-coral); border-color: var(--rc-coral); }
.rc-calendar table { width: 100%; table-layout: fixed; border-spacing: 4px; }
.rc-calendar th { padding-bottom: 7px; color: var(--rc-ink-soft); font-size: .52rem; letter-spacing: .07em; text-transform: uppercase; }
.rc-calendar td { height: 38px; padding: 0; text-align: center; }
.rc-calendar td > button,
.rc-calendar td > span { position: relative; display: grid; width: 100%; height: 100%; place-items: center; padding: 0; color: var(--rc-ink); background: transparent; border: 1px solid transparent; border-radius: 10px; font-size: .65rem; font-weight: 700; }
.rc-calendar td > span { color: color-mix(in srgb, var(--rc-ink-soft) 28%, transparent); }
.rc-calendar td > button:hover { border-color: var(--rc-line); background: var(--rc-surface-2); }
.rc-calendar td.is-today > button { color: #25151c; background: var(--rc-yellow); }
.rc-calendar td.has-observance > button::after { position: absolute; bottom: 3px; width: 4px; height: 4px; content: ""; background: var(--rc-coral); border-radius: 50%; }
.rc-calendar td.has-observance > button { border-color: color-mix(in srgb, var(--rc-coral) 20%, transparent); }
.rc-calendar-key { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0 8px; color: var(--rc-ink-soft); font-size: .55rem; }
.rc-calendar-key span { display: flex; gap: 6px; align-items: center; }
.rc-calendar-key i { width: 8px; height: 8px; background: var(--rc-yellow); border-radius: 3px; }
.rc-calendar-key span:last-child i { background: var(--rc-coral); border-radius: 50%; }
.rc-calendar-detail { min-height: 42px; margin: 0; padding: 10px 12px; color: var(--rc-ink-soft); background: var(--rc-surface-2); border-radius: 11px; font-size: .62rem; line-height: 1.45; }

.rc-spain-history__mark { display: grid; width: 38px; height: 38px; place-items: center; color: #25151c; background: var(--rc-yellow); border-radius: 50%; animation: rc-spain-mark 4s ease-in-out infinite; }
.rc-spain-history__list { display: grid; gap: 0; }
.rc-spain-history__item { display: grid; grid-template-columns: 56px 1fr auto; gap: 10px; align-items: start; padding: 14px 0; border-top: 1px solid var(--rc-line); }
.rc-spain-history__item > time { color: var(--rc-coral); font-family: var(--rc-font-editorial); font-size: 1.08rem; font-weight: 700; }
.rc-spain-history__item p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--rc-ink); font-size: .68rem; line-height: 1.5; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.rc-spain-history__item > span { color: var(--rc-coral); transition: transform .25s; }
.rc-spain-history__item:hover > span { transform: translate(3px,-3px); }
.rc-spain-loading { padding: 22px 0; color: var(--rc-ink-soft); font-size: .7rem; animation: rc-spain-breathe 1.4s ease-in-out infinite; }

.rc-spain-fiestas { color: #fff7eb; background: #2a151c; border-color: rgba(255,255,255,.1); }
.rc-spain-fiestas .rc-spain-panel__label { color: var(--rc-yellow); }
.rc-spain-fiestas h3 { color: #fff; }
.rc-spain-fiestas > header > span { display: grid; width: 39px; height: 39px; place-items: center; color: #25151c; background: var(--rc-yellow); border-radius: 11px; font-size: .62rem; font-weight: 900; transform: rotate(5deg); }
.rc-spain-fiestas__list { display: grid; gap: 8px; }
.rc-spain-fiesta { display: grid; grid-template-columns: 50px 1fr auto; gap: 11px; align-items: center; min-height: 67px; padding: 9px 11px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.1); border-radius: 13px; }
.rc-spain-fiesta__date { display: grid; place-items: center; min-height: 45px; color: #25151c; background: #fff7eb; border-radius: 10px; line-height: 1; }
.rc-spain-fiesta__date strong { font-family: var(--rc-font-editorial); font-size: 1.2rem; }
.rc-spain-fiesta__date small { margin-top: 3px; font-size: .5rem; font-weight: 800; text-transform: uppercase; }
.rc-spain-fiesta__copy strong { display: block; color: #fff; font-family: var(--rc-font-editorial); font-size: .84rem; }
.rc-spain-fiesta__copy small { color: #bdaeb0; font-size: .53rem; }
.rc-spain-fiesta > b { color: var(--rc-yellow); font-size: .55rem; font-weight: 800; white-space: nowrap; }
.rc-spain-fiestas > p { margin: 13px 0 0; color: #a99599; font-size: .54rem; line-height: 1.45; }

/* Footer becomes a recognizable Spanish closing scene. */
.rc-footer { background: #21131a; }
.rc-footer__culture { position: relative; min-height: 115px; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.1); }
.rc-footer__culture > svg { position: absolute; inset: 0; width: 100%; height: 100%; color: #fff; }
.rc-footer__land,
.rc-footer__arches { fill: none; stroke: rgba(255,255,255,.18); stroke-width: 3; vector-effect: non-scaling-stroke; }
.rc-footer__arches { stroke: rgba(249,200,14,.5); }
.rc-footer__sun { fill: rgba(249,200,14,.18); stroke: var(--rc-yellow); stroke-width: 3; }
.rc-footer__culture > div { position: absolute; right: 0; bottom: 14px; left: 0; display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; color: #d6c6c6; font-size: .53rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.rc-footer__culture > div i { width: 4px; height: 4px; background: var(--rc-yellow); border-radius: 50%; }

@keyframes rc-spain-mark { 50% { transform: rotate(12deg) scale(1.07); } }
@keyframes rc-spain-breathe { 50% { opacity: .45; } }

@media (min-width: 620px) {
  .rc-spain-now { padding-block: 86px 100px; }
  .rc-spain-now__head { grid-template-columns: 1fr minmax(280px, 450px); align-items: end; }
  .rc-spain-now__head > p { justify-self: end; }
  .rc-spain-now__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rc-spain-today { grid-column: 1 / -1; min-height: 390px; padding: 27px; }
  .rc-spain-today__art { right: 1%; bottom: 38px; width: 430px; }
  .rc-spain-clocks { right: auto; bottom: 24px; left: 24px; width: min(460px, calc(100% - 48px)); }
  .rc-spain-weather { grid-column: 1 / -1; }
  .rc-spain-weather__places { grid-template-columns: 1fr 1fr; }
  .rc-weather-place { min-height: 245px; }
  .rc-spain-history { grid-column: 1 / -1; }
}

@media (min-width: 900px) {
  .rc-nowbar__track { overflow: visible; }
  .rc-nowbar__item { min-width: 128px; }
  .rc-nowbar__jump { padding-right: 0; }
  .rc-spain-now__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .rc-spain-today { grid-column: span 7; grid-row: span 1; min-height: 430px; }
  .rc-spain-weather { grid-column: span 5; min-height: 430px; }
  .rc-spain-weather__places { grid-template-columns: 1fr 1fr; }
  .rc-weather-place { min-height: 270px; }
  .rc-weather-place > strong { font-size: clamp(3.5rem, 5.3vw, 5rem); }
  .rc-spain-calendar { grid-column: span 4; }
  .rc-spain-history { grid-column: span 5; }
  .rc-spain-fiestas { grid-column: span 3; }
  .rc-spain-panel { padding: 23px; border-radius: 27px; }
}

@media (min-width: 1180px) {
  .rc-spain-weather__places { gap: 12px; }
  .rc-spain-today__art { right: -1%; width: 470px; }
  .rc-spain-history__item p { font-size: .71rem; }
}

@media (max-width: 619px) {
  .rc-nowbar__track { width: calc(100% - 16px); margin-left: 16px; }
  .rc-nowbar__lead { padding-left: 0; }
  .rc-nowbar__jump { margin-left: 0; padding-right: 16px; }
  .rc-spain-now { padding-top: 62px; }
  .rc-spain-now__sun { width: 300px; height: 300px; }
  .rc-spain-today__art { right: -72px; bottom: 94px; opacity: .35; }
  .rc-spain-weather__updated { display: none; }
  .rc-calendar table { border-spacing: 2px; }
  .rc-calendar td { height: 36px; }
  .rc-spain-history__item { grid-template-columns: 48px 1fr auto; }
}

@media (prefers-reduced-motion: reduce) {
  .rc-spain-history__mark,
  .rc-spain-loading { animation: none; }
}
