/* Holy Cow Campus – Apple-rent UI */
:root{
  --hc-bg:#f7f8fa;
  --hc-brand:#ffc7d9;
  --hc-brand-ink:#433a40;
  --hc-radius:18px;
}

body.hc-bg{ background:var(--hc-bg); font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji"; }

.navbar { border-bottom:1px solid #eee; }
.navbar .navbar-brand{ letter-spacing:.2px; }
.card{ border-radius:var(--hc-radius); }
.btn, .form-control, .form-select { border-radius: calc(var(--hc-radius) - 8px); }

.hc-hero{
  background: linear-gradient(180deg, #fff, var(--hc-bg));
  border-radius: var(--hc-radius);
  padding: clamp(1rem, 3vw, 2rem);
  display:flex; gap:1rem; align-items:center;
}
.hc-hero .hc-badge{ background:var(--hc-brand); color:var(--hc-brand-ink); font-weight:600; padding:.5rem .8rem; border-radius:999px; }
.hc-tiles .card:hover{ transform: translateY(-2px); transition:.2s; }

/* Bunn-navigasjon mobil */
.hc-bottom-nav{
  position:fixed; left:0; right:0; bottom:0;
  background:#fff; border-top:1px solid #eee; display:flex; justify-content:space-around; padding:.3rem .5rem; z-index:1000;
}
.hc-bottom-nav a{ text-decoration:none; color:#333; display:flex; flex-direction:column; align-items:center; font-size:.8rem; }
.hc-bottom-nav i{ font-size:1.3rem; }

/* TinyMCE innhold */
.article-content img{ max-width:100%; height:auto; border-radius:12px; }
.article-meta{ color:#6c757d; font-size:.9rem; }

.badge-status{ background: #ffe9f1; color:#9a3a5a; border-radius:999px; }

/* Admin */
.nav-link{ color:#444; }
.nav-link:hover{ color:#000; }
.table thead th{ background:#fff; }


/* --- Larger dashboard tiles inspired by mockup --- */
.hc-tiles-wrap{}
.hc-tile{
  background:#f1f2f4;
  border-radius: 24px;
  min-height: 220px;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  padding: 1.25rem;
  border:0;
}
@media (min-width: 992px){
  .hc-tile{ min-height: 260px; }
}
.hc-tile .hc-icon{
  font-size: 3rem;
  display:block;
  margin-bottom: .75rem;
}
.hc-tile .hc-title{
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.hc-hero.hero-photo{
  background: #000;
  color: #fff;
  overflow:hidden;
  position:relative;
  min-height: 520px;
}
.hc-hero.hero-photo .hero-img{
  position:absolute; inset:0;
  background-size: cover;
  background-position: center;
  filter: brightness(.55);
}
.hc-hero.hero-photo .hero-overlay{
  position:relative; z-index:1;
  display:flex; flex-direction:column; justify-content:flex-end;
  height:100%;
}
.hc-hero.hero-photo .display-big{
  font-weight: 900; font-size: clamp(2.2rem, 6vw, 4rem); line-height: .95;
}
.hc-hero.hero-photo .subtext{ opacity:.9; font-style: italic; }
.hc-hero.hero-photo .countdown-large{ font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; }
.hc-hero.hero-photo .card{ background: transparent; color:#fff; }


/* --- Visual News & Job grid --- */
.hc-section-label{
  font-weight: 900; text-transform: uppercase; letter-spacing:.5px;
  font-style: italic;
}
.news-grid .news-card{
  position: relative; overflow:hidden; border-radius: 24px; min-height: 260px;
  background:#e9ecef;
}
.news-grid .news-card .bg{
  position:absolute; inset:0; background-size:cover; background-position:center; transform: scale(1.03);
  filter: brightness(.85);
}
.news-grid .news-card .grad{
  position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0.0) 30%, rgba(0,0,0,.75) 95%);
}
.news-grid .news-card .content{
  position:absolute; inset:auto 0 0 0; color:#fff; padding: 1rem 1.25rem 1.25rem;
}
.news-grid .badge-kind{
  background: var(--hc-brand); color:#4b2d38; border-radius:999px; font-weight:700; font-size:.75rem; padding:.35rem .6rem;
}
.news-grid .title{
  font-size: clamp(1.25rem, 2.5vw, 2rem); font-weight:900; letter-spacing:.4px;
  text-transform: uppercase;
}
.news-grid .excerpt{ opacity:.9; }
.news-grid .date{ opacity:.85; font-size:.85rem; }

/* Category icon image inside tile */
.hc-tile img.icon-img{
  width: 72px; height:72px; object-fit:contain; display:block; margin: 0 auto .75rem auto;
}


/* --- Left Sidebar Portal Nav --- */
.hc-layout{ display:grid; grid-template-columns: 0 1fr; gap:1rem; }
@media (min-width: 992px){
  .hc-layout{ grid-template-columns: 240px 1fr; }
}
.hc-leftmenu{
  position: sticky; top: 80px; height: calc(100vh - 96px);
}
.hc-leftmenu-inner{
  background: #e9ecef;
  border-radius: 24px;
  padding: 1.2rem .75rem;
  display:flex; flex-direction:column; align-items:stretch; height:100%;
}
.hc-brand-round{ display:flex; justify-content:center; align-items:center; margin-bottom:1rem; }
.hc-brand-round .logo{ width:64px; height:64px; border-radius:999px; background:var(--hc-brand); display:flex; align-items:center; justify-content:center; font-size:1.6rem; }
.hc-leftnav .nav-link{ color:#333; font-weight:700; text-transform:uppercase; letter-spacing:.3px; }
.hc-leftnav .nav-link.active{ color:#000; text-shadow: 0 0 0 currentColor; }
.hc-leftnav .nav-link + .nav-link{ margin-top:.25rem; }

/* Category hero card */
.hc-cat-hero{
  background: var(--hc-brand);
  border-radius: 24px;
  min-height: 260px;
  display:flex; align-items:center; justify-content:center;
  text-align:center; padding:2rem;
}
.hc-cat-hero h2{ font-weight:900; text-transform:uppercase; }
.hc-cat-hero p{ max-width: 60ch; margin: .5rem auto 0 auto; opacity:.9; }
