/*
Theme Name: Lukas Manak | Dark Portfolio
Theme URI: https://lukasmanak.cz
Author: Lukáš Maňák
Description: Responzivní fotografické portfolio s editovatelnou galerií, úvodní fotografií, cenami a kontaktním formulářem.
Version: 4.0.2
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: lm-dark
License: GPL-2.0-or-later
*/

:root{color-scheme:dark;--bg:#121311;--ink:#f0eee9;--muted:#b5b4ae;--accent:#cbb79c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}header{height:78px;position:fixed;inset:0 0 auto;z-index:10;background:#121311db;backdrop-filter:blur(16px);border-bottom:1px solid #ffffff16;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,84px);transition:height .2s}header.compact{height:62px}.brand{font-family:Outfit,sans-serif;letter-spacing:.14em;font-size:18px;font-weight:500}nav{display:flex;gap:27px;align-items:center}nav a{font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:#dedbd4}nav a:hover{color:white}.mobile-toggle{display:none;border:1px solid #ffffff40;color:white;background:transparent;border-radius:4px;padding:9px 12px}.hero{min-height:90svh;position:relative;display:flex;align-items:flex-end;background:linear-gradient(90deg,#080908a8,#09090916 80%),linear-gradient(0deg,#080908d9,transparent 50%),var(--hero-image) center 42%/cover;padding:150px clamp(24px,8vw,125px) 85px}.hero-inner{max-width:850px}.eyebrow{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);font-weight:700}.hero h1{font:400 clamp(48px,8vw,105px)/.99 Outfit,sans-serif;letter-spacing:-.035em;margin:20px 0}.hero p{max-width:530px;color:#e6e4dd;line-height:1.8;font-size:16px}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:47px;padding:12px 24px;background:var(--ink);color:#151613;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);border-radius:2px}.btn.alt{background:transparent;color:var(--ink);border-color:#ffffff66}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}main section{padding:95px clamp(20px,6vw,110px)}.intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:36px}.intro h2,section h2{font:400 clamp(34px,5vw,64px)/1.05 Outfit,sans-serif;margin:12px 0 20px;letter-spacing:-.025em}.intro p{max-width:400px;line-height:1.8;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.photo{padding:0;border:0;background:#222;aspect-ratio:4/5;overflow:hidden}.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.photo:hover img{transform:scale(1.035)}.photo:nth-child(1){grid-column:span 2;aspect-ratio:8/5}.panel{background:#1c1e1b}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.split img{width:100%;max-height:660px;object-fit:cover}.copy{color:var(--muted);line-height:1.95}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{border:1px solid #ffffff26;padding:32px 27px;background:#ffffff06}.card.featured{border-color:#cbb79c}.card h3{font:400 27px Outfit;margin:4px 0 12px}.price{font:400 39px Outfit;margin:12px 0}.card p{color:var(--muted);line-height:1.8;font-size:14px}.card .btn{margin-top:12px}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.service{border-top:1px solid #ffffff30;padding:22px 0}.service h3{font:400 23px Outfit;margin:0 0 8px}.service p{color:var(--muted);line-height:1.7;margin:0}.faq{max-width:900px}.faq details{border-bottom:1px solid #ffffff2b;padding:20px 0}.faq summary{cursor:pointer;font-weight:600}.faq p{color:var(--muted);line-height:1.8}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw}.form{display:grid;gap:14px}.form label{display:grid;gap:7px;color:#d4d0c9;font-size:13px}.form input,.form textarea,.form select{background:#111;border:1px solid #ffffff45;color:#fff;border-radius:2px;padding:14px;width:100%}.form textarea{min-height:120px;resize:vertical}.form .consent{display:flex;align-items:start;gap:9px;line-height:1.6}.form .consent input{width:auto;margin-top:5px}.muted{color:var(--muted);line-height:1.8}.notice{font-size:12px;color:#bcb6ac}footer{padding:30px clamp(20px,6vw,110px);border-top:1px solid #ffffff26;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px;flex-wrap:wrap}.lightbox{position:fixed;inset:0;z-index:30;background:#000e;display:none;align-items:center;justify-content:center;padding:60px 20px 25px}.lightbox.open{display:flex}.lightbox img{max-height:100%;max-width:100%;object-fit:contain}.close{position:absolute;right:25px;top:20px;background:transparent;border:1px solid #ffffff80;color:white;padding:8px 14px}.draft{position:fixed;bottom:14px;left:14px;z-index:12;background:#25231fe8;border:1px solid #ffffff55;border-radius:4px;padding:9px 12px;font-size:11px;color:#e9d6b7;max-width:240px}@media(max-width:900px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:1fr}.split,.contact-grid{grid-template-columns:1fr;gap:32px}.split img{max-height:440px}}@media(max-width:640px){header{height:65px;padding:0 18px}.brand{font-size:15px}.mobile-toggle{display:block}nav{display:none;position:absolute;top:65px;left:0;right:0;background:#161715;flex-direction:column;align-items:stretch;gap:0;padding:14px 22px 20px;border-bottom:1px solid #ffffff3a}nav.open{display:flex}nav a{padding:12px 0}.hero{min-height:86svh;padding:110px 22px 68px;background-position:57% center}.hero h1{font-size:clamp(47px,13vw,73px)}.hero p{font-size:14px}.intro{display:block}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.photo:nth-child(1){grid-column:span 2;aspect-ratio:8/5}main section{padding:70px 20px}.services{grid-template-columns:1fr}.draft{font-size:10px;max-width:190px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}

/* WordPress production refinements */
:root{--hero-image:none}body.admin-bar header{top:32px}.draft{display:none!important}.photo{display:block;width:100%;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.photo:focus-visible,.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #e4c8a2;outline-offset:3px}.form-status{margin-top:12px;min-height:24px}.form-status.error{color:#ffc6ba}.form-status.success{color:#bce6c4}.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.social-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px}.social-links a{text-decoration:underline;text-underline-offset:4px}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.review-card{padding:25px;background:#ffffff0a;border:1px solid #ffffff19;border-radius:5px}.review-card p{color:var(--ink);line-height:1.7}.review-card cite{font-size:13px;color:var(--muted);font-style:normal}.skip-link{position:absolute;top:-60px;left:8px;z-index:100;background:#fff;color:#000;padding:12px}.skip-link:focus{top:8px}.gallery .photo:last-child{grid-column:auto}.hero{background-image:linear-gradient(90deg,#080908a8,#09090916 80%),linear-gradient(0deg,#080908d9,transparent 50%),var(--hero-image)!important}.hero{background-position:center,center,center 42%}.hero{background-size:cover}.privacy-note{font-size:12px;color:var(--muted)}.form-checkbox{display:flex;gap:12px;align-items:flex-start}.form-checkbox input{width:auto;flex:none;margin-top:5px}.form-checkbox label{display:inline;margin:0}.section-description{max-width:620px}.site-alert{max-width:1100px;margin:15px auto;padding:12px;border:1px solid #ffffff40}.gallery img{display:block}.review-card{min-width:0}@media(max-width:760px){.reviews-grid{grid-template-columns:1fr}.hero{min-height:85svh;background-position:center,center,58% center}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding-bottom:55px}.hero h1{font-size:clamp(43px,12vw,64px)}.photo{min-width:0}}@media(max-width:782px){body.admin-bar header{top:46px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.form>label{display:block}.form>input,.form>textarea,.form>select{width:100%}.form-checkbox{display:flex!important}.form-checkbox label{display:inline!important}.form-checkbox input{width:auto!important}.cards .card{min-width:0}.gallery .photo:nth-child(n){grid-column:auto}.gallery .photo:nth-child(7n){grid-column:span 2;aspect-ratio:8/5}@media(max-width:760px){.gallery .photo:nth-child(7n){grid-column:span 2;aspect-ratio:8/5}}

.footer-social{display:flex;flex-wrap:wrap;gap:14px}.footer-social a{color:inherit;text-decoration:underline;text-underline-offset:4px}

/* v1.6: ensure readable section contrast even when WP/plugin global styles override sections. */
body main, body main > section, body main section#portfolio, body main section#foceni, body main section#reference, body main section#faq {background-color:#121311 !important;color:#f0eee9 !important;}
body main > section.panel, body main section#omne, body main section#cenik, body main section#kontakt {background-color:#1c1e1b !important;color:#f0eee9 !important;}
body main section h2, body main section h3, body main section summary, body main section .intro h2 {color:#f0eee9 !important;}
body main section p, body main section .copy, body main section .muted, body main section .intro p, body main section .faq p {color:#b5b4ae !important;}
body main section .eyebrow {color:#cbb79c !important;}
body main section .faq details {background-color:transparent !important;border-bottom:1px solid #ffffff2b !important;}
body main section .faq summary {background:transparent !important;opacity:1 !important;}
body main section .card {background-color:#ffffff06 !important;}
body main section .card .btn {color:#f0eee9 !important;}
body main section .card .btn:not(.alt) {color:#151613 !important;}
body main section .form input, body main section .form textarea, body main section .form select {background-color:#111 !important;color:#fff !important;}
body main section .form label {color:#d4d0c9 !important;}

/* v1.7: Normal-size first tile; three deliberate wide tiles complete 4-column rows with 29 photos. */
.gallery .photo:first-child{grid-column:auto!important;aspect-ratio:4/5!important}
.gallery .photo:nth-child(n){grid-column:auto;aspect-ratio:4/5}
@media(min-width:901px){.gallery .photo:nth-child(7),.gallery .photo:nth-child(14),.gallery .photo:nth-child(21){grid-column:span 2;aspect-ratio:8/5}}
@media(max-width:900px){.gallery .photo:nth-child(n){grid-column:auto!important;aspect-ratio:4/5!important}}

/* v1.8: complete the final row on narrow screens even if photo count changes. */
@media (max-width:900px) {
  .gallery .photo:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
    aspect-ratio: 8 / 5 !important;
  }
  #portfolio { padding-bottom: 38px; }
  #omne { padding-top: 52px; }
}

/* v1.9: approved long About copy: readable paragraph spacing and responsive gallery. */
#omne .intro {align-items:start;}
#omne .intro p {max-width:760px;white-space:normal;line-height:1.95;}
#omne .intro > div:last-child {max-width:780px;}
#omne .social-links a, #kontakt .social-links a, footer .footer-social a {color:#f0eee9;text-decoration:underline;text-underline-offset:5px;}
@media(max-width:900px){.gallery .photo:last-child:nth-child(odd){grid-column:1 / -1!important;aspect-ratio:8/5!important;}}

/* v2.1: recognizable, accessible Instagram and Facebook icon links */
.social-links a.social-icon-link,footer .footer-social a.social-icon-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#f0eee9;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}
.social-links a.social-icon-link:hover,footer .footer-social a.social-icon-link:hover{background:rgba(255,255,255,.14);border-color:#fff;transform:translateY(-2px)}
.social-icon-link svg{width:23px;height:23px;display:block;flex-shrink:0}
.social-icon-link:focus-visible{outline:2px solid #e4c8a2;outline-offset:3px}

/* v2.2: editorial About section with real supplied portrait, no empty desktop column. */
#omne .about-layout{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);grid-template-areas:"heading copy" "portrait copy";column-gap:clamp(30px,5vw,90px);row-gap:28px;align-items:start}
#omne .about-heading{grid-area:heading}
#omne .about-heading h2{margin:12px 0 0}
#omne .about-portrait{grid-area:portrait;min-width:0;align-self:start;position:static}
#omne .about-portrait img{display:block;width:100%;height:auto;max-height:75vh;object-fit:contain;object-position:center top;border-radius:3px}
#omne .about-copy{grid-area:copy;min-width:0;max-width:780px}
#omne .about-copy p{white-space:normal;line-height:1.95;margin:0 0 18px;color:var(--muted)}
#omne .about-copy .text-link{display:inline-block;margin-top:5px}
@media(max-width:900px){#omne .about-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "portrait" "copy";row-gap:22px}#omne .about-portrait{position:static;max-width:650px}#omne .about-portrait img{max-height:none}#omne .about-copy{max-width:100%}}

/* v2.4: Kontrastní světlá patička – text i sociální ikony. */
footer, body footer, #page footer {
  background-color:#f5f3ef !important;
  color:#272a28 !important;
  border-top:1px solid #d9d6d0 !important;
}
footer span, footer .footer-social, footer .footer-social > a:not(.social-icon-link) {
  color:#272a28 !important;
}
footer .footer-social a.social-icon-link {
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; min-width:44px;
  color:#222624 !important;
  background-color:transparent !important;
  border:1.5px solid #666b66 !important;
  border-radius:50%; text-decoration:none !important;
}
footer .footer-social a.social-icon-link svg {
  width:23px; height:23px; display:block;
  color:inherit !important; stroke:currentColor;
}
footer .footer-social a.social-icon-link:hover,
footer .footer-social a.social-icon-link:focus-visible {
  color:#fff !important; background-color:#272a28 !important;
  border-color:#272a28 !important;
}
footer .footer-social a:not(.social-icon-link):hover {
  color:#111 !important; text-decoration:underline;
}

/* v2.7: Jak focení probíhá */
.process-section .process-intro{max-width:670px;color:#bdbdb7;line-height:1.8;margin:12px 0 34px}
.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px}
.process-step{min-width:0;padding:26px 22px 28px;border:1px solid rgba(224,213,190,.19);background:rgba(255,255,255,.025);border-radius:4px}
.process-number{display:block;color:#b6a183;font-size:14px;font-weight:700;letter-spacing:.14em;margin-bottom:27px}
.process-step h3{font-size:clamp(19px,1.8vw,24px);line-height:1.25;margin:0 0 14px;color:#f1f0ed}
.process-step p{font-size:15px;line-height:1.75;color:#bdbdb7;margin:0}
.process-link{display:inline-block;margin-top:28px}
@media(max-width:980px){.process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.process-steps{grid-template-columns:1fr;gap:12px}.process-step{padding:22px}.process-number{margin-bottom:12px}.process-section .process-intro{margin-bottom:22px}}

/* v2.8: distinct editorial section for photography process; pricing starts anew. */
body main section#prubeh.process-section {
  position:relative;
  isolation:isolate;
  background:#252823 !important;
  color:#f0eee9 !important;
  border-top:1px solid rgba(211,192,156,.24);
  border-bottom:1px solid rgba(211,192,156,.28);
  padding-top:clamp(100px,9vw,165px) !important;
  padding-bottom:clamp(105px,10vw,180px) !important;
}
body main section#prubeh .process-steps {margin-top:42px;}
body main section#prubeh .process-step {background:rgba(10,12,10,.2);border-color:rgba(224,213,190,.24);}
body main section#prubeh .process-link {margin-top:38px;}
body main section#cenik {
  background:#1c1e1b !important;
  padding-top:clamp(100px,9vw,155px) !important;
}
@media(max-width:600px){
 body main section#prubeh.process-section{padding-top:80px !important;padding-bottom:85px !important;}
 body main section#cenik{padding-top:80px !important;}
 body main section#prubeh .process-steps{margin-top:26px;}
}

/* v2.9 – klientské recenze s moderováním */
.reviews-section{padding-top:100px;padding-bottom:110px}
.reviews-section .reviews-grid{margin:30px 0 50px}
.review-submit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,5vw,90px);margin-top:32px;padding-top:35px;border-top:1px solid rgba(255,255,255,.13)}
.review-submit h3{font-size:clamp(22px,2.5vw,32px);margin:0 0 14px}
.review-submit p{color:#b8b8b4;line-height:1.7}
.review-form{display:flex;flex-direction:column;gap:12px}
.review-form label{font-size:14px;color:#e4e2db}
.review-form input:not([type=checkbox]),.review-form textarea{width:100%;padding:14px 16px;background:#20211f;color:#f5f4ef;border:1px solid #4b4d48;border-radius:3px;font:inherit}
.review-form input:focus,.review-form textarea:focus{outline:2px solid #c5a982;outline-offset:2px}
.review-form .review-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-size:13px;color:#c4c2bc}
.review-form .review-consent input{margin-top:4px;flex-shrink:0}
.review-form button{align-self:flex-start;cursor:pointer}
.review-feedback{color:#d5c09d!important}.review-error{color:#f0a9a9!important}
@media(max-width:800px){.review-submit{grid-template-columns:1fr}.reviews-section{padding-top:70px;padding-bottom:75px}}

/* v3.0 – one optional dog photo per approved client review */
.reviews-grid .review-card{padding:0;overflow:hidden;display:flex;flex-direction:column;margin:0}
.review-card-photo{width:100%;aspect-ratio:4/3;overflow:hidden;background:#1c1e1d}
.review-card-photo img{display:block;width:100%;height:100%;object-fit:cover}
.review-card-content{padding:25px;flex:1;display:flex;flex-direction:column;gap:16px}
.review-card-content p{margin:0;flex:1;overflow-wrap:anywhere}
.review-card-content cite{display:block;margin-top:auto}

/* v3.1 – circular dog portraits alongside client reviews */
.reviews-grid .review-card{display:flex;flex-direction:row;align-items:flex-start;gap:22px;padding:26px;overflow:visible}
.reviews-grid .review-card-photo{flex:0 0 100px;width:100px;height:100px;aspect-ratio:1;border-radius:50%;border:2px solid #bda582;overflow:hidden;background:#262823;padding:0;cursor:zoom-in;transition:border-color .2s,transform .2s}
.reviews-grid .review-card-photo:hover{border-color:#f1e0c7;transform:scale(1.04)}
.reviews-grid .review-card-photo:focus-visible{outline:3px solid #f1e0c7;outline-offset:4px}
.reviews-grid .review-card-photo img{width:100%;height:100%;object-fit:cover;display:block}
.reviews-grid .review-card-content{padding:0;min-width:0;gap:16px}
@media(max-width:600px){.reviews-grid .review-card{gap:16px;padding:19px}.reviews-grid .review-card-photo{flex-basis:76px;width:76px;height:76px}}

/* v3.3 – coherent section rhythm: dark / charcoal, no random third gray. */
body main > section#portfolio,body main > section#foceni,body main > section#cenik,body main > section#faq{background-color:#121311 !important;}
body main > section#omne,body main > section#prubeh,body main > section#reference,body main > section#kontakt{background-color:#1c1e1b !important;}
body main > section#prubeh.process-section{background-color:#1c1e1b !important;border-top:1px solid #ffffff17;border-bottom:1px solid #ffffff17;padding-top:clamp(78px,7vw,120px) !important;padding-bottom:clamp(80px,7vw,125px) !important;}
body main > section#cenik{background-color:#121311 !important;padding-top:clamp(80px,7vw,125px) !important;}
/* Compact editorial About: portrait and introductory copy stay visually balanced. */
#omne .about-layout{grid-template-columns:minmax(0,44%) minmax(0,1fr);column-gap:clamp(28px,5vw,80px);row-gap:20px}
#omne .about-portrait img{max-height:none;object-fit:contain}
#omne .about-copy{max-width:660px}
#omne .about-copy p{line-height:1.68;margin:0 0 14px;font-size:clamp(14px,1.08vw,16px)}
#omne .about-copy .about-lead{color:#f0eee9 !important;font-size:clamp(17px,1.6vw,22px);line-height:1.45;margin-bottom:16px}
#omne .about-more{margin:13px 0 20px}
#omne .about-more summary{display:inline-block;cursor:pointer;color:#cbb79c !important;font-size:14px;text-decoration:underline;text-underline-offset:5px;list-style:none}
#omne .about-more summary::-webkit-details-marker{display:none}
#omne .about-more[open] .about-full{border-left:2px solid #cbb79c66;padding:15px 0 0 18px;margin-top:12px}
#omne .about-more .about-full p{font-size:14px;line-height:1.75}
/* Contact form: paired fields on desktop, compact but fully accessible. */
#kontakt .contact-grid{align-items:start;gap:clamp(32px,5vw,85px)}
#kontakt form#contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 15px;align-content:start}
#kontakt form#contact .field{min-width:0;display:flex;flex-direction:column;gap:6px}
#kontakt form#contact .field label{margin:0;font-size:13px}
#kontakt form#contact .field input,#kontakt form#contact .field select,#kontakt form#contact .field textarea{width:100%;min-width:0;margin:0;padding:11px 12px;min-height:44px}
#kontakt form#contact .field-message,#kontakt form#contact .consent,#kontakt form#contact .form-status{grid-column:1/-1}
#kontakt form#contact .field-message textarea{min-height:104px;resize:vertical}
#kontakt form#contact .consent{margin:5px 0 2px}
#kontakt form#contact button[type=submit]{justify-self:start;align-self:start}
#kontakt form#contact .honeypot{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;overflow:hidden !important}
@media(max-width:900px){#omne .about-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "portrait" "copy"}#omne .about-portrait{max-width:650px}#omne .about-copy{max-width:650px}}
@media(max-width:560px){#kontakt form#contact{grid-template-columns:1fr}#kontakt form#contact .field{grid-column:1/-1}body main > section#prubeh.process-section{padding-top:70px !important;padding-bottom:75px !important}}

/* v3.4 – readable story continuation and grouped contact fields */
#omne .about-more .about-full p{margin:0 0 15px;line-height:1.7}
#kontakt form#contact{display:flex;flex-direction:column;gap:14px;max-width:850px}
#kontakt form#contact .contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.5vw,22px);align-items:start}
#kontakt form#contact .contact-required,#kontakt form#contact .contact-optional{display:flex;flex-direction:column;gap:12px;min-width:0}
#kontakt form#contact .field-group-label{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#cbb79c;padding-bottom:9px;border-bottom:1px solid #ffffff2b;margin-bottom:1px}
#kontakt form#contact .field{width:100%}
#kontakt form#contact .field-message,#kontakt form#contact .consent,#kontakt form#contact .form-status{grid-column:auto}
#kontakt form#contact .field-message textarea{min-height:105px}
#kontakt form#contact .form-checkbox{display:flex;gap:10px;align-items:flex-start}
#kontakt form#contact .form-checkbox input{flex:0 0 auto;margin-top:4px}
#kontakt form#contact button[type=submit]{align-self:flex-start}
@media(max-width:560px){#kontakt form#contact .contact-fields{grid-template-columns:1fr;gap:22px}}

/* v3.5: latest three approved reviews and accessible expandable archive */
.reviews-more{margin-top:26px}
.reviews-more>summary{display:table;margin:0 auto 26px;padding:13px 23px;border:1px solid #9f8c72;border-radius:3px;color:#eee8dd;background:transparent;font-weight:600;cursor:pointer;list-style:none;text-align:center;transition:background .2s,border-color .2s}
.reviews-more>summary::-webkit-details-marker{display:none}
.reviews-more>summary:hover,.reviews-more>summary:focus-visible{background:#30302c;border-color:#dfc7a5}
.reviews-more>summary:focus-visible{outline:2px solid #e9d1ae;outline-offset:3px}
.reviews-more-hide,.reviews-more[open] .reviews-more-show{display:none}
.reviews-more[open] .reviews-more-hide{display:inline}
.reviews-grid-older{margin-top:4px}

/* v3.7: improve mobile hero legibility over bright areas of the original photograph */
@media (max-width: 760px) {
  body .hero {
    background-image:
      linear-gradient(90deg, rgba(5,7,6,.79) 0%, rgba(5,7,6,.65) 52%, rgba(5,7,6,.44) 100%),
      linear-gradient(0deg, rgba(5,7,6,.72) 0%, rgba(5,7,6,.22) 45%, rgba(5,7,6,.28) 100%),
      var(--hero-image) !important;
    background-position: center, center, 58% center;
    background-size: cover;
  }
  body .hero h1 {color:#fff; text-shadow:0 2px 18px rgba(0,0,0,.35)}
  body .hero p {color:#fff; text-shadow:0 1px 10px rgba(0,0,0,.5)}
  body .hero .eyebrow {color:#f0d9b8;text-shadow:0 1px 8px rgba(0,0,0,.6)}
}

/* v3.8: visible club entry, desktop and mobile */
.lm-club-entry{font-size:12px;text-transform:uppercase;letter-spacing:.08em;border:1px solid #d1b99a;color:#f3e6d2;padding:10px 13px;border-radius:3px;white-space:nowrap;margin-left:16px}.lm-club-entry:hover{background:#d1b99a;color:#111}@media(max-width:640px){.lm-club-entry{font-size:10px;padding:9px 8px;margin-left:auto;margin-right:9px}.mobile-toggle{padding:8px 9px;font-size:11px}.brand{font-size:13px;letter-spacing:.08em}}
