.polished-home {
    width: min(1248px, calc(100% - 40px));
    max-width: 1248px;
    padding: 24px 0 72px;
}

.express-delivery-view { padding: 24px 0 72px; }
.express-topbar { display:flex; justify-content:space-between; align-items:center; padding:24px 28px; border-radius:20px; color:#fff; background:#142342; box-shadow:0 12px 30px rgba(16,24,47,.14); }
.express-topbar h2 { margin:0 0 5px; font-size:20px; }.express-topbar p { margin:0; color:#c6d1e3; font-size:12px; }.express-topbar button,.confirm-express { border:0; border-radius:11px; min-height:42px; padding:0 22px; color:#fff; background:#ff6900; font-weight:700; }
.express-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,.82fr); gap:20px; margin-top:18px; }.express-grid main { display:grid; gap:16px; }.express-panel,.express-summary { border:1px solid #e0e7f0; border-radius:18px; padding:20px; background:#fff; box-shadow:0 5px 18px rgba(16,24,47,.04); }.express-panel h3,.express-summary h3 { margin:0 0 16px; font-size:15px; color:#142342; }.express-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.express-fields label { display:grid; gap:8px; color:#718096; font-size:11px; font-weight:700; }.express-fields input,.express-fields select,.express-summary select { min-height:36px; padding:0 11px; border:1px solid #dce5ef; border-radius:8px; color:#142342; background:#f8fafc; }.package-types,.package-sizes,.service-options,.priority { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }.package-types button,.package-sizes button,.service-options button,.priority button { min-height:48px; border:1px solid #dce5ef; border-radius:10px; background:#f8fafc; color:#42526b; text-align:left; padding:8px 10px; font-size:11px; }.package-types button.selected,.package-sizes button.selected,.service-options button.selected,.priority button.selected { border-color:#ff6900; background:#fff5ec; color:#142342; }.package-sizes { margin-top:14px; }.package-sizes small,.service-options small,.priority small { display:block; color:#91a0b5; font-size:9px; margin-top:4px; }.service-options { grid-template-columns:repeat(3,1fr); }.service-options button { position:relative; min-height:74px; }.service-options span { float:right; color:#ff6900; font-weight:700; }.express-panel h4 { margin:20px 0 10px; font-size:13px; }.priority { grid-template-columns:1fr 1fr; }.express-summary { margin-bottom:16px; position:relative; }.express-summary > strong { display:block; margin:8px 0 14px; color:#ff6900; font-size:22px; }.express-summary > strong i { font-size:15px; }.express-summary em { position:absolute; top:45px; right:16px; color:#4e8cff; font-size:8px; font-style:normal; font-weight:700; }.express-summary p { margin:10px 0; padding:10px; border-radius:8px; background:#f8fafc; color:#91a0b5; font-size:10px; }.express-summary p b { float:right; color:#142342; }.confirm-express { width:100%; margin-top:12px; background:#142342; }
@media (max-width: 760px) { .express-topbar { align-items:flex-start; gap:15px; flex-direction:column; }.express-grid,.express-fields { grid-template-columns:1fr; }.package-types,.package-sizes { grid-template-columns:repeat(2,1fr); }.service-options { grid-template-columns:1fr; } }

/* Express option states and reference-style card polish. */
.express-panel { border-radius:22px; box-shadow:0 4px 14px rgba(16,24,47,.045); }
.express-panel h3 { padding-bottom:14px; border-bottom:1px solid #edf1f5; }
.package-types button,.package-sizes button,.service-options button,.priority button { transition: .18s ease; }
.package-types button.selected,.service-options button.selected { border:2px solid #ff6900; background:#fff7ef; color:#142342; }
.package-sizes button.selected,.priority button.selected { border-color:#172238; background:#10182f; color:#fff; }
.package-types button:hover,.package-sizes button:hover,.service-options button:hover,.priority button:hover { border-color:#ff6900; }

.express-grid { grid-template-columns:minmax(0, 2.25fr) minmax(300px, .95fr); gap:22px; align-items:start; }
.express-grid main { gap:18px; }
.express-panel,.express-summary { padding:24px 26px; border-color:#dce4ed; border-radius:20px; }
.express-panel,.express-summary { line-height:1.5; }
.express-panel h3 { margin-bottom:18px; font-size:19px; font-weight:800; letter-spacing:-.2px; }
.express-panel h3 i { width:20px; color:#ff6900; font-size:17px; }
.address-panel .express-fields { gap:24px; }
.express-address-column { display:grid; gap:9px; }
.express-village-field { display:grid; width:100%; }
.express-village-field > input,.express-village-field > select { width:100%; }
.express-rider-note { grid-column:1 / -1; display:grid; gap:8px; width:100%; color:#60728c; font-size:11px; font-weight:700; }
.express-rider-note textarea { width:100%; min-height:90px; padding:12px 14px; border:1px solid #dce5ef; border-radius:8px; background:#fff; color:#142342; font-size:14px; font-weight:600; line-height:1.5; resize:vertical; }
.express-rider-note textarea:focus { outline:0; border-color:#ff6900; box-shadow:0 0 0 3px rgba(255,105,0,.1); }
.express-address-column > strong { color:#60728c; font-size:13px; }
.district-area-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.district-area-row label { display:grid; gap:7px; color:#60728c; font-size:12px; font-weight:700; }
.district-area-row .express-union-label { grid-column:1 / -1; padding-left:0; border-left:0; }
.district-area-row label[hidden] { display:none; }
.district-area-row .union-required { margin-left:3px; color:#e5484d; font-style:normal; }
.district-area-row select { width:100%; height:46px; padding:0 12px; border:1px solid #dce5ef; border-radius:9px; background:#fff; color:#142342; font-size:14px; font-weight:600; }
.address-panel .express-fields label + label { padding-left:24px; border-left:1px solid #edf1f5; }
.express-fields label { font-size:11px; color:#60728c; }
.express-fields input,.express-fields select { height:46px; background:#fff; font-size:14px; font-weight:600; }
.package-types { grid-template-columns:repeat(7,1fr); gap:9px; }
.package-types button { display:flex; min-width:0; min-height:66px; align-items:center; justify-content:center; flex-direction:column; gap:7px; padding:8px 5px; text-align:center; }
.package-types button i { color:#69809e; font-size:17px; }
.package-types button span { font-size:12px; font-weight:700; white-space:nowrap; }
.package-types button.selected i,.package-types button.selected span { color:#ff5f00; }
.package-size-label { margin:18px 0 11px; padding-top:16px; border-top:1px solid #edf1f5; color:#60728c; font-size:13px; font-weight:700; }
.package-sizes button { min-height:57px; padding:9px 12px; }
.package-sizes button b { font-size:11px; }
.dimension-fields { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:14px; padding:14px; border:1px solid #dce4ed; border-radius:13px; background:#f8fafc; }
.dimension-fields label { color:#60728c; font-size:11px; font-weight:700; }
.dimension-fields input { width:100%; height:31px; margin-top:5px; padding:0 10px; border:1px solid #dce4ed; border-radius:7px; background:#fff; color:#142342; font-size:11px; font-weight:700; }
.express-summary { padding:22px 24px; }
.express-summary h3 { font-size:16px; }
.express-summary select { width:100%; height:44px; font-size:13px; font-weight:700; }
.charge-summary p { font-size:14px; }.charge-summary h3 b,.charge-summary p b { font-size:18px; color:#142342; }.confirm-express { min-height:48px; font-size:16px; }
.express-grid > aside { position:sticky; top:20px; align-self:start; }
.package-types button { min-height:76px; }.package-types button i { font-size:20px; }
.package-sizes button { min-height:66px; }.package-sizes button b { font-size:14px; }.package-sizes small { font-size:11px; }
.service-options button { min-height:108px; padding:15px; }.service-options button b { font-size:14px; }.service-options button span { font-size:13px; }.service-options button small { font-size:11px; line-height:1.45; }
.express-panel h4 { font-size:15px; }.priority button { min-height:72px; font-size:13px; }.priority small { font-size:10px; }
@media (max-width: 1000px) { .package-types { grid-template-columns:repeat(4,1fr); } }
@media (max-width: 760px) { .address-panel .express-fields label + label { padding:0; border-left:0; }.package-types { grid-template-columns:repeat(2,1fr); }.dimension-fields { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 760px) { .district-area-row { grid-template-columns:1fr; }.express-grid > aside { position:static; } }

/* Complete responsive treatment for the Express Delivery tab. */
@media (max-width: 1100px) {
    .polished-home { width:min(100% - 28px, 920px); }
    .express-grid { grid-template-columns:1fr; }
    .express-grid > aside { position:static; }
    .charge-summary { margin:0; }
    .package-types { grid-template-columns:repeat(4,1fr); }
}

@media (max-width: 760px) {
    .polished-home { width:calc(100% - 20px); padding-top:12px; }
    .express-delivery-view { width:100%; padding:8px 0 44px; overflow:hidden; }
    .express-topbar { min-height:0; padding:18px; border-radius:15px; }
    .express-topbar h2 { font-size:18px; line-height:1.35; }
    .express-topbar p { font-size:12px; line-height:1.55; }
    .express-topbar button { width:100%; min-height:46px; }
    .express-grid { gap:14px; margin-top:14px; }
    .express-grid main { gap:14px; min-width:0; }
    .express-panel,.express-summary { width:100%; min-width:0; padding:18px 15px; border-radius:16px; }
    .express-panel h3 { display:flex; align-items:flex-start; gap:5px; margin-bottom:15px; font-size:17px; line-height:1.4; }
    .express-panel h3 i { flex:0 0 20px; margin-top:3px; }
    .express-fields { grid-template-columns:1fr; gap:20px; }
    .express-address-column { min-width:0; }
    .address-panel .express-fields label + label { padding:0; border-left:0; }
    .district-area-row { grid-template-columns:1fr; gap:10px; }
    .district-area-row select,.express-fields input,.express-fields select { width:100%; min-width:0; height:48px; font-size:16px; }
    .package-types { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .package-types button { width:100%; min-width:0; min-height:76px; }
    .package-types button span { max-width:100%; font-size:12px; white-space:normal; line-height:1.25; }
    .package-sizes { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .package-sizes button { min-width:0; min-height:72px; }
    .dimension-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:12px; }
    .dimension-fields input { min-width:0; height:42px; font-size:16px; }
    .service-options { grid-template-columns:1fr; gap:10px; }
    .service-options button { min-height:96px; }
    .priority { grid-template-columns:1fr; gap:9px; }
    .priority button { min-height:68px; }
    .charge-summary h3 { font-size:17px; }
    .charge-summary p { padding:13px; font-size:14px; }
    .confirm-express { min-height:52px; font-size:16px; }
}

@media (max-width: 400px) {
    .polished-home { width:calc(100% - 14px); }
    .express-panel,.express-summary { padding:16px 12px; }
    .package-types,.package-sizes,.dimension-fields { grid-template-columns:1fr 1fr; gap:7px; }
    .package-types button { padding:8px 3px; }
}
.express-auth-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:16px;background:rgba(8,16,34,.66);backdrop-filter:blur(5px)}.express-auth-modal[hidden]{display:none}.express-auth-card{position:relative;width:min(440px,100%);padding:30px;border-radius:20px;background:#fff;box-shadow:0 25px 70px rgba(0,0,0,.25)}.express-auth-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px}.express-auth-card h3{margin:0 0 18px;color:#142342;font-size:20px}.express-auth-card form{display:grid;gap:11px}.express-auth-card input{height:48px;padding:0 13px;border:1px solid #dce5ef;border-radius:10px;font-size:14px}.express-auth-card form button{height:48px;border:0;border-radius:10px;color:#fff;background:#ff6900;font-weight:800}.express-auth-card p{text-align:center;margin:15px 0 0}.express-auth-card p button{border:0;color:#ff6900;background:transparent;font-weight:800}

.polished-home .service-banner {
    min-height: 82px;
    margin-bottom: 20px;
    padding: 18px 24px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    background: linear-gradient(112deg, #10182f 0%, #17284b 68%, #263c68 100%);
    box-shadow: 0 12px 30px rgba(16,24,47,.13);
}

.polished-home .service-banner h2 {
    margin: 0 0 6px;
    font-size: 18px;
}

.polished-home .service-banner p {
    margin: 0;
    color: #c6d1e3;
    font-size: 12px;
}

.polished-home .service-banner button {
    min-height: 42px;
    padding: 0 17px;
    border-radius: 11px;
    box-shadow: 0 7px 16px rgba(255,105,0,.2);
}

.polished-home .hero {
    height: 330px;
    border-radius: 22px;
    box-shadow: 0 15px 35px rgba(16,24,47,.13);
}

.polished-home .hero-slide {
    padding: 46px 58px;
}


.polished-home .hero-copy {
    max-width: 570px;
}

.hero-kicker,
.section-kicker {
    display: block;
    margin-bottom: 7px;
    color: #ff6900;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.polished-home .hero h1 {
    max-width: 570px;
    margin: 0;
    font-size: clamp(31px, 3vw, 44px);
    line-height: 1.2;
    letter-spacing: -.8px;
}

.polished-home .hero p {
    max-width: 500px;
    margin: 13px 0 22px;
    color: #e1e8f3;
    font-size: 15px;
    line-height: 1.6;
}

.polished-home .hero-cta {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: 9px;
    padding: 0 19px;
    border-radius: 11px;
}

.home-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 18px;
}

.home-benefits article {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 15px 18px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
}

.home-benefits article > i {
    width: 40px;
    height: 40px;
    display: grid;
    flex: 0 0 40px;
    place-items: center;
    border-radius: 11px;
    color: #ff6900;
    background: #fff1e7;
}

.home-benefits article div {
    display: grid;
    gap: 2px;
}

.home-benefits strong {
    color: #10182f;
    font-size: 13px;
}

.home-benefits span {
    color: #7c8ba3;
    font-size: 10px;
}

.polished-home .home-categories {
    padding: 43px 0 10px;
}

.polished-home .category-section-heading {
    margin-bottom: 18px;
}

.polished-home .category-section-heading h2,
.polished-heading h2 {
    margin: 0 0 5px;
    color: #10182f;
    font-size: 25px;
    letter-spacing: -.45px;
}

.polished-home .category-section-heading h2 span {
    color: #8290a7;
    font-size: 15px;
}

.polished-home .category-section-heading p,
.polished-heading p {
    margin: 0;
    color: #7c8ba3;
    font-size: 12px;
}

.polished-home .category-view-all,
.polished-heading > a {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: 8px;
    padding: 0 15px;
    border: 1px solid #ffe1cc;
    border-radius: 999px;
    color: #ff6900;
    background: #fff5ed;
    font-size: 11px;
    font-weight: 800;
}

.polished-home .dynamic-category-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}

.polished-home .category-card {
    min-height: 0;
    display: block;
    padding: 0;
    overflow: hidden;
    border-color: #dfe6ef;
    border-radius: 15px;
    box-shadow: 0 5px 16px rgba(28,53,80,.04);
    background: #fff;
}

.polished-home .category-card:hover {
    transform: translateY(-3px);
}

.polished-home .category-image {
    display: block;
    width: 100%;
    aspect-ratio: 1.35 / 1;
    overflow: hidden;
    /* background: linear-gradient(135deg, #fff0df, #ffd1ae); */
}

.polished-home .category-image:empty {
    background: linear-gradient(135deg, #fff0df, #ffd1ae);
}

.polished-home .category-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .25s ease;
}

.polished-home .category-card:hover .category-image img {
    transform: scale(1.05);
}
a.category-card h3 {
    text-align: center;
}

.polished-home .category-card h3 {
    margin: 0;
    min-height: 44px;
    padding: 10px 12px;
    color: #10182f;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.polished-home .category-card.featured {
    color: inherit;
    background: #fff;
    border-color: #dfe6ef;
    box-shadow: 0 5px 16px rgba(28,53,80,.04);
}

.home-app-download {
    display: grid;
    gap: 16px;
    margin: 24px 0;
}

.home-app-download-link {
    display: block;
    overflow: hidden;
    border-radius: 16px;
}

.home-app-download-link:focus-visible {
    outline: 3px solid #ff6900;
    outline-offset: 4px;
}

.home-app-download picture,
.home-app-download img {
    display: block;
    width: 100%;
}

.home-app-download img {
    height: auto;
}

.home-restaurants {
    padding-top: 30px;
}

.polished-home .home-app-download + .home-restaurants {
    margin-top: 0;
    padding-top: 10px;
}

.polished-home .home-app-download + .home-restaurants > .section-heading {
    margin-top: 0;
}

.polished-heading {
    margin: 0 0 16px;
}

.polished-home .restaurant-filters {
    min-height: 50px;
    gap: 9px;
    padding: 8px 10px;
    border-radius: 14px;
}

.polished-home .restaurant-filters > span {
    padding: 0 6px;
}

.polished-home .restaurant-filters button {
    min-height: 32px;
    padding: 0 14px;
    cursor: pointer;
    transition: .2s;
}

.polished-home .dynamic-restaurant-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 16px;
}

.polished-home .restaurant-card {
    border-radius: 17px;
    box-shadow: 0 7px 22px rgba(24,49,83,.055);
    transition: transform .2s, box-shadow .2s;
}

.polished-home .restaurant-card:hover {
    box-shadow: 0 14px 32px rgba(24,49,83,.11);
    transform: translateY(-4px);
}

.polished-home .restaurant-card:nth-child(n) .restaurant-image {
    height: 190px;
    display: block;
    overflow: hidden;
    filter: none;
    background: linear-gradient(135deg, #e9eef4, #cbd7e5);
}

.polished-home .restaurant-image::after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    z-index: 1;
    background: linear-gradient(transparent, rgba(8,14,31,.63));
    pointer-events: none;
}

.polished-home .restaurant-image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s;
}

.polished-home .restaurant-card:hover .restaurant-image > img {
    transform: scale(1.035);
}

.restaurant-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #263c68, #ff6900);
    font-size: 45px;
}

.polished-home .restaurant-image .rating,
.delivery-time {
    z-index: 2;
}

.polished-home .restaurant-image .rating {
    bottom: 12px;
    left: 12px;
    background: #ffc928;
}

.polished-home .restaurant-image .rating small {
    font-size: 9px;
}

.delivery-time {
    position: absolute;
    right: 12px;
    bottom: 12px;
    padding: 5px 9px;
    border-radius: 7px;
    color: #fff;
    background: rgba(16,24,47,.82);
    font-size: 10px;
}

.polished-home .restaurant-body {
    padding: 15px;
}

.restaurant-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.restaurant-title-row h3 {
    margin: 0;
    overflow: hidden;
    color: #10182f;
    font-size: 16px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.open-dot {
    flex: 0 0 auto;
    color: #118451;
    font-size: 9px;
    font-weight: 800;
}

.open-dot::before {
    content: "";
    width: 6px;
    height: 6px;
    display: inline-block;
    margin-right: 4px;
    border-radius: 50%;
    background: #18a565;
}
.open-dot.is-closed { color: #d92d20; }
.open-dot.is-closed::before { background: #ef4444; }

.polished-home .restaurant-body > p {
    min-height: 17px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.polished-home .restaurant-tags {
    min-height: 27px;
    display: flex;
    gap: 5px;
    overflow: hidden;
}

.polished-home .restaurant-tags span {
    margin: 0;
    white-space: nowrap;
}

.polished-home .restaurant-footer {
    gap: 11px;
}

.polished-home .restaurant-footer > span {
    flex: 0 0 auto;
    color: #75839a;
}

.polished-home .restaurant-footer a {
    margin-left: auto;
    white-space: nowrap;
}

.polished-home.restaurant-list-page .restaurant-footer {
    flex-wrap: nowrap;
    align-items: end;
    gap: 6px;
}

.restaurant-list-page .restaurant-footer > .store-discount-badge {
    white-space: nowrap;
}

.polished-home.restaurant-list-page .restaurant-footer > span + span {
    border-left: 1px solid #e2e8f0;
    padding-left: 7px;
}

.polished-home.restaurant-list-page .restaurant-footer a {
    padding: 7px 6px;
    font-size: 10px;
}

.home-empty-state {
    padding: 48px 20px;
    border: 1px dashed #d9e0e9;
    border-radius: 16px;
    color: #7c8ba3;
    background: #fff;
    text-align: center;
}

.home-empty-state i {
    margin-bottom: 10px;
    color: #ff6900;
    font-size: 28px;
}

.home-empty-state p {
    margin: 0;
}

.restaurant-list-page {
    padding-top: 28px;
}

.restaurant-list-hero {
    min-height: 210px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 38px 42px;
    overflow: hidden;
    border-radius: 22px;
    color: #fff;
    background:
        radial-gradient(circle at 83% 20%, rgba(255,105,0,.34), transparent 27%),
        linear-gradient(115deg, #10182f 0%, #1d315a 72%, #ff6900 160%);
    box-shadow: 0 15px 35px rgba(16,24,47,.13);
}

.restaurant-list-hero h1 {
    margin: 0 0 9px;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.2;
    letter-spacing: -.8px;
}

.restaurant-list-hero p {
    margin: 0;
    color: #cbd5e5;
    font-size: 14px;
}

.restaurant-list-hero > a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0 18px;
    flex: 0 0 auto;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 11px;
    color: #fff;
    background: rgba(255,255,255,.1);
    font-size: 12px;
    font-weight: 700;
}

.restaurant-list-content {
    padding-top: 42px;
}

.restaurant-list-tools {
    display: grid;
    grid-template-columns: minmax(230px, 340px) 1fr;
    gap: 14px;
}

.restaurant-list-search {
    min-height: 50px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 15px;
    border: 1px solid #e4eaf2;
    border-radius: 14px;
    color: #8491a5;
    background: #fff;
}

.restaurant-list-search input {
    width: 100%;
    border: 0;
    outline: 0;
    color: #27334a;
    background: transparent;
    font-size: 12px;
}

.restaurant-list-search:focus-within {
    border-color: #ff9b5a;
    box-shadow: 0 0 0 3px rgba(255,105,0,.08);
}

.restaurant-list-grid {
    margin-top: 20px !important;
}

@media (max-width: 1050px) {
    .polished-home .dynamic-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .polished-home .dynamic-restaurant-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .restaurant-list-tools { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .polished-home { width: calc(100% - 24px); padding-top: 14px; }
    .polished-home .hero { height: 265px !important; }
    .polished-home .hero-slide { padding: 28px 25px !important; }
    .polished-home .hero h1 { font-size: 29px !important; }
    .home-benefits { grid-template-columns: 1fr; gap: 8px; }
    .home-benefits article { padding: 12px 14px; }
    .polished-home .category-section-heading,
    .polished-heading { align-items: flex-end; }
    .polished-home .dynamic-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .polished-home .dynamic-restaurant-grid { grid-template-columns: 1fr; }
    .polished-home .restaurant-filters { overflow-x: auto; }
    .polished-home .restaurant-filters > * { flex: 0 0 auto; }
    .restaurant-list-page { padding-top: 14px; }
    .restaurant-list-hero { min-height: 190px; align-items: flex-start; flex-direction: column; padding: 28px 25px; }
    .restaurant-list-hero > a { align-self: flex-end; }
}

@media (max-width: 480px) {
    .polished-home .service-banner { align-items: flex-start; }
    .polished-home .service-banner button { align-self: stretch; }
    .polished-home .hero { height: 121px !important; }
    .polished-home .hero h1 { font-size: 25px !important; }
    .polished-home .hero p { font-size: 12px; }
    .polished-home .home-categories { padding-top: 34px; }
    .polished-home .category-section-heading h2,
    .polished-heading h2 { font-size: 21px; }
    .polished-home .category-section-heading p,
    .polished-heading p { display: none; }
    .polished-home .category-view-all,
    .polished-heading > a { min-height: 34px; padding: 0 11px; font-size: 9px; }
    .polished-home .category-card { min-height: 0; padding: 0; }
    .polished-home .category-card h3 { min-height: 40px; padding: 8px 9px; font-size: 12px !important; }
    .polished-home .restaurant-card:nth-child(n) .restaurant-image { height: 175px; }
    .polished-home .restaurant-footer { flex-wrap: wrap; }
}
