/* ===================================================================
   Elvesta Theme — main.css  v1.3 (scaled up)
   Reference: главная согласованная.png (941×1672px)
=================================================================== */

:root {
  --blue:       #1a5cb5;
  --blue-dk:    #1a3a7a;
  --blue-lt:    #e8f0fb;
  --text:       #1a1a2e;
  --text-2:     #3a4060;
  --muted:      #5a6272;
  --border:     #d8dfe8;
  --bg:         #fff;
  --bg-light:   #f5f7fb;
  --ann-bg:     #e8f4fd;
  --ann-bd:     #b0d4f0;
  --footer-bg:  #1a2d52;
  --green:      #1D7044;
  --font:       'Segoe UI', Arial, sans-serif;
  --r:          4px;
  --r-md:       8px;
  --shadow:     0 1px 6px rgba(26,44,122,.10);
  --max-w:      1200px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;height:100%;}
body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column;}
.site-main{flex:1 0 auto;}
a{color:var(--blue);text-decoration:none;}
a:hover{text-decoration:underline;}
ul{list-style:none;}
img{max-width:100%;height:auto;display:block;}
.container{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:24px;}

/* ── HEADER ─────────────────────────────────────────────────── */
.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:0 1px 4px rgba(0,0,40,.07);}
.header-top{padding-block:12px 10px;}
.header-top__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}

.site-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
.site-logo__text{display:flex;flex-direction:column;gap:2px;}
.site-logo__name{font-size:1.35rem;font-weight:700;color:var(--text);line-height:1.2;}
.site-logo__sub{font-size:.82rem;color:var(--muted);}

.header-contacts{display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.header-contacts__phone-block{display:flex;flex-direction:column;gap:2px;}
.header-contacts__phone{font-size:1.15rem;font-weight:700;color:var(--text);text-decoration:none;}
.header-contacts__phone:hover{color:var(--blue);}
.header-contacts__hours{font-size:.8rem;color:var(--muted);}
.header-contacts__email{display:flex;align-items:center;gap:6px;font-size:.88rem;color:var(--blue);}

.header-nav{border-top:1px solid var(--border);}
.header-nav__inner{display:flex;align-items:stretch;}

.btn-catalog{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;padding:11px 20px;font-size:.95rem;font-weight:600;letter-spacing:.01em;text-decoration:none;flex-shrink:0;white-space:nowrap;}
.btn-catalog:hover{background:var(--blue-dk);color:#fff;text-decoration:none;}

.primary-nav{flex:1;}
.primary-nav__list{display:flex;align-items:stretch;width:100%;justify-content:space-between;}
.primary-nav__list li{display:flex;align-items:stretch;}
.primary-nav__list li a{display:flex;align-items:center;padding:11px 12px;font-size:.88rem;color:var(--text);white-space:nowrap;position:relative;text-decoration:none;}
.primary-nav__list li a:hover{color:var(--blue);}
.primary-nav__list li.is-active>a{color:var(--blue);}
.primary-nav__list li.is-active>a::after{content:'';position:absolute;bottom:0;left:10px;right:10px;height:2px;background:var(--blue);border-radius:2px 2px 0 0;}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:13px 16px;margin-left:auto;align-self:center;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--text);border-radius:2px;}

/* ── Mobile Drawer ──────────────────────────────────────────── */
.mobile-drawer{position:fixed;inset:0;z-index:200;}
.mobile-drawer[hidden]{display:none;}
.mobile-drawer__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);}
.mobile-drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(300px,85vw);background:#fff;display:flex;flex-direction:column;overflow-y:auto;}
.mobile-drawer__close{align-self:flex-end;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--muted);padding:12px 16px;line-height:1;}
.mobile-drawer__list li{border-bottom:1px solid var(--border);}
.mobile-drawer__list li a{display:block;padding:14px 20px;font-size:1rem;color:var(--text);}
.mobile-drawer__contacts{padding:20px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);}
.mobile-drawer__contacts a{color:var(--blue);font-weight:600;font-size:.95rem;}

