/* Pizza Excellent — vzhled převzatý z původní šablony Divi, napsaný znovu bez knihoven.
   Zlomy jako v Divi: do 980 px mobilní menu, do 767 px jeden sloupec, od 1350 px větší odsazení. */

/* Proměnná písma oříznutá na latinku a češtinu (Latin-1, Latin Extended-A, interpunkce). */
@font-face{font-family:'Alegreya';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/alegreya.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/open-sans.woff2) format('woff2')}

:root{
	--cervena:#9a1b19;
	--cervena-svetla:#e5605b; /* červená čitelná na tmavé patičce */
	--zluta:#f6cb75;
	--seda:#e9e9e9;
	--text:#666;
	--nadpis:#333;
	--linka:#eee;
	--paticka:#222;
	--paticka-text:#999;
	--pismo:'Open Sans',Arial,sans-serif;
	--nadpisy:'Alegreya',Georgia,'Times New Roman',serif;
	--hlavicka:109px;
	--hlavicka-mala:59px;
	--sekce:50px;
	--radek:30px;
}
@media (min-width:1350px){:root{--sekce:54px;--radek:27px}}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--text);font:400 14px/1.7 var(--pismo);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,.nabidka-hlava p{margin:0;padding-bottom:10px;color:var(--nadpis);font-family:var(--nadpisy);font-weight:400;line-height:1;overflow-wrap:break-word}
p{margin:0 0 1em}
a{color:var(--cervena);text-decoration:none}
a:hover{text-decoration:underline}
strong{font-weight:700}
img{max-width:100%;height:auto}
svg{display:block;fill:currentColor}
address{font-style:normal}
:focus-visible{outline:2px solid var(--cervena);outline-offset:2px}

