/* Galimar product studio. Existing photos and a locally hosted product-video pilot. */
body .food-video-stage{position:relative}
body .food-video-stage>img{animation:none!important}
body .food-video-stage>.food-product-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;pointer-events:none;z-index:1;transition:opacity .18s ease}
body .food-video-stage.food-video-playing>.food-product-video{opacity:1}
@media(prefers-reduced-motion:reduce){body .food-video-stage>.food-product-video{display:none}}
:root{--studio-cream:#f8efdf;--studio-gold:#edbd6b;--studio-line:rgba(237,189,107,.2);--studio-panel:#211c16}
.product-studio{max-width:1240px;margin-inline:auto;padding-bottom:24px}
.studio-back{display:inline-flex;align-items:center;gap:12px;margin:0 0 28px;color:#cfc1aa;font-size:.82rem;text-decoration:none}
.studio-back:hover{color:var(--studio-gold)}
.studio-back>span{font-size:1.4rem}
.product-studio .detail-hlava{grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);gap:clamp(28px,5vw,76px);align-items:center;margin-bottom:48px}
.studio-visual{min-width:0;position:relative;border-radius:26px;background:#eeeae5;box-shadow:0 24px 65px #0003;overflow:hidden;isolation:isolate}
.studio-photo-label{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px 26px 0;color:#655749;font-size:.63rem;letter-spacing:.11em;font-weight:750;text-transform:uppercase}
.studio-photo-label>span:last-child{white-space:nowrap}
.product-studio .detail-media,.product-studio .detail-media.original-foto{aspect-ratio:1.2;height:auto!important;min-height:0;border:0;border-radius:0;background:transparent;overflow:hidden;position:relative;margin:0}
.product-studio .detail-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.detail-media.is-empty,.karta-media.is-empty,.hp-foto.is-empty{background:radial-gradient(circle at 50% 42%,#f7f0e4 0 21%,#dfd4c4 21.4% 22%,#f4ebdf 22.4% 27%,#d4c7b5 27.4% 28%,#e8dfd1 28.4% 100%)!important}
.detail-media.is-empty::after,.karta-media.is-empty::after,.hp-foto.is-empty::after{background:none;color:#5a4630;align-items:flex-end;padding:20px 24px;font-size:.9rem;line-height:1.5}
.studio-photo-missing{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-bottom:10%;color:#7d6548;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;font-weight:650}
.studio-photo-bottom{position:relative;z-index:2;display:flex;gap:14px;align-items:center;justify-content:space-between;padding:20px 26px;color:#4e4034;background:#e9e2d7;border-top:1px solid #d7cbbb}
.studio-photo-bottom>span{font-size:.86rem;font-weight:650}
.studio-motion-toggle{display:inline-flex;gap:6px;align-items:center;justify-content:center;min-height:36px;padding:7px 10px;border:1px solid currentColor;border-radius:30px;background:transparent;color:inherit;font:inherit;font-size:.68rem;cursor:pointer;white-space:nowrap}
.studio-motion-toggle::before{content:'Ⅱ';font-weight:800}
.studio-motion-toggle[aria-pressed=true]::before{content:'▷'}
.studio-motion-toggle:focus-visible{outline:3px solid #ad652b;outline-offset:4px}
.studio-motion-toggle[hidden]{display:none}
.pata .studio-motion-toggle{margin:18px auto 0;color:#d8c6a6}
.product-studio .detail-info{gap:0;min-width:0;text-align:left}
.product-studio .detail-typ{color:var(--studio-gold);font-size:.66rem;font-weight:750;letter-spacing:.17em;text-transform:uppercase;margin:0 0 18px}
.product-studio .detail-nazov{font-family:var(--pismo-nadpis);font-size:clamp(2.3rem,3.7vw,3.75rem);line-height:1.04;letter-spacing:-.055em;text-wrap:balance;color:var(--studio-cream);margin:0 0 24px;max-width:16ch}
.product-studio .detail-cena{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:0 0 18px;color:var(--studio-gold);font-size:2rem;font-weight:750;letter-spacing:-.04em}
.product-studio .detail-gramaz{border-left:1px solid #75654c;padding-left:14px;font-size:.86rem;font-weight:450;color:#cbbda5;letter-spacing:0}
.product-studio .detail-zaloha{font-size:.72rem;letter-spacing:0;font-weight:450;flex-basis:100%;order:2}
.product-studio .detail-znacky{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;list-style:none;padding:0;margin:0 0 18px}
.product-studio .detail-znacky li{border:1px solid var(--studio-line);background:transparent;color:#d8c7ab;font-size:.7rem;border-radius:30px;padding:5px 10px}
.product-studio .zlozenie{margin:0 0 16px;padding:0;border:0;background:none;text-align:left}
.product-studio .zlozenie h2{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:#bbaa8f;margin:0 0 8px}
.product-studio .zlozenie>p{font-size:.92rem;line-height:1.75;color:#dfd1ba;margin:0;max-width:52ch}
.product-studio .zlozenie .zlozenie-gramaz{display:none}
.product-studio .detail-uprava{font-size:.78rem;line-height:1.65;margin:0 0 18px;color:#ae9f88}
.product-studio .detail-info>.ponuka-menu-link{min-height:0;padding:17px 20px;margin:0 0 18px;border:1px solid #776044;border-radius:14px;background:linear-gradient(115deg,#382b1d,#252017);color:#f4d5a0;font-size:1rem;box-shadow:none}
.product-studio .detail-info>.ponuka-menu-link span{font-size:.72rem;line-height:1.6;margin-top:3px}
.product-studio .detail-akcie{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.product-studio .detail-akcie>.cta{min-height:50px;border-radius:12px;justify-content:center;text-align:center;font-size:.88rem;padding:14px 18px;flex:1 1 auto}
.product-studio .detail-akcie>button:first-child{background:var(--studio-gold);color:#21190f;border:1px solid var(--studio-gold);font-weight:750;box-shadow:0 6px 25px #0002}
.product-studio .detail-akcie>button+button{background:transparent;color:var(--studio-cream);border:1px solid #68543b}
.product-studio .detail-akcie>a.cta{background:transparent;border:0;box-shadow:none;color:#baab91;font-size:.7rem;min-height:36px;padding:7px 0;flex:1 1 40%;text-decoration:underline;text-underline-offset:4px}
.product-studio .detail-aktual{font-size:.63rem;color:#938570;margin:12px 0 0}
.product-studio .omrvinky-spodne{margin:0 0 28px;padding:20px 0;border-block:1px solid var(--studio-line);font-size:.75rem;line-height:1.8}
.studio-information{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start}
.product-studio .studio-information>.detail-blok{margin:0;padding:28px;border:1px solid var(--studio-line);border-radius:20px;background:linear-gradient(145deg,#231e17,#1a1712);min-width:0}
.studio-information h2,.studio-information h3{font-size:1.1rem;color:var(--studio-cream);margin:0 0 20px}
.studio-information p{font-size:.79rem;line-height:1.7;color:#c6b69a}
.studio-information .vyziva-tabulka{width:100%;margin-top:12px;font-size:.82rem;background:transparent;border:0;border-collapse:collapse}
.studio-information .vyziva-tabulka th,.studio-information .vyziva-tabulka td{padding:10px 0;border-bottom:1px solid var(--studio-line);background:transparent}
.studio-information .vyziva-tabulka th{font-weight:450;text-align:left}
.studio-information .vyziva-tabulka td{text-align:right;padding-left:14px;color:var(--studio-cream);font-variant-numeric:tabular-nums}
.studio-information .vyziva-tabulka tr:first-child th,.studio-information .vyziva-tabulka tr:first-child td{font-size:.96rem;font-weight:700;color:var(--studio-gold)}
.studio-information .vyziva-vyhrada,.studio-information .vyziva-tepelna{font-size:.69rem;line-height:1.65}
.studio-service-strip{display:grid;grid-template-columns:1fr 1fr auto;gap:24px;align-items:center;padding:32px 0;margin-top:36px;border-top:1px solid var(--studio-line)}
.studio-service-strip>div{display:flex;align-items:center;gap:14px}
.studio-service-strip strong,.studio-service-strip div div>span{display:block}
.studio-service-strip strong{font-size:.85rem;color:var(--studio-cream);margin-bottom:4px}
.studio-service-strip div div>span{font-size:.73rem;color:#b9a78b}
.studio-service-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--studio-line);color:var(--studio-gold);font-size:1.3rem;flex-shrink:0}
.studio-service-strip>a{font-size:.8rem;color:var(--studio-gold);text-decoration:none;display:flex;gap:24px;align-items:center}
/* The same photographic language in every place where dishes are selected. */
.karta,.hp-karta{border:1px solid var(--studio-line);border-radius:20px;overflow:hidden;background:linear-gradient(145deg,#272018,#1c1813);box-shadow:0 12px 36px #0002;transition:border-color .2s ease,box-shadow .2s ease}
.karta:hover,.hp-karta:hover{border-color:#947047;box-shadow:0 18px 40px #0004}
.karta .karta-media,.hp-karta .hp-foto{border-radius:0;border:0;background:#eee9e1}
.karta .karta-telo,.hp-karta .hp-karta-telo{padding:22px;gap:8px;text-align:left}
.karta .karta-typ,.hp-karta .hp-karta-kicker{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--studio-gold)}
.karta .karta-nazov,.hp-karta .hp-karta-nazov{font-size:1.27rem;line-height:1.2;letter-spacing:-.035em;color:var(--studio-cream);margin:3px 0 10px}
.karta .karta-cena,.hp-karta .hp-karta-cena{font-size:1.32rem;color:var(--studio-gold);letter-spacing:-.04em}
.karta .karta-pridaj{min-height:44px;border-radius:10px;background:var(--studio-gold);color:#231b10;border:1px solid var(--studio-gold);font-weight:700}
.karta .ponuka-menu-link,.hp-karta>.ponuka-menu-link{min-height:0;border-radius:12px;background:#33291d;border:1px solid #635034;padding:15px;text-align:left;font-size:.85rem}
.karta .ponuka-menu-link>span,.hp-karta>.ponuka-menu-link>span{font-size:.7rem;line-height:1.5}
.hp-karta .hp-karta-popis{font-size:.8rem;color:#cbbb9f;line-height:1.7}
.hp-karta .hp-karta-telo{min-height:235px}
.karta .karta-pata{margin-top:auto}
.quick-photo-stage{position:relative;isolation:isolate;overflow:hidden;width:100%;aspect-ratio:2.25;border-radius:16px;background:#eee9e1;margin:18px 0 24px}
.quick-photo-stage .quick-product-photo{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;border-radius:0;margin:0;background:none}
.galimar-vyber{border:1px solid #78603d;border-radius:24px;background:#1d1913;color:var(--studio-cream);box-shadow:0 32px 100px #0009}
.galimar-vyber::backdrop{background:#090704c9;backdrop-filter:blur(7px)}
.galimar-vyber>.detail-nazov,.galimar-vyber>#vyber-nazov{font-size:clamp(1.65rem,3vw,2.3rem);letter-spacing:-.045em;line-height:1.1;margin:14px 0 20px;max-width:23ch;text-wrap:balance}
.galimar-vyber .vyber-add{border-radius:12px;background:var(--studio-gold);color:#20180f;min-height:52px;font-weight:750}
.galimar-vyber .ingredient-chips{gap:7px}
.galimar-vyber .ingredient-chips li{border-radius:10px;background:#29231a}
.galimar-vyber .vyber-close{min-height:40px;border-radius:24px}
/* Fixed frames; the image always covers the frame at every point of its loop. */
.food-motion{overflow:hidden;isolation:isolate}
.food-motion>img{transform:scale(1.12)!important;transform-origin:center;animation-duration:9s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-play-state:paused}
.food-motion[data-food-motion=lift]>img{animation-name:studio-lift}
.food-motion[data-food-motion=tilt]>img{animation-name:studio-tilt;animation-duration:12s}
.food-motion[data-food-motion=glide]>img{animation-name:studio-glide;animation-duration:11s}
.food-motion[data-food-motion=breathe]>img{animation-name:studio-breathe;animation-duration:13s}
.food-motion.is-in-view>img{animation-play-state:running}
.product-studio .detail-media.food-motion>img{transform:scale(1.12)!important}
.food-portrait>img,.product-studio .detail-media.food-portrait>img{object-fit:cover!important;padding:0;transform:scale(1)!important;object-position:center 53%;mix-blend-mode:normal}
.food-full-meal>img,.product-studio .detail-media.food-full-meal>img{transform:scale(1)!important;object-fit:cover;object-position:center}
.food-motion.food-portrait>img,.food-motion.food-full-meal>img,.food-motion.food-drink>img{animation-name:studio-contained-zoom}
.food-drink>img,.product-studio .detail-media.food-drink>img{object-fit:contain!important;padding:18px;transform:scale(1)!important;mix-blend-mode:multiply}
.food-drink{background:#fff!important}
.obj-foto.food-drink>img{padding:4px}
/* Override the older card hover rules as well as the normal photo rules.
   A 12% overscan covers the full frame at +/-2.5% travel and +/-1deg rotation. */
.food-motion{--photo-overscan:1.12}
.food-motion.food-portrait,.food-motion.food-full-meal,.food-motion.food-drink{--photo-overscan:1}
:root body .hp-karta .hp-foto.food-motion>img,
:root body .karta .karta-media.food-motion>img,
:root body .product-studio .detail-media.food-motion>img,
:root body .quick-photo-stage.food-motion>img,
:root body .obj-foto.food-motion>img{transform:scale(var(--photo-overscan))!important;transition:none!important}
.product-studio .detail-media.food-full-meal{aspect-ratio:4/3!important}
html.food-motion-paused .food-motion>img,html.food-motion-hidden .food-motion>img{animation-play-state:paused!important}
body:has(dialog[open]) .food-motion>img{animation-play-state:paused}
body:has(dialog[open]) dialog[open] .food-motion.is-in-view>img{animation-play-state:running}
@keyframes studio-lift{0%,100%{translate:0 2.5%;rotate:0deg}50%{translate:0 -2.5%;rotate:0deg}}
@keyframes studio-tilt{0%,100%{rotate:-1deg;scale:1}50%{rotate:1deg;scale:1.025}}
@keyframes studio-glide{0%,100%{translate:-2.5% 0;rotate:0deg}50%{translate:2.5% 0;rotate:0deg}}
@keyframes studio-breathe{0%,100%{scale:1;translate:0 0}50%{scale:1.065;translate:0 0}}
@keyframes studio-contained-zoom{0%,100%{scale:1;translate:0 0;rotate:0deg}50%{scale:1.025;translate:0 0;rotate:0deg}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .karta:hover .food-motion>img,.hp-karta:hover .food-motion>img{transform:scale(1.12)!important;transition:transform .65s ease!important}
 .karta:hover .food-portrait>img,.hp-karta:hover .food-portrait>img,.karta:hover .food-full-meal>img,.hp-karta:hover .food-full-meal>img{transform:scale(1)!important}
}
@media(max-width:900px){
 .product-studio .detail-hlava{gap:28px}
 .product-studio .detail-nazov{font-size:2.35rem}
 .studio-photo-label{padding:18px 18px 0;font-size:.55rem}
 .studio-photo-bottom{padding:16px;flex-wrap:wrap}
 .studio-service-strip{grid-template-columns:1fr 1fr}
 .studio-service-strip>a{grid-column:1/-1;justify-content:center}
}
@media(max-width:760px){
 .product-studio .detail-hlava{grid-template-columns:1fr;gap:30px;margin-bottom:30px}
 .studio-back{margin-bottom:18px;font-size:.75rem}
 .studio-visual{border-radius:20px}
 .product-studio .detail-media,.product-studio .detail-media.original-foto{aspect-ratio:1.35}
 .studio-photo-label{padding:20px 20px 0}
 .studio-photo-bottom{padding:14px 18px;flex-wrap:nowrap}
 .studio-photo-bottom>span{font-size:.76rem}
 .product-studio .detail-info{text-align:center;align-items:center}
 .product-studio .detail-typ{margin-bottom:14px}
 .product-studio .detail-nazov{font-size:clamp(2.05rem,7.6vw,3rem);max-width:19ch;margin-bottom:18px}
 .product-studio .detail-cena{justify-content:center;font-size:1.9rem}
 .product-studio .detail-znacky{justify-content:center}
 .product-studio .zlozenie{text-align:center}
 .product-studio .zlozenie>p{font-size:.86rem}
 .product-studio .detail-uprava{max-width:45ch}
 .product-studio .detail-info>.ponuka-menu-link,.product-studio .detail-akcie{width:100%}
 .product-studio .detail-info>.ponuka-menu-link{text-align:center}
 .product-studio .detail-akcie>button{flex:1 1 43%;font-size:.8rem;padding:14px 10px}
 .studio-information{grid-template-columns:1fr;gap:16px}
 .product-studio .studio-information>.detail-blok{padding:22px 20px;border-radius:16px}
 .studio-service-strip{gap:20px 14px;padding:26px 0;margin-top:26px}
 .studio-service-strip>div{flex-direction:column;text-align:center;gap:10px}
 .studio-service-strip strong{font-size:.78rem}
 .studio-service-strip div div>span{font-size:.67rem}
 .quick-photo-stage{aspect-ratio:1.85;margin:14px 0 20px}
 .galimar-vyber{border-radius:20px}
 .food-motion>img{animation-duration:9s!important}
}
@media(prefers-reduced-motion:reduce){
 .food-motion>img{animation:none!important;transform:none!important;transition:none!important}
 .studio-motion-toggle{display:none!important}
 .karta,.hp-karta{transition:none}
}
/* The food moves inside the video; the photograph and its frame stay still. */
:root body .food-motion>img{animation:none!important;translate:none!important;rotate:none!important;scale:none!important}
:root body .food-video-stage{aspect-ratio:16/9!important;height:auto!important;min-height:0!important;position:relative;overflow:hidden}
:root body .food-video-stage>.food-product-video{object-fit:contain;object-position:center;transform:none!important}
:root body .food-video-stage.food-video-playing>img{opacity:0}
@media(prefers-reduced-motion:reduce){:root body .food-video-stage.food-video-playing>img{opacity:1}}
