/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* =========================================================
   GLOBAL / GENERAL
========================================================= */
html,
body {
  overflow-x: hidden;
}

/* =========================================================
   HEADER: Mobile dropdown menu positioning
========================================================= */
/*@media (max-width: 1024px) {
  .elementor-nav-menu--dropdown {
    width: 260px !important;
    left: 50% !important;
    top: 100% !important;
    position: absolute !important;
    z-index: 99999 !important;
    transform: translateX(-50%) !important;
  }

  .elementor-nav-menu--dropdown ul {
    text-align: center !important;
  }

  .elementor-nav-menu--dropdown a {
    display: block !important;
    width: 100% !important;
    padding: 12px 14px !important;
  }
}*/

/* =========================================================
   FIX: Specific SVG icon alignment (tablet range)
========================================================= */
@media (min-width: 500px) and (max-width: 768px) {
  .elementor-3591 .elementor-element.elementor-element-fd4c189 .elementor-icon svg,
  .elementor-3591 .elementor-element.elementor-element-3519bf6 .elementor-icon svg {
    transform: translateX(130px) !important;
  }
}

/* =========================================================
   WooCommerce: Breadcrumbs / Category titles
========================================================= */
.woocommerce-breadcrumb {
  text-shadow: 1px 1px 1px #000 !important;
}

.woocommerce .woocommerce-loop-category__title {
  text-shadow: 1px 1px 5px #000 !important;
}

/* =========================================================
   ACF: Cake flavors field
========================================================= */
.ukusi-torti {
  z-index: 1;
  color: #583227 !important;
  font-family: Montserrat, sans-serif;
}

.ukusi-torti h3 {
  font-size: 28px;
}

.ukusi-torti h2 {
  font-size: 36px;
}

.left-title {
  text-align: left;
  vertical-align: top;
}

.right-title {
  margin-top: 50px;
  text-align: right;
}

.left-text {
  display: inline-block;
  width: 60%;
}

.right-text {
  width: 60%;
  margin-right: 0;
  margin-left: auto;
  text-align: right;
}

.bridge-text {
  width: 100%;
  margin-top: 150px;
  font-weight: bold;
  text-align: center;
}

/* =========================================================
   FAQ Accordion
========================================================= */
.faq-accordion {
  width: 80%;
  margin: 0 auto;
}

.faq-item {
  overflow: hidden;
  border-radius: 10px;
}

.faq-question {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 10px;
  padding: 20px 10px 10px 30px !important;
  border: none;
  cursor: pointer;
  background-color: #ffd2c580 !important;
  color: #583227 !important;
  font-size: 20px !important;
  font-weight: 500;
  text-align: left;
  transition: background 0.3s ease;
}

.faq-text {
  flex: 1;
  min-width: 0 !important;
  overflow: visible !important;
  font-size: 20px;
  white-space: normal !important;
  text-overflow: unset !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.faq-question:hover {
  color: #c0a394 !important;
}

.faq-question::after {
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  margin-right: 30px;
  margin-left: auto;
  border-right: 3px solid #583227;
  border-bottom: 3px solid #583227;
  transform: rotate(45deg);
  transition: transform 0.3s ease;
}

.faq-answer {
  overflow: hidden;
  max-height: 0;
  padding-top: 5px;
  padding-left: 20px;
  background-color: #fffaf7;
  color: #583227 !important;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  transition: max-height 1.5s ease;
}

.faq-item.active .faq-answer {
  max-height: 500px;
}

.faq-item.active .faq-question::after {
  transform: rotate(-135deg);
}

@media (max-width: 1366px) {
  .faq-accordion .faq-text {
    font-size: 16px !important;
  }
}

/* =========================================================
   Buttons: Center SVG icon inside Elementor buttons
========================================================= */
.elementor-button-content-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}

.elementor-button-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.elementor-button-icon svg {
  width: auto;
  height: 1em;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

/* =========================================================
   Hide specific Elementor sections (category terms)
========================================================= */
body.term-rodjendanske-torte-za-odrasle .elementor-4454 .elementor-element-758edbd1 {
  display: none !important;
}

body.term-svecane-torte .elementor-4454 .elementor-element-b31194b {
  display: none !important;
}

/* =========================================================
   WooCommerce: Classic notices (message / error / info)
========================================================= */
.woocommerce .woocommerce-notices-wrapper,
.woocommerce-notices-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  position: relative;
  display: flex !important;
  align-items: center !important;
  width: min(1200px, calc(100% - 80px));
  margin: 16px auto !important;
  padding: 14px 18px 14px 48px;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  border-radius: 12px;
  background-color: #fffaf7;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.12);
  color: #583227;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 500;
}

.woocommerce-message {
  border: 2px solid #8fae1b;
}

.woocommerce-error {
  padding-left: 48px;
  border: 2px solid #e53935;
}

.woocommerce-info {
  border: 2px solid #2196f3;
}

.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
  position: relative !important;
  top: auto !important;
  left: 16px !important;
  margin: 14px !important;
  line-height: auto !important;
  transform: none !important;
}

.woocommerce-error li {
  margin: 0.35em 0;
}

.woocommerce-message a,
.woocommerce-error a,
.woocommerce-info a {
  color: #583227;
  text-decoration: underline;
}

.woocommerce-message a:hover,
.woocommerce-error a:hover,
.woocommerce-info a:hover {
  color: #de8165;
}

.woocommerce-message .button.wc-forward {
  margin-right: 20px !important;
  margin-left: auto !important;
  padding: 15px 30px;
  border: 1px solid #ffd2c5;
  border-radius: 6px;
  background-color: #ffd2c5;
  color: #de8165;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  white-space: nowrap;
}

.woocommerce-message .button.wc-forward:hover {
  border: 1px solid #de8165;
  background-color: #ffd2c5;
  color: #de8165;
}

