/* ==========================================================================
   Farre Karosserifabrik – main.css
   ========================================================================== */

/* ---------- Skrifttyper (hostet lokalt – ingen data sendes til Google) ---------- */
@font-face{font-family:"Archivo";src:url("../fonts/archivo-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-latin-800-normal.woff2") format("woff2");font-weight:800 900;font-style:normal;font-display:swap;}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}

:root{
	--blue-deep:#004C70;
	--blue-darker:#00304A;
	--blue-brand:#008CCD;
	--blue-line:#2E6B8C;
	--blue-mist:#BFDCEC;
	--blue-pale:#D7E8F1;
	--steel:#5A646B;
	--ink:#11202A;
	--canvas:#EFEFEA;
	--panel:#E3E4DD;
	--line:#C8CAC2;
	--signal:#C6392C;
	--signal-dark:#A82E23;
	--brass:#C9992B;
	--white:#FCFCFA;

	--font-display:"Archivo","Arial Narrow",Arial,sans-serif;
	--font-body:"IBM Plex Sans",Arial,Helvetica,sans-serif;
	--header-h:76px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);}
body{
	margin:0;background:var(--canvas);color:var(--ink);
	font-family:var(--font-body);font-size:16px;line-height:1.55;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
h1,h2,h3{font-family:var(--font-display);font-weight:800;line-height:1.08;margin:0;letter-spacing:-0.01em;}
p{margin:0;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
.wrap--narrow{max-width:820px;}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--white);color:var(--ink);padding:10px 16px;}
.skip-link:focus{left:12px;top:12px;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brass);outline-offset:2px;}

/* ---------- Header + menu ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--blue-deep);color:var(--white);padding-top:env(safe-area-inset-top,0px);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--header-h);}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap;}
.brand-logo{height:52px;width:auto;}

.primary-nav .menu{list-style:none;margin:0;padding:0;display:flex;gap:4px;}
.primary-nav .menu > li{position:relative;}
.primary-nav a{
	display:block;padding:10px 14px;text-decoration:none;
	font-weight:500;font-size:0.96rem;color:var(--blue-pale);
	border-bottom:2px solid transparent;transition:color .15s,border-color .15s;
}
.primary-nav a:hover,.primary-nav .current-menu-item > a,.primary-nav .current-menu-ancestor > a{color:var(--white);border-color:var(--brass);}
.primary-nav .menu-item-has-children > a::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);}
.primary-nav .sub-menu{
	list-style:none;margin:0;padding:8px 0;position:absolute;left:0;top:100%;min-width:240px;
	background:var(--blue-darker);border-top:3px solid var(--brass);
	opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s;
	box-shadow:0 14px 30px rgba(0,0,0,.25);
}
.primary-nav .sub-menu a{border:0;padding:10px 18px;}
.primary-nav .sub-menu a:hover{background:var(--blue-deep);}
.primary-nav li:hover > .sub-menu,.primary-nav li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:none;}

.nav-toggle{display:none;width:44px;height:44px;background:none;border:1px solid var(--blue-line);cursor:pointer;padding:12px 10px;flex-direction:column;justify-content:space-between;}
.nav-toggle span{display:block;height:2px;background:var(--white);transition:transform .2s,opacity .2s;}
.nav-open .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.nav-open .nav-toggle span:nth-child(2){opacity:0;}
.nav-open .nav-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* ---------- Knapper ---------- */
.btn{display:inline-block;font-family:var(--font-body);font-weight:600;font-size:0.98rem;padding:13px 24px;text-decoration:none;border:2px solid transparent;cursor:pointer;line-height:1.2;transition:background .15s,border-color .15s,color .15s;}
.btn-primary{background:var(--signal);color:var(--white);}
.btn-primary:hover{background:var(--signal-dark);}
.btn-ghost{border-color:var(--blue-line);color:var(--white);}
.btn-ghost:hover{border-color:var(--white);}
.btn-outline{background:transparent;border-color:var(--blue-deep);color:var(--blue-deep);}
.btn-outline:hover{background:var(--blue-deep);color:var(--white);}
.more-link{display:inline-block;margin-top:18px;font-weight:600;color:var(--blue-deep);text-decoration:none;border-bottom:2px solid var(--brass);padding-bottom:2px;}
.more-link:hover{color:var(--signal);}

