/* Transparent footer navigation. All items remain on one horizontal line. */
.prot-bottom-bar{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;column-gap:clamp(10px,2.6vw,40px);padding:12px 4vw calc(12px + env(safe-area-inset-bottom,0px));margin:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:#f3f3f6;font:400 clamp(12px,1.4vw,18px)/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:0;text-transform:none}
.prot-bottom-bar a{color:inherit;text-decoration:none;border:0;padding:5px 0;white-space:nowrap;opacity:.85}
.prot-bottom-bar a:hover,.prot-bottom-bar a:focus-visible{opacity:1;color:#fff}
.prot-bottom-bar a:focus-visible{outline:2px solid white;outline-offset:5px;border-radius:3px}
.prot-bottom-bar .prot-bottom-portfolio{font-weight:400;opacity:.85}
.prot-bottom-clock{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums;opacity:.85}
body.mk-lock .prot-bottom-bar{visibility:hidden}
@media(max-width:680px){.prot-bottom-bar{gap:clamp(7px,2vw,16px);padding:10px 3vw calc(10px + env(safe-area-inset-bottom,0px));font-size:clamp(10px,2.55vw,13px)}.prot-bottom-clock{width:auto;min-width:0;margin:0 0 0 auto;text-align:right;font-size:inherit}.prot-bottom-bar a{padding:5px 0}}
@media(max-width:360px){.prot-bottom-bar{gap:6px;padding-left:2vw;padding-right:2vw;font-size:9px}}
@media print{.prot-bottom-bar{display:none}}

/* Centered identity above the transparent single-line footer */
.prot-footer-brand{position:relative;z-index:4;display:flex;justify-content:center;align-items:center;text-align:center;padding:clamp(28px,5vw,65px) 16px 18px;background:transparent;border:0;box-shadow:none}
.prot-footer-brand img{display:block;max-width:min(180px,50vw);width:auto;height:auto;max-height:110px;object-fit:contain}
.prot-footer-brand span{font-family:Georgia,serif;font-size:clamp(36px,5vw,64px);letter-spacing:-.06em;line-height:1;color:#f3f3f6}
body.mk-lock .prot-footer-brand{visibility:hidden}
@media print{.prot-footer-brand{display:none}}

/* 0.46.1: full-sized ProT wordmark and red dot above transparent footer */
.prot-footer-brand img{width:var(--prot-footer-logo-width,140px);max-width:min(320px,80vw);height:auto;max-height:none;object-fit:contain}
.prot-footer-logo,.prot-footer-wordmark{display:inline-flex;align-items:center;justify-content:center;gap:.12em;line-height:1}
.prot-footer-wordmark{font-family:Georgia,serif;font-size:clamp(48px,7vw,90px);letter-spacing:-.06em;color:#f3f3f6}
.prot-footer-wordmark>span:first-child{font-size:inherit}
.prot-footer-dot{display:inline-block;flex:none;width:clamp(10px,1.4vw,18px);height:clamp(10px,1.4vw,18px);border-radius:50%;background:#ef1428;box-shadow:0 0 9px #ef142855}

/* 0.46.2: Match the wordmark in the fixed header at exactly 20px. */
.prot-footer-brand .prot-wordmark{font:800 20px/1.2 Arial,Helvetica,sans-serif;letter-spacing:-.8px;text-transform:none;color:#fff;display:inline-flex;align-items:center;gap:.16em}
.prot-footer-brand .prot-wordmark>span:first-child{font:inherit;letter-spacing:inherit;color:inherit}
.prot-footer-brand .prot-wordmark>.prot-brand-dot{display:inline-block;flex:0 0 .28em;width:.28em;height:.28em;margin:0;vertical-align:initial;transform:translateY(.24em);border-radius:50%;background:#ef1428;animation:prot-brand-blink 4s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.prot-footer-brand .prot-brand-dot{animation:none}}

/* 0.46.3: Copyright follows Till toppen only when the complete footer fits. */
.prot-bottom-bar .prot-bottom-copyright{white-space:nowrap;flex-shrink:0;opacity:.7}
.prot-bottom-bar .prot-bottom-copyright[hidden]{display:none!important}

/* 0.46.8: Keep the cinematic video from bleeding beneath the end-of-page
   branding/navigation. The glass row itself remains transparent. */
body:is(.prot-home,.ts-morkrum-page) .prot-footer-surface {
  position:relative;
  z-index:30;
  isolation:isolate;
  width:100%;
  background:#100e0e;
  overflow:clip;
}
body:is(.prot-home,.ts-morkrum-page) .prot-footer-surface .prot-footer-brand,
body:is(.prot-home,.ts-morkrum-page) .prot-footer-surface .prot-bottom-bar {
  position:relative;
  z-index:1;
  background:transparent;
}


/* 0.46.9: Soften the transition into the ending area with a gentle fade. */
body:is(.prot-home,.ts-morkrum-page) .prot-footer-surface::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-72px;
  height:72px;
  pointer-events:none;
  background:linear-gradient(to bottom, rgba(16,14,14,0), rgba(16,14,14,.88) 78%, rgba(16,14,14,1));
}

/* 0.48.45: Preserve original GIF animation in footer as well. */
.prot-footer-brand .prot-custom-logo--footer{display:block;width:auto;height:24px;max-width:min(180px,70vw);max-height:none;object-fit:contain}



/* Paint past the page edge without adding scroll height. This covers Safari's
   fractional viewport/safe-area seam above its bottom toolbar. */
body:is(.prot-home,.ts-morkrum-page) .prot-footer-surface{
  box-shadow:0 48px 0 0 #100e0e;
  border-bottom:1px solid #100e0e;
}
html:has(body.prot-home),html:has(body.ts-morkrum-page){background:#100e0e}

/* Return link below the logo, with the same responsive type as navigation. */
.prot-footer-top{position:relative;z-index:1;text-align:center;padding:0 16px 14px;color:#f3f3f6;font:400 clamp(12px,1.4vw,18px)/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:0}
.prot-footer-top a{display:inline-block;padding:5px 0;color:inherit;text-decoration:none;opacity:.85}
.prot-footer-top a:hover,.prot-footer-top a:focus-visible{opacity:1}
.prot-footer-top a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:680px){.prot-footer-top{font-size:clamp(10px,2.55vw,13px)}}
@media(max-width:360px){.prot-footer-top{font-size:9px}}
body.mk-lock .prot-footer-top{visibility:hidden}

.prot-footer-identity{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:clamp(28px,5vw,65px) 16px 18px}
.prot-footer-identity .prot-footer-brand,.prot-footer-identity .prot-footer-top{padding:0;flex:0 0 auto}
.prot-footer-identity .prot-footer-top{white-space:nowrap}

/* Center copyright in the space between Contact and the local clock. */
.prot-bottom-bar .prot-bottom-copyright{flex:1 0 auto;text-align:center}
.prot-bottom-bar .prot-bottom-clock{margin-left:0;flex:0 0 auto}
@media(max-width:680px){.prot-bottom-bar{column-gap:6px}}

/* The closing fade belongs to the footer, not the moving contact card.
   Keep its entire gradient inside the footer's own normal-flow area. */
body.prot-home .contact::before{content:none!important;background:none!important}
body:is(.prot-home,.ts-morkrum-page) .prot-footer-surface{
  --prot-footer-fade-height:clamp(140px,24vh,280px);
  padding-top:var(--prot-footer-fade-height);
  background:linear-gradient(to bottom,rgba(16,14,14,0) 0,
    rgba(16,14,14,.38) calc(var(--prot-footer-fade-height)*.45),
    #100e0e var(--prot-footer-fade-height));
}
body:is(.prot-home,.ts-morkrum-page) .prot-footer-surface::before{content:none}

body.ts-morkrum-page > main.ts-content::after{content:none!important}
body.ts-morkrum-page > main.ts-content{padding-bottom:40px}

/* 0.53.45: plats för 3D-galleri i raden på smala skärmar. */
@media(max-width:520px){.prot-bottom-bar:has(.prot-bottom-3d) .prot-bottom-copyright{display:none}}

/* 0.53.45: länkarna samlas tätt till vänster, datum och tid står för sig längst till höger. */
.prot-bottom-bar{justify-content:flex-start;column-gap:clamp(16px,1.8vw,28px)}
.prot-bottom-bar .prot-bottom-clock{margin-left:auto!important;padding-left:clamp(18px,3vw,40px);opacity:.55}
@media(max-width:680px){.prot-bottom-bar{column-gap:clamp(9px,2.6vw,12px)}.prot-bottom-bar .prot-bottom-clock{padding-left:16px}}
@media(max-width:360px){.prot-bottom-bar{column-gap:8px}}