.woocommerce .return-to-shop {
  display: flex;
  justify-content: center;
}

.woocommerce .wc-backward {
  padding: 15px 30px !important;
  border: 1px solid #ffd2c5 !important;
  border-radius: 6px !important;
  background-color: #ffd2c5 !important;
  color: #de8165 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  white-space: nowrap;
  transition: all 0.3s ease !important;
}

.woocommerce .wc-backward:hover {
  border: 1px solid #de8165 !important;
}

/* =========================================================
   Empty cart notice padding
========================================================= */
.woocommerce .cart-empty.woocommerce-info {
  position: relative;
  display: block;
  padding-left: 48px !important;
  line-height: 1.4;
}

.woocommerce .cart-empty.woocommerce-info::before {
  position: absolute !important;
  top: 50% !important;
  left: 18px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
}

/* =========================================================
   Responsive: Classic notices
========================================================= */
@media (max-width: 1366px) {
  .woocommerce-message,
  .woocommerce-error,
  .woocommerce-info {
    width: calc(100% - 48px);
    padding: 12px 16px 12px 46px;
    font-size: 15px;
  }
}

@media (max-width: 1024px) {
  .woocommerce-message,
  .woocommerce-error,
  .woocommerce-info {
    width: calc(100% - 32px);
    font-size: 14px;
  }

  .woocommerce-message .button.wc-forward {
    display: inline-block;
    float: none !important;
    margin-top: 10px;
  }
}

@media (max-width: 768px) {
  .woocommerce-message,
  .woocommerce-error,
  .woocommerce-info {
    width: calc(100% - 24px);
    padding: 12px 12px 12px 44px;
    border-radius: 10px;
    font-size: 14px;
  }

  .woocommerce-message .button.wc-forward,
  .woocommerce .wc-backward {
    display: block !important;
    width: 100% !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .woocommerce-message,
  .woocommerce-error,
  .woocommerce-info {
    width: calc(100% - 20px);
    font-size: 13px;
  }
}

/* =========================================================
   WooCommerce Blocks: Notice banners (checkout blocks)
========================================================= */
.wc-block-components-notice-banner {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px;
  width: min(1200px, calc(100% - 80px));
  max-width: 1200px;
  margin: 16px auto !important;
  padding: 14px 18px !important;
  box-sizing: border-box;
  border-radius: 12px !important;
  background: #fffaf7 !important;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.12) !important;
  color: #583227 !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 500 !important;
}

.wc-block-components-notice-banner svg {
  flex: 0 0 auto;
  margin-top: 2px;
}

.wc-block-components-notice-banner__content {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}

.wc-block-components-notice-banner.is-error {
  border: 2px solid #e53935 !important;
}

.wc-block-components-notice-banner.is-success {
  border: 2px solid #8fae1b !important;
}

.wc-block-components-notice-banner.is-info {
  border: 2px solid #2196f3 !important;
}

@media (max-width: 1024px) {
  .wc-block-components-notice-banner {
    width: calc(100% - 32px);
  }
}

@media (max-width: 768px) {
  .wc-block-components-notice-banner {
    width: calc(100% - 24px);
    gap: 10px;
    padding: 12px 12px !important;
  }
}

@media (max-width: 480px) {
  .wc-block-components-notice-banner {
    width: calc(100% - 20px);
    font-size: 13px !important;
  }
}

/* =========================================================
   Variations table (select fields + reset link)
========================================================= */
.variations {
  width: 100%;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid #de8165;
  border-radius: 8px;
  background-color: #fffaf7;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 600;
}

.variations th.label {
  width: 1%;
  padding-left: 0 !important;
  background-color: #fffaf7;
  text-align: left !important;
  white-space: nowrap;
}

.variations td.value {
  background-color: #fffaf7;
  text-align: center;
}

.variations select {
  width: 100%;
  max-width: 520px;
  padding: 10px 12px;
  border: 1px solid #de8165;
  border-radius: 6px;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 600;
}

.variations .reset_variations {
  display: inline-block;
  margin-top: 10px;
  padding: 12px 22px;
  border: 1px solid #ffd2c5;
  border-radius: 6px;
  background-color: #ffd2c5;
  color: #de8165;
  font-family: Montserrat, sans-serif;
  font-size: 16px !important;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.2s;
}

.variations .reset_variations:hover {
  border: 1px solid #de8165;
}

/* PPOM select fields */
[id^="ppom-box-"] select.form-select,
[id^="ppom-box-"] select.ppom-input {
  padding: 10px 12px !important;
  border: 1px solid #de8165 !important;
  border-radius: 6px !important;
  background: #fffaf7 !important;
  color: #583227 !important;
}

/* =========================================================
   PPOM totals table (Option Total / Total)
========================================================= */
[id^="ppom-box-"] table {
  width: 100%;
  margin-bottom: 0 !important;
  border: 1px solid #de8165 !important;
  border-spacing: 0 !important;
  border-collapse: collapse !important;
  box-shadow: none !important;
  color: #583227 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

[id^="ppom-box-"] table td,
[id^="ppom-box-"] table th {
  padding: 10px 12px;
  border: 1px solid #de8165 !important;
  background: #fffaf7 !important;
  box-shadow: none !important;
  color: #583227 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-align: center;
}

[id^="ppom-box-"] table tr {
  border: 0 !important;
}

[id^="ppom-box-"],
[id^="ppom-box-"] label,
[id^="ppom-box-"] select,
[id^="ppom-box-"] option,
[id^="ppom-box-"] table,
[id^="ppom-box-"] td,
[id^="ppom-box-"] th {
  color: #583227 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

/* PPOM tooltip icon */
span.ppom-tooltip {
  margin-left: 6px;
  cursor: help;
}

span.ppom-tooltip .ppom-tooltip-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 15px !important;
  height: 15px !important;
  border-radius: 50% !important;
  background-color: #583227 !important;
  vertical-align: middle;
}

span.ppom-tooltip .ppom-tooltip-icon::after {
  content: "?" !important;
  color: #fff !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

/* PPOM tooltip popup style */
body [class*="tooltip"] {
  padding: 6px 6px !important;
  border-color: #583227 !important;
  border-radius: 6px !important;
  background: #fffaf7 !important;
}

/* Tooltip text */
body [class*="tooltip"] * {
  color: #583227 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

/* =========================================================
   Add to cart: Center button (Elementor widget)
========================================================= */
.elementor-widget-woocommerce-product-add-to-cart
  form.variations_form.cart
  .woocommerce-variation-add-to-cart.variations_button {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}

.elementor-widget-woocommerce-product-add-to-cart
  form.variations_form.cart
  .woocommerce-variation-add-to-cart.variations_button
  > button.single_add_to_cart_button {
  align-self: center !important;
  margin-inline-start: auto !important;
  margin-inline-end: auto !important;
}

/* Button colors */
.woocommerce button.single_add_to_cart_button,
.woocommerce a.button.add_to_cart_button {
  border: 1px solid #ffd2c5;
  background-color: #ffd2c5 !important;
  font-weight: 600;
  text-transform: uppercase;
}

.woocommerce button.single_add_to_cart_button:hover,
.woocommerce a.button.add_to_cart_button:hover {
  border: 1px solid #de8165;
  color: #de8165 !important;
}

/* =========================================================
   Single product: PPOM tiers + flavors UI
========================================================= */
.woocommerce form .ppom-field-wrapper,
.woocommerce form .ppom-field-wrapper label,
.woocommerce form .flavor-pill span,
.woocommerce form .sprat-option span {
  font-family: Montserrat, sans-serif !important;
  font-weight: 600 !important;
  text-align: center !important;
}

.custom-spratovi-container {
  justify-content: center !important;
  width: 100%;
  margin: 0 auto 14px !important;
  gap: 14px !important;
}

.sprat-option img {
  width: 82px !important;
  border: 1px solid #de8165 !important;
  border-radius: 12px;
  transition: all 0.15s ease;
}

.sprat-option:hover img {
  transform: scale(1.03);
}

.sprat-option.selected img {
  box-shadow: 0 0 0 2px rgba(222, 129, 101, 0.2);
  transform: scale(1.04);
}

.sprat-option span {
  font-size: 14px !important;
}

.ppom-ukusi-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 980px;
  margin: 0 auto 12px;
}

.ppom-field-wrapper[data-data_name^="ukus_"] {
  box-sizing: border-box;
  padding: 10px 12px !important;
  border: 1px solid #de8165 !important;
  border-radius: 12px;
}

.ppom-field-wrapper[data-data_name^="ukus_"] label {
  display: block;
  width: 100%;
  margin: 0 0 8px !important;
  font-size: 14px !important;
}

/* Better label + tooltip spacing */
.ppom-field-wrapper[data-data_name^="ukus_"] .form-group > label.form-control-label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 4px 6px !important;
  text-align: center !important;
  line-height: 1.25 !important;
  white-space: normal !important;
}

.ppom-field-wrapper[data-data_name^="ukus_"] .form-group > label .ppom-tooltip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 4px !important;
  vertical-align: middle !important;
  flex: 0 0 auto !important;
}

.ppom-field-wrapper[data_data_name^="ukus_"] .form-group > label .ppom-tooltip .ppom-tooltip-icon,
.ppom-field-wrapper[data-data_name^="ukus_"] .form-group > label .ppom-tooltip .ppom-tooltip-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  vertical-align: middle !important;
}

