/*
 * Оформление сайта фонд60.рф в стиле старого шаблона (jm-business-marketing)
 * для шаблона Cassiopeia, Joomla 6.
 * Файл: media/templates/site/cassiopeia/css/user.css (Cassiopeia подключает его сам, последним).
 */

:root {
  --fond-orange: #ff9000;
  --fond-orange-light: #fdb900;
  --fond-orange-dark: #ff8c00;
  --fond-text: #2a2a2a;
  --fond-gray: #5e5e5e;
  --fond-line: #cbcbcb;
  --fond-width: 1000px;
  --fond-font: Verdana, Geneva, Arial, Helvetica, sans-serif;

  --cassiopeia-color-primary: var(--fond-orange);
  --cassiopeia-color-link: #e07b00;
  --cassiopeia-color-hover: #b86200;
  --link-color: #e07b00;
  --link-color-rgb: 224, 123, 0;
  --link-hover-color: #b86200;
  --link-hover-color-rgb: 184, 98, 0;
  --body-font-family: var(--fond-font);
  --cassiopeia-font-family-body: var(--fond-font);
  --cassiopeia-font-family-headings: var(--fond-font);
}

body {
  font-family: var(--fond-font);
  font-size: 14px;
  color: var(--fond-text);
  background: #fff;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--fond-font);
}

/* Ширина страницы как на старом сайте */
.site-grid {
  grid-template-columns: [full-start] minmax(16px, 1fr) [main-start] repeat(4, minmax(0, calc(var(--fond-width) / 4))) [main-end] minmax(16px, 1fr) [full-end];
}

.container-header .grid-child,
.container-footer .grid-child {
  max-width: calc(var(--fond-width) + 32px);
  padding-left: 16px;
  padding-right: 16px;
}

/* Шапка: белая, название фонда оранжевым */
.container-header {
  background: #fff;
  box-shadow: none;
}

.container-header > .grid-child:not(.container-nav) {
  padding-top: 18px;
  padding-bottom: 12px;
}

.container-header .navbar-brand,
.container-header .navbar-brand a,
.container-header .navbar-brand:hover,
.container-header .navbar-brand a:hover {
  font-size: 24px;
  color: var(--fond-orange);
  text-decoration: none;
}

.container-header .site-description {
  color: var(--fond-gray);
}

/* Меню: серая полоса, активный пункт оранжевый */
.container-header .container-nav {
  padding: 0;
}

