/* Shared refinement; app.css stays untouched. */
.public-body .card-specialties .card-specialty,.public-body .restaurant-stack .hero-specialties .card-specialty{color:#971b29;font-weight:650}
.workspace .restaurant-editor-form [data-specialty-picker] .specialty-tag,.experience-public .contribution-form .specialty-picker .specialty-tag{background:#fce3e7;border-color:#efbdc5;color:#a21a2a}
.workspace .restaurant-editor-form [data-specialty-picker] .specialty-tag button{color:inherit}
.ws-account-actions{display:flex;align-items:center;gap:16px;min-width:0}
.ws-account-actions>form{margin:0;flex:0 0 auto}
.workspace .ws-welcome{font-size:13px;min-width:0}
.ws-welcome>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}
.ws-topbar-logout{width:38px;height:38px;color:#667085;border:1px solid #e4e7ec;border-radius:10px}
.ws-topbar-logout:hover{background:#fff1f2;color:#a21a2a;border-color:#edc6cc}
.account-activation{display:flex;align-items:center;gap:14px;background:#fff7e8;border:1px solid #efd9ac;border-radius:12px;padding:14px 16px;margin:0 0 22px;color:#744c16;font-size:13px;line-height:1.5}
.public-body:not(.workspace) .account-activation{margin-top:20px}
.account-activation .activation-mark{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;background:#ffedc5;border-radius:10px}
.activation-mark .ws-icon{width:19px;height:19px}
.account-activation>div:first-of-type{flex:1;min-width:0}
.account-activation strong{font-size:14px}
.account-activation p{margin:3px 0 0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.activation-actions{display:flex;gap:8px 16px;align-items:center;flex-wrap:wrap;flex:0 0 auto}
.activation-actions form,.account-pending-email form{margin:0}
.activation-link,.activation-actions>a{border:0;background:transparent;padding:4px 0;color:#744c16;font-family:inherit;font-size:12px;font-weight:650;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.account-form-error{padding:12px 15px;background:#fff1f2;border:1px solid #f0c0c6;border-radius:10px;color:#a21a2a;font-size:13px;margin-bottom:20px}
.account-pending-email{margin:18px 24px 0;padding:13px 15px;background:#fff7e8;border:1px solid #efd9ac;border-radius:10px;font-size:13px;line-height:1.6;color:#744c16}
.account-pending-email p{margin:4px 0 8px;overflow-wrap:anywhere}
.account-pending-email>div{display:flex;gap:18px;flex-wrap:wrap}
.account-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.workspace .account-security-grid .ws-panel{margin:0}
.workspace .account-security-grid .ws-security{max-width:none}
.account-favorite-filter{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:12px 14px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;width:fit-content;max-width:100%;box-shadow:0 3px 12px #10182805}
.account-favorite-filter label{display:flex;gap:8px;align-items:center;margin:0;font-size:13px;font-weight:600}
.account-favorite-filter label .ws-icon{color:#c9202c;width:18px;height:18px}
.workspace .account-favorite-filter select{width:220px;min-width:0;margin:0;min-height:38px;height:38px;padding:6px 30px 6px 10px;font-size:13px;border-radius:8px}
.account-favorite-filter .ws-icon-button{width:36px;height:36px;border:1px solid #e4e7ec;border-radius:8px;color:#a21a2a;display:grid;place-items:center}
.account-favorite-total{font-size:12px;color:#667085}
.workspace .restaurant-filter-reset{flex:0 0 38px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #e4e7ec;border-radius:9px;color:#a21a2a;background:#fff}
.workspace .restaurant-filter-reset:hover{background:#fff0f1}
.workspace .hours-editor-section .hours-editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px;font-size:13px;color:#667085}
.workspace .hours-editor-toolbar .hours-sync-button{display:inline-flex;align-items:center;gap:7px;font-size:12px;min-height:36px;padding:7px 10px;width:auto;max-width:100%;white-space:normal;text-align:start;border-radius:8px}
.hours-sync-button .ws-icon{width:16px;height:16px;flex-shrink:0}
.hours-sync-button[aria-busy=true] .ws-icon{animation:hours-sync-spin 1s linear infinite}
.google-hours-status{font-size:12px;color:#667085;line-height:1.5;margin:0 0 12px}
.google-hours-status:empty{display:none}
/* Opening hours use the same label column and inputs as the restaurant form. */
.workspace .restaurant-editor-form .hours-editor-grid{display:block;max-width:none;border:0;border-radius:0;background:transparent;overflow:visible}
.workspace .restaurant-editor-form .hours-editor-day{padding:0;border:0}
.workspace .restaurant-editor-form .hours-editor-day .field-row{margin:0 0 16px;gap:var(--editor-gap,16px);grid-template-columns:var(--editor-label,160px) minmax(0,1fr)}
.workspace .restaurant-editor-form .hours-editor-day:last-child .field-row{margin-bottom:0}
.workspace .restaurant-editor-form .hours-editor-day .inline-change{margin-top:9px}
.restaurant-page .restaurant-hours-compact{padding:0;background:#f9fafb;border:1px solid #e4e7ec;border-radius:12px;margin-top:18px;max-width:580px;overflow:hidden}
.restaurant-page .restaurant-hours-compact summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;margin:0;padding:13px 16px;font-size:14px;cursor:pointer}
.restaurant-hours-compact summary::-webkit-details-marker{display:none}
.restaurant-hours-compact summary>span{display:flex;align-items:center;gap:7px}
.restaurant-hours-compact .hours-clock{margin:0;width:17px;height:17px}
.hours-chevron{width:17px;height:17px;color:#667085;transition:transform .15s ease}
.restaurant-hours-compact[open] .hours-chevron{transform:rotate(180deg)}
.restaurant-page .hours-week{margin:0;padding:0 12px 10px;border-top:1px solid #e4e7ec;font-size:13px}
.hours-week-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,1.2fr);gap:12px;padding:9px 6px;border-bottom:1px solid #edf0f3;align-items:baseline}
.hours-week-row:last-child{border-bottom:0}
.hours-week-row dt{color:#667085}
.hours-week-row dd{margin:0;text-align:end;font-weight:550;font-variant-numeric:tabular-nums;line-height:1.5;overflow-wrap:anywhere}
.hours-week-row.is-today dt,.hours-week-row.is-today dd{color:#263345}
@keyframes hours-sync-spin{to{transform:rotate(360deg)}}
@media(min-width:901px){.account-favorite-filter,.workspace .restaurant-search-form{position:sticky;top:12px;z-index:14}.workspace .restaurant-search-form{background:var(--ws-bg,#f5f6f8);padding:0 0 10px}.workspace .restaurant-list-filters{padding:12px;gap:8px}.workspace .restaurant-list-filters input,.workspace .restaurant-list-filters select{min-height:38px;height:38px;padding-top:7px;padding-bottom:7px}.workspace .restaurant-advanced-search[open] .advanced-body{max-height:45vh;overflow:auto}}
@media(min-width:761px){.city-page .filters{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;padding:18px}.city-page .filters form{gap:12px;margin-top:16px}.city-page .filters summary{font-size:17px}.city-page .filters label{font-size:13px}.city-page .filters input,.city-page .filters select{font-size:14px;min-height:40px;height:40px;margin-top:5px}.city-page .filter-search-input{margin-top:5px}.city-page .filter-search-input input{margin:0}.city-page .filter-apply,.city-page .filter-reset{min-height:40px}.city-page .filter-actions{grid-template-columns:minmax(0,1fr) 40px}}
@media(max-width:1100px){.account-security-grid{grid-template-columns:1fr}.account-activation{flex-wrap:wrap}.activation-actions{margin-inline-start:48px}.ws-welcome>span:last-child{max-width:220px}}
@media(max-width:600px){.account-activation{padding:12px;gap:10px;margin-bottom:18px;align-items:flex-start}.activation-actions{margin-inline-start:44px;gap:8px 14px}.account-activation strong{font-size:13px}.account-activation p{font-size:12px}.workspace .ws-welcome>span:last-child{display:block;max-width:calc(100vw - 145px);font-size:12px}.workspace .ws-welcome .ws-avatar{display:none}.workspace:not(.workspace-admin) .ws-topbar-left>strong{display:none}.ws-account-actions{gap:9px}.workspace .ws-topbar-logout{width:34px;height:34px}.account-favorite-filter{width:100%;padding:10px;gap:8px}.account-favorite-filter label>span{display:none}.workspace .account-favorite-filter select{flex:1;width:auto;font-size:14px}.account-favorite-filter .ws-icon-button{flex:0 0 34px}.workspace .hours-editor-toolbar{flex-wrap:wrap}.workspace .hours-editor-toolbar>span{display:none}.workspace .restaurant-editor-form .hours-editor-day .field-row{grid-template-columns:minmax(0,1fr);gap:6px}.restaurant-page .restaurant-hours-compact summary{padding:12px 13px}.restaurant-page .hours-week{font-size:13px;padding-inline:8px}.hours-week-row{grid-template-columns:minmax(105px,1fr) minmax(0,1.2fr);gap:9px}}
@media(prefers-reduced-motion:reduce){.hours-chevron{transition:none}.hours-sync-button[aria-busy=true] .ws-icon{animation:none}}
/* Personal area: compact toolbar, cards grouped by city and stacked account panels. */
.workspace-member .account-page-heading{margin-bottom:24px;gap:14px;align-items:center}
.account-heading-title{display:flex;align-items:center;gap:10px;min-width:0}
.workspace .account-heading-title h1{font-size:24px;margin:0;white-space:nowrap}
.account-result-count{font-size:11px;color:#667085;background:#eaecf0;border-radius:20px;padding:4px 9px;white-space:nowrap}
.workspace .account-favorites-heading{position:sticky;top:0;z-index:14;display:flex;flex-wrap:wrap;padding:12px 0;background:var(--ws-bg,#f5f6f8)}
.workspace .account-favorites-heading .account-favorite-filter{position:static;margin:0 0 0 auto;padding:5px 7px;gap:6px;box-shadow:none;border-radius:10px}
.workspace .account-favorite-filter select{width:180px;border:0;background:transparent;box-shadow:none;height:36px;min-height:36px;padding-inline-start:4px}
.workspace .account-favorite-filter .ws-icon-button{width:32px;height:32px;flex-basis:32px;border:0}
.workspace .account-favorite-filter label{padding-inline:3px}
.workspace .account-discover{font-size:12px;min-height:42px;padding:9px 12px;flex-shrink:0}
.account-city-group{margin:0 0 28px}
.account-city-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.account-city-heading h2{display:flex;align-items:center;gap:6px;margin:0;font-size:16px;font-weight:650;color:#344054}
.account-city-heading h2 .ws-icon{width:17px;height:17px;flex-basis:17px;color:#c9202c}
.account-city-heading>span{font-size:11px;color:#667085}
.workspace .account-city-group .ws-favorites{padding:0;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
.workspace .account-city-group .ws-favorite{background:#fff;border-radius:14px;padding:14px;border:1px solid #e4e7ec;box-shadow:0 2px 5px #10182803;transition:border-color .15s,box-shadow .15s}
.workspace .account-city-group .ws-favorite:hover{border-color:#d2d7df;box-shadow:0 4px 12px #10182808}
.workspace .account-city-group .ws-favorite-main{min-width:0}
.workspace .account-city-group .ws-favorite-main>div:last-child{min-width:0}
.workspace .account-city-group .ws-favorite-main h3{font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.workspace .account-city-group .ws-favorite-main span{font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.workspace .account-city-group .ws-favorite-main p{font-size:12px;margin-block:5px}
.workspace .account-city-group .ws-favorite-image{width:86px;height:86px;flex-basis:86px;border-radius:10px}
.workspace .account-city-group .ws-favorite>form{margin:0;flex-shrink:0}
.account-empty{background:#fff;border:1px solid #e4e7ec;border-radius:14px}
.account-security-stack{display:grid;gap:14px;max-width:860px}
.account-security-accordion{background:#fff;border:1px solid #e4e7ec;border-radius:14px;overflow:hidden}
.account-security-accordion>summary{display:flex;align-items:center;gap:13px;padding:19px 22px;cursor:pointer;list-style:none}
.account-security-accordion>summary::-webkit-details-marker{display:none}
.account-security-accordion>summary>span{flex:1;min-width:0}
.account-security-accordion>summary strong{display:block;font-size:15px;line-height:1.5}
.account-security-accordion>summary small{display:block;color:#667085;font-size:12px;line-height:1.6;margin-top:2px;overflow-wrap:anywhere}
.account-security-accordion>summary>.ws-icon:first-child{color:#c9202c}
.account-security-accordion>summary>.ws-icon:last-child{width:17px;height:17px;flex-basis:17px;transform:rotate(90deg);color:#98a2b3}
.account-security-accordion[open]>summary{border-bottom:1px solid #eef0f3}
.account-security-accordion[open]>summary>.ws-icon:last-child{transform:rotate(-90deg)}
.workspace .account-security-accordion .ws-security-form{padding:22px;display:grid;gap:17px;max-width:600px}
.workspace .account-security-accordion .ws-security-form label{margin:0;font-size:13px}
.workspace .account-security-accordion .ws-security-form input{min-height:42px;margin-top:7px}
.workspace .account-security-accordion .ws-security-form .button{width:fit-content}
@media(max-width:1200px){.workspace .account-favorites-heading .account-heading-title{flex:1 0 100%}.workspace .account-favorites-heading .account-favorite-filter{margin-inline-start:0}.workspace .account-city-group .ws-favorites{grid-template-columns:1fr}}
@media(max-width:900px){.workspace-member .ws-profile>span:last-child{display:block}.workspace-member .ws-topbar-left>span,.workspace-member .ws-topbar-left>strong{display:none}.workspace-member .ws-topbar{height:64px}.workspace-member .ws-welcome>span:last-child{max-width:calc(100vw - 190px);font-size:12px}.workspace-member .ws-welcome .ws-avatar{display:none}.workspace .account-favorites-heading{top:0}}
@media(max-width:600px){.workspace .account-favorites-heading{flex-direction:row;gap:10px;padding:10px 0;margin-bottom:18px}.workspace .account-heading-title h1{font-size:22px}.workspace .account-favorites-heading .account-favorite-filter{flex:1 1 calc(100% - 52px);width:auto;min-width:0}.workspace .account-favorite-filter select{width:auto;flex:1;min-width:0;font-size:14px}.workspace .account-favorites-heading .account-discover{width:42px;min-width:42px;padding:10px;align-self:center}.workspace .account-discover>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.workspace .account-city-group .ws-favorite{padding:11px;gap:8px}.workspace .account-city-group .ws-favorite-image{width:72px;height:72px;flex-basis:72px}.workspace .account-city-group .ws-favorite-main{gap:10px}.workspace .account-city-group .ws-favorite-main h3{font-size:14px}.workspace .account-city-group .ws-favorite-main span{font-size:11px}.account-city-heading h2{font-size:15px}.account-security-accordion>summary{padding:16px}.workspace .account-security-accordion .ws-security-form{padding:18px 16px}.workspace .account-security-accordion .ws-security-form .button{width:100%}.account-result-count{font-size:10px}.workspace-member .ws-topbar-left{flex-shrink:0}.workspace-member .ws-account-actions{min-width:0}}
.workspace .ws-topbar-logout{background:#fff0f1;border-color:#f2c8ce;color:#971b29}
.workspace .ws-topbar-logout:hover{background:#fce0e4;border-color:#e5acb6;color:#7e1420}
.workspace .account-city-group .favorite-added-date{display:block;font-size:11px;line-height:1.5;color:#98a2b3;margin-top:6px}
@media(min-width:901px){
.workspace .account-security-accordion .ws-security-form{max-width:none}
.workspace .account-security-accordion .ws-security-form label{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:0 18px}
.workspace .account-security-accordion .ws-security-form label input{margin:0;width:100%;min-width:0}
.workspace .account-security-accordion .ws-security-form label small{grid-column:2;margin-top:5px}
.workspace .account-security-accordion .ws-security-form label .account-field-label{font-size:13px;line-height:1.5}
.workspace .account-security-accordion .ws-security-form>.button{margin-inline-start:208px}
}
/* Keep activation text readable even with long emails and action links. */
.public-body .account-activation{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:12px 14px}
.public-body .account-activation>div:first-of-type{width:auto;min-width:0}
.public-body .account-activation .activation-actions{margin:0;min-width:0;max-width:100%;align-self:center}
.public-body .account-activation p{word-break:normal;overflow-wrap:anywhere}
@media(max-width:1100px){
.public-body .account-activation{grid-template-columns:34px minmax(0,1fr)}
.public-body .account-activation .activation-actions{grid-column:2;justify-content:flex-start;gap:8px 16px}
}
@media(max-width:600px){
.public-body .account-activation{padding:12px;gap:8px 10px}
.public-body .account-activation strong{display:block;line-height:1.5}
.public-body .account-activation .activation-actions{grid-column:1 / -1;padding-top:4px;border-top:1px solid #efd9ac}
.public-body .account-activation .activation-actions form{max-width:100%}
.public-body .account-activation .activation-link,.public-body .account-activation .activation-actions>a{font-size:12px;white-space:normal}
}
/* Public header: language, account and logout grouped in reading order. */
.public-body .site-header{grid-template-columns:auto minmax(0,1fr)}
.public-body .site-header nav.public-header-actions{grid-column:2;display:flex;align-items:center;justify-content:flex-end;max-width:none;gap:8px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.public-body .site-header .header-language{display:block;flex:0 0 auto;margin:0;padding:0}
.public-body .site-header .header-language select{display:block;width:64px;height:38px;min-height:38px;margin:0;padding:7px 24px 7px 9px;border:1px solid #e4e7ec;border-radius:9px;background-color:#fff;color:#475467;font-size:12px;font-weight:600;cursor:pointer}
.public-body .site-header nav>a.header-account{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;white-space:nowrap}
.header-account svg,.header-logout svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.public-body .site-header .header-logout-form{display:block;flex:0 0 auto;margin:0}
.public-body .site-header .header-logout{display:grid;place-items:center;width:38px;height:38px;min-height:38px;border:1px solid #f2c8ce;background:#fff0f1;color:#971b29;border-radius:10px;padding:9px;cursor:pointer}
.public-body .site-header .header-logout:hover{background:#fce0e4;border-color:#e5acb6;color:#7e1420}
.public-body .site-header .header-logout:focus-visible,.public-body .site-header .header-language select:focus-visible{outline:3px solid #c9202c40;outline-offset:3px}
@media(max-width:760px){.public-body .site-header nav.public-header-actions{gap:6px}.public-body .site-header .header-language select{width:56px;padding-inline-start:7px;font-size:12px}.public-body .site-header nav>a.header-account{gap:5px;padding:8px;font-size:12px}.public-body .site-header .header-logout{width:34px;height:36px;min-height:36px;padding:8px}.public-body .site-header nav>a.header-dashboard{font-size:11px;padding:7px 8px}}
@media(max-width:370px){.public-body .site-header nav>a.header-account span{display:none}.public-body .site-header nav>a.header-account{width:36px;height:38px;padding:8px}.public-body .site-header nav.public-header-actions{gap:5px}}
.public-body .site-header .header-language select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-inline-end:22px}
html[dir=rtl] .public-body .site-header .header-language select{background-position:left 8px center}
/* Full-width public header with centered content. */
.public-body .site-header{display:block;width:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:#fff;box-shadow:0 2px 12px #10182808}
.public-body .site-header .site-header-inner{width:min(1040px,calc(100% - 48px));margin:0 auto;padding:16px 0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px}
@media(max-width:760px){.public-body .site-header .site-header-inner{width:calc(100% - 24px);padding:12px 2px;gap:8px}}
