/*
 * იაფინო — CMS-ის დამატებები შაბლონის style.css-ზე (style.css ძველი საიტიდან უცვლელია).
 * აქ: ადმინიდან შევსებული ტექსტის სტილი, ვაკანსიის ფორმა, გალერეა, დოკუმენტები, წინასწარი ნახვის ზოლი,
 * შაბლონის inline სტილები კლასებად (CSP) და ხელმისაწვდომობა.
 */

/* ---------- ხელმისაწვდომობა ---------- */
.skip-link {
  position: absolute;
  left: 12px;
  top: -60px;
  z-index: 10000;
  padding: 10px 18px;
  background: var(--secondary-color);
  color: var(--white-color);
  border-radius: 6px;
  transition: top 0.2s ease;
}
.skip-link:focus {
  top: 12px;
  color: var(--white-color);
}
main:focus {
  outline: none;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--theme-color);
  outline-offset: 2px;
}
/*
 * ანიმაციები ყოველთვის ჩართულია, სისტემის „მოძრაობის შემცირების" მიუხედავად (კლიენტის მოთხოვნით, 2026-10-13).
 * Bootstrap ამ დროს აკორდეონის (FAQ) გადასვლებს თიშავს — აქ მისივე ნაგულისხმევი მნიშვნელობები ბრუნდება
 * (ეს ფაილი bootstrap-ის შემდეგ იტვირთება, ამიტომ იგივე სელექტორი იგებს).
 */
.collapsing {
  transition: height 0.35s ease;
}
.accordion-button {
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
}
.accordion-button::after {
  transition: transform 0.2s ease-in-out;
}

/* ---------- წინასწარი ნახვა (ადმინიდან) ---------- */
.preview-bar {
  position: sticky;
  top: 0;
  z-index: 10001;
  padding: 10px 16px;
  background: #fec624;
  color: #000;
  font-size: 15px;
  text-align: center;
}

/* ---------- ჰედერი ---------- */
.header-logo img,
.mobile-logo img {
  height: auto;
}
.header-links .pulse-btn {
  display: inline-block;
  padding: 8px 20px;
  font-size: 15px;
  line-height: 1.4;
  color: var(--white-color);
}
.header-links .pulse-btn:hover,
.header-links .pulse-btn:focus {
  color: var(--white-color);
}

/* ---------- ფუტერი ---------- */
.footer-plain {
  padding: 0;
}
.footer-plain .copyright-wrap {
  background-color: var(--black-color);
}
.footer-plain .copyright-text,
.footer-plain .copyright-menu a {
  color: var(--white-color);
}
.footer-plain .copyright-menu a:hover {
  color: var(--theme-color);
}
.maps iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.maps--footer {
  height: 100%;
  min-height: 320px;
}

/* ---------- დეკორაციები (შაბლონის inline პოზიციები) ---------- */
.shape-mockup--selling {
  right: 0;
  bottom: 22%;
}
.shape-mockup--process {
  left: 0;
  top: 5%;
}
.shape-mockup--about {
  right: 9%;
  bottom: 22%;
}

/* ---------- ვიდეო-სლაიდერი ---------- */
.video-bg-container {
  background-color: #10301a;
}

/* ---------- კვირის შეთავაზებები ---------- */
/* ფასდაკლების წარწერა ყოველთვის ჩანს (შაბლონში — მხოლოდ მაუსის მიტანისას, ტელეფონზე კი არასდროს) */
.offers .product-style1 .product-meta {
  visibility: visible;
  opacity: 1;
  z-index: 2;
}
.offers .process-style1 .process-img img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: var(--white-color);
}
.offers .product-about .product-title {
  font-size: 22px;
}
.offers__period {
  display: block;
}
.price del {
  color: #8a8a8a;
}

