/* Shared identity, navigation and footer. The original company logo is retained. */
html { scroll-padding-top: 120px; }
.topbar { padding: 10px 0; font-size: 10px; letter-spacing: .13em; }
.topbar .wrap { align-items: center; }
.topbar a { display: inline-flex; align-items: center; gap: 9px; font-size: 11px; }
.topbar a > span { color: #bdc9cc; }
.topbar-contacts { display: flex; align-items: center; gap: 20px; }
.topbar-contacts > span { color: #a9bec7; font-size: 10px; letter-spacing: 0; }
.topbar-contacts a { font-variant-numeric: tabular-nums; }
.header { background: rgba(250,250,246,.98); }
.nav { height: 100px; gap: 30px; }
.brand-lockup { display: inline-flex; align-items: center; flex: none; gap: 16px; color: var(--ink); letter-spacing: 0; }
.logo.brand-lockup .brand-image { width: 80px; height: 70px; object-fit: contain; flex: none; }
.brand-copy { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.brand-name { font-size: 24px; font-weight: 750; letter-spacing: .13em; line-height: 1.1; }
.brand-subtitle { color: var(--muted); font-size: 11px; font-weight: 500; letter-spacing: .17em; line-height: 1.3; }
html[lang=en] .brand-name { font-size: 21px; letter-spacing: .045em; }
html[lang=en] .brand-subtitle { font-size: 9px; letter-spacing: .12em; }
.navlinks { margin-left: auto; align-self: stretch; align-items: stretch; gap: 22px; font-size: 13px; font-weight: 600; }
.navlinks > a { position: relative; display: inline-flex; align-items: center; white-space: nowrap; }
.navlinks > a::after { content: ''; position: absolute; height: 2px; bottom: 23px; left: 0; right: 0; background: var(--orange); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.navlinks > a:hover::after, .navlinks > a.active::after { transform: scaleX(1); }
.navlinks > .mobile-rfq { display: none; }
.nav-tools { display: flex; align-items: center; gap: 23px; flex: none; }
.lang { gap: 9px; margin-left: 0; font-size: 11px; }
.lang a { padding: 10px 0; color: var(--muted); }
.lang a.active { color: var(--ink); font-weight: 700; }
.nav-tools .nav-quote { gap: 12px; padding: 14px 18px; font-size: 12px; white-space: nowrap; }
.cart-count:empty { display: none; }
.menu-toggle { width: 44px; height: 44px; padding: 12px 10px; border: 1px solid var(--line); border-radius: 3px; align-items: center; justify-content: center; flex-direction: column; gap: 6px; color: var(--ink); }
.menu-toggle span { display: block; width: 20px; height: 1.5px; background: currentColor; transition: transform .2s; }
.menu-toggle[aria-expanded=true] span:first-child { transform: translateY(3.75px) rotate(45deg); }
.menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-3.75px) rotate(-45deg); }
.footer { padding: 58px 0 24px; color: #dce4e5; }
.footer-brandbar { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding-bottom: 36px; border-bottom: 1px solid #35464e; }
.footer .brand-lockup { color: #fff; gap: 23px; }
.footer .brand-image { width: 100px !important; height: 88px !important; }
.footer .brand-name { font-size: 34px; }
.footer .brand-subtitle { font-size: 12px; color: #a9bac1; letter-spacing: .22em; }
html[lang=en] .footer .brand-name { font-size: 29px; }
html[lang=en] .footer .brand-subtitle { font-size: 10px; letter-spacing: .13em; }
.footer-identity { max-width: 490px; }
.footer p.footer-company { max-width: none; margin: 0; color: #e1e8e9; font-size: 17px; font-weight: 550; line-height: 1.6; letter-spacing: .025em; }
.footer p.footer-description { max-width: none; margin: 9px 0 0; color: #a9bac1; font-size: 12px; line-height: 1.8; }
.footer-grid { grid-template-columns: .9fr .95fr 1.4fr; gap: 60px; padding: 36px 0 40px; margin: 0; }
.footer h4 { color: #9eb2bb; font-size: 11px; line-height: 1.6; letter-spacing: .09em; font-weight: 550; margin: 0 0 23px; }
.footer-links { gap: 13px; font-size: 13px; line-height: 1.6; align-items: flex-start; }
.footer-links a { transition: color .18s; }
.footer-links a:hover, .footer-contact a:hover, .footer-meta a:hover { color: #f29b7d; }
.footer-contact dl { margin: 0; }
.footer-contact dl > div { margin: 0 0 20px; }
.footer-contact dl > div:last-child { margin-bottom: 0; }
.footer-contact dt { font-size: 10px; color: #9eb2bb; line-height: 1.5; margin-bottom: 5px; }
.footer-contact dd { margin: 0; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.footer-contact .footer-email { font-size: 17px; font-weight: 550; letter-spacing: .01em; }
.footer-contact dd.footer-address { max-width: 430px; font-size: 12px; line-height: 1.85; color: #b1c0c6; }
.footer-bottom { align-items: flex-start; padding-top: 23px; border-color: #35464e; font-size: 11px; line-height: 1.8; gap: 30px; }
.footer-copyright span { display: block; font-size: 10px; margin-top: 4px; color: #849ba5; }
.footer-meta { display: flex; gap: 18px; white-space: nowrap; align-items: center; padding-top: 1px; }
.footer-meta > span { color: #50646d; }
.footer-meta { padding-right: 130px; }
.contact-whatsapp { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.contact-whatsapp a { display: inline-flex; align-items: center; gap: 10px; font-variant-numeric: tabular-nums; }
.contact-whatsapp a > span { color: #879f96; }
.whatsapp-widget { position: fixed; right: 24px; bottom: calc(24px + env(safe-area-inset-bottom)); z-index: 45; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.whatsapp-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 13px 19px; border: 1px solid #08794a; border-radius: 30px; background: #08794a; color: #fff; font-size: 13px; font-weight: 600; box-shadow: 0 5px 22px #103d3229; }
.whatsapp-toggle:hover { background: #08643f; }
.whatsapp-toggle svg { width: 25px; height: 25px; flex: none; }
.whatsapp-panel { width: 336px; max-width: calc(100vw - 40px); background: #fff; border: 1px solid #dce5de; border-radius: 10px; padding: 23px; box-shadow: 0 12px 50px #142e3326; }
.whatsapp-panel[hidden] { display: none; }
.whatsapp-panel-head { display: flex; gap: 12px; justify-content: space-between; align-items: flex-start; }
.whatsapp-panel-head small { display: block; font-size: 9px; letter-spacing: .14em; color: #677b71; margin-bottom: 8px; }
.whatsapp-panel-head strong { display: block; font-size: 17px; font-weight: 600; line-height: 1.5; }
.whatsapp-panel-head button { flex: none; border: 0; background: #f0f4ef; color: #52645a; border-radius: 50%; width: 30px; height: 30px; padding: 0; font-size: 22px; line-height: 1; }
.whatsapp-panel > p { font-size: 12px; line-height: 1.8; color: var(--muted); margin: 15px 0 18px; }
.whatsapp-options { display: flex; flex-direction: column; gap: 10px; }
.whatsapp-options > a { display: flex; align-items: center; gap: 12px; background: #f3f7f1; border: 1px solid #dfe8dd; border-radius: 5px; padding: 13px 12px; }
.whatsapp-options > a:hover { border-color: #08794a; background: #edf5e9; }
.whatsapp-options svg { width: 27px; height: 27px; color: #08794a; flex: none; }
.whatsapp-options small { display: block; font-size: 10px; color: #61756a; margin-bottom: 3px; }
.whatsapp-options strong { display: block; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.whatsapp-options .arrow { margin-left: auto; color: #08794a; font-size: 19px; }
@media (max-width: 1260px) {
  .nav { gap: 23px; }
  .navlinks { gap: 18px; font-size: 12px; }
  .nav-tools { gap: 18px; }
  .nav-tools .nav-quote { display: none; }
}
@media (max-width: 1050px) {
  .nav { height: 90px; justify-content: space-between; }
  .nav-tools { gap: 20px; }
  .nav-tools .nav-quote { display: inline-flex; }
  .menu-toggle { display: inline-flex; }
  .navlinks { display: none; position: absolute; top: 100%; left: 0; right: 0; margin: 0; padding: 16px 5.4% 24px; background: #fafaf6; border-bottom: 1px solid var(--line); box-shadow: 0 16px 24px #17242b0d; flex-direction: column; align-items: stretch; gap: 0; }
  .navlinks.open { display: flex; }
  .navlinks > a { padding: 14px 0; font-size: 14px; border-bottom: 1px solid #e8eae3; }
  .navlinks > a::after { display: none; }
  .navlinks > .mobile-rfq { display: inline-flex; color: var(--orange); justify-content: space-between; border-bottom: 0; padding-bottom: 4px; }
  .footer-brandbar { gap: 36px; }
  .footer-identity { max-width: 44%; }
  .footer-grid { gap: 36px; grid-template-columns: .85fr .95fr 1.4fr; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 105px; }
  .topbar { padding: 9px 0; letter-spacing: .07em; }
  .topbar .wrap { gap: 12px; }
  .topbar .wrap > .topbar-intro { display: none; }
  .topbar .wrap { justify-content: center; }
  .topbar-contacts { justify-content: center; gap: 14px; width: 100%; }
  .topbar-contacts > span { font-size: 9px; }
  .topbar .wrap > span { font-size: 8px; letter-spacing: .04em; }
  .topbar .wrap a { font-size: 9px; gap: 5px; }
  .topbar a > span { display: none; }
  .nav { height: 82px; gap: 14px; }
  .brand-lockup { gap: 10px; }
  .logo.brand-lockup .brand-image { width: 58px; height: 52px; }
  .brand-copy { gap: 7px; }
  .brand-name { font-size: 23px; letter-spacing: .1em; }
  .brand-subtitle { font-size: 9px; letter-spacing: .13em; }
  html[lang=en] .brand-name { font-size: 17px; letter-spacing: .03em; }
  html[lang=en] .brand-subtitle { font-size: 8px; letter-spacing: .06em; }
  .nav-tools { gap: 11px; }
  .nav-tools .nav-quote { display: none; }
  .lang { font-size: 10px; gap: 7px; }
  .navlinks { padding-left: 6%; padding-right: 6%; }
  .footer { padding-top: 40px; padding-bottom: 23px; }
  .footer-brandbar { display: block; padding-bottom: 28px; }
  .footer .brand-lockup { gap: 18px; }
  .footer .brand-image { width: 86px !important; height: 76px !important; }
  .footer .brand-name { font-size: 31px; }
  .footer .brand-subtitle { font-size: 11px; }
  html[lang=en] .footer .brand-name { font-size: 27px; }
  html[lang=en] .footer .brand-subtitle { font-size: 9px; }
  .footer-identity { max-width: none; margin-top: 25px; }
  .footer p.footer-company { font-size: 15px; }
  .footer p.footer-description { font-size: 12px; margin-top: 8px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 25px; padding: 30px 0; }
  .footer-grid > div:first-child { grid-column: auto; }
  .footer h4 { font-size: 10px; margin-bottom: 18px; }
  .footer-links { font-size: 12px; gap: 12px; }
  .footer-contact { grid-column: 1 / -1; padding-top: 27px; border-top: 1px solid #35464e; }
  .footer-contact dl { display: grid; grid-template-columns: 1fr 1fr; gap: 23px 20px; }
  .footer-contact dl > div { margin: 0; }
  .footer-contact dl > div:first-child, .footer-contact dl > div:last-child { grid-column: 1 / -1; }
  .footer-contact .footer-email { font-size: 18px; }
  .footer-contact dd { font-size: 14px; }
  .footer-contact dd.footer-address { font-size: 12px; max-width: 520px; }
  .footer-bottom { display: block; padding-top: 22px; font-size: 10px; }
  .footer-bottom > .footer-meta { margin-top: 18px; font-size: 11px; gap: 20px; }
  .footer-meta { padding-right: 55px; }
  .whatsapp-widget { right: 16px; bottom: calc(18px + env(safe-area-inset-bottom)); }
  .whatsapp-toggle { width: 52px; height: 52px; padding: 12px; }
  .whatsapp-toggle > span { display: none; }
  .whatsapp-panel { max-width: calc(100vw - 32px); padding: 21px; }
}
@media (max-width: 370px) {
  .nav { gap: 8px; }
  .logo.brand-lockup .brand-image { width: 49px; height: 45px; }
  .brand-lockup { gap: 8px; }
  .brand-name { font-size: 21px; }
  html[lang=en] .brand-name { font-size: 16px; }
  html[lang=en] .brand-subtitle { font-size: 7px; }
  .nav-tools { gap: 7px; }
  .lang { gap: 5px; }
  .topbar .wrap > span { font-size: 7px; }
  .topbar .wrap a { font-size: 8px; }
}
