/* Pizza Fantasia – základ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#1B1714;background:#FBF6EC;font-size:16px;line-height:1.6}
img{max-width:100%;height:auto}
a{color:#1B1714}a:hover{color:#B3231A}
[hidden]{display:none!important}
.site{overflow-x:hidden}
.skip-link{position:absolute;left:-9999px;top:8px;background:#F6B33C;color:#1B1714;padding:10px 16px;border-radius:8px;z-index:100;font-weight:600}
.skip-link:focus{left:8px}
:focus-visible{outline:2px solid #F6B33C;outline-offset:2px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* Menu z administrácie */
.site-nav{display:flex;flex-wrap:wrap;gap:4px 36px;font-weight:500;font-size:16px}
.site-nav .nav-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 36px}
.site-nav a{color:#FBF6EC;text-decoration:none;padding:12px 0;display:inline-block}
.site-nav a:hover,.site-nav .current-menu-item>a{color:#F6B33C}
.footer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.footer-list a{color:#FBF6EC;padding:6px 0;display:inline-block}

/* Stav otvorenia */
.status-dot.is-closed{background:#E07A3A!important;animation:none!important}

/* Nadpis bežnej stránky */
.page-band{max-width:1200px;margin:0 auto;padding:56px 24px 8px;display:flex;flex-direction:column;gap:10px}
.page-band h1{margin:0;font-family:Oswald,sans-serif;font-weight:700;font-size:clamp(40px,5vw,64px);line-height:1.18;text-transform:uppercase}
.page-band p{margin:0;font-size:18px;color:#3A322C;max-width:640px}

/* Obsah bežnej stránky */
.entry{max-width:1200px;margin:0 auto;padding:24px 24px 96px;font-size:17px;color:#3A322C}
.entry>h2,.entry>h3,.entry>p,.entry>ul,.entry>ol{max-width:760px}
.entry>h2{font-family:Oswald,sans-serif;font-weight:600;font-size:30px;text-transform:uppercase;line-height:1.2;margin:40px 0 12px;color:#1B1714}
.entry>h3{font-size:19px;font-weight:600;margin:24px 0 6px;color:#1B1714}
.entry>p{margin:0 0 14px}
.entry>ul,.entry>ol{margin:0 0 16px;padding-left:22px}
.entry li{margin:0 0 8px}
.entry>p a,.entry li a{color:#B3231A;font-weight:600}
.entry .note{background:#FDEFCF;border-radius:14px;padding:14px 18px;font-size:15px}
.entry .actions{display:flex;flex-wrap:wrap;gap:12px}
.post-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.post-card{background:#fff;border-radius:24px;padding:28px;box-shadow:0 6px 24px rgba(27,23,20,.06)}
.post-card h2{font-family:Oswald,sans-serif;font-size:24px;text-transform:uppercase;line-height:1.2;margin:4px 0 8px}
.post-card h2 a{text-decoration:none}
.post-date{font-size:13px;color:#5C5248}

/* Tlačidlá */
.btn-red,.btn-line,.btn-dark{border-radius:999px;padding:0 28px;min-height:52px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:600;font-size:16px;font-family:inherit;cursor:pointer;border:0}
.btn-red{background:#D63A26;color:#fff}.btn-red:hover{color:#fff}
.btn-dark{background:#1B1714;color:#FBF6EC}.btn-dark:hover{color:#F6B33C}
.btn-line{border:1px solid #1B1714;background:transparent;color:#1B1714}
.btn-red:disabled{opacity:.45;cursor:not-allowed}

/* Formuláre – správy */
.form-msg{background:#E4F4E7;color:#1B4D25;border-radius:14px;padding:14px 18px;font-size:15px;font-weight:500}
.form-msg.is-error{background:#FBE3DF;color:#8E1B14}

/* Chipy (skladanie pizze, kategórie) */
.chip{background:#fff;color:#1B1714;border:1px solid #D9CDB8}
.chip[aria-pressed="true"],.chip[aria-selected="true"]{background:#1B1714;color:#FBF6EC;border-color:#1B1714}
.chip:disabled{opacity:.4;cursor:not-allowed}
.chip:disabled:hover{transform:none}
[data-base]{border:2px solid #D9CDB8;background:#fff;color:#1B1714}
[data-base][aria-pressed="true"]{border-color:#D63A26;background:#FDEFCF;color:#1B1714}

/* Jedálny lístok – skratka [fantasia_menu] */
.fm-tabs{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:40px}
.fm-tab{min-height:48px;padding:0 22px;border-radius:999px;font-family:Inter,sans-serif;font-weight:600;font-size:16px;cursor:pointer}
.fm-title{margin:0 0 8px;font-family:Oswald,sans-serif;font-weight:700;font-size:36px;text-transform:uppercase;color:#1B1714}
.fm-title span{color:#B3231A}
.fm-list{display:flex;flex-wrap:wrap;column-gap:48px}
.fm-bottom{display:flex;flex-wrap:wrap;gap:24px;padding-top:56px}
.fm-card{flex:2 1 420px;min-width:0;background:#fff;border-radius:24px;padding:32px;box-shadow:0 6px 24px rgba(27,23,20,.06)}
.fm-card h2,.fm-dark h2{margin:0 0 12px;font-family:Oswald,sans-serif;font-weight:600;font-size:24px;text-transform:uppercase}
.fm-card ol{margin:0;padding-left:22px;font-size:14px;color:#3A322C}
.fm-card li{margin:0 0 4px}
.fm-dark{flex:1 1 300px;min-width:0;background:#1B1714;color:#FBF6EC;border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.fm-dark h2{color:#F6B33C;font-size:28px;margin:0}
.fm-dark p{margin:0}
.fm-small{font-size:14px;color:#E3D9C8}
.fm-cta{background:#F6B33C;color:#1B1714;border-radius:999px;padding:0 28px;min-height:52px;display:inline-flex;align-items:center;text-decoration:none;font-weight:600}
.fm-cta:hover{color:#1B1714}

/* Košík */
.cart{background:#fff;border-radius:24px;padding:32px;box-shadow:0 6px 24px rgba(27,23,20,.06);max-width:760px;display:flex;flex-direction:column;gap:16px}
.cart h2{margin:0;font-family:Oswald,sans-serif;font-weight:600;font-size:30px;text-transform:uppercase;color:#1B1714}
.cart-row{display:flex;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #E9DFCC}
.cart-name{flex:1 1 auto;min-width:0;font-weight:600;color:#1B1714}
.cart-name small{display:block;font-weight:400;color:#5C5248}
.cart-qty{display:flex;align-items:center;gap:6px}
.cart-qty button,.cart-del{width:44px;height:44px;border-radius:50%;border:1px solid #D9CDB8;background:#fff;font-size:18px;cursor:pointer;color:#1B1714}
.cart-del{border:0;font-size:14px;width:auto;padding:0 8px;border-radius:8px;color:#B3231A;text-decoration:underline}
.cart-price{flex:0 0 90px;text-align:right;font-family:Oswald,sans-serif;font-weight:600;font-size:20px;color:#1B1714}
.cart-sum{display:flex;flex-direction:column;gap:6px;font-size:15px}
.cart-sum div{display:flex;justify-content:space-between;gap:16px}
.cart-sum .total{font-size:18px;font-weight:600;color:#1B1714}
.cart-note{font-size:14px;color:#5C5248;margin:0}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#1B1714;color:#FBF6EC;padding:14px 22px;border-radius:999px;font-weight:600;font-size:15px;box-shadow:0 12px 30px rgba(0,0,0,.25);opacity:0;transition:opacity .25s,transform .25s;z-index:50;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media (max-width:640px){
.cart-row{flex-wrap:wrap}
.cart-price{flex-basis:auto}
}

/* --- Prevzaté z návrhu --- */
a{color:#1B1714}a:hover{color:#B3231A}
.pz-pop,.pz-drop,.sc-pop,.sc-drop{transform-box:fill-box;transform-origin:center}
@keyframes pzPop{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes pzDrop{0%{transform:translateY(-240px) rotate(-50deg) scale(1.5);opacity:0}70%{transform:translateY(6px) rotate(4deg) scale(.96);opacity:1}100%{transform:none;opacity:1}}
.sc-fade{transform-box:fill-box;transform-origin:center}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.pc{transform-box:fill-box;transform-origin:center;opacity:0;transform:translate(var(--dx),-320px) rotate(-80deg) scale(1.9);transition:transform .75s cubic-bezier(.3,1.35,.5,1),opacity .2s ease-out}
.on .pc{opacity:1;transform:none}
.bs{transform-box:fill-box;transform-origin:center;opacity:0;transform:scale(.04) rotate(-220deg);transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity .35s ease-out;will-change:transform,opacity}
.bs.on{opacity:1;transform:none}
.chip{transition:transform .15s ease,background-color .2s ease,color .2s ease,opacity .3s ease}
.chip:hover{transform:translateY(-2px)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(88,194,107,.75);transform:scale(1)}50%{transform:scale(1.25)}70%{box-shadow:0 0 0 10px rgba(88,194,107,0)}100%{box-shadow:0 0 0 0 rgba(88,194,107,0);transform:scale(1)}}
.pulse{animation:pulse 2s ease-out infinite}
@keyframes breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.035)}}
.breathe{animation:breathe 3.4s ease-in-out infinite}
.breathe:hover{animation-play-state:paused}
@keyframes levitate{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.levitate{animation:levitate 5s ease-in-out infinite}
@keyframes spin30{0%,90%{transform:rotate(0deg)}100%{transform:rotate(720deg)}}
.spin30{animation:spin30 30s cubic-bezier(.65,0,.35,1) infinite;will-change:transform}
@media (prefers-reduced-motion: reduce){.pulse,.breathe,.levitate,.spin30{animation:none}}
@keyframes rise{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.pz-pop{animation:pzPop .6s cubic-bezier(.2,.9,.3,1.2) backwards}
.pz-drop{animation:pzDrop .7s cubic-bezier(.3,.7,.3,1) backwards}
.fade-up{animation:fadeUp .7s ease-out backwards}
.card{transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(27,23,20,.14)}
.btn{transition:transform .15s ease}
.btn:hover{transform:translateY(-2px)}
@supports (animation-timeline: view()){
.pz-scroll{view-timeline:--pz block}
.sc-pop{animation:pzPop linear both;animation-timeline:--pz;animation-range:var(--r)}
.sc-drop{animation:pzDrop linear both;animation-timeline:--pz;animation-range:var(--r)}
.sc-fade{animation:fadeIn linear both;animation-timeline:--pz;animation-range:var(--r)}
.reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
}
@media (prefers-reduced-motion: reduce){
.pz-pop,.pz-drop,.sc-pop,.sc-drop,.sc-fade,.reveal,.fade-up{animation:none}
.card,.btn{transition:none}
.prose{max-width:760px;font-size:17px;color:#3A322C}
.prose h2{font-family:Oswald,sans-serif;font-weight:600;font-size:30px;text-transform:uppercase;line-height:1.2;margin:40px 0 12px;color:#1B1714}
.prose h3{font-size:19px;font-weight:600;margin:24px 0 6px;color:#1B1714}
.prose p{margin:0 0 14px}
.prose ul,.prose ol{margin:0 0 16px;padding-left:22px}
.prose li{margin:0 0 8px}
.prose a{color:#B3231A;font-weight:600}
.prose .note{background:#FDEFCF;border-radius:14px;padding:14px 18px;font-size:15px}
.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.field input,.field select,.field textarea{font:inherit;font-weight:400;font-size:16px;padding:13px 14px;border:1px solid #D9CDB8;border-radius:12px;background:#fff;color:#1B1714;min-height:48px;box-sizing:border-box;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #F6B33C;outline-offset:1px;border-color:#1B1714}
.mi{flex:1 1 480px;min-width:0;display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid #E9DFCC}
.mi-no{flex:0 0 44px;font-family:Oswald,sans-serif;font-weight:600;font-size:18px;color:#B3231A;padding-top:2px}
.mi-body{flex:1 1 auto;min-width:0}
.mi-name{font-family:Oswald,sans-serif;font-weight:600;font-size:22px;text-transform:uppercase;line-height:1.2}
.mi-desc{font-size:14px;color:#5C5248;margin-top:4px}
.mi-meta{font-size:13px;color:#5C5248;margin-top:4px}
.mi-buy{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.mi-price{font-family:Oswald,sans-serif;font-weight:600;font-size:22px;white-space:nowrap}
.mi-add{background:#D63A26;color:#fff;border-radius:999px;padding:0 16px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap}
.mi-add:hover{color:#fff}
.pz-pop,.pz-drop,.reveal,.fade-up{animation:none}
.pc,.bs{transform:none;transition:opacity .3s ease}