/* ---------- ადმინიდან შევსებული ტექსტი ---------- */
.rich-text {
  color: var(--body-color);
}
.rich-text > :last-child {
  margin-bottom: 0;
}
.rich-text p {
  margin-bottom: 16px;
}
.rich-text h2,
.rich-text h3 {
  margin: 28px 0 14px;
  font-size: 24px;
  line-height: 1.35;
}
.rich-text h3 {
  font-size: 20px;
}
.rich-text > h2:first-child,
.rich-text > h3:first-child {
  margin-top: 0;
}
.rich-text ul {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}
.rich-text ul li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 30px;
}
.rich-text ul li::before {
  content: "\f058";
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--icon-font);
  font-weight: 400;
  color: var(--theme-color);
}
.rich-text ol {
  margin: 0 0 18px;
  padding-left: 22px;
}
.rich-text ol li {
  margin-bottom: 8px;
}
.rich-text a {
  color: var(--secondary-color);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.rich-text blockquote {
  margin: 0 0 18px;
  padding: 14px 20px;
  border-left: 4px solid var(--theme-color);
  background: var(--smoke-color);
}
.page-empty {
  margin: 0;
  color: #777;
}
.page-extra {
  margin-top: 40px;
}
.services-intro {
  max-width: 860px;
}
.services-grid {
  padding-top: 40px;
}
.contact-text {
  margin-top: 30px;
}

/* ---------- გალერეა ---------- */
.gallery-intro {
  margin-bottom: 30px;
}
.gallery-item {
  margin: 0;
}
.gallery-item a {
  display: block;
  overflow: hidden;
  border-radius: 10px;
}
.gallery-item img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.gallery-item a:hover img {
  transform: scale(1.04);
}
.gallery-item__caption {
  margin-top: 8px;
  font-size: 15px;
  color: var(--body-color);
}

/* ---------- დოკუმენტები ---------- */
.page-files {
  margin-top: 40px;
}
.page-files__title {
  margin-bottom: 16px;
  font-size: 22px;
}
.page-files__list li + li {
  margin-top: 10px;
}
.page-files__link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  padding: 14px 18px;
  border: 1px solid #dfe7e2;
  border-radius: 10px;
  color: var(--title-color);
}
.page-files__link:hover {
  border-color: var(--theme-color);
}
.page-files__badge {
  padding: 2px 8px;
  border-radius: 4px;
  background: var(--secondary-color);
  color: var(--white-color);
  font-size: 13px;
}
.page-files__name {
  flex: 1 1 auto;
  font-weight: 600;
}
.page-files__meta {
  font-size: 14px;
  color: #777;
}

/* ---------- ვაკანსიის ფორმა (ძველი საიტის vacancy.html.twig-იდან) ---------- */
.job-form {
  max-width: 500px;
  margin: 30px 0;
  padding: 25px;
  background: #f9fff9;
  border: 2px solid #cce5cc;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.job-form label {
  display: block;
  margin: 12px 0 6px;
  font-weight: bold;
  color: #2c5e2c;
}
.job-form input,
.job-form select,
.job-form textarea {
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #cce5cc;
  background: #fff;
  font-size: 15px;
  transition: all 0.3s ease;
}
.job-form input[type="file"] {
  padding: 8px;
}
.job-form input:focus,
.job-form select:focus,
.job-form textarea:focus {
  border-color: #4caf50;
  outline: none;
  box-shadow: 0 0 6px rgba(76, 175, 80, 0.3);
}
.job-form [aria-invalid="true"] {
  border-color: var(--error-color);
}
.job-form textarea {
  resize: vertical;
}
.job-form button[type="submit"] {
  width: 100%;
  margin-top: 20px;
  padding: 12px;
  border: none;
  border-radius: 8px;
  background: #4caf50;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  cursor: pointer;
  transition: 0.3s;
}
.job-form button[type="submit"]:hover {
  background: #43a047;
}
.job-form button[type="submit"]:disabled {
  opacity: 0.7;
  cursor: wait;
}
.job-form__req {
  color: var(--error-color);
}
.job-form__hint {
  margin: 6px 0 0;
  font-size: 14px;
  color: #6b7d6b;
}
.job-form__error {
  margin: 6px 0 0;
  font-size: 14px;
  color: var(--error-color);
}
.job-form__alert {
  margin: 0 0 8px;
  padding: 10px 14px;
  border-radius: 8px;
  background: #fdecec;
  color: #a12a2a;
}
.job-form__hp {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.job-form--sent {
  text-align: left;
}
.job-form__thanks {
  margin-bottom: 18px;
  font-size: 17px;
  color: #2c5e2c;
}
.job-form__thanks i {
  color: #4caf50;
}

/* ---------- 404 ---------- */
.error-page {
  max-width: 720px;
}
.error-page__text {
  font-size: 18px;
}
.error-page__title {
  margin: 30px 0 14px;
  font-size: 22px;
}
.error-page__links {
  margin-bottom: 30px;
}
.error-page__links li + li {
  margin-top: 8px;
}
