/* Temporadas (Tagus_Value_Seasons) : faixa du haut, hero teinté, oferta, Notícias e destaques.
   Les couleurs viennent des variables --tv-s-* écrites par le plugin pour le thème actif. */

.tv-season-ribbon { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 14px; padding: 10px 16px; background: var(--tv-s-ribbon-bg); color: var(--tv-s-ribbon-ink); font-size: .9375rem; font-weight: 500; line-height: 1.4; text-align: center; }
.tv-season-ribbon a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; min-height: 24px; }

.tv-season .tvt-btn--primary { background: var(--tv-s-accent); border-color: var(--tv-s-accent); color: var(--tv-s-accent-ink); box-shadow: none; }
.tv-season .tvt-btn--primary:hover { color: var(--tv-s-accent-ink); filter: brightness(1.08); }

.tv-season--hero .tvt-hero { background: var(--tv-s-hero-bg); }
.tv-season--hero .tvt-hero-visual:after { background: linear-gradient(90deg, color-mix(in srgb, var(--tv-s-hero-bg) 92%, transparent), color-mix(in srgb, var(--tv-s-hero-bg) 60%, transparent) 48%, color-mix(in srgb, var(--tv-s-hero-bg) 20%, transparent)); }
.tv-season--hero .tvt-hero h1,
.tv-season--hero .tvt-hero__subtitle,
.tv-season--hero .tvt-hero .tvt-report-link,
.tv-season--hero .tvt-hero .tvt-stat__num,
.tv-season--hero .tvt-hero .tvt-stat__label { color: var(--tv-s-hero-ink); }
.tv-season--hero .tvt-hero .tvt-eyebrow,
.tv-season--hero .tvt-hero .tvt-stat__suffix,
.tv-season--hero .tvt-hero .tvt-stat__prefix { color: var(--tv-s-hero-ink); opacity: .85; }

.tv-season-offer { background: var(--tv-s-hero-bg); color: var(--tv-s-hero-ink); padding-block: clamp(2rem, 4vw, 3rem); }
.tv-season-offer__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 40px; }
.tv-season-offer__inner > div { flex: 1 1 360px; min-width: 0; }
.tv-season-offer h2 { color: inherit; margin: 0 0 8px; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem); }
.tv-season-offer p { margin: 0 0 6px; color: inherit; }
.tv-season-offer__eyebrow { font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .85; }
.tv-season-offer__count { display: flex; flex-direction: column; align-items: center; padding: 14px 22px; border: 2px solid currentColor; border-radius: 16px; line-height: 1.1; }
.tv-season-offer__count strong { font-size: 2.4rem; }
.tv-season-offer__count span { font-size: .8125rem; font-weight: 600; }
.tv-season-offer__cta { display: inline-flex; align-items: center; min-height: 48px; padding: 0 24px; border-radius: 999px; background: var(--tv-s-accent); color: var(--tv-s-accent-ink); font-weight: 700; text-decoration: none; }
.tv-season-offer__cta:hover { color: var(--tv-s-accent-ink); filter: brightness(1.08); }

.tv-season-news__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 16px; margin-bottom: 28px; }
.tv-season-news__head h2 { margin: 0; }
.tv-season-news__pinned { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); border: 1px solid var(--tv-border, #e0e6ed); border-radius: 18px; overflow: hidden; background: #fff; margin-bottom: 24px; }
.tv-season-news__media { position: relative; min-height: 220px; background: var(--tv-s-hero-bg, var(--tv-navy, #2c3e50)); }
.tv-season-news__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tv-season-news__badge { position: absolute; left: 20px; bottom: 20px; padding: 6px 12px; border-radius: 999px; background: var(--tv-s-accent, var(--tv-teal-dark, #16a085)); color: var(--tv-s-accent-ink, #fff); font-size: .75rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.tv-season-news__body { padding: clamp(20px, 3vw, 32px); display: flex; flex-direction: column; justify-content: center; gap: 10px; }
.tv-season-news__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 20px; }
.tv-season-news__card { border: 1px solid var(--tv-border, #e0e6ed); border-radius: 16px; padding: 22px; background: #fff; display: flex; flex-direction: column; gap: 8px; }
.tv-season-news h3 { margin: 0; font-size: 1.15rem; line-height: 1.3; }
.tv-season-news h3 a { color: inherit; text-decoration: none; }
.tv-season-news h3 a:hover { text-decoration: underline; }
.tv-season-news p { margin: 0; color: var(--tv-text-muted, #5d6d7e); }
.tv-season-news time { font-size: .8125rem; color: var(--tv-text-muted, #5d6d7e); }
