/* Общие стили */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  scroll-padding-top: 90px;
}
body {
  font-family: "Arial", serif;
  font-size: 18px;
  line-height: 1.6;
  color: #333;
  background-color: #fff;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
.contener {
	width: 100%;
	min-height: 100vh;
	background: white;
  border-top: 6px solid #577C8E;
  border-bottom: 150px solid #577C8E;
}
.general_bt {
	background: #2F4157;
	border: none;
	border-radius: 5px;
	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
	font-size: 16px;
	font-weight: 400;
	color: #FFF;
	width: max-content;
	padding: 10px;
	cursor: pointer;
	display: flex;
  justify-content: center;
  align-items: center;
}
.text_btn {
  color: #31414E;
  font-weight: 500;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.18);
}
input::placeholder,
input:focus,
input:active,
input:-webkit-autofill {
	font-size: 14px;
	color: #6A7D7E;
	-webkit-text-fill-color: #6A7D7E;
}

/* LANDING */
/* LANDING HEADER */
.landing_header{
  position: fixed;
  top: 0;
  left: 0; right: 0;
  padding: 30px 30px 25px;
  width: 100%;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid #e6eef3;
}
.landing_header_inner{
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 16px;
}
.landing_header_logo img {
  height: 20px;
}
.landing_header_right {
  display: flex;
  align-items: center;
  text-align: center;
  gap: 10px;
  margin-left: auto;
}
.header_nav {
  display: flex;
  align-items: center;
  margin-right: 10px;
}
.nav_links {
  display: flex;
  gap: 14px;
}
.nav_links a {
  color: #577C8E;
  text-decoration: none;
  font-size: 14px;
}
.burger_menu {
  display: none;
}
.landing_header_lang {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #577C8E;
  z-index: 10;
  cursor: pointer;
}
.landing_header_lang img {
  width: 18px;
  height: auto;
}
.landing_header_lang_menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 6px;
  background: white;
  border-radius: 6px;
  padding: 4px 0;
  list-style: none;
  font-size: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 99;
  cursor: pointer;
}
.landing_header_lang_menu li {
  padding: 6px 12px;
  cursor: pointer;
  white-space: nowrap;
  text-shadow: none;
}
.landing_header_lang_menu.hidden {
  display: none;
}
.landing_header_button {
  position: relative;
  display: inline-block;
}
.landing_header_button_dropdown {
  padding: 10px 20px;
  background-color: #4a7a8c;
  color: white;
  border: none;
  cursor: pointer;
  border-radius: 6px;
}
.landing_header_btns {
  display: none;
  position: absolute;
  background-color: white;
  box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
  z-index: 1;
  border-radius: 6px;
}
.landing_header_btns button {
  width: 100%;
  padding: 6px 8px;
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
}
.landing_header_btns button:hover {
  background-color: #f1f1f1;
}
.landing_header_button.show .landing_header_btns {
  display: block;
}
@media (max-width: 700px) {
.landing_header {
  padding: 30px 10px 25px 10px;
}
.landing_header_logo {
  margin-left: 50px;
}
.l2 { 
  margin-left: 0; 
}
.nav_links {
  display: none;
}
.burger_menu {
  width: 43px;
  height: 43px;
  display: flex;
  position: absolute;
  top: 20px;
  left: 1%;
  z-index: 999;
  background: transparent;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.burger_lines {
  width: 30px;
  height: 19px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.burger_lines span {
  height: 2.5px;
  background-color: #2F4157;
  border-radius: 3px;
  transition: 0.3s;
  transform-origin: center;
}
.burger_menu.open .burger_lines span:nth-child(1) {
  transform: rotate(45deg) translateY(8px);
  background-color: #2F4157;
}
.burger_menu.open .burger_lines span:nth-child(2) {
  transform: rotate(-45deg) translateY(-8px);
  background-color: #2F4157;
}
.burger_menu.open .burger_lines span:nth-child(3) {
  opacity: 0;
}
.nav_links.show {
  display: flex !important;
  flex-direction: row;
  justify-content: center;
  background: white;
  position: absolute;
  top: 90px;
  left: 0;
  width: 100%;
  padding: 10px 0;
  z-index: 998;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.nav_links.show a {
  font-size: 15px;
  color: #2F4157;
  text-decoration: none;
  text-align: center;
}}
/* LANDING HEADER */

/* Hero / KRONA */
.krona_hero {
  text-align: center;
  background: #fff;
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 60px;
}
.krona_hero_content {
  position: relative;
  padding: 60px 20px 40px;
}
.landing_date_button {
  display: flex;
  position: absolute;
  border: none;
  top: 10%;
  right: 5%;
}
.landing_date_button img {
  height: 45px;
}
.krona-logo {
  max-width: 450px;
  height: auto;
}
.krona_hero_subtitle {
  font-size: clamp(26px, 2.5vw, 28px);
  color: #577C8E;
  line-height: 1.2;
  margin-top: -30px;
  font-weight: 300;
}
.krona_hero_text {
  font-size: 18px;
  color: #2F4157;
  margin-top: 15px;
  line-height: 1.3;
  opacity: 0.9;
}
.krona_hero_btn {
  margin-top: 30px;
  padding: 12px 28px;
  background: #2F4157;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s;
}
.krona_hero_stats {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #577C8E;
  color: white;
  padding: 30px 20px;
  flex-wrap: wrap;
  font-weight: 500;
}
.krona_hero_stats_item {
  text-align: center;
  padding: 0 20px;
}
.krona_hero_stats_number {
  font-size: 40px;
}
.krona_hero_stats_label {
  font-size: 16px;
}
.stats-separator {
  width: 1px;
  height: 40px;
  background-color: white;
  margin: 0 15px;
}
@media (max-width: 700px) {
.landing_date_button {
  top: 10%;
  right: 5%;
}
.landing_date_button img {
  height: 35px;
}
.krona_hero_stats {
  padding: 30px 5px;
  flex-wrap: nowrap;
}
.krona_hero_stats_item {
  text-align: center;
  padding: 0 8px;
}
.krona_hero_stats_number {
  font-size: 20px;
}
.krona_hero_stats_label {
  font-size: 15px;
  line-height: 1.3;
  opacity: 0.8;
}}
/* Hero / KRONA */

/* ¿Qué es KRONA? */
.krona_about {
  background-color: #F4EFEB;
  padding: 30px 30px 60px 30px;
  max-width: 1000px;
  margin: 0 auto;
}
.krona_about_inner {
  max-width: 1140px;
}
.krona-about_title {
  font-size: 28px;
  color: #577C8E;
  text-align: left;
  margin-bottom: 10px;
  font-weight: 600;
  line-height: 1.2;
}
.krona_about_text {
  font-size: 20px;
  line-height: 1.3;
  color: #606060;
  text-align: left;
  margin-bottom: 50px;
}
.krona_about_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 36px 52px;
}
@media (max-width: 700px) {
.krona_about_grid {
  grid-template-columns: 1fr;
  gap: 28px;
}}
.krona_feature {
  display: grid;
  grid-template-columns: 48px 1fr;
  grid-template-rows: auto auto;
  column-gap: 16px;
  row-gap: 8px;
  align-items: start;
}
.krona_feature_icon {
  grid-row: 1 / span 2;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 5px;
}
.krona_feature_icon img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.krona_feature_title {
  margin-bottom: 10px;
  font-size: 24px;
  color: #577C8E;
  font-weight: 600;
  line-height: 1.2;
}
.krona_feature_text {
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
  color: #606060;
}
@media (max-width: 600px) {
.krona_about {
  padding: 30px 18px 60px;
}
}
/* ¿Qué es KRONA? */

/* KRONA: Ciencia & Beneficios */
.krona_science{
  padding: 30px 16px 60px 16px;
  max-width: 1000px;
  margin: 0 auto;
  color: #2F4157;
}
.krona_science_grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
@media (max-width: 600px){
  .krona_science_grid{ grid-template-columns: 1fr; }
}
.krona_science_card{
  background: #fff;
  border-radius: 18px;
  padding: 28px 28px 24px;
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
}
.krona_science_card_blue{
  background: #C7D9E5;
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
}
.krona_science_card_title{
  margin-bottom: 14px;
  font-weight: 300;
  font-size: 28px;
}
.krona_science_card_text{
  margin-bottom: 18px;
  font-size: 20px;
  line-height: 1.4;
  opacity: 0.9;
}
.krona_science_card_text--muted{
  opacity: 0.9;
}
.krona_science_card_illustration{
  margin-top: 10px;
  display: flex;
  justify-content: center;
}
.krona_science_card_illustration img{
  max-width: 100%;
  height: auto;
  display: block;
}
.krona_benefits{
  margin-top: 6px;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.krona_benefit{
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: center;
  gap: 14px;
}
.krona_benefit_icon{
  width: 36px; 
  height: 36px;
  margin-bottom: 10px;
  display: flex; align-items: center; justify-content: center;
}
.krona_benefit_icon img{
  max-width: 100%;
  max-height: 100%;
  display: block;
}
.krona_benefit_text{
  font-size: 18px;
  color: #2e3f49;
}
.krona_science_quote{
  text-align: center;
  margin-top: 50px;
  font-size: clamp(18px, 2.2vw, 24px);
}
@media (max-width: 700px) {
.krona_science_card {
  padding: 30px 16px 60px 16px;
}}
/* KRONA: Ciencia & Beneficios */

/* KRONA es para ti si... */
.krona_foryou{
  background: #C7D9E5;
  padding: 30px 30px 40px 30px;
  max-width: 1000px;
  margin: 0 auto;
  color: #2F4157;
}
.krona_foryou_title{
  margin-bottom: 14px;
  font-weight: 400;
  font-size: clamp(26px, 3.2vw, 36px);
}
.krona_foryou_subtitle{
  margin-bottom: 18px;
  max-width: 600px;
  line-height: 1.5;
  font-size: 18px;
  opacity: 0.9;
}
.krona_foryou_ist {
  list-style: none;
  padding: 0;
  margin: 0;
}
.krona_foryou_list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 15px;
}
.krona_foryou_icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  margin-right: 10px;
}
.krona_foryou_icon img {
  width: 100%;
  height: 100%;
}
.krona_foryou_text {
  font-size: 20px;
  color: #2f5465;
  line-height: 1.4;
}
.krona_foryou_btn{
  margin-top: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border-radius: 10px;
  background: #2F4157;
  color: white;
  text-decoration: none;
  font-size: 16px;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
.krona_foryou_note {
  max-width: 600px;
  line-height: 1.5;
  font-size: 18px;
  opacity: 0.9;
}
@media (max-width: 780px){
  .krona_foryou_note{ max-width: none; }
}
@media (max-width: 700px) {
.krona_foryou {
  padding: 30px 16px 60px 16px;
}}
/* KRONA es para ti si... */

/* LEVELS */
.landing_levels_container {
  padding: 30px 16px 0 16px;
  max-width: 1000px;
  margin: 0 auto;
}
:root{
  --c-main:#577C8E;         /* главный */
  --c-main-d10:#466372;     /* затемнение ~10% */
  --c-main-d20:#2F4552;     /* затемнение ~20% */
  --c-main-l10:#688999;     /* осветление ~10% */
  --c-main-l20:#7996A5;     /* осветление ~20% */
  --c-main-l30:#89A3B0;     /* осветление ~30% */

  /* гармонии: аналогичные, комплементарные, триадные */
  --c-ana-1:#576A8E;        /* +фиолетовый оттенок */
  --c-ana-2:#578E8E;        /* +бирюзовый оттенок */
  --c-comp:#A88371;         /* комплементарный (тёплый) */
  --c-comp-l35:#C6AEA3;     /* смягчённый комплементарный */
  --c-tri-1:#8E577C;        /* триада 1 */
  --c-tri-2:#7C8E57;        /* триада 2 */
}
.grid_levels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.level_card {
  position: relative;
  /* background: #577C8E; */
  background: linear-gradient(135deg,
    var(--c-main-d10) 0%,
    var(--c-main)     35%,
    var(--c-main-l20) 70%,
    var(--c-main-l30) 100%);
  color: #fff;
  border-radius: 18px;
  padding: 16px 18px;
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
  text-align: right;
  cursor: pointer;
}
.level_card span {
  position: absolute;
  bottom: 6%;
  right: 6%;
  font-size: 18px;
  line-height: 1.2;
  border-bottom: 1px solid #fff;
}
.level_card_title {
  margin-bottom: 14px;
  font-weight: 600;
  font-size: 25px;
  text-align: left;
}
.level_card_subtitle {
  margin-bottom: 40px;
  font-size: 20px;
  line-height: 1.4;
  text-align: left;
}
.landing_levels_text {
  padding: 10px;
  max-width: 880px;
  margin: 100px auto 30px;
  font-size: 18px;
  line-height: 1.4;
  color: #606060;
  border-bottom: 1px solid;
}
.levels_text_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0;
}
.levels_text_back_btn {
  background: #2F4157;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 3px 6px rgba(0,0,0,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.levels_text_back_btn img {
  height: 14px;
  width: auto;
}
.landing_levels_text p {
  margin: 0 0 14px;
  text-align: justify;
}
.landing_levels_text ul {
  margin: 0 0 16px 1.6em;
  padding: 0;
}
.landing_levels_title {
  font-size: 28px;
  margin-bottom: 20px;
  color: #2f3e4e;
  text-align: left;
}
.le {
  margin-bottom: 0;
}
@media (max-width: 768px) {
.grid_levels {
  grid-template-columns: repeat(1, 1fr);
  gap: 20px;
}}
/* LEVELS */

/* Libro y Programa */
.krona_programa {
  padding: 60px 16px 60px 16px;
  background: #fff;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}
.krona_programa_title {
  font-size: 36px;
  color: #577C8E;
  font-weight: 400;
  margin-bottom: 10px;
}
.krona_programa_subtitle {
  font-size: 18px;
  color: #2F4157;
  max-width: 650px;
  margin: 0 auto 40px;
}
.krona_programa_cards {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  justify-content: center;
}
.krona_programa_card {
  flex: 1 1 300px;
  max-width: 400px;
  background: #fff;
  text-align: left;
}
.krona_programa_card_title {
  font-size: 24px;
  color: #577C8E;
  font-weight: 400;
  margin-bottom: 15px;
}
.krona_programa_img {
  width: 100%;
  border-radius: 12px;
  margin-bottom: 20px;
}
.krona_programa_text {
  font-size: 18px;
  color: #2F4157;
  margin-bottom: 20px;
}
.krona_programa_btn {
  border: none;
  padding: 12px 20px;
  border-radius: 6px;
  background: #2F4157;
  color: white;
  text-decoration: none;
  font-size: 15px;
  cursor: pointer;
}
@media (max-width: 768px) {
.krona_programa_cards {
  flex-direction: column;
  align-items: center;
}}
@media (max-width: 700px) {
.krona_programa {
  padding: 30px 16px 60px 16px;
}}
/* Libro y Programa */

/* LANDING VIDEOS */
.landing_krona_testimonials {
  background: #577C8E;
  padding: 70px 50px;
  max-width: 1000px;
  margin: 0 auto;
}
.landing_krona_testimonials_title {
  margin-bottom: 8px;
  font-size: 36px;
  font-weight: 600;
  color: #ffffff;
}
.landing_krona_testimonials_subtitle {
  margin: 0 0 28px;
  max-width: 820px;
  font-size: 20px;
  color: #dfe7ec;
  line-height: 1.4;
}
.landing_krona_testimonials__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(16px, 3vw, 28px);
}
@media (max-width: 700px) {
.landing_krona_testimonials {
  padding: 40px 16px;
}
.landing_krona_testimonials_title {
  margin-bottom: 8px;
  font-size: 28px;
}
.landing_krona_testimonials__grid {
  grid-template-columns: 1fr;
}}
.landing_krona_video_ratio {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(0,0,0,.25);
  background: #000;
}
.landing_krona_video_ratio iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
/* LANDING VIDEOS */

/* LANDING FREE */
.landing_free{ 
  padding: 50px 30px 40px 30px;
  max-width: 1000px;
  margin: 0 auto;
  background: #fff; 
}
.landing_free_title{
  margin-bottom: 10px;
  font-weight:500;
  font-size:clamp(28px,4vw,34px);
  color: #2f3e4e;
}
.landing_free_subtitle{
  margin-bottom: 22px;
  max-width: 920px;
  color: #6f818c;
  line-height:1.4;
  font-size: 18px;
}
.landing_free_item {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 10px;
  align-items: flex-start;
  margin: 22px 0 28px;
}
.landing_free_icon {
  margin-top: 8px;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.landing_free_icon img {
  width: 100%;
  height: 100%;
  display: block;
}
.landing_free_item_title{
  color: #2f3e4e;
  font-size: 22px;
  margin: 2px 0 6px;
}
.landing_free_item_text{
  color: #6f818c;
  line-height: 1.4;
  margin-bottom: 14px;
}
.landing_free_btn{
  display:inline-flex; 
  align-items:center; 
  justify-content:center;
  min-height:48px; 
  padding: 10px 22px;
  border-radius: 12px;
  border:1px solid #a9becc;
  color: #2f3e4e;
  background: transparent;
  text-decoration:none; 
  font-size: 18px;
  transition: border-color .2s, color .2s, background .2s;
}
@media (max-width: 700px) {
.landing_free{ 
  padding: 40px 16px 20px 16px;
}}
@media (max-width:600px){
  .landing_free__item{ grid-template-columns: 28px 1fr; }
  .landing_free__icon{ width:28px; height:28px; }
}
/* LANDING FREE */

/* CTA */
.landing_krona_cta_and_quote { 
  padding: 30px 30px 10px 30px;
  max-width: 1000px;
  margin: 0 auto;
  background: #fff; 
}
.landing_krona_cta {
  background: #2F4157;
  padding: clamp(28px, 6vw, 56px) 20px;
}
.landing_krona_cta_title {
  margin-bottom: 16px;
  font-weight: 500;
  font-size: clamp(28px, 4vw, 35px);
  line-height: 1.2;
  color: #fff;
}
.landing_krona_cta_text {
  margin-bottom: 28px;
  max-width: 760px;
  color: #cfd8e3;
  line-height: 1.4;
  font-size: 20px;
}
.landing_krona_cta_actions{
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}
.landing_krona_cta_btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 24px;
  border-radius: 12px;
  font-size: 18px;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .05s ease;
}
.cta_btn--primary{
  background: #b9ccd9;
  color: #2a3b44;
  border: 1px solid transparent;
}
.cta_btn--primary:hover{ filter: brightness(0.95); }
.cta_btn--primary:active{ transform: translateY(1px); }
.cta_btn--outline{
  background: transparent;
  color: #b9ccd9;
  border: 1px solid #b9ccd9;
}
.cta_btn--outline:hover{
  color: #ffffff;
  border-color: #ffffff;
}
.landing_krona_quote{
  background: #fff;
  padding: 30px 20px;
  text-align: center;
}
.landing_krona_quote_title{
  margin-bottom: 18px;
  line-height: 1.2;
  font-size: 24px;
  color: #44697a;
}
.landing_krona_quote_text{
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
  color: #2F4157;
}
@media (max-width: 700px) {
.landing_krona_cta_and_quote { 
  padding: 20px 12px 10px;
}}
/* CTA */

/* LANDING CONTACT */
.landing_contact_banner{
  padding: 0 20px 10px;
  background:#fff;
  max-width: 1000px;
  margin: 0 auto;
}
.landing_contact_banner_inner{
  background: #C7D9E5;
  padding: clamp(26px,4.6vw,48px);
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(16px,3vw,40px);
}
.contact_q{
  margin: 0;
  font-weight: 400;
  font-size: 34px;
  color: #2F4157;
  align-self: center;
}
.contact_block_head{
  margin: 2px 0 12px;
  color: #2F4157;
  font-size: 18px;
}
.contact_list{ list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.contact_item{
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  column-gap: 10px;
  color: #2F4157;
  font-size: 16px;
}
.contact_item a{ color: inherit; text-decoration: none; }
.contact_item a:hover{ text-decoration: underline; }
.contact_item_icon {
  margin-top: 0;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact_item_icon img {
  width: 100%;
  height: 100%;
  display: block;
}
@media (max-width: 700px){
.contact_q {
  font-size: 26px;
}
.landing_contact_banner {
  padding: 0 12px 10px;
}
.landing_contact_banner_inner { 
  grid-template-columns: 1fr;
  padding: 15px 15px;
}}
/* LANDING CONTACT */

/* LANDING FOOTER */
.landing_footer{
  background:#fff;
  padding: 20px 30px 30px 30px;;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}
.footer_top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 0 18px;
  flex-wrap:wrap;
}
.landing_footer_logo img {
  height: 20px;
}
.footer_nav{
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
}
.footer_nav a{
  color: #6f818c;
  text-decoration: none;
  font-size: 16px;
}
.footer_social{
  display:  flex;
  justify-content:  center;
  gap:  22px;
  padding: 8px 0 10px;
}
.footer_social a{
  width:38px; height:38px; color: #2f3e4e;
  display:grid; place-items:center;
  border: 2px solid #2f3e4e;
  border-radius:10px;
}
.footer_social svg{ width:22px; height:22px; }
.footer_copy{
  color: #6f818c;
  font-size: 16px;
  padding: 8px 0 2px;
}
@media (max-width: 700px){
.landing_footer{
  padding: 20px 16px 30px;
}}
/* LANDING FOOTER */
/* LANDING */

/* LOGIN */
.login_main_box {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  background-color: white;
}
.login_box {
  width: 90%;
  max-width: 600px;
  justify-content: center;
}
.login_logo {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
  margin-top: 60px;
  margin-bottom: 20px;
}
.login_logo img {
	width: 80%;
	max-width: 250px;
	height: auto;
	filter: drop-shadow(4px 4px 6px rgba(0, 0, 0, 0.25)); 
}
.login_tit {
	width: 100%;
	display: flex;
  justify-content: center;
  align-items: center;
	font-size: 25px;
	padding: 20px 0 0 0;
	text-align: center;
	font-weight: 500;
	color: #31414E;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}
.login_tit_2 {
	width: 100%;
	display: flex;
  justify-content: center;
  align-items: center;
	font-size: 20px;
	padding: 10px 0 0 0;
	text-align: center;
	font-weight: 500;
	color: #31414E;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}
.login_lang {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: right;
  gap: 6px;
  font-size: 12px;
  color: #31414E;
  z-index: 10;
  cursor: pointer;
  margin-right: 40px;
}
.login_lang img {
  width: 18px;
  height: auto;
}
.login_lang .arrow {
  font-size: inherit;
}
.login_lang_menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 6px;
  background: white;
  color: #31414E;
  border-radius: 6px;
  padding: 4px 0;
  list-style: none;
  font-size: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 99;
  cursor: pointer;
}
.login_lang_menu li {
  padding: 4px 8px;
  cursor: pointer;
  white-space: nowrap;
}
.login_lang_menu.hidden {
  display: none;
}
.login_data_box {
	margin: 20px 0 0 0;
	padding: 20px 20px 0 20px;
}
.logins {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.login_input_box {
	display: flex;
  align-items: center;
	background-color: #F4EFEB;
	margin: 10px 0;
	box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.3);
	overflow: hidden;
  width: 100%;
  height: 50px;
  border-radius: 5px;
  border: 1px solid #D5D6D7;
}
.login_input_inp {
	flex-grow: 1;
}
.login_input_inp input {
  width: 100%;
	border: none;
	border-right: none;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	outline: none;
	padding: 14.5px 5px;
	background: transparent;
	outline: none;
  color: #6A7D7E;
}
.login_input_ico {
  width: 56px;
  height: 56px;
  background-color: #477A8F;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.login_input_ico img {
  width: 26px;
  height: 26px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.login_input_bt {
	margin: 10px auto 0 auto;
	padding: 15px 40px;
  margin-bottom: 60px;
}
.login_text {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 30px 0 20px 0;
}
.login_input_forgot {
	font-size: 14px;
	display: flex;
  align-items: center;
	cursor: pointer;
}
.login_input_forgot a {
  color: #31414E; 
  font-weight: 500;
  text-decoration: none;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.18);
}
.login_registr {
  gap: clamp(30px, 8vw, 200px);
	display: flex;
  align-items: center;
}
.login_info_msg {
	width: 100%;
	margin: 20px 0 0 0;
	text-align: center;
	font-size: 14px;
	color: #31414E;
}
.login_info_msg.err {
	color: #cc0000;
}
.general_shadow {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.18);
}
/* LOGIN */

/* HOME */
.home_main {
  padding: 0 0 140px;
}
.home_container {
  max-width: 500px;
  margin: 0 auto;
  padding: 0 10px 0;
  font-family: "Arial", serif;
}
.home_top_bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
  margin-top: 20px;
}
.home_welcome {
  color: #31414E;
  font-weight: 600;
}
.home_welcome h2 {
  font-size: 18px;
  margin-bottom: 4px;
}
.username {
  font-size: 16px;
}
.date_button {
  width: 100%;
  padding: 12px 30px;
  margin: 40px 0;
  background: #F4EFEB;
  border: 1px solid #D5D6D7;
  border-radius: 12px;
  color: #31414E;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  box-shadow: 0 5px 8px rgba(0, 0, 0, 0.4);
  border: none;
  font-size: 16px;
}
.date_button img {
  height: 30px;
}
.home-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 10px;
}
.home_card {
  background: #F4EFEB;
  border: 1px solid #D5D6D7;
  color: #31414E;
  font-weight: 600;
  border-radius: 12px;
  text-align: right;
  padding: 12px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  line-height: 1.2;
}
.home_card:hover {
  transform: scale(1.03);
}
.card_icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #577C8E;
}
.card_icon img {
  height: 40px;
}
@media (max-width: 600px) {
.home_container {
  padding: 10px 10px 0;
}
.home_top_bar {
  margin-top: 5px;
}
.home_welcome h2 {
  margin-bottom: 0px;
}
.username {
  font-size: 16px;
}
.date_button {
  margin: 30px 0 20px;
  gap: 8px;
  font-size: 16px;
}
.home-grid {
  margin-top: 50px;
}
.home_card {
  padding: 12px;
}
.card_icon {
  width: 40px;
  height: 40px;
}
.card_icon img {
  height: 20px;
}}
/* HOME */

