* { 
	margin: 0; 
	padding: 0; 
	box-sizing: border-box; 
}

body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	color: #333;
	background-color: #fcfcfd;
	line-height: 1.6;
}

.container { 
	width: 100%; 
	max-width: 1100px; 
	margin: 0 auto; 
	padding: 0 20px; 
}

/* HEADER */
header {
	background-color: #ffffff;
	box-shadow: 0 2px 4px rgba(0,0,0,0.05);
	position: sticky; top: 0; z-index: 100;
}

header .container {
	display: flex; 
	justify-content: space-between; 
	align-items: center; 
	height: 80px;
}

.logo-area { 
	display: flex; 
	align-items: center; 
	text-decoration: none; 
}

.logo-text { 
	font-size: 1.3rem; 
	font-weight: 700; 
	color: #1a202c; 
	letter-spacing: 0.05em; 
}

/* SPROGVÆLGER */
.lang-switch { 
	display: flex; 
	gap: 10px; 
}

.lang-btn {
	background: none; 
	border: 1px solid #cbd5e0; 
	padding: 5px 10px;
	border-radius: 4px; 
	cursor: pointer; 
	font-size: 0.9rem; 
	font-weight: 600;
	transition: all 0.2s;
}

.lang-btn.active { 
	background: #3182ce; 
	color: white; 
	border-color: #3182ce; 
}

/* HERO MED STORT LOGO */
.hero { 
	background-color: #ffffff; 
	padding: 60px 0; 
	border-bottom: 1px solid #e2e8f0; 
	text-align: center; 
}

.hero-logo {
	max-width: 380px;
	width: 100%;
	height: auto;
	margin: 0 auto 25px auto;
	display: block;
}

h1 { 
	font-size: 2.3rem; 
	color: #1a202c; 
	margin-bottom: 15px; 
	font-weight: 800; 
}

.lead-text { 
	font-size: 1.2rem; 
	color: #4a5568; 
	max-width: 600px; 
	margin: 0 auto; 
}

/* RESPONSIV VIDEO INDLEJRING */
.video-section {
    padding: 60px 0;
}

.video-wrapper {
    position: relative;
    padding-bottom: 56.25%; /* Højden i forhold til bredden (16:9 format) */
    padding-top: 25px;
    height: 0;
    max-width: 800px; /* Matcher bredden på dine tekst-infobokse for rød tråd */
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    border: 1px solid #e2e8f0;
}

.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* TYDELIG OPDEALING AF EMNE-SEKTIONER */
.info-text, .info-text2 {
	padding: 60px 0;
	background-color: #ffffff;
}

.info-content-box {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	align-items: start;
	max-width: 800px;
	margin: 0 auto;
	text-align: left;
}

.info-inner-text h2 {
	font-size: 1.8rem;
	margin-bottom: 15px;
	font-weight: 700;
	color: #1a202c;
	text-align: left;
}

.info-icon {
	font-size: 2.2rem;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
}

/* Tråden til logoet: Blå og grøn ikon-baggrund */
.tile-icon {
	background: #ebf8ff;
	color: #3182ce;
	border: 1px solid #bee3f8;
}

.laser-icon {
	background: #f0fff4;
	color: #2f855a;
	border: 1px solid #c6f6d5;
}

/* Sektions-bånd (Zebra-look) */
.highlight-section {
	background-color: #f7fafc !important;
	border-top: 1px solid #e2e8f0;
	border-bottom: 1px solid #e2e8f0;
}

/* GALLERI & PROJEKTKORT */
.gallery-section { 
	padding: 60px 0; 
	background-color: #ffffff; 
}

.section-title { 
	text-align: center; 
	font-size: 1.8rem; 
	color: #1a202c; 
	margin-bottom: 40px; 
	font-weight: 700; 
}

.gallery-grid { 
	display: grid; 
	grid-template-columns: 1fr; 
	gap: 30px; 
}

.project-card { 
	background: #f8f9fa; 
	border-radius: 12px; 
	overflow: hidden; 
	border: 1px solid #e2e8f0; 
	padding: 15px; 
}

.project-title { 
	font-weight: 600; 
	font-size: 1.1rem; 
	margin-bottom: 15px; 
	color: #2d3748; 
	text-align: center; 
}

.comparison-box { 
	display: grid; 
	grid-template-columns: 1fr 1fr; 
	gap: 10px; 
}

.img-container { 
	position: relative; 
	cursor: pointer;
	overflow: hidden;
	border-radius: 6px;
}

.img-container img { 
	width: 100%; 
	height: 200px; 
	object-fit: cover; 
	display: block; 
	transition: transform 0.3s ease;
}

.img-container:hover img {
	transform: scale(1.03);
}

.badge { 
	position: absolute; 
	top: 10px; 
	left: 10px; 
	background: rgba(0, 0, 0, 0.7); 
	color: #ffffff; 
	padding: 3px 8px; 
	font-size: 0.75rem; 
	font-weight: 600; 
	border-radius: 4px; 
	text-transform: uppercase; 
	z-index: 10;
}

/* FORMULAR & INFO */
.form-section { 
	padding: 60px 0; 
	background-color: #f7fafc; 
}

.main-grid { 
	display: grid; 
	grid-template-columns: 1fr; 
	gap: 40px; 
}