/* ── HERO ────────────────────────────────────────────────────── */
.hero{padding-block:16px 12px;background:#fff;}
.hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;}
.hero__title{font-size:2.1rem;font-weight:800;color:var(--text);line-height:1.15;margin-bottom:12px;text-transform:uppercase;}
.hero__desc{font-size:1rem;color:var(--muted);line-height:1.6;margin-bottom:18px;}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;}
.btn-primary{display:inline-flex;align-items:center;background:var(--blue);color:#fff;padding:13px 28px;border-radius:var(--r);font-size:.95rem;font-weight:600;text-decoration:none;border:2px solid var(--blue);white-space:nowrap;}
.btn-primary:hover{background:var(--blue-dk);border-color:var(--blue-dk);color:#fff;text-decoration:none;}
.btn-outline{display:inline-flex;align-items:center;background:#fff;color:var(--blue);padding:13px 28px;border-radius:var(--r);font-size:.95rem;font-weight:600;text-decoration:none;border:2px solid var(--blue);white-space:nowrap;}
.btn-outline:hover{background:var(--blue-lt);text-decoration:none;}
.hero__photo{display:flex;align-items:center;justify-content:center;}
.hero__photo img{width:100%;max-height:340px;object-fit:contain;}

/* ── ОБЪЯВЛЕНИЯ ─────────────────────────────────────────────── */
.announcements{padding-block:6px;background:#fff;}
.announcements__box{border:1px solid var(--ann-bd);border-radius:var(--r-md);background:var(--ann-bg);padding:12px 20px;display:flex;gap:22px;align-items:flex-start;}
.announcements__icon{flex-shrink:0;margin-top:2px;}
.announcements__body{}
.announcements__title{font-weight:700;color:var(--text);font-size:1.05rem;margin-bottom:10px;}
.announcements__list{font-size:.92rem;color:var(--text);}
.announcements__list li{padding:3px 0;}
.announcements__list li::before{content:'• ';color:var(--blue);}

/* ── SECTIONS shared ─────────────────────────────────────────── */
.section{padding-block:16px;}
.section--light{background:var(--bg-light);}
.section__title{text-align:center;font-size:1.25rem;font-weight:700;color:var(--blue);margin-bottom:4px;}
.section__sub{text-align:center;font-size:.88rem;color:var(--muted);margin-bottom:10px;}

/* ── CATALOG ─────────────────────────────────────────────────── */
.catalog-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:8px;}
.catalog-card{border:1px solid var(--border);border-radius:var(--r-md);padding:10px 8px 8px;display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s;}
.catalog-card:hover{border-color:var(--blue);box-shadow:0 3px 12px rgba(26,92,181,.18);}
.catalog-card__img{width:100%;min-height:90px;display:flex;align-items:center;justify-content:center;}
.catalog-card__img img{max-width:100%;max-height:90px;object-fit:contain;}
.catalog-card__name{font-size:.84rem;font-weight:600;text-align:center;color:var(--text);line-height:1.35;flex:1;}
.btn-card{font-size:.82rem;padding:6px 22px;border-radius:var(--r);border:1px solid var(--border);color:var(--text-2);background:#fff;text-decoration:none;display:inline-block;}
.btn-card:hover{border-color:var(--blue);color:var(--blue);}
.catalog-more{text-align:center;margin-top:6px;}
.btn-wide-outline{display:inline-flex;align-items:center;padding:9px 32px;border:1px solid var(--border);border-radius:var(--r);font-size:.86rem;color:var(--text-2);text-decoration:none;background:#fff;}
.btn-wide-outline:hover{border-color:var(--blue);color:var(--blue);}

/* ── ПРАЙС-ЛИСТЫ ─────────────────────────────────────────────── */
.price-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:8px;}
.price-card{border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;display:flex;flex-direction:row;align-items:center;gap:10px;background:#fff;box-shadow:var(--shadow);}
.price-card__icon{flex-shrink:0;}
.price-card__body{display:flex;flex-direction:column;gap:6px;flex:1;}
.price-card__name{font-size:.82rem;color:var(--text);line-height:1.4;text-align:left;}
.btn-price{font-size:.82rem;padding:6px 14px;border-radius:var(--r);background:var(--blue);color:#fff;text-decoration:none;display:inline-block;border:none;white-space:nowrap;text-align:center;}
.btn-price:hover{background:var(--blue-dk);color:#fff;text-decoration:none;}
.price-more{text-align:center;margin-top:6px;}

/* ── КОМУ ДОВЕРИТЬ РЕМОНТ ──────────────────────────────────── */
.repair-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.repair-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px dashed var(--blue);border-radius:var(--r-md);background:#fff;}
.repair-card__icon{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;}
.repair-card__text{font-size:.85rem;color:var(--text);line-height:1.5;}
.repair-card__label{font-size:.8rem;color:var(--muted);font-style:italic;}

/* ── О НАС ──────────────────────────────────────────────────── */
.about{padding-block:16px;background:#fff;}
.about-grid{display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;gap:0;align-items:start;}
.about-divider{width:1px;background:#c5cee0;align-self:stretch;min-height:60px;}
.about-item{display:flex;gap:14px;align-items:flex-start;padding:0 16px;}
.about-item:first-child{padding-left:0;}
.about-item:last-child{padding-right:0;}
.about-item__icon{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;}
.about-item__text{font-size:.9rem;color:var(--muted);line-height:1.6;}

/* ── FOOTER ──────────────────────────────────────────────────── */
.site-footer{background:var(--footer-bg);color:#fff;}
.footer-body{padding-block:20px 18px;}
.footer-grid{display:grid;grid-template-columns:1.6fr auto auto auto;gap:36px;align-items:start;}
.footer-logo-col{}
.footer-logo-link{display:flex;align-items:center;gap:12px;margin-bottom:8px;text-decoration:none;}
.footer-logo-name{font-size:1.2rem;font-weight:700;color:#fff;}
.footer-logo-sub{font-size:.82rem;color:rgba(255,255,255,.6);line-height:1.5;margin-bottom:10px;}
.footer-copyright{font-size:.8rem;color:rgba(255,255,255,.45);margin-top:6px;}

.footer-nav-col{}
.footer-nav-title{font-size:.76rem;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;}
.footer-nav-cols{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;}
.footer-nav-cols a{font-size:.86rem;color:rgba(255,255,255,.75);display:block;padding:3px 0;}
.footer-nav-cols a:hover{color:#fff;}

.footer-contacts-col{}
.footer-contacts-phone{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:700;color:#fff;text-decoration:none;margin-bottom:4px;}
.footer-contacts-hours{font-size:.78rem;color:rgba(255,255,255,.55);margin-bottom:12px;padding-left:22px;}
.footer-contacts-email{display:flex;align-items:center;gap:8px;font-size:.86rem;color:rgba(255,255,255,.75);}

.footer-social-col{}
.footer-social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;}
.footer-social-links a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;text-decoration:none;flex-shrink:0;}
.footer-social-links a:hover{opacity:.85;}

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width:860px){
  .catalog-grid{grid-template-columns:repeat(3,1fr);}
  .price-grid{grid-template-columns:repeat(3,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px;}
  .about-grid{grid-template-columns:1fr;gap:20px;}
  .about-divider{display:none;}
  .repair-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .hero__inner{grid-template-columns:1fr;}
  .hero__photo{order:-1;}
  .hero__photo img{max-height:240px;}
  .catalog-grid{grid-template-columns:repeat(2,1fr);}
  .price-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr;}
  .footer-nav-cols{grid-template-columns:1fr 1fr;}
}
@media (max-width:480px){
  .site-logo{min-width:0;max-width:100%;}
  .site-logo__text{min-width:0;}
  .site-logo__sub{white-space:normal;overflow-wrap:anywhere;}
  .header-contacts__hours{display:none;}
  .hero__title{font-size:1.6rem;}
  .catalog-grid{grid-template-columns:repeat(2,1fr);}
  .price-grid{grid-template-columns:repeat(2,1fr);}
}
@media (min-width:769px){
  .nav-toggle{display:none;}
  .primary-nav{display:block;}
}
/* Общая шапка не закрепляется на desktop/tablet (>=768px) — прокручивается вместе со страницей.
   Sticky остаётся только на mobile (<768px) для удобства мобильного меню. */
@media (min-width:768px){
  .site-header{position:static;}
}
@media (max-width:768px){
  .header-top{padding-block:7px 5px;}
  .header-top__inner{gap:8px;flex-wrap:nowrap;}
  .site-logo{gap:8px;}
  .site-logo__text{max-width:180px;}
  .site-logo__icon svg{width:34px;height:34px;}
  .site-logo__name{font-size:1.08rem;}
  .site-logo__sub{font-size:.68rem;line-height:1.2;}
  .header-contacts{margin-left:auto;gap:8px;flex-wrap:nowrap;}
  .header-contacts__phone-block{gap:0;text-align:right;}
  .header-contacts__phone{font-size:.88rem;line-height:1.2;white-space:nowrap;}
  .header-contacts__hours{display:block;font-size:.65rem;line-height:1.2;white-space:nowrap;}
  .btn-catalog{padding-block:8px;}
  .nav-toggle{padding-block:9px;}
  .nav-toggle{display:flex;}
  .primary-nav{display:none;}
  .header-contacts__email{display:none;}
}
@media (max-width:359px){
  .site-logo__sub{display:none;}
  .header-contacts__phone{font-size:.86rem;}
  .header-contacts__hours{font-size:.6rem;}
}
