*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4efe8;color:#2b211c;font-family:Inter,Segoe UI,Arial,sans-serif}button,a{font:inherit}.hero{min-height:100svh;position:relative;overflow:hidden;color:#fff}.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,17,12,.8),rgba(30,17,12,.25) 62%,rgba(30,17,12,.45));}.topbar{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(20px,5vw,78px)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#fff}.brand__heart{font-size:38px;color:#c43f45}.brand strong{font-family:Georgia,serif;font-size:23px}.brand small{display:block;opacity:.72;letter-spacing:.09em;text-transform:uppercase;font-size:10px}.navlinks{display:flex;gap:8px}.navlinks button,.navlinks a,.nav-toggle{border:0;background:transparent;color:#fff;cursor:pointer;padding:10px 12px}.navlinks button:hover,.navlinks a:hover{text-decoration:underline}.nav-toggle{display:none;font-size:24px}.hero__content{position:relative;z-index:2;padding:15vh clamp(20px,8vw,126px) 180px;max-width:900px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:700;margin:0 0 18px}.eyebrow.dark{color:#8a514c}.hero h1{font:700 clamp(54px,8vw,112px)/.91 Georgia,serif;margin:0 0 22px;letter-spacing:-.04em}.lead{font-size:clamp(19px,2vw,28px);max-width:620px}.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{border:0;border-radius:999px;padding:13px 20px;font-weight:700;cursor:pointer}.btn--primary{background:#b74b4f;color:#fff}.btn--ghost{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.55);color:#fff;backdrop-filter:blur(8px)}.btn--dark{background:#2b211c;color:#fff}.btn--light{background:#fff;color:#2b211c}.hero__info{position:absolute;z-index:2;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;background:rgba(25,16,12,.7);backdrop-filter:blur(8px);padding:22px clamp(20px,8vw,126px);gap:28px}.hero__info div,.hero__info a{display:flex;flex-direction:column;color:#fff;text-decoration:none}.hero__info span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.7}.hero__info strong{margin-top:5px}.section{padding:80px clamp(20px,8vw,126px)}.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.intro h2,.section-title h2,.prose h2{font:700 clamp(36px,5vw,68px)/1 Georgia,serif;margin:0}.intro__copy{font-size:21px;line-height:1.6}.text-link{border:0;background:none;padding:0;color:#8a514c;font-weight:700;cursor:pointer}.event-strip{background:#fff}.event-card{margin-top:34px;border:1px solid #ddd2c8;border-radius:24px;padding:26px;display:flex;align-items:center;justify-content:space-between;gap:24px}.event-card:not(.event-card--empty){background:#2d1f1a;color:#fff}.event-card__poster{width:110px;height:150px;object-fit:cover;border-radius:14px}.event-card__main{display:flex;align-items:center;gap:24px}.event-card__main h3{font:700 30px Georgia,serif;margin:4px 0}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tile{border:1px solid #d8cdc2;background:#f9f6f1;padding:32px;border-radius:24px;text-align:left;cursor:pointer;min-height:220px}.tile span{font-size:36px;color:#a94a4e}.tile strong{display:block;font:700 30px Georgia,serif;margin:28px 0 8px}.tile small{font-size:14px;line-height:1.5}.footer{display:grid;grid-template-columns:1fr 1fr auto;gap:30px;background:#251915;color:#fff;padding:36px clamp(20px,8vw,126px);align-items:center}.footer div{display:flex;flex-direction:column;gap:5px}.footer a{color:#fff;text-decoration:none}.gear{border:0;background:transparent;color:#fff;opacity:.45;cursor:pointer;font-size:18px}.popup{width:min(980px,94vw);max-height:88vh;border:0;border-radius:26px;padding:0;overflow:auto;box-shadow:0 30px 90px #0007}.popup::backdrop{background:#1a110fcc;backdrop-filter:blur(5px)}.popup__close{position:sticky;float:right;top:16px;right:16px;z-index:5;width:42px;height:42px;border-radius:50%;border:0;background:#2b211c;color:#fff;font-size:24px;cursor:pointer}.prose{padding:64px clamp(24px,6vw,78px)}.prose p{font-size:17px;line-height:1.7}.prose blockquote{font:italic 28px Georgia,serif;border-left:4px solid #b74b4f;margin:34px 0;padding-left:20px}.menu-grid,.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:36px}.menu-grid section,.contact-grid section{background:#f7f2ed;border-radius:18px;padding:22px}.menu h3,.contact-grid h3{font:700 22px Georgia,serif;margin-top:0}.inline-btn{display:inline-block;text-decoration:none;margin-top:20px}.event-banner{position:fixed;z-index:20;left:0;top:50%;transform:translateY(-50%);width:min(330px,88vw);background:#9d4146;color:#fff;padding:28px 24px;border-radius:0 22px 22px 0;box-shadow:0 20px 60px #0004}.event-banner small{display:block;letter-spacing:.15em;opacity:.75;margin-bottom:10px}.event-banner strong{display:block;font:700 25px Georgia,serif;margin-bottom:8px}.event-banner span{display:block;margin-bottom:18px}.event-banner__close{position:absolute;top:8px;right:10px;border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer}.admin-popup{width:min(1180px,96vw)}.admin-shell{padding:60px 28px 36px}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.admin-tabs button{border:0;border-radius:999px;padding:10px 15px;cursor:pointer}.admin-tabs button.active{background:#2b211c;color:#fff}.admin-panel{display:none}.admin-panel.active{display:block}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field input,.field textarea,.field select{padding:11px;border:1px solid #cabfb5;border-radius:10px;font:inherit}.field textarea{min-height:110px}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.admin-list{display:grid;gap:10px;margin-top:20px}.admin-item{border:1px solid #ddd2c8;border-radius:14px;padding:14px;display:flex;justify-content:space-between;gap:15px;align-items:center}.status{display:inline-block;border-radius:999px;padding:4px 9px;font-size:12px;background:#eee}.status.ok{background:#d7efdf}.status.wait{background:#fff0c7}.reservation-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.reservation-form .full{grid-column:1/-1}.reservation-form input{width:100%;padding:11px;border:1px solid #c9bdb2;border-radius:10px}.invoice{background:#faf7f2;border:1px solid #ddd2c8;border-radius:16px;padding:18px;margin-top:18px}.editable-tip{font-size:13px;color:#795b4f;background:#f4ece6;padding:12px;border-radius:12px}.wysiwyg [contenteditable="true"]{outline:2px dashed #b74b4f;outline-offset:4px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-card img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px}.gallery-card strong{display:block;margin-top:8px}
@media(max-width:760px){.nav-toggle{display:block}.navlinks{display:none;position:absolute;right:20px;top:72px;flex-direction:column;background:#251915ee;padding:14px;border-radius:14px}.navlinks.open{display:flex}.hero__content{padding-top:18vh;padding-bottom:160px}.hero h1{font-size:clamp(48px,16vw,72px)}.hero__info{grid-template-columns:1fr;padding-bottom:max(22px,env(safe-area-inset-bottom));gap:14px}.intro{grid-template-columns:1fr;gap:24px}.tiles{grid-template-columns:1fr}.menu-grid,.contact-grid,.admin-grid{grid-template-columns:1fr}.event-card{align-items:flex-start;flex-direction:column}.event-card__main{align-items:flex-start}.event-card__poster{width:82px;height:112px}.footer{grid-template-columns:1fr auto}.footer div:nth-child(2){grid-column:1/-1;grid-row:2}.event-banner{top:auto;bottom:18px;transform:none}.reservation-form{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}}

/* HAC REV 0002 – animovaný příchod ke kavárně */
.arrival{margin-top:44px}
.arrival__head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}
.arrival__head h3{font:700 clamp(24px,3vw,38px)/1.1 Georgia,serif;margin:0}
.arrival__replay{border:1px solid #cdbfb5;background:#fff;border-radius:999px;padding:10px 15px;cursor:pointer;white-space:nowrap}
.arrival-map{position:relative;width:min(100%,760px);margin:0 auto;border-radius:20px;overflow:hidden;background:#ded7ce;box-shadow:0 16px 50px #2b211c22}
.arrival-map>img{display:block;width:100%;height:auto}
.arrival-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.walker{filter:drop-shadow(0 2px 2px #0008)}
.walker__fill{fill:#fff;stroke:#2b211c;stroke-width:3}
.walker__line{stroke:#fff;stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 0 1px #2b211c)}
.walker__arm1,.walker__leg2{animation:walkA .42s ease-in-out infinite alternate}
.walker__arm2,.walker__leg1{animation:walkB .42s ease-in-out infinite alternate}
@keyframes walkA{from{transform:rotate(-13deg)}to{transform:rotate(13deg)}}
@keyframes walkB{from{transform:rotate(13deg)}to{transform:rotate(-13deg)}}
.arrival-target{opacity:0;transition:opacity .35s ease;filter:drop-shadow(0 3px 4px #0006)}
.arrival-target circle{fill:#a94147;stroke:#fff;stroke-width:3}
.arrival-target text{font:700 20px Georgia,serif;fill:#fff}
.arrival-target.show{opacity:1}
.arrival-label{position:absolute;left:63%;top:44%;transform:translate(-50%,-50%);background:#fff;color:#2b211c;border-radius:999px;padding:7px 12px;font-weight:700;box-shadow:0 5px 16px #0003;opacity:0;transition:opacity .35s ease}
.arrival-label.show{opacity:1}
.arrival__hint{text-align:center;color:#6d5b51;font-size:14px;margin-top:12px}
@media(max-width:760px){
  .arrival__head{align-items:flex-start;flex-direction:column}
  .arrival__replay{align-self:flex-start}
  .arrival-map{border-radius:14px}
  .arrival-label{font-size:12px;padding:5px 9px}
}
@media(prefers-reduced-motion:reduce){
  .walker__arm1,.walker__arm2,.walker__leg1,.walker__leg2{animation:none}
}


.navlinks a{border:0;background:transparent;color:#fff;cursor:pointer;padding:10px 12px;text-decoration:none}
.section-white{background:#fff}.story-grid{display:grid;grid-template-columns:1.6fr .7fr;gap:48px;margin-top:28px}.story-grid p{font-size:17px;line-height:1.7}.story-lead{font-size:21px!important;font-weight:600}.story-grid blockquote{font:italic 28px Georgia,serif;border-left:4px solid #b74b4f;margin:34px 0;padding-left:20px}.info-box{background:#f7f2ed;border-radius:20px;padding:24px}.section-copy{max-width:820px;font-size:18px;line-height:1.7}.event-list{display:grid;gap:18px;margin-top:28px}.event-card__poster{width:120px;height:160px;object-fit:cover;border-radius:14px}.event-card__main{flex:1}.capacity-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.capacity-row span{background:#eee4da;color:#2b211c;border-radius:999px;padding:6px 10px;font-size:12px}.event-card:not(.event-card--empty) .capacity-row span{background:#ffffff18;color:#fff}.gallery-card{background:#fff;border-radius:18px;padding:14px}.gallery-card img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px}.custom-area:has(#customBlocks:empty){display:none}.edit-mode .custom-area{display:block}.custom-block{position:relative;margin:18px 0}.custom-block img{max-width:100%;border-radius:18px}.custom-block .delete-block{display:none}.attachment-link{display:inline-block;background:#fff;border:1px solid #d8cdc2;border-radius:12px;padding:12px 15px;color:#2b211c;text-decoration:none}.simple-form{display:flex;flex-wrap:wrap;gap:10px}.simple-form input{padding:12px;border:1px solid #cabfb5;border-radius:10px}.popup{width:75vw;max-width:1180px;max-height:84vh}.reservation-form label{display:flex;flex-direction:column;gap:6px}.paygrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.paybox{background:#fff;border-radius:14px;padding:16px}.invoice-preview{background:#f7f2ed;border-radius:18px;padding:18px}.total{font-size:30px;font-weight:800}.edit-mode{padding-top:76px}.edit-ribbon{position:fixed;top:0;left:0;right:0;z-index:100;height:76px;background:#f4f6f8;color:#20252a;border-bottom:1px solid #cbd2da;display:flex;align-items:center;gap:14px;padding:8px 14px}.edit-brand{min-width:145px;display:flex;flex-direction:column}.edit-brand small{font-size:11px;color:#69737d}.edit-tools{display:flex;gap:6px;overflow:auto;flex:1}.edit-tools button,.edit-actions button,.edit-actions a{border:1px solid #cbd2da;background:#fff;color:#20252a;border-radius:8px;padding:9px 11px;text-decoration:none;white-space:nowrap}.edit-actions{display:flex;gap:6px}.edit-actions #saveLive{background:#107c10;color:#fff;border-color:#107c10}.edit-mode [contenteditable=true]{outline:2px dashed transparent;outline-offset:4px}.edit-mode [contenteditable=true]:hover{outline-color:#2f5f95}.edit-mode [contenteditable=true]:focus{outline:3px solid #2f5f95;background:#fff;color:#2b211c}.edit-mode .custom-block{border:1px dashed #8aa6bd;padding:14px;border-radius:14px}.edit-mode .custom-block .delete-block{display:block;position:absolute;right:8px;top:8px;width:30px;height:30px;border:0;border-radius:50%;background:#9b3337;color:#fff}.drop-hint{border:2px dashed #91a7bb;border-radius:14px;padding:18px;text-align:center;color:#687887}.edit-mode .hero{min-height:calc(100svh - 76px)}
@media(max-width:760px){.story-grid{grid-template-columns:1fr}.popup{width:92vw;max-height:90vh}.paygrid{grid-template-columns:1fr}.edit-ribbon{height:auto;min-height:76px;flex-wrap:wrap}.edit-mode{padding-top:124px}.edit-mode .hero{min-height:calc(100svh - 124px)}}

/* 2HAC REV0002 – ochrana rezervačního formuláře */
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.human-check{background:#f7f2ed;border:1px solid #ddd2c8;border-radius:14px;padding:14px 16px;display:grid;gap:8px}
.cup-track{position:relative;height:46px;background:linear-gradient(to right,#eadfd5,#fff);border-radius:999px;border:1px solid #cabfb5;display:flex;align-items:center;padding:0 10px;overflow:hidden}
.cup-track input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:.001;cursor:pointer}
.cup-icon{position:absolute;left:7px;font-size:25px;transition:left .06s linear;pointer-events:none}
.human-check strong{font-size:13px;color:#5c4940}
.consent-row{flex-direction:row!important;align-items:flex-start!important}.consent-row input{width:auto!important;margin-top:3px}
.form-error{background:#fff0f0;border:1px solid #d8a6a6;color:#7f2626;padding:10px 12px;border-radius:10px}
.prose .btn+.btn{margin-left:8px}

/* 2HAC REV0003 – viditelna human-check a PDF CTA */
.human-check{padding:14px;border:1px solid #d9cec4;border-radius:14px;background:#fffaf6}
.human-check__title{display:block;margin-bottom:9px}
.cup-track{position:relative;height:54px;background:linear-gradient(90deg,#f0e7df 0%,#fff 72%,#efe5dc 100%);border-radius:14px;border:1px solid #cbbdb0;display:flex;align-items:center;padding:0 12px;overflow:hidden}
.cup-track:after{content:'STŮL';position:absolute;right:10px;bottom:3px;font-size:10px;letter-spacing:.12em;color:#7d6c61;font-weight:700}
.cup-track input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:.01;cursor:ew-resize;z-index:4}
.cup-icon{position:absolute;left:9px;top:13px;width:30px;height:27px;transition:left .06s linear;pointer-events:none;z-index:3}
.cup-body{position:absolute;left:0;top:2px;width:23px;height:20px;background:#8f312e;border-radius:3px 3px 9px 9px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.10)}
.cup-body:before{content:'';position:absolute;left:2px;right:2px;top:-3px;height:6px;border-radius:50%;background:#f7eee7;border:2px solid #8f312e}
.cup-handle{position:absolute;left:20px;top:6px;width:10px;height:11px;border:3px solid #8f312e;border-left:0;border-radius:0 9px 9px 0}
.cup-table{position:absolute;right:7px;top:35px;width:70px;height:4px;background:#795c48;border-radius:3px;box-shadow:0 6px 0 -1px #795c48}
#cupLabel{display:block;margin-top:8px;color:#5f4b40}
.pdf-ready{margin:18px 0 10px;padding:16px;border:2px solid #2d1f1a;border-radius:14px;background:#fff}
.pdf-ready strong,.pdf-ready span{display:block}
.pdf-ready span{margin:4px 0 12px;color:#6a5b52}
.pdf-download{display:inline-flex!important;align-items:center;justify-content:center;font-size:1rem}


/* ===== 2HAC REV0009 — WYSIWYG vrstva nad vizualnim MASTEREM REV0004 ===== */
/* Mimo editacni rezim prazdne WYSIWYG zony nemeni layout. */
.section-custom-blocks:empty{display:none}
.section-custom-blocks:not(:empty){margin-top:24px}
body.edit-mode .section-custom-blocks{display:block;min-height:54px;margin-top:22px;border:2px dashed rgba(47,95,149,.28);border-radius:14px;padding:10px}
body.edit-mode .section-custom-blocks:empty:after{content:'Sem lze přetáhnout nový prvek';display:grid;place-items:center;min-height:34px;color:#687887;font:600 12px/1.2 system-ui,sans-serif}
body.edit-mode .section-custom-blocks.block-drop-target{border-color:#2f5f95;background:rgba(47,95,149,.05)}

body.edit-mode [data-layout-section]{position:relative}
.section-drag-handle{display:none}
body.edit-mode .section-drag-handle{display:block;position:absolute;z-index:60;top:10px;right:12px;border:1px solid #cdbbb1;background:#fff;color:#2d1f1a;border-radius:999px;padding:8px 12px;font:700 11px/1 system-ui,sans-serif;cursor:grab;box-shadow:0 4px 16px rgba(0,0,0,.12)}
body.edit-mode [data-layout-section].section-drop-target{outline:3px solid #a84a45;outline-offset:-3px}

body.edit-mode [data-editor-block]{position:relative}
.block-drag-handle{display:none}
body.edit-mode .block-drag-handle{display:block;position:absolute;z-index:12;top:8px;right:8px;width:32px;height:28px;border:1px solid #cbd2da;border-radius:8px;background:#fff;color:#20252a;cursor:grab;font-weight:800}
body.edit-mode [data-editor-block].native-drop-target{outline:3px solid #2f5f95;outline-offset:2px}
body.edit-mode [data-editor-block] [contenteditable=true]{cursor:text}
body.edit-mode .edit-link,body.edit-mode .pick-file{border:1px solid #cbd2da;background:#fff;color:#20252a;border-radius:8px;padding:7px 9px;margin:8px 6px 0 0;cursor:pointer}

body.edit-mode #customArea{display:block!important}

/* REV0011 — pouze zarovnani textu na stred */
body{text-align:center}
.tile{text-align:center}
