@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  b {
    @apply font-bold;
  }
}

/* Стили для предотвращения множественных кликов */
.turbo-loading {
  pointer-events: none;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}

.turbo-loading * {
  cursor: wait !important;
}

/* Исключения для языковых ссылок и элементов с bypass */
.turbo-loading .language-link,
.turbo-loading [data-bypass-click-protection="true"] {
  pointer-events: auto !important;
  cursor: pointer !important;
  opacity: 1 !important;
}

/* Индикация загрузки для ссылок */
a[data-turbo="true"]:active,
a[data-turbo]:active {
  opacity: 0.7;
  pointer-events: none;
}

/* Предотвращение двойных кликов на кнопках и ссылках */
a,
button {
  transition: opacity 0.1s ease;
}

a:active,
button:active {
  transform: scale(0.98);
  opacity: 0.8;
}

/* Исключения для языковых ссылок */
a.language-link:active,
a[data-bypass-click-protection="true"]:active {
  transform: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* fonts */
@import "../fonts";
@import "materialdesignicons.css";
@import "./plyr.css";
/* Удаляем проблемный импорт */
/* @import "flag-icons/css/flag-icons.min.css"; */
@import "flag-icons-custom";
/* @import "tiny-slider/tiny-slider.css"; */
/* @import url("https://fonts.googleapis.com/css?family=Nunito:300,400,500,600,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Alex+Brush&display=swap");
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Work+Sans:wght@300&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Kaushan+Script&display=swap"); */

@font-face {
  font-family: 'Nunito';
  src: url("/assets/Nunito-Regular-2d69335c.ttf"),
    url("/assets/Nunito-Light-e9b67f7b.ttf"),
    url("/assets/Nunito-Medium-37f009f5.ttf"),
    url("/assets/Nunito-SemiBold-a6eccd15.ttf"),
    url("/assets/Nunito-Bold-a38cb8b3.ttf");
  font-display: swap;
}

@font-face {
  font-family: 'EB Garamond';
  src: url("/assets/EBGaramond-Regular-f414c646.ttf"),
    url("/assets/EBGaramond-Medium-877ebd88.ttf"),
    url("/assets/EBGaramond-SemiBold-b1f89f46.ttf"),
    url("/assets/EBGaramond-Bold-434e6c5c.ttf");
  font-display: swap;
}

@font-face {
  font-family: 'Work Sans';
  src: url("/assets/WorkSans-Light-36909e41.ttf");
  font-display: swap;
}

@font-face {
  font-family: 'Kaushan Script';
  src: url("/assets/KaushanScript-Regular-9876dea4.ttf");
  font-display: swap;
}

/* @font-face {
  font-family: 'Material Icons';
  src: url("/assets/materialdesignicons-webfont-e8382164.ttf"),
        url("/assets/materialdesignicons-webfont-a2410f4a.woff2"),
        url("/assets/materialdesignicons-webfont-d38c021d.woff"),
        url("/assets/materialdesignicons-webfont-b4c6d4f6.eot");
  font-display: swap;
} */


@font-face {
  font-family: "Material Design Icons";
  src:
    url("/assets/materialdesignicons-webfont-b4c6d4f6.eot");
  src:
    url("/assets/materialdesignicons-webfont-b4c6d4f6.eot") format("embedded-opentype"),
    url("/assets/materialdesignicons-webfont-a2410f4a.woff2") format("woff2"),
    url("/assets/materialdesignicons-webfont-d38c021d.woff") format("woff"),
    url("/assets/materialdesignicons-webfont-e8382164.ttf") format("truetype");
  font-weight: normal;
  font-style: normal
}

/* Tiny slider */
.tns-outer {
  padding: 0 !important
}

.tns-outer [hidden] {
  display: none !important
}

.tns-outer [aria-controls],
.tns-outer [data-action] {
  cursor: pointer
}

.tns-slider {
  -webkit-transition: all 0s;
  -moz-transition: all 0s;
  transition: all 0s
}

.tns-slider>.tns-item {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box
}

.tns-horizontal.tns-subpixel {
  white-space: nowrap
}

.tns-horizontal.tns-subpixel>.tns-item {
  display: inline-block;
  vertical-align: top;
  white-space: normal
}

.tns-horizontal.tns-no-subpixel:after {
  content: '';
  display: table;
  clear: both
}

.tns-horizontal.tns-no-subpixel>.tns-item {
  float: left
}

.tns-horizontal.tns-carousel.tns-no-subpixel>.tns-item {
  margin-right: -100%
}

.tns-no-calc {
  position: relative;
  left: 0
}

.tns-gallery {
  position: relative;
  left: 0;
  min-height: 1px
}

.tns-gallery>.tns-item {
  position: absolute;
  left: -100%;
  -webkit-transition: transform 0s, opacity 0s;
  -moz-transition: transform 0s, opacity 0s;
  transition: transform 0s, opacity 0s
}

.tns-gallery>.tns-slide-active {
  position: relative;
  left: auto !important
}

.tns-gallery>.tns-moving {
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s
}

.tns-autowidth {
  display: inline-block
}

.tns-lazy-img {
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  transition: opacity 0.6s;
  opacity: 0.6
}

.tns-lazy-img.tns-complete {
  opacity: 1
}

.tns-ah {
  -webkit-transition: height 0s;
  -moz-transition: height 0s;
  transition: height 0s
}

.tns-ovh {
  overflow: hidden
}

.tns-visually-hidden {
  position: absolute;
  left: -10000em
}

.tns-transparent {
  opacity: 0;
  visibility: hidden
}

.tns-fadeIn {
  opacity: 1;
  filter: alpha(opacity=100);
  z-index: 0
}

.tns-normal,
.tns-fadeOut {
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: -1
}

.tns-vpfix {
  white-space: nowrap
}

.tns-vpfix>div,
.tns-vpfix>li {
  display: inline-block
}

.tns-t-subp2 {
  margin: 0 auto;
  width: 310px;
  position: relative;
  height: 10px;
  overflow: hidden
}

.tns-t-ct {
  width: 2333.3333333%;
  width: -webkit-calc(100% * 70 / 3);
  width: -moz-calc(100% * 70 / 3);
  width: calc(100% * 70 / 3);
  position: absolute;
  right: 0
}

.tns-t-ct:after {
  content: '';
  display: table;
  clear: both
}

.tns-t-ct>div {
  width: 1.4285714%;
  width: -webkit-calc(100% / 70);
  width: -moz-calc(100% / 70);
  width: calc(100% / 70);
  height: 10px;
  float: left
}


/* Tiny slider */


/* PrismJS 1.29.0 — prism-tomorrow theme */
code[class*=language-],
pre[class*=language-] {
  color: #ccc;
  background: 0 0;
  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  font-size: 1em;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none
}
pre[class*=language-] { padding: 1em; margin: .5em 0; overflow: auto }
:not(pre)>code[class*=language-], pre[class*=language-] { background: #2d2d2d }
:not(pre)>code[class*=language-] { padding: .1em; border-radius: .3em; white-space: normal }
.token.block-comment, .token.cdata, .token.comment, .token.doctype, .token.prolog { color: #999 }
.token.punctuation { color: #ccc }
.token.attr-name, .token.deleted, .token.namespace, .token.tag { color: #e2777a }
.token.function-name { color: #6196cc }
.token.boolean, .token.function, .token.number { color: #f08d49 }
.token.class-name, .token.constant, .token.property, .token.symbol { color: #f8c555 }
.token.atrule, .token.builtin, .token.important, .token.keyword, .token.selector { color: #cc99cd }
.token.attr-value, .token.char, .token.regex, .token.string, .token.variable { color: #7ec699 }
.token.entity, .token.operator, .token.url { color: #67cdcc }
.token.bold, .token.important { font-weight: 700 }
.token.italic { font-style: italic }
.token.entity { cursor: help }
.token.inserted { color: green }

/* Анимация для модального окна */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(16px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* Стили для анимации аккордеона */
[data-controller="accordion"] [id^="accordion-collapse-body-"] {
  transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
  will-change: max-height, opacity;
}

/* Стили для hover-эффекта кнопок */
[data-controller="accordion"] button:focus-visible {
  outline: 2px solid theme('colors.indigo.600');
  outline-offset: -2px;
}

/* Улучшение доступности */
[data-controller="accordion"] button:focus {
  @apply ring-2 ring-indigo-600 ring-offset-2;
}
