*{box-sizing:border-box}html,body{margin:0;background:#fafafa}body{font-family:Arial,sans-serif;color:#251f21;font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased}.page{width:100%;max-width:1040px;margin:auto;padding:24px;overflow-wrap:break-word}.page>*{min-width:0}a:focus-visible{outline:2px solid #7e412c;outline-offset:3px}@media(min-width:768px){.page{padding:36px}}
html, body, #root { margin: 0; min-height: 100%; }
body { background: #fafafa; }

.zp-hero {
    background: #7E412C;
    border-radius: 18px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 14px;
    color: #F5E2B7;
}
.zp-logo {
    height: 64px;
    width: 64px;
    border-radius: 14px;
    flex: 0 0 auto;
}
.zp-hero-text { flex: 1 1 auto; min-width: 0; }
.zp-hello {
    font-family: 'WienDemiC', serif;
    font-size: 14px;
    margin: 0 0 1px;
    color: #E5A842;
    line-height: 1.1;
}
.zp-title {
    font-family: 'WienDemiC', serif;
    font-size: 23px;
    margin: 0;
    color: #F5E2B7;
    line-height: 1.15;
}
.zp-sub {
    font-family: -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    font-size: 14.5px;
    font-weight: 600;
    margin: 5px 0 0;
    color: #E5A842;
    line-height: 1.25;
}

.zp-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}
.zp-btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1px;
    padding: 8px 16px;
    min-height: 44px;
    border-radius: 12px;
    border: 1.5px solid #7E412C;
    background: #fff;
    text-decoration: none;
    color: #251f21;
}
.zp-btn-primary { background: #7E412C; }
.zp-btn-name {
    font-family: 'WienDemiC', serif;
    font-size: 17px;
    line-height: 1.2;
}
.zp-btn-primary .zp-btn-name { color: #F5E2B7; }
.zp-btn-sub {
    font-family: -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    font-size: 13.5px;
    font-weight: 500;
    color: #5d5254;
    line-height: 1.3;
}
.zp-btn-primary .zp-btn-sub { color: #F5E2B7; }

.zp-addr {
    text-align: center;
    font-family: 'WienLightC', serif;
    font-size: 14px;
    color: #7E412C;
    margin: 12px 0 0;
}


.zp-wrap { margin-top: -8px; }
.zp-hero { padding: 10px 14px; gap: 12px; }
.zp-logo { height: 58px; width: 58px; }
.zp-hello { font-size: 13px; }
.zp-title { font-size: 21px; }
.zp-sub { font-size: 13.5px; }
.zp-list { margin-top: 10px; gap: 7px; }
.zp-btn { padding: 7px 14px; }
.zp-addr { margin-top: 10px; font-size: 13px; }


@media (max-height: 620px) {
    .zp-wrap { margin-top: -10px; }
    .zp-hero { padding: 7px 12px; border-radius: 14px; gap: 10px; }
    .zp-logo { height: 46px; width: 46px; border-radius: 11px; }
    .zp-hello { font-size: 12px; }
    .zp-title { font-size: 17.5px; }
    .zp-sub { font-size: 12px; }
    .zp-list { gap: 6px; margin-top: 8px; }
    .zp-btn { padding: 5px 12px; min-height: 40px; border-radius: 10px; }
    .zp-btn-name { font-size: 16px; }
    .zp-btn-sub { font-size: 12px; }
    .zp-addr { margin-top: 7px; font-size: 12px; }
}
@media (max-width: 340px) {
    .zp-hello { font-size: 12px; }
    .zp-title { font-size: 16px; }
    .zp-sub { font-size: 12px; }
    .zp-btn-name { font-size: 16px; }
    .zp-btn-sub { font-size: 12px; }
}

.zp-btn-care {
    background: #f4efec;
    border-color: #e0d5cf;
    margin-top: 4px;
}
.zp-btn-care .zp-btn-name { color: #7E412C; font-size: 16px; }
.zp-btn-care .zp-btn-sub { color: #5d5254; }


.zp-hero { padding:10px; gap:12px; }
.zp-logo { width:100px; height:100px; border-radius:14px; }
.zp-title { font-size:23px; }
.zp-sub { font-size:13px; }
@media(max-width:340px){ .zp-logo { width:86px; height:86px; } .zp-title {font-size:20px;} .zp-sub {font-size:12px;} }



.zp-btn-save { margin-top:10px; background:#F5E2B7; }
.zp-btn-save .zp-btn-name {color:#7E412C;}
.zp-hours {text-align:center; font:12px/1.5 -apple-system,'Segoe UI',Arial,sans-serif; color:#5d5254; margin:6px 0 0;}

.zp-since {text-align:center;font:12px/1.4 -apple-system,'Segoe UI',Arial,sans-serif;color:#7E412C;margin:6px 0;}
.zp-slogan {text-align:center;font:22px/1.2 'WienDemiC',serif;color:#7E412C;margin:10px 0 0;}


.zp-wrap {margin-top:12px;}
.zp-footer {margin-top:14px;text-align:center;}
.zp-footer-info {font:13px/1.45 -apple-system,'Segoe UI',Arial,sans-serif;color:#5d5254;margin:0;}
.zp-since {font-size:11px;line-height:1.3;margin:5px 0 0;}
.zp-slogan {font-size:21px;line-height:1.2;margin:5px 0 0;}
@media(max-height:620px){.zp-wrap{margin-top:12px;}}


.zp-wrap {margin-top:0;}
.zp-footer {margin-top:10px;}
.zp-footer p {font:10.5px/1.4 -apple-system,'Segoe UI',Arial,sans-serif;color:#81716b;margin:0;}
.zp-footer p + p {margin-top:2px;}
@media(max-height:620px){.zp-wrap{margin-top:0;}}


.zp-list {gap:6px; margin-top:8px;}
.zp-btn {padding:6px 12px;min-height:44px;box-sizing:border-box;}
.zp-btn-name {font-size:18px;}
.zp-btn-sub {font-size:12px;}
.zp-pair {display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.zp-inline {flex-direction:row;align-items:center;justify-content:space-between;gap:8px;}
.zp-inline .zp-btn-sub {text-align:right;}
.zp-btn-save {margin-top:0;}
.zp-btn-care {margin-top:0;}
.zp-footer {margin-top:8px;}

.zp-menu {margin-top:12px;}
.zp-menu-label {display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-family:WienDemiC,sans-serif;font-size:14px;margin:0 2px 6px;color:#7b452c;}
.zp-menu-label span {font-family:WienLightC,sans-serif;font-size:11px;color:#795b4c;}


.zp-wrap {min-height:calc(100svh - 48px);display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;}
@media(min-width:768px){.zp-wrap{min-height:calc(100svh - 80px);}}
