/*
 * Víkingur 26: site chrome (wrap, header, footer, buttons).
 *
 * Ported from the design system's web UI kit (ui_kits/web/index.html and
 * Site.jsx). Class names keep the kit's w- prefix so a rule here can be traced
 * back to the prototype it came from. Section styles for the front page live in
 * their own file once those sections are built.
 */

body{background:var(--white);color:var(--ink)}
a{color:var(--text-brand)}a:hover{color:var(--red-700)}
img{max-width:100%;height:auto}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;left:16px;top:16px;z-index:100;width:auto;height:auto;clip:auto;padding:12px 20px;background:var(--black);color:#fff;font-family:var(--font-condensed);font-weight:700;text-transform:uppercase;border-radius:var(--radius-pill)}

.w-wrap{max-width:1440px;margin:0 auto;padding-left:40px;padding-right:40px}
.w-wrap-full{max-width:none}
.w-sec{padding:96px 0}
.w-label{font-family:var(--font-condensed);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}

/* ── Buttons: pills, condensed caps (Button + IconButton in the kit) ── */
.w-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border-radius:var(--radius-pill);border:1px solid transparent;font-family:var(--font-condensed);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}
.w-btn:active{transform:translateY(1px)}
.w-btn--primary{background:var(--action-primary);color:#fff}
.w-btn--primary:hover{background:var(--action-primary-hover);color:#fff}
.w-btn--outline{background:transparent;color:var(--ink);border-color:var(--black)}
.w-btn--outline:hover{background:var(--gray-50);color:var(--ink)}
/* Sizes and the inverse variant from components/core/Button.jsx (sm 36, md 44). */
.w-btn--md{height:44px;padding:0 20px;font-size:16px}
.w-btn--inverse{background:var(--white);color:var(--black)}
.w-btn--inverse:hover{background:var(--gray-100);color:var(--black)}
.w-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--ink);background:transparent;border:0;cursor:pointer;text-decoration:none;transition:background var(--dur-fast)}
.w-icon-btn:hover{background:var(--gray-50);color:var(--ink)}
.vik-icon{display:block;flex:none}

/* ── Header: sticky white bar, lockup, nav with red underline ── */
.w-header{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid transparent;transition:border-color var(--dur-base)}
.w-header.is-scrolled,.w-header.is-open{border-bottom-color:var(--border-hairline)}
html:not(.vik-js) .w-header{border-bottom-color:var(--border-hairline)}
.admin-bar .w-header{top:32px}
@media (max-width:782px){.admin-bar .w-header{top:46px}}
.w-header__bar{display:flex;align-items:center;gap:32px;height:76px}
.w-header__home{display:flex;flex:none}
.w-header__home img{height:40px;width:auto}
.w-nav{flex:1;min-width:0}
.w-nav__list{display:flex;gap:28px;margin:0;padding:0;list-style:none}
.w-nav__link{position:relative;display:inline-flex;align-items:center;height:76px;padding:0 2px;border:0;background:none;cursor:pointer;font-family:var(--font-condensed);font-weight:700;font-size:15px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);text-decoration:none;white-space:nowrap}
.w-nav__link:hover{color:var(--ink)}
span.w-nav__link{cursor:default}
.w-nav__link::after{content:"";position:absolute;left:0;right:0;bottom:20px;height:2px;background:var(--vik-astrida);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-strike)}
a.w-nav__link:hover::after,button.w-nav__link:hover::after,.w-nav__link[aria-expanded="true"]::after,.w-nav__item.is-active>.w-nav__link::after{transform:scaleX(1)}
.w-header__actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.w-mlink{font-family:var(--font-condensed);font-weight:700;font-size:22px;line-height:1.1;text-transform:uppercase;color:var(--ink);text-decoration:none;transition:color var(--dur-fast)}
.w-mlink:hover,.w-mlink.is-current{color:var(--vik-astrida)}

/* Mega panel: full-width drop under the header (the header is sticky, so it
   is the panel's containing block). Hidden until opened by header.js; without
   JS it opens on keyboard focus instead. */
.vik-mega{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--border-hairline);box-shadow:var(--shadow-lift)}
.w-nav__item.is-open .vik-mega{display:block;animation:w-drop 220ms var(--ease-strike)}
html:not(.vik-js) .w-nav__item:focus-within .vik-mega{display:block}
.vik-mega__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;padding-top:36px;padding-bottom:44px}
.vik-mega__col{display:grid;align-content:start;gap:14px}
.vik-mega__col ul{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.vik-mega__head{font-family:var(--font-condensed);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
@keyframes w-drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.w-nav__item.is-open .vik-mega{animation:none}}

/* Search: full-width bar under the header */
.vik-search>summary,.vik-mobnav>summary{list-style:none}
.vik-search>summary::-webkit-details-marker,.vik-mobnav>summary::-webkit-details-marker,.vik-mobnav__group>summary::-webkit-details-marker{display:none}
.vik-search[open]>summary{background:var(--gray-50)}
.vik-search__panel{position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--border-hairline);box-shadow:var(--shadow-lift)}
.vik-search__form{display:flex;gap:12px;padding-top:20px;padding-bottom:20px}
.vik-search__input{flex:1;min-width:0;height:48px;padding:0 18px;border:1px solid var(--border-strong);border-radius:var(--radius-control);font:inherit;font-size:17px;color:var(--ink);background:var(--white)}
.vik-search__input:focus{outline:2px solid var(--focus-ring);outline-offset:0;border-color:transparent}
.vik-search__form .w-btn{height:48px}