.container-header nav.navbar {
  width: 100%;
  margin-top: 0;
  padding: 0;
  background: linear-gradient(#eee, #c5c5c5);
}

.container-header .mod-menu {
  justify-content: flex-start;
  color: var(--fond-gray);
}

.container-header .mod-menu > li {
  flex: 0 0 auto;
}

.container-header .mod-menu > li + li {
  margin-left: 0;
}

.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span,
.container-header .mod-menu > li > button {
  display: inline-block;
  padding: 0 14px;
  line-height: 46px;
  font-size: 14px;
  font-weight: bold;
  color: var(--fond-gray);
  text-decoration: none;
}

.container-header .mod-menu > li > button.mm-toggler-link {
  padding-left: 0;
}

.container-header .mod-menu > li {
  display: flex;
  align-items: center;
  border-right: 1px solid #bdbdbd;
  box-shadow: 1px 0 0 #f2f2f2;
}

.container-header .mod-menu > li.active,
.container-header .mod-menu > li.current {
  background: linear-gradient(var(--fond-orange-light), var(--fond-orange-dark));
}

.container-header .mod-menu > li.active > a,
.container-header .mod-menu > li.active > span,
.container-header .mod-menu > li.active > button,
.container-header .mod-menu > li.current > a {
  color: #fff;
}

.container-header .mod-menu > li:not(.active):hover > a,
.container-header .mod-menu > li:not(.active):hover > button {
  color: var(--fond-orange-dark);
}

/* Убрать подчёркивание-полоску шаблона под пунктами меню */
.container-header .mod-menu > li::after,
.container-header .metismenu > li > a::after,
.container-header .metismenu > li > button::before {
  display: none;
}

/* Выпадающие подпункты */
.container-header .mod-menu .mm-collapse,
.container-header .mod-menu .mod-menu__sub {
  background: #fff;
  border: 1px solid var(--fond-line);
  box-shadow: 0 4px 10px rgba(0, 0, 0, .12);
  text-align: left;
}

.container-header .mod-menu .mm-collapse a,
.container-header .mod-menu .mod-menu__sub a {
  display: block;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: normal;
  color: var(--fond-gray);
  white-space: nowrap;
  text-decoration: none;
}

.container-header .mod-menu .mm-collapse a:hover,
.container-header .mod-menu .mm-collapse li.current > a,
.container-header .mod-menu .mod-menu__sub a:hover {
  color: #fff;
  background: var(--fond-orange-dark);
}

/* Кнопка меню на телефоне */
.container-header .navbar-toggler {
  margin: 6px 10px;
  color: var(--fond-gray);
  border-color: var(--fond-gray);
}

@media (max-width: 991.98px) {
  .container-header .mod-menu > li {
    display: block;
    border-right: 0;
    border-top: 1px solid #d8d8d8;
    box-shadow: none;
  }

  .container-header .mod-menu .mm-collapse a {
    padding-left: 30px;
    white-space: normal;
  }
}

/* Баннер под меню */
.site-grid > .container-banner {
  grid-column: main-start / main-end;
  margin-top: 15px;
}

.container-banner img {
  display: block;
  width: 100%;
  height: auto;
}

.container-banner .mod-custom > p {
  margin: 0;
}

/* Три кружка «Заявка на участие / Задать вопрос / Личное сообщение» */
.container-top-a {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 15px;
}

.container-top-a > .card {
  flex: 1 1 250px;
  margin: 0;
  border: 0;
  background: none;
  text-align: center;
}

.container-top-a > .card > .card-header {
  padding: 0 10px 10px;
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: bold;
  color: var(--fond-text);
  background: none;
  border: 0;
  border-bottom: 1px solid var(--fond-line);
}

.container-top-a > .card > .card-body {
  padding: 0;
}

.krug {
  position: relative;
  display: block;
  width: 180px;
  height: 180px;
  margin: 0 auto;
  border-radius: 50%;
  overflow: hidden;
  text-decoration: none;
}

.krug img {
  display: block;
  width: 180px;
  height: 180px;
}

.krug-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  border-radius: 50%;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.3;
  color: #fff;
  text-transform: uppercase;
  background: rgba(255, 138, 0, .85);
  opacity: 0;
  transform: scale(.6);
  transition: all .3s ease-in-out;
}

.krug:hover .krug-text,
.krug:focus .krug-text {
  opacity: 1;
  transform: scale(1);
}

/* На телефоне три кружка в ряд, поменьше */
@media (max-width: 600px) {
  .container-top-a {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
  }

  .container-top-a > .card {
    flex: 1 1 0;
    min-width: 0;
  }

  .container-top-a > .card > .card-header {
    padding: 0 2px 6px;
    font-size: 12px;
  }

  .krug,
  .krug img {
    width: 96px;
    height: 96px;
  }

  .krug-text {
    padding: 10px;
    font-size: 10px;
  }
}

/* Список подразделов на страницах «Конкурсы» и «Наши достижения»
   (модуль меню с CSS-классом podrazdely) */
ul.podrazdely {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 600px;
  padding: 0;
  margin: 15px 0;
  list-style: none;
}

ul.podrazdely > li > a {
  display: block;
  padding: 12px 16px;
  font-size: 16px;
  color: var(--fond-text);
  text-decoration: none;
  background: #fafafa;
  border: 1px solid var(--fond-line);
  border-left: 4px solid var(--fond-orange);
}

ul.podrazdely > li > a:hover,
ul.podrazdely > li > a:focus {
  color: #fff;
  background: var(--fond-orange-dark);
}

/* Текст статей */
.com-content-article .page-header h1,
.com-content-article .page-header h2,
.item-page .page-header h2 {
  font-size: 20px;
  font-weight: normal;
  color: var(--fond-text);
}

.container-component {
  padding-top: 15px;
}

.btn-primary {
  color: #fff;
  border: 0;
  background: linear-gradient(#ff8a00, #fdb700);
}

.btn-primary:hover,
.btn-primary:focus {
  color: #fff;
  background: linear-gradient(#ff7a00, #ffa500);
}

/* Подвал: серый, текст по центру */
.container-footer {
  margin-top: 30px;
  color: var(--fond-gray);
  background: #dadada;
  background-image: none;
}

.container-footer .grid-child {
  justify-content: center;
  padding: 20px 16px;
  font-size: 12px;
  text-align: center;
}

.container-footer a {
  color: var(--fond-gray);
}
