/*
Theme Name: Q-Lab Brosúra
Description: Egyoldalas, görgethető Q-Lab weboldal, menü nélkül.
Version: 1.4.2
Author: Q-Lab
Text Domain: qlab-brosura
License: GNU General Public License v2 or later
*/
html { scroll-behavior:smooth; } body { margin:0; }
.ql-site { --cream:#f4f2eb; --green:#274A3B; --mint:#7FA78E; --line:#ccd5cb; color:var(--green); background:var(--cream); font-family:Arial,Helvetica,sans-serif; font-size:18px; line-height:1.6; }
.ql-site *, .ql-site *::before, .ql-site *::after { box-sizing:border-box; }
.ql-site h1,.ql-site h2,.ql-site h3,.ql-site p { margin:0; }
.ql-site a { color:inherit; text-underline-offset:5px; }
.ql-site a { overflow-wrap:anywhere; }
.ql-site img { object-fit:contain; }
.ql-split>*,.ql-rate-layout>*,.ql-guide-grid>*,.ql-contact-grid>* { min-width:0; }
.ql-site a:focus-visible { outline:3px solid var(--mint); outline-offset:6px; }
.ql-wrap { width:min(1200px,calc(100% - 96px)); margin-inline:auto; }
.ql-hero { min-height:0; display:flex; align-items:center; padding:28px 0 8px; position:relative; }
.ql-hero .ql-wrap { width:min(1200px,calc(100% - 96px)); }
.ql-eyebrow,.ql-number { font-size:14px; letter-spacing:.13em; font-weight:600; }
.ql-logo-img { display:block; max-width:100%; height:auto; }
.ql-hero .ql-logo-img { width:210px; }
.ql-header-row { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.ql-header-contact { transform:translateY(-10px); display:flex; flex-direction:column; align-items:flex-end; font-size:20px; }
.ql-header-contact a { padding:6px 0; min-height:44px; text-decoration:none; }
.ql-footer .ql-logo-img { width:100px; }
.ql-hero h1 { margin:0; font-weight:400; line-height:1; }
.ql-logo { display:inline-flex; align-items:baseline; font-weight:400; letter-spacing:-.055em; line-height:1; }
.ql-hero .ql-logo { font-size:clamp(96px,19vw,245px); }
.ql-q { position:relative; font-weight:600; margin-right:.03em; }
.ql-q::after { content:""; position:absolute; width:.29em; height:.10em; background:var(--mint); right:.025em; bottom:.08em; transform:rotate(44deg); }
.ql-hero-bottom { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding-top:28px; }
.ql-hero-bottom>p { font-size:clamp(20px,2.5vw,32px); }
.ql-scroll { font-size:14px; display:flex; gap:26px; align-items:center; }
.ql-scroll span { font-size:27px; }
.ql-section { padding:100px 0; }
.ql-split { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; }
.ql-number { margin-bottom:25px !important; }
.ql-site h2 { font-size:clamp(36px,4.5vw,50px); line-height:1.1; font-weight:400; letter-spacing:-.045em; margin-bottom:42px; }
.ql-site h3 { font-size:25px; line-height:1.35; font-weight:400; letter-spacing:-.02em; }
.ql-lead { font-size:clamp(24px,3vw,34px); line-height:1.5; letter-spacing:-.025em; }
.ql-intro { border-top:0; padding-top:85px; }
.ql-draft { font-size:15px; margin-top:24px !important; color:#566a5d; }
.ql-guide { background:var(--green); color:var(--cream); }
.ql-guide .ql-number { color:#a8c8b2; }
.ql-guide-heading .ql-lead { max-width:none; font-size:clamp(22px,2.3vw,28px); }
.ql-guide-heading h2 { margin-bottom:24px; }
.ql-guide-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; margin-top:70px; }
.ql-list { padding:0; margin:24px 0 0; list-style:none; }
.ql-list li { padding:15px 0; border-bottom:1px solid rgba(244,242,235,.23); }
.ql-required { display:flex; flex-direction:column; border-left:1px solid rgba(244,242,235,.25); padding-left:50px; }
.ql-required p { margin-top:auto; padding-top:38px; font-size:16px; max-width:330px; color:#c1d6c8; }
.ql-price-columns { display:grid; grid-template-columns:1fr 1fr; gap:55px; }
.ql-price-column .ql-rate-layout:first-child { margin-top:10px; }
.ql-rate-layout { display:grid; grid-template-columns:1fr; gap:24px; border-top:1px solid var(--green); padding-top:32px; margin-top:52px; }
.ql-prices { margin:0; }
.ql-prices>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; padding:16px 0; border-bottom:1px solid var(--line); align-items:start; }
.ql-prices>div:first-child { padding-top:0; }
.ql-prices dt { line-height:1.45; }
.ql-prices dd { margin:0; white-space:nowrap; font-variant-numeric:tabular-nums; line-height:1.45; }
.ql-contact { background:#e4e9df; }
.ql-contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; }
.ql-contact-grid a { display:block; width:fit-content; min-height:44px; padding-block:5px; }
.ql-phone { font-size:clamp(25px,3vw,36px); letter-spacing:-.035em; text-decoration:none; line-height:1.4; margin-bottom:14px; }
.ql-email { font-size:24px; text-decoration:none; margin-bottom:8px; }
.ql-contact address { font-style:normal; margin-top:36px; }
.ql-map-link { font-size:15px; margin-top:23px; }
.ql-map { width:100%; height:365px; border:0; background:#ccd5cb; }
.ql-footer { padding:40px 0; }
.ql-footer .ql-wrap { display:flex; align-items:flex-start; justify-content:space-between; gap:30px; }
.ql-footer .ql-logo { font-size:39px; }
.ql-footer span:last-child { font-size:14px; }
.ql-footer-end { display:flex; flex-direction:column; align-items:flex-end; gap:0; padding-top:0; }
.ql-impressum-link { font-size:14px; min-height:0; padding:3px 0; }
.ql-legal { min-height:70vh; padding:70px 0; }
.ql-legal dl { max-width:850px; }
.ql-legal dt { margin-top:22px; font-weight:600; }
.ql-legal dd { margin:5px 0 0; overflow-wrap:anywhere; }
@media(max-width:850px) { .ql-guide-grid { grid-template-columns:1fr; gap:40px; } .ql-required { border-left:0; padding-left:0; } .ql-price-columns { grid-template-columns:1fr; gap:40px; } .ql-wrap,.ql-hero .ql-wrap { width:calc(100% - 48px); } .ql-section { padding:70px 0; } .ql-split,.ql-contact-grid { grid-template-columns:1fr; gap:25px; } .ql-rate-layout { grid-template-columns:1fr; gap:30px; } .ql-site h2 { margin-bottom:25px; } .ql-guide-grid { gap:35px; } .ql-required { padding-left:0; border-left:0; } .ql-desktop { display:none; } }
@media(max-width:560px) { .ql-site { font-size:16px; } .ql-wrap,.ql-hero .ql-wrap { width:calc(100% - 40px); } .ql-hero { min-height:0; padding:20px 0 8px; } .ql-header-row { flex-wrap:nowrap; gap:12px; } .ql-header-row h1 { flex:0 0 110px; } .ql-header-contact { transform:translateY(-5px); align-items:flex-end; font-size:14px; flex:1; min-width:0; } .ql-header-contact a { white-space:nowrap; } .ql-hero .ql-logo-img { width:110px; } .ql-eyebrow { font-size:12px; letter-spacing:.1em; } .ql-hero h1 { margin:0; } .ql-hero-bottom { margin-top:24px; } .ql-hero .ql-logo { font-size:27vw; } .ql-hero-bottom { align-items:flex-start; gap:30px; } .ql-scroll { font-size:12px; gap:12px; } .ql-guide-grid { grid-template-columns:1fr; margin-top:35px; } .ql-required { display:flex; flex-direction:column; border-left:0; padding-left:0; } .ql-prices>div { gap:15px; grid-template-columns:1fr; padding:17px 0; } .ql-prices dd { text-align:right; } .ql-map { height:320px; max-height:70svh; } .ql-contact address { margin-top:24px; } .ql-footer .ql-wrap { flex-wrap:wrap; } .ql-footer .ql-wrap { align-items:flex-start; } .ql-footer span:last-child { max-width:160px; text-align:right; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
.ql-intro { padding-top:85px; }
@media print { .ql-hero { min-height:0; padding:30px 0; } .ql-hero h1 { margin:30px 0; } .ql-section { padding:30px 0; } .ql-map,.ql-scroll { display:none; } .ql-site { font-size:12px; } .ql-prices>div { break-inside:avoid; } }

[hidden] { display:none !important; }
.ql-map-consent { min-height:365px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:20px; padding:30px; background:#ccd5cb; }
.ql-site button { font:inherit; cursor:pointer; }
.ql-cookie-banner { position:fixed; z-index:99999; bottom:20px; left:20px; right:20px; max-width:640px; margin-inline:auto; background:#f4f2eb; color:#274a3b; padding:10px 12px; border:1px solid #7fa78e; box-shadow:0 5px 30px #0003; display:flex; gap:12px; align-items:center; font-size:13px; }
.ql-cookie-copy { flex:1; }
.ql-cookie-copy p { margin:4px 0; line-height:1.4; }
.ql-cookie-actions { display:flex; gap:8px; flex-wrap:wrap; }
.ql-cookie-btn { padding:8px 14px; min-height:44px; background:#f4f2eb; color:#274a3b; border:1px solid #274a3b; border-radius:0; }
.ql-cookie-btn:hover { background:#e4e9df; }
.ql-consent-open { padding:3px 0; border:0; background:transparent; color:inherit; text-decoration:underline; font-size:14px !important; min-height:0; }
@media(max-width:650px) { .ql-cookie-banner { flex-direction:column; align-items:stretch; left:10px; right:10px; bottom:10px; padding:10px 12px; gap:8px; max-height:85svh; overflow:auto; } .ql-cookie-actions>button { flex:1; } }

/* Approved final section colours and introduction layout. */
.ql-rates { background:#edf0e7; }
.ql-intro-layout { display:block; }
.ql-intro-layout h2 { margin-bottom:32px; }

/* Uniform introduction paragraph typography. */
.ql-intro-copy .ql-lead { font-size:inherit; line-height:inherit; letter-spacing:normal; }

/* Approved paragraph spacing and delivery emphasis. */
.ql-intro-copy p + p { margin-top:24px; }
.ql-intro-copy p:last-child { margin-top:48px; font-size:20px; line-height:1.6; }
@media(max-width:560px) { .ql-intro-copy p:last-child { font-size:18px; } }

/* Two introduction columns; delivery stays beneath both. */
.ql-intro-columns { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.ql-intro-column { min-width:0; }
.ql-intro-column p, .ql-intro-column p:last-child, .ql-intro-column .ql-lead { font-size:inherit; line-height:inherit; letter-spacing:normal; margin-top:0; }
.ql-intro-column p + p { margin-top:24px; }
.ql-intro-copy .ql-intro-delivery { margin-top:48px; font-size:20px; line-height:1.6; }
@media(max-width:850px) { .ql-intro-columns { grid-template-columns:1fr; gap:24px; } }
@media(max-width:560px) { .ql-intro-copy .ql-intro-delivery { font-size:18px; } }
