/* _base.css — общий каркас сайтов-арендаторов.
   Внешний вид настраивается CSS-переменными (--brand, --accent, --radius, --font)
   и переопределяется в темах шаблонов (lite_corporate.css и т.д.).
   Светлая/тёмная схема — через [data-mode] на <html>. */

:root{
  --maxw: 1180px;
  --gap: 24px;
  --pad-sec: 84px;
  --ease: cubic-bezier(.2,.7,.2,1);
}
[data-mode="light"]{
  --bg:#ffffff; --bg-alt:#f5f7fb; --surface:#ffffff; --text:#0f172a;
  --muted:#5b6675; --border:#e6eaf2; --shadow:0 10px 30px rgba(15,23,42,.08);
  --header-bg:rgba(255,255,255,.85);
}
[data-mode="dark"]{
  --bg:#0b1020; --bg-alt:#0f1730; --surface:#121a33; --text:#e8edf7;
  --muted:#9aa6bf; --border:#23304f; --shadow:0 14px 40px rgba(0,0,0,.45);
  --header-bg:rgba(11,16,32,.78);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:var(--font); background:var(--bg); color:var(--text);
  -webkit-font-smoothing:antialiased; line-height:1.55;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}

.tt-skip{position:absolute;left:-9999px;top:0;background:var(--brand);color:#fff;padding:10px 16px;z-index:1000;border-radius:0 0 var(--radius) 0}
.tt-skip:focus{left:0}

.tt-container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}
.tt-narrow{max-width:820px}

/* ── Header / nav ── */
.tt-header{position:sticky;top:0;z-index:100;background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.tt-header__inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.tt-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px}
.tt-brand__logo{height:34px;width:auto}
.tt-nav{display:flex;gap:6px;flex-wrap:wrap}
.tt-nav__link{padding:8px 12px;border-radius:999px;color:var(--muted);font-weight:600;font-size:14px;transition:.2s var(--ease)}
.tt-nav__link:hover{color:var(--text);background:var(--bg-alt)}
.tt-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.tt-burger span{width:24px;height:2px;background:var(--text);border-radius:2px;transition:.2s var(--ease)}

/* ── Sections ── */
.tt-main{display:block}
.tt-section{padding:var(--pad-sec) 0;opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.tt-section.tt-in{opacity:1;transform:none}
.tt-section:nth-child(even){background:var(--bg-alt)}
.tt-h2{font-size:clamp(26px,3.4vw,40px);line-height:1.15;margin:0 0 28px;font-weight:800;letter-spacing:-.02em}
.tt-center{text-align:center}
.tt-muted{color:var(--muted)}
.tt-lead{max-width:680px;margin-left:auto;margin-right:auto;font-size:18px}
.tt-prose{color:var(--muted);font-size:17px}

/* ── Buttons ── */
.tt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:var(--radius);font-weight:700;font-size:15px;cursor:pointer;border:1px solid transparent;transition:.2s var(--ease)}
.tt-btn--primary{background:var(--brand);color:#fff;box-shadow:0 8px 24px rgba(var(--brand-rgb),.35)}
.tt-btn--primary:hover{filter:brightness(1.07);transform:translateY(-1px)}
.tt-btn--ghost{background:transparent;border-color:var(--border);color:var(--text)}
.tt-btn--ghost:hover{border-color:var(--brand);color:var(--brand)}

/* ── Hero ── */
.tt-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.tt-hero__title{font-size:clamp(32px,5.2vw,60px);line-height:1.05;margin:0 0 18px;font-weight:800;letter-spacing:-.03em}
.tt-hero__subtitle{font-size:clamp(17px,2vw,21px);color:var(--muted);margin:0 0 30px;max-width:560px}
.tt-hero__media img{width:100%;border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow);object-fit:cover}

/* ── About ── */
.tt-about{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.tt-about__media img{border-radius:var(--radius);box-shadow:var(--shadow)}

/* ── Grids / cards ── */
.tt-grid{display:grid;gap:var(--gap)}
.tt-grid--cards{grid-template-columns:repeat(3,1fr)}
.tt-grid--adv{grid-template-columns:repeat(3,1fr)}
.tt-grid--products{grid-template-columns:repeat(4,1fr)}
.tt-grid--lots{grid-template-columns:repeat(3,1fr)}
.tt-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);transition:.25s var(--ease)}
.tt-card:hover{transform:translateY(-4px)}
.tt-card__title{margin:8px 0 8px;font-size:20px;font-weight:700}
.tt-card__text{color:var(--muted);margin:0}
.tt-service__icon{font-size:28px;color:var(--brand)}

.tt-adv{padding:24px;border-left:3px solid var(--brand);background:var(--surface);border-radius:0 var(--radius) var(--radius) 0;box-shadow:var(--shadow)}
.tt-adv__num{font-size:34px;font-weight:800;color:var(--accent);line-height:1}
.tt-adv__title{margin:10px 0 6px;font-size:18px}
.tt-adv__text{color:var(--muted);margin:0}