.ppom-field-wrapper[data-data_name^="ukus_"] .flavor-pills {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  overflow-x: auto !important;
  margin-top: 6px !important;
  padding: 4px 2px !important;
  -webkit-overflow-scrolling: touch;
}

.ppom-field-wrapper[data-data_name^="ukus_"] .flavor-pill {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  cursor: pointer;
  user-select: none;
  width: 140px !important;
  min-width: 140px !important;
  max-width: 140px !important;
}

.ppom-field-wrapper[data-data_name^="ukus_"] .flavor-pill img {
  display: block !important;
  width: 140px !important;
  min-width: 140px !important;
  max-width: 140px !important;
  height: 140px !important;
  min-height: 140px !important;
  max-height: 140px !important;
  border: 1px solid #de8165 !important;
  border-radius: 12px;
  background: #f2f2f2;
  object-fit: cover !important;
  object-position: center center !important;
  transition: all 0.15s ease;
}

.ppom-field-wrapper[data-data_name^="ukus_"] .flavor-pill:hover img {
  transform: scale(1.03);
}

.ppom-field-wrapper[data-data_name^="ukus_"] .flavor-pill.selected img {
  box-shadow: 0 0 0 2px rgba(222, 129, 101, 0.2);
  transform: scale(1.04);
}

.ppom-field-wrapper[data-data_name^="ukus_"] .flavor-pill span {
  display: block;
  width: 100%;
  font-size: 14px !important;
  line-height: 1.2;
  text-align: center;
}

/* Tablet tooltip fix */
@media (min-width: 768px) and (max-width: 1024px) {
  .ppom-field-wrapper[data-data_name^="ukus_"] .form-group > label.form-control-label {
    gap: 4px 6px !important;
  }

  .ppom-field-wrapper[data-data_name^="ukus_"] .form-group > label .ppom-tooltip {
    transform: translateY(1px);
  }
}

@media (max-width: 768px) {
  .ppom-ukusi-grid {
    grid-template-columns: 1fr;
  }

  .ppom-field-wrapper[data-data_name^="ukus_"] .flavor-pill {
    width: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;
  }

  .ppom-field-wrapper[data-data_name^="ukus_"] .flavor-pill img {
    width: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;
    height: 110px !important;
    min-height: 110px !important;
    max-height: 110px !important;
  }

  .ppom-field-wrapper[data-data_name^="ukus_"] .flavor-pill span {
    font-size: 13px !important;
  }
}

