:root{--ink:#201b16;--muted:#6f675e;--cream:#f5f0e8;--paper:#fffdf9;--wood:#9a633d;--line:#ddd2c5;--dark:#29231e;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}a{color:inherit;text-decoration:none}.wrap{max-width:var(--max);margin:auto;padding:0 24px}.header{position:sticky;top:0;z-index:20;background:rgba(255,253,249,.96);border-bottom:1px solid var(--line)}.nav{height:76px;display:flex;align-items:center;gap:24px}.brand{font-size:22px;font-weight:800;letter-spacing:.04em;margin-right:auto}.navlinks{display:flex;gap:20px;font-size:14px}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 20px;border-radius:4px;background:var(--dark);color:white;font-weight:700;border:1px solid var(--dark)}.btn.alt{background:transparent;color:var(--dark)}.hero{padding:84px 0 58px;background:linear-gradient(135deg,#f7f1e8,#ebe0d2)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:var(--wood)}h1{font-family:Georgia,serif;font-size:58px;line-height:1.02;margin:12px 0 22px}h2{font-family:Georgia,serif;font-size:38px;line-height:1.15;margin:0 0 18px}h3{margin:0 0 10px}.lead{font-size:20px;color:var(--muted);max-width:680px}.prices{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.price{background:white;border:1px solid var(--line);padding:13px 15px;font-weight:700}.actions{display:flex;gap:12px;flex-wrap:wrap}.photo{min-height:430px;border:1px dashed #9c8f80;background:#e9dfd2;display:flex;align-items:center;justify-content:center;text-align:center;color:#74695e;padding:24px}.photo.small{min-height:230px}.section{padding:76px 0}.section.tint{background:var(--cream)}.center{text-align:center;max-width:780px;margin:0 auto 34px}.grid3,.grid4,.grid2{display:grid;gap:22px}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}.grid2{grid-template-columns:repeat(2,1fr)}.card{background:white;border:1px solid var(--line);padding:22px}.card .photo{margin:-22px -22px 20px}.meta{color:var(--muted);font-size:14px}.bigprice{font-size:21px;font-weight:800;margin:10px 0 18px}.steps{counter-reset:s}.step{position:relative;padding-left:54px}.step:before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--dark);color:#fff;display:grid;place-items:center;font-weight:800}.faq details{border-top:1px solid var(--line);padding:17px 0}.faq summary{font-weight:800;cursor:pointer}.contact{background:var(--dark);color:#fff}.contact .meta{color:#d9d0c7}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form input,.form select,.form textarea{width:100%;padding:14px;border:1px solid #cfc4b8;background:white;font:inherit}.form textarea,.form .full{grid-column:1/-1}.footer{padding:36px 0;background:#171411;color:#ddd}.sticky-mobile{display:none}.note{font-size:13px;color:var(--muted)}@media(max-width:850px){.wrap{padding:0 18px}.nav{height:64px}.navlinks{display:none}.header .btn{padding:9px 12px;min-height:42px}h1{font-size:39px}.hero{padding:52px 0 42px}.hero-grid,.grid2{grid-template-columns:1fr}.hero-grid .photo{min-height:260px}.grid3,.grid4{grid-template-columns:1fr}.section{padding:54px 0}.prices{display:grid;grid-template-columns:1fr;margin:20px 0}.price{padding:10px 12px}.actions{display:grid}.form{grid-template-columns:1fr}.form>*{grid-column:1}.sticky-mobile{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:30}.sticky-mobile a{padding:13px;text-align:center;font-weight:800;border-top:1px solid var(--line);background:white}.sticky-mobile a:last-child{background:var(--dark);color:white}.footer{padding-bottom:80px}}
.photo-img{width:100%;height:430px;display:block;object-fit:cover;border:1px solid var(--line)}.photo-img.small{height:230px}.card .photo-img{margin:-22px -22px 20px;width:calc(100% + 44px)}@media(max-width:850px){.photo-img.hero-photo{height:280px}.photo-img.small{height:240px}}

/* Desktop photo sizing */
@media(min-width:851px){.photo-img{height:330px}.photo-img.hero-photo{height:360px}.photo-img.small{height:180px}}

/* Mobile square images for table parquet cards only */
@media(max-width:850px){#tabla .photo-img.small{height:auto;aspect-ratio:1/1;object-fit:cover}}

/* Square table parquet images on desktop too */
@media(min-width:851px){#tabla .photo-img.small{height:auto;aspect-ratio:1/1;object-fit:cover}}

/* Force table parquet cards to true square dimensions at every viewport */
#tabla .card .photo-img.small{width:calc(100% + 44px);height:auto!important;aspect-ratio:1 / 1!important;object-fit:cover;}

/* True square image frame for table parquet cards */
#tabla .square-photo{width:calc(100% + 44px);aspect-ratio:1/1;overflow:hidden;margin:-22px -22px 20px;border:1px solid var(--line);}
#tabla .square-photo img{width:100%;height:100%;display:block;object-fit:cover;}

/* Desktop table parquet: keep all 3 square photos inside their cards */
@media(min-width:851px){
  #tabla .grid3 > .card{min-width:0;}
  #tabla .square-photo{width:100%;margin:0 0 20px;aspect-ratio:1/1;overflow:hidden;}
  #tabla .square-photo img{width:100%;height:100%;object-fit:cover;}
}

/* Quote form reassurance */
.form-notice{font-size:1.18rem;line-height:1.45;margin:0 0 18px;padding:14px 16px;border:2px solid var(--accent);border-radius:10px;background:#fff;font-weight:500;}
.form-notice strong{font-size:1.25rem;}
@media(max-width:850px){.form-notice{font-size:1.08rem}.form-notice strong{font-size:1.15rem}}

/* Quote form mobile emphasis */
.quote-note{font-size:17px;line-height:1.5;margin:0 0 18px;color:#fff;}
.quote-note strong{font-size:19px;}
.form .btn{font-size:18px;padding:16px 22px;min-height:56px;font-weight:800;border-radius:6px;}
@media(max-width:850px){
  .quote-note{font-size:20px;line-height:1.45;margin-bottom:22px;}
  .quote-note strong{font-size:23px;}
  .form .btn{font-size:21px;min-height:64px;padding:18px 22px;border-radius:8px;box-shadow:0 2px 0 rgba(255,255,255,.15) inset;}
}

/* Quote form emphasis on all screens */
.quote-note{font-size:20px;line-height:1.45;margin:0 0 22px;color:#fff;}
.quote-note strong{font-size:23px;}
.form .btn{font-size:21px;min-height:64px;padding:18px 22px;font-weight:800;border-radius:8px;box-shadow:0 2px 0 rgba(255,255,255,.15) inset;}

/* Contact section */
.footer h2{color:#fff;margin-bottom:20px;}
.contact-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 28px;}
.contact-links a{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid #4d4742;background:#211d1a;color:#fff;min-width:0;}
.contact-links a:hover{background:#2a2521;}
.contact-links span{color:#ddd;overflow-wrap:anywhere;}
@media(max-width:850px){.contact-links{grid-template-columns:1fr 1fr}.quote-note{font-size:20px}.quote-note strong{font-size:23px}.form .btn{font-size:21px;min-height:64px;}}
@media(max-width:520px){.contact-links{grid-template-columns:1fr}}

/* Mobile bottom contact bar: four icon-only actions */
@media(max-width:850px){
  .sticky-mobile{grid-template-columns:repeat(4,1fr)}
  .sticky-mobile a,.sticky-mobile a:last-child{
    display:flex;align-items:center;justify-content:center;
    min-height:56px;padding:10px;font-size:27px;line-height:1;
    background:white;color:var(--dark);border-top:1px solid var(--line);
    border-right:1px solid var(--line)
  }
  .sticky-mobile a:last-child{border-right:0}
}

/* Clear branded-style mobile contact symbols */
@media(max-width:850px){
 .sticky-mobile{display:grid!important;grid-template-columns:repeat(4,1fr)!important}
 .contact-icon{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:19px;line-height:1;border:2px solid currentColor}
 .phone-icon,.mail-icon{font-size:21px}
 .whatsapp-icon{font-size:12px;letter-spacing:-1px}
 .messenger-icon{font-size:18px;font-style:italic}
}


/* Mobile contact bar: four clear actions in one row */
@media(max-width:850px){
  .sticky-mobile{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;background:#fff}
  .sticky-mobile a,.sticky-mobile a:last-child{min-width:0;min-height:66px;padding:6px 2px 5px;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;background:#fff;color:var(--dark);font-size:11px;font-weight:700}
  .sticky-mobile a::after{font-size:10px;line-height:1.1;white-space:nowrap}
  .sticky-mobile a:nth-child(1)::after{content:"Telefon"}
  .sticky-mobile a:nth-child(2)::after{content:"E-mail"}
  .sticky-mobile a:nth-child(3)::after{content:"WhatsApp"}
  .sticky-mobile a:nth-child(4)::after{content:"Messenger"}
  .contact-icon{width:36px;height:36px;border-radius:10px;border:0;color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18)}
  .phone-icon{background:#333;font-size:22px}
  .mail-icon{background:#d93025;font-size:21px}
  .whatsapp-icon{background:#25D366;font-size:11px;letter-spacing:-.5px}
  .messenger-icon{background:#168AFF;font-size:19px;font-style:italic}
  .footer{padding-bottom:92px}
}

/* Refined Quadrum wordmark */
.brand{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:0;
  margin-right:auto;
  line-height:1;
  white-space:nowrap;
  text-decoration:none;
}
.brand-main{
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
  font-weight:700;
  letter-spacing:.08em;
}
.brand-sub{
  margin-top:3px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.34em;
  padding-left:.12em;
}
@media(max-width:850px){
  .brand-main{font-size:21px;letter-spacing:.06em}
  .brand-sub{font-size:8px;letter-spacing:.28em;margin-top:2px}
}

/* Header wordmark correction */
.header .brand{
  display:grid !important;
  grid-template-rows:auto auto;
  align-content:center;
  justify-items:start;
  width:max-content;
  min-width:max-content;
  white-space:nowrap;
  line-height:1;
}
.header .brand-main{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
  font-weight:700;
  letter-spacing:.10em;
  line-height:.95;
}
.header .brand-sub{
  display:block;
  margin-top:6px;
  padding-left:2px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.42em;
  line-height:1;
}
@media(max-width:850px){
  .nav{gap:10px}
  .header .brand-main{font-size:22px;letter-spacing:.075em}
  .header .brand-sub{font-size:7px;letter-spacing:.34em;margin-top:4px}
  .header .btn{font-size:14px;padding:8px 10px;min-height:40px}
}

/* Header contact action and simplified contact footer */
.header-actions{display:flex;align-items:center;gap:8px}
.header-actions .contact-btn{background:transparent;color:var(--dark);border:1px solid var(--dark)}
#kapcsolat{scroll-margin-top:84px}
.footer .contact-links{margin-bottom:0}
@media(max-width:850px){
  .nav{gap:8px}
  .header-actions{gap:6px}
  .header-actions .btn{font-size:12px;padding:7px 8px;min-height:38px}
  .header-actions .contact-btn{display:inline-flex}
}

/* Contact button: mobile only */
.header-actions .contact-btn{display:none}
@media(max-width:850px){
  .header-actions .contact-btn{display:inline-flex}
}

/* Final mobile contact navigation */
.header-actions .contact-btn{display:none!important}
.sticky-mobile{display:none!important}
.contact-bottom{padding:24px 0 28px;background:#171411;color:#ddd}
.contact-bottom .contact-links{margin:0}
@media(max-width:850px){
  .header-actions .contact-btn{display:inline-flex!important}
  .contact-bottom{padding-bottom:28px}
}

.legal-links{display:flex;gap:18px;justify-content:center;padding-top:18px;font-size:13px}.legal-links a{text-decoration:underline}.legal-page{max-width:820px}.legal-page h1{margin-top:0}.legal-page h2{margin-top:32px;font-size:24px}@media(max-width:850px){.legal-links{flex-wrap:wrap;gap:10px 18px}.legal-page{padding-bottom:20px}}

.form-consent{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--muted)}.form-consent input{width:auto;margin-top:3px}.form-consent a{text-decoration:underline}

.form-success{max-width:760px;margin:0 auto 24px;padding:18px 20px;border:1px solid #b9aa98;background:#f4eee6;font-size:17px;line-height:1.5}
.form-success strong{font-size:21px}

/* Make interactive actions clearly clickable on desktop */
a.btn, button.btn{cursor:pointer}
@media(min-width:851px){
  a.btn:hover, button.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.14)}
  .form .btn{border:2px solid #fff;background:#2a2520;color:#fff}
}

/* Final desktop quote submit button */
@media(min-width:851px){
  .form button[type="submit"].btn{
    display:flex!important;
    width:100%!important;
    min-height:68px!important;
    padding:18px 24px!important;
    border:3px solid #ffffff!important;
    outline:2px solid #2a2520!important;
    background:#2a2520!important;
    color:#ffffff!important;
    border-radius:8px!important;
    font-size:22px!important;
    font-weight:800!important;
    box-shadow:0 3px 8px rgba(0,0,0,.22)!important;
    cursor:pointer!important;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease!important;
  }
  .form button[type="submit"].btn:hover{
    background:#3a332d!important;
    transform:translateY(-2px)!important;
    box-shadow:0 6px 14px rgba(0,0,0,.28)!important;
    cursor:pointer!important;
  }
}

/* Square Deg Natur photo in the parquet chooser */
#parkettak .square-photo{width:100%;aspect-ratio:1 / 1;overflow:hidden;margin:0 0 20px;background:#fff;}
#parkettak .square-photo img{display:block;width:100%;height:100%;object-fit:contain;}


/* Persistent mobile quote action */
.floating-quote{display:none}
@media(max-width:850px){
  .floating-quote{
    display:flex;position:fixed;right:12px;top:22%;z-index:40;
    min-height:48px;padding:12px 16px;align-items:center;justify-content:center;
    border:2px solid #fff;border-radius:999px;background:var(--dark);color:#fff;
    font-size:15px;font-weight:800;box-shadow:0 4px 16px rgba(0,0,0,.28)
  }
}

/* Keep process numbering continuous */
.steps{counter-reset:s}

.price{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.price:hover,.price:focus-visible{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12);border-color:var(--wood)}
#svedpadlo,#chevron,#tablaparketta{scroll-margin-top:96px}

.consent-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;max-width:960px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);box-shadow:0 8px 30px rgba(0,0,0,.25)}
.consent-banner p{margin:5px 0;font-size:14px}
.consent-banner a{text-decoration:underline;font-size:13px}
.consent-actions{display:flex;gap:10px;flex-shrink:0}
.consent-actions button,.consent-settings{font:inherit;cursor:pointer}
.consent-actions button{min-height:42px;padding:9px 14px;border:1px solid var(--dark);border-radius:5px;background:#fff;color:var(--dark);font-weight:700}
.consent-actions .accept{background:var(--dark);color:#fff}
.consent-settings{padding:0;border:0;background:transparent;color:inherit;text-decoration:underline}
@media(max-width:700px){.consent-banner{display:block;left:10px;right:10px;bottom:10px;padding:16px}.consent-actions{margin-top:14px}.consent-actions button{flex:1}}

/* Lapozható termékgalériák */
.gallery-modal[hidden]{display:none!important}
.gallery-trigger{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;font:inherit;color:inherit;text-align:inherit}
.gallery-trigger:focus-visible{outline:3px solid #8b5e3c;outline-offset:3px}
.gallery-trigger img{transition:transform .25s ease}
.gallery-trigger:hover img{transform:scale(1.035)}
.gallery-hint{position:absolute;right:12px;bottom:12px;padding:7px 11px;border-radius:999px;background:rgba(25,20,16,.82);color:#fff;font-size:13px;font-weight:700;line-height:1;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.gallery-modal{position:fixed;inset:0;z-index:10000;display:grid;grid-template-columns:minmax(48px,80px) minmax(0,1fr) minmax(48px,80px);align-items:center;background:rgba(10,8,7,.96);padding:24px}
.gallery-stage{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 48px)}
.gallery-image{display:block;max-width:100%;max-height:calc(100vh - 110px);width:auto;height:auto;object-fit:contain;box-shadow:0 8px 34px rgba(0,0,0,.35);transition:transform .22s ease,opacity .22s ease;will-change:transform,opacity;touch-action:pan-y}
.gallery-caption{width:100%;max-width:1000px;display:flex;justify-content:space-between;gap:20px;padding-top:14px;color:#fff;font-size:15px}
.gallery-close,.gallery-nav{border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer}
.gallery-close{position:absolute;top:16px;right:18px;z-index:2;width:46px;height:46px;border-radius:50%;font-size:34px;line-height:42px}
.gallery-nav{width:52px;height:72px;border-radius:8px;font-size:52px;line-height:60px}
.gallery-nav:hover,.gallery-close:hover{background:rgba(255,255,255,.25)}
body.gallery-open{overflow:hidden}
@media(max-width:700px){
 .gallery-modal{grid-template-columns:minmax(0,1fr);padding:12px 4px}
 .gallery-stage{height:calc(100vh - 24px)}
 .gallery-image{max-height:calc(100vh - 90px)}
 .gallery-nav{display:none}
 .gallery-close{top:10px;right:10px;width:42px;height:42px;font-size:30px}
 .gallery-caption{padding:10px 6px 0;font-size:14px}
 .gallery-hint{right:9px;bottom:9px;font-size:12px}
}