/* ---------- Sektioner ---------- */
section{padding:88px 0;}
.section-head{display:grid;grid-template-columns:.9fr 1.3fr;gap:40px;margin-bottom:48px;}
.section-head h2{font-size:clamp(1.7rem,3vw,2.3rem);}
.section-note{color:var(--steel);font-size:1.02rem;max-width:52ch;align-self:end;}

/* ---------- Hero + slider ---------- */
.hero{background:var(--blue-deep);color:var(--white);padding:64px 0 72px;}
.hero-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;}
.hero-copy h1{font-size:clamp(2.1rem,4.6vw,3.4rem);}
.hero-copy .lede{color:var(--blue-mist);font-size:1.08rem;max-width:44ch;margin-top:20px;}
.hero-actions{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap;}

.slider{position:relative;}
.slider-track{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--blue-darker);}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;}
.slide.is-active{opacity:1;}
.slide img{width:100%;height:100%;object-fit:cover;}
.slider-ui{display:flex;align-items:center;gap:10px;margin-top:14px;}
.slider-btn{background:none;border:1px solid var(--blue-line);color:var(--white);width:40px;height:40px;font-size:1.3rem;line-height:1;cursor:pointer;}
.slider-btn:hover{border-color:var(--white);}
.slider-pause{font-size:.7rem;margin-left:auto;}
.slider-pause.is-paused::before{content:"▶";font-size:.8rem;}
.slider-pause.is-paused{font-size:0;}
.slider-dots{display:flex;gap:8px;}
.slider-dot{width:28px;height:4px;padding:0;border:0;background:var(--blue-line);cursor:pointer;transition:background .2s;}
.slider-dot.is-active{background:var(--brass);}

/* ---------- Specifikationer ---------- */
.specs{background:var(--panel);}
.specs-grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:56px;}
.specs-intro p{font-size:1.05rem;max-width:42ch;}
.specs-intro p + p{margin-top:16px;}
.spec-table{width:100%;border-collapse:collapse;}
.spec-table tr{border-top:1px solid var(--line);}
.spec-table tr:last-child{border-bottom:1px solid var(--line);}
.spec-table th,.spec-table td{text-align:left;padding:16px 8px;vertical-align:top;font-weight:400;}
.spec-table th{width:38%;color:var(--steel);font-weight:600;font-size:.95rem;}

/* ---------- Opbygninger på forsiden ---------- */
.opb-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:44px 0;border-top:1px solid var(--line);}
.opb-row:last-child{border-bottom:1px solid var(--line);}
.opb-row.flip .opb-media{order:2;}
.opb-media{display:block;overflow:hidden;}
.opb-media img{width:100%;height:320px;object-fit:cover;transition:transform .4s ease;}
.opb-media:hover img{transform:scale(1.03);}
.opb-index{font-family:var(--font-display);font-weight:700;color:var(--brass);font-size:.92rem;letter-spacing:.02em;}
.opb-copy h3{font-size:1.55rem;margin-top:10px;}
.opb-copy h3 a{text-decoration:none;}
.opb-copy h3 a:hover{color:var(--blue-deep);}
.opb-copy p{margin-top:14px;max-width:46ch;font-size:1.02rem;}

