/* =========================================================
   HEGER FOTO — style.css
   Jeden zdroj pravdy: každý komponent je definovaný jednou
   (základ pro desktop) a jeho responzivní úpravy jsou hned pod ním.
   Breakpointy: 1150 · 1000 · 700 · 420
   ========================================================= */

/* ---------- Fonty (lokální, bez externích CDN) ---------- */
@font-face{font-family:"QT Chancery Type";src:url("fonts/QTChanceryType.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond/CormorantGaramond-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond/CormorantGaramond-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond/CormorantGaramond-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond/CormorantGaramond-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond/CormorantGaramond-MediumItalic.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/inter/Inter-Light.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/inter/Inter-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/inter/Inter-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/inter/Inter-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/inter/Inter-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

/* ---------- Proměnné ---------- */
:root{
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter",Arial,Helvetica,sans-serif;
  --accent:#df5a5a;
  --crimson:#b51f2d;   /* jen právní stránky */
  --bg:#090909;
  --line:#262626;

  /* Typografická škála: velikosti a barvy textu jsou jen tady */
  --fs-body:20px;      /* odstavce (Cormorant) */
  --lh-body:1.55;
  --fs-ui:16px;        /* podpůrný text (Inter) */
  --fs-small:14px;     /* popisky formuláře, copyright */
  --fs-caption:12px;   /* verzálky s prostrkáním */
  --muted:#b8b4ae;     /* odstavce a popisky */
  --dim:#9a968f;       /* méně důležitý text */
}
@media (max-width:700px){
  :root{--fs-body:19px}
}

/* ---------- Základ ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:#f4f3f0;font-family:var(--sans);font-weight:300;overflow-x:hidden}
body.no-scroll{overflow:hidden}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}

/* ---------- Společné prvky ---------- */
.eyebrow{margin-bottom:25px;font-family:var(--sans)}
.eyebrow--accent{color:var(--accent);font-size:14px;font-weight:600;line-height:1;letter-spacing:.38em;text-transform:uppercase}

.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;margin-top:13px;padding:16px 24px;border:1px solid var(--accent);background:transparent;color:#e0a0a0;font-family:var(--sans);font-size:16px;letter-spacing:.02em;cursor:pointer;transition:.25s}
.button span{font-family:var(--serif);font-size:26px;line-height:.7}
.button:hover,.button:focus-visible{background:var(--accent);color:var(--bg)}

/* Popisky přes fotografie: dlaždice, portrét a foto v kontaktu mají stejný vzhled */
.tile-info small,.portrait-label,.contact-photo-frame span{color:#ece9e3;font-size:8px;letter-spacing:.3em}

/* ---------- Hlavička a navigace ---------- */
.header{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:flex-start;padding:31px 5.1%}

.logo{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:baseline;letter-spacing:.25em}
.logo span{font-family:var(--serif);font-size:clamp(34px,2.45vw,46px);font-weight:500;letter-spacing:.005em}
.logo b{color:var(--accent);font-family:var(--sans);font-size:clamp(17px,1.08vw,21px);font-weight:500;letter-spacing:.31em}
.logo small{grid-column:1/-1;margin-top:9px;color:#8f8f8f;font-size:clamp(7px,.5vw,10px);letter-spacing:.48em}

.site-nav{display:flex;gap:clamp(30px,2.7vw,55px);padding-top:10px;font-size:clamp(15px,1.05vw,19px)}
.site-nav a{padding:10px 0 15px;border-bottom:1px solid transparent;font-weight:500;text-shadow:0 1px 10px rgba(0,0,0,.65)}
.site-nav a:hover,.site-nav a:focus-visible{color:var(--accent)}

.menu{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:38px;padding:8px 5px;border:0;background:none;color:#fff;cursor:pointer}
.menu span{display:block;width:30px;height:1px;background:#f4f3f0;transition:transform .25s ease,opacity .2s ease}
body.nav-open .menu span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.nav-open .menu span:nth-child(2){opacity:0}
body.nav-open .menu span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.nav-backdrop{display:none}

@media (min-width:701px){
  .site-nav a:hover,.site-nav a:focus-visible{border-color:var(--accent)}
}

@media (max-width:700px){
  .header{z-index:80;padding:21px 5%}
  .logo span{font-size:30px}
  .logo b{font-size:15px}
  .logo small{font-size:6px;letter-spacing:.39em}
  .menu{display:flex;position:relative;z-index:82}

  .site-nav{
    position:fixed;z-index:81;top:0;right:0;
    width:min(86vw,360px);height:100dvh;
    flex-direction:column;align-items:flex-start;gap:0;
    padding:105px 34px 40px;
    overflow-y:auto;
    background:rgba(10,10,10,.98);
    border-left:1px solid #292929;
    box-shadow:-20px 0 60px rgba(0,0,0,.45);
    transform:translateX(105%);
    visibility:hidden;
    transition:transform .28s ease,visibility .28s ease;
  }
  .site-nav a{width:100%;padding:18px 0;border-bottom-color:#242424;font-size:18px}
  body.nav-open .site-nav{transform:translateX(0);visibility:visible}

  .nav-backdrop{
    display:block;position:fixed;z-index:79;inset:0;
    background:rgba(0,0,0,.62);
    opacity:0;visibility:hidden;
    transition:opacity .25s ease,visibility .25s ease;
  }
  body.nav-open .nav-backdrop{opacity:1;visibility:visible}
}

/* ---------- Hero ---------- */
.hero{position:relative;display:flex;align-items:center;height:100svh;min-height:100svh;padding:0 5.1%;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url("images/hero.jpg") center/cover;transform:scale(1.02)}
.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.22) 54%,rgba(0,0,0,.04) 100%),linear-gradient(0deg,rgba(0,0,0,.48) 0%,transparent 28%,rgba(0,0,0,.16) 100%),linear-gradient(180deg,rgba(0,0,0,.6) 0,rgba(0,0,0,.28) 90px,transparent 190px)}
.hero-content{position:relative;z-index:2;max-width:930px;margin-top:56px}
.hero .eyebrow{color:#ece9e3;font-size:clamp(11px,.8vw,14px);font-weight:600;letter-spacing:.43em;text-shadow:0 1px 10px rgba(0,0,0,.7),0 0 2px rgba(0,0,0,.6)}
.hero h1{max-width:950px;margin:0;font-family:var(--serif);font-size:clamp(58px,5.1vw,94px);font-weight:500;line-height:.87;letter-spacing:-.018em}
.hero h1 em{color:#ddd9d0;font-style:italic;font-weight:400;letter-spacing:-.02em}
.accent-line{width:118px;height:2px;margin:33px 0 24px;background:var(--accent)}
.hero p{margin:0 0 25px;color:#f0ece5;font-family:var(--serif);font-size:clamp(19px,1.35vw,26px);font-weight:400;line-height:1.2}
.hero .button{margin-top:2px}

.hero-mark{position:absolute;z-index:2;right:5.1%;bottom:39px;display:flex;align-items:center;gap:15px;padding-left:18px;border-left:2px solid var(--accent);color:#f2eee8;font-family:var(--sans);font-size:var(--fs-caption);font-weight:500;letter-spacing:.3em}
.hero-mark i{color:var(--accent);font-style:normal}
.globe-icon{display:inline-flex;flex:0 0 35px;width:35px;height:35px;color:#f2eee8}
.globe-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

@media (max-width:1000px){
  .hero-content{max-width:760px}
  .hero h1{font-size:clamp(52px,7vw,76px)}
}

@media (max-width:700px){
  .hero{min-height:650px;padding:0 5%}
  .hero-content{max-width:92vw;margin-top:30px}
  .hero h1{font-size:clamp(46px,12.5vw,64px);line-height:.9}
  .hero p{font-size:20px}
  .hero-mark{right:5%;bottom:27px;gap:10px;font-size:11px;letter-spacing:.2em}
  .hero .eyebrow{letter-spacing:.3em}
  .globe-icon{flex-basis:28px;width:28px;height:28px}
}

@media (max-width:420px){
  .button{gap:18px}
}

/* ---------- Portfolio ---------- */
.portfolio{padding:60px 5.5% 105px;background:#101010}

.heading-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;align-items:end;margin-bottom:38px}
.heading-row h2{margin:0;font-family:var(--serif);font-size:51px;font-weight:500;line-height:1.02;letter-spacing:-.015em}
/* šířka popisu = jedna dlaždice galerie, zarovnaná k pravé hraně */
.heading-row p{text-wrap:pretty;justify-self:end;width:calc(50% - 6px);margin:0;color:var(--muted);font-family:var(--serif);font-size:var(--fs-body);line-height:var(--lh-body)}

.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:280px;gap:12px}
.tile{position:relative;min-width:0;overflow:hidden;background:#181818}
.tile-large{grid-column:span 2;grid-row:span 2}
.tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s}
.tile:hover img{transform:scale(1.06)}
.tile:focus-visible{outline:1px solid var(--accent);outline-offset:3px}
.tile-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 60%)}
.tile-info{position:absolute;left:22px;right:15px;bottom:20px}
.tile-info h3{margin:0 0 5px;font-family:var(--serif);font-size:32px;font-weight:500}

@media (max-width:1000px){
  .heading-row{column-gap:40px}
  .heading-row p{width:min(430px,100%)}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:260px}
}

@media (max-width:700px){
  .portfolio{padding:55px 5% 105px}
  .heading-row{display:block}
  .heading-row h2{font-size:43px}
  .heading-row p{width:100%;margin:22px 0 0}
  .gallery{grid-template-columns:1fr;grid-auto-rows:330px}
  .tile-large{grid-column:auto;grid-row:auto}
}

@media (max-width:420px){
  .tile-info h3{font-size:28px}
}

/* ---------- Moje zaměření ---------- */
/* Jeden rámovaný panel: nahoře nadpis a úvodní věta odělené linkou, pod nimi kategorie */
.focus{padding:70px 24px 55px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:#080808}
.focus-panel{max-width:1240px;margin:0 auto;border:1px solid rgba(255,255,255,.08)}

.focus-header{display:grid;grid-template-columns:1fr 1.15fr;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}
.focus-title{padding:36px 40px}
.focus-title .eyebrow{display:block;margin-bottom:18px}
.focus-title h2{margin:0;color:#f3f1ed;font-family:var(--serif);font-size:51px;font-weight:500;line-height:1}
.focus-lead{display:flex;align-items:center;justify-content:flex-end;padding:36px 40px;border-left:1px solid rgba(255,255,255,.08)}
.focus-lead p{margin:0;color:#e8e5df;font-family:var(--serif);font-size:26px;line-height:1.35;text-align:right;text-wrap:balance}
.focus-lead em{color:var(--accent);font-style:italic;font-weight:500}

.focus-list{display:grid;grid-template-columns:repeat(8,1fr)}
.focus-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;min-height:82px;padding:14px 4px;border-right:1px solid rgba(255,255,255,.08);color:inherit;transition:background .25s ease,color .25s ease}
.focus-item:last-child{border-right:0}
.focus-item:hover{background:rgba(255,255,255,.025)}
.focus-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:10px;color:#e34b4b}
.focus-svg{display:block;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.focus-item strong{color:#e8e5df;font-size:var(--fs-ui);font-weight:500;letter-spacing:.02em;text-align:center}
.focus-item small{margin-top:6px;color:var(--dim);font-size:var(--fs-caption);font-weight:400;letter-spacing:.04em;text-align:center;text-wrap:balance}

@media (max-width:1150px){
  .focus-list{grid-template-columns:repeat(4,1fr)}
  .focus-item:nth-child(4n){border-right:0}
  .focus-item:nth-child(n+5){border-top:1px solid rgba(255,255,255,.08)}
}

@media (max-width:1000px){
  .focus{padding:60px 20px 45px}
  .focus-title,.focus-lead{padding:30px 28px}
  .focus-title h2{font-size:44px}
  .focus-lead p{font-size:23px}
}

@media (max-width:700px){
  .focus{padding:55px 18px 35px}
  .focus-header{grid-template-columns:1fr}
  .focus-title{padding:26px 22px 22px}
  .focus-title h2{font-size:40px}
  .focus-lead{padding:22px;border-top:1px solid rgba(255,255,255,.08);border-left:0}
  .focus-lead p{font-size:22px}
  .focus-list{grid-template-columns:repeat(2,1fr)}
  .focus-item{min-height:105px;padding:16px 10px}
  .focus-item:nth-child(4n){border-right:1px solid rgba(255,255,255,.08)}
  .focus-item:nth-child(2n){border-right:0}
  .focus-item:nth-child(n+3){border-top:1px solid rgba(255,255,255,.08)}
}

/* ---------- O mně ---------- */
.about{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1.48fr) minmax(0,.95fr);gap:52px;align-items:center;min-height:330px;padding:40px 5.1%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#111}

.portrait{position:relative}
.portrait-frame{height:280px;overflow:hidden;background:#050505}
.portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%)}
.portrait-label{position:absolute;left:16px;bottom:14px}

.about-copy{max-width:640px}
.about-copy .eyebrow{margin-bottom:18px}
.about-copy h2{margin:0 0 19px;font-family:var(--serif);font-size:clamp(34px,2.35vw,43px);font-weight:500;line-height:1.02}
.about-copy h2 em{color:#ddd9d0;font-style:normal}
.about-copy p{text-wrap:pretty;max-width:650px;margin:0 0 12px;color:var(--muted);font-family:var(--serif);font-size:var(--fs-body);line-height:var(--lh-body)}
.about-copy .button{margin-top:8px}

.about-statement{display:flex;flex-direction:column;justify-content:center;min-height:220px;padding:0 0 0 42px;border-left:1px solid var(--line);text-align:center}
.about-statement .eyebrow{margin-bottom:17px}
.about-statement blockquote{margin:0 0 20px;color:#eeeae3;text-wrap:balance;font-family:"QT Chancery Type",cursive;font-size:clamp(29px,1.8vw,35px);font-weight:400;line-height:1.12}
.about-statement blockquote em{font-style:normal}
.about-statement > span{color:var(--accent);font-family:var(--sans);font-size:11px;letter-spacing:.32em}

@media (max-width:1150px){
  .about{grid-template-columns:320px 1fr;gap:34px}
  .portrait-frame{height:250px}
  .about-statement{grid-column:1/-1;min-height:190px;padding:28px 0 0;border-top:1px solid var(--line);border-left:0}
}

@media (max-width:700px){
  .about{grid-template-columns:1fr;gap:32px;padding:55px 5%}
  .portrait-frame{height:72vw;max-height:500px}
  .about-copy h2{font-size:38px}
  .about-statement{min-height:0;padding:32px 0 0}
  .about-statement blockquote{font-size:31px}
  .about-statement > span{font-size:10px}
}

/* ---------- Kontakt ---------- */
.contact{display:grid;grid-template-columns:minmax(300px,1.15fr) minmax(270px,1fr) minmax(430px,1.35fr);align-items:stretch;padding:52px 5.5%;background:#0d0d0d}

.contact-intro{padding-right:40px}
.contact-intro .eyebrow{margin-bottom:18px}
.contact-intro h2{margin:0 0 20px;font-family:var(--serif);font-size:clamp(40px,2.9vw,54px);font-weight:500;line-height:.98}
.contact-intro p{margin:0 0 15px;color:var(--muted);font-family:var(--serif);font-size:var(--fs-body);line-height:var(--lh-body);text-wrap:pretty}

.contact-photo{display:flex;align-items:center;min-width:0;padding:0 30px;border-right:1px solid var(--line);border-left:1px solid var(--line)}
.contact-photo-frame{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#050505}
.contact-photo-frame img{display:block;width:100%;height:100%;object-fit:cover}
.contact-photo-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 35%,rgba(0,0,0,.7) 100%);pointer-events:none}
.contact-photo-frame span{position:absolute;z-index:2;left:15px;bottom:14px}

.contact-form-wrap{min-width:0;padding-left:48px}
.form-status{min-height:1.2em;margin-bottom:14px;color:var(--accent);font-size:var(--fs-small)}

.contact-form{width:100%;max-width:590px;padding-top:2px}
.contact-form label{display:block;margin-bottom:14px;color:var(--muted);font-size:var(--fs-small);letter-spacing:.02em}
.contact-form input:not([type="checkbox"]),
.contact-form textarea{display:block;width:100%;margin-top:8px;padding:11px 12px;border:1px solid #2a2a2a;border-radius:0;outline:none;background:#151515;color:#f5f3ef}
.contact-form textarea{min-height:112px;resize:vertical}
.contact-form input:not([type="checkbox"]):focus,
.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.contact-form .consent{display:flex;align-items:flex-start;gap:10px;margin:2px 0 14px;line-height:1.5}
.consent input{flex:none;width:16px;height:16px;margin:0;accent-color:var(--accent)}
.consent a{color:#f4f3f0;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:2px}
.consent a:hover,.consent a:focus-visible{text-decoration-color:var(--accent)}
.contact-form .button{margin-top:0}
.form-note{margin-top:12px;color:var(--dim);font-size:var(--fs-small)}
.optional{color:var(--dim);font-size:var(--fs-caption)}

.form-row{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}
.form-row label:last-child{grid-column:1/-1}

.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media (max-width:1150px){
  .contact{grid-template-columns:minmax(260px,1.1fr) minmax(220px,.9fr) minmax(380px,1.3fr)}
  .contact-intro{padding-right:28px}
  .contact-photo{padding:0 22px}
  .contact-form-wrap{padding-left:30px}
}

@media (max-width:1000px){
  .contact{grid-template-columns:1fr 1fr;gap:42px}
  .contact-intro{grid-column:1/-1;padding-right:0}
  .contact-photo{padding-right:30px;padding-left:0;border-left:0}
  .contact-form-wrap{padding-left:30px;border-left:1px solid var(--line)}
}

@media (max-width:700px){
  .contact{grid-template-columns:1fr;gap:32px;padding:52px 5%}
  .contact-intro{grid-column:auto}
  .contact-photo{padding:28px 0;border:solid var(--line);border-width:1px 0}
  .contact-form-wrap{padding:2px 0 0;border-left:0}
  .contact-form .button{width:100%}
}

/* ---------- Patička ---------- */
footer{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);grid-template-areas:"brand social note" "copy legal note";align-items:center;column-gap:40px;row-gap:18px;padding:34px 5.5% 28px;border-top:1px solid #222}

.footer-logo{grid-area:brand;justify-content:start;min-width:max-content;white-space:nowrap}

.social-links{grid-area:social;display:flex;align-items:center;justify-content:center;gap:18px}
.social-links a{display:flex;align-items:center;justify-content:center;width:38px;height:38px}
.social-links svg{display:block;width:24px;height:24px}

.footer-note{grid-area:note;justify-self:end;color:var(--dim);font-size:var(--fs-caption);letter-spacing:.2em;text-align:right}
.footer-copyright{grid-area:copy;color:var(--dim);font-size:var(--fs-small);line-height:1.5;letter-spacing:.03em}
.footer-legal{grid-area:legal;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:var(--fs-caption);line-height:1.5;letter-spacing:.14em;text-transform:uppercase}
.footer-legal a{color:var(--dim);transition:color .2s ease}
.footer-legal a:hover,.footer-legal a:focus-visible{color:#fff}

@media (max-width:1000px){
  footer{grid-template-columns:1fr;grid-template-areas:"brand" "social" "note" "copy" "legal";justify-items:center;gap:20px;padding:42px 5% 30px;text-align:center}
  .footer-note{justify-self:auto;max-width:100%;line-height:1.8;text-align:center}
}

/* ---------- Lightbox ---------- */
.lightbox{position:fixed;z-index:100;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.95)}
.lightbox.open{display:flex}
body.lightbox-open .lightbox{overscroll-behavior:contain}
.lightbox img{max-width:90vw;max-height:88vh;object-fit:contain}
.lightbox button{position:absolute;border:0;background:none;color:#fff;cursor:pointer}
.lightbox .close{top:18px;right:28px;font-size:38px}
.lightbox .prev,.lightbox .next{top:50%;font-size:55px}
.lightbox .prev{left:25px}
.lightbox .next{right:25px}

/* ---------- Právní stránky (licence, zásady) ---------- */
.legal-page{min-height:100vh;padding:42px clamp(22px,5vw,80px) 80px;background:#0b0b0b;color:#f4f1eb}
.legal-wrap{max-width:900px;margin:0 auto}
.legal-back{display:inline-flex;align-items:center;gap:10px;margin-bottom:80px;color:rgba(255,255,255,.62);font:500 var(--fs-caption)/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.legal-back:hover{color:#fff}
.legal-kicker{margin-bottom:22px;color:var(--crimson);font:500 var(--fs-caption)/1 var(--sans);letter-spacing:.22em;text-transform:uppercase}
.legal-page h1{margin:0 0 28px;font:500 clamp(52px,7vw,88px)/.9 var(--serif)}
.legal-lead{max-width:720px;margin:0 0 58px;color:rgba(255,255,255,.78);font:400 21px/1.55 var(--serif)}
.legal-rule{height:1px;margin:0 0 44px;background:rgba(255,255,255,.12)}
.legal-page h2{margin:42px 0 14px;font:500 34px/1.05 var(--serif)}
.legal-page p,.legal-page li{color:rgba(255,255,255,.78);font:300 var(--fs-ui)/1.8 var(--sans)}
.legal-page ul{margin:0 0 24px;padding-left:22px}
.legal-page li{margin:8px 0;padding-left:7px}
.legal-page p a,.legal-page li a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:3px}
.legal-page p a:hover,.legal-page li a:hover{text-decoration-color:var(--accent)}
.legal-footer a{text-decoration:underline;text-underline-offset:3px}
.legal-box{margin:34px 0;padding:24px 26px;border-left:2px solid var(--crimson);background:rgba(255,255,255,.035)}
.legal-box p{margin:0}
.legal-footer{margin-top:70px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.6);font:300 var(--fs-small)/1.6 var(--sans)}

@media (max-width:700px){
  .legal-page{padding-top:26px}
  .legal-back{margin-bottom:55px}
  .legal-page h1{font-size:54px}
  .legal-lead{font-size:19px}
  .legal-page h2{font-size:30px}
}

.legal-page--error h1{font-size:clamp(30px,5vw,52px);line-height:1.1}

/* Souhlas s fotografováním: pole k vyplnění na obrazovce i v tisku */
.cf-section h2{margin-bottom:22px}
.legal-page .cf-status{margin:0 0 28px;padding:14px 18px;border-left:2px solid var(--accent);background:rgba(255,255,255,.05);color:#fff}
.cf-send{margin-top:48px;padding-top:8px;border-top:1px solid rgba(255,255,255,.12)}
.cf-send .cf-field{max-width:520px}
.cf-send .button{margin-top:18px}
.cf-actions{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 20px}
.cf-actions .button{margin-top:0}
.legal-page .cf-hint{max-width:720px;margin:0 0 40px;color:rgba(255,255,255,.62);font-size:var(--fs-small)}
.cf-grid{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:0 32px}
.cf-field{display:block;margin:0 0 22px;color:rgba(255,255,255,.62);font:500 var(--fs-caption)/1.4 var(--sans);letter-spacing:.06em}
.cf-line{display:block;width:100%;margin-top:8px;padding:8px 0;border:0;border-bottom:1px solid rgba(255,255,255,.45);border-radius:0;background:transparent;color:#fff;font:400 17px/1.4 var(--sans);letter-spacing:0;outline:none}
.cf-line:focus,.cf-inline:focus{border-bottom-color:var(--accent)}
.cf-inline{width:9em;max-width:100%;margin:0 4px;padding:0 4px;border:0;border-bottom:1px solid rgba(255,255,255,.45);border-radius:0;background:transparent;color:#fff;font:inherit;outline:none}
.legal-page .cf-subhead{margin:26px 0 8px;color:#fff;font:600 var(--fs-ui)/1.4 var(--sans)}
.cf-check{display:flex;align-items:flex-start;gap:14px;margin:12px 0;color:rgba(255,255,255,.85);font:300 var(--fs-ui)/1.6 var(--sans);cursor:pointer}
.cf-check input{flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:var(--accent)}
.cf-sign{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:64px}
.cf-sign div{padding-top:10px;border-top:1px solid rgba(255,255,255,.55);color:rgba(255,255,255,.62);font:500 var(--fs-caption)/1.5 var(--sans);letter-spacing:.04em}

@media (max-width:700px){
  .cf-grid,.cf-sign{grid-template-columns:1fr}
  .cf-sign{gap:56px}
}

/* ---------- Tisk: právní stránky a formulář souhlasu (bílý papír A4) ---------- */
@media print{
  @page{size:A4;margin:13mm 15mm}
  body{background:#fff;color:#000}
  .no-print{display:none}
  .legal-page{min-height:0;padding:0;background:#fff;color:#000}
  .legal-wrap{max-width:none}
  .legal-kicker{margin-bottom:6pt;font-size:8pt}
  .legal-page h1{margin:0 0 6pt;color:#000;font-size:21pt}
  .legal-lead{max-width:none;margin:0 0 8pt;color:#000;font-size:10.5pt;line-height:1.35}
  .legal-rule{margin:0 0 4pt;background:#000}
  .legal-page h2{margin:10pt 0 3pt;color:#000;font-size:12pt;break-after:avoid}
  .legal-page p,.legal-page li{color:#000;font-size:9.5pt;line-height:1.38}
  .legal-page ul{margin:0 0 6pt}
  .legal-page li{margin:2pt 0}
  .legal-page a,.legal-page p a,.legal-page li a{color:#000;text-decoration:none}
  .legal-box{margin:4pt 0;padding:4pt 9pt;background:none}
  .legal-footer{margin-top:10pt;padding-top:6pt;border-top-color:#000;color:#333;font-size:8pt}
  .cf-section{break-inside:avoid}
  /* Vyplněný formulář: nevyplněné nepovinné části se netisknou (třídy nastavuje script.js před tiskem) */
  .is-filled [data-optional].is-empty,.is-filled .cf-until-hint{display:none}
  .cf-grid{gap:0 18pt}
  .cf-field{margin-bottom:7pt;color:#333;font-size:7.5pt}
  .cf-line{margin-top:2pt;padding:3pt 0;border-bottom-color:#000;color:#000;font-size:10pt}
  .cf-inline,.cf-line:focus,.cf-inline:focus{border-bottom-color:#000;color:#000}
  .legal-page .cf-subhead{margin:6pt 0 3pt;color:#000;font-size:9.5pt}
  .cf-check{margin:3pt 0;color:#000;font-size:9.5pt}
  .cf-check input{width:11pt;height:11pt;accent-color:#000}
  .cf-sign{margin-top:28pt;gap:24pt}
  .cf-sign div{border-top-color:#000;color:#333;font-size:7.5pt}
}

/* ---------- Omezený pohyb ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .button,.tile img,.focus-item,.menu span,.site-nav,.nav-backdrop,.footer-legal a{transition:none}
}
