/*

Theme Name: Moto
Author: TB457
Version: 1.0.0
Requires at least: 6.0

*/

:root {
  --transition-duration: 0.2s;
  --transition-duration-longer: 0.4s;
}

*,
::before,
::after {
  box-sizing: border-box;
}

:where([fill]:not([fill="none"], [fill^="url"])) {
  fill: currentColor;
}

:where([stroke]:not([stroke="none"], [stroke^="url"])) {
  stroke: currentColor;
}

a,
button {
  transition-duration: var(--transition-duration);
}

.navigation a {
  position: relative;
}

.navigation a::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-inline: auto;
  height: 2px;
  width: 0;
  background-color: currentColor;
  transition-duration: var(--transition-duration);
}

.navigation a:hover::after {
  width: 100%;
}

.header-top {
  @media (max-width: 767px) {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
  }
}

.header-top > *:last-child {
  justify-self: end;
}

.tablet-above {
  @media (max-width: 1023px) {
    display: none !important;
  }
}

.mobile-above {
  @media (max-width: 767px) {
    display: none !important;
  }
}

.visible-mobile {
  @media (min-width: 768px) {
    display: none !important;
  }
}

.mobile-grid-mobile-col-1 {
  @media (max-width: 767px) {
    grid-template-columns: 1fr !important;
  }
}

.mobile-grid-col-1 {
  @media (max-width: 767px) {
    grid-template-columns: 1fr !important;
  }
}

.mobile-grid-col-2 {
  @media (max-width: 767px) {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

.mobile-s-grid-col-1 {
  @media (max-width: 480px) {
    grid-template-columns: 1fr !important;
  }
}

.mobile-grid-justify-items-center {
  @media (max-width: 767px) {
    justify-items: center !important;
  }
}

.mobile-text-align-center {
  @media (max-width: 767px) {
    text-align: center !important;
  }
}

.align-self-center {
  align-self: center !important;
}

.mobile-align-self-center {
  @media (max-width: 767px) {
    align-self: center !important;
  }
}

.mobile-align-items-center {
  @media (max-width: 767px) {
    align-items: center !important;
  }
}

.mobile-background-position-center {
  @media (max-width: 767px) {
    background-position: center !important;
  }
}

.text-align-center {
  text-align: center !important;
}

.w-100p {
  width: 100% !important;
}

.position-absolute {
  position: absolute !important;
}

.position-relative {
  position: relative !important;
}

.inset-0 {
  inset: 0 !important;
}

.z-index-1 {
  z-index: 1;
}

.margin-0 {
  margin: 0 !important;
}

/* WOOCOMMERCE */

.product-cards ul {
  grid-template-columns: repeat(auto-fill, minmax(max(300px, calc(33.33333% - 0.83333em)), 1fr)) !important;
}

.product-card {
  cursor: pointer;
  overflow: hidden;
}

.product-card img {
  transition-duration: var(--transition-duration-longer);
}

.product-card:hover img {
  scale: 1.05;
}

.product-card a,
.product-card img,
.product-card .wp-block-woocommerce-product-image * {
  height: 100%;
}

/* select orderby */
.wc-custom-select {
  display: inline-block;
  font-family: inherit;
  font-size: 0.9rem;
  position: relative;
  max-width: 100%;
}

/* Стилизуем label */
.wc-custom-select label {
  display: block;
  margin-bottom: 0.4em;
  color: #333;
  font-weight: 500;
}

/* Стилизуем сам select */
.wc-custom-select select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  width: 100%;
  padding: 0.5em 2.5em 0.5em 1em;
  font-size: 1rem;
  color: #333;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 0.5em;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.8em center;
  background-size: 0.8em;

  cursor: pointer;
  transition: border-color 0.2s ease;
}

.wc-custom-select select:hover {
  border-color: #999;
}

.wc-custom-select select:focus {
  border-color: #0073aa;
  box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.3);
  outline: none;
}

/* На всякий случай стилизуем сам form внутри */
.wc-custom-select form {
  margin: 0;
  padding: 0;
}

/* WOOCOMMERCE */

/* CF 7 */

.contact-form-7 {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
  font-family: Arial, sans-serif;
  background: #f9f9f9;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.wpcf7-form .form-group label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

.wpcf7-form .form-submit p {
  text-align: center;
  position: relative;
}

.wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
}

.wpcf7-form-control-wrap {
  display: block;
  margin-bottom: 15px;
}

.wpcf7-form-control-wrap label {
  display: block;
  margin-bottom: 5px;
  font-weight: 600;
  color: #333;
}

.wpcf7-text,
.wpcf7-tel,
.wpcf7-textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
  box-sizing: border-box;
  transition: border 0.3s;
  font-family: inherit;
}

.wpcf7-text:focus,
.wpcf7-tel:focus,
.wpcf7-textarea:focus {
  border-color: #0073aa;
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.2);
}

.wpcf7-textarea {
  min-height: 120px;
  resize: vertical;
}

.wpcf7-submit {
  background: var(--wp--preset--color--bg-secondary);
  color: white;
  border: none;
  padding: 12px 20px;
  font-size: 16px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.3s;
}

.wpcf7-submit:hover {
  background: var(--wp--preset--color--hover);
}

.wpcf7-not-valid-tip {
  color: #dc3232;
  font-size: 14px;
  margin-top: 5px;
}

.wpcf7-response-output {
  padding: 10px;
  border-radius: 4px;
  margin: 20px 0 !important;
}

.wpcf7-mail-sent-ok {
  border: 1px solid #46b450;
  background: #f0fff2;
  color: #2e7d32;
}

.wpcf7-validation-errors,
.wpcf7-spam-blocked {
  border: 1px solid #dc3232;
  background: #fff0f0;
  color: #d63638;
}



/* CF 7 */
