/* Shared styles for product detail pages (container-cabins, frame-saunas, custom) */
:root {
  --bg-deep:#16201C; --bg:#1F2A26; --bg-elevated:#283631;
  --fg-1:#F2EDE1; --fg-2:#A8B0A7; --fg-3:#7E8C82;
  --ember:#E26A2C; --ember-hover:#C75620; --ember-glow:rgba(226,106,44,0.35);
  --border-on-dark:rgba(242,237,225,0.10); --border-on-dark-strong:rgba(242,237,225,0.18);
  --r-card:20px; --r-image:24px; --r-pill:999px;
  --ease:cubic-bezier(0.22,1,0.36,1); --dur-fast:200ms;
  --content-max:1280px; --gutter:80px; --gutter-mobile:24px;
  --font-display:'Unbounded','Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-ui:'Onest','Inter',-apple-system,BlinkMacSystemFont,sans-serif;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-ui); background:var(--bg); color:var(--fg-1); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font-family:inherit; cursor:pointer; }
img { display:block; max-width:100%; }

.container { max-width:var(--content-max); margin:0 auto; padding:0 var(--gutter); }
@media (max-width:800px) { .container { padding:0 var(--gutter-mobile); } }

/* NAV */
.nav-wrap { position:sticky; top:0; z-index:100; padding:12px var(--gutter); }
@media (max-width:800px) { .nav-wrap { padding:10px var(--gutter-mobile); } }
.nav {
  max-width:var(--content-max); margin:0 auto; height:64px; border-radius:var(--r-pill);
  background:rgba(31,42,38,0.72); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border:1px solid var(--border-on-dark);
  display:flex; align-items:center; gap:12px; padding:0 10px 0 24px;
}
.nav-brand { display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:600; font-size:18px; letter-spacing:0.04em; white-space:nowrap; }
.nav-brand svg { color:var(--ember); flex-shrink:0; }
.nav-spacer { flex:1; }
.nav-contacts { font-size:13px; font-weight:500; letter-spacing:0.04em; color:var(--fg-2); margin-right:24px; transition:color var(--dur-fast) var(--ease); }
.nav-contacts:hover { color:var(--fg-1); }
.lang-switcher { display:flex; gap:4px; }
.lang-btn {
  height:36px; padding:0 12px; border-radius:var(--r-pill); background:transparent; color:var(--fg-3);
  border:1px solid transparent; font-size:12px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
  transition:all var(--dur-fast) var(--ease);
}
.lang-btn:hover { color:var(--fg-1); background:rgba(242,237,225,0.06); }
.lang-btn.active { color:var(--fg-1); background:rgba(242,237,225,0.10); border-color:var(--border-on-dark-strong); }
@media (max-width:600px) { .nav-brand span { display:none; } .nav-contacts { margin-right:12px; } }

/* BUTTONS */
.btn {
  display:inline-flex; align-items:center; gap:10px; height:56px; padding:0 28px; border-radius:var(--r-pill);
  font-weight:600; font-size:13px; letter-spacing:0.12em; text-transform:uppercase; border:1px solid transparent;
  transition:background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease); white-space:nowrap;
}
.btn-primary { background:var(--ember); color:var(--bg-deep); box-shadow:0 16px 40px -10px var(--ember-glow); }
.btn-primary:hover { background:var(--ember-hover); }
.btn-secondary { color:var(--fg-1); border-color:var(--border-on-dark-strong); }
.btn-secondary:hover { background:rgba(242,237,225,0.06); }
.ic-arrow { display:inline-block; width:16px; height:16px; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='13,5 20,12 13,19'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='13,5 20,12 13,19'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ic-arrow.back { transform:scaleX(-1); }

/* PAGE */
.page-head { padding:64px 0 40px; }
.back-link { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--fg-3); margin-bottom:32px; transition:color var(--dur-fast) var(--ease); }
.back-link:hover { color:var(--fg-1); }
.eyebrow { font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--ember); font-weight:600; margin-bottom:16px; }
.page-title { font-family:var(--font-display); font-weight:500; font-size:clamp(32px,5vw,64px); line-height:1; letter-spacing:-0.02em; margin-bottom:24px; }
.page-desc { max-width:680px; font-size:18px; line-height:1.6; color:var(--fg-2); }

.gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding-bottom:72px; }
@media (max-width:900px) { .gallery { grid-template-columns:1fr 1fr; } }
@media (max-width:520px) { .gallery { grid-template-columns:1fr; } }
.gallery-item {
  aspect-ratio:4/3; overflow:hidden; border-radius:var(--r-image); border:1px solid var(--border-on-dark);
  background:var(--bg-elevated); padding:0; cursor:zoom-in;
}
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.gallery-item:hover img { transform:scale(1.04); }

.page-cta { background:var(--bg-deep); padding:72px 0; }
.page-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.page-cta-title { font-family:var(--font-display); font-weight:500; font-size:clamp(24px,3vw,36px); line-height:1.1; letter-spacing:-0.015em; max-width:620px; }

/* LIGHTBOX */
.lightbox { position:fixed; inset:0; z-index:200; background:rgba(11,16,14,0.92); display:none; align-items:center; justify-content:center; padding:24px; cursor:zoom-out; }
.lightbox.open { display:flex; }
.lightbox img { max-height:100%; max-width:100%; border-radius:12px; }

/* FOOTER */
.footer { background:var(--bg-deep); border-top:1px solid var(--border-on-dark); padding:32px 0; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.footer-logo { font-family:var(--font-display); font-weight:600; font-size:16px; letter-spacing:0.04em; color:var(--fg-3); }
.footer-copy { font-size:12px; color:#4A5852; }
