/* Wide layout layer. The original UI and all JavaScript behaviour stay intact. */
html, body, #root { width: 100%; min-width: 320px; }

@media (min-width: 1280px) {
  .max-w-7xl {
    max-width: min(1680px, calc(100vw - 48px)) !important;
  }

  .max-w-6xl {
    max-width: min(1520px, calc(100vw - 64px)) !important;
  }

  header .max-w-7xl,
  footer .max-w-7xl {
    max-width: min(1760px, calc(100vw - 48px)) !important;
  }

  main section > .max-w-7xl,
  main section > .max-w-6xl {
    width: 100%;
  }
}

@media (min-width: 1536px) {
  .xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Keep readable paragraphs compact while the surrounding sections use the screen. */
p.max-w-2xl, p.max-w-3xl { max-width: 52rem !important; }

/* Prevent the wide layout from introducing horizontal page dragging. */
.min-w-0 { min-width: 0; }
img, video, iframe { max-width: 100%; }
/* Client review: 2026-10-29 */
.unterland-wordmark {width:142px!important;height:46px!important;object-fit:cover!important;object-position:53% 20%;}
.unterland-hero {background:#f7f1ed!important;}
.unterland-hero h1 {color:#1c4d79!important;}
.unterland-hero p,.unterland-hero .text-slate-300 {color:#43546a!important;}
.unterland-hero .text-cyan-200,.unterland-hero .text-cyan-300 {color:#087e86!important;}
.unterland-hero a.text-white {color:#214d75!important;border-color:#b9cbd1!important;background:#fff!important;}
.unterland-hero-image {object-fit:cover!important;object-position:53% 20%;background:#eee5e1;}
.unterland-hero [class*="bg-[#071426]/80"] {background:#fff!important;color:#214d75!important;border:1px solid #e4dcd6!important;}
.unterland-hero [class*="shadow-"] {box-shadow:0 16px 46px #214d7518!important;}
#magunkrol {background:#fffaf6;}
#magunkrol .team-photo {object-fit:contain!important;background:#f3eeeb!important;padding:4px;}
#magunkrol .about-quote {font-size:1rem;line-height:1.6;}
#gyik [class*="bg-[#071426]"] {background:#eaf4f3!important;color:#214d75!important;border:1px solid #c9e0df;}
#gyik .text-slate-300 {color:#43546a!important;}
#gyik .text-cyan-200 {color:#08777d!important;}
.faq-inline-link {color:#076b75;font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.faq-inline-link:focus-visible,.contact-details a:focus-visible {outline:3px solid #1c4d79;outline-offset:4px;}
#kapcsolat {background:#f3ede8!important;}
#kapcsolat [class*="bg-[#071426]"] {background:#eaf4f3!important;}
#kapcsolat .text-white {color:#214d75!important;}
#kapcsolat .text-slate-300 {color:#43546a!important;}
#kapcsolat .text-cyan-200,#kapcsolat .text-cyan-300 {color:#08777d!important;}
#kapcsolat [class*="border-white/"] {background:#fff!important;border-color:#cedfdf!important;}
#kapcsolat button.text-white {background:#214d75!important;color:#fff!important;}
.contact-details {flex-direction:column;gap:10px!important;font-size:13px;}
.contact-details a {display:flex;align-items:center;gap:8px;overflow-wrap:anywhere;}
.contact-details svg {flex-shrink:0;}
#kapcsolat div:has(>.contact-details) {min-width:0;}
#kapcsolat div:has(>div>.contact-details) {grid-template-columns:1fr;}
footer {background:#eaf1f4!important;color:#214d75!important;}
footer .text-white,footer .text-slate-300,footer .text-slate-400 {color:#43546a!important;}
footer .text-cyan-200,footer .text-cyan-300 {color:#08777d!important;}
@media(max-width:640px){
.unterland-wordmark {width:100px!important;height:38px!important;}
.unterland-hero [class*="bottom-7"] {position:static;margin-top:10px;}
.unterland-hero [class*="justify-between"] {flex-wrap:wrap;gap:12px;}
.unterland-hero [class*="min-h-"] {min-height:auto;}
#magunkrol article {max-width:360px;width:100%;justify-self:center;}
}

.unterland-wordmark {object-fit:contain!important;object-position:center;}
.unterland-hero-image {object-fit:cover!important;object-position:center 30%;}

/* Shared light design: home, booking, account, login, registration and admin. */
:root {color-scheme:light;--page:#f7f5f1;--ink:#243e58;--accent:#116a77;}
body,#root {background:var(--page);color:var(--ink);}
:is(div,section,main,article,aside,footer)[class~="bg-[#071426]"],
:is(div,section,main,article,aside,footer)[class~="bg-[#071a32]"],
:is(div,section,main,article,aside,footer)[class~="bg-slate-900"] {
 background:#edf4f5!important;color:var(--ink)!important;
}
:is(div,section,main,article,aside,footer)[class~="bg-[#071426]"] :is(.text-white,.text-slate-300,.text-slate-200),
:is(div,section,main,article,aside,footer)[class~="bg-[#071a32]"] :is(.text-white,.text-slate-300,.text-slate-200) {color:var(--ink)!important;}
:is(div,section,main,article,aside,footer)[class~="bg-[#071426]"] :is(.text-cyan-200,.text-cyan-300) {color:#086774!important;}
:is(div,section,main,article,aside,footer)[class~="bg-[#071426]"] [class*="border-white/"] {border-color:#c6d9de!important;}
:is(div,section,main,article,aside,footer)[class~="bg-[#071426]"] :is(button,a)[class~="text-white"][class*="bg-"] {color:#fff!important;}
:is(div,section,main,article,aside,footer)[class~="bg-[#071426]"] :is(a,button)[class~="text-white"]:not([class*="bg-"]) {color:#214d75!important;}
:is(div,section,main,article,aside,footer)[class~="bg-[#071426]"].text-white {color:var(--ink)!important;}
main {min-width:0;}
input,select,textarea,button {max-width:100%;}
input:not([type="checkbox"]):not([type="radio"]),textarea,select {font-size:max(16px,1em);}
img {height:auto;}
.unterland-wordmark {height:46px!important;}
button,a,input,select,textarea {touch-action:manipulation;}
button:focus-visible,a:focus-visible,summary:focus-visible {outline:3px solid #116a77;outline-offset:3px;}
table {width:100%;}
.table-scroll {width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;}
@media(max-width:767px) {
 main {padding-left:12px!important;padding-right:12px!important;}
 main section {scroll-margin-top:90px;}
 main :is(h1,h2,h3,p,a,label,td,th) {overflow-wrap:anywhere;}
 main :is(.p-8,.p-10,.p-12) {padding:20px!important;}
 main [class*="grid-cols-2"]:not([class*="sm:grid-cols"]):not([class*="md:grid-cols"]) {grid-template-columns:minmax(0,1fr);}
 main [class*="grid-cols-3"]:not([class*="sm:grid-cols"]):not([class*="md:grid-cols"]) {grid-template-columns:minmax(0,1fr);}
 main [class*="grid-cols-2"][class*="sm:grid-cols-2"] {grid-template-columns:minmax(0,1fr);}
 main :is(button,summary),header button {min-height:44px;}
 main :is(input,select,textarea):not([type=checkbox]):not([type=radio]) {min-height:44px;}
 main .flex:has(>input[type=search]) {flex-wrap:wrap;}
 main :is(.max-w-7xl,.max-w-6xl,.max-w-5xl,.max-w-4xl,.max-w-3xl,.max-w-2xl) {max-width:100%;min-width:0;}
 .unterland-wordmark {height:38px!important;}
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after {animation-duration:0.01ms!important;transition-duration:0.01ms!important;scroll-behavior:auto!important;}
}

/* Grid intrinsic sizing must not push admin forms beyond a phone viewport. */
.grid > *,main aside,main section {min-width:0;}
.unterland-admin {margin-left:0!important;margin-right:0!important;max-width:100%;}
@media(max-width:1023px){
.unterland-admin > .grid {grid-template-columns:minmax(0,1fr);}
.unterland-admin aside nav {flex-wrap:wrap;overflow:visible;}
.unterland-admin aside nav a {flex:1 1 140px;min-width:0;white-space:normal;}
}
@media(max-width:767px){
 main h1 {font-size:clamp(1.65rem,7vw,2rem)!important;line-height:1.2!important;overflow-wrap:normal!important;hyphens:auto;}
 .unterland-admin aside nav a {font-size:12px;padding:10px;gap:8px;}
 .unterland-admin aside nav a svg {flex-shrink:0;}
 .unterland-admin :is(h1,h2,h3) {overflow-wrap:normal!important;}
 .unterland-admin .flex:has(> .relative > input) {flex-wrap:wrap;width:100%;min-width:0;}
 .unterland-admin .relative:has(>input) {max-width:100%;min-width:0;flex:1 1 200px;}
 .unterland-admin .relative>input {width:100%;min-width:0;}
 .unterland-admin section {padding:16px!important;}
}
@media(max-width:360px){.unterland-admin aside nav a {flex-basis:100%;}}
@media(prefers-reduced-motion:reduce){
 main [style*="opacity"] {opacity:1!important;}
}
@media(max-width:1279px){
 header nav[class~="md:flex"],header div[class~="md:flex"] {display:none!important;}
 header button[class~="md:hidden"] {display:inline-flex!important;min-width:44px;min-height:44px;}
 header div[class~="md:hidden"] {display:block!important;max-height:calc(100dvh - 76px);overflow-y:auto;}
 header a {min-height:44px;}
}
header button span {max-width:9rem;overflow:hidden;text-overflow:ellipsis;}

/* The original Unterland lettering now sits below the school name. */
.brand-stacked {display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;flex-shrink:0;min-width:0;text-decoration:none;line-height:1;}
.brand-heading {font-size:16px;font-weight:900;letter-spacing:.02em;color:#111827;}
.brand-wordmark {display:block;width:158px;height:36px;object-fit:contain;object-position:left center;background:transparent;border:0;border-radius:0;}
@media(max-width:767px){.brand-heading{font-size:15px}.brand-wordmark{width:150px;height:32px}}

@media(max-width:1279px){header button[class~="md:hidden"]{margin-left:auto}}

/* Original circle symbol on the left, stacked lettering immediately to its right. */
.brand-with-symbol{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;min-width:0;text-decoration:none}
.brand-symbol{display:block;width:54px;height:54px;object-fit:contain;flex-shrink:0;background:transparent;border:0}
@media(max-width:767px){.brand-with-symbol{gap:8px}.brand-symbol{width:44px;height:44px}}

.brand-symbol{width:88px;height:50px}
@media(max-width:767px){.brand-symbol{width:70px;height:40px}.brand-wordmark{width:136px}.brand-heading{font-size:14px}}
@media(min-width:1280px) and (max-width:1399px){header nav a{font-size:12px;padding-left:8px;padding-right:8px}header nav{gap:0!important}header button span{max-width:6rem}}

.brand-heading,.brand-wordmark{margin-left:0!important;padding-left:0!important}
.brand-stacked{align-items:flex-start}
.course-tile-label{max-width:100%;overflow-wrap:anywhere;line-height:1.15}
@media(max-width:767px){.course-tile-label{font-size:24px!important}}

#root .unterland-hero a[class~="text-white"]{color:#214d75!important}

/* Readable course list toggle on the light background. */
#root #kurzusok button{background:#fff!important;color:#214d75!important;border:1px solid #81a7bc!important;box-shadow:0 2px 6px rgba(33,77,117,.08);}
#root #kurzusok button:hover{background:#dff5f7!important;border-color:#087e91!important;color:#123b58!important;}
#root #kurzusok button:focus-visible{outline:3px solid #087e91;outline-offset:3px;}

.legal-footer-links{display:flex;flex-wrap:wrap;gap:12px 20px}.legal-footer-links a{color:#214d75!important;text-decoration:underline;text-underline-offset:3px}
