/* ===== Písma (hostovaná lokálně – bez Google Fonts, kvůli GDPR) ===== */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/jost-latin-ext-300-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/jost-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jost-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jost-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jost-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jost-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-400-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-500-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ===== Barvy a rozměry – tady se mění vzhled celého webu ===== */
:root{
  --pozadi:#ffffff;
  --hlavicka:#f7f7f7;   /* světle šedý pruh nahoře */
  --modra:#2c3654;      /* barva nápisu PHOTOGRAPHY */
  --akcent:#b0646a;     /* starorůžová z autorských ikon – podtržení aktivní položky menu */
  --text:#262626;
  --tlumeny:#787878;
  --linka:#e4e4e4;
  --serif:"Cormorant Garamond",Garamond,"Times New Roman",serif;
  --sans:"Jost","Helvetica Neue",Arial,sans-serif;
  --sirka:980px;     /* šířka obsahu jako na Wixu */
  --mezera:10px;     /* mezera mezi fotkami */
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--pozadi);color:var(--text);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:10}

/* ===== Hlavička ===== */
.hlavicka{text-align:center;padding:40px 20px 0;background:var(--hlavicka)}
.logo{display:inline-block;text-decoration:none;line-height:1.1}
.logo-jmeno{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(26px,4.2vw,36px);letter-spacing:.06em}
.logo-obor{display:block;margin-top:12px;font-size:12px;letter-spacing:.85em;padding-left:.85em;font-weight:400;color:var(--modra)}

.menu{margin-top:26px}
.menu ul{list-style:none;margin:0 auto;padding:0 0 26px;display:flex;justify-content:center;flex-wrap:wrap;column-gap:clamp(24px,5.6vw,108px)}
.menu a{display:block;padding:12px 0;text-decoration:none;font-family:var(--serif);font-style:italic;font-weight:500;font-size:18px;color:var(--text);transition:color .2s}
.menu a:hover{color:var(--tlumeny)}
.menu a[aria-current="page"]{color:#8a8a8a;text-decoration:underline;text-decoration-color:var(--akcent);text-decoration-thickness:1px;text-underline-offset:7px}
.menu-tlacitko{display:none}

/* ===== Obsah ===== */
main{max-width:var(--sirka);margin:0 auto;padding:30px 20px 140px}
main.siroky{max-width:none;padding-left:0;padding-right:0}
/* Galerie Portrét / Rodina / Svatby: pevná šířka 1000 px (+ 2× 20 px okraj), dva sloupce jako na Wixu */
main.pevna{max-width:1040px}
h1{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(28px,4vw,34px);line-height:1.2;text-align:center;margin:0 0 30px}
h2{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.2;margin:2.2em 0 .5em}
.uvod{max-width:640px;margin:-16px auto 40px;text-align:center;color:var(--tlumeny)}

/* ===== Galerie: zděná mozaika přes celou šířku (3 / 2 / 1 sloupce řeší js/web.js) ===== */
.galerie{display:flex;gap:var(--mezera);align-items:flex-start}
.galerie-sloupec{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--mezera)}
.galerie a{display:block;cursor:zoom-in;background:#f0f0f0;overflow:hidden}
/* Pomalé přiblížení fotky po najetí myší ("vnoření" do fotky). Rychlost = 1.6s, míra = 1.08 */
.galerie img{width:100%;height:auto;transform:scale(1);transition:transform 1.6s cubic-bezier(.22,.61,.36,1);will-change:transform}
.galerie a:hover img,.galerie a:focus-visible img{transform:scale(1.08)}
.galerie-prazdna{display:block;text-align:center;color:var(--tlumeny);border:1px dashed var(--linka);padding:40px 20px;margin:0 20px}

/* ===== Lightbox ===== */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(255,255,255,.97);display:none;align-items:center;justify-content:center}
.lightbox.otevreno{display:flex}
.lightbox img{max-width:calc(100vw - 140px);max-height:calc(100vh - 80px);width:auto;height:auto;object-fit:contain;cursor:zoom-out}
.lightbox button{position:absolute;background:none;border:0;cursor:pointer;color:var(--text);font:300 40px/1 var(--sans);padding:16px;opacity:.6}
.lightbox button:hover,.lightbox button:focus-visible{opacity:1}
.lb-zavrit{top:8px;right:12px;z-index:2}
/* Listování: levých a pravých 15 % šířky stránky je aktivní plocha pro předchozí / další fotku, šipky cca 3,3 % od kraje */
.lb-predchozi,.lb-dalsi{top:0;bottom:0;width:15%;display:flex;align-items:center;z-index:1;transition:opacity .3s}
/* Zatmavení po najetí myší: přechod přes celou šířku pruhu, nejtmavší u kraje stránky */
.lb-predchozi::before,.lb-dalsi::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .3s;pointer-events:none}
.lb-predchozi::before{background:linear-gradient(to right,rgba(0,0,0,.2),rgba(0,0,0,0))}
.lb-dalsi::before{background:linear-gradient(to left,rgba(0,0,0,.2),rgba(0,0,0,0))}
.lb-predchozi:hover::before,.lb-dalsi:hover::before{opacity:1}
.lb-predchozi{left:0;justify-content:flex-start;padding-left:3.33vw!important}
.lb-dalsi{right:0;justify-content:flex-end;padding-right:3.33vw!important}
.lb-pocet{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:14px;color:var(--tlumeny)}