/* HEADER */
.header {
  max-width: 500px;
  margin: 0 auto;
  padding: 10px 10px 0;
  border-top: 8px solid #577C8E;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "Arial", serif;
}
.header_logo {
  height: 60px;
  margin-bottom: 15px;
}
.header_right {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2px;
  color: #31414E;
}
.header_phone {
  margin-right: 15px;
  margin-bottom: 35px;
  font-size: 14px;
  font-weight: 600;
  align-items: center;
}
.header_user_group {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.header_user_icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #577C8E;
}
.header_user_icon img {
  width: 20px;
  height: 20px;
}
.header_logout {
  font-size: 14px;
  text-decoration: none;
  color: #31414E;
}
.header_lang {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: right;
  gap: 4px;
  font-size: 12px;
  color: #31414E;
  z-index: 10;
  cursor: pointer;
  margin-top: 10px;
}
.header_lang img {
  width: 15px;
  height: auto;
}
.header_lang_menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 6px;
  background: white;
  color: #31414E;
  border-radius: 6px;
  padding: 4px 0;
  list-style: none;
  font-size: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 99;
  cursor: pointer;
}
.header_lang_menu li {
  padding: 4px 8px;
  cursor: pointer;
  white-space: nowrap;
}
.header_lang_menu.hidden {
  display: none;
}
/* HEADER */

