*{box-sizing:border-box}body{margin:0;background:#e9dbc1;color:#402619;font-family:Georgia,'Times New Roman',serif}.shell{width:min(100%,500px);margin:0 auto;min-height:100dvh;background:#f6ecd8;box-shadow:0 0 35px #604e3030}.head{height:150px;display:flex;align-items:center;justify-content:center;position:relative;background:#f9f1e2}.head img{height:130px;max-width:80%;object-fit:contain}.tag{position:absolute;right:8px;bottom:4px;font:600 9px Arial,sans-serif;letter-spacing:1px;color:#8a6c52}.view{display:none}.view.active{display:block}.hero{height:380px;position:relative;overflow:hidden;background:#362416}.slides,.slide{position:absolute;inset:0;width:100%;height:100%}.slide{object-fit:cover;opacity:0;transition:opacity 900ms ease}.slide.active{opacity:1}.gradient{position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#24140de8)}.herofoot{position:absolute;left:0;right:0;bottom:20px;color:#fae3ab;text-align:center}.controls{display:flex;align-items:center;justify-content:space-between;padding:0 18px 10px}.controls button{border:1px solid #e6c17a;background:#2c190dab;color:#f6d99b;border-radius:50%;width:39px;height:39px;font-size:28px;cursor:pointer}.dots{display:flex;gap:8px}.dots button{width:9px;height:9px;border:0;border-radius:50%;background:#ffffff66;padding:0;cursor:pointer}.dots button.sel{background:#fff}h1{font-size:clamp(19px,5vw,27px);font-weight:normal;letter-spacing:1px;margin:3px 0 8px}.herofoot p{font-size:10px;letter-spacing:2px;margin:0}.cards{padding:13px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.entry{border:1px solid #b88b45;border-radius:16px;overflow:hidden;background:#fff5e6;box-shadow:0 4px 10px #6c452d24;padding:0 0 12px;display:flex;flex-direction:column;align-items:center;cursor:pointer;color:#3a2216;font-family:Georgia,serif}.entry img{width:100%;height:140px;object-fit:cover}.circle{border:3px solid #dec185;background:#56331b;color:#f6dba3;border-radius:50%;width:53px;height:53px;margin-top:-27px;position:relative;display:grid;place-items:center;font-size:29px}.entry strong{font-size:clamp(14px,3.5vw,20px);margin-top:6px}.entry small{font-size:13px;margin-top:7px}.arrow{margin-top:12px;border-radius:50%;background:#b58a3e;color:white;width:30px;height:30px;line-height:27px;font-size:25px}.notice{font:12px Arial,sans-serif;color:#806a52;margin:0;padding:3px 18px 18px;text-align:center}.inner{padding:16px}.back{border:0;background:transparent;color:#674727;font:16px Georgia;cursor:pointer;padding:12px 0}.inner h2{margin:5px 0 16px;font-size:30px}.inner p{line-height:1.55}.banner{width:100%;max-height:250px;object-fit:cover;border-radius:14px}.sample{border:1px solid #d8bf9a;border-radius:14px;padding:17px;background:#fff9ed}.sample h3{margin-top:0}.sample label{display:block;margin-bottom:14px;font-size:15px}.sample input,.sample select{display:block;width:100%;border:1px solid #bea47e;border-radius:8px;padding:11px;margin-top:6px;font:16px Arial;background:white}.sample button{width:100%;border:0;background:#836e5c;color:white;padding:13px;border-radius:8px}.small{font-size:12px}footer{text-align:center;padding:15px;font:11px Arial,sans-serif;color:#806a52}@media(min-width:520px){body{padding:20px}}
.demo-alert{padding:13px 15px;margin:12px 0 16px;border:2px solid #b47a2c;background:#ffedc6;border-radius:12px;font:14px/1.4 Arial,sans-serif;color:#50351a}.demo-alert p{margin:6px 0 0}.admin-link{width:100%;padding:12px;margin:12px 0;border:1px solid #9c7847;background:#f3e4c7;color:#55331e;border-radius:10px;font:15px Georgia;cursor:pointer}.blockrow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 4px;border-bottom:1px solid #d9c3a2;font:13px Arial,sans-serif}.blockrow button{background:#69402b;color:#fff;padding:6px 10px;border:0;border-radius:6px}.sample button:not(:disabled){background:#65412a;color:#fff;cursor:pointer}.small{line-height:1.5}

.capacities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;border:1px solid #d8bf9a;border-radius:12px;background:#fff8ec}.capacities label{font:14px Arial,sans-serif;display:flex;flex-direction:column;gap:4px}.capacities select{padding:9px;border-radius:8px;border:1px solid #bc9b6e;font:15px Arial,sans-serif;background:#fff}.match-result{margin-top:14px;padding:15px;background:#f2e8ce;border:1px solid #c4a66c;border-radius:10px;line-height:1.5}.match-result strong{font-size:18px}.match-result p{margin:7px 0 0}

/* Podzamcze v4: native-feeling menu */
.shell{max-width:680px}.menu-tools{margin:18px 0}.menu-tools input{width:100%;border:1px solid #cbb791;border-radius:13px;padding:14px;background:#fffaf1;color:#38261e;font-size:16px}.filters{display:flex;gap:8px;overflow-x:auto;padding:12px 0;scrollbar-width:thin}.filters button{border:1px solid #c8a674;border-radius:999px;white-space:nowrap;padding:8px 14px;background:#fffbf3;color:#543124;font-size:13px}.filters button.sel{background:#563020;color:#fff5db}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.dish{background:#fffaf1;border:1px solid #dcc59a;border-radius:16px;overflow:hidden;box-shadow:0 4px 15px #36200f0d}.dish-img{min-height:168px;display:flex;align-items:center;justify-content:center;background:linear-gradient(#f9f4e9,#fffaf1);overflow:hidden;position:relative;padding:10px}.dish-img img{max-width:100%;max-height:148px;width:auto;height:auto;object-fit:contain;object-position:center center;display:block;filter:drop-shadow(0 8px 12px rgba(74,46,28,.12))}.dish-body{padding:12px}.dish-title{font-family:Georgia,serif;color:#4b2a22;font-size:17px;line-height:1.16;margin:2px 0 8px}.dish-meta,.dish-desc{color:#745c4c;font-size:12px;line-height:1.4;margin:5px 0}.dish-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:12px}.dish-price{font-weight:800;color:#7c2f25;white-space:nowrap}.dish-bottom button{background:#6c4430;color:#fff2db;border:0;border-radius:100px;padding:8px 10px;font-weight:700}.dish-bottom button:focus-visible,.filters button:focus-visible{outline:3px solid #a46f28}.cart-section{padding:20px;background:#f7ebd6;border:1px solid #d1b886;border-radius:18px;margin:24px 0}.cart-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dccaa8;padding:9px 0;gap:8px;font-size:14px}.cart-row button{border:1px solid #b89b78;border-radius:9px;background:#fffbf2;padding:5px 10px;color:#543124}.cart-total{font-weight:800;color:#573325;text-align:right}.explain{font-size:11px;color:#87664b;font-style:italic}.exploded img{animation:plate-breathe 5.2s ease-in-out infinite;transform-origin:50% 58%}.exploded:before,.exploded:after{content:'';position:absolute;z-index:2;border:1px solid #d4b47d;border-radius:50%;width:42px;height:42px;left:20%;top:16%;opacity:.25;pointer-events:none;animation:floatLayers 5.2s ease-in-out infinite}.exploded:after{left:auto;right:14%;top:41%;width:27px;height:27px;animation-delay:-2s}@keyframes plate-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(5px) scale(.95)}}@keyframes floatLayers{0%,100%{transform:translateY(0);opacity:.2}50%{transform:translateY(-20px);opacity:.75}}@media (max-width:400px){.menu-grid{gap:8px}.dish-body{padding:10px}.dish-img{min-height:138px;padding:8px}.dish-img img{max-height:118px}.dish-title{font-size:15px}}@media(prefers-reduced-motion:reduce){.exploded img,.exploded:before,.exploded:after{animation:none!important}}

.ingredient-layers{position:absolute;inset:0;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;gap:2px;padding:3px 2px;flex-wrap:wrap}.ingredient-layers span{background:#5c3928e0;color:#fff8e6;font-size:9px;padding:3px 5px;border-radius:10px;transform:translateY(13px) scale(.7);opacity:0;animation:ingredients 6.5s ease-in-out infinite;animation-delay:calc(var(--n) * .2s)}@keyframes ingredients{0%,13%,90%,100%{opacity:0;transform:translateY(13px) scale(.7)}35%,65%{opacity:1;transform:translateY(-12px) scale(1)}}@media(prefers-reduced-motion:reduce){.ingredient-layers span{animation:none;opacity:1;transform:none}}


/* v6 menu UX */
.entry small{font-size:18px}
.dish{cursor:pointer;transition:transform .18s ease, box-shadow .18s ease}
.dish:hover,.dish:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px rgba(54,32,15,.16);outline:none}
.dish-open-hint{margin-top:8px;font-size:12px;font-weight:700;color:#8b6548}
.dish-img{position:relative}
.brown-plate{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);width:76%;height:44%;border-radius:50%;background:radial-gradient(circle at 50% 40%, #b98a62 0%, #8e5c39 55%, #5f3a23 100%);opacity:.34;filter:blur(.2px);box-shadow:0 10px 16px rgba(63,35,19,.18);pointer-events:none}
.ingredient-layers{position:absolute;left:8px;right:8px;bottom:8px;display:flex;gap:6px;flex-wrap:wrap;justify-content:center;z-index:3}
.ingredient-layers span{font-size:11px;padding:4px 8px;border-radius:999px;background:rgba(76,46,28,.86);color:#fff6e7;border:1px solid rgba(238,214,181,.45)}
.floating-cart{position:sticky;bottom:14px;z-index:15;display:block;width:100%;border:0;border-radius:18px;background:linear-gradient(180deg,#6b442f,#4b2b1d);color:#fff5e6;padding:16px 18px;margin:18px 0 4px;box-shadow:0 10px 28px rgba(53,27,16,.28);text-align:center}
.floating-cart .fc-top{display:block;font-size:20px;font-weight:800;letter-spacing:.3px}
.floating-cart .fc-bottom{display:block;font-size:15px;margin-top:4px;opacity:.96}
.dish-modal{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center}
.dish-modal.hidden{display:none}
.dish-modal-backdrop{position:absolute;inset:0;background:rgba(28,14,8,.62)}
.dish-modal-panel{position:relative;width:min(100%,760px);max-height:92vh;border-radius:24px 24px 0 0;background:#5a3828;color:#fff4e6;overflow:hidden;box-shadow:0 -12px 34px rgba(28,14,8,.35)}
.dish-modal-scroll{overflow:auto;max-height:92vh}
.dish-modal-close{position:absolute;top:10px;right:10px;z-index:2;border:0;background:#f7ebd6;color:#4e2f22;width:42px;height:42px;border-radius:50%;font-size:28px;font-weight:700}
.dish-modal-hero{padding:26px 22px 10px;background:linear-gradient(180deg,#68402d 0%,#5a3828 100%)}
.dish-modal-image-wrap{min-height:230px;display:flex;align-items:center;justify-content:center;border-radius:24px;background:radial-gradient(circle at 50% 60%, rgba(188,135,92,.95) 0 26%, rgba(118,73,42,.95) 27% 36%, rgba(92,56,35,.25) 37% 55%, rgba(255,255,255,.04) 56% 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.dish-modal-image-wrap img{max-width:88%;max-height:260px;display:block;filter:drop-shadow(0 12px 18px rgba(24,12,8,.28))}
.dish-modal-body{padding:18px 20px 24px}
.dish-modal-price{font-size:28px;font-weight:800;color:#ffe1a8;margin-bottom:8px}
.dish-modal-body h3{font-family:Georgia,serif;font-size:30px;line-height:1.12;margin:0 0 8px;color:#fff8ef}
.dish-modal-sub{margin:0 0 6px;color:#ebd7c2;font-size:15px}
.dish-modal-meta{display:inline-block;margin:10px 0 4px;background:rgba(255,246,231,.12);padding:9px 12px;border-radius:999px;color:#fff5e6;font-size:14px}
.dish-modal-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,234,210,.15)}
.dish-modal-section h4{margin:0 0 6px;font-size:17px;color:#ffe1a8}
.dish-modal-section p{margin:0;color:#f4e7d8;line-height:1.55}
.allergen-tags{display:flex;flex-wrap:wrap;gap:8px}
.allergen-tag{display:inline-block;padding:8px 10px;border-radius:12px;background:rgba(255,246,231,.11);border:1px solid rgba(255,234,210,.14);color:#fff6eb;font-size:13px}
.dish-modal-actions{display:flex;gap:10px;position:sticky;bottom:0;padding-top:18px;background:linear-gradient(180deg,rgba(90,56,40,0),#5a3828 25%)}
.modal-add-btn,.modal-close-btn{flex:1;border:0;border-radius:14px;padding:15px 14px;font-size:17px;font-weight:800}
.modal-add-btn{background:#f2c680;color:#4a2b1d}
.modal-close-btn{background:#f4ecdf;color:#533123}
@media (min-width:720px){
  .dish-modal{align-items:center}.dish-modal-panel{border-radius:24px;max-height:90vh}.floating-cart{position:sticky;bottom:16px;max-width:420px;margin:20px auto 8px}
}
@media (max-width:430px){
  .floating-cart .fc-top{font-size:18px}.floating-cart .fc-bottom{font-size:14px}
  .dish-modal-body h3{font-size:26px}
}