.price-list { 
	margin: 20px 0; 
	background: #edf2f7; 
	padding: 20px; 
	border-radius: 8px; 
	list-style: none; 
}

.price-list li { 
	margin-bottom: 10px; 
	font-weight: 500; 
}

.form-box { 
	background: #ffffff; 
	padding: 30px; border-radius: 12px; 
	box-shadow: 0 4px 6px rgba(0,0,0,0.05); 
	border: 1px solid #e2e8f0; 
}

.form-group { 
	margin-bottom: 20px; 
}

.form-group label { 
	display: block; 
	margin-bottom: 6px; 
	font-weight: 600; 
	font-size: 0.9rem; 
	color: #4a5568; 
}

.form-control { 
	width: 100%; 
	padding: 12px; 
	border: 1px solid #cbd5e0; 
	border-radius: 6px; 
	font-size: 1rem; 
	outline: none;
	background-color: #ffffff;
	font-family: inherit;
	color: #333;
}

.form-control:focus { 
	border-color: #3182ce; 
}

.live-price-box { 
	background: #f0fff4; 
	border: 1px solid #c6f6d5; 
	padding: 15px; 
	border-radius: 6px; 
	margin-bottom: 20px; 
	color: #22543d; 
}

.live-price-box span { 
	font-size: 1.4rem; 
	font-weight: 700; 
}

.btn-submit { 
	width: 100%; 
	background-color: #3182ce; 
	color: white; 
	border: none; 
	padding: 14px; 
	font-size: 1rem; 
	font-weight: 600; 
	border-radius: 6px; 
	cursor: pointer; 
}

.btn-submit:hover { 
	background-color: #2b6cb0; 
}

.alert { 
	padding: 15px; border-radius: 6px; margin-bottom: 20px; font-weight: 500; 
}

.alert-success { 
	background: #c6f6d5; 
	color: #22543d; 
}

.alert-error { 
	background: #fed7d7; 
	color: #742a2a; 
}

/* ABOUT ME / OM OS */
.aboutMe-section { 
	padding: 60px 0; 
	background-color: #ffffff; 
	border-bottom: 1px solid #e2e8f0; 
}

.aboutMe-title { 
	text-align: center; 
	font-size: 1.8rem; 
	color: #1a202c; 
	margin-bottom: 40px; 
	font-weight: 700; 
}

.aboutMe-grid { 
	display: grid; 
	grid-template-columns: 1fr; 
	gap: 30px; 
}

.aboutMe-card { 
	background: #f8f9fa; 
	border-radius: 12px; 
	overflow: hidden; 
	border: 1px solid #e2e8f0; 
	padding: 15px; 
}

.aboutMe-project-title { 
	font-weight: 600; 
	font-size: 1.1rem; 
	margin-bottom: 15px; 
	color: #2d3748; 
	text-align: center; 
}

.aboutMe-box { 
	display: grid; 
	gap: 10px; 
}

.aboutMe-card-container {
	position: relative;
	width: 300px;
	height: 400px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 16px rgba(0,0,0,0.15);
	background-color: #f0f0f0;
	margin-left: auto;
	margin-right: auto;
}

.aboutMe-card-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.aboutMe-info-box {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(5px);
	box-sizing: border-box;
	padding: 20px;
	transform: translateY(calc(100% - 60px)); 
	transition: transform 0.4s ease-in-out;
}

.aboutMe-info-box h3 {
	margin: 0 0 15px 0;
	font-size: 1.2rem;
	color: #333;
	line-height: 20px;
	cursor: pointer;
}

.aboutMe-contact-details {
	margin: 0;
	padding: 0;
	list-style: none;
	color: #555;
	font-size: 0.95rem;
}

.aboutMe-contact-details li {
	margin-bottom: 8px;
}

.aboutMe-card-container:hover .aboutMe-info-box,
.aboutMe-card-container.active .aboutMe-info-box {
	transform: translateY(0);
}

/* LIGHTBOX MODAL */
.lightbox-modal {
	display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%;
	background-color: rgba(0, 0, 0, 0.9); z-index: 1000; justify-content: center; align-items: center;
	opacity: 0; transition: opacity 0.3s ease; cursor: pointer;
}

.lightbox-modal.show { 
	display: flex; 
	opacity: 1; 
}
	
.lightbox-img { 
	max-width: 90%; 
	max-height: 85vh; 
	border-radius: 6px; 
	box-shadow: 0 4px 20px rgba(0,0,0,0.3); 
}

/* SPROG & RESPONSIVE LAYOUTS */
.lang-en { display: none !important; }

@media (min-width: 768px) {
	h1 { font-size: 3rem; }
	.hero-logo { max-width: 450px; }
	.info-content-box {
		grid-template-columns: 80px 1fr;
		gap: 20px;
	}
	.info-icon {
		width: 70px;
		height: 70px;
		font-size: 2.5rem;
	}
	.gallery-grid { grid-template-columns: 1fr 1fr; }
	.aboutMe-grid { grid-template-columns: 1fr 1fr; }
	.main-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
	.hero-logo { max-width: 280px; }
}

footer { 
	background-color: #1a202c; 
	color: #a0aec0; 
	padding: 30px 0; 
	text-align: center; 
	font-size: 0.9rem; 
}