.contact-details,.contact-details>span,.contact-details>strong,.contact-details>a,.contact-phone,.contact-hours,.contact-hours>span{display:block}.contact-details,.contact-hours,.contact-phones{overflow-wrap:anywhere;font-style:normal}.contact-hours>span{white-space:pre-wrap}.contact-exceptions{margin-top:.5em}.contact-address>span{display:block}.box-normal:has([data-contact-slot]) .box-mask{background:var(--blue);height:auto;transition:none;position:static;top:auto;overflow:visible}.box-normal:has([data-contact-slot]):hover .box-mask{background:var(--blue);height:auto;transition:none;position:static;top:auto;overflow:visible}.box-normal:has([data-contact-slot]) .box-mask-content{width:100%;min-width:0;text-shadow:none}.sect-promo:has(.page-hero-box .contact-hours){flex-direction:column;gap:16px;height:auto;display:flex}.page-hero-box:has(.contact-hours){overflow-wrap:anywhere;align-self:flex-start;max-width:100%;margin:0 15px 15px;position:static}.page-hero-box-right:has(.contact-hours){align-self:flex-end}.page-hero-box:has(.contact-hours)>a{color:#fff;text-decoration:underline}.contact-details>.contact-phones{margin:.4em 0}[data-contact-slot][contenteditable=false]{cursor:default;outline:1px dashed #687b89}.contact-visual-editor [data-contact-slot][contenteditable=false]{outline:none}.contact-inline-group,.contact-inline-text,.contact-inline-phone,.contact-inline-phones{min-width:0;display:block}.contact-inline-group{overflow-wrap:anywhere;font-style:normal}.contact-inline-text{white-space:pre-wrap;cursor:text;border-radius:2px;outline:1px dashed #0000;min-height:1.5em;margin:0 -3px;padding:2px 3px}.contact-inline-text:hover{outline-color:#91aebc}.contact-inline-text:focus{background:#fff;outline:2px solid #26789e}.contact-inline-text:empty:before{content:attr(data-placeholder);color:#697780;pointer-events:none;font-size:.9em;font-weight:400}.contact-inline-strong{font-weight:700}.contact-inline-postal{flex-wrap:wrap;gap:5px;display:flex}.contact-inline-postal>.contact-inline-text:first-child{min-width:4em}.contact-inline-heading{margin:12px 0 3px;display:block}.contact-inline-phone{margin:6px 0}.contact-inline-phone>[role=textbox]:nth-child(2){color:#505e68;font-size:.9em}.contact-inline-phone-actions{gap:3px;display:none}.contact-inline-phone:hover .contact-inline-phone-actions,.contact-inline-phone:focus-within .contact-inline-phone-actions{display:flex}.contact-inline-phone>[role=textbox]:nth-child(2):empty{display:none}.contact-inline-phone:hover>[role=textbox]:nth-child(2),.contact-inline-phone:focus-within>[role=textbox]:nth-child(2){display:block}.contact-inline-phone-actions button,.contact-add-phone{font:inherit;color:#285e78;cursor:pointer;background:#f8fcff;border:1px solid #9eb8c5;border-radius:3px;min-height:32px;font-size:11px}.contact-inline-phone-actions button{min-width:32px}.contact-inline-phone-actions button:disabled{opacity:.4;cursor:default}.contact-add-phone{margin:4px 0;padding:5px 8px}.contact-save-error{color:#922626;background:#fff0ef;margin:0;padding:10px 16px}.contact-initial-review{background:#fff4d7;flex-shrink:0;max-height:180px;padding:8px 16px;font-size:13px;overflow:auto}.contact-initial-review label{margin-top:7px;display:block}.contact-visual-editor .contact-table td{vertical-align:top}.contact-visual-editor .page-editor-header h3{margin:0}@media (width<=600px){.contact-visual-editor .page-editor-header{align-items:center;gap:8px}.contact-visual-editor .page-editor-actions{flex-wrap:wrap;gap:6px}.contact-visual-editor .page-editor-header h3{font-size:16px}.contact-visual-editor .page-editor-saved{font-size:12px}}.cookie-information{text-align:center;padding:0 16px 20px}.cookie-choice-banner{color:#172b36;text-align:left;background:#fff;border:1px solid #b9ccd6;border-radius:12px;max-width:880px;margin:20px auto;padding:20px}.cookie-choice-banner h2{margin:0 0 8px;font-size:1.2rem}.cookie-choice-actions{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.cookie-choice-actions button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#005b91;border:1px solid #005b91;border-radius:5px;flex:160px;padding:10px 14px}.cookie-information-body label{align-items:center;gap:10px;padding:12px 0;display:flex}.cookie-information-body input{flex:none;width:20px;height:20px}.cookie-information-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:12px;text-decoration:underline}.cookie-information-dialog{box-sizing:border-box;color:#172b36;text-align:left;background:#fff;border:1px solid #b9ccd6;border-radius:12px;width:min(680px,100% - 24px);max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:0;overflow-y:auto;box-shadow:0 12px 48px #0004}.cookie-information-dialog::backdrop{background:#142d4680}.cookie-information-header{z-index:1;background:#fff;border-bottom:1px solid #dce5eb;align-items:center;gap:12px;padding:16px;display:flex;position:sticky;top:0}.cookie-information-header h2{flex:1;min-width:0;margin:0;font-size:1.25rem;line-height:1.35}.cookie-information-header button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#005b91;border:0;border-radius:5px;flex:none;padding:10px 16px}.cookie-information button:focus-visible{outline-offset:3px;outline:3px solid #e09900}.cookie-information-body{overflow-wrap:anywhere;padding:4px 20px 20px;font-size:1rem;line-height:1.6}.cookie-information-body h3{margin:20px 0 8px;font-size:1.1rem}.cookie-information-body dt{margin-top:12px;font-weight:700}.cookie-information-body dd{margin:4px 0 0}.cookie-information-body p{margin:12px 0}:root{--blue:#4697ce;--blue-dark:#165580;--pink:#cb5687;--orange:#f0a500;--bg:#fff;--white:#fff;--text:#212529;--text-light:#666;--content-bg:#e6f0f9}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Ubuntu,sans-serif;font-size:.8rem;line-height:1.5}a{color:var(--blue);text-decoration:none;transition:all .4s}a:hover{color:#000;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #0b67a3!important}h1{font-weight:700}.skip-link{z-index:10001;color:#165580;background:#fff;border:2px solid #165580;border-radius:4px;padding:10px 14px;position:absolute;top:-100px;left:12px}.skip-link:focus{top:12px}.app{flex-direction:column;min-height:100vh;display:flex}header{background:var(--white);margin:20px 0}.header-inner{justify-content:space-between;align-items:center;width:100%;max-width:1140px;margin:0 auto;padding:0 15px;display:flex}.header-brand{align-items:center;display:flex}.header-brand a{display:block}.header-brand img{max-width:100%;height:auto;max-height:60px}.header-slogan{color:var(--blue);font-size:.95rem;font-style:italic}nav.navbar{background:var(--blue);z-index:10;justify-content:center;font-size:1rem;display:flex;position:relative;box-shadow:0 3px 4px #215c83f2}.navbar-inner{flex-wrap:wrap;justify-content:center;width:100%;max-width:1140px;padding:0 15px;display:flex}.nav-link{color:var(--white);margin:0 1px;padding:8px 12px;font-size:1rem;font-weight:400;text-decoration:none;transition:all .4s;display:inline-block}.nav-link:hover,.nav-link.active{color:#000;background:#ffffff80}main{flex:1}.container{width:100%;max-width:1140px;margin:0 auto;padding:0 15px}.sect-promo{color:var(--white);text-transform:uppercase;background:#ddd url(/assets/kahvila-oulu-bg.jpg) 0 0/cover;height:340px;margin-bottom:0;padding:10px;position:relative}.sect-promo-2{color:var(--white);text-transform:uppercase;background:#ddd url(/assets/kahvila-oulu-bg.jpg) 0 0/cover;height:115px;margin-bottom:-20px;padding:10px;position:relative}.sect-promo-2 .promo-h1{margin-left:25px;padding-top:30px}.page-hero-box{color:var(--white);z-index:2;background:#4697ced9;max-width:240px;padding:18px 22px;font-size:.8rem;line-height:1.5;position:absolute;top:120px;left:25px}.page-hero-box-right{top:140px;left:auto;right:50px}.page-hero-box-header{text-transform:uppercase;margin-bottom:4px;font-size:1.1rem;font-weight:700}.page-hero-box h4{white-space:pre-line;text-transform:uppercase;margin:0 0 8px;font-size:1rem;font-weight:700}.page-hero-subtitle{white-space:pre-line;text-transform:uppercase;margin-top:4px;font-size:1.2rem;font-weight:700}.page-hero-info{text-transform:uppercase;margin-bottom:10px;font-size:.85rem;font-weight:700}.page-hero-link{color:var(--white);border:1px solid #fff9;padding:5px 10px;font-size:.75rem;text-decoration:none;display:inline-block}.page-hero-link:hover{background:#fff3}@media (width>=992px){.sect-promo{padding:65px 50px 50px}}.promo-h1{text-shadow:0 0 5px #165580bf,0 0 5px #165580bf;font-size:2.2rem;font-weight:700}.promo-h2{text-shadow:0 0 4px #165580a6,0 0 5px #165580a6;font-weight:400}.sect-boxes{margin-bottom:0;position:relative}.sect-boxes .row{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:0;display:grid}.box-float-container{z-index:2;padding:0 15px;position:relative}@media (width>=992px){.box-float-container{margin-top:-120px;padding:0 4rem}}.box-float{background:var(--blue);color:var(--white);border-radius:.3rem;margin-bottom:10px;padding:1.65rem;box-shadow:-2px 2px 1px #215c83bf}@media (width>=992px){.box-float{margin-bottom:0}}.box-float h4{color:#ddd;margin-bottom:4px;font-size:1rem}.box-float h2{margin-bottom:8px;font-size:1.2rem;font-weight:700}.box-float a{color:var(--white);padding:2px;font-size:.9rem;text-decoration:none}.box-float a:hover{color:#000;background:#ffffff80;text-decoration:none}.box-col{padding:0}.box-normal{margin-bottom:10px;text-decoration:none;display:block;position:relative;overflow:hidden}@media (width>=992px){.box-normal{margin-bottom:0}}.box-header{background:var(--blue);border-top:3px solid var(--pink);color:var(--white);text-align:center;text-transform:uppercase;padding:.9rem;font-size:.9rem;font-weight:700}.box-normal img{width:100%;height:auto;display:block}.box-mask{width:100%;height:0;color:var(--white);text-align:center;background:#4697ceb3;justify-content:center;align-items:center;transition:all .4s;display:flex;position:absolute;bottom:0;left:0;overflow:hidden}.box-normal:hover .box-mask{height:calc(100% - 50px);top:50px}.box-mask-content{text-shadow:1px 1px 1px #00000080;padding:10px;font-size:15px;font-weight:700;line-height:21px}.sect-content{background:var(--content-bg);margin-top:20px}.sect-content .row{grid-template-columns:1fr 1.2fr 1fr;gap:0;padding:15px;display:grid}.sect-content .col{padding:15px}.content-h3{color:var(--blue);margin-bottom:4px;font-size:1.1rem;font-weight:700}.content-h3 a{color:var(--blue);align-items:center;gap:6px;text-decoration:none;display:flex}.content-h3 img{border-radius:3px;width:auto;height:24px}.content-divider{border:0;border-top:1px solid #ccc;margin:8px 0 12px}.sect-content .row.article-row{grid-template-columns:3fr 1fr;gap:0;padding:15px;display:grid}.col-wide,.col-sidebar{padding:15px}.article-content{color:var(--text);font-size:.8rem;line-height:1.6}.article-content strong{font-weight:700}.article-content p{margin-bottom:10px}.article-content h2{color:var(--blue);margin:0 0 10px;font-size:1.5rem;font-weight:700}.article-content h3{color:var(--blue);margin:0 0 10px;font-size:1.3rem;font-weight:700}.article-content h5{margin:18px 0 8px;font-size:1.25rem;font-weight:500}.article-content img{max-width:100%;height:auto;margin:10px 0}.article-content a{color:var(--blue);text-decoration:none}.article-content a:hover{text-decoration:underline}.article-content ul{margin:8px 0;padding-left:20px}.article-content li{margin-bottom:4px}.article-content table{border-collapse:collapse;width:100%;margin:15px 0}.article-content td{vertical-align:top;padding:8px 12px;font-size:.8rem}.article-content hr{border:0;border-top:1px solid #ccc;margin:12px 0}.article-content .bottom-images{gap:5px;margin:10px 0;display:flex}.article-content .bottom-images img{width:auto;height:202px;margin:0}.article-content .bottom-images-3{gap:5px;margin:10px 0;display:flex}.article-content .bottom-images-3 img{width:33%;height:auto;margin:0}.page-sidebar{text-align:center;font-size:.8rem}.page-sidebar h3{color:var(--blue);margin-bottom:10px;font-size:1rem;font-weight:700}.page-sidebar h3 img{vertical-align:middle;width:20px}.page-sidebar .essenuoto-logo{max-width:200px;margin:10px auto;display:block}.page-sidebar p{font-size:.8rem;line-height:1.5}.page-sidebar a{color:var(--blue);text-decoration:underline}.contact-form-sidebar{font-size:.8rem}.contact-form-sidebar p{margin-bottom:10px}.form-input{color:#495057;border:1px solid #ced4da;border-radius:.25rem;width:100%;margin-bottom:1rem;padding:.5rem .75rem;font-family:Ubuntu,sans-serif;font-size:1rem;line-height:1.25;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:block}.form-input:focus,.form-textarea:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem #007bff40}.form-textarea{color:#495057;resize:vertical;border:1px solid #ced4da;border-radius:.25rem;width:100%;margin-bottom:1rem;padding:.5rem .75rem;font-family:Ubuntu,sans-serif;font-size:1rem;line-height:1.25;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:block}.form-submit{color:var(--white);cursor:pointer;background:#cb5687;border:1px solid #007bff;border-radius:.25rem;padding:.375rem .75rem;font-family:Ubuntu,sans-serif;font-size:1rem;line-height:1.5}.form-submit:hover{background:#b74a76}.form-success{color:#155724;background:#d4edda;border:1px solid #c3e6cb;border-radius:.25rem;padding:1rem}.form-success h4{margin-bottom:.5rem}.contact-table{border-collapse:collapse;width:100%;margin:15px 0}.contact-table td{vertical-align:top;width:33.3%;padding:8px 15px 8px 0;font-size:.8rem;line-height:1.6}.contact-table a{color:var(--blue);text-decoration:none}.contact-table a:hover{text-decoration:underline}.contact-table img{margin-top:5px}.article-list .article-item{margin-bottom:15px}.article-date{color:var(--text-light);margin-bottom:-1px;font-size:.8rem}.article-title{margin-bottom:0;font-size:1.1rem;font-weight:700}.article-title .article-link{color:var(--blue);font-size:.8rem;font-weight:700;text-decoration:underline}.article-link{color:var(--blue);margin-bottom:15px;font-size:.8rem;text-decoration:underline;display:block}.no-articles{color:var(--text-light);font-size:.8rem}.nallikari-col h3{color:var(--blue);margin-bottom:8px;font-size:1.1rem;font-weight:700}.nallikari-col h5{color:var(--text);margin-bottom:8px;font-size:1.25rem;font-style:normal;font-weight:500}.nallikari-col p{color:var(--text-light);margin-bottom:10px;font-size:.8rem;line-height:1.7}.swim-col{text-align:left}.swim-col.text-center{text-align:center}.swim-col .content-h3 a{justify-content:center;align-items:center;gap:6px;display:flex}.swim-col .essenuoto-logo{width:201px;height:39px;margin:10px auto;display:block}.swim-col strong{color:var(--text-light);font-size:.8rem;line-height:1.7}.swim-col p{color:var(--text-light);margin-bottom:8px;font-size:.8rem}.swim-col a.swim-link{color:var(--blue);font-size:.8rem;text-decoration:underline}.page-section{max-width:1140px;margin:0 auto;padding:0 15px}.page-hero{color:var(--white);text-transform:uppercase;background:#ddd url(/assets/kahvila-oulu-bg.jpg) 0 0/cover;height:115px;margin-bottom:0;padding:30px 25px 10px}.page-hero h1{text-shadow:0 0 5px #165580bf,0 0 5px #165580bf;margin-left:25px;font-size:2.2rem;font-weight:700}.page-body{background:var(--content-bg);margin-top:0;padding:20px 25px}.centered-loading{text-align:center;color:var(--text-light);max-width:1140px;margin:0 auto;padding:40px}.page-content{color:var(--text-light);font-size:.8rem;line-height:1.8}.page-content p{margin-bottom:14px}.page-content h3{color:var(--blue);margin:20px 0 8px;font-size:1.1rem}.page-content img{border-radius:3px;max-width:100%;height:auto}.news-listing{background:var(--white);padding:20px 30px}.news-listing-item{margin-bottom:18px}.news-listing-date{color:var(--text-light);margin-bottom:2px;font-size:.8rem}.news-listing-title{font-size:.9rem;font-weight:700}.news-listing-title a{color:var(--blue);text-decoration:none}.news-listing-title a:hover{text-decoration:underline}.news-listing-subtitle{margin-top:1px;font-size:.8rem}.news-listing-subtitle a{color:var(--blue);text-decoration:none}.news-listing-subtitle a:hover{text-decoration:underline}.lunch-badge{text-align:center;color:var(--blue);margin:0 0 20px;font-size:1rem;font-weight:600}.lunch-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;display:grid}.lunch-day-card{background:var(--white);border:1px solid #ddd;border-radius:4px;padding:15px}.lunch-day-card h3{color:var(--blue);text-align:center;border-bottom:2px solid var(--blue);margin-bottom:10px;padding-bottom:8px;font-size:1.1rem;font-weight:700}.lunch-day-card ul{list-style:none}.lunch-day-card li{border-left:3px solid var(--blue);background:#f9f9f9;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:8px 10px;font-size:.8rem;display:flex}.lunch-day-card li strong{color:var(--text)}.lunch-day-card li em{color:var(--blue);font-style:normal;font-weight:700}.lunch-dish-desc{color:var(--text-light);font-size:.75rem;display:block}.admin-section{max-width:1140px;margin:0 auto;padding:0 15px}.admin-hero{background:var(--blue);color:var(--white);text-align:center;padding:20px}.admin-hero h1{font-size:1.5rem;font-weight:700}.admin-body{background:var(--content-bg);padding:20px}.admin-status{border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 14px;font-size:.85rem;font-weight:500;display:flex}.admin-status.ok{color:#155724;background:#d4edda}.admin-logout{color:var(--white);cursor:pointer;background:#dc3545;border:none;border-radius:4px;padding:5px 12px;font-size:.8rem;font-weight:600}.admin-logout:hover{background:#c82333}.admin-tabs{flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.admin-tab{background:var(--white);cursor:pointer;border:1px solid #ccc;border-radius:4px;padding:6px 14px;font-size:.85rem;font-weight:500;transition:all .2s}.admin-tab:hover{border-color:var(--blue)}.admin-tab.active{background:var(--blue);color:var(--white);border-color:var(--blue)}.admin-location-tabs{gap:4px;margin-bottom:12px;display:flex}.admin-location-tabs .admin-tab{padding:5px 12px;font-size:.8rem}.admin-form{gap:10px;margin-bottom:16px;display:grid}.admin-form label{gap:3px;font-size:.85rem;font-weight:500;display:grid}.admin-form input,.admin-form textarea,.admin-form select{border:1px solid #ccc;border-radius:4px;padding:8px 10px;font-family:inherit;font-size:.85rem}.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 2px #4697ce26}.admin-btn{background:var(--blue);color:var(--white);cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .4s}.admin-btn:hover{background:var(--blue-dark)}.admin-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:.8rem}.admin-table th{text-align:left;color:var(--blue-dark);border-bottom:2px solid var(--blue);background:#f0f4f8;padding:8px 10px;font-size:.8rem}.admin-table td{border-bottom:1px solid #ddd;padding:8px 10px}.admin-table tr:hover td{background:#f8faff}.admin-delete-btn{color:var(--white);cursor:pointer;background:#dc3545;border:none;border-radius:3px;padding:4px 8px;font-size:.75rem}.admin-delete-btn:hover{background:#c82333}.admin-edit-btn{background:var(--orange);color:var(--white);cursor:pointer;border:none;border-radius:3px;margin-right:3px;padding:4px 8px;font-size:.75rem}.admin-edit-btn:hover{background:#d99200}.admin-login-box{max-width:400px;margin:0 auto}.not-found{text-align:center;padding-top:48px;padding-bottom:64px}.not-found h1{margin-bottom:12px}.not-found p{margin-bottom:20px}.admin-link-btn{color:var(--blue);cursor:pointer;background:0 0;border:none;margin:12px auto 0;padding:4px;font-size:.85rem;text-decoration:underline;display:block}.admin-link-btn:hover{color:var(--blue-dark)}.admin-reset-form{background:#f8faff;border:1px solid #d6e4f5;border-radius:6px;margin-top:14px;padding:14px}.error{color:#dc3545;background:#f8d7da;border-left:4px solid #dc3545;border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:.85rem}.success-msg{color:#155724;background:#d4edda;border-left:4px solid #28a745;border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:.85rem}.page-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:16px;display:grid}.page-card{background:var(--white);cursor:pointer;border:2px solid #ddd;border-radius:6px;padding:16px;transition:all .2s}.page-card:hover{border-color:var(--blue);box-shadow:0 2px 8px #4697ce33}.page-card-title{margin-bottom:4px;font-size:.95rem;font-weight:700}.page-card-slug{color:var(--text-light);font-size:.75rem}.page-card.lunch-card{background:#f0faf4;border-color:#27ae60}.page-card.lunch-card:hover{border-color:#1e8449;box-shadow:0 2px 8px #27ae6040}.page-card-icon{margin-bottom:6px;font-size:1.6rem}.lunch-status-badge{color:#fff;letter-spacing:.5px;border-radius:10px;margin-bottom:6px;padding:2px 8px;font-size:.65rem;font-weight:700;display:inline-block}.lunch-status-badge.published{background:#27ae60}.lunch-status-badge.scheduled{background:#e67e22}.lunch-status-badge.draft{background:#aaa}.page-card.lunch-published{background:#f0faf4;border-color:#27ae60}.page-card.lunch-scheduled{background:#fef5e7;border-color:#e67e22}.page-card.lunch-draft{background:#f8f8f8;border-color:#ccc}.nav-editor-item{cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #ddd;border-radius:6px;align-items:center;gap:10px;margin-bottom:4px;padding:8px 12px;transition:background .15s;display:flex}.nav-editor-item:hover{background:#f5f5f5}.nav-editor-item:active{cursor:grabbing}.nav-editor-item.locked{cursor:default;color:#999;background:#f8f8f8}.nav-drag-handle{color:#aaa;min-width:20px;font-size:1rem}.lunch-card-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.page-editor-schedule-bar{background:#fef9e7;border:1px solid #f0d78c;border-radius:4px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;display:flex}.page-editor-schedule-bar select,.page-editor-schedule-bar input{border:1px solid #ccc;border-radius:4px;padding:4px 8px;font-size:.85rem}.page-editor-overlay{z-index:100;background:#00000080;justify-content:center;align-items:flex-start;padding:15px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.page-editor{background:var(--white);border-radius:8px;flex-direction:column;width:100%;max-width:1200px;max-height:calc(100vh - 30px);display:flex;box-shadow:0 4px 20px #0000004d}.page-editor-header{background:#f8f9fa;border-bottom:1px solid #ddd;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.page-editor-header h3{margin:0;font-size:1rem}.page-editor-actions{align-items:center;gap:8px;display:flex}.page-editor-saved{color:#28a745;font-size:.85rem;font-weight:700}.page-editor-toolbar{background:#f0f0f0;border-bottom:1px solid #ddd;flex-wrap:wrap;gap:2px;padding:8px 12px;display:flex}.toolbar-btn{background:var(--white);cursor:pointer;text-align:center;border:1px solid #ccc;border-radius:3px;min-width:28px;padding:4px 8px;font-size:.8rem;font-weight:600}.toolbar-btn:hover{background:#e0e0e0}.toolbar-btn.active{background:var(--blue);color:var(--white);border-color:var(--blue)}.toolbar-sep{background:#ccc;align-self:stretch;width:1px;margin:0 4px}.toolbar-select{background:var(--white);cursor:pointer;border:1px solid #ccc;border-radius:3px;max-width:110px;height:26px;padding:3px 6px;font-family:Ubuntu,sans-serif;font-size:.78rem}.toolbar-select:focus{border-color:var(--blue);outline:none}.toolbar-color-btn{background:var(--white);cursor:pointer;text-underline-offset:2px;border:1px solid #ccc;border-radius:3px;justify-content:center;align-items:center;min-width:28px;padding:4px 8px;font-size:.85rem;font-weight:700;-webkit-text-decoration:underline #e74c3c;text-decoration:underline #e74c3c;text-decoration-thickness:3px;display:inline-flex;position:relative}.toolbar-color-btn:hover{background:#e0e0e0}.page-editor-content{background:var(--content-bg);outline:none;flex:1;min-height:400px;padding:20px;font-size:.8rem;line-height:1.6;overflow-y:auto}.page-editor-content:focus{background:#fff}.page-preview-area{background:var(--white);flex:1;min-height:500px;overflow-y:auto}.page-editor-etusivu{outline:none;min-height:400px}.page-editor-etusivu:focus{outline:none}.page-editor-footer-contact{background:var(--content-bg);border-top:3px solid var(--blue);margin-top:0}.page-editor-footer-contact-header{color:#fff;background:#4697ce;justify-content:space-between;align-items:center;padding:8px 16px;font-size:.8rem;font-weight:600;display:flex}.page-editor-footer-contact-body{color:var(--text-light);cursor:text;outline:none;min-height:60px;padding:4px 0;font-size:.8rem}.page-editor-footer-contact-body:focus{outline:2px solid var(--blue);outline-offset:-2px}.page-editor-editable{outline-offset:3px;cursor:text;outline:2px dashed #4697ce59;min-height:200px;transition:outline .15s}.page-editor-editable:focus{outline:2px solid var(--blue);outline-offset:3px}.page-editor-content img{cursor:pointer;border-radius:3px;max-width:100%;height:auto;transition:outline .15s}.page-editor-content img:hover{outline:3px solid var(--blue);outline-offset:2px}.image-popup{z-index:1000;background:#fff;border:1px solid #ccc;border-radius:8px;width:320px;padding:0;position:absolute;overflow:hidden;box-shadow:0 6px 24px #0000002e}.link-popup{z-index:2000;background:#fff;border:1px solid #ccc;border-radius:8px;width:380px;position:fixed;overflow:hidden;box-shadow:0 6px 24px #00000038}.link-popup-header{background:var(--blue-dark);color:#fff;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.85rem;font-weight:600;display:flex}.link-popup-field{border-bottom:1px solid #f0f0f0;align-items:center;gap:8px;padding:7px 12px;display:flex}.link-popup-field label{color:#555;min-width:90px;font-size:.78rem;font-weight:600}.link-popup-field input,.link-popup-field select{border:1px solid #ced4da;border-radius:3px;flex:1;min-width:0;padding:4px 6px;font-family:Ubuntu,sans-serif;font-size:.8rem}.link-popup-field input:focus,.link-popup-field select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 2px #4697ce33}.link-popup-actions{background:#f8f9fa;gap:6px;padding:8px 12px;display:flex}.image-popup-header{background:var(--blue-dark);color:#fff;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.8rem;font-weight:600;display:flex}.image-popup-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1rem}.image-popup-close:hover{color:#ffd}.image-popup-preview{text-align:center;padding:8px 12px 4px}.image-popup-preview img{border:1px solid #ddd;border-radius:3px;max-width:100%;max-height:100px}.image-popup-field{align-items:center;gap:6px;padding:3px 12px;display:flex}.image-popup-field label{white-space:nowrap;min-width:55px;font-size:.75rem;font-weight:600}.image-popup-field input{border:1px solid #ccc;border-radius:3px;flex:1;padding:4px 6px;font-size:.75rem}.image-popup-actions{justify-content:flex-end;gap:8px;padding:10px 12px;display:flex}.page-editor-html{resize:none;border:none;outline:none;flex:1;min-height:400px;padding:16px;font-family:Consolas,Monaco,monospace;font-size:.8rem;line-height:1.5}footer{background:var(--content-bg);color:var(--text-light);margin-top:50px;font-size:.8rem}.footer-grid{grid-template-columns:1fr 1fr 1fr;gap:0;max-width:1140px;margin:0 auto;display:grid}.footer-col{padding:1rem}.footer-col address{color:var(--text-light);font-size:.8rem;font-style:normal;line-height:1.8}.footer-col strong{color:var(--text);font-weight:700}.footer-col a{color:var(--text-light);text-decoration:none}.footer-col a:hover{color:var(--blue)}.footer-copy{text-align:center;color:var(--text-light);border-top:1px solid #ccc;max-width:1140px;margin:0 auto;padding:12px 0;font-size:.8rem}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:flex-start;padding-top:60px;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--white);border-radius:4px;width:90%;max-width:500px;box-shadow:0 5px 15px #00000080}.modal-header{color:var(--white);background:#4491aa;border-radius:4px 4px 0 0;justify-content:space-between;align-items:center;padding:15px;display:flex}.modal-title{color:var(--white);margin:0;font-size:1.1rem;font-weight:700}.modal-close{color:var(--white);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.5rem;line-height:1}.modal-body{color:var(--text);max-height:60vh;padding:15px 20px;font-size:.85rem;line-height:1.6;overflow-y:auto}.modal-body p{margin-bottom:2px}.lunch-content{line-height:1.6}.lunch-content :is(p,div,li){margin-block:0!important;padding-block:0!important;line-height:1.6!important}.lunch-content :is(h1,h2,h3,h4,h5,h6){margin-block:.8em .3em!important;line-height:1.6!important}.lunch-content>:first-child{margin-top:0!important}.lunch-content :is(h1,h2,h3,h4,h5,h6):has(>p,>div){margin-block:0!important}.modal-footer{border-top:0;justify-content:flex-end;padding:10px 15px;display:flex}.modal-btn{background:var(--text-light);color:var(--white);cursor:pointer;border:none;border-radius:4px;padding:6px 16px;font-size:.85rem}.modal-btn:hover{background:#555}@media (width<=991px){.sect-promo{height:190px;padding:20px}.promo-h1{font-size:20px}.sect-boxes .row{grid-template-columns:1fr}.box-float{margin-top:0}.sect-content .row,.footer-grid{grid-template-columns:1fr}.navbar-inner{justify-content:flex-start}}@media (width<=600px){.nav-link{padding:8px 10px;font-size:.85rem}.lunch-grid{grid-template-columns:1fr}}.cookie-banner{color:#fff;z-index:10000;background:#000000eb;padding:18px 0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000004d}.analytics-settings-button{z-index:9999;color:#165580;font:inherit;cursor:pointer;background:#fff;border:1px solid #555;border-radius:4px;padding:7px 10px;position:fixed;bottom:10px;left:10px}.cookie-banner-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;max-width:1140px;margin:0 auto;padding:0 15px;display:flex}.cookie-banner p{flex:400px;margin:0;font-size:.85rem;line-height:1.5}.cookie-buttons{flex-shrink:0;gap:10px;display:flex}.cookie-btn{cursor:pointer;border:none;border-radius:4px;padding:10px 22px;font-size:.85rem;font-weight:600;transition:background .2s}.cookie-btn.accept{background:var(--blue);color:#fff}.cookie-btn.accept:hover{background:var(--blue-dark)}.cookie-btn.decline{color:#ccc;background:0 0;border:1px solid #666}.cookie-btn.decline:hover{color:#fff;background:#333}@media (width<=600px){.cookie-banner-inner{text-align:center;flex-direction:column}.cookie-buttons{justify-content:center}}.nallikari-home .sect-boxes .box-float-container{background:#fff;flex-direction:column;gap:12px;margin-top:0;padding:18px 15px;display:flex}.nallikari-home .nallikari-lunch-link{background:var(--blue,#258ec6);color:#fff;border-radius:6px;align-items:center;gap:10px;min-height:60px;padding:12px 14px;font-weight:600;line-height:1.35;text-decoration:none;display:flex;box-shadow:0 2px 6px #0000001f}.nallikari-home .nallikari-lunch-link:hover,.nallikari-home .nallikari-lunch-link:focus-visible{color:#fff;background:#1677aa;text-decoration:none}.nallikari-home .nallikari-lunch-link .fa-chevron-right{margin-left:auto}.sect-content .row>*,.footer-grid>*{min-width:0}.article-content,.page-sidebar,footer{overflow-wrap:anywhere}.article-content .bottom-images,.article-content .bottom-images-3{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.article-content .bottom-images-3{grid-template-columns:repeat(3,minmax(0,1fr))}.article-content :is(.bottom-images,.bottom-images-3) img{width:100%;height:auto}.page-sidebar img{max-width:100%}.sect-promo:has(.page-hero-box){min-height:360px}.modal-overlay{padding:12px;overflow-y:auto}.modal-dialog{flex-direction:column;width:100%;max-height:calc(100dvh - 72px);margin-top:48px;display:flex}.modal-header,.modal-footer{flex-shrink:0}.modal-body{overflow-wrap:anywhere;min-height:0;max-height:none}.modal-close{flex-shrink:0;min-width:44px;min-height:44px}.analytics-settings-button{z-index:50}.page-editor-overlay{top:var(--editor-top,0px);height:min(var(--editor-height,100dvh), 100dvh);bottom:auto;overflow:hidden}.page-editor{height:100%;min-height:0;max-height:900px;overflow:hidden}.page-editor-header{flex-shrink:0;gap:12px}.page-editor-header h3{overflow-wrap:anywhere;min-width:0}.page-editor-actions{flex-wrap:wrap;flex-shrink:0}.page-editor-controls{flex:0 auto;min-height:0;max-height:40%;overflow:auto}.page-editor-schedule-bar label{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.page-editor-schedule-bar :is(input,select){min-width:0;max-width:100%}.page-editor-week{width:280px}.page-editor-lunch-body{flex-direction:column;flex:1;min-width:0;min-height:96px;display:flex;position:relative}.page-editor-content,.page-preview-area,.page-editor-html{min-width:0;min-height:0;overflow:auto}.page-editor-content{overflow-wrap:anywhere}.page-editor-toolbar{gap:4px}.admin-location-tabs{flex-wrap:wrap}.admin-form :is(input,select,textarea){width:100%;min-width:0}@media (width<=991px){.sect-content .row.article-row{grid-template-columns:minmax(0,1fr)}.sect-promo:has(.page-hero-box){flex-direction:column;gap:16px;height:auto;min-height:190px;display:flex}.page-hero-box,.page-hero-box-right{align-self:flex-start;max-width:100%;position:static}.page-hero-box-right{align-self:flex-end}}@media (width<=600px){.header-inner{flex-wrap:wrap;gap:8px}.header-slogan{flex-basis:100%}.nav-link{align-items:center;min-height:44px;display:inline-flex}.sect-content .row,.sect-content .row.article-row{padding:8px}.sect-content :is(.col,.col-wide,.col-sidebar){padding:12px}.contact-table,.contact-table tbody{grid-template-columns:minmax(0,1fr);display:grid}.contact-table tr{display:contents}.contact-table td{width:auto;min-width:0;padding:8px 0}.contact-table tr:first-child td:first-child{grid-row:1}.contact-table tr:first-child td:nth-child(2){grid-row:3}.contact-table tr:first-child td:nth-child(3){grid-row:5}.contact-table tr:nth-child(2) td:first-child{grid-row:2}.contact-table tr:nth-child(2) td:nth-child(2){grid-row:4}.contact-table tr:nth-child(2) td:nth-child(3){grid-row:6}.contact-table td:empty{display:none}.cookie-banner-inner p{flex:auto}.cookie-buttons{flex-wrap:wrap}.cookie-btn{flex:160px}.page-editor-overlay{padding:6px}.page-editor-header{flex-wrap:wrap;gap:6px;padding:8px 10px}.page-editor-header h3{flex:1 0 100%;font-size:.9rem}.page-editor-actions{justify-content:flex-end;gap:6px;width:100%}.page-editor-actions button,.toolbar-btn,.toolbar-color-btn{min-width:44px;min-height:44px}.toolbar-select{height:44px;font-size:16px}.page-editor-schedule-bar :is(input,select),.admin-form :is(input,select,textarea){min-height:44px;font-size:16px}.page-editor-content{padding:12px;font-size:16px}.page-editor-schedule-bar label,.page-editor-week{width:100%}.admin-body{padding:12px}}@media (height<=600px){.modal-dialog{max-height:calc(100dvh - 24px);margin-top:0}.modal-header,.page-editor-overlay{padding-block:6px}}
