:root{
  --ultra-primary:#1976d2;
  --ultra-primary-2:#1565c0;
  --ultra-bg:#e9f2fb;
}
body{ font-feature-settings:"kern"; }
.topbar{ background: var(--ultra-primary); color:#fff; font-size:.95rem; }
.topbar a{ color:#fff; text-decoration:none; }
.mega-hero{ background: var(--ultra-primary); color:#fff; }
.icon-tile{
  background:#fff; border-radius:1rem; box-shadow:0 4px 14px rgba(0,0,0,.06);
  transition: transform .15s ease; height:100%;
}
.icon-tile:hover{ transform: translateY(-2px); }
.icon-tile .bi{ font-size:2rem; color: var(--ultra-primary); }
.news-date{ font-weight:700; font-size:2rem; line-height:1; color: var(--ultra-primary); }
.cta-line{ background: var(--ultra-bg); border-radius:.75rem; }
.footer{ background:#0d47a1; color:#e3efff; }
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;list-style:none;padding:0}
.woocommerce ul.products li.product{border:1px solid #eee;border-radius:8px;background:#fff}
@media (max-width: 900px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 600px){
  .woocommerce ul.products{grid-template-columns:1fr}
}


/* === v1.1 catalog align & cards === */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;list-style:none;margin:0;padding:0}
.woocommerce ul.products li.product{background:#fff;border:1px solid #E5E7EB;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.woocommerce ul.products li.product a img{width:100%;height:auto;display:block}
/* Ensure thumbnail area has a fixed ratio to align rows */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link{display:block}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link .attachment-woocommerce_thumbnail{
  display:block; width:100%; aspect-ratio: 4/3; object-fit: cover; background:#f7f7f7;
}
.product-card .card-body{display:flex;flex-direction:column}
.product-card .price{margin-top:.25rem;margin-bottom:.75rem;font-weight:700}
.product-card .button, .woocommerce a.button, .woocommerce button.button{
  align-self:flex-start; border-radius:8px; padding:.5em 1em;
}
/* On narrow screens switch to 2 and 1 columns */
@media (max-width: 900px){ .woocommerce ul.products{grid-template-columns:repeat(2,1fr)} }
@media (max-width: 600px){ .woocommerce ul.products{grid-template-columns:1fr} }
/* Single product: make gallery/content grid neat */
.woocommerce div.product{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}
@media (max-width: 900px){ .woocommerce div.product{grid-template-columns:1fr} }


/* === v1.3 top nav prettify === */
.navbar .navbar-nav .nav-link{
  display:flex; align-items:center; gap:.35rem;
  padding:.55rem .9rem; border-radius:.7rem; transition:background-color .15s ease, color .15s ease;
}
.navbar .navbar-nav .nav-link:hover{ background: rgba(25,118,210,.08); color:#0d47a1; text-decoration:none; }
.navbar .navbar-nav .current-menu-item>.nav-link,
.navbar .navbar-nav .active>.nav-link{ background: rgba(25,118,210,.15); font-weight:600; }
.dropdown-menu .dropdown-item{ display:flex; align-items:center; gap:.35rem; }
.navbar .navbar-collapse{ overflow: visible; }
.navbar .navbar-nav{ flex-wrap: nowrap; overflow-x: auto; }
.navbar .navbar-nav{ scrollbar-width: none; }
.navbar .navbar-nav::-webkit-scrollbar{ display: none; }

/* === v1.3 catalog widen & buttons === */
@media (min-width: 1200px){ .woocommerce ul.products{ grid-template-columns: repeat(4, minmax(0,1fr)); } }
.woocommerce ul.products li.product .button{ width:100%; text-align:center; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ display:block; margin: .25rem 0; }


/* === v1.3 My Account styles === */
.woocommerce-account .woocommerce{
  display:grid; grid-template-columns: 260px 1fr; gap:24px;
}
.woocommerce-MyAccount-navigation ul{
  list-style:none; margin:0; padding:0;
  background:#fff; border:1px solid #E5E7EB; border-radius:12px; overflow:hidden;
}
.woocommerce-MyAccount-navigation li a{
  display:block; padding:.75rem 1rem; text-decoration:none; color:#0f172a;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover{
  background: rgba(25,118,210,.08); color:#0d47a1;
}
.woocommerce-MyAccount-content{
  background:#fff; border:1px solid #E5E7EB; border-radius:12px; padding:16px;
}
/* Auth forms */
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-address-fields__field-wrapper{
  background:#fff; border:1px solid #E5E7EB; border-radius:12px; padding:16px;
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea{
  border:1px solid #cbd5e1; border-radius:8px; padding:.5rem .75rem;
}
@media (max-width: 900px){ .woocommerce-account .woocommerce{ grid-template-columns:1fr; } }


/* === v1.4 NAV: prevent wrap, allow horizontal scroll if needed === */
.navbar .navbar-collapse{ overflow: visible; }
.navbar .navbar-nav{ flex-wrap: nowrap; overflow-x: auto; }
.navbar .navbar-nav{ scrollbar-width: none; }
.navbar .navbar-nav::-webkit-scrollbar{ display: none; }
.navbar .navbar-nav .nav-link{ white-space: nowrap; font-size: .95rem; padding: .5rem .8rem; }

/* === v1.4 Woo grid: force our grid, kill default floats/widths from wc.css === */
/* Woo grid: гарантированный левый край и без «пустого» первого элемента */
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:24px; list-style:none; margin:0; padding:0 !important; width:100% !important;
}
@media (min-width:1200px){
  .woocommerce ul.products{ grid-template-columns:repeat(4, minmax(0,1fr)); }
}
/* убираем служебные clearfix-псевдоэлементы Woo */
.woocommerce ul.products::before,
.woocommerce ul.products::after{ display:none !important; content:none !important; }
/* сбрасываем любые width/float/clear/margins от Woo */
.woocommerce ul.products li.product{
  float:none !important; width:auto !important; margin:0 !important; clear:none !important;
  background:#fff; border:1px solid #E5E7EB; border-radius:12px; display:flex; flex-direction:column; overflow:hidden;
}
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail{
  display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:#f7f7f7;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{ padding:.25rem .75rem 0; }
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_simple{ margin:.25rem .75rem .75rem; }
.woocommerce ul.products li.product .button{ width:100%; text-align:center; border-radius:10px; }


/* === v1.4 My Account polish === */
.woocommerce-account .woocommerce{ display:grid; grid-template-columns: 260px 1fr; gap:24px; }
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; background:#fff; border:1px solid #E5E7EB; border-radius:12px; overflow:hidden; }
.woocommerce-MyAccount-navigation li a{ display:block; padding:.75rem 1rem; text-decoration:none; color:#0f172a; }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover{ background: rgba(25,118,210,.08); color:#0d47a1; }
.woocommerce-MyAccount-content{ background:#fff; border:1px solid #E5E7EB; border-radius:12px; padding:16px; }
@media (max-width: 900px){ .woocommerce-account .woocommerce{ grid-template-columns:1fr; } }

.icon-tile{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:140px; gap:8px;
}
.icon-tile .bi{ margin:0 auto; }
.navbar .navbar-brand{ margin-right:1rem; }
@media (min-width: 992px){ .navbar .navbar-brand{ margin-right:2rem; } }


/* Контейнер аккаунта = 2 колонки */
body.woocommerce-account .entry-content > .woocommerce {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr) !important; /* слева меню, справа контент */
  gap: 24px !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Жёсткое позиционирование в сетке */
body.woocommerce-account .entry-content > .woocommerce > .woocommerce-MyAccount-navigation {
  grid-column: 1 / 2 !important;   /* только левая колонка */
  grid-row: 1 !important;
  margin: 0 !important;
  max-width: none !important;
}
body.woocommerce-account .entry-content > .woocommerce > .woocommerce-MyAccount-content {
  grid-column: 2 / 3 !important;   /* только правая колонка */
  grid-row: 1 !important;
  margin: 0 !important;
  max-width: none !important;
}

/* Сброс наследуемых флоатов/ширин */
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
}

/* Визуал меню */
body.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
body.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block; padding:.625rem .75rem; border-radius:.5rem; text-decoration:none;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background: var(--wp--preset--color--bg-soft, #e9f2fb);
  color: var(--wp--preset--color--primary, #1976d2);
}

/* Мобилка: меню сверху */
@media (max-width: 768px){
  body.woocommerce-account .entry-content > .woocommerce{
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-account .entry-content > .woocommerce > .woocommerce-MyAccount-navigation{
    grid-column: 1 / 2 !important;
  }
  body.woocommerce-account .entry-content > .woocommerce > .woocommerce-MyAccount-content{
    grid-column: 1 / 2 !important;
  }
}
/* Укрощаем логотип */
.navbar .custom-logo-link { display:inline-flex; align-items:center; }
.navbar .custom-logo { max-height: 48px; height:auto; width:auto; }

/* Меню — без маркеров и без «растягивания» активного пункта */
.navbar .navbar-nav { list-style: none; padding-left: 0; gap: .5rem; }
.navbar .navbar-nav .menu-item { display: inline-flex; align-items: center; }
.navbar .navbar-nav .nav-link {
  display: inline-flex; align-items: center;
  width: auto !important;           /* главная защита от «пилюли на всю строку» */
  padding: .375rem .5rem;           /* компактнее */
  border-radius: .5rem;
}

/* Если в теме активный пункт красится на весь блок — гасим это поведение */
.navbar .navbar-nav .nav-link.active,
.navbar .navbar-nav .current-menu-item > a {
  width: auto !important;
}

/* Флексы: меню может ужаться, блок действий не толкает всё вправо */
.navbar .navbar-collapse { min-width: 0; }
.navbar .navbar-nav { flex: 1 1 auto; min-width: 0; }
.navbar .navbar-actions { flex: 0 0 auto; }

/* Чтобы точно не было горизонтального скролла от шапки */
.navbar .container { overflow-x: clip; }

/* Когда места мало — раньше уходим в бургер (поставь нужный порог) */
@media (max-width: 1300px) {
  /* имитируем «ранний коллапс»: уменьшаем интервалы, чтобы протянуть без бургера чуть дольше */
  .navbar .navbar-nav { gap: .25rem; }
  .navbar .navbar-nav .nav-link { padding: .25rem .4rem; }
}
/* Красивые кнопки-«пилюли» в главном меню */
.navbar .navbar-nav { list-style:none; padding-left:0; gap:.5rem; }
.navbar .navbar-nav .menu-item { display:inline-flex; align-items:center; }
.navbar .navbar-nav .nav-link{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.38rem .66rem;
  border:1px solid transparent;
  border-radius:.65rem;                 /* хочешь более круглые — поставь 9999px */
  background:transparent;
  color:var(--bs-body-color, #212529);
  line-height:1.2;
  width:auto !important;                /* не растягиваемся */
  text-decoration:none !important;      /* убираем подчёркивание WP */
  transition:background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .2s;
}
.navbar .navbar-nav .nav-link:hover{
  background:var(--wp--preset--color--bg-soft, #eef5ff);
  border-color:rgba(0,0,0,.08);
  text-decoration:none !important;
}
.navbar .navbar-nav .current-menu-item > a,
.navbar .navbar-nav .current_page_item > a,
.navbar .navbar-nav .nav-link.active{
  background:var(--wp--preset--color--bg-soft, #e9f2fb);
  border-color:rgba(25,118,210,.35);
  color:var(--wp--preset--color--primary, #1976d2);
  box-shadow:0 1px 2px rgba(0,0,0,.06);
}

/* Иконки в пунктах */
.navbar .navbar-nav .nav-link i { font-size:1rem; line-height:1; }

/* Флексы, чтобы блок действий справа не «ломал» меню */
.navbar .navbar-collapse { min-width:0; }
.navbar .navbar-nav { flex:1 1 auto; min-width:0; }
.navbar .navbar-actions { flex:0 0 auto; }
a.btn.btn-skinny{
  display:inline-flex !important;
  align-items:center;
  gap:.45rem;
  width:auto !important;
  min-width:unset !important;

  padding:.28rem .65rem !important;   /* ниже, чем у темы */
  font-size:.9rem !important;
  line-height:1.2 !important;
  border-radius:.45rem !important;
  box-shadow:none !important;
}
a.btn.btn-skinny .bi{ font-size:2rem; line-height:1; }