/*
Theme Name: Ellertsen Teknikk
Theme URI: https://ellertsenteknikk.no/
Author: Ellertsen Teknikk
Description: Et moderne, responsivt WordPress-tema for Ellertsen Teknikk.
Version: 1.3.3
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: ellertsen-teknikk
License: GPL-2.0-or-later
*/
:root {
  --et-ink: #0b1220;
  --et-navy: #101b2e;
  --et-blue: #3983f6;
  --et-blue-dark: #2364d8;
  --et-cyan: #69d3ee;
  --et-text: #172235;
  --et-muted: #617086;
  --et-line: #dfe6ef;
  --et-soft: #f4f7fb;
  --et-white: #fff;
  --et-radius: 18px;
  --et-shadow: 0 18px 55px rgba(11, 26, 48, .10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; color: var(--et-text); background: #fff; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.7; }
a { color: var(--et-blue-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: #1648a4; }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid var(--et-cyan); outline-offset: 3px; }
.et-container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.et-skip-link { position: absolute; left: -9999px; top: 0; z-index: 999; background: white; padding: 12px; }
.et-skip-link:focus { left: 12px; }
.et-header { position: sticky; top: 0; z-index: 50; background: rgba(11,18,32,.96); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(255,255,255,.1); }
.et-header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.et-brand { display: flex; align-items: center; gap: 12px; color: white; text-decoration: none; min-width: 0; }
.et-brand-mark { width: 43px; height: 43px; border-radius: 13px; display: grid; place-items: center; background: linear-gradient(145deg, var(--et-blue), #2255c5); color: white; font-weight: 800; letter-spacing: -.05em; box-shadow: 0 7px 20px rgba(57,131,246,.28); }
.et-brand-name { display: block; font-size: 15px; line-height: 1.15; font-weight: 800; letter-spacing: .11em; }
.et-brand-sub { display: block; margin-top: 5px; color: #a9b9d1; font-size: 10px; letter-spacing: .28em; font-weight: 700; }
.et-nav { display: flex; align-items: center; gap: 26px; }
.et-menu-list { display: flex; align-items: center; gap: 26px; list-style: none; margin: 0; padding: 0; }
.et-menu-list li { margin: 0; padding: 0; }
.et-menu-list .menu-item-cta > a, .et-menu-list li:last-child > a { padding: 10px 16px; border-radius: 10px; color: white; background: var(--et-blue); text-decoration: none; }
.et-menu-list .menu-item-cta > a:hover, .et-menu-list li:last-child > a:hover { background: var(--et-blue-dark); }
.et-nav a { color: #e3eaf5; text-decoration: none; font-size: 14px; font-weight: 600; }
.et-nav a:hover { color: white; }
.et-nav .et-nav-cta { padding: 10px 16px; border-radius: 10px; color: white; background: var(--et-blue); }
.et-menu-toggle { display: none; border: 1px solid rgba(255,255,255,.24); border-radius: 10px; padding: 8px 12px; background: transparent; color: white; }
.et-hero { position: relative; overflow: hidden; color: white; background: radial-gradient(ellipse at 80% 10%, rgba(57,131,246,.28), transparent 36%), radial-gradient(ellipse at 15% 80%, rgba(105,211,238,.10), transparent 34%), linear-gradient(135deg, #0b1220 0%, #101e34 60%, #12294a 100%); padding: 94px 0 88px; }
.et-hero:after { content: ""; position: absolute; inset: 0; opacity: .12; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to right, transparent, black); }
.et-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 64px; }
.et-eyebrow { display: inline-flex; align-items: center; gap: 10px; color: #9dc4ff; text-transform: uppercase; font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.et-eyebrow:before { content: ""; width: 25px; height: 2px; background: var(--et-cyan); }
.et-hero h1 { max-width: 720px; margin: 18px 0 22px; font-size: clamp(40px, 5.2vw, 66px); line-height: 1.06; letter-spacing: -.055em; color: white; }
.et-hero h1 span { color: #79b1ff; }
.et-hero p { max-width: 620px; margin: 0; color: #c7d4e6; font-size: 18px; line-height: 1.75; }
.et-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.et-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 12px 19px; border: 1px solid transparent; border-radius: 11px; background: var(--et-blue); color: white !important; text-decoration: none; font-weight: 750; font-size: 14px; transition: transform .2s, background .2s; }
.et-btn:hover { transform: translateY(-2px); background: var(--et-blue-dark); }
.et-btn-outline { color: white !important; background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.23); }
.et-btn-outline:hover { background: rgba(255,255,255,.10); }
.et-hero-note { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 28px; color: #c2d0e3; font-size: 13px; }
.et-hero-note span:before { content: "✓"; color: #79d8c2; font-weight: 900; margin-right: 7px; }
.et-visual { position: relative; min-height: 390px; display: grid; place-items: center; }
.et-orbit { position: absolute; width: min(100%, 390px); aspect-ratio: 1; border: 1px solid rgba(139,190,255,.22); border-radius: 50%; box-shadow: inset 0 0 70px rgba(57,131,246,.06); }
.et-orbit:before, .et-orbit:after { content: ""; position: absolute; border: 1px solid rgba(139,190,255,.19); border-radius: 50%; inset: 13%; }
.et-orbit:after { inset: 28%; }
.et-tech-card { position: relative; z-index: 1; width: min(100%, 340px); padding: 25px; border: 1px solid rgba(255,255,255,.16); border-radius: 22px; background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.045)); box-shadow: 0 25px 90px rgba(0,0,0,.24); backdrop-filter: blur(14px); transform: rotate(2deg); }
.et-tech-card-top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.12); color: #d8e7fb; font-size: 12px; }
.et-dots { display: flex; gap: 5px; }
.et-dots i { display: block; width: 6px; height: 6px; border-radius: 50%; background: #8fbfff; }
.et-code-line { height: 9px; margin-top: 17px; border-radius: 8px; background: rgba(139,190,255,.25); }
.et-code-line:nth-child(2) { width: 80%; }
.et-code-line:nth-child(3) { width: 60%; background: rgba(105,211,238,.40); }
.et-code-line:nth-child(4) { width: 88%; }
.et-code-line:nth-child(5) { width: 48%; }
.et-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
.et-mini-box { padding: 13px; border-radius: 12px; background: rgba(5,16,34,.42); color: #dbeaff; font-size: 11px; }
.et-mini-box strong { display: block; margin-bottom: 5px; color: #7fd9ed; font-size: 15px; }
.et-section { padding: 84px 0; }
.et-section-soft { background: var(--et-soft); }
.et-section-dark { background: var(--et-navy); color: white; }
.et-section-head { max-width: 720px; margin: 0 auto 42px; text-align: center; }
.et-section-head .et-eyebrow { color: var(--et-blue-dark); }
.et-section-head h2 { margin: 13px 0 13px; color: var(--et-ink); font-size: clamp(30px, 4vw, 43px); line-height: 1.15; letter-spacing: -.04em; }
.et-section-head p { margin: 0; color: var(--et-muted); font-size: 17px; }
.et-section-dark .et-section-head h2 { color: white; }
.et-section-dark .et-section-head p { color: #c1cee0; }
.et-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 17px; }
.et-card { min-width: 0; padding: 25px; border: 1px solid var(--et-line); border-radius: var(--et-radius); background: white; box-shadow: 0 8px 24px rgba(13,31,57,.035); transition: transform .2s, box-shadow .2s; }
.et-card:hover { transform: translateY(-4px); box-shadow: var(--et-shadow); }
.et-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: #eaf2ff; color: var(--et-blue-dark); }
.et-icon svg { width: 24px; height: 24px; }
.et-card h3 { margin: 20px 0 9px; color: var(--et-ink); font-size: 19px; line-height: 1.3; }
.et-card p { margin: 0; color: var(--et-muted); font-size: 14px; }
.et-card a { display: inline-flex; gap: 7px; margin-top: 19px; text-decoration: none; font-size: 13px; font-weight: 800; }
.et-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.et-panel { padding: 35px; border-radius: 24px; color: white; background: radial-gradient(ellipse at top right, rgba(57,131,246,.28), transparent 40%), linear-gradient(145deg, #0c1728, #142b49); box-shadow: var(--et-shadow); }
.et-panel h3 { margin: 0 0 10px; color: white; font-size: 26px; letter-spacing: -.03em; }
.et-panel p { color: #c5d4e8; }
.et-check-list { list-style: none; margin: 24px 0 0; padding: 0; }
.et-check-list li { position: relative; padding: 10px 0 10px 31px; border-bottom: 1px solid rgba(255,255,255,.1); color: #e4edf8; }
.et-check-list li:before { content: "✓"; position: absolute; left: 0; top: 10px; color: #77dfc2; font-weight: 900; }
.et-copy h2 { margin: 0 0 18px; font-size: clamp(30px, 4vw, 42px); line-height: 1.15; letter-spacing: -.045em; color: var(--et-ink); }
.et-copy p { color: var(--et-muted); }
.et-copy strong { color: var(--et-text); }
.et-price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: stretch; }
.et-price-card { display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--et-line); border-radius: 19px; background: white; }
.et-price-card-featured { border: 2px solid var(--et-blue); box-shadow: 0 15px 45px rgba(57,131,246,.12); }
.et-price-label { color: var(--et-blue-dark); font-size: 12px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.et-price-card h3 { margin: 10px 0 4px; font-size: 22px; color: var(--et-ink); }
.et-price { margin: 8px 0 13px; color: var(--et-ink); font-size: 32px; font-weight: 850; letter-spacing: -.04em; }
.et-price small { color: var(--et-muted); font-size: 12px; font-weight: 500; letter-spacing: 0; }
.et-price-card p { color: var(--et-muted); font-size: 14px; }
.et-price-card ul { padding-left: 19px; color: var(--et-muted); font-size: 14px; }
.et-price-card .et-btn { margin-top: auto; }
.et-faq { max-width: 820px; margin: 0 auto; }
.et-faq details { padding: 20px 0; border-bottom: 1px solid var(--et-line); }
.et-faq summary { cursor: pointer; color: var(--et-ink); font-weight: 800; }
.et-faq details p { margin-bottom: 0; color: var(--et-muted); }
.et-contact-band { padding: 54px 0; color: white; background: linear-gradient(110deg, #2364d8, #3983f6 60%, #2a9ec8); }
.et-contact-band-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.et-contact-band h2 { margin: 0 0 8px; color: white; font-size: clamp(27px, 3vw, 37px); letter-spacing: -.04em; }
.et-contact-band p { margin: 0; color: rgba(255,255,255,.85); }
.et-contact-band .et-btn { color: var(--et-ink) !important; background: white; white-space: nowrap; }
.et-contact-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 60px; align-items: start; }
.et-contact-info { padding: 28px; border-radius: 20px; background: var(--et-soft); }
.et-contact-info h3 { margin-top: 0; color: var(--et-ink); }
.et-contact-info p { color: var(--et-muted); }
.et-contact-info a { font-weight: 750; overflow-wrap: anywhere; }
.et-contact-form { padding: 30px; border: 1px solid var(--et-line); border-radius: 20px; background: white; box-shadow: 0 12px 40px rgba(13,31,57,.05); }
.et-field { margin-bottom: 17px; }
.et-field label { display: block; margin-bottom: 7px; color: var(--et-text); font-size: 14px; font-weight: 750; }
.et-field input, .et-field textarea, .et-field select { width: 100%; padding: 12px 14px; border: 1px solid #cfd8e5; border-radius: 10px; color: var(--et-text); background: white; }
.et-field textarea { min-height: 140px; resize: vertical; }
.et-field input:focus, .et-field textarea:focus, .et-field select:focus { border-color: var(--et-blue); outline: 3px solid rgba(57,131,246,.14); }
.et-form-message { padding: 13px 15px; margin-bottom: 18px; border-radius: 10px; background: #edf9f4; color: #17684a; }
.et-form-error { background: #fff0f0; color: #8b2222; }
.et-footer { padding: 48px 0 24px; color: #c2ccdc; background: #09111e; }
.et-footer-grid { display: grid; grid-template-columns: 1.3fr .7fr .8fr; gap: 40px; padding-bottom: 34px; }
.et-footer h3 { margin: 0 0 13px; color: white; font-size: 14px; }
.et-footer p { max-width: 430px; margin: 12px 0; color: #9baac0; font-size: 13px; }
.et-footer a { color: #c2ccdc; text-decoration: none; }
.et-footer a:hover { color: white; }
.et-footer-links { display: grid; gap: 8px; font-size: 13px; }
.et-footer-menu { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.et-footer-menu li { margin: 0; padding: 0; }
.et-footer-menu a { display: inline-block; }
.et-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); color: #8d9bb0; font-size: 12px; }
.et-page-hero { padding: 65px 0; color: white; background: linear-gradient(130deg, #0b1220, #15345a); }
.et-page-hero h1 { margin: 12px 0; font-size: clamp(34px, 5vw, 54px); line-height: 1.1; letter-spacing: -.05em; }
.et-page-hero p { max-width: 720px; color: #c7d4e6; font-size: 18px; }
.et-content { padding: 55px 0 80px; }
.et-content article { max-width: 850px; margin: auto; }
.et-content h2, .et-content h3 { color: var(--et-ink); line-height: 1.25; }
.et-content img { border-radius: 14px; }
.et-notice { padding: 15px 18px; border: 1px solid #d8e7fb; border-radius: 12px; background: #f2f7ff; color: #34516f; font-size: 13px; }
.et-post-list { display: grid; gap: 20px; }
.et-post { padding: 25px; border: 1px solid var(--et-line); border-radius: 15px; }
.et-post h2 { margin-top: 0; }
@media (max-width: 980px) {
  .et-hero-grid { grid-template-columns: 1fr; gap: 20px; }
  .et-visual { min-height: 330px; }
  .et-cards { grid-template-columns: repeat(2, 1fr); }
  .et-split { gap: 35px; }
}
@media (max-width: 720px) {
  .et-container { width: min(100% - 30px, 1160px); }
  .et-header-inner { min-height: 70px; }
  .et-menu-toggle { display: inline-flex; }
  .et-nav { display: none; position: absolute; top: 70px; left: 0; right: 0; padding: 20px; flex-direction: column; align-items: stretch; gap: 0; background: #0b1220; border-top: 1px solid rgba(255,255,255,.1); }
  .et-nav.is-open { display: flex; }
  .et-menu-list { width: 100%; flex-direction: column; align-items: stretch; gap: 0; }
  .et-menu-list li:last-child > a { display: block; text-align: center; }
  .et-nav a { padding: 12px 5px; }
  .et-nav .et-nav-cta { margin-top: 8px; text-align: center; }
  .et-hero { padding: 65px 0 55px; }
  .et-hero p { font-size: 16px; }
  .et-visual { min-height: 290px; }
  .et-section { padding: 60px 0; }
  .et-cards, .et-price-grid, .et-split, .et-contact-layout, .et-footer-grid { grid-template-columns: 1fr; }
  .et-split { gap: 28px; }
  .et-contact-band-inner { align-items: flex-start; flex-direction: column; }
  .et-footer-grid { gap: 26px; }
  .et-footer-bottom { flex-direction: column; gap: 8px; }
  .et-price-card { padding: 23px; }
}

/* WordPress-blokkredigereren på forsiden: behold full bredde og samme visuelle uttrykk som temaet. */
.et-editor-home { width: 100%; padding: 0; overflow: clip; }
.et-editor-home > .wp-block-group { margin-block: 0; }
.et-editor-home .wp-block-group > .wp-block-group__inner-container,
.et-editor-home .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: 1160px; }
.et-editor-home h1, .et-editor-home h2, .et-editor-home h3, .et-editor-home h4 { color: var(--et-ink); line-height: 1.2; letter-spacing: -.035em; }
.et-editor-home h1 { font-size: clamp(2.6rem, 5.2vw, 4.3rem); letter-spacing: -.055em; }
.et-editor-home h2 { font-size: clamp(1.9rem, 3.7vw, 2.7rem); letter-spacing: -.04em; }
.et-editor-home h3 { font-size: 1.25rem; }
.et-editor-home p, .et-editor-home li { line-height: 1.75; }
.et-editor-home .wp-block-buttons { gap: 12px; margin-top: 22px; }
.et-editor-home .wp-block-button__link { display: inline-flex; align-items: center; min-height: 46px; padding: 12px 18px; border: 1px solid transparent; border-radius: 10px; background: var(--et-blue); color: #fff; text-decoration: none; font-weight: 750; font-size: 14px; }
.et-editor-home .wp-block-button__link:hover { background: var(--et-blue-dark); color: #fff; }
.et-editor-home .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border-color: var(--et-line); color: var(--et-ink); }
.et-editor-home .wp-block-columns { gap: 20px; align-items: stretch; }
.et-editor-home .wp-block-column { min-width: 0; padding: 0; border: 0; border-radius: 0; }
/* Hero */
.et-editor-home > .wp-block-group.alignfull:first-child { position: relative; padding-top: clamp(58px, 8vw, 94px) !important; padding-bottom: clamp(58px, 8vw, 88px) !important; background: radial-gradient(ellipse at 80% 10%, rgba(57,131,246,.28), transparent 36%), radial-gradient(ellipse at 15% 80%, rgba(105,211,238,.10), transparent 34%), linear-gradient(135deg, #0b1220 0%, #101e34 60%, #12294a 100%) !important; color: #fff !important; }
.et-editor-home > .wp-block-group.alignfull:first-child:after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .1; background-image: linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px); background-size: 44px 44px; }
.et-editor-home > .wp-block-group.alignfull:first-child > .wp-block-group__inner-container,
.et-editor-home > .wp-block-group.alignfull:first-child > .wp-block-heading,
.et-editor-home > .wp-block-group.alignfull:first-child > p,
.et-editor-home > .wp-block-group.alignfull:first-child > .wp-block-buttons { position: relative; z-index: 1; }
.et-editor-home > .wp-block-group.alignfull:first-child h1,
.et-editor-home > .wp-block-group.alignfull:first-child h2,
.et-editor-home > .wp-block-group.alignfull:first-child h3 { color: #fff !important; max-width: 790px; }
.et-editor-home > .wp-block-group.alignfull:first-child p { max-width: 720px; color: #c7d4e6 !important; font-size: 18px; }
.et-editor-home > .wp-block-group.alignfull:first-child p:first-child { color: var(--et-cyan) !important; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.et-editor-home > .wp-block-group.alignfull:first-child .wp-block-button__link { background: var(--et-blue); color: #fff !important; }
.et-editor-home > .wp-block-group.alignfull:first-child .wp-block-button.is-style-outline .wp-block-button__link { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.25); }
/* Tjenester: fire ryddige kort */
.et-editor-home #tjenester { padding-top: 78px !important; padding-bottom: 82px !important; }
.et-editor-home #tjenester > p:first-child,
.et-editor-home #om p:first-child,
.et-editor-home #priser > p:first-child { color: var(--et-blue-dark); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.et-editor-home #tjenester > h2 { max-width: 720px; }
.et-editor-home #tjenester > .wp-block-columns { margin-top: 32px; }
.et-editor-home #tjenester > .wp-block-columns .wp-block-column { padding: 25px; border: 1px solid var(--et-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(13,31,57,.035); }
.et-editor-home #tjenester > .wp-block-columns h3 { margin-top: 0; }
.et-editor-home #tjenester > .wp-block-columns a { font-size: 13px; font-weight: 800; text-decoration: none; }
/* Om-seksjonen */
.et-editor-home #om { padding-top: 70px !important; padding-bottom: 70px !important; background: var(--et-soft) !important; }
.et-editor-home #om > .wp-block-columns { gap: clamp(28px, 5vw, 70px); align-items: center; }
.et-editor-home #om > .wp-block-columns > .wp-block-column:first-child { padding: 32px; border-radius: 22px; color: #fff; background: radial-gradient(ellipse at top right, rgba(57,131,246,.28), transparent 40%), linear-gradient(145deg, #0c1728, #142b49); box-shadow: var(--et-shadow); }
.et-editor-home #om > .wp-block-columns > .wp-block-column:first-child h2,
.et-editor-home #om > .wp-block-columns > .wp-block-column:first-child h3 { color: #fff; }
.et-editor-home #om > .wp-block-columns > .wp-block-column:first-child p,
.et-editor-home #om > .wp-block-columns > .wp-block-column:first-child li { color: #d7e4f4; }
.et-editor-home #om > .wp-block-columns > .wp-block-column:first-child ul { padding-left: 22px; }
/* Prisoversikt */
.et-editor-home #priser { padding-top: 78px !important; padding-bottom: 78px !important; }
.et-editor-home #priser > .wp-block-columns { margin-top: 32px; }
.et-editor-home #priser > .wp-block-columns > .wp-block-column { display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--et-line); border-radius: 19px; background: #fff; }
.et-editor-home #priser > .wp-block-columns > .wp-block-column:first-child { border: 2px solid var(--et-blue); box-shadow: 0 15px 45px rgba(57,131,246,.12); }
.et-editor-home #priser > .wp-block-columns h3 { margin-top: 0; }
.et-editor-home #priser > .wp-block-columns h4 { color: var(--et-blue-dark); font-size: 1.4rem; }
.et-editor-home #priser > p:last-child { max-width: 800px; margin: 25px auto 0; text-align: center; color: var(--et-muted); font-size: 13px; }
/* FAQ og avsluttende kontaktfelt */
.et-editor-home > .wp-block-group:not(.alignfull) { padding-left: 24px; padding-right: 24px; }
.et-editor-home .wp-block-details { padding: 17px 0; border-bottom: 1px solid var(--et-line); }
.et-editor-home .wp-block-details summary { color: var(--et-ink); font-weight: 750; cursor: pointer; }
.et-editor-home > .wp-block-group.alignfull:last-child { padding-top: 48px !important; padding-bottom: 48px !important; background: linear-gradient(135deg, #0b1220, #15345a) !important; color: #fff !important; }
.et-editor-home > .wp-block-group.alignfull:last-child h2 { color: #fff !important; }
.et-editor-home > .wp-block-group.alignfull:last-child p { color: #c7d4e6 !important; }
@media (max-width: 780px) {
  .et-editor-home > .wp-block-group.alignfull:first-child { padding-left: 20px !important; padding-right: 20px !important; }
  .et-editor-home .wp-block-columns { flex-wrap: wrap !important; }
  .et-editor-home .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
  .et-editor-home #tjenester, .et-editor-home #priser { padding-top: 56px !important; padding-bottom: 56px !important; }
  .et-editor-home #om > .wp-block-columns > .wp-block-column:first-child { padding: 24px; }
  .et-editor-home #priser > .wp-block-columns > .wp-block-column { padding: 24px; }
}


/* 1.2.3 – finjustering av den redigerbare forsiden for å matche det opprinnelige designet. */
.et-editor-home { color: var(--et-text); font-size: 16px; line-height: 1.7; }
.et-editor-home > .wp-block-group { margin-block: 0; }
.et-editor-home h1, .et-editor-home h2, .et-editor-home h3, .et-editor-home h4 { font-family: inherit; font-weight: 800; }
.et-editor-home h1 { font-size: clamp(42px, 5.2vw, 66px) !important; line-height: 1.06 !important; letter-spacing: -.055em !important; }
.et-editor-home h2 { font-size: clamp(30px, 3.7vw, 44px) !important; line-height: 1.12 !important; letter-spacing: -.045em !important; }
.et-editor-home h3 { font-size: 21px !important; line-height: 1.25 !important; letter-spacing: -.025em !important; }
.et-editor-home h4 { font-size: 24px !important; line-height: 1.2 !important; }
.et-editor-home p { margin-top: 0; margin-bottom: 16px; }
.et-editor-home .wp-block-group.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: 1160px; }

/* Hero: større typografi, bedre linjebredde og en diskret teknologisk illustrasjon. */
.et-editor-home > .wp-block-group.alignfull:first-child { min-height: 440px; position: relative; overflow: hidden; padding-top: clamp(72px, 8vw, 96px) !important; padding-bottom: clamp(72px, 8vw, 92px) !important; background: radial-gradient(ellipse at 78% 18%, rgba(57,131,246,.28), transparent 35%), radial-gradient(ellipse at 14% 85%, rgba(105,211,238,.11), transparent 32%), linear-gradient(135deg,#0b1220 0%,#101e34 60%,#12294a 100%) !important; }
.et-editor-home > .wp-block-group.alignfull:first-child:after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.11; background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(to right,transparent,black); }
.et-editor-home > .wp-block-group.alignfull:first-child:before { content:"ELLERTSEN / DIGITAL\A\A  01 / WEB       Nettsider som fungerer\A\A  02 / IT          Hjelp når du trenger det\A\A  03 / FLOW        Mindre manuelt arbeid\A\A  04 / CARE        Vedlikehold og trygghet"; white-space:pre-wrap; position:absolute; z-index:1; width:min(390px,31vw); min-height:300px; right:max(24px,calc((100% - 1160px)/2)); top:50%; transform:translateY(-50%); padding:32px 26px; border:1px solid rgba(255,255,255,.16); border-radius:20px; background:linear-gradient(145deg,rgba(22,39,64,.96),rgba(10,19,33,.92)); box-shadow:0 24px 70px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.06); color:#d7e4f4; font:600 13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.01em; }
.et-editor-home > .wp-block-group.alignfull:first-child > p,
.et-editor-home > .wp-block-group.alignfull:first-child > h1,
.et-editor-home > .wp-block-group.alignfull:first-child > .wp-block-buttons { position:relative; z-index:2; width:min(60%,680px) !important; max-width:680px !important; margin-left:max(24px,calc((100% - 1160px)/2)) !important; margin-right:auto !important; }
.et-editor-home > .wp-block-group.alignfull:first-child > p:first-child { color:var(--et-cyan) !important; font-size:12px !important; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.et-editor-home > .wp-block-group.alignfull:first-child > h1 { color:#fff !important; margin-top:18px !important; margin-bottom:22px !important; }
.et-editor-home > .wp-block-group.alignfull:first-child > p:not(:first-child) { color:#c7d4e6 !important; font-size:18px !important; line-height:1.75 !important; }
.et-editor-home > .wp-block-group.alignfull:first-child .wp-block-button__link { min-height:46px; padding:13px 18px; border-radius:10px; font-size:14px; font-weight:750; }
.et-editor-home > .wp-block-group.alignfull:first-child .wp-block-button.is-style-outline .wp-block-button__link { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.26); color:#fff !important; }

/* Tjenester – fire tydelige kort som i den opprinnelige forsiden. */
.et-editor-home #tjenester { padding-top:78px !important; padding-bottom:82px !important; }
.et-editor-home #tjenester > p:first-child,
.et-editor-home #om .wp-block-column > p:first-child,
.et-editor-home #priser > p:first-child { color:var(--et-blue-dark) !important; font-size:12px !important; line-height:1.4; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.et-editor-home #tjenester > h2 { max-width:720px !important; }
.et-editor-home #tjenester > .wp-block-columns { gap:20px; margin-top:32px; }
.et-editor-home #tjenester > .wp-block-columns > .wp-block-column { min-width:0; padding:25px !important; border:1px solid var(--et-line) !important; border-radius:18px !important; background:#fff !important; box-shadow:0 8px 24px rgba(13,31,57,.045); }
.et-editor-home #tjenester > .wp-block-columns > .wp-block-column h3 { margin-top:0; }
.et-editor-home #tjenester > .wp-block-columns > .wp-block-column p:last-child { margin-top:22px; margin-bottom:0; }
.et-editor-home #tjenester > .wp-block-columns > .wp-block-column p:last-child a { color:var(--et-blue-dark); font-size:13px; font-weight:800; text-decoration:none; }

/* Om-seksjon – mørkt informasjonskort og romslig tekstkolonne. */
.et-editor-home #om { padding-top:70px !important; padding-bottom:70px !important; background:var(--et-soft) !important; }
.et-editor-home #om > .wp-block-columns { gap:clamp(28px,5vw,70px); align-items:center; }
.et-editor-home #om > .wp-block-columns > .wp-block-column:first-child { padding:32px !important; border-radius:22px; color:#fff; background:radial-gradient(ellipse at top right,rgba(57,131,246,.28),transparent 40%),linear-gradient(145deg,#0c1728,#142b49); box-shadow:var(--et-shadow); }
.et-editor-home #om > .wp-block-columns > .wp-block-column:first-child h2,
.et-editor-home #om > .wp-block-columns > .wp-block-column:first-child h3 { color:#fff !important; }
.et-editor-home #om > .wp-block-columns > .wp-block-column:first-child p,
.et-editor-home #om > .wp-block-columns > .wp-block-column:first-child li { color:#d7e4f4 !important; }
.et-editor-home #om > .wp-block-columns > .wp-block-column:first-child ul { padding-left:22px; }
.et-editor-home #om > .wp-block-columns > .wp-block-column:last-child h2 { margin-top:12px; }

/* Priskort, FAQ og siste kontaktfelt. */
.et-editor-home #priser { padding-top:78px !important; padding-bottom:78px !important; }
.et-editor-home #priser > .wp-block-columns { gap:20px; margin-top:32px; align-items:stretch; }
.et-editor-home #priser > .wp-block-columns > .wp-block-column { display:flex; flex-direction:column; min-width:0; padding:28px !important; border:1px solid var(--et-line) !important; border-radius:19px !important; background:#fff !important; }
.et-editor-home #priser > .wp-block-columns > .wp-block-column:first-child { border:2px solid var(--et-blue) !important; box-shadow:0 15px 45px rgba(57,131,246,.12); }
.et-editor-home #priser > .wp-block-columns h3 { margin-top:0; }
.et-editor-home #priser > .wp-block-columns h4 { color:var(--et-blue-dark) !important; font-size:24px !important; }
.et-editor-home #priser > .wp-block-columns .wp-block-buttons { margin-top:auto; padding-top:12px; }
.et-editor-home #priser > p:last-child { max-width:800px !important; margin:25px auto 0; text-align:center; color:var(--et-muted) !important; font-size:13px !important; }
.et-editor-home .wp-block-details { padding:17px 0; border-bottom:1px solid var(--et-line); }
.et-editor-home .wp-block-details summary { color:var(--et-ink); font-weight:750; cursor:pointer; }
.et-editor-home > .wp-block-group.alignfull:last-child { padding-top:48px !important; padding-bottom:48px !important; background:linear-gradient(135deg,#0b1220,#15345a) !important; color:#fff !important; }
.et-editor-home > .wp-block-group.alignfull:last-child h2 { color:#fff !important; }
.et-editor-home > .wp-block-group.alignfull:last-child p { color:#c7d4e6 !important; }

@media (max-width: 780px) {
  .et-editor-home > .wp-block-group.alignfull:first-child { min-height:0; padding-top:58px !important; padding-bottom:58px !important; }
  .et-editor-home > .wp-block-group.alignfull:first-child:before { display:none; }
  .et-editor-home > .wp-block-group.alignfull:first-child > p,
  .et-editor-home > .wp-block-group.alignfull:first-child > h1,
  .et-editor-home > .wp-block-group.alignfull:first-child > .wp-block-buttons { width:auto !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; }
  .et-editor-home h1 { font-size:clamp(38px,10vw,52px) !important; }
  .et-editor-home h2 { font-size:clamp(29px,7vw,36px) !important; }
  .et-editor-home #tjenester, .et-editor-home #priser { padding-top:56px !important; padding-bottom:56px !important; }
  .et-editor-home #tjenester > .wp-block-columns > .wp-block-column,
  .et-editor-home #priser > .wp-block-columns > .wp-block-column { padding:23px !important; }
  .et-editor-home #om > .wp-block-columns > .wp-block-column:first-child { padding:24px !important; }
}


/* 1.3.1 – fjerner tekstgrafikken som så ut som et ødelagt bilde og gir forsiden en ryddig avslutning. */
.et-editor-home > .wp-block-group.alignfull:first-child:before {
  content: "" !important;
  display: block;
  position: absolute;
  z-index: 1;
  width: min(390px, 31vw);
  height: 300px;
  right: max(24px, calc((100% - 1160px) / 2));
  top: 50%;
  transform: translateY(-50%);
  padding: 0;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 22px;
  background:
    radial-gradient(circle at 73% 28%, #7dd3fc 0 4px, transparent 5px),
    radial-gradient(circle at 48% 44%, #60a5fa 0 4px, transparent 5px),
    radial-gradient(circle at 28% 61%, #7dd3fc 0 4px, transparent 5px),
    linear-gradient(150deg, transparent 0 27%, rgba(125,211,252,.7) 27.2% 27.8%, transparent 28%),
    linear-gradient(25deg, transparent 0 42%, rgba(96,165,250,.75) 42.2% 42.8%, transparent 43%),
    repeating-linear-gradient(to bottom, transparent 0 49px, rgba(255,255,255,.07) 50px, transparent 51px),
    linear-gradient(145deg, rgba(22,39,64,.97), rgba(10,19,33,.94));
  box-shadow: 0 24px 70px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.06);
  pointer-events: none;
  white-space: normal;
  font-size: 0;
  letter-spacing: 0;
}
.et-editor-home > .wp-block-group.alignfull:first-child:after {
  z-index: 0;
}
.et-editor-home > .wp-block-group.alignfull:first-child > p,
.et-editor-home > .wp-block-group.alignfull:first-child > h1,
.et-editor-home > .wp-block-group.alignfull:first-child > .wp-block-buttons {
  position: relative;
  z-index: 2;
}
.et-editor-home .wp-block-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.et-editor-home .wp-block-button__link {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: var(--et-blue, #2563eb);
  color: #fff !important;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 5px 16px rgba(15, 40, 80, .12);
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.et-editor-home .wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 9px 22px rgba(15,40,80,.18); }
.et-editor-home .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--et-ink, #172235) !important; border-color: #cbd5e1; box-shadow: none; }
.et-editor-home > .wp-block-group.alignfull:first-child .wp-block-button.is-style-outline .wp-block-button__link { color: #fff !important; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.05); }

/* FAQ og kontakt-CTA står ved siden av hverandre på desktop, og stables på mobil. */
@media (min-width: 1000px) {
  .et-editor-home { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); column-gap: 28px; align-items: stretch; }
  .et-editor-home > .wp-block-group { grid-column: 1 / -1; min-width: 0; }
  .et-editor-home > .wp-block-group:nth-last-child(2) {
    grid-column: 1;
    align-self: stretch;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 42px 34px !important;
    border-radius: 20px;
    background: #f4f7fb !important;
  }
  .et-editor-home > .wp-block-group:last-child {
    grid-column: 2;
    align-self: stretch;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 42px 34px !important;
    border-radius: 20px;
    background: linear-gradient(145deg,#0b1220,#15345a) !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .et-editor-home > .wp-block-group:last-child h2 { font-size: clamp(28px, 2.7vw, 38px) !important; }
  .et-editor-home > .wp-block-group:last-child .wp-block-buttons { margin-top: 12px; }
}
@media (max-width: 999px) {
  .et-editor-home > .wp-block-group.alignfull:first-child:before { display: none !important; }
  .et-editor-home > .wp-block-group.alignfull:first-child > p,
  .et-editor-home > .wp-block-group.alignfull:first-child > h1,
  .et-editor-home > .wp-block-group.alignfull:first-child > .wp-block-buttons { width: auto !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
  .et-editor-home > .wp-block-group:last-child { margin-top: 22px; }
}


/* 1.3.3: New Gutenberg homepage layout: remove old direct-child two-column grid. */
.et-editor-home:has(> .et-home) {display:block !important; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;}
.et-editor-home > .et-home {display:block !important; position:relative !important; width:100% !important; max-width:none !important; margin:0 !important; left:auto !important; right:auto !important; padding:0 !important;}
.et-editor-home > .et-home > .wp-block-group {grid-column:auto !important; width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; box-sizing:border-box;}
.et-editor-home > .et-home > .et-hero {min-height:650px; border-radius:0 0 28px 28px;}
.et-editor-home > .et-home > .et-hero::before,.et-editor-home > .et-home > .et-hero::after {display:none !important;}
.et-editor-home > .et-home .et-section {max-width:none !important; width:100% !important; box-sizing:border-box;}
.et-editor-home > .et-home .et-services,.et-editor-home > .et-home .et-pricing {padding-left:max(24px, calc((100% - 1200px)/2)) !important; padding-right:max(24px, calc((100% - 1200px)/2)) !important;}
.et-editor-home > .et-home .et-faq-contact,.et-editor-home > .et-home .et-about {padding-left:max(24px, calc((100% - 1200px)/2)) !important; padding-right:max(24px, calc((100% - 1200px)/2)) !important;}
@media(max-width:781px){.et-editor-home > .et-home > .et-hero{min-height:0;}}
