.gallery-section,.menu-section,.costs-section{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;opacity:0;visibility:hidden;pointer-events:none;display:flex;align-items:center;justify-content:center;overflow-y:auto}.gallery-section.open,.menu-section.open,.costs-section.open{opacity:1;visibility:visible;pointer-events:auto}body.modal-open,body.no-scroll{overflow:hidden}.gallery-section .gallery-content{position:relative;display:flex;align-items:center;justify-content:center;background-color:#e9f3fff6}.costs-section .cost-calculator-content,.menu-section .menu-content{position:relative;width:min(1100px,95vw);max-height:90vh;max-height:90dvh;padding:2rem 2.5rem;background-color:#f0f4f8;border-radius:16px;box-shadow:0 18px 45px #00000059;overflow-y:auto}@media(max-width:768px){.costs-section .cost-calculator-content,.menu-section .menu-content{padding:1.5rem 1.25rem;max-height:95vh;max-height:95dvh}}.gallery-square{display:grid;gap:4px;grid-template-columns:repeat(3,1fr);width:min(1100px,95vw);height:min(80vh,900px);height:min(80dvh,900px);max-height:80vh;max-height:80dvh;background:var(--light-blue);border-radius:16px;padding:6px;overflow:hidden;box-shadow:0 18px 45px #00000073}.gallery-item{position:relative;width:100%;height:100%;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease;cursor:zoom-in}.gallery-item:hover img{transform:scale(1.2)}.image-overlay{position:fixed!important;inset:0;background:#000000f2;display:flex;justify-content:center;align-items:center;z-index:999;opacity:0;pointer-events:none;transition:opacity .3s ease;touch-action:pan-y}.image-overlay.open{opacity:1;pointer-events:auto}.image-overlay img{max-width:95%;max-height:95%;object-fit:contain;-webkit-user-select:none;user-select:none}@media(max-width:768px){.gallery-square{grid-template-columns:repeat(2,1fr);height:70vh;height:70dvh;max-height:70vh;max-height:70dvh}}.menu-section .page-centered{max-width:900px;margin:0 auto}.menu-section h3,.costs-section h3{font-size:clamp(1.3em,2vw,1.5em);color:#000;max-width:900px;margin:20px auto .5rem;padding:10px;box-sizing:border-box;border-bottom:3px solid rgba(10,9,46,.3)}.menu-section h3{padding-left:0;padding-right:0}.menu-section h3:first-of-type,.costs-section h3:first-child{margin-top:0;margin-bottom:0rem}.menu-section div[data-i18n-html],.menu-section .preamble-classics,.menu-section .preamble-subtlety,.menu-section .preamble-intro,.costs-section p{max-width:900px;margin:4px auto .9rem;padding:10px;border-radius:6px;line-height:1.7;text-align:left;background:transparent;font-size:clamp(1rem,1.4vw,1.15rem);color:var(--text-main);font-weight:400}.costs-section h3,.costs-section p,.menu-section div[data-i18n-html],.menu-section .preamble-classics,.menu-section .preamble-subtlety,.menu-section .preamble-intro{padding-left:0;padding-right:0}.costs-section p.captcha-disclaimer{padding-left:16px;padding-right:10px}.costs-section ul{padding-left:26px;padding-right:0}.menu-section div[data-i18n-html] strong,.menu-section strong{color:var(--orange)!important;font-weight:700!important}.menu-section .menu-wrapper{max-width:900px;margin:1.75rem auto;display:flex;gap:1.25rem;justify-content:center}.menu-section .menu-block{flex:1;min-width:280px;max-width:420px;padding:1.75rem 1.5rem;border-radius:14px;text-align:center;background:#fff;border:2px solid var(--yellow);box-shadow:0 4px 20px #1e3a5f1a;transition:all .3s ease}.menu-section .menu-block:hover{transform:translateY(-4px);box-shadow:0 8px 30px #ff8c4240;border-color:var(--orange)}.menu-section .menu-block h2{font-family:Leckerli One,cursive;font-size:1.6rem;color:var(--navy);margin:0 0 .45rem}.menu-section .ingredients{display:block;font-size:.95rem;font-weight:600;color:var(--light-blue);margin-bottom:1.1rem}.menu-section .ingredients:after{content:"";display:block;width:50px;height:3px;background:linear-gradient(90deg,var(--orange),var(--yellow));margin:10px auto 0;border-radius:2px}.menu-section .menu-list{list-style:none;padding:0;margin:0;text-align:left}.menu-section .menu-list li{padding:10px 15px 10px 20px!important;margin-bottom:1px;border-bottom:1px dotted #ddd;position:relative;font-size:1rem!important;line-height:1.45}.menu-section .menu-list li:before{content:"•";position:absolute;left:0;color:var(--orange);font-size:1.1rem}.menu-section .menu-list li:last-child{border-bottom:none}@media(max-width:768px){.menu-section .menu-wrapper{flex-direction:column;gap:1rem;align-items:center;margin:1rem auto}.menu-section .menu-block{padding:1.25rem 1rem;min-width:100%}.menu-section div[data-i18n-html],.menu-section .preamble-intro,.menu-section .preamble-classics,.menu-section .preamble-subtlety{max-width:100%;padding:.7rem .85rem;margin-bottom:.85rem}}.menu-section .menu-block h2{font-size:1.5rem}.menu-section .menu-list li{font-size:.85rem;padding:5px 0 5px 16px}.costs-section .page-centered{max-width:900px;margin:0 auto}.warning-line{margin-top:10px;color:var(--brand);font-weight:700;background:#e9050114;border-left:4px solid var(--red);padding:8px 10px;border-radius:8px}.costs-section [data-i18n-html] strong,.costs-section strong{font-weight:700!important;font-family:Bellota,sans-serif;color:var(--dark-grey)!important}.costs-section ul{max-width:900px;margin:0 auto .35rem;padding:0 10px 0 36px}.costs-section li{margin:6px 0;line-height:1.5;font-weight:400;font-size:clamp(1rem,1.4vw,1.15rem)}.costs-section p+ul{margin-top:-.8rem}.costs-section ul+p{margin-top:0rem}.costs-section p[data-i18n-html=contactIntro]{margin-bottom:4px}p[data-i18n=contactIntro]+.form-row-triple{margin-top:4px}.calc-table-wrapper{background:#fff;border:2px solid var(--dark-grey);border-radius:14px;padding:20px;max-width:900px;margin:20px auto;box-shadow:0 6px 18px #0000001f}.calc-row{display:grid;grid-template-columns:1fr 100px 140px 110px;gap:14px;align-items:center;padding:8px;margin-bottom:12px;border-radius:8px;transition:background .2s ease}.calc-row:hover{background:#f8d6b026}.calc-row.base-package{background:#ffbe501a;border:1px dashed #ffbe50}.calc-row.duration-row{align-items:start}.calc-cell.col-desc{text-align:left}.calc-cell .item-title{color:var(--dark-grey);font-weight:700;display:block;margin-bottom:3px;font-size:1.12em}.calc-cell small{display:block;color:#666;font-size:.87em;line-height:1.5;font-weight:400}.col-n input{width:100%;padding:12px;border:2px solid #b3c5c0;border-radius:10px;font-size:1.05em;text-align:center;background:#fff;transition:all .3s ease;font-weight:600}.col-n input:hover:not(:read-only){border-color:var(--dark-grey);box-shadow:0 2px 8px #a5561026}.col-n input:focus{outline:none;border-color:var(--dark-grey);box-shadow:0 0 0 4px #a556101a}.col-n input:read-only{background:#f5f5f5;border-color:#d0d0d0;color:#777;cursor:not-allowed}.col-unit{display:flex;justify-content:center;align-items:center;text-align:center;font-size:.95em;color:#555;font-weight:600;gap:2px}.staff-group{display:inline-flex;align-items:center;gap:2px}.col-unit input#staff{width:30px;padding:0;border:none;background:transparent;text-align:center;font-weight:700;font-size:1.1em;color:var(--dark-grey);cursor:default}.col-unit input#staff:focus{outline:none;box-shadow:none}.col-unit .label{font-size:.9em;color:#666;font-weight:600}.col-total{text-align:right;font-weight:700;color:var(--dark-grey);font-size:1.15em}.calc-totals{background:#fff5e5a6;border:2px solid var(--dark-grey);border-radius:14px;padding:24px;max-width:900px;margin:20px auto}.calc-totals .totals-grid{display:grid;grid-template-columns:1fr auto;gap:16px;font-size:1.05em;align-items:center}.calc-totals .label{font-weight:600;color:#555}.calc-totals .value{font-weight:700;color:var(--dark-grey);text-align:right;font-size:1.1em}.calc-totals .final{padding-top:16px;margin-top:8px;border-top:3px solid #7e7e7e;font-size:1.35em;color:var(--dark-grey)}.availability-layout{display:flex;gap:20px;margin:20px auto;flex-wrap:wrap;max-width:900px;justify-content:center}.date-field{flex:0 0 200px}#event-date{width:100%;max-width:200px;padding:14px 16px;font-size:1em;border:2px solid #b3c5c0;border-radius:10px;background:#fff;transition:all .3s ease;box-shadow:0 2px 8px #0000000d;color:#2b2b2b}#event-date:focus{outline:none;border-color:var(--dark-grey);box-shadow:0 0 0 4px #a556101a}#calendar-container{flex:1;min-width:300px;max-width:450px;border:2px solid #b3c5c0;padding:10px;overflow:hidden;aspect-ratio:4/3;position:relative;box-shadow:0 6px 20px #4b4b4b40}#calendar-container iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.form-row-triple{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:4px auto;max-width:900px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:600;font-size:.95em;color:#2b2b2b}.form-group p{margin-bottom:4px;margin-left:0;margin-right:0;padding:0;text-align:left}.form-group input,.form-group textarea{width:100%;padding:14px 16px;border:2px solid #b3c5c0;border-radius:10px;font-size:1em;transition:all .3s ease;background:#fff}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--dark-grey);box-shadow:0 0 0 4px #a556101a}.form-group textarea{min-height:100px;resize:vertical;font-weight:400}.checkbox-group{display:flex;align-items:center;gap:10px;margin:16px auto;padding:12px;border-radius:8px;max-width:900px}input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--dark-grey)}.checkbox-group label{margin:0;cursor:pointer;font-weight:600}.submit-btn{background:var(--brand);color:#fff;border:none;padding:18px 50px;font-size:1.4em;font-weight:800;border-radius:14px;cursor:pointer;display:block;margin:20px auto;box-shadow:0 8px 24px #4b4b4b40}.submit-btn:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 12px 32px #4b4b4b40;background:var(--accent);transition:transform .3s ease,box-shadow .3s ease,background .3s ease}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.form-disclaimer{font-size:.95em;font-style:italic;color:#3d3d3d;font-weight:500;padding:0;max-width:900px;margin:8px auto 0}.captcha-disclaimer{font-size:.85em;font-style:italic;color:#666;font-weight:400;background:#fffdf6b3;padding:10px 10px 10px 16px;border-radius:8px;margin:12px auto;line-height:1.5;border-left:3px solid #b3c5c0;max-width:900px}.turnstile-wrapper{margin:16px 0;display:flex;justify-content:center;min-height:65px}@media(max-width:768px){.calc-row{grid-template-columns:repeat(3,1fr);gap:10px;font-size:.95em}.col-desc{grid-column:1 / -1}.form-row-triple{grid-template-columns:1fr}.availability-layout{flex-direction:column}.date-field{flex:1}}