/* ── Gallery ── */
.tt-gallery{columns:3;column-gap:var(--gap)}
.tt-gallery__item{display:block;margin:0 0 var(--gap);break-inside:avoid;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.tt-gallery__item img{transition:.4s var(--ease)}
.tt-gallery__item:hover img{transform:scale(1.05)}

/* ── Products / lots ── */
.tt-product,.tt-lot{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);transition:.25s var(--ease)}
.tt-product:hover,.tt-lot:hover{transform:translateY(-4px);border-color:var(--brand)}
.tt-product__media{aspect-ratio:4/3;border-radius:calc(var(--radius) - 4px);overflow:hidden;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.tt-product__media img{width:100%;height:100%;object-fit:cover}
.tt-product__ph{font-size:40px;color:var(--border)}
.tt-product__title{font-size:16px;margin:0 0 6px}
.tt-product__price{font-weight:800;color:var(--brand)}
.tt-lot{display:flex;flex-direction:column;gap:8px}
.tt-lot__badge{align-self:flex-start;font-size:12px;font-weight:700;color:var(--accent);background:rgba(var(--brand-rgb),.08);padding:4px 10px;border-radius:999px}
.tt-lot__title{font-size:18px;margin:0}
.tt-lot__price{font-weight:800;color:var(--brand)}
.tt-lot__cta{color:var(--muted);font-weight:600;font-size:14px;margin-top:auto}

.tt-cta-card{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:44px 24px;box-shadow:var(--shadow)}
.tt-cta-card p{color:var(--muted);margin:0 0 18px}

/* ── Requisites ── */
.tt-requisites{white-space:pre-line;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;color:var(--muted);box-shadow:var(--shadow)}

/* ── Map ── */
.tt-map{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:16/7}
.tt-map iframe{width:100%;height:100%;border:0}
.tt-map--placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-alt);color:var(--muted);text-align:center;padding:20px}

/* ── Contact / form ── */
.tt-contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.tt-contact__list{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:12px}
.tt-contact__list li{display:flex;flex-direction:column}
.tt-contact__list span:first-child{font-size:13px;color:var(--muted);font-weight:600}
.tt-contact__social{display:flex;gap:10px}
.tt-chip{padding:8px 16px;border-radius:999px;border:1px solid var(--border);font-weight:600;font-size:14px}
.tt-chip:hover{border-color:var(--brand);color:var(--brand)}
.tt-form{display:grid;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.tt-field{display:flex;flex-direction:column;gap:6px}
.tt-field span{font-size:13px;font-weight:600;color:var(--muted)}
.tt-field input,.tt-field textarea{padding:12px 14px;border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);background:var(--bg);color:var(--text);font:inherit;transition:.2s var(--ease)}
.tt-field input:focus,.tt-field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.18)}
.tt-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.tt-alert{padding:14px 16px;border-radius:var(--radius);font-weight:600}
.tt-alert--ok{background:rgba(16,185,129,.12);color:#0f9b6c;border:1px solid rgba(16,185,129,.3)}
.tt-alert--err{background:rgba(239,68,68,.1);color:#dc2626;border:1px solid rgba(239,68,68,.3)}

/* ── Footer ── */
.tt-footer{border-top:1px solid var(--border);background:var(--bg-alt);padding:36px 0}
.tt-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.tt-footer__brand{font-weight:800}
.tt-footer__meta{display:flex;gap:18px;color:var(--muted);font-size:14px;flex-wrap:wrap}
.tt-footer__meta a:hover{color:var(--brand)}

/* ── Responsive ── */
@media (max-width:1024px){
  .tt-grid--products{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  :root{--pad-sec:60px}
  .tt-hero,.tt-about,.tt-contact{grid-template-columns:1fr}
  .tt-grid--cards,.tt-grid--adv,.tt-grid--lots{grid-template-columns:1fr 1fr}
  .tt-grid--products{grid-template-columns:repeat(2,1fr)}
  .tt-gallery{columns:2}
  .tt-nav{position:fixed;inset:68px 0 auto 0;flex-direction:column;background:var(--surface);border-bottom:1px solid var(--border);padding:12px 20px;transform:translateY(-130%);transition:.3s var(--ease);box-shadow:var(--shadow)}
  body.tt-menu-open .tt-nav{transform:none}
  .tt-burger{display:flex}
}
@media (max-width:540px){
  .tt-grid--cards,.tt-grid--adv,.tt-grid--lots,.tt-grid--products{grid-template-columns:1fr}
  .tt-gallery{columns:1}
}
@media (prefers-reduced-motion:reduce){
  .tt-section{opacity:1;transform:none;transition:none}
  *{scroll-behavior:auto}
}