/* ===== Ceník ===== */
/* Šedá je oblast s nadpisem a kartami; horní panel zůstává jako na ostatních stránkách */
.stranka-cenik{--seda:#cfcfcf}
.stranka-cenik main{padding-top:0}

/* Nadpis: fotka vlevo, přes ni přesahující bílý box s nadpisem */
.cenik-hlava{background:var(--seda);padding:clamp(24px,4vw,58px) 20px 12px}
.cenik-hlava{display:grid;grid-template-columns:37fr 26fr 37fr;grid-template-rows:clamp(30px,4.2vw,80px) clamp(120px,11vw,210px) clamp(20px,2.7vw,52px);
  max-width:1767px;margin:0 auto;box-shadow:0 0 0 100vmax var(--seda);clip-path:inset(-1px -100vmax)}
.cenik-hlava-foto{grid-column:1/3;grid-row:1/4;
  /* fotka perí z Wixu – uložte ji jako img/cenik/peri.jpg; dokud chybí, zobrazí se jemný přechod */
  background:url(../img/cenik/peri.jpg) center/cover no-repeat,
             radial-gradient(ellipse at 30% 60%,#f4f2f1 0%,#ddd6d3 45%,#b9b1b2 100%)}
.cenik-hlava-box{grid-column:2/4;grid-row:2/3;background:#fff;display:flex;align-items:center;justify-content:center;padding:0 20px;position:relative}
.cenik-hlava h1{font-family:var(--sans);font-style:normal;font-weight:300;font-size:clamp(34px,3.1vw,58px);color:#a85c62;margin:0;letter-spacing:.01em}

.balicky{background:var(--seda,#c9c9c9);padding:24px 20px 24px}
.balicky-mrizka{max-width:1712px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:36px;align-items:start}
.karta{background:#fff;padding:0 0 56px 20px;font-size:14px;line-height:1.5;color:#444}
.karta-foto{margin:0 27px 14px 7px;aspect-ratio:4/5;background:#e9e9e9;overflow:hidden}
.karta-foto img{width:100%;height:100%;object-fit:cover}
.karta h2{font-family:var(--serif);font-style:italic;font-weight:500;font-size:22px;line-height:1.2;margin:0;padding:20px 0 14px;color:var(--text)}
.karta .cena{font-size:16px;font-weight:400;color:var(--text);margin:0 0 4px}
.karta ul{list-style:none;margin:0;padding:0 20px 0 0}
.karta > p{margin-right:20px}
.karta p{margin:0 0 1.1em}
.karta strong{font-weight:500;color:var(--text)}
/* Spodní tři nabídky: stejná pevná šířka jako čtyři karty nad nimi (max. 1712 px).
   Horní linka vede přes celou šířku (spodní okraj šedého pruhu), svislé čáry až k patičce dole. */
.balicky{border-bottom:1px solid #222}
.stranka-cenik main{padding-bottom:0}
.sluzby{display:grid;grid-template-columns:repeat(3,1fr);width:min(1712px,100% - 40px);margin:0 auto}
.sluzba{text-align:center;padding:28px 40px 140px;border-left:1px solid #222}
.sluzba:first-child{border-left:0}
.sluzba-foto{margin:12px auto 20px;width:auto;max-width:100%;height:186px;object-fit:cover;background:#e9e9e9;aspect-ratio:5/4}
.sluzba h2{font-family:var(--sans);font-weight:400;font-size:24px;margin:0 0 20px}
.sluzba p{max-width:330px;margin:0 auto;color:#555;line-height:1.55}
.sluzba .ikona{display:block;width:130px;height:auto;margin:20px auto 12px;color:#b0646a}
.sluzba-cena{font-size:17px;color:var(--text)!important;max-width:none!important;margin-bottom:24px!important}
@media (max-width:1200px){.balicky-mrizka{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){
  .balicky-mrizka{grid-template-columns:1fr;gap:24px}
  .sluzby{grid-template-columns:1fr}
  .sluzba{border-left:0;border-top:1px solid #222;padding-bottom:40px}
  .sluzba:last-child{padding-bottom:140px}
  .sluzba:first-child{border-top:0}
}

/* ===== Kontakt ===== */
/* Kontakt: údaje vlevo jsou svisle vycentrované jen vůči polím formuláře, tlačítko Odeslat je samostatně pod nimi */
.kontakt{display:grid;grid-template-columns:1fr 1.3fr;column-gap:56px;row-gap:18px}
.kontakt form{display:contents}
.kontakt address{grid-column:1;grid-row:1;align-self:center}
.kontakt .formular-pole{grid-column:2;grid-row:1}
.kontakt button[type=submit]{grid-column:2;grid-row:2}
.kontakt address{font-style:normal;line-height:1.9}
.kontakt address strong{font-weight:500}
.kontakt address a{text-decoration:none;border-bottom:1px solid var(--linka)}
.kontakt address a:hover{border-color:var(--text)}
.kontakt .socialni{justify-content:flex-start;margin-top:20px;gap:16px}
.kontakt .socialni a{border:0}
.formular-pole{display:grid;grid-template-columns:1fr 1fr;gap:18px}
form .cela,.formular-pole .cela{grid-column:1/-1}
label{display:block;font-size:14px;font-weight:400;margin-bottom:6px}
input,textarea{width:100%;font:inherit;font-weight:300;color:var(--text);background:#fff;border:0;border-bottom:1px solid #bdbdbd;padding:8px 0;border-radius:0}
textarea{min-height:140px;resize:vertical;border:1px solid #bdbdbd;padding:10px}
input:focus,textarea:focus{outline:none;border-color:var(--text)}
.past{position:absolute;left:-9999px}
button[type=submit]{grid-column:1/-1;justify-self:end;font:400 15px var(--sans);letter-spacing:.06em;background:var(--text);color:#fff;border:0;padding:13px 38px;cursor:pointer}
button[type=submit]:hover{background:#000}
.hlaseni{grid-column:1/-1;margin:0;padding:12px 16px;font-size:15px}
.hlaseni.ok{background:#eef6ee}
.hlaseni.chyba{background:#fbeeee}

/* ===== Patička: průsvitný pruh přichycený dole (jako na Wixu) ===== */
.paticka{position:fixed;left:0;right:0;bottom:0;z-index:50;text-align:center;padding:13px 20px 9px;background:rgba(236,236,236,.82);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);font-size:13px;color:#555}
.paticka p{margin:0}
.socialni{list-style:none;margin:0 0 8px;padding:0;display:flex;justify-content:center;gap:28px}
.socialni a{display:block;width:20px;height:20px;color:#000}
.socialni a:hover{opacity:.6}
.socialni svg{width:100%;height:100%;fill:currentColor}

/* ===== Mobil ===== */
@media (max-width:700px){
  body{font-size:16px}
  .hlavicka{padding-top:28px}
  .paticka{padding:8px 20px 6px}
  .menu-tlacitko{display:block;margin:20px auto 0;background:none;border:1px solid var(--linka);font:400 14px var(--sans);letter-spacing:.06em;padding:9px 22px;cursor:pointer;color:var(--text)}
  .hlavicka{padding-bottom:20px}
  .menu{margin-top:10px;display:none}
  .menu.otevreno{display:block}
  .menu ul{flex-direction:column;padding-bottom:0}
  .menu a{padding:10px}
  .menu-tlacitko{background:#fff}
  .kontakt{grid-template-columns:1fr;row-gap:24px}
  .kontakt address{margin-bottom:16px}
  .kontakt address,.kontakt .formular-pole,.kontakt button[type=submit]{grid-column:1;grid-row:auto}
  .formular-pole{grid-template-columns:1fr}
  button[type=submit]{justify-self:stretch}
  .lightbox img{max-width:100vw;max-height:calc(100vh - 120px)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ===== Ochrana fotek: nejde je označit, přetáhnout ani uložit podržením prstu; při tisku se fotky nevytisknou ===== */
img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.galerie,.lightbox{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
@media print{
  .galerie,.lightbox,.karta-foto,.sluzba-foto,.cenik-hlava-foto{display:none!important}
  body::after{content:"Fotografie © Barbora Olivová photography – tisk není povolen.";display:block;text-align:center;padding:40px;font-size:14px}
}
