/* Header */
.site-header{height:105px;background:#fff}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:42px}
.brand-logo{display:block;width:290px;flex:0 0 auto}
.brand-logo img{width:100%}
.header-search{width:504px;padding-top:8px}
.search-row{display:flex;height:42px}
.search-row input{min-width:0;flex:1;border:1px solid #d8d8d8;border-right:0;border-radius:6px 0 0 6px;padding:0 17px;color:#333}
.search-row button{width:72px;border:0;border-radius:0 6px 6px 0;background:#000;color:#fff;transition:background .18s}
.search-row button:hover{background:var(--color-brand)}
.hot-search{display:flex;gap:14px;margin-top:6px;font-size:12px;color:#888}
.hot-search a:hover{color:var(--color-brand)}
.mobile-header{display:none;height:58px;background:#fff;align-items:center;justify-content:space-between;padding:0 10px}
.mobile-header .brand-logo{width:172px}
.menu-toggle{width:52px;height:52px;border:0;background:transparent;display:grid;place-items:center}
.menu-toggle span,.menu-toggle::before,.menu-toggle::after{content:"";display:block;width:25px;height:2px;background:#333;transition:.25s}
.menu-toggle span{margin:5px 0}

/* Desktop navigation */
.main-nav{height:58px;position:relative;z-index:50;color:#fff;background-color:var(--color-nav);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 42 42'%3E%3Cpath d='M1 1h16v5H6v11h11V9h16v16H22V14h5v5h11V4H22v5h-5V1H1v16h5V6H1zM41 41H25v-5h11V25H25v8H9V17h11v11h-5v-5H4v14h16v-5h5v9h16V25h-5v11h5z' fill='%23fff' fill-opacity='.065'/%3E%3C/svg%3E")}
.main-nav .container,.nav-list,.nav-item,.nav-link{height:100%}
.nav-list{display:flex;align-items:stretch;gap:47px}
.nav-item{position:relative}
.nav-link{position:relative;display:flex;align-items:center;overflow:hidden;font-size:17px;white-space:nowrap}
.nav-label{display:flex;flex-direction:column;height:25px;line-height:25px;transition:transform .3s ease}
.nav-label::after{content:none}
.nav-item:hover .nav-label,.nav-item:focus-within .nav-label{transform:none}
.nav-link::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:3px;background:#fff;transition:left .35s ease,right .35s ease}
.nav-item:hover>.nav-link::after,.nav-item:focus-within>.nav-link::after,.nav-item.is-current>.nav-link::after{left:0;right:0}
.submenu{visibility:hidden;opacity:0;position:absolute;top:58px;left:0;width:240px;padding-top:10px;background:#fff;color:#333;box-shadow:var(--shadow-menu);transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:60}
.nav-item:hover .submenu,.nav-item:focus-within .submenu,.nav-item.is-open .submenu{visibility:visible;opacity:1;transform:translateY(0)}
.submenu a{display:block;padding:12px 16px;border-bottom:1px solid #f0f0f0;font-size:15px;transition:.18s}
.submenu a:hover,.submenu a:focus{background:var(--color-brand);color:#fff}

/* Mobile drawer */
.drawer-overlay{visibility:hidden;opacity:0;position:fixed;inset:0;z-index:89;background:rgba(0,0,0,.55);transition:.25s}
.mobile-drawer{visibility:hidden;position:fixed;z-index:90;top:0;right:0;width:min(82vw,320px);height:100dvh;background:#f8f8f8;transform:translateX(100%);transition:.28s ease;overflow-y:auto}
body.drawer-open{overflow:hidden}
body.drawer-open .drawer-overlay{visibility:visible;opacity:1}
body.drawer-open .mobile-drawer{visibility:visible;transform:translateX(0)}
.drawer-head{height:65px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #e6e6e6;background:#fff}
.drawer-title{font-size:17px;font-weight:600;letter-spacing:2px}
.drawer-close{width:42px;height:42px;border:0;background:transparent;font-size:28px;line-height:1}
.drawer-search{padding:18px 16px}
.drawer-search .search-row{height:40px}
.drawer-search input{border-radius:20px 0 0 20px;background:#eee;border-color:#eee}
.drawer-search button{width:56px;border-radius:0 20px 20px 0;background:var(--color-brand)}
.mobile-nav-item{border-top:1px solid #e7e7e7}
.mobile-nav-row{display:flex;align-items:center;min-height:49px;background:#fff}
.mobile-nav-row>a{flex:1;padding:12px 18px;border-left:3px solid transparent}
.mobile-nav-item.is-current .mobile-nav-row>a{border-left-color:var(--color-brand);color:var(--color-brand)}
.mobile-sub-toggle{width:49px;align-self:stretch;border:0;border-left:1px solid #eee;background:#fff;color:#666;font-size:20px;transition:transform .2s}
.mobile-nav-item.is-expanded .mobile-sub-toggle{transform:rotate(45deg)}
.mobile-submenu{display:none;background:#f2f2f2;padding:4px 0}
.mobile-nav-item.is-expanded .mobile-submenu{display:block}
.mobile-submenu a{display:block;min-height:44px;padding:10px 26px;color:#666}

/* Hero and banners */
.hero-carousel{position:relative;height:300px;overflow:hidden;background:#222}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center}
.carousel-controls{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:10px}
.carousel-dot{width:10px;height:10px;padding:0;border:1px solid #fff;border-radius:50%;background:rgba(255,255,255,.25)}
.carousel-dot.is-active{background:#fff}
.carousel-pause{width:28px;height:28px;padding:0;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(0,0,0,.25);color:#fff;font-size:12px}
.inner-banner{height:255px;overflow:hidden;background:#333}
.inner-banner img{width:100%;height:100%;object-fit:cover;object-position:center}

/* Common content */
.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;border-bottom:1px solid #eee}
.section-badge{display:inline-flex;align-items:center;min-width:99px;height:30px;padding:0 15px;border-left:5px solid var(--color-blue-accent);background:var(--color-brand);color:#fff;font-size:16px;font-weight:400}
.more-link{display:inline-flex;align-items:center;gap:7px;padding:3px 8px;border:1px solid #222;font-size:12px;line-height:18px;transition:.18s}
.more-link::before{content:"+";font-size:16px}
.more-link:hover{background:#222;color:#fff}
.inner-main{background:var(--color-surface);padding:40px 0 56px}
.inner-grid{display:grid;grid-template-columns:290px 1fr;align-items:start}
.sidebar-nav{background:#fff; margin-right: 15px;}
.sidebar-title{height:56px;padding:0 25px;background:var(--color-brand);color:#fff;font-size:24px;font-weight:400;line-height:56px}
.sidebar-links{padding:29px 20px 34px}
.sidebar-links a{display:block;min-height:44px;padding:10px 19px;font-size:16px;border-bottom:1px solid #f1f1f1;transition:.18s}
.sidebar-links a:hover,.sidebar-links a.is-active{background:var(--color-brand);color:#fff}
.mobile-section-nav{display:none;margin-bottom:16px;background:#fff;border:1px solid #e4e4e4}
.mobile-section-toggle{display:flex;width:100%;height:48px;align-items:center;justify-content:space-between;padding:0 16px;border:0;background:#fff;color:#333}
.mobile-section-toggle::after{content:"+";font-size:22px;color:var(--color-brand)}
.mobile-section-nav.is-open .mobile-section-toggle::after{content:"−"}
.mobile-section-links{display:none;border-top:1px solid #eee;padding:6px}
.mobile-section-nav.is-open .mobile-section-links{display:block}
.mobile-section-links a{display:block;padding:10px 12px}
.mobile-section-links a.is-active{background:var(--color-brand);color:#fff}
.content-panel{min-width:0;background:#fff;padding:20px}
.panel-head{display:flex;align-items:center;justify-content:space-between;min-height:35px;margin-bottom:16px;border-bottom:1px solid #eee;padding-bottom:11px}
.panel-title{font-size:22px;font-weight:500}
.breadcrumb{font-size:13px;color:var(--color-muted);white-space:nowrap;overflow-x:auto}
.breadcrumb ol{display:flex;gap:7px}
.breadcrumb li+li::before{content:"/";margin-right:7px;color:#bbb}
.breadcrumb a:hover{color:var(--color-brand)}

/* Footer */
.site-footer{min-height:235px;background:var(--color-footer);color:#999}
.footer-inner{display:flex;align-items:center;justify-content:space-between;min-height:235px;padding:35px 0}
.footer-brand{width:500px}
.footer-brand img{width:270px;margin-bottom:19px;opacity:.8}
.footer-brand p{font-size:12px;line-height:2}
.footer-contact{width:445px;min-height:145px;border-left:1px solid #444;padding:10px 0 10px 54px;display:grid;grid-template-columns:1fr 96px;gap:25px;align-items:center}
.contact-label{font-size:13px;color:#aaa}
.contact-phone{display:block;margin-top:7px;font-size:28px;color:#fff;letter-spacing:1px}
.contact-hours{font-size:12px;color:#777}
.qr-code{width:92px;height:92px;padding:6px;background:#fff;background-image:linear-gradient(90deg,#222 12%,transparent 12%,transparent 25%,#222 25%,#222 37%,transparent 37%,transparent 50%,#222 50%,#222 62%,transparent 62%,transparent 75%,#222 75%,#222 87%,transparent 87%),linear-gradient(#222 12%,transparent 12%,transparent 25%,#222 25%,#222 37%,transparent 37%,transparent 50%,#222 50%,#222 62%,transparent 62%,transparent 75%,#222 75%,#222 87%,transparent 87%);background-size:28px 28px;background-position:7px 7px;border:6px solid #fff;box-shadow:inset 0 0 0 2px #222}
.qr-wrap{text-align:center;font-size:11px;color:#777}
.qr-wrap .qr-code{margin-bottom:5px}

/* Modal */

@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
