/* WooCommerce Custom Styling */

/* Define Root Variables */
:root {
  --wc-primary: var(--wp--preset--color--fl-accent) !important; /* Main Color */
  --wc-secondary: var(
    --wp--preset--color--fl-accent-hover
  ) !important; /* Secondary Color */
  --wc-highlight: var(
    --wp--preset--color--fl-accent
  ) !important; /* Highlight Color */
  --wc-contrast: #ffffff !important; /* Contrast Color */
  --wc-link: var(--wp--preset--color--fl-accent) !important; /* Link Color */
  --wc-link-hover: var(
    --wp--preset--color--fl-accent-hover
  ) !important; /* Link Hover Color */
  --wc-border: var(
    --wp--preset--color--fl-accent-hover
  ) !important; /* Button Border Color */
  --wc-hover-border: var(
    --wp--preset--color--fl-accent
  ) !important; /* Border Hover Color */
  --wc-loading-bg: rgba(
    255,
    0,
    0,
    0.5
  ) !important; /* Loading Button Background */
  --wc-loading-border: rgba(255, 0, 0, 0.7) !important; /* Loading Border */
  --wc-message-bg: rgba(
    233,
    233,
    233,
    1
  ) !important; /* Payment Box Background */
  --wc-payment-box-bg: #ccc !important; /* Payment Box */
  --wc-payment-text: var(--fl-global-text) !important; /* Payment Text */
  --wc-text-dark: #000 !important; /* Dark Text */
  --wc-button-height: 40px !important; /* Uniform Button Height */
}

/* WooCommerce Buttons Styling */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #review_form #respond .form-submit input,
.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-info a.button,
.woocommerce .woocommerce-error a.button,
.wc-block-components-button,
.wp-block-button__link.add_to_cart_button.ajax_add_to_cart {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: bold;
  height: var(--wc-button-height);
  padding: 0 20px;
  min-width: 120px;
  background-color: var(--wc-primary);
  border: 2px solid var(--wc-border);
  color: var(--wc-contrast);
  border-radius: 5px;
  transition: all 0.3s ease-in-out;
}

/* Hover Effects for Buttons */
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #review_form #respond .form-submit input:hover,
.woocommerce .woocommerce-message a.button:hover,
.woocommerce .woocommerce-info a.button:hover,
.woocommerce .woocommerce-error a.button:hover,
.wc-block-components-button:hover,
.wp-block-button__link.add_to_cart_button.ajax_add_to_cart:hover {
  background-color: var(--wc-secondary);
  border-color: var(--wc-hover-border);
  color: var(--wc-contrast);
}

/* Loading Button Style */
.wc-block-components-button--loading {
  background-color: var(--wc-loading-bg);
  border-color: var(--wc-loading-border);
  color: var(--wc-contrast);
}

/* Remove WooCommerce Button Focus */
/* Убираем рамку фокуса для всех кнопок и интерактивных элементов */
.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus,
.woocommerce #respond input#submit:focus,
.woocommerce #review_form #respond .form-submit input:focus,
.woocommerce .woocommerce-message a.button:focus,
.woocommerce .woocommerce-info a.button:focus,
.woocommerce .woocommerce-error a.button:focus,
.wc-block-components-button:focus,
.wc-block-components-button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Product Pricing Color */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
  color: var(--wc-primary);
}

/* Messages and Notifications */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  border-top-color: var(--wc-primary);
}

.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
  color: var(--wc-primary);
}

/* Checkout and Payment Box Styling */
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
  background: var(--wc-message-bg);
  border-radius: 5px;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: 1em;
  margin: 1em 0;
  font-size: 0.92em;
  border-radius: 2px;
  line-height: 1.5;
  background-color: var(--wc-payment-box-bg);
  color: var(--wc-payment-text);
}

/* Remove Payment Box Extra Styling */
#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
  content: "";
  display: none !important;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
  color: var(--wc-text-dark);
}

/* WooCommerce Product Cards */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce .related ul.products li.product,
.woocommerce-page .related ul.products li.product,
.woocommerce .upsells.products ul.products li.product,
.woocommerce-page .upsells.products ul.products li.product,
.woocommerce[class*="columns-"] ul.products li.product,
.woocommerce-page[class*="columns-"] ul.products li.product {
  margin-right: 1.9%;
  margin-left: 1.9%;
  -webkit-box-shadow: 0px 0px 12px 0px rgba(66, 68, 90, 0.23);
  -moz-box-shadow: 0px 0px 12px 0px rgba(66, 68, 90, 0.23);
  box-shadow: 0px 0px 12px 0px rgba(66, 68, 90, 0.23);
  padding: 15px 5px !important;
  border-radius: 6px;
  transition: transform 0.3s ease-in-out;
}

/* Hover Effect on Products */
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.woocommerce .related ul.products li.product:hover,
.woocommerce-page .related ul.products li.product:hover,
.woocommerce .upsells.products ul.products li.product:hover,
.woocommerce-page .upsells.products ul.products li.product:hover,
.woocommerce[class*="columns-"] ul.products li.product:hover,
.woocommerce-page[class*="columns-"] ul.products li.product:hover {
  transform: scale(1.05);
}

/* Remove Image Borders */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product a:hover img {
  border: none !important;
}

