/* ÖOBV Shared Component Styles */

/* PAGE HERO */
.page-hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;overflow:hidden;padding-top:var(--nav-h,70px);}
.page-hero-mosaic{position:absolute;inset:0;display:grid;grid-template-columns:1.3fr .95fr 1fr .85fr;grid-template-rows:1fr 1fr;gap:3px;}
.page-hero-mosaic img{width:100%;height:100%;object-fit:cover;filter:brightness(.26) saturate(.7);}
.page-hero-mosaic img:first-child{grid-row:1/3;}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(155deg,transparent 18%,rgba(11,11,11,.55) 52%,rgba(11,11,11,.97) 80%);}
.page-hero-body{position:relative;z-index:2;width:100%;max-width:1140px;margin:0 auto;padding:0 28px 68px;}
.page-hero-body h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.8rem,8vw,6.2rem);letter-spacing:.04em;line-height:1;margin-bottom:18px;animation:ph-up .8s cubic-bezier(.22,1,.36,1) .15s both;}
.page-hero-body h1 .hi{color:#F5D000;}
.page-hero-body .tag{animation:ph-up .8s cubic-bezier(.22,1,.36,1) both;}
.page-hero-body p{font-size:1.08rem;font-weight:300;color:rgba(255,255,255,.62);max-width:540px;line-height:1.72;margin-bottom:28px;animation:ph-up .8s cubic-bezier(.22,1,.36,1) .3s both;}
.page-hero-body .ph-btns{display:flex;gap:14px;flex-wrap:wrap;animation:ph-up .8s cubic-bezier(.22,1,.36,1) .45s both;}
@keyframes ph-up{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}

/* TICKER */
.ticker{background:#F5D000;padding:13px 0;overflow:hidden;white-space:nowrap;}
.ticker-track{display:inline-flex;width:max-content;animation:ticker-anim 32s linear infinite;}
.ticker-item{display:inline-flex;align-items:center;gap:16px;padding:0 28px;font-weight:700;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:#0B0B0B;}
.ticker-dot{width:4px;height:4px;background:rgba(0,0,0,.3);border-radius:50%;flex-shrink:0;}
@keyframes ticker-anim{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* CALENDAR */
.cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:48px;}
.cal-month{background:var(--surface,#141414);border:1px solid rgba(245,208,0,.08);border-radius:8px;overflow:hidden;}
.cal-month.has-event{border-color:rgba(245,208,0,.25);}
.cal-month-head{background:rgba(255,255,255,.03);padding:9px 14px;font-family:'Bebas Neue',sans-serif;font-size:.9rem;letter-spacing:.1em;color:rgba(160,160,160,.8);}
.cal-month.has-event .cal-month-head{color:#F5D000;}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;padding:6px;}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.68rem;color:#555;border-radius:3px;}
.cal-day.wd{color:rgba(255,255,255,.25);font-size:.55rem;letter-spacing:.04em;}
.cal-day.event{background:#F5D000;color:#0B0B0B;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;border-radius:4px;}
.cal-day.event:hover{transform:scale(1.2);box-shadow:0 4px 14px rgba(245,208,0,.4);}
.cal-day.event-intl{background:rgba(245,208,0,.12);color:#F5D000;border:1px solid rgba(245,208,0,.5);cursor:pointer;font-weight:700;border-radius:4px;font-size:.62rem;}
.cal-day.event-intl:hover{background:rgba(245,208,0,.22);}

/* TOURNAMENT CARDS */
.tournament-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.t-card{background:var(--surface,#141414);border:1px solid rgba(245,208,0,.08);border-radius:8px;overflow:hidden;cursor:pointer;transition:border-color .3s,box-shadow .3s;text-decoration:none;color:inherit;display:block;}
.t-card:hover{border-color:rgba(245,208,0,.25);box-shadow:0 12px 40px rgba(0,0,0,.4);}
.t-card.featured{border-color:#F5D000;}
.t-card-img{width:100%;height:200px;object-fit:cover;filter:brightness(.85);transition:filter .3s;}
.t-card:hover .t-card-img{filter:brightness(1);}
.t-card-body{padding:24px;}
.t-card-body .tag{margin-bottom:8px;}
.t-card-body h3{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.06em;margin-bottom:8px;}
.t-card-body p{color:rgba(160,160,160,.9);font-size:.9rem;line-height:1.62;margin-bottom:14px;}
.t-meta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
.t-meta-item{font-size:.8rem;color:rgba(160,160,160,.8);}
.t-meta-item strong{color:#fff;font-weight:600;}

/* NEWS CARDS */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.news-card{background:var(--surface,#141414);border:1px solid rgba(245,208,0,.08);border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .3s,border-color .3s,box-shadow .3s;display:flex;flex-direction:column;}
.news-card:hover{transform:translateY(-4px);border-color:rgba(245,208,0,.25);box-shadow:0 12px 36px rgba(0,0,0,.35);}
.news-card-img-wrap{overflow:hidden;height:190px;flex-shrink:0;}
.news-card-img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .3s;filter:brightness(.9);}
.news-card:hover .news-card-img{transform:scale(1.04);filter:brightness(1);}
.news-card-body{padding:20px;flex:1;display:flex;flex-direction:column;}
.news-cat{font-size:.65rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:#F5D000;margin-bottom:8px;display:block;}
.news-card-body h3{font-family:'Bebas Neue',sans-serif;font-size:1.15rem;letter-spacing:.06em;margin-bottom:8px;line-height:1.2;}
.news-card-body p{font-size:.87rem;color:rgba(160,160,160,.9);line-height:1.6;flex:1;}
.news-date{font-size:.7rem;color:#666;margin-top:12px;display:block;}
.news-card-featured{grid-column:span 2;}
.news-card-featured .news-card-img-wrap{height:260px;}
.news-card-featured h3{font-size:1.5rem;}

/* RESPONSIVE */
@media(max-width:900px){
  .page-hero-mosaic{grid-template-columns:1fr 1fr;}
  .news-grid{grid-template-columns:1fr 1fr;}
  .news-card-featured{grid-column:span 1;}
  .cal-grid{grid-template-columns:repeat(3,1fr);}
  .tournament-cards{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .page-hero{min-height:55vh;}
  .news-grid{grid-template-columns:1fr;}
  .cal-grid{grid-template-columns:repeat(2,1fr);}
}
