/* ============================================================
   Konfigur Shop — публичная часть на Materialize CSS
   Плоский enterprise-стиль: кнопки без скруглений, формы выровнены
   ============================================================ */

:root{
  --c-brand:#1b3a63;
  --c-brand-2:#2b5b9e;
  --c-accent:#e3542c;
  --c-bg:#f2f4f7;
  --c-panel:#ffffff;
  --c-line:#d5dce5;
  --c-text:#1c2733;
  --c-muted:#5d6b7c;
  --r:0;
}

/* box-sizing глобально по-материализовски */
*, *::before, *::after{ box-sizing:border-box; }

html, body{
  font-family:"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color:var(--c-text);
  background:var(--c-bg);
  font-size:15px;
  line-height:1.5;
}
a{ color:var(--c-brand-2); }

/* ===== Навбар (Materialize) — плоский ===== */
.navbar-fixed{ z-index:1000; }
nav.shop-navbar{
  background:var(--c-brand);
  box-shadow:none; border-bottom:3px solid var(--c-accent);
  height:64px; line-height:64px;
}
nav.shop-navbar .brand-logo{ color:#fff; font-weight:800; font-size:18px; }
nav.shop-navbar .brand-logo small{ font-weight:400; color:#c8d5e6; }
nav.shop-navbar .nav-wrapper .brand-logo{ height:64px; line-height:64px; }
nav.shop-navbar ul li a{ color:#dce6f2; font-weight:600; font-size:14px; }
nav.shop-navbar ul li a:hover{ background:rgba(255,255,255,.08); color:#fff; }
nav.shop-navbar .cart-link{
  display:flex; align-items:center; gap:8px; color:#fff;
  border:1px solid rgba(255,255,255,.4); padding:0 14px; margin:12px 0 0 10px;
  height:40px; line-height:40px; background:transparent; font-weight:700;
}
nav.shop-navbar .cart-link:hover{ background:var(--c-accent); border-color:var(--c-accent); }
nav.shop-navbar .cart-link .cart-badge{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:20px; height:20px; background:var(--c-accent); color:#fff;
  font-size:12px; font-weight:800; padding:0 5px;
}
/* Мобильное меню (иконка) */
.sidenav-trigger i{ color:#fff; }
.sidenav{ color:var(--c-text); }

/* ===== Контейнер и hero ===== */
.container{ max-width:1280px; }
.page-wrap{ padding:24px 0 60px; }
.hero-banner{
  background:var(--c-brand); color:#fff; padding:40px 36px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  border-left:6px solid var(--c-accent); margin-bottom:28px;
}
.hero-banner h1{ margin:0 0 6px; font-size:32px; font-weight:800; }
.hero-banner p{ margin:0; color:#c8d5e6; }
.section-title{
  font-size:20px; font-weight:800; margin:0 0 18px;
  display:flex; align-items:center; gap:12px; color:var(--c-text);
}
.section-title::after{ content:""; flex:1; height:2px; background:var(--c-accent); }

/* ===== Кнопки — плоские, без скруглений ===== */
.btn, .btn-large, .btn-small, .waves-effect, .btn:hover, .btn-large:hover{
  border-radius:0 !important;
  box-shadow:none !important;
  text-transform:none !important;
  letter-spacing:.2px;
}
.btn, .btn-large, .btn-small{
  font-weight:700;
  background:var(--c-brand-2);
  text-decoration:none;
}
.btn:hover{ background:var(--c-brand); }
.btn.accent{ background:var(--c-accent); }
.btn.accent:hover{ background:#c1441f; }
.btn.btn-outline{ background:transparent; color:var(--c-brand-2); border:1px solid var(--c-brand-2); }
.btn.btn-outline:hover{ background:var(--c-brand-2); color:#fff; }
.btn.btn-light{ background:#eceff3; color:var(--c-text); }
.btn.btn-light:hover{ background:#dfe4ea; }
.btn.block{ display:block; width:100%; }

/* ===== Карточки товара (Materialize card, плоские) ===== */
.product-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:20px; }
.product-card{ border-radius:0 !important; box-shadow:0 1px 3px rgba(20,32,48,.12); border:1px solid var(--c-line); }
.product-card .card{ margin:0; border-radius:0; }
.product-card .card-image{ height:210px; overflow:hidden; border-bottom:1px solid var(--c-line); }
.product-card .card-image img{ width:100%; height:210px; object-fit:cover; }
.product-card .card-image .noimg{
  height:210px; display:flex; align-items:center; justify-content:center; color:#aab6c4; font-size:44px; background:#eef1f5;
}
.product-card .card-content{ padding:14px 16px; }
.product-card .name{ font-weight:800; font-size:15px; line-height:1.3; margin-bottom:4px; }
.product-card .name a{ color:var(--c-text); }
.product-card .name a:hover{ color:var(--c-brand-2); }
.product-card .descr{ font-size:12.5px; color:var(--c-muted); margin-bottom:10px; min-height:36px; }
.product-card .price-row{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:10px; }
.product-card .price{ font-size:18px; font-weight:800; color:var(--c-brand); }
.product-card .old-price{ font-size:12px; color:var(--c-muted); text-decoration:line-through; }
.product-card .card-action{ padding:0; }
.product-card .card-action .btn{ border-radius:0; margin:0; }
.product-card .stock-tag{
  display:inline-block; padding:2px 8px; font-size:11px; font-weight:700; margin-left:8px;
}
.product-card .stock-tag.in{ background:#e5f4ea; color:#1c7c3c; }
.product-card .stock-tag.out{ background:#fdecec; color:var(--c-accent); }

/* ===== Хлебные крошки ===== */
.breadcrumbs{ font-size:13px; color:var(--c-muted); margin-bottom:18px; }
.breadcrumbs a{ color:var(--c-brand-2); }
.breadcrumbs span.sep{ color:#aab6c4; }

/* ===== Деталь товара + слайдер ===== */
.product-detail{ display:grid; grid-template-columns:1fr 1.1fr; gap:32px; }
.product-detail .card{ border-radius:0; box-shadow:none; border:1px solid var(--c-line); }
.slider .slides{ height:400px; background:#fff; }
.slider .slides li img, .slider .slides li { height:400px !important; background-size:contain !important; object-fit:contain; }
.slider .slides li .noimg{
  height:400px; display:flex; align-items:center; justify-content:center; color:#aab6c4; font-size:70px;
}
.slider .indicators .indicator-item{ border-radius:0; background-color:#c9d2de; }
.slider .indicators .indicator-item.active{ background-color:var(--c-accent); }

.product-detail .info h1{ margin:0 0 6px; font-size:26px; font-weight:800; }
.product-detail .sku{ color:var(--c-muted); font-size:13px; }
.stock-badge{ display:inline-block; margin:10px 0; padding:4px 10px; font-weight:700; font-size:13px; }
.stock-badge.in{ background:#e5f4ea; color:#1c7c3c; }
.stock-badge.out{ background:#fdecec; color:var(--c-accent); }
.price-big{ font-size:30px; font-weight:800; color:var(--c-brand); margin:14px 0; }
.price-big .old{ font-size:16px; font-weight:400; color:var(--c-muted); text-decoration:line-through; margin-right:10px; }
.product-detail .descr{ margin-top:16px; color:#2a3745; white-space:pre-line; }

/* ===== Формы — выровненные, плоские поля ===== */
.form-wrap .input-field{ margin:0 0 18px; }
.form-wrap .input-field label{ color:var(--c-muted); font-weight:600; }
.form-wrap .field-label{
  display:block; font-size:13px; font-weight:700; color:var(--c-muted); margin-bottom:6px;
}
.form-wrap input, .form-wrap textarea, .form-wrap select,
.form-wrap .input-field input, .form-wrap .input-field textarea{
  border-radius:0;
  border:1px solid var(--c-line);
  box-shadow:none;
  padding:10px 12px;
  height:44px;
  font-size:14px;
  background:#fff;
  color:var(--c-text);
  margin:0;
  width:100% !important;
}
.form-wrap textarea{ height:auto; min-height:90px; }
.form-wrap input:focus, .form-wrap textarea:focus, .form-wrap select:focus{
  border-color:var(--c-brand-2);
  box-shadow:0 0 0 2px rgba(43,91,158,.12);
}
.form-wrap input::placeholder{ color:#98a3b1; }
.form-wrap .field-hint{ font-size:12px; color:var(--c-muted); margin-top:4px; display:block; }

/* ===== Корзина ===== */
.cart-wrap{ display:grid; grid-template-columns:1fr 320px; gap:24px; align-items:start; }
.cart-panel.card{ border-radius:0; box-shadow:none; border:1px solid var(--c-line); }
.cart-panel .card-title{ font-size:18px; font-weight:800; padding:16px; margin:0; border-bottom:1px solid var(--c-line-2, #e6eaef); }
.cart-table{ width:100%; border-collapse:collapse; }
.cart-table th, .cart-table td{ padding:12px; border-bottom:1px solid #e6eaef; text-align:left; vertical-align:middle; }
.cart-table thead th{ font-size:11px; text-transform:uppercase; color:var(--c-muted); letter-spacing:.4px; background:#f7f9fb; }
.cart-table .img img{ width:56px; height:56px; object-fit:cover; border:1px solid var(--c-line); }
.cart-table .num{ text-align:right; }
.cart-table .qty-input{ width:70px; text-align:center; border:1px solid var(--c-line); padding:6px; height:38px; border-radius:0; }
.cart-summary.card{ border-radius:0; box-shadow:none; border:1px solid var(--c-line); padding:20px; }
.cart-summary h5{ font-weight:800; margin:0 0 14px; }
.cart-summary .total{ display:flex; justify-content:space-between; font-size:20px; font-weight:800; margin:6px 0 16px; }
.cart-summary .btn{ width:100%; margin-bottom:8px; }
.cart-empty{ padding:40px; text-align:center; color:var(--c-muted); }

/* ===== Успешный заказ ===== */
.success-box{
  background:#fff; border:1px solid #cfe8d8; border-left:6px solid #1c7c3c;
  padding:22px; margin-bottom:20px;
}
.success-box h1{ margin:0 0 6px; font-size:22px; color:#1c7c3c; }
.success-box p{ margin:0; color:var(--c-muted); }

/* ===== Нотификации справа сверху ===== */
#notice-container{ position:fixed; top:14px; right:14px; z-index:9999; display:flex; flex-direction:column; gap:8px; max-width:340px; }
.notice{
  background:#fff; border:1px solid var(--c-line); border-left:4px solid var(--c-brand-2);
  box-shadow:0 3px 12px rgba(20,32,48,.2); padding:12px 14px; display:flex; gap:10px; align-items:flex-start;
  opacity:0; transform:translateX(20px); transition:opacity .2s,transform .2s;
}
.notice.on{ opacity:1; transform:none; }
.notice .notice-ico{ width:8px; height:8px; margin-top:5px; background:var(--c-brand-2); flex:0 0 auto; }
.notice .notice-msg{ flex:1; font-size:13.5px; }
.notice .notice-close{ background:none; border:0; font-size:16px; color:var(--c-muted); cursor:pointer; line-height:1; }
.notice.success{ border-left-color:#1c7c3c; } .notice.success .notice-ico{ background:#1c7c3c; }
.notice.error{ border-left-color:#c02b2b; } .notice.error .notice-ico{ background:#c02b2b; }
.notice.warning{ border-left-color:#d99800; } .notice.warning .notice-ico{ background:#d99800; }

/* ===== Футер ===== */
.page-footer{ background:#1f2c3d; border-top:4px solid var(--c-accent); margin-top:40px; }
.page-footer .footer-copyright{ color:#aab6c4; }

/* ===== Утилиты ===== */
.text-muted{ color:var(--c-muted); } .small{ font-size:12px; }
.mt{margin-top:16px}.mb{margin-bottom:16px}.ml{margin-left:8px}.mr{margin-right:8px}
.flex{display:flex}.between{justify-content:space-between;align-items:center}