/* Remove WooCommerce Sorting and Result Count */
.woocommerce-result-count,
.woocommerce-ordering {
  display: none !important;
}
body.has-blocks.woocommerce-cart .fl-post-content .alignwide {
  margin-left: 0% !important;
  margin-right: 0% !important;
}
body.has-blocks.woocommerce-cart .wc-block-components-product-metadata h1,
body.has-blocks.woocommerce-cart .wc-block-components-product-metadata h2,
body.has-blocks.woocommerce-cart .wc-block-components-product-metadata h3,
body.has-blocks.woocommerce-cart .wc-block-components-product-metadata h4,
body.has-blocks.woocommerce-cart .wc-block-components-product-metadata h5 {
  font-size: 14px !important;
  font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-weight: normal !important;
}

.paypal-button.paypal-button-number-1 {
  display: none !important;
}
#customer_details .col-1 {
  width: 100% !important;
  float: none !important;
}
#customer_details .col-2 {
  display: none !important;
}
.checkout .fl-full-width .container {
  padding-left: 0;
  padding-right: 0;
  width: 620px !important;
}

@media (max-width: 678px) {
  .checkout.fl-full-width .container {
    padding-left: 40px;
    padding-right: 40px;
    width: auto !important;
  }
}

.related.products {
  display: none !important;
}

/* Hide related products, tabs, product meta, stock info, breadcrumbs, product image and quantity */
.related.products,
.woocommerce-tabs.wc-tabs-wrapper,
.product_meta,
.stock,
/* .woocommerce-product-details__short-description, */
.woocommerce-breadcrumb,
/* .woocommerce-product-gallery, */
.quantity {
  display: none !important;
}

/* Center summary and set max-width */
.woocommerce div.product div.summary,
.woocommerce #content div.product div.summary,
.woocommerce-page div.product div.summary,
.woocommerce-page #content div.product div.summary {
  /* float: none !important;
  width: 100% !important;
  max-width: 500px !important;
  clear: both !important;
  margin: 0 auto 20px auto !important;
  padding: 0 20px !important; */
}

.woocommerce-store-notice,
p.demo_store {
  z-index: 99999999;
  font-size: 12px !important;
  padding: 10px 10px !important;
}
.home .woocommerce-store-notice,
.home p.demo_store,
.page-id-2290 .woocommerce-store-notice,
.page-id-2290 p.demo_store {
  display: none !important;
}

/* Remove default WooCommerce layout */
.woocommerce div.product {
  display: block !important;
}

/* Remove any potential margins/paddings */
.woocommerce div.product .summary {
  padding: 0 !important;
  margin: 0 !important;
}

/* Make Add to Cart button full width */
.woocommerce div.product form.cart .button,
.single_add_to_cart_button {
  width: 100% !important;
  margin: 0 !important;
  padding: 15px !important;
  text-transform: uppercase !important;
  font-size: 16px !important;
  letter-spacing: 1px !important;
  height: auto !important;
  min-height: 50px !important;
}

/* Adjust form layout */
.woocommerce div.product form.cart {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Style PayPal button */
.paypal-button-row,
.paypal-button-container,
.paypal-buttons-context-iframe {
  margin-top: 20px !important;
  margin-bottom: 15px !important;
  width: 100% !important;
}

.paypal-button {
  width: 100% !important;
  max-width: none !important;
}

.woocommerce div.product form.cart .button {
  vertical-align: middle;
  float: none !important;
  color: #fff !important;
}
.checkout-button.button.alt.wc-forward,
.woocommerce a.checkout-button {
  color: #fff !important;
}
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
  float: right;
  color: #fff !important;
  text-transform: uppercase !important;
}

/* Style checkout button */
.checkout-button.button.alt.wc-forward,
.woocommerce a.checkout-button {
  width: 100% !important;
  margin: 10px 0 !important;
  padding: 20px !important;
  text-transform: uppercase !important;
  font-size: 18px !important;
  letter-spacing: 1px !important;
  text-align: center !important;
  display: block !important;
  line-height: 1.4 !important;
  min-height: 60px !important;
}

.woocommerce-product-gallery {
  display: block !important;
}

.woocommerce-notices-wrapper {
  display: none !important;
}

/* Country Select Styling */
.select2-container--default .select2-selection--single {
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 5px !important;
  height: var(--wc-button-height) !important;
  padding: 0 12px !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  align-items: center !important;
}

/* Dropdown Arrow Styling */
.select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  height: 100% !important;
  right: 8px !important;
  top: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.select2-container--default
  .select2-selection--single
  .select2-selection__arrow
  b {
  border-color: #666 transparent transparent transparent !important;
  border-width: 6px 4px 0 4px !important;
}

/* Text Inside Select */
.select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  line-height: 30px !important;
  color: var(--wc-text-dark) !important;
  font-size: 14px !important;
  padding-left: 0 !important;
  padding-right: 20px !important;
}

/* Dropdown Panel Styling */
.select2-container--default .select2-dropdown {
  border: 1px solid #ddd !important;
  border-radius: 5px !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* Dropdown Options */
.select2-container--default .select2-results__option {
  padding: 8px 12px !important;
  font-size: 14px !important;
}

/* Hover State for Options */
.select2-container--default
  .select2-results__option--highlighted[aria-selected] {
  background-color: var(--wc-primary) !important;
  color: var(--wc-contrast) !important;
}

/* Focus State */
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--wc-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px var(--wc-primary) !important;
}

/* Search Field in Dropdown */
.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #ddd !important;
  border-radius: 4px !important;
  padding: 6px 10px !important;
}

.select2-container--default
  .select2-search--dropdown
  .select2-search__field:focus {
  border-color: var(--wc-primary) !important;
  outline: none !important;
}

.select2-container--default
  .select2-results__option--highlighted[aria-selected],
.select2-container--default
  .select2-results__option--highlighted[data-selected] {
  color: red !important;
}
.optional {
  display: none !important;
}
