@import 'auth/authentication.css';
@import 'cart/onepagecheckout.css';
@import 'cart/cart.css';
@import 'product/product.css';
@import 'input/input.css';
@import 'nav/nav.css';
@import 'product/blog.css';

body {
    --font-size-xs: .85rem;
    --font-size-sm: 1rem;
    --font-size-md: 1.25rem;
    --font-size-lg: 1.5rem;
    --font-size-xl: 2rem;
    --font-size-xxl: 2.25rem;

    --gap-xs: .125rem;
    --gap-sm: .25rem;
    --gap-md: .5rem;
    --gap-lg: 1rem;
    --gap-xl: 2rem;
    --gap-xxl: 4rem;

    --light-gray: lightgray;
    --primary-color: #007398;
    --primary-color-orange: #ff9000;

    --transition-all: all 0.2s ease;

    --text-primary-color: #212529;
    --text-secondary-color: #008080;

    --border-radius-sm: 0.25rem;
    --border-radius-md: 0.5rem;
    --border-radius-lg: 1rem;
    --border-radius-xl: 2rem;
}

@media (min-width: 1680px)  {

    #wrapper.l-wrapper {
        max-width: 1600px!important;
    }

    #footer.l-footer div.newsletter-container.container {
        max-width: 1600px!important;
    }

    #footer > div.footer-container > div.container {
        max-width: 1600px!important;
    }

    #content > div {
        max-width: 1600px!important;
    }
}


@media (min-width: 1200px) and (max-width: 1679px) {
    
    #wrapper.l-wrapper {
        max-width: 1340px !important;
    }

    #footer.l-footer div.newsletter-container.container {
        max-width: 1340px !important;
    }

    #footer > div.footer-container > div.container {
        max-width: 1340px !important;
    }

    #content > div {
        max-width: 1340px !important;
    }

    .container {
        max-width: 1340px !important;
    }
}


@media (min-width: 1680px)  {
    .page-content .kr_blog_post_area .blog_style_column {
        justify-content: flex-start;
    }

    .kr_blog_post_area #blog_post .img-responsive {
        max-height: 300px;
        object-fit: cover;
    }

    .kr_blog_post_area.single   #blog_post .img-responsive {
        max-height: 100%;
    }

}


@media (min-width: 1200px) and (max-width: 1679px) {
    .page-content .kr_blog_post_area .blog_style_column {
        justify-content: flex-start;
    }

    .kr_blog_post_area #blog_post .img-responsive {
        max-height: 500px !important;
        object-fit: cover;
        object-position: top;

        @media (max-width: 768px) {
            max-height: 300px !important;
        }
    }

    .kr_blog_post_area.single   #blog_post .img-responsive {
        max-height: 100%;
    }
}

#blog_post .img-fluid {
    max-height: 400px;
    border-radius: var(--border-radius-md) !important;
}

@media (max-width: 768px) {
    #blog_post .row {
        row-gap: var(--gap-xl) !important;
    }
}

/* blog content */
.blog-item-img {
  position: relative;
  overflow: hidden;
  height: 250px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); /* тень как у Bootstrap card */
  transition: box-shadow 0.3s ease;
  border-bottom: 1px solid rgba(211, 211, 211, 0.25); /* светлый разделитель */
}

/* Адаптивная высота */
@media (min-width: 768px) {
  .blog-item-img {
    height: 300px;
  }
}

@media (min-width: 1200px) {
  .blog-item-img {
    height: 350px;
  }
}

.blog-item-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  transition: transform 0.3s ease;
}

/* Наведение — тень + zoom */
.blog-item-img:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.blog-item-img:hover img {
  transform: scale(1.05);
}

/* contackt */

#contact .contact-data {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.contact-data .contact-data-item {
    border: 1px solid lightgray;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding: 1rem;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}


.payment-data .contact-data-item {
    border: 1px solid lightgray;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding: 1rem;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    flex-direction: column;
}

