/* MOBILE PORTRAIT */
html{font-size:var(--fs-base)}
body{margin:0;padding:0;background:#fff;color:#0f172a;font-family:var(--ff-base);font-size:1rem;line-height:var(--lh-base)}
.header-inner,.main-nav .nav-inner,.page,.footer-inner{max-width:480px;margin:0 auto}
br.m2-br{display:inline}

:root{ --m2-cta-vert-scale: 2; }

/* Ensure header is positioning context (mobile portrait) */
.header-inner{position:relative}
.header-inner{
/* Ensure header is positioning context */
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-areas:
    "logo logo"
    "brand contacts"
    "address contacts";
  column-gap:10px; row-gap:6px; padding:10px;
}
.col.left{display:contents}
.logo{
  grid-area:logo; width:44px;height:44px;object-fit:contain;border-radius:8px;background:#fff;border:1px solid #e5e7eb;
  justify-self:center;align-self:center;margin-bottom:2px;
}
.taglines{grid-area:brand;text-align:left;min-width:0;max-width:35ch}
.taglines .t1{font-weight:var(--fw-strong);color:#0f172a;font-size:1rem;line-height:1.2;text-transform:uppercase;white-space:normal;word-break:break-word;hyphens:auto}
.taglines .t2{font-size:1rem;color:#334155;line-height:1.25;white-space:normal;word-break:break-word;hyphens:auto;max-width:35ch}

.col.center,.header-photos{display:none}

.addr{grid-area:address;display:flex;flex-direction:column;justify-content:center;text-align:left;max-width:18ch}
.addr .addr-line{display:block}
.addr .addr-nb{white-space:nowrap}

.col.right{grid-area:contacts;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}
.mgr{margin:4px 0}
.mgr-name,.mgr-phone{display:block;font-size:1rem}

@keyframes waBlinkColor{0%{background-position:0% 50%;filter:brightness(1)}50%{background-position:100% 50%;filter:brightness(var(--wa-anim-intensity))}100%{background-position:0% 50%;filter:brightness(1)}}
.whatsapp,
.btn-cta{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%; max-width: 240px;
  color: #fff; border-radius: 10px; font-weight: 700; text-align: center;
  background-image: linear-gradient(90deg, var(--wa-color1) 0%, var(--wa-color2) 100%);
  background-size: 200% 100%;
  animation: waBlinkColor var(--wa-anim-duration) var(--wa-anim-ease) infinite;
  box-shadow: 0 6px 14px rgba(37,211,102,.25);
  padding-block: 15px; padding-inline: 15px;
  line-height: 1; font-size: 12px; white-space: nowrap;
}

.whatsapp{margin-top:4px}
.call-btn{
  display:block;width:100%;max-width:240px;text-align:center;
  color:#fff;background:#6b7280;border-radius:10px;font-weight:700;
  padding-block:13px; padding-inline:13px; font-size:12px; white-space:nowrap;
}

.main-nav{background:#fff}
.main-nav .nav-inner{display:flex;gap:8px;justify-content:center;border-top:1px solid #e5e7eb;position:relative}
.main-nav .nav-inner::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:var(--primary)}
.main-nav a{padding:8px 8px;font-size:13px;font-weight:700;color:#0f172a;display:inline-block}
.main-nav a.active,.main-nav a:hover{background:#0f172a;color:#fff;text-decoration:none;border-radius:8px}
/* Move language switch to header (mobile portrait) */
.site-header{position:relative}
.main-nav .lang{display:none}
.lang-mobile{position:absolute;right:10px;top:10px;z-index:10}
.lang-mobile .lang-btn{
  display:inline-block;
  padding:12px 16px;
  border:2px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  color:#0f172a;
  font-weight:800;
  font-size:15px;
}
/* Mobile portrait: show big RU/KZ at top-right */
.main-nav .lang{display:none}
.lang-mobile{display:block;position:absolute;right:10px;top:8px;z-index:20}
.lang-mobile .lang-btn{
  display:inline-block;
  padding:14px 18px;
  border:2px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  color:#0f172a;
  font-weight:800;
  font-size:18px;
}
/* Lang switch */
.main-nav .lang{position:absolute;right:8px;top:50%;transform:translateY(-50%)}
.lang-btn{display:inline-block;padding:6px 8px;border:1px solid #e5e7eb;border-radius:8px;color:#0f172a;background:#fff;font-weight:700;font-size:12px}
.lang-btn:hover{background:var(--primary);color:#fff}

.page{padding:0 10px 28px;min-height:1150px}
.page-title{margin:10px 0 14px;font-size:1rem;border-left:5px solid var(--accent);padding-left:10px;font-weight:var(--fw-strong)}
.categories>h2,.catalog>h2{font-size:1rem;margin:8px 0 10px;font-weight:var(--fw-strong)}

.categories .cat-grid{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:10px;margin-top:8px}
.cat-card{display:flex;flex-direction:column;align-items:center;gap:6px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:6px}
.cat-card img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:10px}
.cat-card span{font-weight:700;color:#0f172a;font-size:.9rem;line-height:1.2;text-align:left;white-space:normal;overflow-wrap:anywhere}
.cat-card.active,.cat-card[aria-current="page"]{background:#eef2f7;border-color:#cbd5e1}

figure{margin:0}
.gallery{display:grid;grid-template-columns:1fr;gap:14px;margin:14px 0}
.g-item{position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:0;overflow:hidden}
.g-item::before{content:"";display:block;padding-top:66.6667%}
.g-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.gallery .cta-price-wrap{grid-column:1/-1;grid-row:2;display:flex;justify-content:center;align-items:center}
.cta-row{display:flex;justify-content:center;margin:16px 0 4px}

.lb-img{max-width:94vw;max-height:78vh}
.lb-btn{font-size:24px;padding:8px 10px}
.lb-prev{left:8px}.lb-next{right:8px}

.site-footer{background:#0f172a;color:#cbd5e1}
.footer-inner{padding:16px 10px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.footer-inner a{color:#93c5fd}/* Mobile portrait: big RU/KZ button at top-right near logo */
.main-nav .lang{display:none}
.lang-mobile{display:block;position:absolute;right:10px;top:8px;z-index:20}
.lang-mobile .lang-btn{
  display:inline-block;
  padding:14px 18px;
  border:2px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  color:#0f172a;
  font-weight:800;
  font-size:18px;
}/* LANG BTN FIX (mobile portrait) */
.site-header{position:relative}
.lang-mobile{display:block !important;position:absolute;right:10px;top:8px;z-index:1000}
.lang-mobile .lang-btn{padding:14px 18px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;color:#0f172a;font-weight:800;font-size:18px}