/* FOOTER */
.footer {
  position: fixed; left: 0; right: 0; bottom: 0;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  height: 130px; 
  padding: 14px 16px calc(16px + env(safe-area-inset-bottom)); /* iOS safe area */
  background: #577C8E;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 999;
  box-shadow: 0 -6px 16px rgba(0,0,0,.1);
  box-sizing: border-box;
  font-family: "Arial", serif;
}
.footer .tabs {
  max-width: 350px;
  width: 100%;
  background: #fff;
  padding: 8px 12px;
  border-radius: 30px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  box-shadow: 0 8px 16px rgba(0,0,0,.15);
}
.tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
}
.tab .ico {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block;
  pointer-events: none;
  transition: opacity .15s ease;
}
.tab .ico--on {  opacity: 0; }
.tab .ico--off  { opacity: .6; }
.tab.active .ico--on  {  opacity: 1; }
.tab.active .ico--off { opacity: 0; }
.footer p {
  margin: 10px 0 0;
  color: #fff;
  font-weight: 500;
  letter-spacing: .06em;
  text-align: center;
}
@media (max-width: 600px) {
.footer {
  height: 100px; 
  padding: 10px 16px 6px;
}
.footer .tabs {
  max-width: 350px;
  padding: 6px 12px;
  gap: 10px;
}
.tab {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.tab .ico {
  width: 35px;
  height: 35px;
}
.footer p {
  margin: 5px 0 0;
  color: #fff;
  letter-spacing: .06em;
  text-align: center;
}}
/*  FOOTER */

/* ARTICLES AND BOOK */
.articles_container {
  max-width: 500px;
  margin: 0 auto;
  padding: 10px 10px 20px;
}
.articles_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0;
}
.articles_header h1 {
  font-size: 25px;
  font-weight: 500;
  color: #31414E;
  text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.25);
}
.back_btn {
  background: #2F4157;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 3px 6px rgba(0,0,0,0.25);
  display: flex;
  align-items: center;
  gap: 8px;
}
.back_btn img {
  height: 14px;
  width: auto;
}
.articles_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 10px;
}
.articles_card {
  width: 100%;
  height: 150px;
  position: relative;
  background: #F4EFEB;
  border: 1px solid #D5D6D7;
  color: #31414E;
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.articles_card:hover {
  transform: scale(1.03);
}
.articles_card p {
  width: 70%;
  text-align: left;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.3;
}
.articles_card_icon {
  position: absolute;
  top: 65%;
  right: 5%;
  background-color: #577C8E;
  inline-size: 43px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.articles_card_icon img {
  width: 50%;
  height: 50%;
  object-fit: contain;
  display: block;
}
/* ARTICLES AND BOOK */

/* GENERAL PRACTICES */
.practices_container {
  max-width: 500px;
  margin: 0 auto;
  padding: 10px 10px 20px;
}
.practices_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0;
}
.practices_header h1 {
  font-size: 25px;
  font-weight: 500;
  color: #31414E;
  text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.25);
}
.practices_back_btn {
  background: #2F4157;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 3px 6px rgba(0,0,0,0.25);
  display: flex;
  align-items: center;
  gap: 8px;
}
.practices_back_btn img {
  height: 14px;
  width: auto;
}
.practices_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 10px;
}
.practices_card {
  width: 100%;
  height: 150px;
  position: relative;
  background: #F4EFEB;
  border: 1px solid #D5D6D7;
  color: #31414E;
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.practices_card:hover {
  transform: scale(1.03);
}
.practices_card p {
  width: 70%;
  text-align: left;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.3;
}
.practices_card_icon {
  position: absolute;
  top: 65%;
  right: 5%;
  background-color: #577C8E;
  inline-size: 43px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.practices_card_icon img {
  width: 50%;
  height: 50%;
  object-fit: contain;
  display: block;
}
/* GENERAL PRACTICES */

/* VIDEOS */
.videos_container {
  max-width: 500px;
  margin: 0 auto;
  padding: 10px 10px 20px;
}
.videos_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0;
}
.videos_header h1 {
  font-size: 25px;
  font-weight: 500;
  color: #31414E;
  text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.25);
}
.videos_back_btn {
  background: #2F4157;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 3px 6px rgba(0,0,0,0.25);
  display: flex;
  align-items: center;
  gap: 8px;
}
.videos_back_btn img {
  height: 14px;
  width: auto;
}
.videos_grid{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  padding: 12px 0 40px;
}
.video_card{
  width: min(420px, 100%);
}
.video_wrap{
  position: relative;
  width:  100%;
  aspect-ratio: 9/16;
  background: #000;
  border-radius:  14px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0,0,0,.15);
}
.video_wrap iframe{
  position:absolute; inset:0;
  width: 100%;
  height: 100%;
  border:   0;
}
.video_title{
  margin: 10px 2px;
  font-size: 16px;
  line-height: 1.4;
}
@media (max-width: 600px) {
.video_card{
  width: min(320px, 100%);
}}
/* VIDEOS */