[id^="ppom-box-"] select:focus,
[id^="ppom-box-"] select:focus-visible,
.variations select:focus,
.variations select:focus-visible {
  border-color: #de8165 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(222, 129, 101, 0.25) !important;
}

/* Center product categories inside this specific widget only */
.elementor-4454 .elementor-element-59c3b6cd ul.products.elementor-grid.columns-4 {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 20px 20px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.elementor-4454 .elementor-element-59c3b6cd ul.products.elementor-grid.columns-4 > li.product-category {
  flex: 0 1 260px !important;
  max-width: 260px !important;
}

/* =========================================================
   FINAL OVERRIDE: Notices width + icon positioning
   (prevents theme/WC overrides on :before and width)
========================================================= */
.woocommerce .woocommerce-notices-wrapper,
.woocommerce-notices-wrapper {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce .woocommerce-notices-wrapper > .woocommerce-message,
.woocommerce .woocommerce-notices-wrapper > .woocommerce-error,
.woocommerce .woocommerce-notices-wrapper > .woocommerce-info {
  position: relative !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 16px auto !important;
  padding: 14px 18px 14px 56px !important;
  box-sizing: border-box !important;
}

.woocommerce .woocommerce-notices-wrapper > .woocommerce-message::before,
.woocommerce .woocommerce-notices-wrapper > .woocommerce-error::before,
.woocommerce .woocommerce-notices-wrapper > .woocommerce-info::before {
  position: absolute !important;
  top: 50% !important;
  left: 20px !important;
  margin: 0 !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
}

.woocommerce .woocommerce-notices-wrapper > .woocommerce-error {
  padding-left: 56px !important;
}

.woocommerce .woocommerce-notices-wrapper > .woocommerce-error li {
  margin: 0.35em 0 !important;
}

@media (max-width: 1024px) {
  .woocommerce .woocommerce-notices-wrapper > .woocommerce-message,
  .woocommerce .woocommerce-notices-wrapper > .woocommerce-error,
  .woocommerce .woocommerce-notices-wrapper > .woocommerce-info {
    max-width: calc(100% - 32px) !important;
    margin: 12px 16px !important;
  }
}

@media (max-width: 768px) {
  .woocommerce .woocommerce-notices-wrapper {
    padding: 0 12px !important;
  }

  .woocommerce .woocommerce-notices-wrapper > .woocommerce-message,
  .woocommerce .woocommerce-notices-wrapper > .woocommerce-error,
  .woocommerce .woocommerce-notices-wrapper > .woocommerce-info {
    max-width: 100% !important;
    margin: 12px 0 !important;
    padding: 12px 12px 12px 48px !important;
  }

  .woocommerce .woocommerce-notices-wrapper > .woocommerce-message::before,
  .woocommerce .woocommerce-notices-wrapper > .woocommerce-error::before,
  .woocommerce .woocommerce-notices-wrapper > .woocommerce-info::before {
    left: 16px !important;
  }
}

/* =========================================================
   WooCommerce: Shipping calculator ("Change address")
========================================================= */
.woocommerce form.woocommerce-shipping-calculator,
.woocommerce .woocommerce-shipping-calculator {
  color: #583227 !important;
  font-family: Montserrat, sans-serif !important;
}

.woocommerce .shipping-calculator-form {
  box-sizing: border-box;
  padding: 18px;
  border: 1px solid #de8165;
  border-radius: 18px;
  background: #fffaf7;
}

.woocommerce .shipping-calculator-form .form-row {
  margin: 0 0 14px !important;
}

.woocommerce .shipping-calculator-form .form-row label {
  display: block;
  margin: 0 0 6px;
  opacity: 0.85;
  font-size: 13px;
  font-weight: 600;
}

.elementor-widget-woocommerce-checkout-page .woocommerce-checkout .form-row-first,
.elementor-widget-woocommerce-checkout-page .woocommerce-checkout .form-row-last {
  width: 100% !important;
}

.woocommerce .shipping-calculator-form input[type="text"],
.woocommerce .shipping-calculator-form input[type="tel"],
.woocommerce .shipping-calculator-form input[type="email"],
.woocommerce .shipping-calculator-form input[type="number"],
.woocommerce .shipping-calculator-form select {
  width: 100% !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
  border: 1px solid #de8165 !important;
  border-radius: 10px !important;
  background: #fffaf7 !important;
  color: #583227 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

.woocommerce .shipping-calculator-form input:focus,
.woocommerce .shipping-calculator-form select:focus,
.woocommerce .shipping-calculator-form input:focus-visible,
.woocommerce .shipping-calculator-form select:focus-visible {
  border-color: #de8165 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(222, 129, 101, 0.25) !important;
}

.woocommerce .shipping-calculator-form button,
.woocommerce .shipping-calculator-form .button {
  width: 100%;
  padding: 14px 16px !important;
  border: 1px solid #ffd2c5 !important;
  border-radius: 10px !important;
  background-color: #ffd2c5 !important;
  color: #de8165 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: all 0.2s ease !important;
}

.woocommerce .shipping-calculator-form button:hover,
.woocommerce .shipping-calculator-form .button:hover {
  border-color: #de8165 !important;
}

@media (max-width: 768px) {
  .woocommerce .shipping-calculator-form {
    padding: 14px;
    border-radius: 16px;
  }

  .woocommerce .shipping-calculator-form input,
  .woocommerce .shipping-calculator-form select {
    font-size: 15px !important;
  }
}

/* =========================================================
   Select2 (WooCommerce country/state): match theme style
========================================================= */
.woocommerce .select2-container .select2-selection--single {
  display: flex !important;
  align-items: center !important;
  height: auto !important;
  min-height: 44px !important;
  border: 1px solid #de8165 !important;
  border-radius: 10px !important;
  background: #fffaf7 !important;
  color: #583227 !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 600 !important;
}

.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
  padding-right: 40px !important;
  padding-left: 12px !important;
  color: #583227 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}

.woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
  right: 10px !important;
  height: 100% !important;
}

.woocommerce .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #de8165 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(222, 129, 101, 0.25) !important;
}

.select2-container--open .select2-dropdown {
  overflow: hidden !important;
  border: 1px solid #de8165 !important;
  border-radius: 10px !important;
  background: #fffaf7 !important;
  font-family: Montserrat, sans-serif !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  padding: 10px 12px !important;
  border: 1px solid #de8165 !important;
  border-radius: 10px !important;
  background: #fffaf7 !important;
  color: #583227 !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 600 !important;
  outline: none !important;
}

.select2-container--default .select2-results__option {
  color: #583227 !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 600 !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background: #ffd2c5 !important;
  color: #583227 !important;
}

.select2-container--default .select2-results__option--selected {
  background: rgba(222, 129, 101, 0.12) !important;
  color: #583227 !important;
}

/* =========================================================
   Cart / Checkout: Thumbnail size fix
========================================================= */
.woocommerce-cart table.cart td.product-thumbnail img,
.woocommerce-checkout table.cart td.product-thumbnail img,
.woocommerce-cart table.shop_table td.product-thumbnail img,
.woocommerce-checkout table.shop_table td.product-thumbnail img {
  width: 70px !important;
  height: 70px !important;
  border: 1px solid #de8165 !important;
  border-radius: 10px !important;
  object-fit: cover !important;
}

.woocommerce-cart table.cart td.product-thumbnail,
.woocommerce-checkout table.cart td.product-thumbnail {
  width: 90px !important;
}

/* =========================================================
   Cart (mobile): show thumbnail
========================================================= */
@media (max-width: 768px) {
  .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail {
    display: block !important;
    width: 100% !important;
    padding: 10px 0 6px !important;
    text-align: center !important;
  }

  .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-thumbnail img {
    display: inline-block !important;
    width: 96px !important;
    height: 96px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
  }

  .elementor-widget-woocommerce-cart .woocommerce table.cart td.product-remove {
    display: block !important;
    width: 100% !important;
    padding: 0 0 6px !important;
    text-align: right !important;
  }
}
/*=========================================================
   Cart mobile padding fix
  ========================================================*/

/*@media (max-width: 768px) {
  .woocommerce-cart .elementor-widget-woocommerce-cart .e-cart-section {
    padding: 10px !important;
  }
}*/

/* =========================================================
   Checkout: Payment methods (radio) styled like shipping
========================================================= */
.woocommerce-checkout #payment ul.wc_payment_methods {
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method {
  margin: 10px 0;
  padding: 0;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  color: #1a1a1a;
  font-family: Montserrat, sans-serif !important;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  box-sizing: border-box;
  border: 2px solid #de8165;
  border-radius: 50%;
  background: transparent;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:checked + label::before {
  background: #de8165;
  box-shadow: inset 0 0 0 4px #fff;
}

.woocommerce-checkout #payment div.payment_box {
  margin: 10px 0 0 0;
  padding: 14px 16px;
  border: 2px solid #e6b3a7;
  border-radius: 14px;
  background: #fffaf7;
  color: #583227;
  font-family: Montserrat, sans-serif !important;
  font-size: 14px;
  line-height: 1.4;
}

.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}

