/* Sites3: informational pages only. No storefront/cart/checkout overrides. */
/* Match the homepage component's sizing inside the existing WordPress shell. */
.tm-restaurant-booking{font-size:17px;line-height:1.55;overflow:visible}
.tm-restaurant-booking .container{padding:0!important}
.tm-restaurant-booking #reserve{scroll-margin-top:110px}
.tm-restaurant-booking .booking-venues legend{width:auto;padding:0}
.tm-restaurant-booking .booking-form label{margin:0}
.tm-restaurant-booking .booking-form .phone-label{margin:0}
.tm-restaurant-booking .booking-form .phone-help:empty,.tm-restaurant-booking .booking-form .consent-help:empty{display:none}
.tm-restaurant-booking .booking-form input[type=radio]{position:absolute;opacity:0;width:1px;height:1px}
.tm-restaurant-booking .booking-form .field{border-radius:10px!important}
.tm-restaurant-booking .booking-form .consent input{border-radius:5px!important}
.tm-restaurant-booking .booking-form .booking-submit{border-radius:12px!important}
.tm-restaurant-booking .booking-form .tm-booking-phone{font-size:17px!important;line-height:1.35!important;padding:13px 15px!important}
.tm-restaurant-booking .booking-form .booking-callback{margin-top:8px!important;font-size:14px;line-height:1.45}
.tm-restaurant-booking .booking-form .booking-submit{font-size:17px!important;line-height:1.55!important;height:auto!important;min-height:52px;padding:14px 24px!important}
.tm-restaurant-booking .booking-form .consent input{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-height:20px!important;padding:0!important;background-repeat:no-repeat;background-size:20px 20px;background-position:center}
.tm-restaurant-booking .wpcf7-form .wpcf7-response-output:not(:empty){display:block!important}
body.page-template-menu{background:#fff}
body.page-template-menu :is(.product-catalog,.product-catalog .tabs-head,.tm-drinks-catalog,.tm-drinks-catalog .tabs-head){background:#fff}
.tm-public-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(300px,25vw,390px);padding:48px 0;background:#004662;color:#fff}
.tm-public-hero .contacts-background{position:absolute;inset:0;z-index:-2;pointer-events:none}
.tm-public-hero .contacts-background picture,.tm-public-hero .contacts-background img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.tm-public-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#002f427d,transparent 85%)}
.tm-public-hero h1{margin:0;color:#fff;font-size:clamp(32px,3vw,43px);line-height:1.15;font-weight:700}
.tm-public-hero h1 span{display:block;margin-top:4px;font-size:.66em}
.tm-public-hero p{margin:18px 0 0;font-size:20px;line-height:1.5;color:#fff}
/* Restore the production photo frame: 7rem + 12rem of spacing, 6.6rem
   of original title/address lines and their 1vw gap. Keep the new text skin.
   The photo starts behind the fixed header, not below a second header offset. */
.tm-public-hero.tm-restaurant-hero{display:block;min-height:calc(25.6rem + 1vw + 90px);margin-top:-94px;padding:calc(7rem + 90px) 0 7rem!important}
.tm-restaurant-interior{padding:48px 0!important}
.tm-restaurant-interior .container,.tm-restaurant-promotions .container,.tm-public-hero .container{width:calc(100% - 96px);max-width:1220px;margin-inline:auto;padding:0}
.tm-interior-layout{grid-template-columns:minmax(0,.85fr) minmax(0,2fr);gap:48px}
.tm-interior-description{padding:0}
.tm-interior-story{margin:0;font-size:17px;line-height:1.65}
.tm-interior-reserve{background:#e09777;color:#0b282e;font-weight:700}
.tm-interior-reserve:hover{background:#eaa789;color:#0b282e}
.tm-interior-gallery{border-radius:12px}
.tm-interior-zoom{display:block;padding:0;border:0;width:100%;height:100%;cursor:zoom-in;background:none}
.tm-interior-zoom picture{display:block;width:100%;height:100%}
.tm-gallery-control{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;box-shadow:none;isolation:isolate;-webkit-tap-highlight-color:transparent}
.tm-gallery-control::before{content:'';position:absolute;inset:10px;z-index:-1;border-radius:50%;background:#0b282eb8;pointer-events:none;transition:background .18s ease,transform .18s ease}
.tm-gallery-control svg{width:20px;height:20px;pointer-events:none}
.tm-gallery-control:hover::before,.tm-gallery-control:focus-visible::before{background:#0b282ee6;transform:scale(1.06)}
.tm-gallery-control:active::before{transform:scale(.96)}
.tm-gallery-prev{left:16px}.tm-gallery-next{right:16px}
.tm-gallery-control[hidden]{display:none}
.tm-gallery-control:focus-visible{outline:2px solid #fff;outline-offset:-4px;box-shadow:inset 0 0 0 2px #0b282e}
.tm-interior-zoom:focus-visible,.tm-lightbox-close:focus-visible{outline:3px solid #009aaf;outline-offset:-4px}
.tm-restaurant-promotions{position:relative;isolation:isolate;background:#004662;padding-block:48px;color:#fff}
.tm-promotion-backdrop{position:absolute;inset:0;z-index:-2}
.tm-promotion-backdrop picture,.tm-promotion-backdrop img{display:block;width:100%;height:100%;object-fit:cover}
.tm-restaurant-promotions:before{content:'';position:absolute;inset:0;z-index:-1;background:#0827318c}
.tm-promotions-heading h2{color:#fff;font-weight:700;font-size:clamp(32px,3vw,43px);letter-spacing:-.7px}
.tm-promotions-controls button{border-color:#ffffff90;color:#fff;background:#004662a6}
.tm-promotions-controls button:hover{background:#004662}
.tm-offer{min-height:360px;border-radius:12px}
.tm-offer-copy h3{font-size:clamp(23px,2vw,28px);font-weight:600}
.tm-contact-hero{min-height:clamp(300px,25vw,390px);align-items:center;padding-block:48px}
.tm-contact-hero h1,.tm-contact-form-panel h2{font-size:clamp(32px,3vw,43px);font-weight:700;line-height:1.13;letter-spacing:-.7px}
.tm-contact-hero-address{margin-top:18px!important;color:#fff;font-size:20px;line-height:1.5}
.tm-contact-form-panel{width:100%;max-width:none;padding:0;border:0;border-radius:0;box-shadow:none}
.tm-contact-form-panel h2{margin-bottom:16px}
.tm-contact-call-hint{margin-bottom:24px!important;font-size:16px;color:#365359}
.tm-contact-call-hint a{display:inline-flex;min-height:44px;align-items:center;font-size:23px;color:#004659}
.tm-contact-info-backdrop{width:100%;max-width:440px;justify-self:center;margin-inline:auto;padding:28px 24px;background-size:100% auto}
.tm-contact-info{width:100%;max-width:380px;margin-inline:auto;padding:22px 24px;background:#e09777;color:#fff;border-radius:12px;text-align:center}
.tm-contact-info h2{font-size:24px;line-height:1.3;color:#fff;font-weight:500;letter-spacing:0}
.tm-contact-info h2 span{font-size:20px;color:#fff;font-weight:400;line-height:1.35;margin-top:6px}
.tm-contact-info address{margin:12px auto 6px}
.tm-contact-info :is(.tm-contact-phone-link,.tm-contact-email){margin-inline:auto}
.tm-contact-info .tm-contact-email{min-height:44px}
.tm-contact-info .tm-contact-hours{margin-top:16px}
.tm-contact-info .tm-contact-hours h3{margin-bottom:6px}
.tm-contact-info .tm-contact-hours dl{margin-inline:auto;gap:4px}
.tm-contact-info address,.tm-contact-info .tm-contact-email,.tm-contact-info .tm-contact-hours dt,.tm-contact-info .tm-contact-hours dd,.tm-contact-info .tm-contact-hours h3{color:#fff!important}
.tm-contact-info .tm-contact-phone-link{font-size:clamp(22px,2vw,28px);color:#fff}
.tm-contact-info :is(.tm-contact-phone-link,.tm-contact-email):hover{color:#fff!important;text-decoration:underline;text-underline-offset:5px}
.tm-contact-info :focus-visible{outline-color:#fff}
.tm-contact-info .tm-contact-hours dl>div{gap:18px}
.tm-public-lower,.tm-public-footer{font-size:17px;line-height:1.55}
.tm-public-lower .container{padding-inline:0!important}
.tm-public-lower .visit-inner{padding-top:calc(24px + 1cm)!important;padding-bottom:16px!important}
.tm-public-footer .container{padding:0!important}
.tm-public-lower .booking-copy,.tm-restaurant-booking .booking-copy{font-size:17px}
.tm-public-lower .visit-grid{min-height:80px}
.tm-public-footer .site-footer{margin:0}
.tm-public-footer .footer-bottom{background:none}
.tm-public-footer .footer-top{position:static;background:none}
.tm-public-footer .footer-requisites{font-size:13px;line-height:1.55;color:#b9cdd2}
.tm-bar-tabs{display:flex;gap:10px;overflow:auto;padding:20px max(20px,calc((100vw - 1220px)/2));background:#fff}
.tm-bar-tabs button,.tm-drinks-catalog .tabs-head .tab-name{border:1px solid #d5e2e5;border-radius:12px;background:#fff;color:#004659;min-height:46px;padding:12px 20px;white-space:nowrap;font:500 16px/1.4 Gilroy,Arial,sans-serif}
.tm-bar-tabs button[aria-pressed=true],.tm-drinks-catalog .tabs-head .tab-name.active{background:#004659;color:#fff;border-color:#004659}
.tm-bar-panels{padding-block:28px 48px}
.tm-bar-panels h2{font-size:26px;font-weight:700;color:#004659;margin:24px 0}
.tm-bar-item{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid #d5e2e5;padding:16px 0;color:#004659;font-size:17px;line-height:1.5}
.tm-bar-item p{margin:0}.tm-bar-item>span{white-space:nowrap}.tm-bar-detail{color:#365359;font-size:15px}
.tm-bar-tabs button:focus-visible{outline:3px solid #009aaf;outline-offset:-3px}
.page-template-menu .tm-drinks-catalog .menu-three-blok-item{border-color:#d5e2e5}
.page-template-menu .tm-drinks-catalog .tabs-head :is(.swiper-button-prev,.swiper-button-next){background:#fff;border-radius:12px;color:#004659}
@media(max-width:1180px){.tm-restaurant-interior .container,.tm-restaurant-promotions .container,.tm-public-hero .container{width:calc(100% - 64px)}}
@media(max-width:900px){.tm-interior-layout{grid-template-columns:1fr;gap:28px}.tm-interior-gallery{grid-row:1}.tm-interior-description{padding:0}.tm-contact-info-backdrop{padding:24px 20px}.tm-contact-info{padding:20px}}
@media(max-width:700px){.tm-public-hero{min-height:280px;padding-block:36px}.tm-public-hero p,.tm-contact-hero-address{font-size:17px}.tm-restaurant-interior{padding:32px 0!important}.tm-restaurant-interior .container,.tm-restaurant-promotions .container,.tm-public-hero .container{width:calc(100% - 40px)}.tm-interior-story{font-size:16px}.tm-gallery-control{width:48px;height:48px}.tm-gallery-prev{left:10px}.tm-gallery-next{right:10px}.tm-restaurant-promotions{padding-block:32px}.tm-offer{min-height:350px}.tm-contact-form-panel h2{font-size:32px}.tm-contact-info-backdrop{padding:20px 12px}.tm-contact-info h2{font-size:24px}.tm-public-lower .container{padding:0}.tm-public-footer .footer-phone{font-size:20px}.tm-bar-item{font-size:16px}}
@media(prefers-reduced-motion:reduce){.tm-gallery-control,.tm-lightbox-image img{animation:none!important;transition:none!important}}
/* Match the shared header spacer without changing other informational heroes. */
@media(max-width:960px){.tm-public-hero.tm-restaurant-hero{margin-top:-82px}}
@media(max-width:767px){.tm-public-hero.tm-restaurant-hero{min-height:calc(25.6rem + 17vw);padding-top:calc(7rem + 16vw)!important}}
@media(max-width:700px){.tm-public-hero.tm-restaurant-hero{margin-top:-76px}}
/* Wine and Bar share the menu/delivery tab skin and centered Swiper wrapper. */
.page-template-menu .tm-drinks-catalog .tabs-head{background:#fff}
.page-template-menu.tm-shared-header .tm-drinks-catalog .tabs-head{position:sticky!important;top:var(--tm-header-bottom,94px)!important;overflow:visible;z-index:102!important}
.tm-drinks-catalog .tm-drinks-category{display:block}
.tm-drinks-catalog .tm-drinks-category[hidden]{display:none!important}
.tm-drinks-catalog .tm-drinks-category > .d-flex:first-of-type{margin-top:0}
.tm-drinks-catalog .tm-drinks-category .razdel-title{margin:0 0 1rem;color:#03465e;font-size:clamp(23px,2.5vw,30px);line-height:1.25}
.page-template-menu .tm-drinks-catalog .tabs-swiper{border-radius:16px;padding:4px 0}
.page-template-menu .tm-drinks-catalog .tabs-head .tab-name{min-height:46px;margin-bottom:0;padding:7.2px 16px;border:1px solid #e5e9e6;border-radius:14px;background:#fff;color:#03465e;font:500 16px/1.2 Gilroy,Arial,sans-serif;text-transform:none;letter-spacing:0;transition:background-color .18s,color .18s,border-color .18s}
.page-template-menu .tm-drinks-catalog .tabs-head .tabs-swiper .swiper-slide.tab-name{width:max-content!important;min-width:0!important;max-width:100%;height:auto;display:inline-flex;align-items:center;justify-content:center;white-space:normal}
.page-template-menu .tm-drinks-catalog .tabs-head .tab-name.active{background:#03465e;color:#fff;border-color:#03465e}
.page-template-menu .tm-drinks-catalog .tabs-wrapper :is(.swiper-button-prev,.swiper-button-next){top:4px;height:calc(100% - 8px);border:1px solid #e5e9e6;border-radius:14px;background:#fff;color:#03465e;box-shadow:0 3px 12px #03465e08}
.page-template-menu .tm-drinks-catalog .tabs-wrapper :is(.swiper-button-prev,.swiper-button-next)::after{color:inherit}
.page-template-menu .tm-drinks-catalog .tabs-wrapper .swiper-button-disabled{opacity:.35}
.page-template-menu .tm-drinks-catalog .tab-name:focus-visible{outline:3px solid #009aaf;outline-offset:-3px}
@media(hover:hover){.page-template-menu .tm-drinks-catalog .tab-name:not(.active):hover{background:#edf2f1;color:#03465e}}
@media(max-width:700px){.tm-gallery-control::before{inset:7px}.page-template-menu .tm-drinks-catalog .tabs-head .tab-name{min-height:48px}}
@media(prefers-reduced-motion:reduce){.tm-gallery-control::before,.tm-drinks-catalog .tab-name{transition:none!important}}