.payment-adress.title {
    border-bottom: 1px solid lightgray;
    margin-top: 15px;
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.payment-adress.title h3 {
    text-transform: uppercase;
}

.payment-adress.title p {
    font-size: 12px;
}


.data-container {
    margin-bottom: 30px;
}

.contact-form .form-group {
  margin-bottom: 1.5rem;
}

.form-control:not(.js-cart-line-product-quantity, .m4p-cart-packaging-select),
.contact-form .custom-select,
.contact-form .custom-file-input {
  border-radius: 0.5rem;
  font-size: 1rem;
  box-shadow: none;
  border: 1px solid #ced4da;
  height: 40px !important;
  position: relative;
}

.contact-form .form-contro input,
.contact-form .custom-select input,
.contact-form .custom-file-input input {
    height: 100%;
}

.contact-form textarea.form-control {
  resize: vertical;
  min-height: 120px;
}

.contact-form .btn-primary {
  background-color: #f57c00; /* яркий оранжевый или фирменный цвет */
  border: none;
  border-radius: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.contact-form .btn-primary:hover {
  background-color: #e65100;
}

.contact-form .btn-primary {
  background-color: #f57c00; /* яркий оранжевый или фирменный цвет */
  border: none;
  border-radius: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.contact-form .btn-primary:hover {
  background-color: #e65100;
}

main {
    overflow-x: visible;
}

.btn {
    font-size: var(--font-size-sm) !important;
    text-transform: uppercase;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-sm) !important;
}

.btn.btn-outline-secondary {
    border-radius: var(--border-radius-sm) !important;
}

.btn.btn-outline-secondary,
.btn.btn-primary {
    font-weight: 600 !important;
}

.contact-form {
  padding: 2rem;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.google-map-section {
  padding-left: 2rem;
}

.contact-data-item {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 1rem;
}

.contact-data-item svg {
  margin-right: 0.5rem;
  color: #f57c00;
}


.google-map-section iframe {
  width: 100%;
  height: 450px;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}


@media (max-width: 768px) {
    .contact-data .contact-data-item {
        width: 100%;
    }

    .google-map-section {
        padding: 0;
    }
}

.custom-page-link {
  display: flex;
  align-items: center;
  gap: 8px;
}

.custom-page-link .social-icon {
  flex-shrink: 0;
}

.featured-products .products-section-title,
.product-accessories .products-section-title {
    font-size: 24px;
}

body#category .block-categories .category-top-menu .category-sub-menu a.selected { 
    color: #1e88e5; font-weight: 600;
}

body#product .product-tabs ul.nav a.nav-link {
    font-size: 20px;
}

/* Product miniature */
.product-miniature .js-m4p_buyonrequest-miniature-btn,
.product-miniature .inform-when-available,
.product-miniature .add-to-cart-or-refresh {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    margin-top: .5rem;
    width: 100%;
}

.product-miniature .product-miniature-content-wrapper {
    display: flex;
    gap: .5rem;
    align-items: stretch;
    justify-content: space-between;
}

.product-miniature .product-miniature-content-wrapper p.product-title {
    margin: 0 !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    display: flex;
    height: fit-content !important;
}

.product-miniature .product-miniature-content-wrapper p.product-title a {
    line-height: 1.2 !important;
    text-align: left !important;
    max-height: 58px !important;
}


.product-miniature .product-price-and-shipping {
    flex-wrap: nowrap !important;
    flex-direction: column !important;
    gap: .5rem !important;
    justify-content: end;
}

.product-miniature .current-gross-price-wrapper {
    display: flex;
    flex-direction: column;
}

.product-miniature span,
.product-miniature p {
    line-height: 1.2 !important;
}

.product-miniature .product-miniature-content-wrapper .price-wrapper {
    display: flex;
    flex-direction: column;
}

.product-miniature .product-miniature-content-wrapper .net-price,
.product-miniature .product-miniature-content-wrapper .gross-price {
    font-size: 1rem;
    text-wrap: nowrap;;
}

.product-miniature .product-miniature-content-wrapper .main-price {
    color: #007398;
    font-weight: 700;
}

.product-miniature .product-miniature-content-wrapper .secondary-price {
    color: #6c757d !important;
}

.product-miniature .product-miniature-content-wrapper .regular-price,
.product-miniature .product-miniature-content-wrapper .tax-info {
    font-size: 14px;
    color: #6c757d;
    text-align: right;
}

.product-miniature .additional-info {
    margin-top: auto;
}

.product-miniature .additional-info span {
    font-size: 14px;
}

.product-miniature .unit-price-label-text,
.product-miniature .reference-label-text {
    font-weight: 700;
}

/* Product miniature quantity controls */
.product-miniature .qty-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    border: 1px solid #ececec;
    overflow: hidden;
    width: clamp(80px, 100%, 120px);
    border-radius: var(--border-radius-sm) !important;
}