/* Terms checkbox: only #terms (does not affect other checkboxes) */
.woocommerce form .woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 12px 0 16px;
}

.woocommerce form .woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox span {
  line-height: 1.4;
}

.woocommerce form .woocommerce-terms-and-conditions-wrapper input#terms[type="checkbox"] {
  position: relative;
  flex: 0 0 18px;
  width: 18px;
  min-width: 18px;
  height: 18px;
  margin: 2px 0 0;
  border: 2px solid #de8165;
  border-radius: 50%;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.woocommerce form .woocommerce-terms-and-conditions-wrapper input#terms[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #de8165;
  transform: translate(-50%, -50%);
}

.woocommerce form .woocommerce-terms-and-conditions-wrapper a {
  position: relative;
  z-index: 2;
}

.woocommerce-terms-and-conditions-wrapper abbr.required {
  display: none !important;
}

/* =========================================================
   Thank You page styling (typography + colors only)
========================================================= */
body.woocommerce-order-received,
body.woocommerce-order-pay,
body.woocommerce-order-failed {
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

body.woocommerce-order-received .woocommerce,
body.woocommerce-order-pay .woocommerce,
body.woocommerce-order-failed .woocommerce {
  color: #de8165;
  font-size: 16px;
  line-height: 1.6;
}

body.woocommerce-order-received .woocommerce h1,
body.woocommerce-order-received .woocommerce h2,
body.woocommerce-order-received .woocommerce h3,
body.woocommerce-order-received .woocommerce h4,
body.woocommerce-order-pay .woocommerce h1,
body.woocommerce-order-pay .woocommerce h2,
body.woocommerce-order-pay .woocommerce h3,
body.woocommerce-order-pay .woocommerce h4,
body.woocommerce-order-failed .woocommerce h1,
body.woocommerce-order-failed .woocommerce h2,
body.woocommerce-order-failed .woocommerce h3,
body.woocommerce-order-failed .woocommerce h4,
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-pay .woocommerce-order-details__title,
body.woocommerce-order-pay .woocommerce-column__title,
body.woocommerce-order-failed .woocommerce-order-details__title,
body.woocommerce-order-failed .woocommerce-column__title {
  color: #583227;
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: 0;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-pay .woocommerce-order-details__title,
body.woocommerce-order-pay .woocommerce-column__title,
body.woocommerce-order-failed .woocommerce-order-details__title,
body.woocommerce-order-failed .woocommerce-column__title {
  margin-bottom: 14px;
  font-size: 34px;
  line-height: 1.15;
}

body.woocommerce-order-received .woocommerce p,
body.woocommerce-order-pay .woocommerce p,
body.woocommerce-order-failed .woocommerce p,
body.woocommerce-order-received .woocommerce small,
body.woocommerce-order-pay .woocommerce small,
body.woocommerce-order-failed .woocommerce small {
  font-size: 16px;
}

body.woocommerce-order-received .woocommerce a,
body.woocommerce-order-pay .woocommerce a,
body.woocommerce-order-failed .woocommerce a {
  color: #de8165;
  font-weight: 700;
  text-decoration: none;
}

body.woocommerce-order-received .woocommerce a:hover,
body.woocommerce-order-pay .woocommerce a:hover,
body.woocommerce-order-failed .woocommerce a:hover {
  text-decoration: underline;
}

body.woocommerce-order-received .woocommerce-notice,
body.woocommerce-order-received .woocommerce-notice--success,
body.woocommerce-order-received .woocommerce-notice--error,
body.woocommerce-order-received .woocommerce-notice--info,
body.woocommerce-order-pay .woocommerce-notice,
body.woocommerce-order-failed .woocommerce-notice {
  padding: 14px 18px;
  border-radius: 30px;
  color: #583227;
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
}

body.woocommerce-order-received ul.woocommerce-order-overview,
body.woocommerce-order-pay ul.woocommerce-order-overview,
body.woocommerce-order-failed ul.woocommerce-order-overview {
  margin-top: 14px;
  margin-bottom: 14px;
}

body.woocommerce-order-received ul.woocommerce-order-overview li,
body.woocommerce-order-pay ul.woocommerce-order-overview li,
body.woocommerce-order-failed ul.woocommerce-order-overview li {
  color: #583227;
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 14px;
}

body.woocommerce-order-received ul.woocommerce-order-overview li strong,
body.woocommerce-order-pay ul.woocommerce-order-overview li strong,
body.woocommerce-order-failed ul.woocommerce-order-overview li strong {
  color: #583227;
  font-weight: 800;
}

body.woocommerce-order-received table.shop_table,
body.woocommerce-order-pay table.shop_table,
body.woocommerce-order-failed table.shop_table,
body.woocommerce-order-received table.woocommerce-table,
body.woocommerce-order-pay table.woocommerce-table,
body.woocommerce-order-failed table.woocommerce-table {
  color: #583227;
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 15px;
}

body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td,
body.woocommerce-order-pay table.shop_table th,
body.woocommerce-order-pay table.shop_table td,
body.woocommerce-order-failed table.shop_table th,
body.woocommerce-order-failed table.shop_table td {
  padding: 14px 16px;
}

body.woocommerce-order-received .product-name a,
body.woocommerce-order-pay .product-name a,
body.woocommerce-order-failed .product-name a {
  color: #de8165;
  font-weight: 800;
}

body.woocommerce-order-received .amount,
body.woocommerce-order-pay .amount,
body.woocommerce-order-failed .amount,
body.woocommerce-order-received td.product-total,
body.woocommerce-order-pay td.product-total,
body.woocommerce-order-failed td.product-total {
  color: #583227;
  font-weight: 800;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column,
body.woocommerce-order-pay .woocommerce-customer-details .woocommerce-column,
body.woocommerce-order-failed .woocommerce-customer-details .woocommerce-column {
  box-sizing: border-box !important;
  padding: 18px 18px !important;
  border: 1px solid #de8165 !important;
  border-radius: 30px !important;
  background: #fffaf7 !important;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.12) !important;
}

body.woocommerce-order-received .woocommerce-customer-details address,
body.woocommerce-order-pay .woocommerce-customer-details address,
body.woocommerce-order-failed .woocommerce-customer-details address {
  margin: 5 !important;
  padding: 5 !important;
  color: #583227;
  font-size: 15px;
  line-height: 1.7;
}

@media (max-width: 520px) {
  body.woocommerce-order-received .woocommerce,
  body.woocommerce-order-pay .woocommerce,
  body.woocommerce-order-failed .woocommerce {
    font-size: 15px;
  }

  body.woocommerce-order-received .woocommerce-order-details__title,
  body.woocommerce-order-received .woocommerce-column__title,
  body.woocommerce-order-pay .woocommerce-order-details__title,
  body.woocommerce-order-pay .woocommerce-column__title,
  body.woocommerce-order-failed .woocommerce-order-details__title,
  body.woocommerce-order-failed .woocommerce-column__title {
    font-size: 28px;
  }

  body.woocommerce-order-received table.shop_table th,
  body.woocommerce-order-received table.shop_table td,
  body.woocommerce-order-pay table.shop_table th,
  body.woocommerce-order-pay table.shop_table td,
  body.woocommerce-order-failed table.shop_table th,
  body.woocommerce-order-failed table.shop_table td {
    padding: 12px 12px;
  }
}

/* =========================================================
   Thank You: Force table text colors (override Elementor grey)
========================================================= */
body.woocommerce-order-received .woocommerce .shop_table th,
body.woocommerce-order-received .woocommerce .shop_table td,
body.woocommerce-order-received .woocommerce .shop_table tfoot th,
body.woocommerce-order-received .woocommerce .shop_table tfoot td,
body.woocommerce-order-pay .woocommerce .shop_table th,
body.woocommerce-order-pay .woocommerce .shop_table td,
body.woocommerce-order-failed .woocommerce .shop_table th,
body.woocommerce-order-failed .woocommerce .shop_table td {
  color: #583227 !important;
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}

body.woocommerce-order-received .woocommerce .amount,
body.woocommerce-order-pay .woocommerce .amount,
body.woocommerce-order-failed .woocommerce .amount {
  color: #583227 !important;
  font-weight: 800 !important;
}

body.woocommerce-order-received .woocommerce .shop_table tfoot tr:last-child th,
body.woocommerce-order-received .woocommerce .shop_table tfoot tr:last-child td {
  color: #583227 !important;
}

/* =========================================================
   FIX: Checkout review shipping row (force options full width)
   - TH column steals width, TD becomes narrow -> vertical text
========================================================= */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals {
  display: block !important;
  width: 100% !important;
}

/* Hide the TH ("Shipping 1") so it does not reserve width */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > th {
  display: none !important;
}

/* Make TD a full-width block */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > td {
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
}

/* Make the shipping methods list full width (neutralize Elementor `.flex`) */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > td ul#shipping_method,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > td ul.woocommerce-shipping-methods,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > td ul#shipping_method.flex,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > td ul.woocommerce-shipping-methods.flex {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Make each item and label full-width cards */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > td ul#shipping_method > li,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > td ul.woocommerce-shipping-methods > li {
  width: 100% !important;
  margin: 0 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > td ul#shipping_method > li > label,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > td ul.woocommerce-shipping-methods > li > label {
  width: 100% !important;
  max-width: none !important;
}

/* =========================================================
   CHECKOUT ORDER REVIEW (FINAL CLEAN VERSION)
   - 80/20 columns
   - Shipping stacked full-width cards
   - No duplicate overrides
========================================================= */

/* 80 / 20 layout */
.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table {
  width: 100% !important;
  table-layout: fixed !important;
}

.woocommerce-checkout #order_review th.product-name,
.woocommerce-checkout #order_review td.product-name {
  width: 80% !important;
  padding-right: 12px !important;
  overflow-wrap: anywhere !important;
}

.woocommerce-checkout #order_review th.product-total,
.woocommerce-checkout #order_review td.product-total {
  width: 20% !important;
  text-align: right !important;
  white-space: nowrap !important;
}