.kontejner{width:80%;max-width:1080px;margin:0 auto}
.skryte{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.preskocit{position:absolute;left:8px;top:-60px;z-index:200;background:#fff;padding:8px 12px}
.preskocit:focus{top:8px}

/* ---------- Hlavička ---------- */
.hlavicka{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--seda);transition:box-shadow .4s}
.hlavicka .kontejner{display:flex;align-items:center;justify-content:space-between;height:var(--hlavicka);transition:height .4s}
.logo{display:block;height:100%}
.logo img{display:block;width:auto;height:100%}
.menu{display:flex;align-items:center;gap:22px;margin:0;padding:0;list-style:none}
.menu a{display:block;color:var(--cervena);font:700 19px/1 var(--nadpisy);text-transform:uppercase;transition:opacity .4s}
.menu a:hover{opacity:.7;text-decoration:none}
.menu .fb svg{width:11px;height:19px}
.menu-tlacitko{display:none;width:32px;height:32px;padding:0;border:0;background:none;color:var(--cervena);cursor:pointer}
.menu-tlacitko svg{width:32px;height:32px}
.menu-tlacitko[aria-expanded="false"] .zavrit,.menu-tlacitko[aria-expanded="true"] .otevrit{display:none}
main{padding-top:var(--hlavicka)}

/* ---------- Tlačítka ---------- */
.tlacitko{display:inline-block;padding:.3em 1em;background:var(--cervena);color:#fff;font:700 25px/1.7 var(--nadpisy);transition:background .3s}
.tlacitko:hover,a:hover>.tlacitko{background:var(--zluta);color:var(--nadpis);text-decoration:none}

/* ---------- Úvod ---------- */
.uvod{background:var(--seda)}
.uvod .kontejner{display:grid;grid-template-columns:1fr 1fr;column-gap:5.5%;align-items:center;padding:var(--radek) 0}
.uvod-obrazek{display:block;width:100%}
.uvod h1{font-size:min(55px,14vw);font-weight:700}
.uvod-text p,.karta p{margin:0 0 29.7px}
.uvod-text p:last-child{margin-bottom:0}

/* ---------- Nabídka ---------- */
.sekce{padding:var(--sekce) 0}
.nabidka-hlava{padding:var(--radek) 0;text-align:center}
.nabidka-hlava h2{font-size:45px;font-weight:700}
.nabidka-hlava p{font-size:26px}
.karty{display:grid;grid-template-columns:repeat(4,1fr);column-gap:5.5%;row-gap:30px;margin:0;padding:var(--radek) 0;list-style:none}
.karta{display:flex;flex-direction:column;align-items:center;text-align:center}
.karta img{display:block;width:150px;height:150px;margin-bottom:7px;transition:opacity 1s,transform 1s}
.karta.skryta img{opacity:0;transform:translateY(-60px)}
.karta h3{font-size:32px;font-weight:700;text-transform:uppercase}
.karta .tlacitko{margin-top:auto}

/* ---------- Kontakty ---------- */
.kontakt{background:var(--seda)}
.kontakt .kontejner{display:grid;grid-template-columns:repeat(3,1fr);column-gap:5.5%;align-items:start;padding:var(--radek) 0}
.kontakt h2{margin-bottom:10px;font-size:min(50px,14vw);font-weight:700}
.info{margin:0 0 20px;color:var(--nadpis);font:400 20px/1 var(--nadpisy)}
.info a{color:inherit}
.info:last-child{margin-bottom:10px}
.hodiny{width:100%;margin-bottom:15px;border-collapse:collapse;border-top:1px solid var(--linka);border-bottom:1px solid var(--linka)}
.hodiny th,.hodiny td{padding:9px 24px 19px;color:var(--nadpis);font:400 18px/1 var(--nadpisy);text-align:left}
.hodiny td{border-top:1px solid var(--linka)}
.kontakt-obrazek{display:block;width:100%;margin-top:20px}

/* ---------- Mapa ---------- */
.mapa{position:relative;background:var(--seda)}
.mapa img{display:block;width:100%;height:380px;object-fit:cover}
.mapa a:hover{text-decoration:none}
.mapa-odkaz{position:absolute;left:20px;bottom:20px;font-size:18px}
.mapa-zdroj{position:absolute;right:0;bottom:0;padding:0 5px;background:rgba(255,255,255,.8);color:var(--nadpis);font-size:11px}
.mapa-zdroj a{color:inherit}

/* ---------- Patička ---------- */
.paticka{background:var(--paticka);color:#fff}
.paticka a{color:inherit}
.paticka-widgety{display:grid;grid-template-columns:repeat(3,1fr);column-gap:5.5%;padding:65px 0 59px}
.paticka-widgety p{margin:0 0 14px}
.paticka h2{color:var(--cervena-svetla);font-size:26px;font-weight:700}
.paticka ul{margin:0;padding:0;list-style:none}
.paticka li{position:relative;margin-bottom:7px;padding-left:14px}
.paticka li::before{content:"";position:absolute;top:9px;left:0;border:3px solid var(--cervena);border-radius:3px}
.karty-platba img{vertical-align:middle}
.paticka-spodek{padding:15px 0 5px;background:rgba(0,0,0,.32);color:var(--paticka-text)}
.paticka-spodek .kontejner{display:flex;justify-content:space-between;align-items:flex-start}
.copyright{margin:0;padding-bottom:10px}
.socialni{display:block;width:24px;height:25px;transition:color .3s}
.socialni:hover{color:var(--cervena-svetla)}
.socialni svg{width:24px;height:24px}

/* ---------- Podstránky ---------- */
.stranka .kontejner{padding:58px 0 23px}
.stranka h1,.stranka h2{font-size:30px}
.stranka h1{margin-bottom:20px}
.stranka h2{padding-top:10px}
.stranka h3{font-size:22px}
.stranka ul{margin:0;padding:0 0 23px 14px;line-height:26px}

/* ---------- Okno s akcí (nativní <dialog>; prolnutí jen v prohlížečích s @starting-style) ---------- */
.akce{position:fixed;inset:0;width:auto;height:auto;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow-y:auto;background:rgba(0,0,0,.6);opacity:0;transition:opacity .35s,overlay .35s allow-discrete,display .35s allow-discrete}
.akce[open]{opacity:1}
.akce:not([open]){pointer-events:none}
@starting-style{.akce[open]{opacity:0}}
.akce::backdrop{background:none}
html:has(.akce[open]){overflow:hidden}
.akce-okno{position:relative;width:60%;margin:100px auto 40px;padding:18px;background:#fff;border:8px solid #000;border-radius:3px;box-shadow:0 0 30px #020202;color:#000;font-size:16px;font-weight:300;line-height:1.375}
.akce-okno h2{padding:0;margin:0 0 1em;color:#000;font:inherit}
.akce-okno p:last-of-type{margin-bottom:0}
.akce-zavrit{position:absolute;top:-13px;right:-13px;width:26px;height:26px;padding:0;border:2px solid #fff;border-radius:26px;background:#000;color:#fff;font:100 24px/20px Arial,sans-serif;box-shadow:0 0 15px 1px rgba(2,2,2,.75);cursor:pointer}
.akce-zavrit:focus-visible{outline-color:#fff}

/* ---------- Tablet a mobil ---------- */
@media (max-width:1023px){.akce-okno{width:95%}}
@media (min-width:981px){
	.hlavicka.zmensena{box-shadow:0 0 7px rgba(0,0,0,.1)}
	.hlavicka.zmensena .kontejner{height:var(--hlavicka-mala)}
	main [id]{scroll-margin-top:var(--hlavicka-mala)}
}
@media not all and (min-width:981px){
	:root{--hlavicka:80px}
	.hlavicka{position:absolute}
	.hlavicka .kontejner{position:relative}
	.logo{height:43px}
	.menu-tlacitko{display:block}
	.menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:5%;background:var(--seda);border-top:3px solid var(--cervena);box-shadow:0 2px 5px rgba(0,0,0,.1)}
	.menu-tlacitko[aria-expanded="true"] + .menu{display:flex}
	.menu a{padding:10px 5%;border-bottom:1px solid rgba(0,0,0,.03);color:#000;font-size:14px;line-height:23px;text-transform:none}
	.menu .fb svg{width:8px;height:23px}
	.uvod .kontejner,.kontakt .kontejner{grid-template-columns:1fr;row-gap:30px}
	.karty{grid-template-columns:repeat(2,1fr)}
	.paticka-widgety{grid-template-columns:repeat(2,1fr);column-gap:7.5%;padding:57px 0}
	.paticka h2{font-size:18px}
}
@media (max-width:767px){
	.karty{grid-template-columns:1fr}
	.mapa img{height:auto}
	.mapa-odkaz{left:12px;bottom:12px;font-size:16px}
	.paticka-widgety{grid-template-columns:1fr;row-gap:34.5px;padding:36px 0}
	.paticka-spodek .kontejner{flex-direction:column-reverse;align-items:center;text-align:center}
	.socialni{margin-bottom:5px}
}

@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{transition:none!important}
	.karta.skryta img{opacity:1;transform:none}
}