/* ---------- Historie ---------- */
.historie{background:var(--blue-deep);color:var(--white);}
.historie .section-note{color:var(--blue-mist);}
.timeline{list-style:none;margin:0;padding:0 0 0 30px;position:relative;}
.timeline::before,.timeline::after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;}
.timeline::before{background:var(--blue-line);}
.timeline::after{background:var(--brass);transform-origin:top;transform:scaleY(var(--tl-progress,1));}
.tl-item{position:relative;padding:0 0 40px 28px;}
.tl-item:last-child{padding-bottom:0;}
.tl-item::before{content:"";position:absolute;left:-35px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--brass);box-shadow:0 0 0 4px var(--blue-deep);transition:background .4s,transform .4s;}
.tl-year{font-family:var(--font-display);font-weight:800;font-size:1.15rem;color:var(--brass);}
.tl-text{margin-top:6px;color:var(--blue-pale);max-width:56ch;}
.tl-text p + p{margin-top:8px;}

/* ---------- Kontakt + formular ---------- */
.kontakt-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start;}
.plate{background:var(--blue-deep);color:var(--white);padding:40px;}
.plate h2{font-size:1.5rem;margin-bottom:22px;}
.plate dl{margin:0;display:grid;gap:16px;}
.plate dt{color:var(--brass);font-size:.85rem;font-weight:600;margin-bottom:2px;}
.plate dd{margin:0;font-size:1.05rem;}
.plate a{text-decoration:none;border-bottom:1px solid var(--blue-line);}
.plate a:hover{border-color:var(--brass);}

.form-card{background:var(--white);border:1px solid var(--line);padding:40px;}
.form-card h2{font-size:1.5rem;}
.form-intro{color:var(--steel);margin:8px 0 22px;}
.contact-form{display:grid;gap:16px;}
.contact-form label{display:grid;gap:6px;font-size:.9rem;font-weight:600;color:var(--ink);}
.contact-form input,.contact-form select,.contact-form textarea{
	font:inherit;font-weight:400;font-size:1rem;color:var(--ink);
	width:100%;padding:12px 14px;background:#F7F7F4;border:1px solid var(--line);border-radius:0;
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue-deep);background:var(--white);}
.contact-form textarea{resize:vertical;min-height:130px;}
.contact-form .btn{justify-self:start;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-note{color:var(--steel);font-size:.82rem;}
.form-msg{padding:14px 16px;margin-top:16px;font-weight:500;}
.form-ok{background:#E3F2E6;border-left:4px solid #2E7D3E;}
.form-err{background:#FBE7E5;border-left:4px solid var(--signal);margin-bottom:8px;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ---------- Undersider ---------- */
.page-hero{background:var(--blue-deep);color:var(--white);padding:52px 0 56px;}
.page-hero h1{font-size:clamp(2rem,4.2vw,3rem);}
.page-hero .lede{margin-top:14px;color:var(--blue-mist);font-size:1.1rem;max-width:56ch;}
.crumbs{font-size:.88rem;color:var(--blue-mist);margin-bottom:18px;}
.crumbs a{text-decoration:none;color:var(--blue-pale);}
.crumbs a:hover{color:var(--white);text-decoration:underline;}
.crumbs span[aria-hidden]{margin:0 6px;opacity:.6;}

.opb-tabs{position:sticky;top:calc(var(--header-h) + env(safe-area-inset-top,0px));z-index:40;background:var(--blue-darker);padding:0;border-bottom:3px solid var(--brass);}
.opb-tabs ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.opb-tabs ul::-webkit-scrollbar{display:none;}
.opb-tabs a{display:block;white-space:nowrap;padding:14px 18px;text-decoration:none;color:var(--blue-pale);font-weight:500;font-size:.94rem;}
.opb-tabs a:hover{color:var(--white);background:var(--blue-deep);}
.opb-tabs a.is-current{color:var(--blue-darker);background:var(--brass);font-weight:600;}

.opb-detail{padding:72px 0;}
.detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start;}
.detail-media img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.entry{font-size:1.06rem;}
.entry p,.entry ul,.entry ol{margin:0 0 1em;}
.entry h2,.entry h3{margin:1.4em 0 .5em;}
.entry h2{font-size:1.6rem;}
.entry h3{font-size:1.25rem;}
.entry a{color:var(--blue-deep);}
.entry--intro{max-width:70ch;margin-bottom:32px;}
.cta-card{margin-top:28px;padding:24px;background:var(--panel);border-left:4px solid var(--brass);}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}

.others{padding:80px 0;}
.galleri + .others{padding-top:80px;}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.card-grid--all{grid-template-columns:repeat(3,1fr);}
.opb-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);text-decoration:none;transition:border-color .15s,transform .15s;}
.opb-card:hover{border-color:var(--blue-deep);transform:translateY(-2px);}
.opb-card-img{overflow:hidden;aspect-ratio:4/3;background:var(--line);}
.opb-card-img img{width:100%;height:100%;object-fit:cover;}
.opb-card-body{padding:20px;display:flex;flex-direction:column;flex:1;}
.opb-card-body h2,.opb-card-body h3{font-size:1.2rem;}
.opb-card-body p{margin-top:10px;color:var(--steel);font-size:.96rem;}
.opb-card-body .more-link{margin-top:auto;padding-top:16px;align-self:flex-start;border:0;}
.opb-card-body .more-link{text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:4px;text-decoration-thickness:2px;}