/* Slightly compact typography */
.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td {
  font-size: 15px !important;
  line-height: 1.35 !important;
}

.woocommerce-checkout #order_review td.product-name {
  font-size: 14px !important;
}

/* =========================================================
   SHIPPING ROW – break out of table layout (FULL WIDTH)
========================================================= */
.woocommerce-checkout #order_review tfoot tr.woocommerce-shipping-totals {
  display: block !important;
  width: 100% !important;
}

/* Hide default TH ("Shipping 1") */
.woocommerce-checkout #order_review tfoot tr.woocommerce-shipping-totals > th {
  display: none !important;
}

/* Make TD full width */
.woocommerce-checkout #order_review tfoot tr.woocommerce-shipping-totals > td {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   SHIPPING CARDS (ONLY ACTIVE VERSION)
========================================================= */
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Each option full width */
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods > li {
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Hide native radio */
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Card label */
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods label {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  padding: 12px 14px 12px 40px !important;
  box-sizing: border-box !important;
  border: 1px solid #de8165 !important;
  border-radius: 14px !important;
  background: #fffaf7 !important;
  color: #3b2a24 !important;
  cursor: pointer !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

/* Radio dot */
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods label::before {
  content: "";
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  width: 14px;
  height: 14px;
  border: 2px solid #de8165;
  border-radius: 50%;
}

/* Checked state */
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods input[type="radio"]:checked + label::before {
  background: #de8165;
  box-shadow: inset 0 0 0 3px #fffaf7;
}

.woocommerce-checkout #order_review ul.woocommerce-shipping-methods input[type="radio"]:checked + label {
  box-shadow: 0 0 0 2px rgba(222, 129, 101, 0.16) !important;
}

/* Price inline */
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods label .woocommerce-Price-amount {
  white-space: nowrap !important;
}

/* Mobile */
@media (max-width: 768px) {
  .woocommerce-checkout #order_review th,
  .woocommerce-checkout #order_review td {
    font-size: 14px !important;
  }

  .woocommerce-checkout #order_review ul.woocommerce-shipping-methods label {
    padding: 11px 12px 11px 38px !important;
    font-size: 14px !important;
  }

  .woocommerce-checkout #order_review ul.woocommerce-shipping-methods label::before {
    top: 13px !important;
    left: 13px !important;
  }
}

