/* Dalgas & Klindt — white background, tall dot-net heroes, full-width content. */

/* ---------- CTA buttons: brand purple, matching the samtale-banner ---------- */
.btn-primary{background:var(--webto-color-primary,#4a3d99);color:#fff;}
.btn-primary:hover{background:var(--webto-color-secondary,#4a3d99);color:#fff;}
.nav-cta{background:var(--webto-color-primary,#4a3d99);color:#fff;}
.nav-cta:hover{background:var(--webto-color-secondary,#4a3d99);color:#fff;}
.nav-cta__dot{background:#fff !important;box-shadow:0 0 0 3px rgba(255,255,255,.3) !important;}

/* ---------- Page hero: tall net, text left-aligned to the page grid ---------- */
.page-hero{position:relative;overflow:hidden;background:#fff;display:flex;align-items:center;min-height:clamp(300px,40vw,440px);padding:clamp(2rem,4vw,3rem) 0;border-bottom:1px solid var(--webto-color-border,#e7e7ec);}
.page-hero__art{position:absolute;top:0;right:0;bottom:0;width:min(66%,920px);height:100%;pointer-events:none;-webkit-mask-image:linear-gradient(to left,#000 56%,rgba(0,0,0,.22) 80%,transparent 100%);mask-image:linear-gradient(to left,#000 56%,rgba(0,0,0,.22) 80%,transparent 100%);}
.page-hero__art .dotnet{display:block;width:100%;height:100%;}
.page-hero__inner{position:relative;z-index:1;max-width:560px;margin-right:auto;text-align:left;}
.page-hero__eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:600;color:var(--accent,#1f9fd6);margin:0 0 .75rem;}
.page-hero__title{font-size:clamp(1.9rem,4.5vw,3rem);line-height:1.08;margin:0;color:var(--webto-color-text,#1a1f1e);}
.page-hero__lede{margin:1rem 0 0;font-size:clamp(1.1rem,2.1vw,1.4rem);line-height:1.4;color:var(--webto-color-muted,#6b7280);max-width:42ch;}
@media (max-width:820px){.page-hero{min-height:0;}.page-hero__art{width:100%;opacity:.4;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.3),#000);mask-image:linear-gradient(to bottom,rgba(0,0,0,.3),#000);}.page-hero__inner{max-width:none;}}

/* ---------- Subpage layout ---------- */
.subpage{padding:clamp(2rem,5vw,3.5rem) 0 clamp(2.5rem,6vw,4.5rem);}
.subpage__main{color:var(--webto-color-text,#1a1f1e);line-height:1.75;}
.subpage__main--full{max-width:72ch;}
.subpage__heading{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15;margin:0 0 1rem;color:var(--webto-color-text,#1a1f1e);}
.subpage__main h2,.subpage__main h3{line-height:1.2;margin:1.6em 0 .5em;}
.subpage__main h2:first-child,.subpage__main h3:first-child{margin-top:0;}
.subpage__main p{margin:0 0 1.1em;}
.subpage__main ul{margin:0 0 1.2em;padding-left:1.2em;}
.subpage__main li{margin:.25em 0;}
.subpage__contact{font-size:.95rem;background:var(--webto-color-surface,#f6f7f9);border:1px solid var(--webto-color-border,#e7e7ec);border-radius:14px;padding:1.25rem 1.4rem;}
.subpage__contact h2{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .6rem;color:var(--webto-color-muted,#7e8480);}
.subpage__contact address{font-style:normal;display:flex;flex-direction:column;gap:.2rem;}
.subpage__contact a{color:var(--webto-color-primary,#4a3d99);text-decoration:none;}
.subpage__contact a:hover{text-decoration:underline;}

/* ---------- Om: person cards ---------- */
.about-team{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4.5vw,3.5rem);margin:clamp(2.5rem,6vw,4rem) 0 0;}
.about-person{display:grid;grid-template-columns:1fr minmax(110px,150px);gap:clamp(1.1rem,2.5vw,1.6rem);align-items:center;background:var(--webto-color-surface,#f6f7f9);border:1px solid var(--webto-color-border,#e7e7ec);border-radius:18px;padding:clamp(1.4rem,2.5vw,1.9rem);}
.about-person__photo{width:100%;aspect-ratio:1;border-radius:16px;object-fit:cover;object-position:top;background:#e7e7ec;display:block;}
.about-person__name{margin:0;font-size:1.35rem;color:var(--webto-color-text,#1a1f1e);}
.about-person__role{margin:.15rem 0 .8rem;color:var(--webto-color-primary,#4a3d99);font-size:.95rem;font-weight:600;}
.about-person__bio{margin:0;color:var(--webto-color-muted,#7e8480);line-height:1.65;}\n@media(max-width:900px){.about-team{grid-template-columns:1fr;}}\n@media(max-width:480px){.about-person{grid-template-columns:1fr;}.about-person__media{order:-1;max-width:190px;}}

/* ---------- Courses ---------- */
.course-section{margin-top:clamp(2rem,5vw,3rem);}
.course-section__title{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 1.2rem;}
.course-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem;}
.course{display:grid;grid-template-columns:210px 1fr auto;gap:1.25rem;align-items:center;padding:1.1rem 1.3rem;background:#fff;border:1px solid var(--webto-color-border,#e7e7ec);border-left:4px solid var(--webto-color-primary,#4a3d99);border-radius:12px;}
.course__when{display:flex;flex-direction:column;}
.course__date{font-weight:700;color:var(--webto-color-text,#1a1f1e);}
.course__time{font-size:.9rem;color:var(--webto-color-muted,#7e8480);}
.course__title{margin:0;font-size:1.15rem;}
.course__loc,.course__desc{margin:.25rem 0 0;font-size:.92rem;color:var(--webto-color-muted,#7e8480);}
.course__cta .btn.is-disabled{opacity:.6;cursor:default;}
.course-empty{color:var(--webto-color-muted,#7e8480);font-style:italic;}
@media (max-width:720px){.course{grid-template-columns:1fr;gap:.5rem;}.course__cta{justify-self:start;}}

/* ---------- Front intro ---------- */
.front-intro{padding:clamp(2rem,5vw,3rem) 0 0;max-width:64ch;}
.front-intro__heading{font-size:clamp(1.6rem,3.4vw,2.3rem);line-height:1.15;margin:0 0 .7rem;color:var(--webto-color-text,#1a1f1e);}
.front-intro p{font-size:clamp(1.1rem,2.2vw,1.3rem);line-height:1.6;color:var(--webto-color-muted,#7e8480);}

/* ---------- Highlights ---------- */
.highlights{padding:clamp(2.5rem,6vw,4rem) 0 0;}
.highlights__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;}
.highlight-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--webto-color-border,#e7e7ec);border-radius:18px;padding:1.9rem 1.8rem;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.highlight-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.08);border-color:transparent;}
.highlight-card__icon{width:56px;height:56px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--card-accent,#4a3d99) 12%,#fff);color:var(--card-accent,#4a3d99);margin-bottom:1.1rem;}
.highlight-card__icon svg{width:30px;height:30px;}
.highlight-card__title{font-size:1.4rem;margin:0 0 .5rem;color:var(--card-accent,#4a3d99);}
.highlight-card__text{margin:0 0 1.1rem;color:var(--webto-color-muted,#7e8480);line-height:1.55;}
.highlight-card__more{margin-top:auto;font-weight:600;font-size:.92rem;color:var(--card-accent,#4a3d99);}

/* ---------- Front feature blocks (Om / Kurser with image) ---------- */
.front-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;margin:clamp(2.5rem,6vw,4.5rem) 0 0;}
.front-feature--reverse .front-feature__media{order:-1;}
.front-feature__title{font-size:clamp(1.6rem,3.2vw,2.2rem);line-height:1.15;margin:0 0 .7rem;color:var(--webto-color-text,#1a1f1e);}
.front-feature__text{color:var(--webto-color-muted,#7e8480);line-height:1.65;margin-bottom:1.3rem;}
.front-feature__text p{margin:0 0 .8em;}
.front-feature__img{width:100%;height:auto;border-radius:20px;display:block;}
.media-placeholder{aspect-ratio:4/3;background:var(--webto-color-surface,#f6f7f9);border:1px dashed var(--webto-color-border,#d8d8df);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--webto-color-muted,#9aa0a6);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;}
.media-placeholder__icon{width:42px;height:42px;opacity:.5;}
@media (max-width:820px){.front-feature{grid-template-columns:1fr;}.front-feature--reverse .front-feature__media{order:0;}}

/* ---------- Front CTA / samtale banner ---------- */
.front-cta{margin:clamp(2.5rem,6vw,4rem) 0 clamp(2rem,5vw,3rem);padding:clamp(2.2rem,5vw,3.2rem);background:var(--webto-color-primary,#4a3d99);color:#fff;border-radius:20px;text-align:center;}
.front-cta h2{margin:0 0 .5rem;font-size:clamp(1.6rem,3.5vw,2.2rem);color:#fff;}
.front-cta p{margin:0 0 1.5rem;opacity:.9;}
.front-cta .btn-primary{background:#fff;color:var(--webto-color-primary,#4a3d99);}
.front-cta .btn-primary:hover{background:#fff;color:var(--webto-color-secondary,#4a3d99);transform:translateY(-1px);}

/* ---------- Kontakt: form + layout ---------- */
.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;}
.contact-intro{margin-bottom:1.2rem;color:var(--webto-color-muted,#7e8480);line-height:1.6;}
.contact-form .wpcf7-form p{margin:0 0 1.1rem;}
.contact-form .wpcf7-form label{display:block;font-weight:600;font-size:.92rem;color:var(--webto-color-text,#1a1f1e);}
.contact-form .wpcf7-form input[type=text],.contact-form .wpcf7-form input[type=email],.contact-form .wpcf7-form input[type=tel],.contact-form .wpcf7-form textarea{width:100%;box-sizing:border-box;margin-top:.35rem;padding:.8rem .95rem;border:1px solid var(--webto-color-border,#d8d8df);border-radius:12px;background:#fff;font:inherit;color:var(--webto-color-text,#1a1f1e);transition:border-color .15s ease,box-shadow .15s ease;}
.contact-form .wpcf7-form input:focus,.contact-form .wpcf7-form textarea:focus{outline:none;border-color:var(--webto-color-primary,#4a3d99);box-shadow:0 0 0 3px color-mix(in srgb,var(--webto-color-primary,#4a3d99) 18%,transparent);}
.contact-form .wpcf7-form textarea{min-height:150px;resize:vertical;}
.contact-form .wpcf7-submit{display:inline-flex;align-items:center;margin-top:.3rem;padding:14px 28px;border:none;border-radius:999px;background:var(--webto-color-primary,#4a3d99);color:#fff;font-size:14.5px;font-weight:500;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.contact-form .wpcf7-submit:hover{background:var(--webto-color-secondary,#4a3d99);transform:translateY(-1px);}
.contact-form .wpcf7-spinner{margin:0 0 0 .6rem;}

.team-cards{display:grid;grid-template-columns:1fr;gap:1rem;}
.team-card{display:flex;gap:1.1rem;align-items:center;background:var(--webto-color-surface,#f6f7f9);border:1px solid var(--webto-color-border,#e7e7ec);border-radius:16px;padding:1.2rem;}
.team-card__photo{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:top;flex:0 0 auto;background:#e7e7ec;}
.team-card__name{margin:0;font-size:1.15rem;}
.team-card__role{margin:.1rem 0 .5rem;color:var(--webto-color-muted,#7e8480);font-size:.92rem;}
.team-card a{color:var(--webto-color-primary,#4a3d99);text-decoration:none;display:block;font-size:.92rem;}
.team-card a:hover{text-decoration:underline;}
@media (max-width:900px){.contact-layout{grid-template-columns:1fr;}}

/* ---------- Logo sizing ---------- */
.site-logo__image{max-height:96px;width:auto;height:auto;}
.foot-logo .site-logo__image{max-height:118px;}
@media(max-width:600px){.site-logo__image{max-height:66px;}}