.page-body{padding:64px 0;}
.entry-list + .entry-list{margin-top:32px;}

/* ---------- Galleri ---------- */
.galleri{background:var(--panel);}
.gf-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;}
.gf-btn{font-family:var(--font-body);font-size:.92rem;font-weight:600;background:var(--white);color:var(--ink);border:1px solid var(--line);padding:9px 16px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
.gf-btn span{color:var(--steel);font-weight:500;margin-left:4px;}
.gf-btn:hover{border-color:var(--blue-deep);}
.gf-btn.is-active{background:var(--blue-deep);color:var(--white);border-color:var(--blue-deep);}
.gf-btn.is-active span{color:var(--blue-mist);}
.g-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.g-item{position:relative;display:block;padding:0;border:0;cursor:zoom-in;background:var(--line);aspect-ratio:4/3;overflow:hidden;}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.g-item:hover img{transform:scale(1.04);}
.g-tag{position:absolute;left:0;bottom:0;background:var(--blue-deep);color:var(--white);font-size:.75rem;font-weight:600;padding:5px 10px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;}
.g-item:hover .g-tag,.g-item:focus-visible .g-tag{opacity:1;transform:none;}
.g-more-wrap{display:flex;align-items:center;gap:20px;margin-top:28px;flex-wrap:wrap;}
.g-more[hidden]{display:none;}
.g-count{color:var(--steel);font-size:.92rem;}

/* ---------- Lightbox ---------- */
.lb{position:fixed;inset:0;z-index:100;background:rgba(0,28,44,.95);display:flex;align-items:center;justify-content:center;padding:calc(56px + env(safe-area-inset-top,0px)) 72px calc(40px + env(safe-area-inset-bottom,0px));}
.lb[hidden]{display:none;}
.lb-fig{margin:0;max-width:1100px;width:100%;text-align:center;}
.lb-fig img{max-height:78vh;width:auto;max-width:100%;margin:0 auto;background:var(--blue-darker);}
.lb-fig figcaption{display:flex;justify-content:space-between;gap:12px;color:var(--blue-mist);font-size:.9rem;margin-top:12px;}
.lb-fig figcaption span:first-child{color:var(--brass);font-weight:600;}
.lb-nav,.lb-close{position:absolute;background:none;border:1px solid var(--blue-line);color:var(--white);cursor:pointer;font-family:var(--font-body);}
.lb-nav{top:50%;transform:translateY(-50%);width:48px;height:64px;font-size:2rem;line-height:1;}
.lb-prev{left:14px;}
.lb-next{right:14px;}
.lb-close{top:calc(14px + env(safe-area-inset-top,0px));right:14px;width:44px;height:44px;font-size:1.1rem;}
.lb-nav:hover,.lb-close:hover{border-color:var(--white);}

/* ---------- Footer ---------- */
.site-footer{background:var(--blue-darker);color:var(--blue-mist);padding:36px 0 calc(36px + env(safe-area-inset-bottom,0px));font-size:.92rem;}
.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.site-footer strong{color:var(--white);}
.site-footer a{text-decoration:none;}
.site-footer a:hover{color:var(--white);text-decoration:underline;}

/* ---------- Responsivt ---------- */
@media (max-width:1000px){
	.g-grid{grid-template-columns:repeat(3,1fr);}
	.card-grid{grid-template-columns:repeat(2,1fr);}
	.card-grid--all{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
	:root{--header-h:64px;}
	.wrap{padding:0 20px;}
	.nav-toggle{display:flex;}
	.brand-logo{height:42px;}
	.primary-nav{
		position:fixed;left:0;right:0;top:calc(var(--header-h) + env(safe-area-inset-top,0px));bottom:0;
		background:var(--blue-deep);overflow-y:auto;padding:12px 20px calc(24px + env(safe-area-inset-bottom,0px));
		opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;
	}
	.nav-open .primary-nav{opacity:1;visibility:visible;transform:none;}
	.primary-nav .menu{flex-direction:column;gap:0;}
	.primary-nav a{padding:14px 0;border-bottom:1px solid var(--blue-line);font-size:1.05rem;}
	.primary-nav .menu-item-has-children > a::after{display:none;}
	.primary-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:none;padding:0 0 0 16px;}
	.primary-nav .sub-menu a{padding:12px 0;font-size:.98rem;}
	
	section{padding:64px 0;}
	.hero{padding:40px 0 56px;}
	.hero-grid,.section-head,.specs-grid,.kontakt-grid,.detail-grid{grid-template-columns:1fr;}
	.section-head{gap:14px;}
	.opb-row,.opb-row.flip{grid-template-columns:1fr;gap:24px;}
	.opb-row.flip .opb-media{order:0;}
	.opb-media img{height:240px;}
	.plate,.form-card{padding:28px 22px;}
}
@media (max-width:640px){
	.g-grid{grid-template-columns:repeat(2,1fr);gap:6px;}
	.card-grid,.card-grid--all{grid-template-columns:1fr;}
	.f-row{grid-template-columns:1fr;}
	.lb{padding-left:12px;padding-right:12px;}
	.lb-nav{top:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:none;height:48px;}
	.lb-fig img{max-height:68vh;}
}
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto;}
	*,*::before,*::after{transition:none!important;}
}