.product-miniature .qty-container .btn-touchspin {
    background-color: #f8f9fa;
    border: none;
    padding: 0.5rem 0;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.2s ease;
    color: #495057;
    place-content: center;
    text-align: center;
    min-width: 1.25rem;
}

.product-miniature .qty-container .btn-touchspin:hover {
    background-color: #e9ecef;
}

.product-miniature .qty-container .btn-touchspin:active {
    background-color: #dee2e6;
}

.product-miniature .qty-container .js-decrease-qty {
    border-right: 1px solid #ced4da;
}

.product-miniature .qty-container .js-increase-qty {
    border-left: 1px solid #ced4da;
}

.product-miniature .qty-container input[type="number"] {
    flex: 1;
    border: none;
    text-align: center;
    font-size: 1rem;
    min-width: 0;
    height: 38px !important;
    -moz-appearance: textfield;
}

.product-miniature .qty-container input[type="number"]::-webkit-outer-spin-button,
.product-miniature .qty-container input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.product-miniature .qty-container input[type="number"]:focus {
    outline: none;
    background-color: #fff;
}

@media (max-width: 1200px) {
    .products .product-miniature {
        width: 80%;
        margin: unset;
    }
}

/* Responsive adjustments */

@media (max-width: 576px) {
    .container-sm, .container, .l-wrapper--boxed, .l-wrapper, main > .notifications-container {
        max-width: unset !important;
    }
}

@media (min-width: 576px) {
    .container-sm, .container, .l-wrapper--boxed, .l-wrapper, main > .notifications-container {
        max-width: unset !important;
    }
}

@media (min-width: 768px) {
    .container-sm, .container, .l-wrapper--boxed, .l-wrapper, main > .notifications-container {
        max-width: unset !important;
    }
}

/* Swiper carousels */
.swiper-wrapper:has(.product-miniature) {
    align-items: stretch;
}

.swiper-wrapper .product-miniature {
    height: auto;
}

.home-slider-section .slider-content {
    position: absolute;
    inset: 0 !important;
}

.home-slider-section .slider-title {
    display: none !important;
}

.home-slider-section .slider-content .slider-cta {
    position: absolute;
    inset: 0;
    display: block !important;
    opacity: 0;
}

/* Add to wishlist on the product miniature */
.product-miniature .add_to_wishlist.wishlist-product-miniature .favorite_border {
    top: 2px !important;
}

/* Add to cart button */
.product-miniature .add-to-cart-or-refresh .btn-add-to-cart {
    padding: .5rem;
    width: 100%;
    font-size: 14px !important;
}

.product-miniature .inform-when-available {
    height: 42px;
    padding: .5rem 0;
    text-transform: uppercase;
    font-size: 14px;
    place-content: center;
    font-weight: 600;
}



/* Layout */
.l-wrapper:not(#header .container):not(#header .l-wrapper):not(#header .l-wrapper--boxed):not(#header main > .notifications-container) {
    @media (min-width: 992px) and (max-width: 1199px) {
        max-width: 960px !important;
    }
}

body#product .product-actions .product-additional-info {
    margin-left: 0 !important;
}

body#product .js-mailalert.text-center {
    text-align: left !important;
}

/* Banners */
.crea-banners4-header + .products-wrapper {
    @media (max-width: 991px) {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    @media (max-width: 768px) {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}
.crea-banners4-header + .products-wrapper .banner .text {
    display: none !important;
}

.search-widget__btn {
    bottom: 0 !important;
}

#my-account .account-links {
    justify-content: start !important;
    width: 100% !important;
    padding: var(--gap-xl) 0 var(--gap-lg) 0 !important;

    @media (max-width: 576px) {
        padding: var(--gap-lg) 0 var(--gap-md) 0 !important;
    }
}

#my-account .account-links a span {
    border-radius: var(--border-radius-md) !important;
}

#my-account .account-links a#quotesLink,
#my-account .account-links a#ets_ws-retailer-link {
    display: none;
}

#my-account .page-footer--my-account {
    text-align: center;
}

#my-account .page-footer--my-account a {
    background: var(--primary-color) !important;
    color: #fff !important;
    border-radius: var(--border-radius-sm) !important;

    @media (max-width: 576px) {
        width: 100%;
        display: block;
    }
}

#header:has(+ #notifications > .alert) {
    margin-bottom: var(--gap-lg) !important;

    @media (max-width: 768px) {
        margin-bottom: var(--gap-md) !important;
    }
}