/* PROFILE */
.profile_main {
  padding: 0 0 140px;
}
.edit_profile {
  width: 100%;
  max-width: 500px;
  margin: 40px auto 0;
  padding: 10px 10px 20px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.profile_input_box {
	display: flex;
  align-items: center;
	background-color: #F4EFEB;
	margin: 10px 0;
	box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.3);
	overflow: hidden;
  width: 100%;
  height: 50px;
  border-radius: 5px;
  border: 1px solid #D5D6D7;
}
.profile_input_inp {
	flex-grow: 1;
}
.profile_input_inp input {
  width: 100%;
	border: none;
	border-right: none;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	outline: none;
	padding: 14.5px 5px;
	background: transparent;
	outline: none;
  color: #6A7D7E;
}
.profile_input_bt {
	margin: 10px auto 0 auto;
	padding: 15px 40px;
  margin-bottom: 60px;
}
.profile_info_msg {
	width: 100%;
	margin: 20px 0 0 0;
	text-align: center;
	font-size: 14px;
	color: #31414E;
}
.profile_info_msg.err {
	color: #cc0000;
}
.general_shadow {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.18);
}
/* PROFILE */

/* BOOKS */
.books_container {
  max-width: 800px;
  margin: 0 auto;
  padding: 100px 10px 20px;
}
.books_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0;
}
.books_header h1 {
  font-size: 25px;
  font-weight: 500;
  color: #31414E;
  text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.25);
}
.books_back_btn {
  background: #2F4157;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 3px 6px rgba(0,0,0,0.25);
  display: flex;
  align-items: center;
  gap: 8px;
}
.books_back_btn img {
  height: 14px;
  width: auto;
}
.books_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 10px;
}
.books_card {
  width: 100%;
  height: 150px;
  position: relative;
  background: #F4EFEB;
  border: 1px solid #D5D6D7;
  color: #31414E;
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.books_card:hover {
  transform: scale(1.03);
}
.books_card p {
  width: 70%;
  text-align: left;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.3;
}
.books_card_icon {
  position: absolute;
  top: 65%;
  right: 5%;
  background-color: #577C8E;
  inline-size: 43px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.books_card_icon img {
  width: 50%;
  height: 50%;
  object-fit: contain;
  display: block;
}
@media (max-width: 600px) {
.books_grid {
  grid-template-columns: repeat(2, 1fr);
}}
/* BOOKS */

.main_container {
  max-width: 500px;
  margin: 0 auto;
  padding: 0 10px 0;
  font-family: "Arial", serif;
  text-align: center;
}
.main_container p {
  margin-top: 20px;
  color: #31414E;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.4;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.18);
}


.calendar-modal{ position:fixed; inset:0; display:none; z-index:1000; }
.calendar-modal.open{ display:block; }
.calendar-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.5); }

.calendar-dialog{
  position:relative; margin:5vh auto; width:min(1000px,92vw); height:80vh;
  background:#fff; border-radius:16px; overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.3);
}

.calendar-close{
  position:absolute; top:6px; right:10px; border:0; background:transparent;
  font-size:28px; line-height:1; cursor:pointer;
}

/* Контейнер Tockify занимает всё оставшееся место в модалке */
.calendar-embed{ height: calc(100% - 56px); } /* 56px ≈ заголовок+отступы */