/* Food menu + delivery catalog. No changes to cart, checkout or wine-list layout. */
body.product-catalog-scroll-page .product-catalog .tm-menu-load-error{padding:16px;text-align:center;color:#004659}
body.product-catalog-scroll-page .product-catalog .tm-menu-load-error p{margin:0 0 12px}
body.product-catalog-scroll-page .product-catalog .tm-menu-retry{min-height:44px;border:1px solid #004659;border-radius:10px;background:#fff;color:#004659;padding:10px 16px;font:inherit;cursor:pointer}
body.product-catalog-scroll-page .product-catalog {
    --tm-menu-ink:#03465e;
    --tm-menu-muted:#627b85;
    --tm-menu-line:#e5e9e6;
    --tm-menu-radius:22px;
    background:#f5f4f1;
}

/* Keep the existing Swiper navigation and scroll behaviour. */
body.product-catalog-scroll-page .product-catalog .tabs-head {
    background:#f5f4f1;
}
body.product-catalog-scroll-page .product-catalog .tabs-swiper {
    border-radius:16px;
    padding:4px 0;
}
body.product-catalog-scroll-page .product-catalog .tabs-head .tab-name {
    min-height:46px;
    margin-bottom:0;
    border:1px solid var(--tm-menu-line);
    border-radius:14px;
    background:#fff;
    color:var(--tm-menu-ink);
    font-weight:500;
    text-transform:none;
    letter-spacing:0;
    transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
body.product-catalog-scroll-page .product-catalog .tabs-head .tab-name.active {
    border-color:var(--tm-menu-ink);
    background:var(--tm-menu-ink);
    color:#fff;
}
body.product-catalog-scroll-page .product-catalog .tabs-wrapper :is(.swiper-button-prev,.swiper-button-next) {
    top:4px;
    height:calc(100% - 8px);
    border:1px solid var(--tm-menu-line);
    border-radius:14px;
    background:#fff;
    color:var(--tm-menu-ink);
    box-shadow:0 3px 12px #03465e08;
    transition:background-color .18s ease,opacity .18s ease;
}
body.product-catalog-scroll-page .product-catalog .tabs-wrapper :is(.swiper-button-prev,.swiper-button-next)::after {color:inherit}
body.product-catalog-scroll-page .product-catalog .tabs-wrapper .swiper-button-disabled {
    opacity:.35;
}
body.product-catalog-scroll-page .product-catalog .product-catalog-section>.arhive__title {
    margin-bottom:22px;
    color:var(--tm-menu-ink);
    font-size:clamp(26px,3vw,36px);
    font-weight:600;
    line-height:1.2;
}

body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product {
    --product-card-pad-x:16px;
    box-sizing:border-box;
    border:1px solid var(--tm-menu-line);
    border-radius:var(--tm-menu-radius);
    background:#fff;
    box-shadow:0 3px 12px #03465e04;
    transition:border-color .2s ease,box-shadow .2s ease;
}
body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product>a {
    box-sizing:border-box;
    border-radius:var(--tm-menu-radius);
    color:var(--tm-menu-ink);
    opacity:1;
    text-decoration:none;
}
/* One square frame for every photo/placeholder, linked or read-only.
   Crop only the presentation: original media and responsive sources stay intact. */
body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product>a picture.themore-media,
body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product>a>img,
body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product>picture.themore-media,
body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product>img {
    display:block;
    flex:0 0 auto;
    width:calc(100% - 16px);
    max-width:none;
    height:auto;
    aspect-ratio:1;
    margin:8px 8px 0;
    padding:0;
    border-radius:16px;
    overflow:hidden;
    object-fit:cover;
    object-position:center;
    background:#f5f4f1;
}
body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product>a picture.themore-media img,
body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product>picture.themore-media img {
    display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;object-fit:cover;object-position:center;
}
body.product-catalog-scroll-page .product-catalog .shop-products ul.products li.product .woocommerce-loop-product__title {
    padding-top:14px!important;
    font-size:17px!important;
    font-weight:600!important;
    line-height:1.35;
    overflow-wrap:anywhere;
}
body.product-catalog-scroll-page .product-catalog .shop-products .product :is(.product-dop-info,.product-short-description,.product-nutrition) {
    color:var(--tm-menu-muted);
    font-size:13px;
    line-height:1.5;
    overflow-wrap:anywhere;
}
body.product-catalog-scroll-page .product-catalog .shop-products .product-nutrition {
    margin-top:8px;
}
body.product-catalog-scroll-page .product-catalog .shop-products .product .themore-fulfillment-badge {
    max-width:calc(100% - 2 * var(--product-card-pad-x));
    margin:8px var(--product-card-pad-x) 2px;
    padding:5px 8px;
    border:0;
    border-radius:8px;
    background:#f3eee7;
    color:#805d41;
    font-weight:500;
    white-space:normal;
}
body.product-catalog-scroll-page .product-catalog .shop-products .card-bottom {
    padding:12px var(--product-card-pad-x) 14px;
    border-radius:0 0 var(--tm-menu-radius) var(--tm-menu-radius);
}
body.product-catalog-scroll-page .product-catalog .shop-products .card-bottom .price {
    color:var(--tm-menu-ink)!important;
    font-weight:400!important;
}
body.product-catalog-scroll-page .product-catalog .shop-products .tm-order-control {
    box-sizing:border-box;
    --tm-control-gap:4px;
    gap:var(--tm-control-gap);
    margin-top:0;
    padding:4px;
    border-radius:14px;
    background:#f5f4f1;
}
body.product-catalog-scroll-page .product-catalog .tm-order-control .tm-order-step {
    height:40px;
    border-radius:11px;
    background:#eaece8;
    transition:background-color .16s ease,opacity .16s ease;
}
body.product-catalog-scroll-page .product-catalog .tm-order-control .tm-order-plus {
    background:#eee3d8;
}
body.product-catalog-scroll-page .product-catalog .tm-order-control .tm-order-amount {
    font-weight:400;
    font-variant-numeric:tabular-nums;
}
body.product-catalog-scroll-page .product-catalog .card-bottom :is(.button,.qib-button,.qty) {
    border-radius:10px!important;
}
body.product-catalog-scroll-page .product-catalog .product-catalog-section__skeleton {
    border-radius:var(--tm-menu-radius);
}
/* Only the desktop edge-mounted controls have square right corners. */
@media(min-width:768px) {
    body.product-catalog-scroll-page:not(.wine-catalog-page) .fixed-actions :is(.account-button,.xoo-wsc-basket) {
        border-radius:14px 0 0 14px!important;
    }
}

body.product-catalog-scroll-page .product-catalog :is(.tab-name,.swiper-button-prev,.swiper-button-next,.tm-order-step,li.product>a,.card-bottom .button):focus-visible {
    outline:2px solid #b67c56;
    outline-offset:2px;
}
/* Inset the category ring so the Swiper viewport cannot clip it. */
body.product-catalog-scroll-page .product-catalog .tab-name:focus-visible {outline-offset:-3px}
@media(hover:hover) and (pointer:fine) {
    body.product-catalog-scroll-page .product-catalog .tabs-head .tab-name:not(.active):hover {
        background:#f3eee7;
        border-color:#ded6ca;
    }
    body.product-catalog-scroll-page .product-catalog .tabs-wrapper :is(.swiper-button-prev,.swiper-button-next):not(.swiper-button-disabled):hover {background:#f3eee7}
    body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product:hover {
        border-color:#cfdcd9;
        box-shadow:0 6px 20px #03465e0b;
    }
}
@media(max-width:768px) {
    body.product-catalog-scroll-page .product-catalog {--tm-menu-radius:18px}
    body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product {--product-card-pad-x:10px}
    body.product-catalog-scroll-page .product-catalog .shop-products ul.products li.product .woocommerce-loop-product__title {font-size:15px!important;padding-top:12px!important}
    body.product-catalog-scroll-page .product-catalog .shop-products .product :is(.product-dop-info,.product-short-description,.product-nutrition) {font-size:12px;line-height:1.45}
    body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product>a picture.themore-media,
    body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product>a>img,
    body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product>picture.themore-media,
    body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product>img {width:calc(100% - 12px);margin:6px 6px 0;border-radius:13px}
    body.product-catalog-scroll-page .product-catalog .shop-products .card-bottom {padding-bottom:10px}
}
@media(max-width:380px) {
    body.product-catalog-scroll-page .product-catalog .shop-products ul.products.columns-3>li.product {--product-card-pad-x:8px}
    body.product-catalog-scroll-page .product-catalog .shop-products .tm-order-control {--tm-control-gap:2px;gap:var(--tm-control-gap)}
    body.product-catalog-scroll-page .product-catalog .tm-order-control .tm-order-step {width:36px}
    body.product-catalog-scroll-page .product-catalog .tm-order-control .tm-order-amount {font-size:14px}
}
@media(prefers-reduced-motion:reduce) {
    body.product-catalog-scroll-page .product-catalog :is(.tab-name,.swiper-button-prev,.swiper-button-next,li.product,.tm-order-step,.product-catalog-section__skeleton) {transition:none!important;animation:none!important}
}
@media(forced-colors:active) {
    body.product-catalog-scroll-page .product-catalog .tabs-head .tab-name.active {background:Highlight;color:HighlightText;border-color:Highlight}
    body.product-catalog-scroll-page .product-catalog .tm-order-control .tm-order-step {border:1px solid ButtonText}
}

/* Restaurant menu copy sits directly below the title and remains fully readable. */
body.product-catalog-scroll-page .menu-catalog .product-menu-description {
    margin-top:8px;
}