/* ==========================================================================
   Effekter (v1.2)
   ========================================================================== */

/* ---------- Header krymper ved scroll ---------- */
.site-header{transition:box-shadow .3s ease;}
.header-inner{transition:min-height .3s ease;}
.brand-logo{transition:height .3s ease;}
html.is-scrolled{--header-h:60px;}
html.is-scrolled .site-header{box-shadow:0 6px 24px rgba(0,24,38,.28);}
html.is-scrolled .brand-logo{height:40px;}

/* ---------- Indhold glider ind ---------- */
.fx-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s);}
.fx-reveal.is-visible{opacity:1;transform:none;}

/* ---------- Billeder fader ind ---------- */
.fx-img{opacity:0;transition:opacity .6s ease;}
.fx-img.is-loaded{opacity:1;}

/* ---------- Slider: langsom zoom + progress ---------- */
.slide img{transform:scale(1);transform-origin:center;}
.slide.is-active img{animation:farre-kenburns 9s ease-out forwards;}
.slide:nth-child(even).is-active img{transform-origin:30% 60%;}
@keyframes farre-kenburns{from{transform:scale(1);}to{transform:scale(1.09);}}
.slider-progress{height:3px;background:var(--blue-line);margin-top:10px;overflow:hidden;}
.slider-progress span{display:block;height:100%;width:100%;background:var(--brass);transform:scaleX(0);transform-origin:left;}
.slider-progress.is-running span{animation:farre-progress var(--slide-time,5.5s) linear forwards;}
.slider.is-paused .slider-progress span,.slider.is-hover .slider-progress span,
.slider.is-paused .slide.is-active img,.slider.is-hover .slide.is-active img{animation-play-state:paused;}
@keyframes farre-progress{from{transform:scaleX(0);}to{transform:scaleX(1);}}
.slider-ui{margin-top:12px;}