/* Calmer product meta */
.woocommerce-checkout #order_review .product-name {
  font-size: 14px !important;
}

.woocommerce-checkout #order_review .product-name *:not(strong):not(.woocommerce-Price-amount) {
  opacity: 0.85 !important;
  font-size: 13px !important;
}

/* =========================================================
   SHIPPING ZONE COLORS
========================================================= */

/* Zone 1 */
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods input[value*="sc_zone_zone_1"] + label {
  color: #ffbe42 !important;
}

/* Zone 2 */
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods input[value*="sc_zone_zone_2"] + label {
  color: #96c934 !important;
}

/* Zone 3 */
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods input[value*="sc_zone_zone_3"] + label {
  color: #2eb3ad !important;
}

/* Zone 4 */
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods input[value*="sc_zone_zone_4"] + label {
  color: #713ed6 !important;
}

/* Zone 5 */
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods input[value*="sc_zone_zone_5"] + label {
  color: #d65f3e !important;
}

/* Local pickup – neutral */
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods input[value*="local_pickup"] + label {
  color: #583227 !important;
}

/* Mobile table padding */
@media (max-width: 768px) {
  #order_review > table {
    padding-right: 10px !important;
  }
}

/* =========================================================
   CHECKOUT: Pickup fields styling (Local pickup)
========================================================= */
.woocommerce-checkout #pickup-fields {
  box-sizing: border-box !important;
  margin-top: 12px !important;
  padding: 18px !important;
  border: 1px solid #de8165 !important;
  border-radius: 18px !important;
  background: #fffaf7 !important;
  color: #583227 !important;
  font-family: Montserrat, sans-serif !important;
}

