/*
Theme Name: Veles Energy (Parent) v2
Theme URI: https://veles-energy.com.ua/
Author: Veles Energy Dev Team
Author URI: https://veles-energy.com.ua/
Description: The main parent theme for the Veles Energy network of sites. It contains all the core functionality, styles, and templates. Do not activate this theme directly; use a child theme instead.
Version: 1.1.2
Requires at least: 6.6.2
Tested up to: 6.6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: veles-energy
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

veles-energy is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

.current-menu-item .nav-menu__item {
  border: 1px solid lightgray;
}

main {
  padding-top: 80px;
}

.ve_page-title {
  display: grid;
  grid-template-columns: 20px 1fr;
  grid-template-rows: 1fr;
  gap: 1rem;
  justify-items: flex-start;
  align-items: center;
  margin-bottom: 3rem;
}

.ve_page-title__accent {
  height: 100%;
  width: 1.25rem;
  background-color: #e4913c;
  background-color: var(--vp--color--accent-lighter);
  border-radius: 2px;
}

.ve_page-title__text {
  margin: 0;
}


/* ======================================= Contacts Page ================================== */

.site-main--contacts {
  padding-top: 40px;
}

.ve_contacts_container {
  padding-right: calc(var(--bs-gutter-x) * 1);
  padding-left: calc(var(--bs-gutter-x) * 1);
}

.ve_contacts_contnent {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;
  row-gap: 32px;
  grid-template-areas:
    "contacts callback"
    "map map";
}

.ve_contacts {
  grid-area: contacts;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ve_contacts__card {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 24px;
  border-radius: 16px;
  border: 1px solid lightgray;
}

.ve_contacts__card-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  border-radius: 10px;
  border: 1px solid lightgray;
  background-color: var(--vp--color--surface);
  background-color: var(--vp--color--accent-lighter);
  background: linear-gradient(var(--vp--color--surface), #fff);
}

.ve_contacts__card-phones {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ve_contacts__card-phones span.body-l a {
  color: var(--vp--color--primary);
}

.ve_contacts__card-mail span.body-l a {
  color: var(--vp--color--primary);
}

.ve_contact {
  display: flex;
  flex-direction: row;
  gap: 20px;
}

.ve_contact_icon>i {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  font-size: 24px;
  color: #fff;
  color: var(--vp--color--accent-lighter);
}

.ve_callback {
  grid-area: callback;
  padding: 24px;
  border-radius: 16px;
  border: 1px solid lightgray;
  background-color: var(--vp--color--surface);
}

.ve_callback__title {
  margin-bottom: 8px;
}

.ve_callback__subtitle {
  margin-bottom: 24px;
  color: #5d6d6c;
}

.form-label {
  color: #5d6d6c;
}

.ve_callback__submit {
  background-color: var(--vp--color--primary);
  color: var(--vp--color--on-primary);
}

.ve_google_map {
  grid-area: map;
  border-radius: 16px;
  overflow: hidden;
}

/* Mobile and Tablet Responsive Design */
@media (max-width: 1024px) {
  .ve_contacts_contnent {
    grid-template-columns: 1fr;
    grid-template-areas:
      "contacts"
      "callback"
      "map";
  }
}

@media (max-width: 768px) {
  .ve_contacts_contnent {
    column-gap: 16px;
    row-gap: 24px;
  }

  .ve_contacts__card {
    padding: 16px;
    gap: 20px;
  }

  .ve_contacts__card-icon {
    width: 50px;
    height: 50px;
  }

  .ve_callback {
    padding: 16px;
  }

  .ve-callback-form .mb-3 {
    margin-bottom: 1rem;
  }

  .ve-callback-form .form-control {
    font-size: 16px;
  }

  .ve-callback-form .btn {
    width: 100%;
  }

  .ve_google_map {
    border-radius: 8px;
  }

  .ve_google_map iframe {
    height: 300px !important;
  }
}

@media (max-width: 480px) {
  .ve_contacts_container {
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }

  .ve_contacts__card {
    padding: 12px;
    gap: 12px;
  }

  .ve_contacts__card-icon {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
  }

  .ve_callback {
    padding: 20px;
  }

  .ve_callback__title {
    font-size: 20px;
  }

  .ve_callback__subtitle {
    font-size: 16px;
    margin-bottom: 16px;
  }

  .ve_google_map iframe {
    height: 250px !important;
  }
}



/* ======================= Links ======================== */
.ve-link {
  color: #945f5a;
  /* Fallback color */
  color: var(--vp--color--primary);
  text-decoration: none;
}

.ve-link:visited {
  color: #945f5a;
  /* Fallback color */
  color: var(--vp--color--primary);
}

.ve-link:hover {
  color: #006B54;
  /* Fallback color */
  color: var(--vp--color--secondary);
}






/* ================= SERVISES ==================== */

/* Card component */
.card {
  padding: 16px;
  background-color: #FFF8F7;
  font-size: 14px;
}

/* Service component */
.ve-service {
  border-radius: 16px;
  border: 1px solid white;
  transition: background-color 0.5s ease-out, border 0.5s ease-out, box-shadow 0.5s ease-out;
}

.ve-service:hover {
  background-color: white;
  border-color: lightgray;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.ve_service-card {
  border: 1px solid transparent;
  padding: 24px 38px;
  border-radius: 20px;
  transition: background-color 0.5s ease-out, border 0.5s ease-out, box-shadow 0.5s ease-out;
  margin-bottom: 12px;
}

.ve_service-card:hover {
  border: 1px solid #D8C2BF;
  background-color: white;
  border-color: lightgray;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.ve_service-card .ve-link {
  display: grid;
}

.ve_service-card h2,
.ve_service-card h3,
.ve_service-card h4,
.ve_service-card h5,
.ve_service-card h6 {
  padding: 0;
  margin: 0;
}


.ve_service-card p {
  display: none;
}

.ve_service-card a {
  text-decoration: none;
}

.ve_service-card ul {
  margin: 12px 0 0 0;
  list-style: none;
  padding: 0;
}

.ve_service-card h4 a {
  color: #945f5a;
  /* Fallback color */
  color: var(--vp--color--primary);
  text-decoration: none;
}

/* ============ CHECKERS ============ */

/* 
button:not([type]),
img:not([alt]),
img:not([width]),
img:not([height]),
a:not([href]),
input:not([type]),
input:not([name]),
textarea:not([name]),
select:not([name]),
form:not([action]),
iframe:not([src]),
script:not([src]),
link:not([href]),
meta:not([content]) {
  outline: 10px dashed red;
  outline-offset: 2px;
}

Extend with :has 
div:has(button:not([type])),
div:has(img:not([alt])),
div:has(img:not([width])),
div:has(img:not([height])),
div:has(a:not([href])),
div:has(input:not([type])),
div:has(input:not([name])),
div:has(textarea:not([name])),
div:has(select:not([name])),
div:has(form:not([action])),
div:has(iframe:not([src])),
div:has(script:not([src])),
div:has(link:not([href])),
div:has(meta:not([content])) {
    border: 2px solid blue;
}
*/

/* --- Partner List Hotfix --- */
.partners__list {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  height: auto !important;
  overflow: visible !important;
}

.wpml-ls-statics-footer {
  display: none;
}

.ve_contact_icon svg {
  width: 24px;
  height: 24px;
  fill: #777777;
}