/* ---------- Tidslinje tegner sig selv ---------- */
.fx-timeline .tl-item::before{background:var(--blue-line);transform:scale(.7);}
.fx-timeline .tl-item.is-lit::before{background:var(--brass);transform:scale(1);}
.fx-timeline .tl-item .tl-year{transition:color .4s;}
.fx-timeline .tl-item:not(.is-lit) .tl-year{color:var(--blue-mist);}
.fx-timeline .tl-item .tl-text{transition:opacity .5s;}
.fx-timeline .tl-item:not(.is-lit) .tl-text{opacity:.45;}

/* ---------- Kort og rækker ---------- */
.opb-card{transition:border-color .2s,transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s;}
.opb-card:hover{box-shadow:0 14px 30px rgba(0,48,74,.12);transform:translateY(-4px);}
.opb-card-img img{transition:transform .5s ease;}
.opb-card:hover .opb-card-img img{transform:scale(1.04);}
.map-link{display:inline-block;margin-top:8px;font-size:.92rem;}

/* ---------- Lightbox: bløde skift + miniaturer ---------- */
.lb{flex-direction:column;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));animation:farre-fade .25s ease;}
@keyframes farre-fade{from{opacity:0;}to{opacity:1;}}
.lb-fig{display:flex;flex-direction:column;align-items:center;flex:1;min-height:0;justify-content:center;}
.lb-fig img{max-height:calc(100vh - 240px);transition:opacity .3s ease,transform .3s ease;}
.lb-fig img.is-switching{opacity:0;transform:scale(.985);}
.lb-fig figcaption{width:100%;}
.lb-thumbs{display:flex;gap:6px;overflow-x:auto;max-width:1100px;width:100%;padding:14px 2px 4px;scrollbar-width:thin;scrollbar-color:var(--blue-line) transparent;}
.lb-thumb{flex:0 0 auto;width:72px;height:54px;padding:0;border:2px solid transparent;background:var(--blue-darker);cursor:pointer;opacity:.55;transition:opacity .2s,border-color .2s;}
.lb-thumb img{width:100%;height:100%;object-fit:cover;}
.lb-thumb:hover{opacity:.9;}
.lb-thumb.is-current{opacity:1;border-color:var(--brass);}

/* ---------- Mobil: Ring / Find vej ---------- */
.action-bar{display:none;}
@media (max-width:900px){
	.action-bar{
		display:grid;grid-template-columns:1fr 1fr;gap:1px;
		position:fixed;left:0;right:0;bottom:0;z-index:45;
		background:var(--blue-line);
		padding-bottom:env(safe-area-inset-bottom,0px);
		box-shadow:0 -6px 20px rgba(0,24,38,.25);
		transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.7,.2,1);
	}
	html.is-scrolled .action-bar{transform:none;}
	.nav-open .action-bar{transform:translateY(110%);}
	.action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;font-weight:600;text-decoration:none;color:var(--white);background:var(--blue-deep);font-size:.98rem;}
	.action-call{background:var(--signal);}
	.action-btn svg{width:18px;height:18px;fill:currentColor;}
	.site-footer{padding-bottom:calc(36px + 56px + env(safe-area-inset-bottom,0px));}
	.lb-thumbs{display:none;}
	.lb-fig img{max-height:68vh;}
}

/* ---------- Respekter "reducer bevægelse" ---------- */
@media (prefers-reduced-motion:reduce){
	.fx-reveal,.fx-img{opacity:1!important;transform:none!important;}
	.slide.is-active img{animation:none;}
	.slider-progress{display:none;}
	.timeline::after{transform:none;}
	.fx-timeline .tl-item::before{background:var(--brass);transform:none;}
	.fx-timeline .tl-item:not(.is-lit) .tl-year{color:var(--brass);}
	.fx-timeline .tl-item:not(.is-lit) .tl-text{opacity:1;}
	.action-bar{transform:none!important;}
}
