html, body { margin: 0; padding: 0; background: #FFFFFF; }
* { box-sizing: border-box; }
::selection { background: rgba(191,161,90,0.22); }

@keyframes riseIn { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes lineGrow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes heroSheen { 0% { left: -45%; } 55%,100% { left: 130%; } }
@keyframes growBar { from { transform: scaleY(0); } to { transform: scaleY(1); } }

/* Scroll-reveal */
[data-reveal] { opacity: 0; transform: translateY(40px);
  transition: opacity 1.1s cubic-bezier(.2,.7,.2,1), transform 1.1s cubic-bezier(.2,.7,.2,1); }
[data-reveal].is-visible { opacity: 1; transform: none; }

/* Hover-effekter (erstatter mockup'ens style-hover) */
.bb-navlink:hover { color: #111111 !important; }
.bb-subscribe:hover { background: #111111; color: #FFFFFF; border-color: #111111; }
.bb-flink:hover { color: #111111 !important; }
.bb-card { transition: transform .35s, border-color .35s; }
.bb-card:hover { transform: translateY(-5px); border-color: var(--accent, #BFA15A); }
.bb-row { transition: background .25s; }
.bb-row:hover { background: rgba(17,17,17,0.03); }
.bb-article { transition: transform .4s; }
.bb-article:hover { transform: translateY(-6px); }
.bb-btn-dark:hover { background: var(--accent, #BFA15A) !important; }
.bb-link-underline { border-bottom: 1px solid rgba(28,26,23,0.3); transition: border-color .35s; }
.bb-link-underline:hover { border-color: var(--accent, #BFA15A); }
.bb-cat-btn { transition: all .25s; cursor: pointer; }
.bb-searchbox { transition: border-color .3s; }
.bb-searchbox:focus-within { border-color: var(--accent, #BFA15A); }

.bb-hidden { display: none !important; }

/* Artikel-brødtekst */
.bb-article-body p { font-size: 19px; line-height: 1.8; color: #333; margin: 0 0 24px; }
.bb-article-body p.lead, .bb-article-body > p:first-child { font-size: 22px; line-height: 1.6; color: #2A2A2A; font-weight: 500; margin: 0 0 30px; }
.bb-article-body h2 { font-family: var(--display,'Cormorant Garamond'), serif; font-weight: 500; font-size: 34px; line-height: 1.15; margin: 40px 0 18px; color: #111; }
.bb-article-body blockquote { margin: 40px 0; padding: 0 0 0 28px; border-left: 2px solid var(--accent, #BFA15A); }
.bb-article-body blockquote { font-family: var(--display,'Cormorant Garamond'), serif; font-style: italic; font-size: 30px; line-height: 1.3; color: #111; }
.bb-article-body a { color: #8A6F38; }

/* Logo-fallback når et brand mangler logo */
.bb-logo-fallback { display: flex; align-items: center; justify-content: center;
  font-family: var(--display,'Cormorant Garamond'), serif; color: var(--accent, #BFA15A); }

/* Responsivt */
@media (max-width: 900px) {
  .bb-nav { gap: 18px !important; }
  .bb-grid-2, .bb-grid-3, .bb-grid-4 { grid-template-columns: 1fr !important; }
  .bb-foot-grid { grid-template-columns: 1fr 1fr !important; }
  .bb-table-row, .bb-table-head { grid-template-columns: 40px 1fr 90px !important; }
  .bb-table-hide { display: none !important; }
}
@media (max-width: 640px) {
  .bb-nav .bb-navlink { display: none; }
  .bb-grid-podium { grid-template-columns: 1fr !important; }
}