/* Mobile menu: hidden on desktop, full-height panel under 1180px */
.vik-mobnav{display:none}
.vik-mobnav__open{display:inline-flex}
.vik-mobnav__close{display:none}
.vik-mobnav[open] .vik-mobnav__open{display:none}
.vik-mobnav[open] .vik-mobnav__close{display:inline-flex}
.vik-mobnav__panel{position:absolute;left:0;right:0;top:100%;height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain;background:var(--white);padding:8px 16px 40px;border-top:1px solid var(--border-hairline)}
.admin-bar .vik-mobnav__panel{height:calc(100dvh - 76px - 46px)}
.vik-mobnav__top{display:flex;width:100%;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--border-hairline);font-family:var(--font-display);font-weight:900;font-size:40px;line-height:.9;text-transform:uppercase;color:var(--ink);text-decoration:none;cursor:pointer;list-style:none}
.vik-mobnav__top:hover{color:var(--ink)}
.vik-mobnav__top .vik-icon{flex:none;transition:transform var(--dur-base) var(--ease-strike)}
.vik-mobnav__group[open]>.vik-mobnav__top .vik-icon{transform:rotate(180deg)}
.vik-mobnav__cols{display:grid;gap:24px;padding:20px 0 28px;border-bottom:1px solid var(--border-hairline)}
.vik-mobnav__col{display:grid;gap:12px}
.vik-mobnav__all{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-condensed);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--vik-astrida);text-decoration:none}
.vik-mobnav__search{display:flex;gap:8px;align-items:center;margin-top:28px}
.vik-mobnav__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
html.vik-lock,html.vik-lock body{overflow:hidden}

/* ── Footer: black, lockup + four link columns, marquee ── */
.w-footer{background:var(--black);color:#fff}
.w-footer__top{padding-top:72px}
/* Brand column + one column per assigned footer menu (--vik-foot-cols, set in footer.php). */
.w-foot{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(var(--vik-foot-cols,4),minmax(0,1fr));gap:40px}
.w-foot__brand{display:grid;align-content:start;gap:20px}
.w-foot__brand img{height:44px;width:auto}
.w-foot__address{margin:0;max-width:320px;color:rgba(255,255,255,.72);font-size:15px;line-height:1.5;font-style:normal}
.w-foot__address a{color:inherit;text-decoration:none}
.w-foot__address a:hover{color:#fff;text-decoration:underline}
.w-foot__col{display:grid;align-content:start;gap:12px}
.w-foot__col ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.w-foot__head{font-family:var(--font-condensed);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:4px}
.w-flink,.w-foot__col a{display:inline-flex;align-items:center;gap:4px;color:#fff;text-decoration:none;font-size:15px}
.w-flink .vik-icon{opacity:.6}
.w-flink:hover,.w-foot__col a:hover{color:#fff;text-decoration:underline}
.w-foot__col span{color:rgba(255,255,255,.72);font-size:15px}
.w-social-row{display:flex;gap:8px}
.w-social{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:background var(--dur-fast)}
.w-social:hover{background:#fff;color:#000}
/* Marquee (design: Marquee.jsx): huge type, cropped to 78% of its size so the
   letters sit on the legal line, sliding by half its doubled width. */
.w-marquee{--vik-mq:clamp(80px,14vw,230px);display:flex;align-items:flex-start;height:calc(var(--vik-mq) * .78);margin-top:72px;overflow:hidden;white-space:nowrap}
.w-marquee__track{display:flex;width:max-content;opacity:.08;animation:vik-ticker 320s linear infinite;font-family:var(--font-display);font-weight:900;font-size:var(--vik-mq);line-height:.8;text-transform:uppercase;color:#fff}
.w-marquee__track span{padding-top:.08em}
@media (prefers-reduced-motion:reduce){.w-marquee__track{animation:none}}
.w-footer__legal{border-top:1px solid rgba(255,255,255,.16)}
.w-footer__legal .w-wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;font-size:13px;color:rgba(255,255,255,.6)}

/* ── Responsive (breakpoints from the kit) ── */
.w-show-md{display:none}
@media (max-width:1180px){.w-hide-md{display:none!important}.w-show-md{display:inline-flex}.vik-mobnav{display:block}.w-foot{grid-template-columns:repeat(var(--vik-foot-cols,4),minmax(0,1fr))}.w-foot>:first-child{grid-column:1/-1}}
@media (max-width:640px){.w-wrap{padding-left:16px;padding-right:16px}.w-sec{padding:56px 0}.w-hide-sm{display:none!important}.w-foot{grid-template-columns:1fr 1fr}.w-header__bar{gap:12px}.w-header__home img{height:32px}}