.woocommerce-checkout #pickup-fields .pickup-title {
  margin: 0 0 12px !important;
  color: #583227 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

.woocommerce-checkout #pickup-fields label {
  display: block !important;
  margin: 0 0 6px !important;
  opacity: 0.85 !important;
  color: #583227 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.woocommerce-checkout #pickup-fields input[type="date"],
.woocommerce-checkout #pickup-fields input[type="time"],
.woocommerce-checkout #pickup-fields textarea {
  width: 100% !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
  border: 1px solid #de8165 !important;
  border-radius: 10px !important;
  background: #fffaf7 !important;
  color: #583227 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.woocommerce-checkout #pickup-fields textarea {
  min-height: 90px !important;
  resize: vertical !important;
}

.woocommerce-checkout #pickup-fields input:focus,
.woocommerce-checkout #pickup-fields textarea:focus,
.woocommerce-checkout #pickup-fields input:focus-visible,
.woocommerce-checkout #pickup-fields textarea:focus-visible {
  border-color: #de8165 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(222, 129, 101, 0.25) !important;
}

/* Pickup grid responsive */
.woocommerce-checkout #pickup-fields .pickup-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
}

@media (max-width: 768px) {
  .woocommerce-checkout #pickup-fields {
    padding: 14px !important;
    border-radius: 16px !important;
  }

  .woocommerce-checkout #pickup-fields .pickup-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   Slatko Carstvo: Category products widget
========================================================= */
.woocommerce.widget_product_categories {
  color: #583227;
  font-family: "Montserrat", sans-serif;
}

/* Heading */
.woocommerce.widget_product_categories h5 {
  margin-bottom: 18px;
  color: #583227;
  font-family: "Montserrat", sans-serif;
  font-size: 24px;
  text-align: center;
}

/* List */
.woocommerce.widget_product_categories ul.product-categories {
  font-family: "Montserrat", sans-serif;
}

/* Content */
.woocommerce.widget_product_categories ul.product-categories li {
  margin-bottom: 6px;
  font-size: 16px;
  line-height: 1.6;
}

/* Link */
.woocommerce.widget_product_categories ul.product-categories li a {
  display: inline-block;
  color: #583227;
  text-decoration: none;
  transition: color 0.25s ease, transform 0.35s ease;
}

/* Hover */
.woocommerce.widget_product_categories ul.product-categories li a:hover {
  color: #de8165;
  transform: translateX(4px);
}

/* Active category */
.woocommerce.widget_product_categories li.current-cat > a,
.woocommerce.widget_product_categories li.current-cat-parent > a {
  color: #de8165;
  font-weight: 600;
}

/* Product count */
.woocommerce.widget_product_categories span.count {
  color: #de8165;
}

/* Subcategory indentation */
.woocommerce.widget_product_categories ul.children {
  margin-left: 10px;
  padding-left: 14px;
}

/* Bullet color */
.woocommerce.widget_product_categories ul.product-categories li::marker {
  color: #de8165;
}

/* Tablet */
@media (max-width: 1024px) {
  .woocommerce.widget_product_categories ul.product-categories li {
    font-size: 13px;
  }

  .woocommerce.widget_product_categories h5 {
    font-size: 21px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .woocommerce.widget_product_categories ul.product-categories li {
    font-size: 13px;
  }

  .woocommerce.widget_product_categories h5 {
    font-size: 19px;
  }
}

/*===========================Flavors mobile scroll display==========================*/

.ppom-field-wrapper[data-data_name^="ukus_"] {
    overflow: hidden;
}

.flavor-pills {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 12px 10px;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

.flavor-pill {
    flex: 0 0 auto;
    width: 90px;
    min-width: 90px;
    max-width: 90px;
    box-sizing: border-box;
}

/*============Related products heading style=============*/

.related.products .related-products-title {
  display: block;
}

.related-products-title {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 30px;
  color: #583227;
  font-family: Montserrat, sans-serif;
  text-align: center;
}

/*===================Tooltip style on add to cart button====================*/

button.single_add_to_cart_button.disabled.wc-variation-selection-needed[data-tooltip] {
  position: relative;
  cursor: not-allowed;
}

button.single_add_to_cart_button.disabled.wc-variation-selection-needed[data-tooltip]:hover::after {
  content: attr(data-tooltip);
  position: absolute;
  top: -45px;
  left: 50%;
  transform: translateX(-50%);
  background: #DE8165;
  color: #fff;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 0.85rem;
  white-space: nowrap;
  z-index: 99;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

button.single_add_to_cart_button.disabled.wc-variation-selection-needed {
    cursor: pointer !important; /* instead of not-allowed */
}

/*===================== State/Country hide============================*/

#billing_state_field,
#shipping_state_field {
    display: none !important;
}


/* =========================================================
   CHECKOUT TOTAL FIX
========================================================= */

/* "Total" label */
.woocommerce-checkout-review-order-table tfoot th {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #583227 !important;
}

/* Amount */
.woocommerce-checkout-review-order-table tfoot td {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #583227 !important;
  text-align: right !important;
  padding-right: 16px !important;
}

/* The numeric value itself (bdi) */
.woocommerce-checkout-review-order-table tfoot td .amount,
.woocommerce-checkout-review-order-table tfoot td bdi {
  font-size: 16px !important;
}

@media (max-width: 768px) {
  .woocommerce-checkout-review-order-table tfoot td bdi {
    white-space: nowrap !important;
  }

  .woocommerce-checkout-review-order-table tfoot td .woocommerce-Price-currencySymbol {
    display: block !important;
    margin-top: 2px;
  }
}