/*
Theme Name: Zoo
Author: Oleksii
Version: 1.2
*/

.screen-reader-text {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  overflow: hidden;
  word-wrap: normal !important;
}

.skip-link {
  background-color: #fff;
  color: #0a4d8c;
  display: block;
  font-weight: 600;
  left: -9999px;
  padding: 12px 20px;
  position: absolute;
  text-decoration: none;
  top: 0;
  z-index: 100000;
}

.skip-link:focus {
  clip: auto;
  height: auto;
  left: 8px;
  outline: 2px solid #0a4d8c;
  outline-offset: 2px;
  top: 8px;
  width: auto;
}

@font-face {
  font-family: "Open Sans";
  src: url("assets/fonts/OpenSans-Variable.ttf") format("truetype");
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url("assets/fonts/OpenSans-Italic-Variable.ttf") format("truetype");
  font-weight: 300 800;
  font-style: italic;
  font-display: swap;
}

body {
  margin:0;
  min-width: 375px;
  color: #212529;
  font: 400 16px/1.2 "Open Sans","Arial",sans-serif;
  background:#fff;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: #fff;
  background-image: url('assets/images/path-to-your-pattern.png');
  background-image: image-set(
    url('assets/images/path-to-your-pattern.webp') type('image/webp'),
    url('assets/images/path-to-your-pattern.png') type('image/png')
  );
  background-repeat: repeat;
  background-attachment: fixed;
  background-size: 630px; /* Регулируй размер плитки здесь */
  opacity: 0.1;
  pointer-events: none; /* Чтобы слой не мешал кликать по кнопкам */
}
img {
  border-style:none;
  max-width: 100%;
  height: auto;
}
a,
button {
  text-decoration:none;
  color:#000;
  outline:none;
  -webkit-transition: all 300ms linear;
  -moz-transition: all 300ms linear;
  -ms-transition: all 300ms linear;
  -o-transition: all 300ms linear;
  transition: all 300ms linear;
}
a:hover {
  text-decoration:none;
}

* {
  outline:none;
  box-sizing: border-box;
}

header,
nav,
section,
article,
aside,
footer,
figure,
menu,
dialog {
  display: block;
}

button,
input[type="submit"],
input[type="file"]::-webkit-file-upload-button {
  cursor: pointer;
}

h1 {font-size:30px; line-height:1; margin:0 0 16px; color: #4b4b4b;}
h2 {font-size:30px; line-height:32px; margin:0 0 18px; color: #4b4b4b;}
h3 {font-size:24px; line-height:26px; margin:0 0 16px; color: #4b4b4b;}
h4 {font-size:24px; line-height:1; margin:0 0 24px; color: #4b4b4b;}
h5 {font-size:20px; line-height:22px; margin:0 0 12px; color: #4b4b4b;}
h6 {font-size:18px; line-height:20px; margin:0 0 10px; color: #4b4b4b;}

p {
  margin:0 0 16px;
}

html,body {
  height: 100%;
  margin: 0;
  -webkit-text-size-adjust: none;
}

@media (max-width: 374px) {
  body {
    zoom: tan(atan2(100vw, 375px));
  }
}

#wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
  min-height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.holder-wrapper {
  position: relative;
  -webkit-box-flex: 5000;
  -webkit-flex: 5000 1 auto;
  -ms-flex: 5000 1 auto;
  flex: 5000 1 auto;
}


.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10px;
}

#header {
  margin: 0 0 30px;
}

.navbar-nav {
  padding: 15px 0;
  gap: 48px;
  display: flex;
  justify-content: end;
  align-items: center;
  list-style: none;
  margin: 0;
  font-size: 12px;
  font-weight: 600;
}

.navbar-nav a {
  text-decoration: none;
}

.navbar-nav a:hover{
  color: rgb(120, 156, 237);
}

.menu-mid-nav {
  padding: 10px 0;
}

@media (min-width: 901px) {
  #header {
    background-color: #fffaf0;
    background-image: url("assets/images/header-desktop-bg.png");
    background-image: image-set(
      url("assets/images/header-desktop-bg-1440.avif") type("image/avif"),
      url("assets/images/header-desktop-bg.png") type("image/png")
    );
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
  }

  #header .menu-mid-nav,
  #header .general-navigation {
    background: transparent;
  }
}

@media (min-width: 1600px) {
  #header {
    background-image: url("assets/images/header-desktop-bg.png");
    background-image: image-set(
      url("assets/images/header-desktop-bg.avif") type("image/avif"),
      url("assets/images/header-desktop-bg.png") type("image/png")
    );
  }
}

.logo {
  display: block;
  width: 150px;
}

.menu-mid-nav .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.search-container {
  position: relative;
  width: 300px;
}

.search-input {
  border: 1px solid #E0E0E0;
  border-radius: 10px;
  padding: 12px 40px;
  font-size: 13px;
  background-color: #FFFFFF;
  width: 100%;
  height: 31px;
}

.search-input-icon {
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  border: none;
  width: 15px;
  height: 15px;
  background-image: url("assets/icons/search.svg");
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: contain;
}

.search-input-icon:hover {
  opacity: 0.7;
}

.menu-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.btn-action {
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 4px;
  height: 31px;
  border-radius: 10px;
}

.border_gradient_sk {
  border: 1px solid #FCC000 ;
  background: transparent!important;
}

.btn-gradient {
  background: linear-gradient(90deg, #FFEB01, #FCC000);
  border: 1px solid #FCC000;
  color: #333;
  border-radius: 10px;
}

.btn-gradient:focus,
.btn-gradient:active,
.btn-gradient:hover {
  outline: none;
  box-shadow: none;
  background: linear-gradient(90deg, #FCC000, #FFEB01)!important;
}

.menu-actions img {
  height: 16px;
}

.zoo-cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  background-color: #333;
  color: #fff;
  font-size: 11px;
  padding: 0 4px;
}

/* Кнопка "У кошик" в таблице избранного TI WooCommerce Wishlist */
button.custom-wishlist-cart-btn {
  background-color: #ffcc00 !important;
  color: #000 !important;
  border-radius: 50px !important;
  border: none !important;
  padding: 10px 20px !important;
  font-weight: 600 !important;
  text-transform: none !important;
}

button.custom-wishlist-cart-btn:hover {
  background-color: #e6b800 !important; /* Немного темнее при наведении */
}

/* Header contacts and social icons */
.header-contacts {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
}

.phone-number {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #145860;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
}

.phone-number:hover {
  color: #fcc200;
}

.work-hours {
  font-size: 14px;
  color: #333;
}

.social-icons {
  display: flex;
  gap: 10px;
}

.social-icon {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
}

.social-icon svg {
  color: #145860;
  width: 20px;
  height: 20px;
}

.social-icon:hover svg {
  color: #fcc200;
}





#main {
  flex-grow: 1;
  display: flex;
  gap: 30px;
  padding: 10px;
  background: #fafafa;
  border-radius: 10px;
}

/* Убираем gap, если сайдбара нет (карточка товара) */
#main.single-product-main {
  display: block;
}

#sidebar {
  width: 284px;
  flex: 0 0 284px
}

#content {
  flex: 1 1 auto;
  min-width: 0;
}

/* ========================================================================
   Product card grid & cards (WooCommerce shop loop)
   ======================================================================== */

/* Grid: 4 equal columns, consistent gap */
#content ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  padding: 0;
  margin: 0;
  list-style: none;
}

#content ul.products::before,
#content ul.products::after {
  display: none !important;
}

/* Card shell */
#content ul.products li.product {
  display: flex;
  flex-direction: column;
  position: relative;
  min-width: 0;
  margin: 0 !important;
  padding: 16px;
  width: auto !important;
  float: none !important;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
  background: #fff;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

#content ul.products li.product:hover {
  border-color: #e0e0e0;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.07);
}

/* Product link wrapper */
#content ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}

/* Product image */
#content ul.products li.product a.woocommerce-LoopProduct-link img {
  display: block;
  width: 100%;
  height: 200px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  border-radius: 8px;
  margin-bottom: 12px;
}

/* Product title */
#content ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  color: #2f2f2f;
  margin: 0 0 8px;
  padding: 0;
  min-height: 4.2em;
  overflow: hidden;
  overflow-wrap: break-word;
}

#content ul.products li.product .zoo-loop-product-details {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 20px;
  margin: 0 0 6px;
  color: #707070;
  font-size: 11px;
  line-height: 1.3;
  min-width: 0;
}

#content ul.products li.product .zoo-loop-product-brand,
#content ul.products li.product .zoo-loop-product-sku {
  display: inline-block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#content ul.products li.product .zoo-loop-product-brand {
  max-width: 58%;
  font-weight: 600;
  color: #4f4f4f;
}

#content ul.products li.product .zoo-loop-product-sku {
  max-width: 42%;
}

#content ul.products li.product .zoo-loop-stock-badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 22px;
  margin: 0 0 8px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

#content ul.products li.product .zoo-loop-stock-badge--instock {
  background: #eaf7ef;
  color: #237a3b;
}

#content ul.products li.product .zoo-loop-stock-badge--outofstock {
  background: #f1f1f1;
  color: #6b6b6b;
}

#content ul.products li.product .zoo-loop-stock-badge--onbackorder {
  background: #fff5d6;
  color: #7a5b00;
}

/* Price block */
#content ul.products li.product .price {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-direction: row-reverse;
  gap: 6px;
  flex-wrap: wrap;
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 700;
  color: #2f2f2f;
  line-height: 1.3;
}

#content ul.products li.product .price del {
  font-size: 12px;
  font-weight: 400;
  color: #e44;
  text-decoration: line-through;
  order: -1;
}

#content ul.products li.product .price ins {
  text-decoration: none;
  color: #2f2f2f;
  font-weight: 700;
}

/* Sale badge */
#content ul.products li.product .onsale {
  position: absolute;
  top: 12px;
  left: 15px;
  right: 15px;
  z-index: 2;
  background: #ffd500;
  color: #2f2f2f;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  padding: 5px 10px;
  border-radius: 20px;
  margin: 0;
  min-height: auto;
  min-width: auto;
}

/* Add to cart button */
#content ul.products li.product a.button,
#content ul.products li.product a.add_to_cart_button,
#content ul.products li.product a.product_type_simple,
#content ul.products li.product a.product_type_variable,
#content ul.products li.product .zoo-unavailable-button,
#content ul.products li.product button.button {
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  color: #2f2f2f;
  background: #ffd500;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  margin-top: auto;
  transition: background 0.15s ease;
}

#content ul.products li.product a.button:hover,
#content ul.products li.product a.add_to_cart_button:hover,
#content ul.products li.product button.button:hover {
  background: #e6c200;
}

#content ul.products li.product .zoo-unavailable-button,
#content ul.products li.product .zoo-unavailable-button:hover {
  color: #6b6b6b;
  background: #e9e9e9;
  cursor: not-allowed;
  pointer-events: none;
}

#content ul.products li.product a.added_to_cart {
  display: none;
}

/* Star rating in loop (if visible) */
#content ul.products li.product .star-rating {
  font-size: 11px;
  margin: 4px 0;
}

/* Wishlist icon — on product image, bottom-right corner */
#content ul.products li.product .tinv-wishlist.tinvwl-loop-button-wrapper {
  position: absolute;
  top: 204px;
  right: 20px;
  z-index: 3;
  transform: translateY(-100%);
  margin: 0;
  padding: 0;
  line-height: 1;
}

#content ul.products li.product .tinv-wishlist .tinvwl_add_to_wishlist_button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: rgba(255, 255, 255, 0.85) !important;
  border-radius: 50%;
  color: #888 !important;
  font-size: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  transition: background 0.15s, color 0.15s;
}

#content ul.products li.product .tinv-wishlist .tinvwl_add_to_wishlist_button::before {
  font-size: 16px !important;
  margin: 0 !important;
  line-height: 1 !important;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#content ul.products li.product .tinv-wishlist .tinvwl_add_to_wishlist_button:hover {
  background: #fff !important;
  color: #e44 !important;
}

#content ul.products li.product .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list {
  color: #e44 !important;
}

/* WooCommerce result count + ordering row */
#content .woocommerce-result-count {
  font-size: 13px;
  color: #888;
}

#content .woocommerce-ordering select {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 13px;
  background: #fff;
}

/* WooCommerce archive pagination */
#content .woocommerce nav.woocommerce-pagination,
#content nav.woocommerce-pagination,
.zoo-search-pagination .navigation.pagination {
  display: flex;
  justify-content: center;
  margin: 38px 0 34px;
  clear: both;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers,
#content .woocommerce nav.woocommerce-pagination ul.page-numbers,
#content nav.woocommerce-pagination ul.page-numbers,
.zoo-search-pagination .nav-links {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  border: 0 !important;
  background: transparent;
  box-shadow: none;
  list-style: none;
  overflow: visible;
}

#content .woocommerce nav.woocommerce-pagination ul.page-numbers::before,
#content .woocommerce nav.woocommerce-pagination ul.page-numbers::after,
#content nav.woocommerce-pagination ul.page-numbers::before,
#content nav.woocommerce-pagination ul.page-numbers::after {
  display: none;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li,
#content .woocommerce nav.woocommerce-pagination ul li,
#content nav.woocommerce-pagination ul li {
  float: none;
  display: block;
  margin: 0;
  padding: 0;
  border: 0 !important;
  overflow: visible;
}

#content .woocommerce nav.woocommerce-pagination a.page-numbers,
#content .woocommerce nav.woocommerce-pagination span.page-numbers,
#content nav.woocommerce-pagination a.page-numbers,
#content nav.woocommerce-pagination span.page-numbers,
.zoo-search-pagination a.page-numbers,
.zoo-search-pagination span.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  background: #fff;
  color: #2f2f2f;
  font-family: "Open Sans", "Arial", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(47, 47, 47, 0.08);
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

#content .woocommerce nav.woocommerce-pagination span.page-numbers.current,
#content nav.woocommerce-pagination span.page-numbers.current,
.zoo-search-pagination span.page-numbers.current {
  background: linear-gradient(90deg, #ffeb01, #fcc000);
  color: #2f2f2f;
  box-shadow: 0 8px 20px rgba(252, 192, 0, 0.28);
}

#content .woocommerce nav.woocommerce-pagination a.page-numbers:hover,
#content .woocommerce nav.woocommerce-pagination a.page-numbers:focus-visible,
#content nav.woocommerce-pagination a.page-numbers:hover,
#content nav.woocommerce-pagination a.page-numbers:focus-visible,
.zoo-search-pagination a.page-numbers:hover,
.zoo-search-pagination a.page-numbers:focus-visible {
  background: linear-gradient(90deg, #fcc000, #ffeb01);
  color: #2f2f2f;
  box-shadow: 0 8px 20px rgba(252, 192, 0, 0.24);
  transform: translateY(-1px);
  outline: none;
}

#content .woocommerce nav.woocommerce-pagination a.next,
#content .woocommerce nav.woocommerce-pagination a.prev,
#content nav.woocommerce-pagination a.next,
#content nav.woocommerce-pagination a.prev,
.zoo-search-pagination a.next,
.zoo-search-pagination a.prev {
  min-width: 46px;
  font-size: 20px;
}

#content .woocommerce nav.woocommerce-pagination span.page-numbers.dots,
#content nav.woocommerce-pagination span.page-numbers.dots,
.zoo-search-pagination span.page-numbers.dots {
  min-width: 24px;
  padding: 0 2px;
  background: transparent;
  box-shadow: none;
  color: #9b9b9b;
}

@media (max-width: 650px) {
  #content .woocommerce nav.woocommerce-pagination,
  #content nav.woocommerce-pagination,
  .zoo-search-pagination .navigation.pagination {
    margin: 30px 0 28px;
  }

  #content .woocommerce nav.woocommerce-pagination ul.page-numbers,
  #content nav.woocommerce-pagination ul.page-numbers,
  .zoo-search-pagination .nav-links {
    gap: 4px;
    flex-wrap: nowrap;
  }

  #content .woocommerce nav.woocommerce-pagination a.page-numbers,
  #content .woocommerce nav.woocommerce-pagination span.page-numbers,
  #content nav.woocommerce-pagination a.page-numbers,
  #content nav.woocommerce-pagination span.page-numbers,
  .zoo-search-pagination a.page-numbers,
  .zoo-search-pagination span.page-numbers {
    min-width: 40px;
    height: 44px;
    padding: 0 10px;
    font-size: 14px;
    border-radius: 9px;
  }

  #content .woocommerce nav.woocommerce-pagination a.next,
  #content .woocommerce nav.woocommerce-pagination a.prev,
  #content nav.woocommerce-pagination a.next,
  #content nav.woocommerce-pagination a.prev,
  .zoo-search-pagination a.next,
  .zoo-search-pagination a.prev {
    min-width: 44px;
  }

  #content .woocommerce nav.woocommerce-pagination span.page-numbers.dots,
  #content nav.woocommerce-pagination span.page-numbers.dots,
  .zoo-search-pagination span.page-numbers.dots {
    min-width: 18px;
    padding: 0;
  }
}


.rank-math-breadcrumb,
.rank-math-breadcrumb a {
  font-weight: 600;
  font-size: 14px;
  color: #979797;
}

.zoo-search-content {
  width: 100%;
}

.zoo-search-results-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 30px;
}

.zoo-search-result-item {
  display: flex;
  gap: 20px;
  padding: 20px;
  border: 1px solid #eeeeee;
  border-radius: 8px;
  background: #ffffff;
}

.zoo-search-product-thumb {
  flex: 0 0 120px;
  width: 120px;
}

.zoo-search-product-thumb a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.zoo-search-product-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.zoo-search-result-info {
  flex: 1 1 auto;
  min-width: 0;
}

.zoo-search-title {
  margin: 0 0 10px;
  color: #2f2f2f;
  font-size: 22px;
  line-height: 1.25;
}

.zoo-search-title a {
  color: inherit;
  text-decoration: none;
}

.zoo-search-title a:hover,
.zoo-search-title a:focus-visible {
  color: #145860;
}

.zoo-search-price {
  margin-bottom: 10px;
  color: #fcc000;
  font-size: 18px;
  font-weight: 800;
}

.zoo-search-product-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 10px;
  color: #60676b;
  font-size: 13px;
  line-height: 1.35;
}

.zoo-search-product-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid #eeeeee;
  border-radius: 6px;
  background: #fafafa;
}

.zoo-search-product-meta__label {
  color: #8a8f93;
  font-weight: 700;
}

.zoo-search-stock {
  font-weight: 800;
}

.zoo-search-stock--instock {
  background: #eaf7ef !important;
  color: #237a3b;
}

.zoo-search-stock--outofstock {
  background: #f1f1f1 !important;
  color: #6b6b6b;
}

.zoo-search-stock--onbackorder {
  background: #fff5d6 !important;
  color: #7a5b00;
}

.zoo-search-result-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.zoo-search-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1.4;
}

.zoo-search-badge--product {
  background: #eeeeee;
  color: #666666;
}

.zoo-search-badge--content {
  background: #e0f7fa;
  color: #00838f;
}

.zoo-search-product-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 14px;
  border-radius: 8px;
  background: #ffd500;
  color: #2f2f2f;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
}

.zoo-search-product-link:hover,
.zoo-search-product-link:focus-visible {
  background: #e6c200;
  color: #1e2426;
  outline: none;
}

.zoo-search-pagination,
.zoo-search-empty,
.zoo-search-empty-panel {
  margin-top: 30px;
}

.zoo-search-empty-panel {
  padding: 20px;
  border: 1px solid #eeeeee;
  border-radius: 8px;
  background: #ffffff;
}

.zoo-search-empty-panel .zoo-search-empty {
  margin: 0 0 14px;
  color: #60676b;
  line-height: 1.5;
}

.zoo-search-suggestions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 16px;
}

.zoo-search-suggestion-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px 12px;
  border: 1px solid #d8e2e3;
  border-radius: 999px;
  background: #f7fbfb;
  color: #145860;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
}

.zoo-search-suggestion-link:hover,
.zoo-search-suggestion-link:focus-visible {
  border-color: #145860;
  background: #eef8f7;
  color: #145860;
  outline: none;
}

.zoo-search-empty-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.zoo-search-secondary-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 14px;
  border: 1px solid #d8e2e3;
  border-radius: 8px;
  background: #ffffff;
  color: #145860;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
}

.zoo-search-secondary-link:hover,
.zoo-search-secondary-link:focus-visible {
  border-color: #145860;
  background: #f3faf9;
  color: #145860;
  outline: none;
}

@media (max-width: 650px) {
  .zoo-search-result-item {
    flex-direction: column;
  }

  .zoo-search-product-thumb {
    width: 100%;
    max-width: 180px;
  }

  .zoo-search-result-actions {
    align-items: stretch;
  }

  .zoo-search-badge--product {
    display: none;
  }

  .zoo-search-product-link {
    order: -1;
    width: 100%;
  }

  .zoo-search-empty-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .zoo-search-suggestions {
    align-items: stretch;
    flex-direction: column;
  }

  .zoo-search-suggestion-link {
    width: 100%;
  }

  .zoo-search-empty-actions .zoo-search-product-link,
  .zoo-search-secondary-link {
    width: 100%;
  }
}

.accordion-collapse {
  display: none;
}

.accordion-collapse.show {
  display: block;
}

#accordionCustomers {
  border: 1px solid #efefef;
  border-radius: 10px;
  overflow: hidden;
  background: #f8f8f8;
}

#accordionCustomers .accordion-item {
  border-bottom: 1px solid #efefef;
  background: #f4f4f4;
}

#accordionCustomers .accordion-item:last-child {
  border-bottom: 0;
}

#accordionCustomers .accordion-header {
  margin: 0;
}

#accordionCustomers .accordion-button {
  width: 100%;
  border: 0;
  background: #f4f4f4;
  color: #1e2426;
  font-size: 16px;
  cursor: pointer;
  padding: 18px 20px;
  position: relative;
  display: block;
}

#accordionCustomers .accordion-button::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid #1e2426;
  border-bottom: 2px solid #1e2426;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.2s ease;
}

#accordionCustomers .accordion-button:not(.collapsed) {
  background: #ffd500;
}

#accordionCustomers .accordion-button:not(.collapsed)::after {
  transform: translateY(-25%) rotate(-135deg);
}

#accordionCustomers .accordion-body {
  background: #efefef;
  padding: 16px 20px;
}

#accordionCustomers .nav {
  margin: 0;
  padding: 0;
  list-style: none;
}

#accordionCustomers .nav-item {
  margin: 0 0 12px;
}

#accordionCustomers .nav-item:last-child {
  margin-bottom: 0;
}

#accordionCustomers .nav-link {
  display: inline-block;
  color: #3c3f41;
  font-size: 14px;
  text-decoration: none;
}

#accordionCustomers .nav-link:hover {
  color: #1e2426;
}

#accordionCustomers .accordion-menu-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

#accordionCustomers .accordion-menu-list li {
  margin: 0 0 12px;
}

#accordionCustomers .accordion-menu-list li:last-child {
  margin-bottom: 0;
}

#accordionCustomers .accordion-menu-list a {
  display: inline-block;
  color: #3c3f41;
  font-size: 14px;
  text-decoration: none;
}

#accordionCustomers .accordion-menu-list a:hover {
  color: #1e2426;
}

/* The end Accordion styles (sidebar) */

/* Header mega navigation */
.general-navigation {
  background: #fafafa;
}

.catalog-nav-tabs {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.catalog-nav-tabs > .catalog-tab-wrapper {
  flex: 0 0 276px;
}

.catalog-nav-tabs > .catalog-tab {
  flex: 0 0 auto;
}

.catalog-nav-tabs > .catalog-tab-dropdown-wrapper {
  flex: 0 0 auto;
}

.catalog-tab {
  display: block;
  text-align: center;
  padding: 10px 25px;
  font-size: 15px;
  font-weight: 600;
  color: #2f2f2f;
  text-decoration: none;
  border-radius: 8px 8px 0 0;
  background: #E9E8E8;
}

.catalog-tab.active,
.catalog-tab:hover,
.catalog-tab-dropdown-wrapper:hover > .catalog-tab {
  background: #ffd500;
  color: #1e2426;
}

.catalog-tab-dropdown-wrapper {
  position: relative;
}

.catalog-tab-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 125;
  width: min(730px, calc(100vw - 48px));
  padding: 22px 34px 18px;
  background: #f4f4f4;
  box-shadow: 0px 16px 48px 0px rgba(0, 0, 0, 0.176);
  transform: translateX(-50%);
}

.catalog-tab-dropdown-wrapper:hover .catalog-tab-dropdown,
.catalog-tab-dropdown-wrapper:focus-within .catalog-tab-dropdown {
  display: block;
}

.catalog-tab-dropdown__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 44px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.catalog-tab-dropdown__list a {
  display: inline-block;
  color: #2f2f2f;
  font-size: 15px;
  line-height: 1.25;
  text-decoration: none;
}

.catalog-tab-dropdown__list a:hover,
.catalog-tab-dropdown__list a:focus-visible {
  color: #1e2426;
  text-decoration: underline;
}

@media (max-width: 900px) {
  .catalog-tab-dropdown {
    display: none !important;
  }
}


.catalog-nav {
  position: relative;
}

.catalog-mega-menu {
  display: none;
  border-top: 0;
  position: absolute;
  top: 100%;
  left: 0;
  width: 276px;
  z-index: 100;
}

.catalog-mega-menu.has-active-panel {
  width: auto;
  right: 0;
}


/*
 * Front page / blog home: keep the catalog mega-menu permanently expanded.
 * The .mega-menu-content panel still requires hovering a .pet-categories item
 * (handled by .has-active-panel toggled in theme.js).
 */
body.home-mega-menu-pinned .catalog-mega-menu {
  display: block;
}

/* Internal pages: show mega menu on hover. */
body:not(.home-mega-menu-pinned) .catalog-tab-wrapper:hover .catalog-mega-menu {
  display: block;
}

.mega-menu-sidebar {
  width: 276px;
  /*border-right: 1px solid #e3e3e3;*/
  background: #f3f3f3;
}

.pet-categories {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pet-categories li {
  border-bottom: 1px solid #e5e5e5;
}

.pet-categories li a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 16px;
  text-decoration: none;
  color: #2f2f2f;
}

.pet-categories li.active {
  background: #ffffff;
}

.pet-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  overflow: visible;
}

.pet-icon img {
  width: 46px;
  height: 46px;
  max-width: none;
  max-height: none;
  object-fit: contain;
}

.pet-name {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
}

.pet-arrow {
  margin-left: auto;
  width: 6px;
  height: 6px;
  border-top: 2px solid #5f5f5f;
  border-right: 2px solid #5f5f5f;
  transform: rotate(45deg);
}

.mega-menu-content {
  position: absolute;
  left: 276px;
  top: 0;
  right: 0;
  background: #f4f4f4;
  padding: 22px 34px 18px;
  opacity: 0;
  box-shadow: 0px 16px 48px 0px rgba(0, 0, 0, 0.176);
  visibility: hidden;
  transition: opacity 0.15s ease;
}

.catalog-mega-menu.has-active-panel .mega-menu-content {
  opacity: 1;
  visibility: visible;
}

.mega-menu-panel {
  display: none;
}

.mega-menu-panel.active {
  display: block;
}

.mega-menu-columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

.col-title {
  margin: 0 0 10px;
  color: #2f2f2f;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
}

.col-list {
  margin: 0;
  padding-left: 18px;
}

.col-list li {
  margin-bottom: 4px;
}

.col-list li a {
  color: #2f2f2f;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.25;
}

.col-list li a:hover {
  text-decoration: underline;
}

/* ========================================================================
   Front page
   ======================================================================== */
.home-main {
  background: transparent !important;
  padding: 0 !important;
}

.home-main #content {
  display: block;
}

.home-hero__media .zoo-slider {
  margin: 0;
}

body.home .home-hero__media .zoo-slider {
  margin-left: 0;
  width: 100%;
}

.home-legacy-content {
  margin: 0 0 24px;
}

.home-legacy-content__entry {
  margin: 0;
}

.home-legacy-content__entry > *:last-child {
  margin-bottom: 0;
}

.home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 20px;
  margin: 0 0 24px;
  align-items: stretch;
}

.home-hero--text-only {
  grid-template-columns: minmax(0, 1fr);
}

.home-hero__media {
  min-width: 0;
}

.home-hero__media:empty {
  display: none;
}

.home-hero__panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  padding: 24px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
}

.home-hero__panel h1 {
  margin: 0;
  color: #1e2426;
  font-size: 28px;
  line-height: 1.15;
}

.home-hero__panel p {
  margin: 0;
  color: #5f6668;
  font-size: 15px;
  line-height: 1.55;
}

.home-eyebrow {
  margin: 0 0 6px;
  color: #4a7275;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.home-btn,
.home-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 11px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.home-btn--primary {
  background: #ffd500;
  color: #1e2426;
}

.home-btn--primary:hover {
  background: #e6c200;
  color: #1e2426;
}

.home-btn--secondary {
  border: 1px solid #e2e2e2;
  background: #fff;
  color: #2f2f2f;
}

.home-btn--secondary:hover,
.home-link:hover {
  border-color: #ffd500;
  color: #1e2426;
}

.home-link {
  border: 1px solid #e8e8e8;
  background: #fff;
  color: #4a7275;
  white-space: nowrap;
}

.home-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 28px;
}

.zoo-not-found {
  max-width: 760px;
  margin: 0 auto 70px;
  padding: 42px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(34, 43, 46, 0.08);
  text-align: center;
}

.zoo-not-found__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 74px;
  min-height: 38px;
  margin: 0 0 18px;
  border-radius: 999px;
  background: #fff7c7;
  color: #4a7275;
  font-size: 16px;
  font-weight: 800;
}

.zoo-not-found h1 {
  margin: 0 0 14px;
  color: #1f2c2f;
  font-size: 34px;
  line-height: 1.15;
}

.zoo-not-found__lead {
  max-width: 620px;
  margin: 0 auto 24px;
  color: #5f6668;
  font-size: 16px;
  line-height: 1.6;
}

.zoo-not-found__search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  max-width: 560px;
  margin: 0 auto 22px;
}

.zoo-not-found__search input[type="search"] {
  width: 100%;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid #e1e1e1;
  border-radius: 8px;
  background: #fff;
  color: #1f2c2f;
  font-size: 15px;
}

.zoo-not-found__search input[type="search"]:focus {
  border-color: #fcc000;
  box-shadow: 0 0 0 3px rgba(252, 192, 0, 0.2);
}

.zoo-not-found__search button {
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid #fcc000;
  border-radius: 8px;
  background: #ffd500;
  color: #1f2c2f;
  font-size: 14px;
  font-weight: 800;
}

.zoo-not-found__search button:hover {
  background: #e6c200;
}

.zoo-not-found__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.zoo-about-page {
  display: grid;
  gap: 22px;
  color: #253133;
}

.zoo-about-hero {
  position: relative;
  overflow: hidden;
  padding: 34px;
  border: 1px solid #ece7d8;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 247, 199, 0.92), rgba(255, 255, 255, 0.96)),
    radial-gradient(circle at 92% 10%, rgba(74, 114, 117, 0.14), transparent 34%);
}

.zoo-about-hero::after {
  content: "";
  position: absolute;
  right: -34px;
  bottom: -40px;
  width: 190px;
  height: 190px;
  border: 22px solid rgba(252, 192, 0, 0.18);
  border-radius: 50%;
  pointer-events: none;
}

.zoo-about-page__eyebrow {
  margin: 0 0 10px;
  color: #4a7275;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.zoo-about-page h2,
.zoo-about-page h3 {
  color: #1f2c2f;
}

.zoo-about-page h2 {
  position: relative;
  z-index: 1;
  max-width: 680px;
  margin: 0 0 14px;
  font-size: 34px;
  line-height: 1.16;
}

.zoo-about-page h3 {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.25;
}

.zoo-about-page p {
  margin: 0;
  color: #5f6668;
  font-size: 16px;
  line-height: 1.65;
}

.zoo-about-hero__text {
  position: relative;
  z-index: 1;
  max-width: 720px;
}

.zoo-about-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.zoo-about-card,
.zoo-about-panel {
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(34, 43, 46, 0.06);
}

.zoo-about-card {
  padding: 20px;
}

.zoo-about-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin: 0 0 14px;
  border-radius: 50%;
  background: #fff7c7;
  color: #4a7275;
  font-size: 18px;
  font-weight: 800;
}

.zoo-about-card h3 {
  font-size: 18px;
}

.zoo-about-card p {
  font-size: 14px;
  line-height: 1.6;
}

.zoo-about-panel {
  padding: 26px;
}

.zoo-about-panel ul {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.zoo-about-panel li {
  position: relative;
  padding-left: 26px;
  color: #4b5557;
  font-size: 15px;
  line-height: 1.55;
}

.zoo-about-panel li::before {
  content: "";
  position: absolute;
  top: 0.58em;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fcc000;
  box-shadow: 0 0 0 4px rgba(252, 192, 0, 0.16);
}

.zoo-about-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.zoo-about-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 18px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}

.zoo-about-link--primary {
  border: 1px solid #fcc000;
  background: #ffd500;
  color: #1f2c2f;
}

.zoo-about-link--primary:hover {
  background: #e6c200;
  color: #1f2c2f;
}

.zoo-about-link--secondary {
  border: 1px solid #dfe7e5;
  background: #fff;
  color: #315f63;
}

.zoo-about-link--secondary:hover {
  border-color: #fcc000;
  color: #1f2c2f;
}

@media (max-width: 600px) {
  .zoo-not-found {
    margin-bottom: 48px;
    padding: 28px 18px;
  }

  .zoo-not-found h1 {
    font-size: 28px;
  }

  .zoo-not-found__search {
    grid-template-columns: 1fr;
  }

  .zoo-not-found__links .home-btn {
    width: 100%;
  }
}

@media (max-width: 900px) {
  .zoo-about-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .zoo-about-hero,
  .zoo-about-panel {
    padding: 22px;
  }

  .zoo-about-page h2 {
    font-size: 28px;
  }

  .zoo-about-actions .zoo-about-link {
    width: 100%;
  }
}

.home-benefit {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 4px 12px;
  padding: 16px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
  color: #2f2f2f;
}

.home-benefit:hover {
  border-color: #ffd500;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.home-benefit__icon {
  grid-row: 1 / span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: #f7f0cf;
  color: #1e2426;
  font-size: 13px;
  font-weight: 800;
}

.home-benefit__title {
  color: #1e2426;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
}

.home-benefit__text {
  color: #667174;
  font-size: 12px;
  line-height: 1.45;
}

.home-section {
  margin: 0 0 32px;
  padding: 24px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
}

.home-section__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 18px;
}

.home-section__header h2,
.home-info-card h2,
.home-service-card h2,
.home-seo h2 {
  margin: 0;
  color: #1e2426;
  font-size: 24px;
  line-height: 1.2;
}

.home-pet-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.home-pet-card,
.home-category-card,
.home-brand-card,
.home-guide-card,
.home-service-card {
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fafafa;
  color: #2f2f2f;
  text-decoration: none;
}

.home-pet-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 4px 12px;
  min-height: 86px;
  padding: 14px;
  align-items: center;
}

.home-pet-card:hover,
.home-category-card:hover,
.home-brand-card:hover,
.home-service-card:hover,
.home-need-grid a:hover {
  border-color: #ffd500;
  background: #fffdf1;
}

.home-pet-card__image {
  grid-row: 1 / span 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 8px;
  background: #fff;
}

.home-pet-card__image img {
  display: block;
  width: 48px;
  height: 48px;
  max-width: 48px;
  max-height: 48px;
  object-fit: contain;
}

.home-pet-card__title {
  color: #1e2426;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
}

.home-pet-card__count,
.home-category-card small {
  color: #728083;
  font-size: 12px;
  line-height: 1.35;
}

.home-section--split {
  display: grid;
  grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1fr);
  gap: 18px;
  padding: 0;
  border: 0;
  background: transparent;
}

.home-info-card {
  padding: 24px;
  border-radius: 8px;
  background: #1f4f54;
  color: #fff;
}

.home-info-card p {
  margin: 12px 0 18px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.55;
}

.home-info-card h2 {
  color: #fff;
}

.home-need-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.home-need-grid a {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 14px 16px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
  color: #1e2426;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.home-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.home-category-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 82px;
  padding: 14px;
}

.home-category-card span {
  color: #1e2426;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
}

.home-brand-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.home-brand-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 84px;
  padding: 14px;
}

.home-brand-card img {
  display: block;
  width: 100%;
  height: 54px;
  max-width: 100%;
  object-fit: contain;
}

.home-brand-card span {
  color: #1e2426;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}

.home-guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.home-guide-card {
  padding: 18px;
}

.home-guide-card h3 {
  margin: 0 0 10px;
  color: #1e2426;
  font-size: 18px;
  line-height: 1.25;
}

.home-guide-card p,
.home-service-card p,
.home-seo p,
.home-faq p {
  margin: 0;
  color: #667174;
  line-height: 1.55;
}

.home-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
  border: 0;
  background: transparent;
}

.home-service-card {
  display: block;
  padding: 20px;
  background: #fff;
}

.home-service-card h2 {
  margin: 0 0 10px;
  font-size: 20px;
}

.home-faq__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.home-faq details {
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fafafa;
  padding: 16px;
}

.home-faq summary {
  color: #1e2426;
  cursor: pointer;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
}

.home-faq p {
  margin-top: 10px;
  font-size: 14px;
}

.home-seo {
  margin: 0 0 34px;
  padding: 24px;
  border-radius: 8px;
  background: #f4f7f7;
}

.home-seo h2 {
  margin-bottom: 12px;
}

.home-seo p + p {
  margin-top: 10px;
}

@media (max-width: 1180px) {
  .home-hero {
    grid-template-columns: 1fr;
  }

  .home-benefits,
  .home-pet-grid,
  .home-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-brand-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .home-hero {
    margin-left: 0;
  }

  .home-benefits {
    margin-left: 0;
  }

  .home-hero__panel {
    padding: 20px;
  }

  .home-section--split,
  .home-service-grid,
  .home-guide-grid,
  .home-faq__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .home-hero__panel h1 {
    font-size: 24px;
  }

  .home-section {
    padding: 18px;
  }

  .home-section__header {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .home-section__header h2,
  .home-info-card h2,
  .home-seo h2 {
    font-size: 22px;
  }

  .home-link {
    width: 100%;
  }

  .home-brand-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .home-benefits,
  .home-pet-grid,
  .home-category-grid,
  .home-need-grid {
    grid-template-columns: 1fr;
  }

  .home-hero__actions {
    flex-direction: column;
  }

  .home-btn,
  .home-link {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .home-hero {
    margin-bottom: 18px;
  }

  .home-hero__panel,
  .home-info-card,
  .home-section,
  .home-seo {
    padding: 16px;
  }

  .home-hero__panel h1 {
    font-size: 21px;
  }

  .home-benefit,
  .home-pet-card {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .home-benefit__icon {
    width: 38px;
    height: 38px;
  }

  .home-pet-card__image {
    width: 48px;
    height: 48px;
  }

  .home-brand-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/*
 * WOOF reset: WooCommerce uses .woocommerce button.button (higher specificity than
 * .woocommerce-sidebar-filters .woof_reset_search_form). WOOF skins target
 * .woof_submit_search_form_container button. The container is display:flex +
 * justify-content: space-between, so reset stays narrow unless we stretch the column.
 */
#sidebar .woocommerce-sidebar-filters .woof_submit_search_form_container {
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

#sidebar .woocommerce-sidebar-filters .woof_submit_search_form_container button.button.woof_reset_search_form {
  box-sizing: border-box;
  width: 100%;
  display: block;
  text-align: center;
  padding: 14px 10px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  color: #2f2f2f;
  text-decoration: none;
  border-radius: 8px 8px 0 0;
  background: #e9e8e8 !important;
  border: none;
  box-shadow: none;
}

#sidebar .woocommerce-sidebar-filters .woof_submit_search_form_container button.button.woof_reset_search_form:hover {
  background: #ffd500 !important;
  color: #2f2f2f;
}

/* Shop sidebar: price sliders — shared tokens (WOOF Ion + optional WC jQuery UI widget) */
#sidebar .woocommerce-sidebar-filters {
  --woof-price-accent: #ffd500;
  --woof-price-track: #e9e8e8;
  --woof-price-text: #2f2f2f;
}

/* Shop sidebar: WOOF price filter (Ion.RangeSlider, .woof_range_slider) */

#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-line {
  background-color: var(--woof-price-track) !important;
  background: var(--woof-price-track) !important;
  border: 1px solid #d8d8d8 !important;
  box-shadow: none !important;
}

#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-bar {
  background: var(--woof-price-accent) !important;
  border: none !important;
  box-shadow: none !important;
}

#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-handle {
  border-color: var(--woof-price-accent) !important;
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(47, 47, 47, 0.12) !important;
}

#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-handle.state_hover,
#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-handle:hover {
  background-color: #fffef5 !important;
  border-color: #e6c200 !important;
}

#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-from,
#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-to,
#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-single {
  background-color: var(--woof-price-accent) !important;
  background: var(--woof-price-accent) !important;
  color: var(--woof-price-text) !important;
  text-shadow: none !important;
}

#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-from:before,
#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-to:before,
#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-single:before {
  border-top-color: var(--woof-price-accent) !important;
}

#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-min,
#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-max {
  background-color: var(--woof-price-track) !important;
  background: var(--woof-price-track) !important;
  color: var(--woof-price-text) !important;
  text-shadow: none !important;
}

#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-grid-pol {
  background-color: #c8c8c8 !important;
}

#sidebar .woocommerce-sidebar-filters .woof_price_filter .irs .irs-grid-text {
  color: #888 !important;
}

/* Classic WooCommerce price filter widget (jQuery UI), if present in sidebar */
#sidebar .woocommerce-sidebar-filters .widget_price_filter .price_slider.ui-slider-horizontal {
  background-color: var(--woof-price-track) !important;
  border: 1px solid #d8d8d8 !important;
  border-radius: 4px;
  box-shadow: none !important;
}

#sidebar .woocommerce-sidebar-filters .widget_price_filter .price_slider .ui-slider-range {
  background: var(--woof-price-accent) !important;
  border-radius: 3px;
}

#sidebar .woocommerce-sidebar-filters .widget_price_filter .price_slider .ui-slider-handle {
  background: var(--woof-price-accent) !important;
  border: 2px solid #e6c200 !important;
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(47, 47, 47, 0.15) !important;
  cursor: grab;
}

#sidebar .woocommerce-sidebar-filters .widget_price_filter .price_slider .ui-slider-handle:focus,
#sidebar .woocommerce-sidebar-filters .widget_price_filter .price_slider .ui-slider-handle:hover {
  background: #ffe033 !important;
}

/* Shop sidebar: WOOF Chosen dropdowns (rating, categories, etc.) */
#sidebar .woocommerce-sidebar-filters .chosen-container {
  width: 100% !important;
}

#sidebar .woocommerce-sidebar-filters .chosen-container-single .chosen-single {
  box-sizing: border-box;
  height: 31px;
  line-height: 27px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 0 36px 0 14px;
  background: #fff;
  background-image: none;
  color: #2f2f2f;
  font-size: 13px;
  box-shadow: none;
}

#sidebar .woocommerce-sidebar-filters .woof_container_product_brand .chosen-container-multi {
  position: relative;
}

#sidebar .woocommerce-sidebar-filters .woof_container_product_brand .chosen-container-multi .chosen-choices {
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-height: 31px;
  margin: 0;
  padding: 3px 36px 3px 10px;
  color: #2f2f2f;
  background: #fff;
  background-image: none;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  box-shadow: none;
  cursor: text;
}

#sidebar .woocommerce-sidebar-filters .woof_container_product_brand .chosen-container-multi::after {
  content: "";
  position: absolute;
  right: 11px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid #888;
  border-bottom: 2px solid #888;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
  z-index: 2;
}

#sidebar .woocommerce-sidebar-filters .woof_container_product_brand .chosen-container-multi.chosen-with-drop .chosen-choices {
  border-color: #ccc;
  border-radius: 10px 10px 0 0;
}

#sidebar .woocommerce-sidebar-filters .woof_container_product_brand .chosen-container-multi .chosen-choices li.search-choice {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin: 0;
  padding: 2px 24px 2px 8px;
  color: #2f2f2f;
  background: #f7f7f7;
  background-image: none;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  box-shadow: none;
  font-size: 13px;
  line-height: 1.2;
}

#sidebar .woocommerce-sidebar-filters .woof_container_product_brand .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
  top: 50%;
  right: 7px;
  transform: translateY(-50%);
}

#sidebar .woocommerce-sidebar-filters .woof_container_product_brand .chosen-container-multi .chosen-choices li.search-field {
  flex: 1 1 80px;
  min-width: 80px;
  margin: 0;
  padding: 0;
}

#sidebar .woocommerce-sidebar-filters .woof_container_product_brand .chosen-container-multi .chosen-choices li.search-field input[type="text"] {
  width: 100% !important;
  height: 23px;
  min-height: 23px;
  margin: 0;
  padding: 0 4px;
  color: #2f2f2f;
  font-family: inherit;
  font-size: 13px;
  line-height: 23px;
  box-shadow: none;
}

#sidebar .woocommerce-sidebar-filters .woof_container_product_brand .chosen-container-multi .chosen-choices li.search-field input[type="text"]::placeholder {
  color: #8d8d8d;
}

#sidebar .woocommerce-sidebar-filters .chosen-container-single .chosen-single div b {
  display: none;
}

#sidebar .woocommerce-sidebar-filters .chosen-container-single .chosen-single div {
  width: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#sidebar .woocommerce-sidebar-filters .chosen-container-single .chosen-single div::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-right: 2px solid #888;
  border-bottom: 2px solid #888;
  transform: rotate(45deg);
  margin-top: -3px;
}

#sidebar .woocommerce-sidebar-filters .chosen-container-active .chosen-single,
#sidebar .woocommerce-sidebar-filters .chosen-container-active.chosen-with-drop .chosen-single {
  border-color: #ccc;
  box-shadow: none;
}

#sidebar .woocommerce-sidebar-filters .chosen-container-active.chosen-with-drop .chosen-single {
  border-radius: 10px 10px 0 0;
}

#sidebar .woocommerce-sidebar-filters .chosen-container .chosen-drop {
  border: 1px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

#sidebar .woocommerce-sidebar-filters .chosen-container .chosen-results {
  margin: 0;
  padding: 0;
}

#sidebar .woocommerce-sidebar-filters .chosen-container .chosen-results li {
  padding: 8px 14px !important;
  font-size: 13px;
  line-height: 1.4;
  color: #2f2f2f;
}

#sidebar .woocommerce-sidebar-filters .chosen-container .chosen-results li.highlighted {
  background: #ffd500 !important;
  background-image: none !important;
  color: #2f2f2f !important;
}

#sidebar .woocommerce-sidebar-filters .chosen-container .chosen-results li.result-selected {
  background: #f5f5f5;
  color: #2f2f2f;
}

#sidebar .woocommerce-sidebar-filters .chosen-container-single .chosen-search {
  padding: 6px 8px;
}

#sidebar .woocommerce-sidebar-filters .chosen-container-single .chosen-search input[type="text"] {
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 13px;
  background-image: none;
  box-shadow: none;
}

#sidebar .woocommerce-sidebar-filters .chosen-container-single .chosen-search input[type="text"]:focus {
  border-color: #ccc;
  outline: none;
}

/* Also style plain <select> in case Chosen doesn't init */
#sidebar .woocommerce-sidebar-filters select.woof_select,
#sidebar .woocommerce-sidebar-filters .woof_container_inner select {
  box-sizing: border-box;
  width: 100%;
  height: 31px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 0 30px 0 14px;
  background: #fff;
  color: #2f2f2f;
  font-size: 13px;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none;
}

#sidebar .woocommerce-sidebar-filters select.woof_select:focus,
#sidebar .woocommerce-sidebar-filters .woof_container_inner select:focus {
  border-color: #ccc;
  outline: none;
}

/* Shop sidebar: brand filter, aligned with other fields */
#sidebar .woocommerce-sidebar-filters .woof_container_product_brand {
  margin: 0 0 16px;
}

#sidebar .woocommerce-sidebar-filters .woof_container_product_brand .woof_container_inner_product_brand > h4 {
  display: none;
}

#sidebar .woocommerce-sidebar-filters .woof_container_product_brand .woof_block_html_items {
  margin: 0;
  padding: 0;
}

#sidebar .woocommerce-sidebar-filters .woof_container_product_brand input.woof_checkbox_term[name="royal-canin"] + label.woof_checkbox_label,
#sidebar .woocommerce-sidebar-filters .woof_container_product_brand .woof_term_34 > label.woof_checkbox_label {
  font-weight: 800 !important;
}

/* Shop sidebar: WOOF text search — same look as header search */
#sidebar .woocommerce-sidebar-filters .woof_text_search_container {
  width: 100% !important;
  margin: 0 0 16px;
}

.woocommerce-sidebar-filters .woof_text_search_container .woof_container_inner {
  position: relative;
  width: 100% !important;
  max-width: 100%;
}

.woocommerce-sidebar-filters .woof_text_search_container input[type="search"],
.woocommerce-sidebar-filters .woof_husky_txt-input {
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 12px 40px;
  font-size: 13px;
  line-height: 1.2;
  background-color: #fff;
  width: 100% !important;
  height: 31px;
  margin: 0 !important;
  -webkit-appearance: none;
  appearance: none;
}

.woocommerce-sidebar-filters .woof_text_search_container input[type="search"]:focus,
.woocommerce-sidebar-filters .woof_husky_txt-input:focus {
  outline: none;
  border-color: #ccc;
  box-shadow: none;
}

/* Magnifying glass trigger (same asset as header) */
.woocommerce-sidebar-filters .woof_text_search_container .woof_text_search_go {
  display: block !important;
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  right: auto;
  margin: 0;
  width: 15px;
  height: 15px;
  z-index: 2;
  border: none !important;
  background-color: transparent;
  background-image: url("assets/icons/search.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  text-indent: -9999px;
  overflow: hidden;
  cursor: pointer;
}

.woocommerce-sidebar-filters .woof_text_search_container .woof_text_search_go:hover {
  opacity: 0.7;
}

/*
 * Two clears: WebKit’s search cancel + WOOF Husky .woof_husky_txt-cross.
 * Hide WebKit; keep Husky (correct WOOF reset). Position cross inside the field.
 */
.woocommerce-sidebar-filters .woof_text_search_container input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

/* Husky appends the cross inside .woof_husky_txt (below the input); pull it up into the field */
.woocommerce-sidebar-filters .woof_text_search_container .woof_husky_txt {
  position: relative;
  margin-top: 0;
  min-height: 0;
}

.woocommerce-sidebar-filters .woof_husky_txt-cross {
  position: absolute !important;
  right: 10px !important;
  /* Input height 31px; center 18px cross: -(31 - 18) / 2 - 31 ≈ -25px from .woof_husky_txt top */
  top: -25px !important;
  left: auto !important;
  transform: none !important;
  margin: 0 !important;
  width: 18px !important;
  height: 18px !important;
  line-height: 16px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  color: #666;
  cursor: pointer;
  z-index: 4;
  background: transparent;
  border: none;
  text-indent: 0;
  overflow: visible;
}

/* ========================================================================
   Single Product Page - Sale badge
   ======================================================================== */

/* Sale badge - same style as in product category */
.woocommerce div.product span.onsale {
  min-height: auto;
  min-width: auto;
  background: #FFD500;
  color: #2f2f2f;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  padding: 5px 10px;
  border-radius: 20px;
}

/* ========================================================================
   Single Product Page - Wishlist button (top-right of gallery)
   ======================================================================== */

/* Gallery wrapper needs relative positioning */
.woocommerce div.product div.images.woocommerce-product-gallery {
  position: relative;
}

/* Wishlist wrapper - positioned top-right */
.woocommerce div.product div.images .tinv-wraper.tinv-wishlist.tinvwl-woocommerce_product_thumbnails {
  position: absolute ;
  top: 12px ;
  right: 12px ;
  z-index: 5;
}

/* Wishlist button - circular, white background */
.woocommerce div.product div.images .tinv-wraper.tinvwl-woocommerce_product_thumbnails .tinvwl_add_to_wishlist_button {
  display: grid;
  place-items: center;
  width: 36px ;
  height: 36px;
  border-radius: 50%;
  padding: 0 ;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
  transition: background 0.15s, color 0.15s;
}

/* Wishlist button icon */
.woocommerce div.product div.images .tinv-wraper.tinvwl-woocommerce_product_thumbnails .tinvwl_add_to_wishlist_button::before {
  position: static;
  font-size: 16px;
  margin: 0;
}

/* Wishlist button hover state */
.woocommerce div.product div.images .tinv-wraper.tinvwl-woocommerce_product_thumbnails .tinvwl_add_to_wishlist_button:hover {
  color: #e44;
}

/* Wishlist button active state (already in wishlist) */
.woocommerce div.product div.images .tinv-wraper.tinvwl-woocommerce_product_thumbnails .tinvwl_add_to_wishlist_button.tinvwl-product-in-list {
  color: #e44;
}

/* ========================================================================
   Single Product Page - Layout, purchase form, tabs
   ======================================================================== */

body.single-product #main.single-product-main {
  padding: 22px;
  border: 1px solid #efefef;
}

body.single-product #content .woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);
  gap: 30px 44px;
  align-items: start;
}

body.single-product .woocommerce div.product div.images.woocommerce-product-gallery,
body.single-product .woocommerce div.product div.summary {
  float: none;
  width: 100%;
  margin: 0;
}

body.single-product .woocommerce div.product div.images.woocommerce-product-gallery {
  padding: 18px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fff;
}

body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  margin: 0;
}

body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img {
  display: block;
}

body.single-product .woocommerce div.product div.images img {
  width: 100%;
  max-height: 520px;
  object-fit: contain;
  border-radius: 8px;
}

body.single-product .woocommerce div.product div.images .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(76px, 1fr));
  gap: 12px;
  margin: 16px 0 0;
  padding: 0;
}

body.single-product .woocommerce div.product div.images .flex-control-thumbs li {
  float: none;
  width: auto;
  padding: 0;
  list-style: none;
}

body.single-product .woocommerce div.product div.images .flex-control-thumbs img {
  height: 82px;
  padding: 6px;
  border: 1px solid #efefef;
  border-radius: 10px;
  background: #fff;
  opacity: 0.72;
  object-fit: contain;
  transition: border-color 0.15s ease, opacity 0.15s ease, box-shadow 0.15s ease;
}

body.single-product .woocommerce div.product div.images .flex-control-thumbs img.flex-active,
body.single-product .woocommerce div.product div.images .flex-control-thumbs img:hover {
  border-color: #ffd500;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.18);
  opacity: 1;
}

body.single-product .woocommerce div.product div.summary {
  padding: 26px 28px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fff;
}

body.single-product .woocommerce div.product .product_title {
  margin: 0 0 14px;
  color: #4b4b4b;
  font-size: 32px;
  font-weight: 750;
  line-height: 1.12;
}

body.single-product .woocommerce div.product div.summary p.price,
body.single-product .woocommerce div.product div.summary span.price {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 20px;
  color: #145860;
  font-size: 24px;
  font-weight: 750;
  line-height: 1.25;
}

body.single-product .woocommerce div.product div.summary p.price del,
body.single-product .woocommerce div.product div.summary span.price del {
  color: #9b8b47;
  font-size: 18px;
  font-weight: 500;
  opacity: 0.8;
}

body.single-product .woocommerce div.product div.summary p.price ins,
body.single-product .woocommerce div.product div.summary span.price ins {
  color: #145860;
  text-decoration: none;
}

body.single-product .woocommerce div.product .woocommerce-product-details__short-description {
  margin: 0 0 22px;
  padding: 16px 18px;
  border: 1px solid #f1e5aa;
  border-radius: 12px;
  background: #fffdf5;
  color: #34383a;
  font-size: 15px;
  line-height: 1.45;
}

body.single-product .woocommerce div.product .woocommerce-product-details__short-description p:last-child,
body.single-product .woocommerce div.product .woocommerce-product-details__short-description ul:last-child,
body.single-product .woocommerce div.product .woocommerce-product-details__short-description ol:last-child {
  margin-bottom: 0;
}

body.single-product .woocommerce div.product .woocommerce-product-details__short-description ul,
body.single-product .woocommerce div.product .woocommerce-product-details__short-description ol {
  margin: 10px 0 0 20px;
  padding: 0;
}

body.single-product .woocommerce div.product .woocommerce-product-details__short-description li {
  margin: 0 0 8px;
}

body.single-product .woocommerce div.product form.cart {
  display: flex;
  align-items: stretch;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 22px;
  padding: 0 0 22px;
  border-bottom: 1px solid #efefef;
}

body.single-product .woocommerce div.product form.cart div.quantity {
  float: none;
  margin: 0;
}

body.single-product .woocommerce div.product form.cart .quantity .qty {
  width: 78px;
  height: 48px;
  padding: 10px 12px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #fff;
  color: #2f2f2f;
  font: 600 15px/1.3 "Open Sans", "Arial", sans-serif;
  text-align: center;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.single-product .woocommerce div.product form.cart .quantity .qty:focus {
  border-color: #ffd500;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.15);
  outline: none;
}

body.single-product .woocommerce div.product form.cart table.variations {
  width: 100%;
  margin: 0 0 4px;
  border: 0;
}

body.single-product .woocommerce div.product form.cart table.variations th,
body.single-product .woocommerce div.product form.cart table.variations td {
  display: block;
  padding: 0;
  border: 0;
  text-align: left;
}

body.single-product .woocommerce div.product form.cart table.variations label {
  display: block;
  margin: 0 0 7px;
  color: #2f2f2f;
  font-size: 14px;
  font-weight: 700;
}

body.single-product .woocommerce div.product form.cart table.variations select {
  width: 100%;
  min-height: 46px;
  margin: 0 0 14px;
  padding: 10px 38px 10px 14px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #fff;
  color: #2f2f2f;
  font: 600 14px/1.3 "Open Sans", "Arial", sans-serif;
}

body.single-product .woocommerce div.product form.cart table.variations select:focus {
  border-color: #ffd500;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.15);
  outline: none;
}

body.single-product .woocommerce div.product form.cart .reset_variations {
  display: inline-block;
  margin: -4px 0 14px;
  color: #145860;
  font-size: 13px;
  font-weight: 600;
}

body.single-product .woocommerce div.product form.cart .button.single_add_to_cart_button,
body.single-product .woocommerce div.product form.cart button.button,
body.single-product .woocommerce div.product form.cart .single_add_to_cart_button {
  min-height: 48px;
  flex: 1 1 220px;
  padding: 12px 24px;
  border: 1px solid #fcc000;
  border-radius: 10px;
  background: linear-gradient(90deg, #ffeb01, #fcc000);
  color: #2f2f2f;
  font: 700 15px/1.3 "Open Sans", "Arial", sans-serif;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
  transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

body.single-product .woocommerce div.product form.cart .button.single_add_to_cart_button:hover,
body.single-product .woocommerce div.product form.cart button.button:hover,
body.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover,
body.single-product .woocommerce div.product form.cart .button.single_add_to_cart_button:focus-visible,
body.single-product .woocommerce div.product form.cart button.button:focus-visible,
body.single-product .woocommerce div.product form.cart .single_add_to_cart_button:focus-visible {
  background: linear-gradient(90deg, #fcc000, #ffeb01);
  box-shadow: 0 8px 18px rgba(252, 192, 0, 0.22);
  color: #1e2426;
  outline: none;
  transform: translateY(-1px);
}

body.single-product .woocommerce div.product .product_meta {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  color: #60676b;
  font-size: 14px;
  line-height: 1.45;
}

body.single-product .woocommerce div.product .product_meta > span {
  display: block;
}

body.single-product .woocommerce div.product .product_meta a {
  color: #145860;
  font-weight: 600;
}

body.single-product .woocommerce div.product .product_meta a:hover {
  color: #fcc200;
}

body.single-product .woocommerce div.product .woocommerce-tabs,
body.single-product .woocommerce div.product .related.products,
body.single-product .woocommerce div.product .upsells.products {
  grid-column: 1 / -1;
}

body.single-product .woocommerce div.product .woocommerce-tabs {
  margin: 8px 0 0;
  padding: 0;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin: 0;
  padding: 0 18px;
  border-bottom: 1px solid #efefef;
  background: #fafafa;
  overflow-x: auto;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::after {
  display: none;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 16px 18px;
  color: #60676b;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  white-space: nowrap;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a:focus-visible {
  color: #1e2426;
  outline: none;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: -1px;
  left: 18px;
  display: block;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: #ffd500;
}

body.single-product .woocommerce div.product .woocommerce-tabs .panel {
  margin: 0;
  padding: 26px 30px 30px;
  color: #34383a;
  font-size: 15px;
  line-height: 1.6;
}

body.single-product .woocommerce div.product .woocommerce-tabs .panel h2 {
  margin: 0 0 14px;
  color: #4b4b4b;
  font-size: 28px;
  font-weight: 750;
  line-height: 1.2;
}

body.single-product .woocommerce div.product .woocommerce-tabs .panel p:last-child {
  margin-bottom: 0;
}

body.single-product .woocommerce #reviews #comments ol.commentlist {
  margin: 0 0 22px;
  padding: 0;
}

body.single-product .woocommerce #reviews #comments ol.commentlist li {
  margin: 0 0 16px;
  padding: 18px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fafafa;
}

body.single-product .woocommerce #review_form #respond {
  margin: 0;
  padding: 20px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fafafa;
}

body.single-product .woocommerce #review_form #respond .comment-reply-title {
  display: block;
  margin: 0 0 14px;
  color: #4b4b4b;
  font-size: 20px;
  font-weight: 750;
}

body.single-product .woocommerce #review_form #respond label {
  display: block;
  margin: 0 0 7px;
  color: #2f2f2f;
  font-size: 14px;
  font-weight: 700;
}

body.single-product .woocommerce #review_form #respond input[type="text"],
body.single-product .woocommerce #review_form #respond input[type="email"],
body.single-product .woocommerce #review_form #respond textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #fff;
  color: #2f2f2f;
  font: 400 14px/1.45 "Open Sans", "Arial", sans-serif;
}

body.single-product .woocommerce #review_form #respond textarea {
  min-height: 132px;
  resize: vertical;
}

body.single-product .woocommerce #review_form #respond input[type="text"]:focus,
body.single-product .woocommerce #review_form #respond input[type="email"]:focus,
body.single-product .woocommerce #review_form #respond textarea:focus {
  border-color: #ffd500;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.15);
  outline: none;
}

body.single-product .woocommerce #review_form #respond .form-submit {
  margin: 14px 0 0;
}

body.single-product .woocommerce #review_form #respond .form-submit input {
  min-height: 46px;
  padding: 11px 24px;
  border: 1px solid #fcc000;
  border-radius: 10px;
  background: linear-gradient(90deg, #ffeb01, #fcc000);
  color: #2f2f2f;
  font: 700 14px/1.3 "Open Sans", "Arial", sans-serif;
  cursor: pointer;
}

body.single-product .woocommerce #review_form #respond .form-submit input:hover,
body.single-product .woocommerce #review_form #respond .form-submit input:focus-visible {
  background: linear-gradient(90deg, #fcc000, #ffeb01);
  outline: none;
}

body.single-product .woocommerce div.product .related.products {
  margin-top: 4px;
}

body.single-product .woocommerce div.product .related.products > h2,
body.single-product .woocommerce div.product .upsells.products > h2 {
  margin: 0 0 18px;
  color: #4b4b4b;
  font-size: 30px;
  font-weight: 750;
  line-height: 1.2;
}

@media (max-width: 900px) {
  body.single-product #main.single-product-main {
    padding: 16px;
  }

  body.single-product #content .woocommerce div.product {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.single-product .woocommerce div.product div.summary {
    padding: 22px;
  }

  body.single-product .woocommerce div.product .product_title {
    font-size: 28px;
  }

  body.single-product .woocommerce div.product div.summary p.price,
  body.single-product .woocommerce div.product div.summary span.price {
    font-size: 22px;
  }
}

@media (max-width: 650px) {
  body.single-product #main.single-product-main {
    padding: 12px;
  }

  body.single-product .woocommerce div.product div.images.woocommerce-product-gallery,
  body.single-product .woocommerce div.product div.summary {
    padding: 16px;
  }

  body.single-product .woocommerce div.product .product_title {
    font-size: 24px;
  }

  body.single-product .woocommerce div.product .woocommerce-product-details__short-description {
    padding: 14px;
    font-size: 14px;
  }

  body.single-product .woocommerce div.product form.cart {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 10px;
  }

  body.single-product .woocommerce div.product form.cart .quantity .qty {
    width: 100%;
  }

  body.single-product .woocommerce div.product form.cart .button.single_add_to_cart_button,
  body.single-product .woocommerce div.product form.cart button.button,
  body.single-product .woocommerce div.product form.cart .single_add_to_cart_button {
    width: 100%;
    min-width: 0;
    padding-right: 14px;
    padding-left: 14px;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0 10px;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 14px 12px;
    font-size: 14px;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs .panel {
    padding: 20px 16px 22px;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs .panel h2,
  body.single-product .woocommerce div.product .related.products > h2,
  body.single-product .woocommerce div.product .upsells.products > h2 {
    font-size: 24px;
  }
}

/* ========================================================================
   My Account Page
   ======================================================================== */

/* --- Sidebar navigation (logged-in) --- */

.my-account-sidebar-nav {
  margin-top: 20px;
}

.my-account-sidebar-nav .woocommerce-MyAccount-navigation {
  width: 100% !important;
  float: none !important;
  border: 1px solid #efefef;
  border-radius: 10px;
  overflow: hidden;
  background: #f4f4f4;
}

.my-account-sidebar-nav .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.my-account-sidebar-nav .woocommerce-MyAccount-navigation-link {
  border-bottom: 1px solid #efefef;
}

.my-account-sidebar-nav .woocommerce-MyAccount-navigation-link:last-child {
  border-bottom: 0;
}

.my-account-sidebar-nav .woocommerce-MyAccount-navigation-link a {
  display: block;
  padding: 14px 20px;
  font-size: 14px;
  color: #3c3f41;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}

.my-account-sidebar-nav .woocommerce-MyAccount-navigation-link a:hover {
  background: #efefef;
  color: #1e2426;
}

.my-account-sidebar-nav .woocommerce-MyAccount-navigation-link.is-active a {
  background: #ffd500;
  color: #1e2426;
  font-weight: 600;
}

/* --- Guest layout (login/register forms) — full-width, no sidebar --- */

/*
 * Hide duplicate WC account nav only inside the main column (#content).
 * Sidebar uses the same .woocommerce-MyAccount-navigation class — it must stay visible.
 */
#content .woocommerce .woocommerce-MyAccount-navigation {
  display: none;
}

/* Account main column: card shell aligned with product cards / sidebar */
#content .woocommerce .woocommerce-MyAccount-content {
  width: 100%;
  float: none;
  box-sizing: border-box;
  padding: 24px 28px;
  margin: 0;
  background: #fff;
  border: 1px solid #efefef;
  border-radius: 12px;
  overflow: visible;
}

#content .woocommerce .woocommerce-MyAccount-content > :last-child {
  margin-bottom: 0;
}

/* Empty sections (e.g. no orders): balance whitespace inside the card */
#content .woocommerce .woocommerce-MyAccount-content:has(> .woocommerce-info:only-child),
#content .woocommerce .woocommerce-MyAccount-content:has(> .woocommerce-message:only-child) {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 220px;
}

/* --- Login / Register two-column layout --- */

.woocommerce #customer_login {
  display: flex;
  gap: 15px;
}

.woocommerce #customer_login .u-column1,
.woocommerce #customer_login .u-column2 {
  flex: 1 1 0;
  min-width: 0;
  max-width: none;
  float: none;
  margin: 0;
  padding: 24px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fff;
}

.woocommerce #customer_login h2 {
  font-size: 22px;
  font-weight: 700;
  color: #4b4b4b;
  margin: 0 0 20px;
}

/* --- Shared form field styles (login, register, edit-account) --- */

.woocommerce form .form-row {
  margin: 0 0 16px;
  padding: 0;
}

.woocommerce form .form-row label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #2f2f2f;
  margin: 0 0 6px;
  line-height: 1.3;
}

.woocommerce form .form-row label .required {
  color: #e44;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 14px;
  font-family: "Open Sans", "Arial", sans-serif;
  color: #2f2f2f;
  background: #fff;
  transition: border-color 0.15s;
  -webkit-appearance: none;
  appearance: none;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row input[type="text"]:focus,
.woocommerce form .form-row input[type="email"]:focus,
.woocommerce form .form-row input[type="password"]:focus,
.woocommerce form .form-row input[type="tel"]:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
  outline: none;
  border-color: #ffd500;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.15);
}

/*
 * WooCommerce Select2 (billing/shipping country & state) — match theme text inputs.
 * Native <select> rules above do not apply; WC replaces them with Select2 widgets.
 */
.woocommerce .select2-container {
  width: 100% !important;
  max-width: 100%;
  overflow: visible;
}

.woocommerce .select2-container--default .select2-selection--single {
  position: relative;
  height: auto;
  min-height: 46px;
  padding: 0;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background-color: #fff;
  overflow: visible;
  transition: border-color 0.15s, outline-color 0.15s;
}

/*
 * Focus/open: use outline for a full ring (box-shadow is often clipped by parents).
 */
.woocommerce .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce .select2-container--default.select2-container--open .select2-selection--single {
  border-color: #ffd500;
  outline: 2px solid rgba(255, 213, 0, 0.45);
  outline-offset: 0;
  box-shadow: none;
}

/* Open below: keep bottom border + radius so the ring is not “cut”; WC only zeroes radius */
.woocommerce .select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: 1px solid #ffd500;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 12px 44px 12px 16px;
  font-family: "Open Sans", "Arial", sans-serif;
  font-size: 14px;
  line-height: 1.45;
  color: #2f2f2f;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #888;
}

/* Chevron via SVG — hide Select2’s border-triangle “b” (looks misaligned / chunky) */
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px;
  top: 50%;
  margin-top: -22px;
  right: 10px;
  width: 32px;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow b {
  display: none !important;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  transform: translate(-50%, -50%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23145860' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
  transition: transform 0.15s ease;
  pointer-events: none;
}

.woocommerce .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow::after {
  transform: translate(-50%, -50%) rotate(180deg);
}

/*
 * Select2 appends the dropdown to document.body, so it is NOT inside .woocommerce.
 * Scope with body.woocommerce-page so these rules actually apply on the storefront.
 */
body.woocommerce-page .select2-dropdown {
  margin-top: 6px;
  border: 1px solid #ffd500;
  border-radius: 10px;
  overflow: hidden;
  /* Same focus treatment as text inputs: yellow border + soft ring */
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.15), 0 8px 24px rgba(0, 0, 0, 0.06);
  background: #fff;
}

body.woocommerce-page .select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #e0e0e0 !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  font-family: "Open Sans", "Arial", sans-serif !important;
  color: #2f2f2f !important;
  box-sizing: border-box !important;
}

body.woocommerce-page .select2-container--default .select2-search--dropdown .select2-search__field:focus {
  outline: none !important;
  border-color: #ffd500 !important;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.15) !important;
}

body.woocommerce-page .select2-container--default .select2-results__option {
  padding: 10px 14px;
  font-size: 14px;
  line-height: 1.4;
}

body.woocommerce-page .select2-container--default .select2-results__option[aria-selected="true"],
body.woocommerce-page .select2-container--default .select2-results__option[data-selected="true"] {
  background-color: #f4f4f4;
  color: #2f2f2f;
}

/* Hover / keyboard row: same solid yellow as account sidebar active item */
body.woocommerce-page .select2-container--default .select2-results__option--highlighted,
body.woocommerce-page .select2-container--default .select2-results__option--highlighted[aria-selected],
body.woocommerce-page .select2-container--default .select2-results__option--highlighted[data-selected] {
  background-color: #ffd500 !important;
  background-image: none !important;
  color: #1e2426 !important;
  font-weight: 600 !important;
}

.woocommerce .select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #f4f4f4;
  cursor: not-allowed;
  opacity: 0.9;
}

/* Avoid clipping Select2 focus ring / dropdown */
.woocommerce form .form-row .select2-container,
.woocommerce .woocommerce-address-fields .form-row {
  overflow: visible;
}

/* Password field wrapper */
.woocommerce form .form-row .password-input {
  position: relative;
}

.woocommerce form .form-row .show-password-input {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: #888;
}

.woocommerce form .form-row .show-password-input:hover {
  color: #2f2f2f;
}

/* --- Buttons --- */

.woocommerce button.woocommerce-button,
.woocommerce button.woocommerce-Button,
.woocommerce .woocommerce-form-login button.woocommerce-form-login__submit,
.woocommerce .woocommerce-form-register button.woocommerce-form-register__submit,
.woocommerce button.button[name="save_account_details"],
.woocommerce .woocommerce-MyAccount-content button.button,
.woocommerce .woocommerce-MyAccount-content a.button,
.woocommerce .woocommerce-MyAccount-content input[type="submit"] {
  display: inline-block;
  padding: 12px 28px;
  font-size: 14px;
  font-weight: 600;
  font-family: "Open Sans", "Arial", sans-serif;
  line-height: 1.3;
  color: #2f2f2f;
  background: linear-gradient(90deg, #FFEB01, #FCC000);
  border: 1px solid #FCC000;
  border-radius: 10px;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s;
}

.woocommerce button.woocommerce-button:hover,
.woocommerce button.woocommerce-Button:hover,
.woocommerce .woocommerce-form-login button.woocommerce-form-login__submit:hover,
.woocommerce .woocommerce-form-register button.woocommerce-form-register__submit:hover,
.woocommerce button.button[name="save_account_details"]:hover,
.woocommerce .woocommerce-MyAccount-content button.button:hover,
.woocommerce .woocommerce-MyAccount-content a.button:hover,
.woocommerce .woocommerce-MyAccount-content input[type="submit"]:hover {
  background: linear-gradient(90deg, #FCC000, #FFEB01);
}

/* Ensure form rows stack label above input */
.woocommerce form .form-row {
  display: block;
}

/* WC default column borders — replaced by our card style */
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
  border: none;
  padding: 0;
  max-width: none;
  width: auto;
}

/* Remember me + submit row */
.woocommerce .woocommerce-form-login p.form-row:has(.woocommerce-form-login__submit) {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #3c3f41;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #ffd500;
}

/* Lost password link */
.woocommerce .woocommerce-LostPassword a {
  font-size: 14px;
  color: #145860;
  text-decoration: none;
}

.woocommerce .woocommerce-LostPassword a:hover {
  color: #fcc200;
}

/* Registration privacy text */
.woocommerce .woocommerce-form-register .woocommerce-privacy-policy-text p {
  font-size: 13px;
  color: #888;
  line-height: 1.5;
}

.woocommerce .woocommerce-form-register .woocommerce-privacy-policy-text a {
  color: #145860;
  font-weight: 600;
}

.woocommerce .woocommerce-form-register .woocommerce-privacy-policy-text a:hover {
  color: #fcc200;
}

/* --- Dashboard content area --- */

.woocommerce-MyAccount-content p {
  font-size: 14px;
  line-height: 1.6;
  color: #3c3f41;
}

.woocommerce-MyAccount-content p a {
  color: #145860;
  font-weight: 600;
}

.woocommerce-MyAccount-content p a:hover {
  color: #fcc200;
}

/* --- Orders table --- */

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  border: 1px solid #efefef;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-orders-table th {
  text-align: left;
  padding: 14px 18px;
  font-weight: 600;
  color: #2f2f2f;
  background: #f4f4f4;
  border-bottom: 1px solid #efefef;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-orders-table td {
  padding: 14px 18px;
  border-bottom: 1px solid #efefef;
  color: #3c3f41;
  vertical-align: middle;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:last-child td {
  border-bottom: none;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-orders-table tr:hover td {
  background: #fafafa;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a.button {
  padding: 8px 16px;
  font-size: 13px;
  border-radius: 8px;
}

/* Pagination under orders */
#content .woocommerce .woocommerce-MyAccount-content .woocommerce-pagination {
  margin-top: 20px;
  font-size: 14px;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-pagination .page-numbers {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-pagination a.page-numbers,
#content .woocommerce .woocommerce-MyAccount-content .woocommerce-pagination span.page-numbers {
  display: inline-block;
  min-width: 36px;
  padding: 8px 12px;
  text-align: center;
  border-radius: 10px;
  border: 1px solid #efefef;
  background: #fff;
  color: #3c3f41;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-pagination a.page-numbers:hover {
  border-color: #fcc200;
  background: #fffdf5;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-pagination span.page-numbers.current {
  font-weight: 600;
  border-color: #fcc200;
  background: linear-gradient(90deg, #ffeb01, #fcc000);
  color: #2f2f2f;
}

/* --- Addresses section (my-address: billing + shipping stacked) --- */

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 4px;
}

/* Override WC layout.css float columns inside address list */
#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses .u-column1,
#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses .u-column2,
#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses .col-1,
#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses .col-2 {
  float: none;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address,
#content .woocommerce .woocommerce-MyAccount-content > .woocommerce-Address {
  flex: none;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 22px 24px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fafafa;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Address header,
#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Address .woocommerce-Address-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin: 0 0 14px;
  padding: 0 0 14px;
  border-bottom: 1px solid #efefef;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Address header h2,
#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Address header h3,
#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Address .woocommerce-Address-title h2 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
  color: #4b4b4b;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Address header .edit,
#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Address header a.edit {
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 600;
  color: #145860;
  text-decoration: none;
  white-space: nowrap;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Address header .edit:hover,
#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Address header a.edit:hover {
  color: #fcc200;
}

#content .woocommerce .woocommerce-MyAccount-content .woocommerce-Address address {
  font-style: normal;
  font-size: 15px;
  line-height: 1.65;
  color: #3c3f41;
}

/* ========================================================================
   WooCommerce — Checkout (classic shortcode)
   ======================================================================== */

body.woocommerce-checkout #content .woocommerce form.checkout.woocommerce-checkout {
  float: none;
  width: 100%;
  max-width: 100%;
  margin: 0;
}

/* Coupon toggle + form (before checkout form) */
body.woocommerce-checkout #content .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info {
  margin-bottom: 20px;
}

body.woocommerce-checkout #content .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon {
  font-weight: 600;
  color: #145860;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.woocommerce-checkout #content .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon:hover {
  color: #fcc200;
}

body.woocommerce-checkout #content .woocommerce form.checkout_coupon {
  box-sizing: border-box;
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fafafa;
}

body.woocommerce-checkout #content .woocommerce form.checkout_coupon .form-row-first,
body.woocommerce-checkout #content .woocommerce form.checkout_coupon .form-row-last {
  float: none;
  width: 100%;
  margin: 0 0 12px;
}

body.woocommerce-checkout #content .woocommerce form.checkout_coupon .form-row-last {
  margin-bottom: 0;
}

body.woocommerce-checkout #content .woocommerce form.checkout_coupon .button {
  min-height: 46px;
  padding: 10px 22px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 10px;
  color: #2f2f2f;
  background: linear-gradient(90deg, #ffeb01, #fcc000);
  border: 1px solid #fcc000;
  cursor: pointer;
}

body.woocommerce-checkout #content .woocommerce form.checkout_coupon .button:hover {
  background: linear-gradient(90deg, #fcc000, #ffeb01);
}

/* Billing + shipping columns */
body.woocommerce-checkout #content .woocommerce-checkout #customer_details.col2-set {
  display: grid;
  gap: 24px;
  width: 100%;
  float: none;
  margin: 0 0 28px;
}

body.woocommerce-checkout #content .woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #content .woocommerce-checkout #customer_details .col-2 {
  float: none;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.woocommerce-checkout #content .woocommerce-billing-fields,
body.woocommerce-checkout #content .woocommerce-shipping-fields {
  box-sizing: border-box;
  padding: 22px 24px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fff;
  transition: border-color 0.15s, background 0.15s;
}

body.woocommerce-checkout.zoo-checkout-pickup-selected #content .woocommerce-billing-fields {
  border-color: #f3d34f;
  background: #fffdf5;
}

body.woocommerce-checkout #content .zoo-checkout-shipping-choice {
  box-sizing: border-box;
  margin: 0 0 24px;
  padding: 22px 24px 24px;
  border: 1px solid #f3d34f;
  border-radius: 12px;
  background: #fffdf5;
}

body.woocommerce-checkout #content .zoo-checkout-shipping-choice[hidden] {
  display: none !important;
}

body.woocommerce-checkout #content .zoo-checkout-shipping-choice__header {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0 0 18px;
  padding: 0 0 16px;
  border-bottom: 1px solid rgba(252, 192, 0, 0.35);
}

body.woocommerce-checkout #content .zoo-checkout-shipping-choice__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #ffd500;
  color: #163f45;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}

body.woocommerce-checkout #content .zoo-checkout-shipping-choice h3 {
  margin: 0 0 5px;
  color: #273438;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.2;
}

body.woocommerce-checkout #content .zoo-checkout-shipping-choice p {
  max-width: 720px;
  margin: 0;
  color: #4d5558;
  font-size: 14px;
  line-height: 1.5;
}

body.woocommerce-checkout #content .zoo-checkout-shipping-choice ul#shipping_method {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

body.woocommerce-checkout #content .zoo-checkout-shipping-choice ul#shipping_method li {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fff;
  text-align: left;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}

body.woocommerce-checkout #content .zoo-checkout-shipping-choice ul#shipping_method li:has(input[type="radio"]:checked) {
  border-color: #ffd500;
  background: #fffbea;
  box-shadow: 0 5px 18px rgba(252, 192, 0, 0.12);
}

body.woocommerce-checkout #content .zoo-checkout-shipping-choice ul#shipping_method input[type="radio"] {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: #ffd500;
}

body.woocommerce-checkout #content .zoo-checkout-shipping-choice ul#shipping_method label {
  flex: 1 1 auto;
  margin: 0;
  color: #2f2f2f;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}

body.woocommerce-checkout #content .woocommerce-billing-fields > h3,
body.woocommerce-checkout #content .woocommerce-additional-fields > h3 {
  font-size: 20px;
  font-weight: 700;
  color: #4b4b4b;
  margin: 0 0 18px;
  padding: 0 0 12px;
  border-bottom: 1px solid #efefef;
}

body.woocommerce-checkout #content .zoo-checkout-mode-notes {
  margin: 0 0 18px;
}

body.woocommerce-checkout #content .zoo-checkout-mode-note {
  display: none;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fafafa;
  color: #3c3f41;
}

body.woocommerce-checkout.zoo-checkout-pickup-selected #content .zoo-checkout-mode-note--pickup,
body.woocommerce-checkout.zoo-checkout-delivery-selected #content .zoo-checkout-mode-note--delivery {
  display: flex;
}

body.woocommerce-checkout.zoo-checkout-pickup-selected #content .zoo-checkout-mode-note--pickup {
  border-color: #f3d34f;
  background: #fff9d9;
}

body.woocommerce-checkout.zoo-checkout-delivery-selected #content .zoo-checkout-mode-note--delivery {
  border-color: #dbe8ea;
  background: #f7fbfb;
}

body.woocommerce-checkout #content .zoo-checkout-mode-note__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #ffd500;
  color: #163f45;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
}

body.woocommerce-checkout #content .zoo-checkout-mode-note strong {
  display: block;
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 800;
  color: #273438;
}

body.woocommerce-checkout #content .zoo-checkout-mode-note p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #4d5558;
}

body.woocommerce-checkout.zoo-checkout-pickup-selected #billing_country_field,
body.woocommerce-checkout.zoo-checkout-pickup-selected #billing_address_1_field,
body.woocommerce-checkout.zoo-checkout-pickup-selected #billing_address_2_field,
body.woocommerce-checkout.zoo-checkout-pickup-selected #billing_city_field,
body.woocommerce-checkout.zoo-checkout-pickup-selected #billing_state_field,
body.woocommerce-checkout.zoo-checkout-pickup-selected #billing_postcode_field {
  display: none !important;
}

body.woocommerce-checkout #content .woocommerce-shipping-fields {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.woocommerce-checkout #content #ship-to-different-address {
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

body.woocommerce-checkout #content #ship-to-different-address label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-weight: 600;
  color: #2f2f2f;
}

body.woocommerce-checkout #content #ship-to-different-address input[type="checkbox"] {
  width: 20px;
  height: 20px;
  accent-color: #ffd500;
  flex-shrink: 0;
}

body.woocommerce-checkout #content .woocommerce-additional-fields {
  box-sizing: border-box;
  margin-top: 16px;
  padding: 22px 24px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fafafa;
}

body.woocommerce-checkout #content .woocommerce-account-fields {
  margin: 20px 0;
  padding: 18px 20px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fffdf5;
}

body.woocommerce-checkout #content .woocommerce-account-fields .create-account label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  cursor: pointer;
}

body.woocommerce-checkout #content .woocommerce-account-fields .create-account input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #ffd500;
}

/* “Your order” + review */
body.woocommerce-checkout #content #order_review_heading {
  font-size: 22px;
  font-weight: 700;
  color: #4b4b4b;
  margin: 8px 0 16px;
  padding: 0 0 12px;
  border-bottom: 1px solid #efefef;
}

body.woocommerce-checkout #content #order_review.woocommerce-checkout-review-order {
  box-sizing: border-box;
  padding: 22px 24px 24px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fafafa;
}

body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0 0 20px;
  font-size: 14px;
  border: 1px solid #efefef;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table thead th {
  padding: 14px 16px;
  font-size: 13px;
  font-weight: 600;
  color: #2f2f2f;
  background: #f4f4f4;
  border-bottom: 1px solid #efefef;
  text-align: left;
}

body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table thead th.product-total {
  text-align: right;
}

body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tbody td {
  padding: 14px 16px;
  border-bottom: 1px solid #efefef;
  vertical-align: top;
  color: #3c3f41;
}

body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tbody td.product-total {
  text-align: right;
  font-weight: 600;
  color: #2f2f2f;
}

body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tbody tr:last-child td {
  border-bottom: 1px solid #efefef;
}

body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tfoot td {
  padding: 12px 16px;
  border-bottom: 1px solid #efefef;
  vertical-align: middle;
}

body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tfoot th {
  text-align: left;
  font-weight: 600;
  color: #3c3f41;
}

body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tfoot td {
  text-align: right;
  color: #2f2f2f;
}

body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tfoot tr.order-total th,
body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-size: 18px;
  font-weight: 700;
  padding-top: 16px;
  border-bottom: none;
}

body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table td.product-name .product-quantity {
  font-weight: 600;
  color: #888;
}

/* Line subtotals: stack sale price vertically */
body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table td .price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  margin: 0;
}

body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table td .price del,
body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table td .price ins {
  display: block;
}

/* Shipping method radios */
body.woocommerce-checkout #content #order_review ul#shipping_method {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.woocommerce-checkout #content #order_review ul#shipping_method li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  padding: 13px 15px;
  border: 1px solid #efefef;
  border-radius: 10px;
  background: #fff;
  text-align: left;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}

body.woocommerce-checkout #content #order_review ul#shipping_method li:has(input[type="radio"]:checked) {
  border-color: #ffd500;
  background: #fffbea;
  box-shadow: 0 5px 18px rgba(252, 192, 0, 0.12);
}

body.woocommerce-checkout #content #order_review ul#shipping_method li:last-child {
  margin-bottom: 0;
}

body.woocommerce-checkout #content #order_review ul#shipping_method input[type="radio"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  accent-color: #ffd500;
  margin: 0;
}

body.woocommerce-checkout #content #order_review ul#shipping_method label {
  flex: 1 1 auto;
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  color: #2f2f2f;
  text-align: left;
  cursor: pointer;
}

body.woocommerce-checkout #content #order_review ul#shipping_method .amount {
  font-weight: 800;
  color: #145860;
}

body.woocommerce-checkout #content #order_review tr.zoo-native-shipping-row-hidden {
  display: none !important;
}

/* Payment */
body.woocommerce-checkout #content #payment.woocommerce-checkout-payment {
  margin: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
}

body.woocommerce-checkout #content #payment ul.payment_methods {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  border: 1px solid #efefef;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

body.woocommerce-checkout #content #payment ul.payment_methods > li {
  margin: 0;
  padding: 16px 18px;
  border-bottom: 1px solid #efefef;
  transition: background 0.15s;
}

body.woocommerce-checkout #content #payment ul.payment_methods > li:last-child {
  border-bottom: none;
}

body.woocommerce-checkout #content #payment ul.payment_methods > li:has(input.input-radio:checked) {
  background: #fffdf5;
}

body.woocommerce-checkout #content #payment ul.payment_methods li label {
  display: inline;
  font-size: 15px;
  font-weight: 600;
  color: #2f2f2f;
  cursor: pointer;
  vertical-align: middle;
}

/* Custom radio: match site checkboxes */
body.woocommerce-checkout #content #payment ul.payment_methods input.input-radio {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  margin: 0 10px 0 0;
  padding: 0;
  border: 2px solid #e0e0e0;
  border-radius: 50%;
  background: #fff;
  vertical-align: middle;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
  flex-shrink: 0;
  position: relative;
}

body.woocommerce-checkout #content #payment ul.payment_methods input.input-radio:hover {
  border-color: #fcc000;
}

body.woocommerce-checkout #content #payment ul.payment_methods input.input-radio:checked {
  border-color: #fcc000;
  background: #fff;
}

body.woocommerce-checkout #content #payment ul.payment_methods input.input-radio:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ffd500;
}

body.woocommerce-checkout #content #payment ul.payment_methods input.input-radio:focus {
  outline: none;
  border-color: #ffd500;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.2);
}

/* Payment description box: remove WC's ::before triangle, clean card */
body.woocommerce-checkout #content #payment .payment_box {
  box-sizing: border-box;
  margin: 14px 0 0;
  padding: 14px 16px;
  background: #f4f4f4;
  border: 1px solid #efefef;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.5;
  color: #3c3f41;
  position: relative;
}

body.woocommerce-checkout #content #payment .payment_box::before,
body.woocommerce-checkout #content #payment .payment_box::after {
  display: none !important;
}

body.woocommerce-checkout #content #payment .payment_box p:first-child {
  margin-top: 0;
}

body.woocommerce-checkout #content #payment .payment_box p:last-child {
  margin-bottom: 0;
}

body.woocommerce-checkout #content #payment .payment_box fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

/* Place order area */
body.woocommerce-checkout #content #payment .place-order {
  margin: 0;
  padding: 20px 0 0;
}

body.woocommerce-checkout #content #payment #place_order {
  box-sizing: border-box;
  width: 100%;
  min-height: 52px;
  padding: 14px 24px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  border-radius: 10px;
  color: #2f2f2f !important;
  background: linear-gradient(90deg, #ffeb01, #fcc000) !important;
  border: 1px solid #fcc000 !important;
  cursor: pointer;
  transition: background 0.15s;
  text-shadow: none;
}

body.woocommerce-checkout #content #payment #place_order:hover {
  background: linear-gradient(90deg, #fcc000, #ffeb01) !important;
}

body.woocommerce-checkout #content #payment #place_order:focus,
body.woocommerce-checkout #content #payment #place_order:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.35) !important;
}

body.woocommerce-checkout #content .woocommerce-terms-and-conditions-wrapper {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.5;
  color: #3c3f41;
}

body.woocommerce-checkout #content .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #ffd500;
  margin-right: 8px;
  vertical-align: middle;
}

body.woocommerce-checkout #content .woocommerce-terms-and-conditions-wrapper label {
  cursor: pointer;
}

body.woocommerce-checkout #content .woocommerce-privacy-policy-text {
  margin: 0 0 16px;
  font-size: 13px;
  color: #888;
  line-height: 1.5;
}

body.woocommerce-checkout #content .woocommerce-privacy-policy-text a {
  color: #145860;
  font-weight: 600;
}

body.woocommerce-checkout #content .woocommerce-privacy-policy-text a:hover {
  color: #fcc200;
}

/* Login prompt at checkout */
body.woocommerce-checkout #content .woocommerce-form-login-toggle {
  margin: 0 0 20px;
  font-size: 14px;
}

body.woocommerce-checkout #content .woocommerce-form-login-toggle .showlogin {
  font-weight: 600;
  color: #145860;
}

body.woocommerce-checkout #content .woocommerce-form-login-toggle .showlogin:hover {
  color: #fcc200;
}

body.woocommerce-checkout #content .woocommerce-form-login {
  margin: 0 0 24px;
  padding: 22px 24px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fff;
}


/* Order received (thank you) — same full-width layout via page.php */
body.woocommerce-checkout.woocommerce-order-received #content .woocommerce-order {
  max-width: none;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 28px 24px;
  border: 1px solid #efefef;
  border-radius: 12px;
  background: #fafafa;
}

body.woocommerce-checkout.woocommerce-order-received #content .woocommerce-order ul.order_details,
body.woocommerce-checkout.woocommerce-order-received #content .woocommerce-order ul.wc-bacs-bank-details {
  list-style: none;
  margin: 0 0 20px;
  padding: 16px 18px;
  border: 1px solid #efefef;
  border-radius: 10px;
  background: #fff;
  font-size: 14px;
  line-height: 1.6;
}

body.woocommerce-checkout.woocommerce-order-received #content .woocommerce-order .woocommerce-thankyou-order-received {
  font-size: 20px;
  font-weight: 700;
  color: #4b4b4b;
  margin: 0 0 16px;
}

/* Order received: billing & shipping addresses — stacked vertically */
body.woocommerce-checkout.woocommerce-order-received #content .woocommerce-order .woocommerce-customer-details .col2-set,
body.woocommerce-checkout.woocommerce-order-received #content .woocommerce-order .col2-set {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

body.woocommerce-checkout.woocommerce-order-received #content .woocommerce-order .col2-set .col-1,
body.woocommerce-checkout.woocommerce-order-received #content .woocommerce-order .col2-set .col-2 {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  padding: 0;
  margin: 0 0 24px;
}

body.woocommerce-checkout.woocommerce-order-received #content .woocommerce-order .col2-set .col-2 {
  margin-bottom: 0;
}

body.woocommerce-checkout.woocommerce-order-received #content .woocommerce-order .col2-set h2,
body.woocommerce-checkout.woocommerce-order-received #content .woocommerce-order .woocommerce-customer-details h2 {
  font-size: 18px;
  font-weight: 700;
  color: #2f2f2f;
  margin: 0 0 12px;
}

body.woocommerce-checkout.woocommerce-order-received #content .woocommerce-order .col2-set address {
  border: 1px solid #efefef;
  border-radius: 10px;
  background: #fff;
  padding: 16px 18px;
  font-style: normal;
  font-size: 14px;
  line-height: 1.6;
  color: #3c3f41;
}

/* ========================================================================
   WooCommerce — Block Checkout (spacing; matches cart/checkout visual rhythm)
   ======================================================================== */

body.woocommerce-checkout #main #content > h1,
body.woocommerce-checkout #content .entry-content > h1:first-child {
  margin-bottom: 28px;
}

body.woocommerce-checkout #content .wc-block-checkout {
  padding-top: 2px;
}

/* Vertical rhythm between major sections (Contact → Address → Shipping → Payment) */
body.woocommerce-checkout #content .wc-block-components-form .wc-block-components-checkout-step {
  margin-bottom: 40px !important;
  padding-bottom: 4px;
}

body.woocommerce-checkout #content .wc-block-components-form .wc-block-components-checkout-step:last-child {
  margin-bottom: 0 !important;
}

body.woocommerce-checkout #content .wc-block-components-title.wc-block-components-title {
  margin-bottom: 20px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid #efefef;
  line-height: 1.35;
}

/* Space between fields inside a step */
body.woocommerce-checkout #content .wc-block-components-checkout-step__content > * {
  margin-bottom: 20px !important;
}

body.woocommerce-checkout #content .wc-block-components-checkout-step__content > :last-child {
  margin-bottom: 0 !important;
}

body.woocommerce-checkout #content .wc-block-components-text-input {
  margin-top: 16px !important;
}

body.woocommerce-checkout #content .wc-block-checkout__form .wc-blocks-components-select {
  margin-top: 16px !important;
}

body.woocommerce-checkout #content .wc-block-checkout__form .wc-block-components-address-form__country .wc-blocks-components-select {
  margin-top: 0 !important;
}

body.woocommerce-checkout #content .wc-block-components-country-input {
  margin-top: 18px !important;
}

body.woocommerce-checkout #content .wc-block-components-address-form .wc-block-components-checkbox {
  margin-top: 20px !important;
}

body.woocommerce-checkout #content .wc-block-components-address-form__address_2-toggle {
  margin-top: 18px !important;
  margin-bottom: 4px;
}

/* Wider gaps in the address grid (WC uses gap: 0 12px) */
body.woocommerce-checkout #content .wc-block-checkout__billing-fields .wc-block-components-address-form,
body.woocommerce-checkout #content .wc-block-checkout__shipping-fields .wc-block-components-address-form {
  row-gap: 16px !important;
  column-gap: 16px !important;
}

/* Floating-label inputs: slightly more room + site border radius (label position is WC default) */
body.woocommerce-checkout #content .wc-block-components-text-input input[type="email"],
body.woocommerce-checkout #content .wc-block-components-text-input input[type="number"],
body.woocommerce-checkout #content .wc-block-components-text-input input[type="password"],
body.woocommerce-checkout #content .wc-block-components-text-input input[type="tel"],
body.woocommerce-checkout #content .wc-block-components-text-input input[type="text"],
body.woocommerce-checkout #content .wc-block-components-text-input input[type="url"] {
  min-height: 54px;
  border-radius: 10px;
  border-color: #e0e0e0;
}

body.woocommerce-checkout #content .wc-block-components-text-input input:focus,
body.woocommerce-checkout #content .wc-block-components-text-input input:focus-visible,
body.woocommerce-cart #content .wc-block-components-text-input input:focus,
body.woocommerce-cart #content .wc-block-components-text-input input:focus-visible {
  border-color: #ffd500;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.2);
  outline: none !important;
}

/*
 * WC Blocks floating labels: WP / browser :focus-visible ring can look like a blue box on the label.
 * Keep keyboard users on the input border + box-shadow above; suppress outline on label + input.
 */
#content .wc-block-components-text-input:focus-within label,
#content .wc-block-components-text-input label:focus,
#content .wc-block-components-text-input label:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

#content .wc-blocks-components-select:focus-within .wc-blocks-components-select__label,
#content .wc-blocks-components-select .wc-blocks-components-select__label:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Some themes / WP block styles add outline on :focus-within wrapper — hide; input keeps yellow ring */
#content .wc-block-components-text-input:focus-within {
  outline: none !important;
}

body.woocommerce-checkout #content .wc-block-components-textarea {
  border-radius: 10px;
  border-color: #e0e0e0;
  padding: 14px 16px;
  min-height: 100px;
}

body.woocommerce-checkout #content .wc-block-components-textarea:focus,
body.woocommerce-checkout #content .wc-block-components-textarea:focus-visible {
  outline: none !important;
}

/*
 * Block checkout/cart selects: WC uses border color-mix(currentColor) — reads almost black.
 * Match text inputs (#e0e0e0, 10px radius, 54px height, yellow focus).
 */
body.woocommerce-checkout #content .wc-blocks-components-select .wc-blocks-components-select__container,
body.woocommerce-cart #content .wc-blocks-components-select .wc-blocks-components-select__container {
  border-radius: 10px;
}

body.woocommerce-checkout #content .wc-blocks-components-select .wc-blocks-components-select__select,
body.woocommerce-cart #content .wc-blocks-components-select .wc-blocks-components-select__select {
  border: 1px solid #e0e0e0 !important;
  border-radius: 10px !important;
  min-height: 54px;
  height: 54px;
  box-sizing: border-box;
}

body.woocommerce-checkout #content .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.woocommerce-checkout #content .wc-blocks-components-select .wc-blocks-components-select__select:focus-visible,
body.woocommerce-cart #content .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.woocommerce-cart #content .wc-blocks-components-select .wc-blocks-components-select__select:focus-visible {
  border-color: #ffd500 !important;
  border-width: 1px !important;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.2);
  outline: none !important;
}

/* Native <select> option highlight: use subtle teal instead of solid yellow
   (browser renders option list natively; accent-color tints the highlighted row) */
body.woocommerce-checkout #content .wc-blocks-components-select .wc-blocks-components-select__select,
body.woocommerce-cart #content .wc-blocks-components-select .wc-blocks-components-select__select {
  accent-color: #145860;
}

body.woocommerce-checkout #content .wc-blocks-components-select .wc-blocks-components-select__select option:checked {
  background: #f4f4f4;
  color: #2f2f2f;
}

body.woocommerce-checkout #content .wc-blocks-components-select .wc-blocks-components-select__expand,
body.woocommerce-cart #content .wc-blocks-components-select .wc-blocks-components-select__expand {
  fill: #888;
}

body.woocommerce-checkout #content .has-error .wc-blocks-components-select .wc-blocks-components-select__select,
body.woocommerce-cart #content .has-error .wc-blocks-components-select .wc-blocks-components-select__select {
  border-color: #cc1818 !important;
}

body.woocommerce-checkout #content .has-error .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.woocommerce-cart #content .has-error .wc-blocks-components-select .wc-blocks-components-select__select:focus {
  border-color: #cc1818 !important;
  box-shadow: 0 0 0 2px rgba(204, 24, 24, 0.15);
}

/*
 * Block cart/checkout order summary — coupon row (WC default: gray button + blue focus ring).
 */
body.woocommerce-checkout #content .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.woocommerce-cart #content .wc-block-components-totals-coupon .wc-block-components-panel__button {
  font-weight: 600;
  font-size: 15px;
  color: #2f2f2f;
}

body.woocommerce-checkout #content .wc-block-components-totals-coupon__form,
body.woocommerce-cart #content .wc-block-components-totals-coupon__form {
  align-items: stretch;
  gap: 10px;
}

body.woocommerce-checkout #content .wc-block-components-totals-coupon__form .wc-block-components-text-input.wc-block-components-totals-coupon__input,
body.woocommerce-cart #content .wc-block-components-totals-coupon__form .wc-block-components-text-input.wc-block-components-totals-coupon__input {
  margin-top: 0 !important;
}

body.woocommerce-checkout #content .wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"],
body.woocommerce-cart #content .wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"] {
  border: 1px solid #e0e0e0 !important;
  border-radius: 10px !important;
  min-height: 46px;
  height: 46px !important;
  outline: none !important;
  box-shadow: none !important;
}

body.woocommerce-checkout #content .wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"]:focus,
body.woocommerce-checkout #content .wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"]:focus-visible,
body.woocommerce-cart #content .wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"]:focus,
body.woocommerce-cart #content .wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"]:focus-visible {
  border-color: #ffd500 !important;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.2) !important;
  outline: none !important;
}

body.woocommerce-checkout #content .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button,
body.woocommerce-cart #content .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
  box-sizing: border-box;
  min-height: 46px !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  border-radius: 10px !important;
  color: #2f2f2f !important;
  background: linear-gradient(90deg, #ffeb01, #fcc000) !important;
  border: 1px solid #fcc000 !important;
  box-shadow: none !important;
  transition: background 0.15s, border-color 0.15s;
}

body.woocommerce-checkout #content .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover,
body.woocommerce-cart #content .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover {
  background: linear-gradient(90deg, #fcc000, #ffeb01) !important;
}
body.woocommerce-checkout #content .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:focus,
body.woocommerce-checkout #content .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:focus-visible,
body.woocommerce-cart #content .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:focus,
body.woocommerce-cart #content .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.35) !important;
}

/* Shipping / payment placeholders & notices */
body.woocommerce-checkout #content .wc-block-components-skeleton.wc-block-components-skeleton--checkout-shipping {
  margin-top: 8px;
}

body.woocommerce-checkout #content .components-notice.wc-block-checkout__no-payment-methods-notice,
body.woocommerce-checkout #content .components-notice.wc-block-checkout__only-express-payments-notice {
  margin-top: 20px !important;
  margin-bottom: 16px !important;
  border-radius: 10px;
}

body.woocommerce-checkout #content .wc-block-checkout__payment-method {
  margin-top: 8px;
}

body.woocommerce-checkout #content .wc-block-checkout__terms.wc-block-checkout__terms {
  margin-top: 24px;
}

body.woocommerce-checkout #content .wc-block-checkout__actions {
  margin-top: 28px;
  margin-bottom: 40px !important;
}

/* Order summary sidebar (block layout): breathing room */
body.woocommerce-checkout #content .wc-block-checkout__sidebar {
  padding-top: 8px;
}

body.woocommerce-checkout #content .wp-block-woocommerce-checkout-order-summary-block {
  border-radius: 12px;
  border-color: #efefef !important;
}

/* Block checkout: order note / terms checkboxes + place order CTA */
body.woocommerce-checkout #content .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  margin: 0 !important;
  border: 2px solid #e0e0e0 !important;
  border-radius: 6px !important;
  background-color: #fff !important;
  box-sizing: border-box !important;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
  overflow: hidden;
}

body.woocommerce-checkout #content .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:hover {
  border-color: #fcc000 !important;
}

body.woocommerce-checkout #content .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus {
  outline: none !important;
  border-color: #ffd500 !important;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.2) !important;
}

body.woocommerce-checkout #content .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
  background-color: #ffd500 !important;
  border-color: #fcc000 !important;
}

body.woocommerce-checkout #content .wc-block-components-checkbox .wc-block-components-checkbox__mark {
  fill: #1e2426 !important;
}

body.woocommerce-checkout #content .wc-block-components-checkbox.has-error .wc-block-components-checkbox__input[type="checkbox"]:focus {
  box-shadow: 0 0 0 2px rgba(204, 24, 24, 0.15) !important;
}

body.woocommerce-checkout #content .wc-block-components-checkout-place-order-button .wc-block-components-button:not(.is-link),
body.woocommerce-checkout #content .wc-block-components-checkout-place-order-button.wc-block-components-button:not(.is-link) {
  box-sizing: border-box;
  min-height: 52px !important;
  padding: 14px 28px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  border-radius: 10px !important;
  color: #2f2f2f !important;
  background: linear-gradient(90deg, #ffeb01, #fcc000) !important;
  border: 1px solid #fcc000 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transition: background 0.15s, border-color 0.15s;
}

body.woocommerce-checkout #content .wc-block-components-checkout-place-order-button .wc-block-components-button:not(.is-link):hover,
body.woocommerce-checkout #content .wc-block-components-checkout-place-order-button.wc-block-components-button:not(.is-link):hover {
  background: linear-gradient(90deg, #fcc000, #ffeb01) !important;
  color: #2f2f2f !important;
}

body.woocommerce-checkout #content .wc-block-components-checkout-place-order-button .wc-block-components-button:not(.is-link):focus,
body.woocommerce-checkout #content .wc-block-components-checkout-place-order-button .wc-block-components-button:not(.is-link):focus-visible,
body.woocommerce-checkout #content .wc-block-components-checkout-place-order-button.wc-block-components-button:not(.is-link):focus,
body.woocommerce-checkout #content .wc-block-components-checkout-place-order-button.wc-block-components-button:not(.is-link):focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.35) !important;
}

body.woocommerce-checkout #content .wc-block-components-checkout-place-order-button .wc-block-components-button:not(.is-link):disabled {
  opacity: 0.65 !important;
  cursor: not-allowed;
}

/* Block cart: "Proceed to checkout" (order summary CTA) */
body.woocommerce-cart #content .wc-block-cart__submit-button .wc-block-components-button:not(.is-link),
body.woocommerce-cart #content .wc-block-cart__submit-button.wc-block-components-button:not(.is-link) {
  box-sizing: border-box;
  min-height: 52px !important;
  padding: 14px 28px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  border-radius: 10px !important;
  color: #2f2f2f !important;
  background: linear-gradient(90deg, #ffeb01, #fcc000) !important;
  border: 1px solid #fcc000 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transition: background 0.15s, border-color 0.15s;
}

body.woocommerce-cart #content .wc-block-cart__submit-button .wc-block-components-button:not(.is-link):hover,
body.woocommerce-cart #content .wc-block-cart__submit-button.wc-block-components-button:not(.is-link):hover {
  background: linear-gradient(90deg, #fcc000, #ffeb01) !important;
  color: #2f2f2f !important;
}

body.woocommerce-cart #content .wc-block-cart__submit-button .wc-block-components-button:not(.is-link):focus,
body.woocommerce-cart #content .wc-block-cart__submit-button .wc-block-components-button:not(.is-link):focus-visible,
body.woocommerce-cart #content .wc-block-cart__submit-button.wc-block-components-button:not(.is-link):focus,
body.woocommerce-cart #content .wc-block-cart__submit-button.wc-block-components-button:not(.is-link):focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.35) !important;
}

body.woocommerce-cart #content .wc-block-cart__submit-button .wc-block-components-button:not(.is-link):disabled {
  opacity: 0.65 !important;
  cursor: not-allowed;
}

@media (max-width: 480px) {
  body.woocommerce-cart #content .wc-block-components-quantity-selector {
    display: inline-flex;
    align-items: stretch;
    min-height: 44px;
    width: 140px;
    overflow: hidden;
  }

  body.woocommerce-cart #content .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
    position: static;
    flex: 0 0 44px;
    min-width: 44px;
    width: 44px;
    min-height: 44px;
    height: 44px;
  }

  body.woocommerce-cart #content .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--minus {
    order: 1;
  }

  body.woocommerce-cart #content .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--plus {
    order: 3;
  }

  body.woocommerce-cart #content .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
    order: 2;
    flex: 0 0 52px;
    min-width: 52px;
    width: 52px;
    min-height: 44px;
    height: 44px;
  }

  body.woocommerce-cart #content .wc-block-cart-item__remove-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    width: 44px;
    min-height: 44px;
    height: 44px;
  }
}

body.woocommerce-cart #content .zoo-cart-assurance {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding: 12px 14px;
  border: 1px solid #d8e2e3;
  border-radius: 8px;
  background: #f6faf9;
}

body.woocommerce-cart #content .zoo-cart-assurance__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #4f5b5f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

body.woocommerce-cart #content .zoo-cart-assurance__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #145860;
  color: #ffffff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

body.woocommerce-cart #content .wp-block-woocommerce-empty-cart-block {
  max-width: 760px;
  margin: 0 auto;
}

body.woocommerce-cart #content .wc-block-cart__empty-cart__title {
  margin-bottom: 16px;
  color: #3b3f40;
  font-size: 24px;
  line-height: 1.3;
}

body.woocommerce-cart #content .zoo-empty-cart-guide {
  max-width: 620px;
  margin: 0 auto 8px;
  text-align: center;
}

body.woocommerce-cart #content .zoo-empty-cart-guide__text {
  margin: 0 auto 18px;
  max-width: 520px;
  color: #60676b;
  font-size: 15px;
  line-height: 1.5;
}

body.woocommerce-cart #content .zoo-empty-cart-guide__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 18px;
}

body.woocommerce-cart #content .zoo-empty-cart-guide__primary,
body.woocommerce-cart #content .zoo-empty-cart-guide__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
}

body.woocommerce-cart #content .zoo-empty-cart-guide__primary {
  border: 1px solid #fcc000;
  background: linear-gradient(90deg, #ffeb01, #fcc000);
  color: #2f2f2f;
}

body.woocommerce-cart #content .zoo-empty-cart-guide__secondary {
  border: 1px solid #d8e2e3;
  background: #ffffff;
  color: #145860;
}

body.woocommerce-cart #content .zoo-empty-cart-guide__primary:hover,
body.woocommerce-cart #content .zoo-empty-cart-guide__primary:focus-visible {
  background: linear-gradient(90deg, #fcc000, #ffeb01);
  color: #2f2f2f;
  outline: none;
}

body.woocommerce-cart #content .zoo-empty-cart-guide__secondary:hover,
body.woocommerce-cart #content .zoo-empty-cart-guide__secondary:focus-visible {
  border-color: #145860;
  background: #f3faf9;
  color: #145860;
  outline: none;
}

body.woocommerce-cart #content .zoo-empty-cart-guide__notes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.woocommerce-cart #content .zoo-empty-cart-guide__notes li {
  padding: 5px 10px;
  border-radius: 6px;
  background: #f5f7f7;
  color: #5f686b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

body.woocommerce-cart #content .zoo-nova-poshta-pending-rate .wc-block-components-totals-item__value,
body.woocommerce-checkout #content .zoo-nova-poshta-pending-rate .wc-block-components-totals-item__value {
  max-width: 240px;
  white-space: normal;
  text-align: right;
  text-transform: none;
  line-height: 1.35;
  font-size: 14px;
  font-weight: 700;
  color: #145860;
}

/* Classic shortcode cart: proceed to checkout link */
body.woocommerce-cart #content .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  border-radius: 10px;
  color: #2f2f2f !important;
  background: linear-gradient(90deg, #ffeb01, #fcc000) !important;
  border: 1px solid #fcc000 !important;
  text-decoration: none !important;
  transition: background 0.15s;
  box-shadow: none !important;
}

body.woocommerce-cart #content .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover {
  background: linear-gradient(90deg, #fcc000, #ffeb01) !important;
  color: #2f2f2f !important;
}

body.woocommerce-cart #content .cart-collaterals .wc-proceed-to-checkout a.checkout-button:focus,
body.woocommerce-cart #content .cart-collaterals .wc-proceed-to-checkout a.checkout-button:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.35) !important;
}

@media (max-width: 650px) {
  body.woocommerce-cart #content .wc-block-cart__empty-cart__title {
    font-size: 20px;
  }

  body.woocommerce-cart #content .zoo-empty-cart-guide__actions {
    align-items: stretch;
    flex-direction: column;
  }

  body.woocommerce-cart #content .zoo-empty-cart-guide__primary,
  body.woocommerce-cart #content .zoo-empty-cart-guide__secondary {
    width: 100%;
  }

  body.woocommerce-cart #content .zoo-empty-cart-guide__notes {
    align-items: stretch;
    flex-direction: column;
  }
}

/* ========================================================================
   WC Ukr Shipping (Nova Poshta / zen-ui selects — plugin uses .zen-ui-select, not WC Blocks select)
   ======================================================================== */

body.woocommerce-checkout #content .zen-ui-select .zen-ui-select__value,
body.woocommerce-cart #content .zen-ui-select .zen-ui-select__value {
  border: 1px solid #e0e0e0 !important;
  border-radius: 10px !important;
  min-height: 48px;
  box-sizing: border-box;
  padding: 10px 40px 10px 14px !important;
  font-family: "Open Sans", "Arial", sans-serif !important;
  font-size: 14px !important;
  color: #2f2f2f !important;
  background: #fff !important;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}

body.woocommerce-checkout #content .zen-ui-select .zen-ui-select__value:hover,
body.woocommerce-cart #content .zen-ui-select .zen-ui-select__value:hover {
  background: #fff !important;
  border-color: #fcc000 !important;
}

body.woocommerce-checkout #content .zen-ui-select:focus-within .zen-ui-select__value,
body.woocommerce-cart #content .zen-ui-select:focus-within .zen-ui-select__value {
  border-color: #ffd500 !important;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.2) !important;
  outline: none !important;
}

body.woocommerce-checkout #content .zen-ui-select:has(.zen-ui-select__dropdown.active) .zen-ui-select__value,
body.woocommerce-cart #content .zen-ui-select:has(.zen-ui-select__dropdown.active) .zen-ui-select__value {
  border-color: #ffd500 !important;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.2) !important;
  border-radius: 10px 10px 0 0 !important;
}

body.woocommerce-checkout #content .zen-ui-select__value > svg,
body.woocommerce-cart #content .zen-ui-select__value > svg {
  fill: #888 !important;
}

body.woocommerce-checkout #content .zen-ui-select__dropdown,
body.woocommerce-cart #content .zen-ui-select__dropdown {
  border: 1px solid #e0e0e0 !important;
  border-top: none !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08) !important;
  border-radius: 0 0 10px 10px;
  overflow: hidden;
}

body.woocommerce-checkout #content .zen-ui-select__search,
body.woocommerce-cart #content .zen-ui-select__search {
  border-color: #e0e0e0 !important;
  background: #fafafa !important;
}

body.woocommerce-checkout #content .zen-ui-select__search-input,
body.woocommerce-cart #content .zen-ui-select__search-input {
  border: 1px solid #e0e0e0 !important;
  border-radius: 8px !important;
}

body.woocommerce-checkout #content .zen-ui-select__options,
body.woocommerce-cart #content .zen-ui-select__options {
  border-color: #e0e0e0 !important;
}

body.woocommerce-checkout #content .zen-ui-select__option--current,
body.woocommerce-cart #content .zen-ui-select__option--current {
  background: #fffdf5 !important;
  color: #2f2f2f !important;
}

body.woocommerce-checkout #content .zen-ui-select__option:not(.zen-ui-select__option--disabled):not(.zen-ui-select__option--current):hover,
body.woocommerce-cart #content .zen-ui-select__option:not(.zen-ui-select__option--disabled):not(.zen-ui-select__option--current):hover {
  background: #f4f4f4 !important;
}

/* If plugin falls back to Select2 inside NP fields */
body.woocommerce-checkout #content .wc-ukr-shipping-np-fields .select2-container--default .select2-selection--single,
body.woocommerce-cart #content .wc-ukr-shipping-np-fields .select2-container--default .select2-selection--single {
  border: 1px solid #e0e0e0 !important;
  border-radius: 10px !important;
  min-height: 48px;
}

body.woocommerce-checkout #content .wc-ukr-shipping-np-fields .select2-container--default.select2-container--focus .select2-selection--single,
body.woocommerce-cart #content .wc-ukr-shipping-np-fields .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #ffd500 !important;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.2) !important;
}

/* --- WC notices (WooCommerce uses ::before icon; keep left padding) --- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  position: relative;
  box-sizing: border-box;
  border-radius: 12px;
  padding: 16px 20px 16px 3.25em;
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 20px;
  list-style: none;
  border: 1px solid #efefef;
  border-top: none;
  color: #2f2f2f;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  top: 1.05em;
  left: 1em;
}

.woocommerce-message {
  background: #f7faf5;
  box-shadow: inset 4px 0 0 0 #8bc34a;
}

.woocommerce-message::before {
  color: #6d9a3b;
}

.woocommerce-info {
  background: #fffdf5;
  box-shadow: inset 4px 0 0 0 #fcc200;
}

.woocommerce-info::before {
  color: #d4a800;
}

.woocommerce-error {
  background: #fff4f4;
  box-shadow: inset 4px 0 0 0 #e44;
}

.woocommerce-error::before {
  color: #c62828;
}

.woocommerce-error li {
  margin: 0 0 4px;
}

/* Notice CTAs: match primary buttons, clear float from WC */
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error .button {
  float: right;
  margin: 0 0 4px 16px;
  padding: 10px 22px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 10px;
  color: #2f2f2f;
  background: linear-gradient(90deg, #ffeb01, #fcc000);
  border: 1px solid #fcc000;
}

.woocommerce .woocommerce-message .button:hover,
.woocommerce .woocommerce-info .button:hover,
.woocommerce .woocommerce-error .button:hover {
  background: linear-gradient(90deg, #fcc000, #ffeb01);
}


/* --- Edit Account form --- */

.woocommerce-EditAccountForm fieldset {
  border: 1px solid #efefef;
  border-radius: 10px;
  padding: 20px;
  margin: 20px 0;
}

.woocommerce-EditAccountForm fieldset legend {
  font-size: 16px;
  font-weight: 600;
  color: #2f2f2f;
  padding: 0 8px;
}

/* ========================================================================
   TI WooCommerce Wishlist — checkboxes & remove (per row)
   ======================================================================== */

/* Custom checkboxes: brand yellow when checked (native ::after on input is unreliable) */
.tinv-wishlist table.tinvwl-table-manage-list input[type="checkbox"].input-checkbox,
.tinv-wishlist table.tinvwl-table-manage-list input[type="checkbox"].global-cb {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  margin: 0;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  vertical-align: middle;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
  flex-shrink: 0;
}

.tinv-wishlist table.tinvwl-table-manage-list input[type="checkbox"].input-checkbox:hover,
.tinv-wishlist table.tinvwl-table-manage-list input[type="checkbox"].global-cb:hover {
  border-color: #fcc000;
}

.tinv-wishlist table.tinvwl-table-manage-list input[type="checkbox"].input-checkbox:focus,
.tinv-wishlist table.tinvwl-table-manage-list input[type="checkbox"].global-cb:focus {
  outline: none;
  border-color: #ffd500;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.2);
}

.tinv-wishlist table.tinvwl-table-manage-list input[type="checkbox"].input-checkbox:checked,
.tinv-wishlist table.tinvwl-table-manage-list input[type="checkbox"].global-cb:checked {
  background-color: #ffd500;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%231e2426' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
  border-color: #fcc000;
}

/* Remove item: round control, clear hover (not plain grey ×) */
.tinv-wishlist .tinvwl-table-manage-list .product-remove button[type="submit"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px !important;
  height: 36px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border-radius: 50% !important;
  border: 1px solid #efefef !important;
  background: #fff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
  color: #888 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s, box-shadow 0.15s;
}

.tinv-wishlist .tinvwl-table-manage-list .product-remove button[type="submit"]:hover {
  border-color: #fcc000 !important;
  background: #fffdf5 !important;
  color: #c62828 !important;
  box-shadow: 0 2px 8px rgba(252, 192, 0, 0.25) !important;
}

.tinv-wishlist .tinvwl-table-manage-list .product-remove button[type="submit"]:focus {
  outline: none;
  border-color: #ffd500 !important;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.25);
}

.tinv-wishlist .tinvwl-table-manage-list .product-remove button[type="submit"] .ftinvwl {
  font-size: 14px;
  line-height: 1;
}

/* Price column: stack regular / sale vertically, centered */
.tinv-wishlist table.tinvwl-table-manage-list th.product-price,
.tinv-wishlist table.tinvwl-table-manage-list td.product-price {
  text-align: center;
  vertical-align: middle;
}

.tinv-wishlist table.tinvwl-table-manage-list td.product-price .price {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 0;
}

.tinv-wishlist table.tinvwl-table-manage-list td.product-price del,
.tinv-wishlist table.tinvwl-table-manage-list td.product-price ins {
  display: block;
}

/* ========================================================================
   TI WooCommerce Wishlist — footer bulk bar (select + actions)
   ======================================================================== */

.tinv-wishlist tfoot select[name="product_actions"],
.tinv-wishlist tfoot .tinvwl-to-left select.form-control {
  box-sizing: border-box;
  min-width: min(100%, 260px);
  width: auto;
  max-width: 100%;
  min-height: 46px;
  padding: 10px 40px 10px 14px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  font-family: "Open Sans", "Arial", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #2f2f2f;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23145860' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 14px 14px;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.tinv-wishlist tfoot select[name="product_actions"]:focus,
.tinv-wishlist tfoot .tinvwl-to-left select.form-control:focus {
  outline: none;
  border-color: #ffd500;
  box-shadow: 0 0 0 2px rgba(255, 213, 0, 0.15);
}

/* Primary actions: same gradient as header / product “У кошик” */
.woocommerce.tinv-wishlist tfoot button.button,
.tinv-wishlist tfoot .tinvwl-to-left button.button,
.tinv-wishlist tfoot .tinvwl-to-right button.button {
  display: inline-block;
  padding: 12px 22px;
  min-height: 46px;
  font-size: 14px;
  font-weight: 600;
  font-family: "Open Sans", "Arial", sans-serif;
  line-height: 1.3;
  color: #2f2f2f !important;
  background: linear-gradient(90deg, #ffeb01, #fcc000) !important;
  border: 1px solid #fcc000 !important;
  border-radius: 10px;
  box-shadow: none !important;
  text-shadow: none !important;
  text-transform: none;
  cursor: pointer;
  transition: background 0.15s;
  vertical-align: middle;
}

.woocommerce.tinv-wishlist tfoot button.button:hover,
.tinv-wishlist tfoot .tinvwl-to-left button.button:hover,
.tinv-wishlist tfoot .tinvwl-to-right button.button:hover {
  background: linear-gradient(90deg, #fcc000, #ffeb01) !important;
  color: #2f2f2f !important;
}

.tinv-wishlist tfoot .tinvwl-input-group {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  width: 100%;
  border-collapse: initial;
}

.tinv-wishlist tfoot .tinvwl-input-group .form-control {
  float: none !important;
  display: block !important;
  flex: 1 1 auto;
  min-width: 0;
}

.tinv-wishlist tfoot .tinvwl-input-group .tinvwl-input-group-btn {
  display: flex !important;
  align-items: center;
  width: auto !important;
  white-space: nowrap;
}

.zoo-wishlist-auth-gateway {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 28px;
  padding: 18px 20px;
  border: 1px solid #d8e2e3;
  border-radius: 8px;
  background: #f6faf9;
}

.zoo-wishlist-auth-gateway__content {
  min-width: 0;
}

.zoo-wishlist-auth-gateway__content h2 {
  margin: 0 0 6px;
  color: #263134;
  font-size: 22px;
  line-height: 1.25;
}

.zoo-wishlist-auth-gateway__content p {
  margin: 0;
  color: #5f686b;
  font-size: 15px;
  line-height: 1.45;
}

.zoo-wishlist-auth-gateway__actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.zoo-wishlist-auth-gateway__primary,
.zoo-wishlist-auth-gateway__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
}

.zoo-wishlist-auth-gateway__primary {
  border: 1px solid #fcc000;
  background: linear-gradient(90deg, #ffeb01, #fcc000);
  color: #2f2f2f;
}

.zoo-wishlist-auth-gateway__secondary {
  border: 1px solid #d8e2e3;
  background: #ffffff;
  color: #145860;
}

.zoo-wishlist-auth-gateway__primary:hover,
.zoo-wishlist-auth-gateway__primary:focus-visible {
  background: linear-gradient(90deg, #fcc000, #ffeb01);
  color: #2f2f2f;
  outline: none;
}

.zoo-wishlist-auth-gateway__secondary:hover,
.zoo-wishlist-auth-gateway__secondary:focus-visible {
  border-color: #145860;
  background: #ffffff;
  color: #145860;
  outline: none;
}

/* Wishlist page layout: explicit theme layer over the plugin table styles. */
#content .zoo-wishlist-page {
  --zoo-wishlist-grid: 34px 42px 86px minmax(260px, 1fr) 122px 118px 136px 132px;
  color: #2e3336;
}

#content .zoo-wishlist-page .zoo-wishlist-table,
#content .zoo-wishlist-page .zoo-wishlist-table thead,
#content .zoo-wishlist-page .zoo-wishlist-table tbody,
#content .zoo-wishlist-page .zoo-wishlist-table tfoot {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: separate !important;
  background: transparent !important;
}

#content .zoo-wishlist-page .zoo-wishlist-table tr {
  width: 100% !important;
}

#content .zoo-wishlist-page .zoo-wishlist-table thead tr,
#content .zoo-wishlist-page .zoo-wishlist-table tbody tr.zoo-wishlist-item {
  display: grid !important;
  grid-template-columns: var(--zoo-wishlist-grid);
  gap: 12px;
  align-items: center;
}

#content .zoo-wishlist-page .zoo-wishlist-table thead tr {
  padding: 0 14px 10px;
}

#content .zoo-wishlist-page .zoo-wishlist-table tbody tr.zoo-wishlist-item {
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid #ececec;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(20, 88, 96, 0.04);
}

#content .zoo-wishlist-page .zoo-wishlist-table th,
#content .zoo-wishlist-page .zoo-wishlist-table td {
  display: flex !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #2e3336;
  text-align: left;
  vertical-align: middle;
}

#content .zoo-wishlist-page .zoo-wishlist-table th {
  align-items: flex-end;
  justify-content: center;
  min-height: 38px !important;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.18;
}

#content .zoo-wishlist-page .zoo-wishlist-table th.product-name {
  justify-content: flex-start;
}

#content .zoo-wishlist-page .zoo-wishlist-table td {
  align-items: center;
  font-size: 15px;
  line-height: 1.35;
}

#content .zoo-wishlist-page .zoo-wishlist-table .product-cb,
#content .zoo-wishlist-page .zoo-wishlist-table .product-remove,
#content .zoo-wishlist-page .zoo-wishlist-table .product-thumbnail,
#content .zoo-wishlist-page .zoo-wishlist-table .product-price,
#content .zoo-wishlist-page .zoo-wishlist-table .product-date,
#content .zoo-wishlist-page .zoo-wishlist-table .product-stock,
#content .zoo-wishlist-page .zoo-wishlist-table .product-action {
  justify-content: center;
}

#content .zoo-wishlist-page .zoo-wishlist-table .product-thumbnail img {
  display: block;
  width: 74px !important;
  height: 74px !important;
  margin: 0 !important;
  object-fit: cover;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
}

#content .zoo-wishlist-page .zoo-wishlist-table td.product-name {
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
}

#content .zoo-wishlist-page .zoo-wishlist-table td.product-name a {
  max-width: 100%;
  color: #1f2428;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
}

#content .zoo-wishlist-page .zoo-wishlist-table td.product-name a:hover {
  color: #145860;
}

#content .zoo-wishlist-page .zoo-wishlist-table td.product-price .price {
  align-items: center;
  gap: 2px;
}

#content .zoo-wishlist-page .zoo-wishlist-table td.product-price del {
  color: #6f7477;
  font-size: 14px;
  line-height: 1.15;
}

#content .zoo-wishlist-page .zoo-wishlist-table td.product-price ins {
  color: #1f2428;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.15;
  text-decoration: none;
  background: transparent;
}

#content .zoo-wishlist-page .zoo-wishlist-table td.product-date {
  white-space: nowrap;
}

#content .zoo-wishlist-page .zoo-wishlist-table td.product-stock .stock {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #2e3336;
  line-height: 1.25;
}

#content .zoo-wishlist-page .zoo-wishlist-table td.product-stock span {
  display: inline-flex;
}

#content .zoo-wishlist-page .zoo-wishlist-table td.product-stock i {
  margin: 0;
  color: #1f2428;
  font-size: 15px;
}

#content .zoo-wishlist-page .zoo-wishlist-table .product-action .button,
#content .zoo-wishlist-page button.custom-wishlist-cart-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 46px !important;
  padding: 10px 16px !important;
  border: 1px solid #fcc000 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #ffeb01, #fcc000) !important;
  color: #1f2428 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-align: center;
  text-transform: none !important;
  white-space: nowrap;
  box-shadow: none !important;
}

#content .zoo-wishlist-page .zoo-wishlist-table .product-action .button:hover,
#content .zoo-wishlist-page button.custom-wishlist-cart-btn:hover {
  background: linear-gradient(90deg, #fcc000, #ffeb01) !important;
}

#content .zoo-wishlist-page .zoo-wishlist-table tfoot tr,
#content .zoo-wishlist-page .zoo-wishlist-table tfoot td {
  display: block !important;
  width: 100% !important;
}

#content .zoo-wishlist-page .zoo-wishlist-table tfoot td {
  padding: 8px 0 0 !important;
}

#content .zoo-wishlist-page tfoot .tinvwl-to-left:not(:empty),
#content .zoo-wishlist-page tfoot .tinvwl-to-right {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

#content .zoo-wishlist-page tfoot .tinvwl-to-left:not(:empty) {
  max-width: 390px;
}

#content .zoo-wishlist-page tfoot .tinvwl-input-group {
  display: grid !important;
  grid-template-columns: minmax(180px, 1fr) auto;
  gap: 10px;
  align-items: center;
}

#content .zoo-wishlist-page tfoot select[name="product_actions"],
#content .zoo-wishlist-page tfoot .tinvwl-to-left select.form-control {
  width: 100% !important;
  min-width: 0;
}

#content .zoo-wishlist-page tfoot .tinvwl-to-right {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: -46px !important;
}

#content .zoo-wishlist-page tfoot .tinvwl-to-right > * {
  margin: 0 !important;
}

#content .zoo-wishlist-page .social-buttons {
  margin-top: 48px;
  text-align: right;
}

#content .zoo-wishlist-page .social-buttons > span {
  margin-right: 16px;
  margin-left: 0;
  color: #2e3336;
}

#content .zoo-wishlist-page .social-buttons li a.social {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: transparent;
  color: #111;
}

#content .zoo-wishlist-page .social-buttons li a.social:hover {
  background: #fff4be;
  color: #145860;
}

@media (max-width: 1100px) {
  #content .zoo-wishlist-page {
    --zoo-wishlist-grid: 30px 38px 72px minmax(210px, 1fr) 108px 102px 112px 104px;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table thead tr,
  #content .zoo-wishlist-page .zoo-wishlist-table tbody tr.zoo-wishlist-item {
    gap: 9px;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table th {
    font-size: 13px;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table td.product-name a {
    font-size: 15px;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table .product-thumbnail img {
    width: 64px !important;
    height: 64px !important;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table .product-action .button,
  #content .zoo-wishlist-page button.custom-wishlist-cart-btn {
    padding: 9px 10px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 768px) {
  .zoo-wishlist-auth-gateway {
    align-items: stretch;
    flex-direction: column;
    margin-bottom: 22px;
    padding: 16px;
  }

  .zoo-wishlist-auth-gateway__content h2 {
    font-size: 20px;
  }

  .zoo-wishlist-auth-gateway__actions {
    flex-direction: column;
  }

  .zoo-wishlist-auth-gateway__primary,
  .zoo-wishlist-auth-gateway__secondary {
    width: 100%;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table thead {
    display: none !important;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table tbody tr.zoo-wishlist-item {
    grid-template-columns: 28px 66px minmax(0, 1fr);
    gap: 8px 12px;
    padding: 12px;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table td.product-cb {
    grid-column: 1;
    grid-row: 1;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table td.product-remove {
    grid-column: 1;
    grid-row: 2;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table td.product-thumbnail {
    grid-column: 2;
    grid-row: 1 / span 3;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table td.product-name {
    grid-column: 3;
    grid-row: 1;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table td.product-price {
    grid-column: 3;
    grid-row: 2;
    justify-content: flex-start;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table td.product-price .price {
    align-items: flex-start;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table td.product-date {
    display: none !important;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table td.product-stock {
    grid-column: 3;
    grid-row: 3;
    justify-content: flex-start;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table td.product-action {
    grid-column: 1 / -1;
    grid-row: 4;
  }

  #content .zoo-wishlist-page .zoo-wishlist-table .product-thumbnail img {
    width: 66px !important;
    height: 66px !important;
  }

  #content .zoo-wishlist-page tfoot .tinvwl-to-left:not(:empty) {
    max-width: none;
  }

  #content .zoo-wishlist-page tfoot .tinvwl-input-group {
    grid-template-columns: 1fr;
  }

  #content .zoo-wishlist-page tfoot .tinvwl-to-right {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 12px !important;
  }

  #content .zoo-wishlist-page tfoot .tinvwl-to-right .button,
  #content .zoo-wishlist-page tfoot .tinvwl-to-right button {
    width: 100%;
  }

  #content .zoo-wishlist-page .social-buttons {
    margin-top: 28px;
    text-align: center;
  }

  #content .zoo-wishlist-page .social-buttons > span {
    display: block;
    margin: 0 0 10px;
  }
}

/* ========================================================================
   Brands page grid
   ======================================================================== */

.brands-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  margin: 28px 0 0;
}

.brand-card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 120px;
  padding: 24px 20px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  text-decoration: none;
  -webkit-transition: box-shadow 0.2s ease, border-color 0.2s ease, -webkit-transform 0.2s ease;
  transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.brand-card:hover {
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.09);
  border-color: #d4d4d4;
  -webkit-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
  transform: translateY(-2px);
}

.brand-card__logo {
  display: block;
  width: 100%;
  height: 72px;
  max-width: 100%;
  object-fit: contain;
}

.brand-card__name {
  font-size: 15px;
  font-weight: 700;
  color: #2f2f2f;
  text-align: center;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  .brands-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 650px) {
  .brands-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .brand-card {
    min-height: 90px;
    padding: 16px 12px;
  }
  .brand-card__logo {
    height: 52px;
  }
}

@media (max-width: 400px) {
  .brands-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ========================================================================
   Stores page
   ======================================================================== */

.stores-page > h1 {
  margin: 0 0 16px;
  color: #3f3f3f;
  font-size: 32px;
  line-height: 1.2;
}

.stores-page__intro {
  margin: 0 0 22px;
  color: #555;
  font-size: 16px;
  line-height: 1.6;
}

.stores-page__intro p,
.stores-callout p,
.stores-map__content p {
  margin: 0;
}

.stores-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 24px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid #ececec;
  border-left: 4px solid #fcc200;
  border-radius: 8px;
}

.stores-callout__label {
  display: block;
  margin: 0 0 4px;
  color: #6a6a6a;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.stores-callout a {
  color: #2f2f2f;
  font-size: 24px;
  font-weight: 800;
  text-decoration: none;
}

.stores-callout p {
  color: #5f5f5f;
  line-height: 1.5;
}

.stores-page__content {
  margin: 0 0 24px;
}

.stores-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 0 0 30px;
}

.store-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 8px;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.store-card:hover {
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.store-card__image {
  display: block;
  aspect-ratio: 16 / 10;
  background: #f2f2f2;
}

.store-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.store-card__body {
  padding: 18px;
}

.store-card__area {
  margin: 0 0 7px;
  color: #6b6b6b;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.store-card h2 {
  margin: 0 0 10px;
  color: #363636;
  font-size: 22px;
  line-height: 1.2;
}

.store-card__address,
.store-card__hours,
.store-card__status {
  margin: 0 0 8px;
  color: #555;
  font-size: 15px;
  line-height: 1.45;
}

.store-card__status {
  color: #157a3b;
  font-weight: 800;
}

.store-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0 0;
}

.store-card__actions a,
.store-card__map-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  color: #333;
  background: #fcc200;
  border: 1px solid #fcc200;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}

.store-card__map-button {
  color: #3f3f3f;
  background: #fff;
  border-color: #dfdfdf;
}

.store-card__map-button.is-active,
.store-card__map-button:hover,
.store-card__actions a:hover {
  background: #f0b800;
  border-color: #f0b800;
}

.stores-map {
  display: grid;
  grid-template-columns: minmax(260px, 0.42fr) minmax(0, 0.58fr);
  align-items: start;
  gap: 18px;
  margin: 0 0 26px;
}

.stores-map__content,
.stores-map__frame {
  background: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 8px;
}

.stores-map__content {
  padding: 22px;
}

.stores-map__content h2 {
  margin: 0 0 10px;
  color: #333;
  font-size: 24px;
  line-height: 1.25;
}

.stores-map__content p {
  color: #5d5d5d;
  line-height: 1.55;
}

.stores-map__list {
  display: grid;
  gap: 10px;
  margin: 20px 0 0;
}

.stores-map__marker {
  display: block;
  width: 100%;
  padding: 12px 14px;
  color: #3e3e3e;
  background: #fafafa;
  border: 1px solid #ececec;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
}

.stores-map__marker:hover,
.stores-map__marker.is-active {
  background: #fff9dd;
  border-color: #fcc200;
}

.stores-map__marker span,
.stores-map__marker small {
  display: block;
}

.stores-map__marker span {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 800;
}

.stores-map__marker small {
  color: #6a6a6a;
  font-size: 13px;
  line-height: 1.35;
}

.stores-map__frame {
  overflow: hidden;
  height: 520px;
  min-height: 520px;
}

.stores-map__frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 1100px) {
  .stores-map {
    grid-template-columns: 1fr;
  }

  .stores-map__content {
    display: grid;
    grid-template-columns: minmax(220px, 0.45fr) minmax(0, 0.55fr);
    gap: 18px;
    align-items: start;
  }

  .stores-map__list {
    margin: 0;
  }

  .stores-map__frame {
    height: 440px;
    min-height: 440px;
  }
}

@media (max-width: 900px) {
  .stores-page-main {
    display: block;
  }

  .stores-page-main #sidebar {
    display: none;
  }

  .stores-grid {
    grid-template-columns: 1fr;
  }

  .stores-map__content {
    grid-template-columns: 1fr;
  }

  .stores-map__list {
    margin: 16px 0 0;
  }

  .stores-map__frame {
    height: 420px;
    min-height: 420px;
  }
}

@media (max-width: 650px) {
  .stores-page > h1 {
    font-size: 26px;
  }

  .stores-callout {
    display: block;
  }

  .stores-callout a {
    font-size: 21px;
  }

  .stores-callout p {
    max-width: none;
    margin: 12px 0 0;
  }

  .store-card__body,
  .stores-map__content {
    padding: 16px;
  }

  .store-card h2,
  .stores-map__content h2 {
    font-size: 21px;
  }

  .stores-map__frame {
    height: 340px;
    min-height: 340px;
  }
}

/* ========================================================================
   Bonus program page
   ======================================================================== */

.bonus-page-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 16px;
}

.bonus-page-title-row h1 {
  margin: 0;
}

.bonus-article {
  padding: 8px 12px 18px;
  color: #2f2f2f;
  font-size: 16px;
  line-height: 1.65;
}

.bonus-article p {
  margin: 0 0 16px;
}

.bonus-article h3 {
  margin: 24px 0 14px;
  color: #2a2a2a;
  font-size: 23px;
  line-height: 1.3;
}

.bonus-article ul,
.bonus-article ol {
  margin: 0 0 22px;
  padding-left: 24px;
}

.bonus-article li {
  margin: 0 0 9px;
}

.bonus-article hr {
  height: 1px;
  margin: 28px 0;
  border: 0;
  background: #e3e3e3;
}

.bonus-reference-image-wrap {
  margin: 0 0 24px;
}

.bonus-reference-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.bonus-info-banner {
  margin: 0 0 24px;
  padding: 28px;
  border-radius: 8px;
  background: #245f63;
  color: #fff;
}

.bonus-info-banner span {
  display: block;
  margin: 0 0 8px;
  color: #ffd500;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
}

.bonus-info-banner strong {
  display: block;
  font-size: 30px;
  line-height: 1.2;
  text-transform: uppercase;
}

.bonus-offline-step {
  margin: 0 0 28px;
}

.bonus-step-media {
  display: grid;
  grid-template-columns: minmax(220px, 286px) minmax(0, 1fr);
  gap: 26px;
  align-items: center;
  max-width: 760px;
  margin: 22px 0 0;
}

.bonus-step-media__card {
  display: grid;
  place-items: center;
  min-height: 286px;
  padding: 24px;
  border-radius: 8px;
  background: #fff8d6;
  border: 1px solid #efdf9d;
  text-align: center;
}

.bonus-step-media__card span,
.bonus-step-media__card small {
  color: #245f63;
  font-weight: 900;
  text-transform: uppercase;
}

.bonus-step-media__card span {
  font-size: 15px;
}

.bonus-step-media__card strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 108px;
  height: 108px;
  border-radius: 50%;
  background: #ffd500;
  color: #1e2426;
  font-size: 54px;
  font-weight: 900;
  line-height: 1;
}

.bonus-step-media__card small {
  font-size: 12px;
}

.bonus-step-media__text {
  padding: 18px 20px;
  border-left: 4px solid #fcc200;
  background: #fafafa;
}

.bonus-step-media__text p {
  margin: 0;
}

.bonus-inline-link {
  color: #245f63;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.bonus-inline-link:hover {
  color: #1e2426;
}

.bonus-faq-accordion {
  margin: 0 0 18px;
  border: 1px solid #efefef;
  border-radius: 10px;
  overflow: hidden;
}

.bonus-faq-accordion__item {
  background: #f4f4f4;
  border-bottom: 1px solid #efefef;
}

.bonus-faq-accordion__item:last-child {
  border-bottom: 0;
}

.bonus-faq-accordion__item summary {
  position: relative;
  display: block;
  padding: 18px 52px 18px 20px;
  color: #1e2426;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.bonus-faq-accordion__item summary::-webkit-details-marker {
  display: none;
}

.bonus-faq-accordion__item summary::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid #1e2426;
  border-bottom: 2px solid #1e2426;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.2s ease;
}

.bonus-faq-accordion__item[open] summary {
  background: #ffd500;
}

.bonus-faq-accordion__item[open] summary::after {
  transform: translateY(-25%) rotate(-135deg);
}

.bonus-faq-accordion__body {
  padding: 16px 20px;
  background: #efefef;
}

.bonus-faq-accordion__body p {
  margin: 0;
}

@media (max-width: 900px) {
  .bonus-article {
    padding: 0;
  }

}

@media (max-width: 650px) {
  .bonus-page-title-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .bonus-article h3 {
    font-size: 20px;
  }

  .bonus-info-banner {
    padding: 22px;
  }

  .bonus-info-banner strong {
    font-size: 24px;
  }

  .bonus-step-media {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .bonus-step-media__card {
    min-height: 210px;
  }
}

/* ========================================================================
   Promotions page
   ======================================================================== */

.promo-page {
  color: #1e2426;
  font-size: 16px;
  line-height: 1.65;
}

.promo-page p {
  margin: 0;
}

.promo-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, 280px);
  gap: 18px;
  align-items: stretch;
  margin: 0 0 20px;
  padding: 26px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
}

.promo-eyebrow {
  margin: 0 0 8px;
  color: #4a7275;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.promo-hero h2,
.promo-section h2,
.promo-note h2 {
  margin: 0 0 12px;
  color: #1e2426;
  line-height: 1.2;
}

.promo-hero h2 {
  max-width: 660px;
  font-size: 32px;
}

.promo-hero__lead {
  max-width: 680px;
  color: #5f6668;
  font-size: 16px;
}

.promo-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0 0;
}

.promo-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 18px;
  border: 1px solid #245f63;
  border-radius: 8px;
  background: #245f63;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
}

.promo-button:hover,
.promo-button:focus-visible {
  background: #1e2426;
  border-color: #1e2426;
  color: #fff;
}

.promo-button--secondary {
  background: #fff;
  color: #245f63;
}

.promo-button--secondary:hover,
.promo-button--secondary:focus-visible {
  background: #fff8d6;
  border-color: #efdf9d;
  color: #1e2426;
}

.promo-discount-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 220px;
  padding: 24px;
  border-radius: 8px;
  background: #245f63;
  color: #fff;
}

.promo-discount-card span {
  margin: 0 0 8px;
  color: #ffd500;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.promo-discount-card strong {
  display: block;
  margin: 0 0 10px;
  font-size: 58px;
  font-weight: 900;
  line-height: 1;
}

.promo-discount-card p {
  color: rgba(255, 255, 255, 0.86);
  font-size: 15px;
}

.promo-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 20px;
}

.promo-step {
  padding: 20px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
}

.promo-step span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin: 0 0 14px;
  border-radius: 50%;
  background: #ffd500;
  color: #1e2426;
  font-size: 13px;
  font-weight: 900;
}

.promo-step h3 {
  margin: 0 0 8px;
  color: #1e2426;
  font-size: 18px;
  line-height: 1.25;
}

.promo-step p {
  color: #5f6668;
  font-size: 15px;
}

.promo-note {
  margin: 0 0 20px;
  padding: 24px;
  border: 1px solid #efdf9d;
  border-radius: 8px;
  background: #fff8d6;
}

.promo-note h2 {
  font-size: 24px;
}

.promo-note ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.promo-note li {
  position: relative;
  padding: 0 0 0 24px;
  color: #4a4a4a;
}

.promo-note li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #245f63;
}

.promo-help {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  border-radius: 8px;
  background: #f4f4f4;
}

.promo-help strong {
  display: block;
  margin: 0 0 4px;
  color: #1e2426;
  font-size: 18px;
}

.promo-help p {
  color: #5f6668;
  font-size: 15px;
}

@media (max-width: 900px) {
  .promo-hero,
  .promo-steps {
    grid-template-columns: 1fr;
  }

  .promo-discount-card {
    min-height: 0;
  }
}

@media (max-width: 650px) {
  .promo-hero,
  .promo-step,
  .promo-note,
  .promo-help {
    padding: 18px;
  }

  .promo-hero h2 {
    font-size: 24px;
  }

  .promo-discount-card strong {
    font-size: 44px;
  }

  .promo-actions,
  .promo-help {
    align-items: stretch;
    flex-direction: column;
  }

  .promo-button {
    width: 100%;
  }
}

/* ========================================================================
   Floating registered-customer discount modal
   ======================================================================== */

.zoo-discount-promo {
  position: relative;
  z-index: 1001;
}

.zoo-discount-trigger {
  position: fixed;
  left: 20px;
  right: auto;
  top: auto;
  bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 82px;
  height: 82px;
  padding: 0;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #ff9f1c;
  color: #fff;
  box-shadow: 0 14px 32px rgba(30, 36, 38, 0.26);
  cursor: pointer;
  overflow: hidden;
  transform: none;
  z-index: 1002;
}

.zoo-discount-trigger::before {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: inherit;
  background: radial-gradient(circle at 30% 26%, rgba(255, 255, 255, 0.38), transparent 32%),
    linear-gradient(135deg, #ff7a18, #ffc400);
  z-index: 0;
}

.zoo-discount-trigger::after {
  content: "";
  position: absolute;
  inset: -8px;
  border: 2px solid rgba(255, 213, 0, 0.68);
  border-radius: inherit;
  animation: zoo-discount-trigger-pulse 2.8s ease-out infinite;
  z-index: -1;
}

.zoo-discount-trigger:hover,
.zoo-discount-trigger:focus-visible {
  box-shadow: 0 16px 36px rgba(30, 36, 38, 0.34);
  transform: scale(1.04);
}

.zoo-discount-trigger__value {
  position: relative;
  z-index: 2;
  font-size: 25px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  text-shadow: 0 2px 6px rgba(92, 40, 21, 0.26);
}

.zoo-discount-paw {
  position: absolute;
  width: 34px;
  height: 30px;
  transform: rotate(-18deg);
  pointer-events: none;
  z-index: 3;
}

.zoo-discount-paw::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 13px;
  width: 18px;
  height: 14px;
  border-radius: 50% 50% 45% 45%;
  background: #fff7e9;
  box-shadow: 0 2px 8px rgba(92, 40, 21, 0.18);
}

.zoo-discount-paw span {
  position: absolute;
  width: 9px;
  height: 12px;
  border-radius: 50%;
  background: #fff7e9;
  box-shadow: 0 2px 8px rgba(92, 40, 21, 0.12);
}

.zoo-discount-paw span:nth-child(1) {
  left: 0;
  top: 8px;
  transform: rotate(-24deg);
}

.zoo-discount-paw span:nth-child(2) {
  left: 8px;
  top: 1px;
}

.zoo-discount-paw span:nth-child(3) {
  left: 19px;
  top: 0;
}

.zoo-discount-paw span:nth-child(4) {
  right: 0;
  top: 8px;
  transform: rotate(24deg);
}

.zoo-discount-trigger .zoo-discount-paw {
  left: -36px;
  bottom: 8px;
  animation: zoo-discount-paw-grab 4.8s ease-in-out infinite;
}

.zoo-discount-modal-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(30, 36, 38, 0.58);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.24s ease, visibility 0.24s ease;
  z-index: 10000;
}

.zoo-discount-modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

body.zoo-discount-modal-open {
  overflow: hidden;
}

.zoo-discount-modal {
  position: relative;
  width: min(940px, 100%);
  min-height: 520px;
  overflow: hidden;
  border-radius: 12px;
  background: #fff8d6;
  box-shadow: 0 26px 70px rgba(30, 36, 38, 0.34);
  transform: translateY(16px) scale(0.98);
  transition: transform 0.24s ease;
}

.zoo-discount-modal-overlay.is-open .zoo-discount-modal {
  transform: translateY(0) scale(1);
}

.zoo-discount-modal__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  z-index: 0;
}

.zoo-discount-modal::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 248, 214, 0.98) 0%, rgba(255, 248, 214, 0.94) 38%, rgba(255, 248, 214, 0.24) 63%, rgba(255, 248, 214, 0) 100%);
  pointer-events: none;
  z-index: 1;
}

.zoo-discount-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 8px 20px rgba(30, 36, 38, 0.16);
  z-index: 3;
}

.zoo-discount-modal__close span,
.zoo-discount-modal__close span::after {
  display: block;
  width: 22px;
  height: 3px;
  border-radius: 2px;
  background: #5b2815;
}

.zoo-discount-modal__close span {
  transform: rotate(45deg);
}

.zoo-discount-modal__close span::after {
  content: "";
  transform: rotate(90deg);
}

.zoo-discount-modal__close:hover,
.zoo-discount-modal__close:focus-visible {
  background: #ffd500;
}

.zoo-discount-modal__content {
  position: relative;
  max-width: 430px;
  padding: 52px 44px 42px;
  z-index: 2;
}

.zoo-discount-modal__eyebrow {
  margin: 0 0 10px;
  color: #245f63;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.zoo-discount-modal h2 {
  margin: 0 0 14px;
  color: #1e2426;
  font-size: 38px;
  line-height: 1.12;
}

.zoo-discount-modal p {
  margin: 0;
  color: #4e5658;
  font-size: 16px;
  line-height: 1.55;
}

.zoo-discount-modal__badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 142px;
  min-height: 92px;
  margin: 22px 0;
  padding: 14px 26px;
  border: 4px solid #fff;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff7a18, #ffc400);
  box-shadow: 0 14px 30px rgba(92, 40, 21, 0.18);
  overflow: hidden;
}

.zoo-discount-modal__badge strong {
  position: relative;
  z-index: 2;
  color: #fff;
  font-size: 48px;
  font-weight: 900;
  line-height: 1;
  text-shadow: 0 2px 8px rgba(92, 40, 21, 0.25);
}

.zoo-discount-modal__badge .zoo-discount-paw {
  left: -42px;
  bottom: 12px;
  animation: zoo-discount-paw-grab 4.8s ease-in-out infinite 0.45s;
}

.zoo-discount-modal__steps {
  display: grid;
  gap: 8px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.zoo-discount-modal__steps li {
  position: relative;
  padding: 0 0 0 24px;
  color: #3d4547;
  font-size: 15px;
  line-height: 1.45;
}

.zoo-discount-modal__steps li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #245f63;
}

.zoo-discount-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.zoo-discount-modal__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 18px;
  border: 1px solid #245f63;
  border-radius: 8px;
  background: #245f63;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
}

.zoo-discount-modal__button:hover,
.zoo-discount-modal__button:focus-visible {
  background: #1e2426;
  border-color: #1e2426;
  color: #fff;
}

.zoo-discount-modal__button--secondary {
  background: #fff;
  color: #245f63;
}

.zoo-discount-modal__button--secondary:hover,
.zoo-discount-modal__button--secondary:focus-visible {
  background: #fff8d6;
  border-color: #efdf9d;
  color: #1e2426;
}

@keyframes zoo-discount-trigger-pulse {
  0% {
    opacity: 0.7;
    transform: scale(0.92);
  }
  70% {
    opacity: 0;
    transform: scale(1.32);
  }
  100% {
    opacity: 0;
    transform: scale(1.32);
  }
}

@keyframes zoo-discount-paw-grab {
  0%,
  46%,
  100% {
    opacity: 0;
    transform: translateX(0) rotate(-24deg) scale(0.88);
  }
  55% {
    opacity: 1;
    transform: translateX(20px) rotate(-18deg) scale(1);
  }
  66% {
    opacity: 1;
    transform: translateX(58px) rotate(6deg) scale(1.04);
  }
  78% {
    opacity: 0;
    transform: translateX(90px) rotate(18deg) scale(0.92);
  }
}

@media (max-width: 900px) {
  .zoo-discount-trigger {
    left: 20px;
    bottom: 20px;
    width: 72px;
    height: 72px;
  }

  .zoo-discount-trigger:hover,
  .zoo-discount-trigger:focus-visible {
    transform: scale(1.04);
  }

  .zoo-discount-trigger__value {
    font-size: 22px;
  }

  .zoo-discount-modal {
    min-height: 0;
  }

  .zoo-discount-modal::after {
    background: linear-gradient(180deg, rgba(255, 248, 214, 0.98) 0%, rgba(255, 248, 214, 0.94) 58%, rgba(255, 248, 214, 0.18) 100%);
  }

  .zoo-discount-modal__image {
    opacity: 0.72;
    object-position: 68% center;
  }

  .zoo-discount-modal__content {
    max-width: none;
    padding: 54px 24px 28px;
  }
}

@media (max-width: 650px) {
  .zoo-discount-modal-overlay {
    align-items: flex-end;
    padding: 12px;
  }

  .zoo-discount-modal {
    width: 100%;
    border-radius: 12px;
  }

  .zoo-discount-modal__close {
    top: 12px;
    right: 12px;
    width: 42px;
    height: 42px;
  }

  .zoo-discount-modal h2 {
    max-width: 280px;
    font-size: 28px;
  }

  .zoo-discount-modal__badge {
    min-width: 124px;
    min-height: 78px;
    margin: 18px 0;
  }

  .zoo-discount-modal__badge strong {
    font-size: 38px;
  }

  .zoo-discount-modal__actions {
    flex-direction: column;
  }

  .zoo-discount-modal__button {
    width: 100%;
  }
}

/* ========================================================================
   Delivery page
   ======================================================================== */

.delivery-page {
  color: #1e2426;
}

.delivery-hero,
.delivery-section,
.delivery-support {
  margin: 0 0 24px;
}

.delivery-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.36fr);
  gap: 18px;
  align-items: stretch;
  padding: 26px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
}

.delivery-eyebrow {
  margin: 0 0 8px;
  color: #4a7275;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.delivery-hero h1 {
  margin: 0 0 14px;
  color: #1e2426;
  font-size: 34px;
  line-height: 1.15;
}

.delivery-hero__copy p:not(.delivery-eyebrow),
.delivery-hero__note p,
.delivery-section__header > p,
.delivery-nova__intro p,
.delivery-support p {
  margin: 0;
  color: #5f6668;
  font-size: 15px;
  line-height: 1.6;
}

.delivery-hero__note {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
  border-radius: 8px;
  background: #1f4f54;
  color: #fff;
}

.delivery-hero__note span {
  margin: 0 0 8px;
  color: #ffd500;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.delivery-hero__note strong {
  margin: 0 0 10px;
  font-size: 21px;
  line-height: 1.2;
}

.delivery-hero__note p {
  color: rgba(255, 255, 255, 0.82);
}

.delivery-section {
  padding: 24px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
}

.delivery-section__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 18px;
}

.delivery-section__header h2,
.delivery-nova__intro h2 {
  margin: 0;
  color: #1e2426;
  font-size: 24px;
  line-height: 1.2;
}

.delivery-section__header > p {
  max-width: 360px;
}

.delivery-methods__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.delivery-method-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 18px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fafafa;
}

.delivery-method-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 18px;
}

.delivery-method-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 10px;
  border-radius: 8px;
  background: #f7f0cf;
  color: #1e2426;
  font-size: 12px;
  font-weight: 800;
}

.delivery-method-card__price {
  color: #1f4f54;
  font-size: 16px;
  font-weight: 900;
  text-align: right;
}

.delivery-method-card h3 {
  margin: 0 0 10px;
  color: #1e2426;
  font-size: 18px;
  line-height: 1.25;
}

.delivery-method-card p {
  margin: 0;
  color: #5f6668;
  font-size: 14px;
  line-height: 1.55;
}

.delivery-method-card small {
  display: block;
  margin: auto 0 0;
  padding-top: 16px;
  color: #4a7275;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.delivery-nova {
  display: grid;
  grid-template-columns: minmax(240px, 0.42fr) minmax(0, 0.58fr);
  gap: 20px;
  background: #fffdf1;
}

.delivery-nova__intro p {
  margin-top: 12px;
}

.delivery-nova__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.delivery-nova__list li {
  position: relative;
  padding: 13px 14px 13px 42px;
  border: 1px solid #ece1ae;
  border-radius: 8px;
  background: #fff;
  color: #4d5658;
  font-size: 14px;
  line-height: 1.5;
}

.delivery-nova__list li::before {
  content: "";
  position: absolute;
  top: 17px;
  left: 17px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #fcc200;
  box-shadow: 0 0 0 5px #fff5c7;
}

.delivery-support {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px;
  border: 1px solid #ececec;
  border-left: 4px solid #fcc200;
  border-radius: 8px;
  background: #fff;
}

.delivery-support span {
  display: block;
  margin: 0 0 5px;
  color: #6a6a6a;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.delivery-support a {
  color: #1e2426;
  font-size: 24px;
  font-weight: 900;
  text-decoration: none;
}

.delivery-support a:hover {
  color: #1f4f54;
}

.delivery-support p {
  max-width: 420px;
}

@media (max-width: 1100px) {
  .delivery-hero,
  .delivery-nova {
    grid-template-columns: 1fr;
  }

  .delivery-methods__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .delivery-page-main {
    display: block;
  }

  .delivery-page-main #sidebar {
    display: none;
  }
}

@media (max-width: 650px) {
  .delivery-hero,
  .delivery-section,
  .delivery-support {
    padding: 18px;
  }

  .delivery-hero h1 {
    font-size: 27px;
  }

  .delivery-section__header,
  .delivery-support {
    display: block;
  }

  .delivery-section__header > p,
  .delivery-support p {
    max-width: none;
    margin-top: 12px;
  }

  .delivery-methods__grid {
    grid-template-columns: 1fr;
  }

  .delivery-support a {
    font-size: 21px;
  }
}

/* ========================================================================
   Payment page
   ======================================================================== */

.payment-page {
  color: #1e2426;
}

.payment-hero,
.payment-section,
.payment-support {
  margin: 0 0 24px;
}

.payment-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.36fr);
  gap: 18px;
  align-items: stretch;
  padding: 26px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
}

.payment-eyebrow {
  margin: 0 0 8px;
  color: #4a7275;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.payment-hero h1 {
  margin: 0 0 14px;
  color: #1e2426;
  font-size: 34px;
  line-height: 1.15;
}

.payment-hero__copy p:not(.payment-eyebrow),
.payment-hero__note p,
.payment-method-card p,
.payment-process__list p,
.payment-support p {
  margin: 0;
  color: #5f6668;
  font-size: 15px;
  line-height: 1.6;
}

.payment-hero__note {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
  border-radius: 8px;
  background: #1f4f54;
  color: #fff;
}

.payment-hero__note span {
  margin: 0 0 8px;
  color: #ffd500;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.payment-hero__note strong {
  margin: 0 0 10px;
  font-size: 21px;
  line-height: 1.2;
}

.payment-hero__note p {
  color: rgba(255, 255, 255, 0.82);
}

.payment-section {
  padding: 24px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
}

.payment-section__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 18px;
}

.payment-section__header h2,
.payment-process__intro h2 {
  margin: 0;
  color: #1e2426;
  font-size: 24px;
  line-height: 1.2;
}

.payment-methods__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.payment-method-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 18px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fafafa;
}

.payment-method-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 18px;
}

.payment-method-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 10px;
  border-radius: 8px;
  background: #f7f0cf;
  color: #1e2426;
  font-size: 12px;
  font-weight: 800;
}

.payment-method-card small {
  color: #4a7275;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  text-align: right;
}

.payment-method-card h3 {
  margin: 0 0 10px;
  color: #1e2426;
  font-size: 18px;
  line-height: 1.25;
}

.payment-process {
  display: grid;
  grid-template-columns: minmax(240px, 0.38fr) minmax(0, 0.62fr);
  gap: 20px;
  background: #fffdf1;
}

.payment-process__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: payment-step;
}

.payment-process__list li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid #ece1ae;
  border-radius: 8px;
  background: #fff;
}

.payment-process__list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #fcc200;
  color: #1e2426;
  font-size: 14px;
  font-weight: 900;
}

.payment-rules__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.payment-rules__list li {
  position: relative;
  padding: 13px 14px 13px 42px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fafafa;
  color: #4d5658;
  font-size: 14px;
  line-height: 1.5;
}

.payment-rules__list li::before {
  content: "";
  position: absolute;
  top: 17px;
  left: 17px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #fcc200;
  box-shadow: 0 0 0 5px #fff5c7;
}

.payment-support {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px;
  border: 1px solid #ececec;
  border-left: 4px solid #fcc200;
  border-radius: 8px;
  background: #fff;
}

.payment-support span {
  display: block;
  margin: 0 0 5px;
  color: #6a6a6a;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.payment-support a {
  color: #1e2426;
  font-size: 24px;
  font-weight: 900;
  text-decoration: none;
}

.payment-support a:hover {
  color: #1f4f54;
}

.payment-support p {
  max-width: 420px;
}

@media (max-width: 1100px) {
  .payment-hero,
  .payment-process {
    grid-template-columns: 1fr;
  }

  .payment-methods__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .payment-page-main {
    display: block;
  }

  .payment-page-main #sidebar {
    display: none;
  }
}

@media (max-width: 650px) {
  .payment-hero,
  .payment-section,
  .payment-support {
    padding: 18px;
  }

  .payment-hero h1 {
    font-size: 27px;
  }

  .payment-section__header,
  .payment-support {
    display: block;
  }

  .payment-support p {
    max-width: none;
    margin-top: 12px;
  }

  .payment-methods__grid {
    grid-template-columns: 1fr;
  }

  .payment-method-card__top {
    align-items: flex-start;
  }

  .payment-support a {
    font-size: 21px;
  }
}

/* Bootstrap utility polyfills — only the classes actually used in markup.
   The theme uses d-none / d-xl-inline on header action-button labels. */
.d-none { display: none !important; }

/* ========================================================================
   Site Footer
   ======================================================================== */

.site-footer {
  background: #1a2c2e;
  color: #9fb8ba;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  margin-top: 48px;
}

.site-footer p {
  margin: 0;
}

/* --- Top section: columns -------------------------------------------- */
.footer-top {
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.footer-top__inner {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1.4fr;
  gap: 48px;
  padding-top: 52px;
  padding-bottom: 44px;
}

/* --- Column titles ---------------------------------------------------- */
.footer-col__title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #ffd500;
  margin: 0 0 20px;
  line-height: 1.2;
}

/* --- Brand column ----------------------------------------------------- */
.footer-brand-logo {
  display: inline-block;
  margin-bottom: 14px;
  text-decoration: none;
}

.footer-brand-logo img {
  max-height: 48px;
  width: auto;
  filter: brightness(0) invert(1);
}

.footer-brand-name {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.02em;
}

.footer-brand-desc {
  font-size: 13px;
  color: #6d9093;
  line-height: 1.65;
  max-width: 280px;
  margin: 0 0 22px !important;
}

/* --- Social buttons --------------------------------------------------- */
.footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.footer-social__btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 20px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.08);
  color: #c4d8da;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.12);
  -webkit-transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.footer-social__btn:hover,
.footer-social__btn:focus-visible {
  background: #ffd500;
  border-color: #ffd500;
  color: #1a2c2e;
  outline: none;
}

/* --- Navigation column ------------------------------------------------ */
.footer-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 10px;
}

.footer-nav li { margin: 0; }

.footer-nav a {
  color: #8ab0b3;
  text-decoration: none;
  font-size: 14px;
  -webkit-transition: color 0.15s ease;
  transition: color 0.15s ease;
}

.footer-nav a:hover {
  color: #ffd500;
}

/* --- Contact column --------------------------------------------------- */
.footer-contact {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 14px;
}

.footer-contact__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  gap: 11px;
  color: #8ab0b3;
  font-size: 14px;
}

.footer-contact__icon {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-top: 2px;
  color: #ffd500;
}

.footer-contact a {
  color: #8ab0b3;
  text-decoration: none;
  -webkit-transition: color 0.15s ease;
  transition: color 0.15s ease;
}

.footer-contact a:hover {
  color: #ffd500;
}

/* --- Bottom bar ------------------------------------------------------- */
.footer-bottom {
  background: #112022;
}

.footer-bottom__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 16px;
  padding-top: 16px;
  padding-bottom: 16px;
}

.footer-copyright {
  font-size: 12px;
  color: #4a7275;
}

.footer-copyright a {
  color: #4a7275;
  text-decoration: none;
  -webkit-transition: color 0.15s ease;
  transition: color 0.15s ease;
}

.footer-copyright a:hover {
  color: #ffd500;
}

/* --- Payment icons ---------------------------------------------------- */
.footer-payments {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
}

.footer-payments__icon {
  width: 42px;
  height: 28px;
  border-radius: 4px;
  opacity: 0.65;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
}

.footer-payments__icon:hover {
  opacity: 1;
}

/* --- Footer responsive ----------------------------------------------- */
@media (max-width: 900px) {
  .footer-top__inner {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    padding-top: 40px;
    padding-bottom: 32px;
  }

  .footer-col--brand {
    grid-column: 1 / -1;
  }

  .footer-brand-desc {
    max-width: 100%;
  }
}

@media (max-width: 600px) {
  .footer-top__inner {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-top: 32px;
    padding-bottom: 28px;
  }

  .footer-bottom__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    gap: 12px;
    padding-top: 14px;
    padding-bottom: 14px;
  }
}

@media (min-width: 1200px) {
  .d-xl-inline { display: inline !important; }
}

/* ========================================================================
   Responsive (Desktop-first, max-width breakpoints)
   Breakpoints:
     - 768px  — tablets / small laptops
     - 480px  — smartphones
   Goals: no horizontal scroll, tap-targets >= 44px, single-column grids.
   ======================================================================== */

/* ---------- Product grid: 3 columns below 1180px ----------------------- */
@media (max-width: 1180px) {
  #content ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ---------- Header goes mobile at 1024px -------------------------------- */
/* Desktop nav, contacts and catalog tabs don't fit below 1024px.
   Burger menu takes over; content layout changes stay at 768px. */
@media (max-width: 900px) {
  /* --- Header: hide elements that are now inside the burger drawer ------ */
  .top-navigation {
    display: none;
  }

  .general-navigation {
    display: none;
  }

  .header-contacts {
    display: none;
  }

  #header {
    margin: 0 0 10px;
  }

  /* --- Header: middle bar (logo + actions + burger, search below) ------ */
  .menu-mid-nav .container {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .logo {
    width: 130px;
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    margin: 0 auto 0 0;
  }

  .search-container {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
    width: 100%;
  }

  .search-input {
    height: 44px;
    padding: 10px 40px;
  }

  .search-input-icon {
    width: 18px;
    height: 18px;
  }

  .menu-actions {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    width: auto;
    margin-left: auto;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }

  .btn-action {
    height: 44px;
    padding: 10px 14px;
    font-size: 13px;
  }
}

/* ---------- Content layout: up to 768px -------------------------------- */
@media (max-width: 768px) {
  /* Guard against horizontal scroll from any wide child */
  html, body { overflow-x: hidden; }

  /* Container: keep safe side gutters */
  .container {
    padding: 0 16px;
  }

  /* Typography scale-down */
  body { font-size: 15px; }
  h1 { font-size: 26px; line-height: 1.15; margin: 0 0 14px; }
  h2 { font-size: 24px; line-height: 1.2;  margin: 0 0 14px; }
  h3 { font-size: 20px; line-height: 1.25; margin: 0 0 12px; }
  h4 { font-size: 18px; line-height: 1.25; margin: 0 0 12px; }
  h5 { font-size: 17px; line-height: 1.3;  margin: 0 0 10px; }
  h6 { font-size: 16px; line-height: 1.3;  margin: 0 0 10px; }

  /* --- Main layout: stack sidebar under content --- */
  #main {
    flex-direction: column;
    gap: 20px;
    padding: 8px;
  }
  #sidebar {
    width: 100%;
    flex: 0 0 auto;
    order: 2;
  }
  #content { order: 1; }

  /* --- Breadcrumbs (Rank Math) --- */
  .rank-math-breadcrumb,
  .rank-math-breadcrumb a {
    font-size: 13px;
    line-height: 1.4;
  }
  .rank-math-breadcrumb p { word-break: break-word; }

  /* --- WooCommerce: products grid --- */
  #content ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }
  #content ul.products li.product { padding: 12px; }
  #content ul.products li.product a.woocommerce-LoopProduct-link img {
    height: 160px;
  }
  #content ul.products li.product .tinv-wishlist.tinvwl-loop-button-wrapper {
    top: 164px;
    right: 14px;
  }

  /* --- WooCommerce: result count + ordering row --- */
  .woocommerce .woocommerce-notices-wrapper + .woocommerce-result-count,
  #content .woocommerce-result-count,
  #content .woocommerce-ordering {
    float: none !important;
    width: 100%;
    margin: 0 0 10px;
  }
  #content .woocommerce-ordering select {
    width: 100%;
    min-height: 44px;
    font-size: 14px;
  }

  /* --- WooCommerce: account login/register two-column --- */
  .woocommerce #customer_login {
    flex-direction: column;
    gap: 12px;
  }

  /* --- Forms: ensure touch-friendly inputs --- */
  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row input[type="text"],
  .woocommerce form .form-row input[type="email"],
  .woocommerce form .form-row input[type="password"],
  .woocommerce form .form-row input[type="tel"],
  .woocommerce form .form-row select,
  .woocommerce form .form-row textarea {
    min-height: 44px;
    font-size: 16px; /* Prevents iOS zoom on focus */
  }

  /* My Account sidebar links: bigger tap area */
  .my-account-sidebar-nav .woocommerce-MyAccount-navigation-link a {
    padding: 16px 18px;
    min-height: 44px;
  }

  /* Accordion sidebar */
  #accordionCustomers .accordion-button {
    padding: 16px 18px;
    font-size: 15px;
    min-height: 48px;
  }
}

/* ---------- Product grid: 2 columns below 650px ------------------------- */
@media (max-width: 650px) {
  #content ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  #content ul.products li.product { padding: 10px; border-radius: 10px; }
  #content ul.products li.product a.woocommerce-LoopProduct-link img {
    height: 130px;
  }
  #content ul.products li.product .woocommerce-loop-product__title {
    font-size: 12px;
    min-height: 4.2em;
  }
  #content ul.products li.product .zoo-loop-product-details {
    gap: 4px;
    font-size: 10px;
  }
  #content ul.products li.product .zoo-loop-stock-badge {
    min-height: 20px;
    margin-bottom: 7px;
    padding: 3px 7px;
    font-size: 10px;
  }
  #content ul.products li.product .price { font-size: 14px; margin: 0 0 10px; }
  #content ul.products li.product .onsale {
    top: 8px; left: 8px; right: 8px;
    font-size: 10px;
    padding: 4px 8px;
  }
  #content ul.products li.product .tinv-wishlist.tinvwl-loop-button-wrapper {
    top: 134px;
    right: 10px;
  }
  #content ul.products li.product a.button,
  #content ul.products li.product a.add_to_cart_button,
  #content ul.products li.product button.button {
    padding: 12px 10px;
    min-height: 44px;
    font-size: 12px;
  }
}

/* ---------- Mobile: up to 480px ----------------------------------------- */
@media (max-width: 480px) {
  .container {
    padding: 0 12px;
  }

  /* Typography — smallest scale */
  h1 { font-size: 22px; margin: 0 0 12px; }
  h2 { font-size: 20px; margin: 0 0 12px; }
  h3 { font-size: 18px; margin: 0 0 10px; }
  h4 { font-size: 17px; margin: 0 0 10px; }
  h5 { font-size: 16px; }
  h6 { font-size: 15px; }

  body { font-size: 15px; }

  /* Header: tighter padding on phones */
  .menu-mid-nav { padding: 8px 0; }
  .logo { width: 110px; }

  /* Action buttons: square icon-only on phones */
  .menu-actions { gap: 8px; }
  .btn-action {
    width: 44px;
    padding: 0;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0;
  }
  .menu-actions img { height: 18px; }
  .zoo-cart-count {
    position: absolute;
    -webkit-transform: translate(12px, -12px);
    -ms-transform: translate(12px, -12px);
    transform: translate(12px, -12px);
  }
  .header-cart-btn { position: relative; }

  /* Main layout — tighter spacing */
  #main {
    gap: 14px;
    padding: 6px;
    border-radius: 8px;
  }

  /* Breadcrumbs: smaller, allow wrapping */
  .rank-math-breadcrumb,
  .rank-math-breadcrumb a {
    font-size: 12px;
  }

  /* WooCommerce wishlist footer buttons — stack full-width */
  .tinv-wishlist tfoot .tinvwl-input-group {
    flex-direction: column;
    align-items: stretch;
  }
  .woocommerce.tinv-wishlist tfoot button.button,
  .tinv-wishlist tfoot .tinvwl-to-left button.button,
  .tinv-wishlist tfoot .tinvwl-to-right button.button {
    width: 100%;
    min-height: 48px;
  }

  /* Login/Register cards: tighter padding */
  .woocommerce #customer_login .u-column1,
  .woocommerce #customer_login .u-column2 {
    padding: 18px 16px;
  }
  .woocommerce #customer_login h2 { font-size: 18px; margin: 0 0 14px; }

}

/* ========================================================================
   Mobile burger menu (off-canvas drawer)
   - Desktop: all elements hidden
   - <=768px: burger button visible, drawer slides in from left on toggle
   - Scroll lock on body when open (body.mobile-menu-open)
   ======================================================================== */

/* --- Burger trigger: hidden on desktop --------------------------------- */
.mobile-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: #2f2f2f;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.mobile-menu-toggle:hover,
.mobile-menu-toggle:focus-visible {
  background: #f4f4f4;
  border-color: #e0e0e0;
  outline: none;
}

.mobile-menu-toggle__bars {
  position: relative;
  display: inline-block;
  width: 22px;
  height: 16px;
}

.mobile-menu-toggle__bars span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: #2f2f2f;
  border-radius: 2px;
  transition: transform 0.25s ease, opacity 0.2s ease, top 0.25s ease;
}

.mobile-menu-toggle__bars span:nth-child(1) { top: 0; }
.mobile-menu-toggle__bars span:nth-child(2) { top: 7px; }
.mobile-menu-toggle__bars span:nth-child(3) { top: 14px; }

.mobile-menu-toggle.is-active .mobile-menu-toggle__bars span:nth-child(1) {
  top: 7px;
  transform: rotate(45deg);
}
.mobile-menu-toggle.is-active .mobile-menu-toggle__bars span:nth-child(2) {
  opacity: 0;
}
.mobile-menu-toggle.is-active .mobile-menu-toggle__bars span:nth-child(3) {
  top: 7px;
  transform: rotate(-45deg);
}

/* --- Overlay + drawer: hidden on desktop ------------------------------- */
.mobile-menu-overlay,
.mobile-menu {
  display: none;
}

/* --- Mobile activation ≤1024px ----------------------------------------- */
@media (max-width: 900px) {
  .mobile-menu-toggle {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  /* Overlay */
  .mobile-menu-overlay {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(30, 36, 38, 0.5);
    opacity: 0;
    visibility: hidden;
    z-index: 998;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }

  .mobile-menu-overlay.is-visible {
    opacity: 1;
    visibility: visible;
  }

  /* Drawer */
  .mobile-menu {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 375px;
    max-width: 100%;
    background: #ffffff;
    box-shadow: 2px 0 12px rgba(0, 0, 0, 0.12);
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    z-index: 999;
    overflow: hidden;
  }

  .mobile-menu.is-open {
    transform: translateX(0);
  }

  /* Body scroll lock while menu is open */
  body.mobile-menu-open {
    overflow: hidden;
  }

  /* Drawer header */
  .mobile-menu__header {
    display: flex;
    align-items: center;
    justify-content: end;
    padding: 0px 1px;
    flex: 0 0 auto;
  }

  .mobile-menu__logo {
    display: inline-flex;
    align-items: center;
  }

  .mobile-menu__logo img {
    width: 110px;
    height: auto;
    display: block;
  }

  .mobile-menu__close {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 50%;
    background: transparent;
    color: #2f2f2f;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
  }

  .mobile-menu__close:hover,
  .mobile-menu__close:focus-visible {
    background: #f0f0f0;
    border-color: #e0e0e0;
    outline: none;
  }

  /* Drawer body: scrollable nav area */
  .mobile-menu__body {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 10px 0 16px;
  }

  .mobile-menu__section-title {
    margin: 18px 16px 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #888;
  }

  /* --- Nav lists -------------------------------------------------------- */
  .mobile-nav,
  .mobile-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .mobile-nav__item,
  .mobile-nav__subitem {
    border-bottom: 1px solid #f0f0f0;
  }

  .mobile-nav__item:last-child,
  .mobile-nav__subitem:last-child {
    border-bottom: 0;
  }

  /* Row: entire row is the tap target for expand/collapse */
  .mobile-nav__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    min-height: 48px;
  }

  .has-children > .mobile-nav__row {
    cursor: pointer;
  }

  .mobile-nav__link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-height: 48px;
    padding: 12px 16px;
    color: #2f2f2f;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    -webkit-transition: background 0.15s linear, color 0.15s linear;
    -moz-transition: background 0.15s linear, color 0.15s linear;
    -ms-transition: background 0.15s linear, color 0.15s linear;
    -o-transition: background 0.15s linear, color 0.15s linear;
    transition: background 0.15s linear, color 0.15s linear;
  }

  .mobile-nav__link:hover,
  .mobile-nav__link:focus-visible {
    background: #fafafa;
    outline: none;
  }

  .mobile-nav__link:active {
    background: #f3f3f3;
  }

  .mobile-nav__icon {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 36px;
    -ms-flex: 0 0 36px;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    overflow: visible;
  }

  .mobile-nav__icon img {
    width: 40px;
    height: 40px;
    max-width: none;
    max-height: none;
    object-fit: contain;
  }

  /* Toggle (chevron) button — separate tap target for expanding */
  .mobile-nav__toggle {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 48px;
    -ms-flex: 0 0 48px;
    flex: 0 0 48px;
    width: 48px;
    min-height: 48px;
    padding: 0;
    border: 0;
    border-left: 1px solid #f0f0f0;
    background: transparent;
    color: #5f5f5f;
    cursor: pointer;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: background 0.15s linear;
    -moz-transition: background 0.15s linear;
    -ms-transition: background 0.15s linear;
    -o-transition: background 0.15s linear;
    transition: background 0.15s linear;
  }

  .mobile-nav__toggle:hover,
  .mobile-nav__toggle:focus-visible {
    background: #fafafa;
    outline: none;
  }

  .mobile-nav__chevron {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: -webkit-transform 0.25s ease, margin-top 0.25s ease;
    -moz-transition: transform 0.25s ease, margin-top 0.25s ease;
    -ms-transition: -ms-transform 0.25s ease, margin-top 0.25s ease;
    -o-transition: transform 0.25s ease, margin-top 0.25s ease;
    transition: transform 0.25s ease, margin-top 0.25s ease;
    margin-top: -3px;
  }

  .mobile-nav__item.is-expanded > .mobile-nav__row .mobile-nav__chevron,
  .mobile-nav__subitem.is-expanded > .mobile-nav__row .mobile-nav__chevron {
    -webkit-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);
    margin-top: 3px;
  }

  /* --- Accordion reveal: max-height transition (no-JS safe) ------------- */
  .mobile-nav__submenu {
    overflow: hidden;
    max-height: 0;
    -webkit-transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    -moz-transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    -ms-transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    -o-transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    background: #fafafa;
    border-top: 1px solid #f0f0f0;
  }

  .mobile-nav__item.is-expanded > .mobile-nav__submenu,
  .mobile-nav__subitem.is-expanded > .mobile-nav__submenu {
    max-height: 3000px;
  }

  .mobile-nav__item--always-open > .mobile-nav__submenu {
    max-height: none;
    overflow: visible;
  }

  /* --- Visual hierarchy by depth ---------------------------------------- */
  /* L1 (pet category): Собаки / Кішки */
  .mobile-nav__link--pet {
    padding-left: 24px;
    font-size: 14px;
    font-weight: 600;
  }

  /* L2 (column group): Нагодувати / Комфорт / Догляд */
  .mobile-nav__submenu--l2 {
    background: #f4f4f4;
  }

  .mobile-nav__link--group {
    padding-left: 40px;
    font-size: 14px;
    font-weight: 500;
    color: #3c3f41;
  }

  /* L3 (leaf): Сухий корм, Консерви… */
  .mobile-nav__submenu--l3 {
    background: #eef0f1;
  }

  .mobile-nav__link--leaf {
    display: block;
    padding: 12px 16px 12px 56px;
    min-height: 44px;
    font-size: 13px;
    font-weight: 400;
    color: #3c3f41;
    text-decoration: none;
    -webkit-transition: background 0.15s linear, color 0.15s linear;
    -moz-transition: background 0.15s linear, color 0.15s linear;
    -ms-transition: background 0.15s linear, color 0.15s linear;
    -o-transition: background 0.15s linear, color 0.15s linear;
    transition: background 0.15s linear, color 0.15s linear;
  }

  .mobile-nav__link--leaf:hover,
  .mobile-nav__link--leaf:focus-visible {
    background: #ffd500;
    color: #1e2426;
    outline: none;
  }

  /* Top-level "Товари для улюбленців" — matches the active yellow tab */
  .mobile-nav__link--tab {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-height: 52px;
    padding: 14px 16px;
    font-size: 15px;
    font-weight: 700;
    color: #1e2426;
    background: #ffd500;
  }

  .mobile-nav__item--primary > .mobile-nav__row .mobile-nav__toggle {
    background: #ffd500;
    border-left-color: #e6c000;
    color: #1e2426;
  }

  .mobile-nav__item--primary.is-expanded > .mobile-nav__row .mobile-nav__link--tab,
  .mobile-nav__item--primary.is-expanded > .mobile-nav__row .mobile-nav__toggle {
    background: #ffe033;
  }

  .mobile-nav__item--always-open > .mobile-nav__row .mobile-nav__link--tab {
    background: #ffd500;
  }

  /* --- Secondary catalog tabs (Бренди, Ветаптека…) — wp_nav_menu output -- */
  .mobile-nav--tabs {
    border-top: 1px solid #f0f0f0;
  }

  .mobile-nav--tabs li {
    border-bottom: 1px solid #f0f0f0;
  }

  .mobile-nav--tabs li:last-child {
    border-bottom: 0;
  }

  .mobile-nav--tabs a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 52px;
    padding: 14px 16px;
    font-size: 15px;
    font-weight: 700;
    color: #2f2f2f;
    text-decoration: none;
    -webkit-transition: background 0.15s linear, color 0.15s linear;
    -moz-transition: background 0.15s linear, color 0.15s linear;
    -ms-transition: background 0.15s linear, color 0.15s linear;
    -o-transition: background 0.15s linear, color 0.15s linear;
    transition: background 0.15s linear, color 0.15s linear;
  }

  .mobile-nav--tabs a:hover,
  .mobile-nav--tabs a:focus-visible {
    background: #fafafa;
    color: #1e2426;
    outline: none;
  }

  .mobile-nav--tabs .mobile-nav__item--vet > .mobile-nav__row .mobile-nav__toggle {
    min-height: 52px;
  }

  .mobile-nav--tabs .mobile-nav__item--vet.is-expanded > .mobile-nav__row .mobile-nav__link,
  .mobile-nav--tabs .mobile-nav__item--vet.is-expanded > .mobile-nav__row .mobile-nav__toggle {
    background: #fafafa;
  }

  .mobile-nav--tabs .mobile-nav__submenu--vet {
    background: #f4f4f4;
  }

  .mobile-nav--tabs .mobile-nav__submenu--vet a.mobile-nav__link--leaf {
    display: block;
    min-height: 44px;
    padding: 12px 16px 12px 32px;
    font-size: 14px;
    font-weight: 500;
    color: #3c3f41;
  }

  .mobile-nav--tabs .mobile-nav__submenu--vet a.mobile-nav__link--leaf:hover,
  .mobile-nav--tabs .mobile-nav__submenu--vet a.mobile-nav__link--leaf:focus-visible {
    background: #ffd500;
    color: #1e2426;
  }

  /* --- Info menu (top_menu) rendered via wp_nav_menu — sits at the bottom */
  .mobile-nav--info {
    border-top: 1px solid #f0f0f0;
  }

  .mobile-nav--info li {
    border-bottom: 1px solid #f0f0f0;
  }

  .mobile-nav--info li:last-child {
    border-bottom: 0;
  }

  .mobile-nav--info a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 44px;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 500;
    color: #3c3f41;
    text-decoration: none;
    -webkit-transition: background 0.15s linear, color 0.15s linear;
    -moz-transition: background 0.15s linear, color 0.15s linear;
    -ms-transition: background 0.15s linear, color 0.15s linear;
    -o-transition: background 0.15s linear, color 0.15s linear;
    transition: background 0.15s linear, color 0.15s linear;
  }

  .mobile-nav--info a:hover,
  .mobile-nav--info a:focus-visible {
    background: #fafafa;
    color: #1e2426;
    outline: none;
  }

  /* Drawer footer — matches desktop .header-contacts palette */
  .mobile-menu__footer {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 6px 12px;
    padding: 14px 16px;
    border-top: 1px solid #efefef;
    background: #fafafa;
  }

  .mobile-menu__phone {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    color: #145860;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    -webkit-transition: color 0.15s linear;
    -moz-transition: color 0.15s linear;
    -ms-transition: color 0.15s linear;
    -o-transition: color 0.15s linear;
    transition: color 0.15s linear;
  }

  .mobile-menu__phone:hover {
    color: #fcc200;
  }

  .mobile-menu__hours {
    font-size: 14px;
    color: #333;
  }

  .mobile-menu__socials {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    margin-top: 4px;
  }

  .mobile-menu__social-link {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 8px;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    min-height: 44px;
    padding: 8px 14px;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    background: #fff;
    color: #145860;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    -webkit-transition: background 0.15s linear, border-color 0.15s linear, color 0.15s linear;
    -moz-transition: background 0.15s linear, border-color 0.15s linear, color 0.15s linear;
    -ms-transition: background 0.15s linear, border-color 0.15s linear, color 0.15s linear;
    -o-transition: background 0.15s linear, border-color 0.15s linear, color 0.15s linear;
    transition: background 0.15s linear, border-color 0.15s linear, color 0.15s linear;
  }

  .mobile-menu__social-link svg {
    color: #145860;
    width: 20px;
    height: 20px;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .mobile-menu__social-link:hover,
  .mobile-menu__social-link:focus-visible {
    background: #f4f4f4;
    border-color: #ccc;
    color: #fcc200;
    outline: none;
  }

  .mobile-menu__social-link:hover svg,
  .mobile-menu__social-link:focus-visible svg {
    color: #fcc200;
  }

  .mobile-menu__social-link:hover svg,
  .mobile-menu__social-link:focus-visible svg {
    color: #fcc200;
  }
}

/* --- Ultra-small phones tweaks ≤480px ---------------------------------- */
@media (max-width: 480px) {
  .mobile-menu__logo img {
    width: 96px;
  }

  .mobile-nav__link {
    font-size: 14px;
  }

  .mobile-nav__link--sub {
    font-size: 13px;
  }

  .mobile-nav__link--leaf {
    font-size: 13px;
  }
}

/* --- Reduced motion: disable slide/fade transitions -------------------- */
@media (prefers-reduced-motion: reduce) {
  .mobile-menu,
  .mobile-menu-overlay,
  .mobile-nav__chevron,
  .mobile-menu-toggle__bars span {
    transition: none;
  }
}

/* ========================================================================
   Mobile filter drawer (off-canvas #sidebar)
   - Desktop: toggle button hidden, sidebar in normal flex flow
   - ≤900px: toggle button visible, sidebar becomes fixed off-canvas drawer
   ======================================================================== */

/* --- Filter drawer header: hidden on desktop --------------------------- */
.sidebar-filter-header {
  display: none;
}

/* --- Toggle button: hidden on desktop ---------------------------------- */
.mobile-filter-toggle {
  display: none;
}

/* --- Overlay: hidden on desktop ---------------------------------------- */
.mobile-filter-overlay {
  display: none;
}

/* --- Mobile activation ≤900px ------------------------------------------ */
@media (max-width: 900px) {
  h1 {
    margin: 0 0 27px;
  }
  /* Toggle button */
  .mobile-filter-toggle {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 8px;
    position: absolute;
    top: 4px;
    right: 0;
    width: auto;
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    background: #fff;
    color: #2f2f2f;
    cursor: pointer;
    z-index: 10;
    -webkit-transition: background 0.2s ease, border-color 0.2s ease;
    transition: background 0.2s ease, border-color 0.2s ease;
  }

  .mobile-filter-toggle:hover,
  .mobile-filter-toggle:focus-visible {
    background: #f4f4f4;
    border-color: #ccc;
    outline: none;
  }

  .mobile-filter-toggle__label {
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
  }

  /* Overlay */
  .mobile-filter-overlay {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1090;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }

  .mobile-filter-overlay.is-visible {
    opacity: 1;
    visibility: visible;
  }

  /* #content needs relative positioning for the absolute toggle button */
  #content {
    position: relative;
  }

  /* #sidebar becomes fixed off-canvas drawer */
  #sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: 375px;
    max-width: 100%;
    height: 100vh;
    background: #fff;
    z-index: 1100;
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    -webkit-box-shadow: 2px 0 16px rgba(0, 0, 0, 0.12);
    box-shadow: 2px 0 16px rgba(0, 0, 0, 0.12);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -webkit-flex: none;
    -ms-flex: none;
    flex: none;
    -webkit-order: unset;
    -ms-flex-order: unset;
    order: unset;
  }

  #sidebar.is-open {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  /* Body scroll lock while filter drawer is open */
  body.filter-open {
    overflow: hidden;
  }

  /* Sidebar content wrapper: full-height scrollable column */
  .woocommerce-sidebar-filters {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 16px;
  }

  /* Filter drawer header */
  .sidebar-filter-header {
    margin: -16px -16px 16px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid #e0e0e0;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }

  .sidebar-filter-title {
    font-size: 18px;
    font-weight: 700;
    color: #2f2f2f;
  }

  .sidebar-filter-close {
    width: 44px;
    height: 44px;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    font-size: 22px;
    color: #333;
    line-height: 1;
    -webkit-transition: background 0.2s ease, border-color 0.2s ease;
    transition: background 0.2s ease, border-color 0.2s ease;
  }

  .sidebar-filter-close:hover,
  .sidebar-filter-close:focus-visible {
    background: #f0f0f0;
    border-color: #ccc;
    outline: none;
  }
}

/* --- Reduced motion: filter drawer ------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  #sidebar,
  .mobile-filter-overlay,
  .mobile-filter-toggle {
    -webkit-transition: none;
    transition: none;
  }
}

/* Nature ambience toggle */
.nature-sound-toggle {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1080;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  color: #2f2f2f;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #e0e0e0;
  border-radius: 50%;
  box-shadow: 0 8px 22px rgba(47, 47, 47, 0.14);
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.nature-sound-toggle:hover,
.nature-sound-toggle:focus-visible {
  background: #fff;
  border-color: #ffd500;
  box-shadow: 0 10px 28px rgba(47, 47, 47, 0.2);
  outline: none;
  transform: translateY(-1px);
}

.nature-sound-toggle.is-active {
  background: #ffd500;
  border-color: #ffc400;
}

.nature-sound-toggle__icon {
  display: block;
}

.nature-sound-toggle__wave {
  opacity: 0;
}

.nature-sound-toggle__slash {
  opacity: 1;
}

.nature-sound-toggle.is-active .nature-sound-toggle__wave {
  opacity: 1;
}

.nature-sound-toggle.is-active .nature-sound-toggle__slash {
  opacity: 0;
}

@media (max-width: 600px) {
  .nature-sound-toggle {
    right: 14px;
    bottom: 14px;
    width: 42px;
    height: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nature-sound-toggle {
    transition: none;
  }
}

/* Final WooCommerce single-product overrides.
   Keep this at the end: WooCommerce/plugin styles for .button.alt and .wc-tabs
   can be printed with high precedence and otherwise repaint these controls. */
body.single-product.woocommerce-page #content div.product form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 0 0 22px !important;
  padding: 0 0 22px !important;
  border-bottom: 1px solid #efefef !important;
}

body.single-product.woocommerce-page #content div.product form.cart div.quantity {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

body.single-product.woocommerce-page #content div.product form.cart div.quantity input.qty,
body.single-product.woocommerce-page #content div.product form.cart div.quantity input.input-text.qty {
  display: block !important;
  width: 76px !important;
  min-width: 76px !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #2f2f2f !important;
  box-shadow: none !important;
  font: 700 16px/1.3 "Open Sans", "Arial", sans-serif !important;
  text-align: center !important;
  -webkit-appearance: textfield !important;
  appearance: textfield !important;
}

body.single-product.woocommerce-page #content div.product form.cart div.quantity input.qty:focus,
body.single-product.woocommerce-page #content div.product form.cart div.quantity input.input-text.qty:focus {
  border-color: #fcc000 !important;
  box-shadow: 0 0 0 3px rgba(252, 192, 0, 0.18) !important;
  outline: none !important;
}

body.single-product.woocommerce-page #content div.product form.cart button.single_add_to_cart_button,
body.single-product.woocommerce-page #content div.product form.cart button.single_add_to_cart_button.button,
body.single-product.woocommerce-page #content div.product form.cart button.single_add_to_cart_button.button.alt {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 230px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 12px 28px !important;
  border: 1px solid #fcc000 !important;
  border-radius: 10px !important;
  background: linear-gradient(90deg, #ffeb01, #fcc000) !important;
  color: #2f2f2f !important;
  box-shadow: none !important;
  font: 800 16px/1.3 "Open Sans", "Arial", sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
}

body.single-product.woocommerce-page #content div.product form.cart button.single_add_to_cart_button:hover,
body.single-product.woocommerce-page #content div.product form.cart button.single_add_to_cart_button:focus,
body.single-product.woocommerce-page #content div.product form.cart button.single_add_to_cart_button:focus-visible {
  border-color: #fcc000 !important;
  background: linear-gradient(90deg, #fcc000, #ffeb01) !important;
  color: #1e2426 !important;
  box-shadow: 0 8px 18px rgba(252, 192, 0, 0.24) !important;
  outline: none !important;
}

body.single-product.woocommerce-page #content div.product button.zoo-unavailable-button,
body.single-product.woocommerce-page #content div.product button.zoo-unavailable-button:hover,
body.single-product.woocommerce-page #content div.product button.zoo-unavailable-button:focus,
body.single-product.woocommerce-page #content div.product button.zoo-unavailable-button:focus-visible {
  border-color: #d4d4d4 !important;
  background: #e9e9e9 !important;
  color: #6b6b6b !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  outline: none !important;
  transform: none !important;
}

body.single-product.woocommerce-page #content div.product .woocommerce-tabs {
  clear: both !important;
  margin: 26px 0 0 !important;
  padding: 0 !important;
  border: 1px solid #efefef !important;
  border-radius: 12px !important;
  background: #fff !important;
  overflow: hidden !important;
}

body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.tabs,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.wc-tabs {
  display: flex !important;
  align-items: stretch !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 12px 14px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #efefef !important;
  background: #fafafa !important;
  overflow-x: auto !important;
}

body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::before,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::after,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.wc-tabs::before,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.wc-tabs::after {
  display: none !important;
  content: none !important;
}

body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.wc-tabs li {
  display: block !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #e0e0e0 !important;
  border-bottom: 0 !important;
  border-radius: 10px 10px 0 0 !important;
  background: #f1f1f1 !important;
  box-shadow: none !important;
}

body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li::before,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li::after,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.wc-tabs li::before,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.wc-tabs li::after {
  display: none !important;
  content: none !important;
  box-shadow: none !important;
}

body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li a,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.wc-tabs li a {
  display: block !important;
  padding: 14px 22px !important;
  color: #4b4b4b !important;
  font: 800 17px/1.25 "Open Sans", "Arial", sans-serif !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.wc-tabs li.active {
  border-color: #fcc000 !important;
  background: #fff !important;
}

body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active a,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li a:hover,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li a:focus-visible,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.wc-tabs li.active a,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.wc-tabs li a:hover,
body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.wc-tabs li a:focus-visible {
  color: #1e2426 !important;
  outline: none !important;
}

body.single-product.woocommerce-page #content div.product .woocommerce-tabs .panel {
  margin: 0 !important;
  padding: 28px 30px 32px !important;
  border: 0 !important;
  background: #fff !important;
  color: #34383a !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

@media (max-width: 650px) {
  body.single-product.woocommerce-page #content div.product form.cart {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
  }

  body.single-product.woocommerce-page #content div.product form.cart div.quantity {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 76px !important;
  }

  body.single-product.woocommerce-page #content div.product form.cart button.single_add_to_cart_button,
  body.single-product.woocommerce-page #content div.product form.cart button.single_add_to_cart_button.button,
  body.single-product.woocommerce-page #content div.product form.cart button.single_add_to_cart_button.button.alt {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    padding-right: 14px !important;
    padding-left: 14px !important;
    white-space: nowrap !important;
    font-size: 14px !important;
  }

  body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.tabs,
  body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.wc-tabs {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }

  body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li a,
  body.single-product.woocommerce-page #content div.product .woocommerce-tabs ul.wc-tabs li a {
    padding: 12px 16px !important;
    font-size: 15px !important;
  }

body.single-product.woocommerce-page #content div.product .woocommerce-tabs .panel {
    padding: 22px 16px 24px !important;
  }
}

/* Wishlist auth modal */
body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal {
  padding: 24px !important;
  text-align: center !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinv-overlay {
  background: #1f3437 !important;
  opacity: 0.58 !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinv-modal-inner {
  width: min(100%, 520px) !important;
  max-width: 520px !important;
  padding: 34px 42px 36px !important;
  border: 1px solid #f1dc88 !important;
  border-radius: 8px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(255, 252, 239, 0.97)),
    url("assets/images/path-to-your-pattern.webp") center / 360px auto repeat !important;
  box-shadow: 0 24px 60px rgba(30, 52, 55, 0.24) !important;
  color: #26383b !important;
  font-family: "Open Sans", "Arial", sans-serif !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .icon_big_times {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  display: grid !important;
  place-items: center !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #24383b !important;
  font-size: 30px !important;
  line-height: 1 !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .icon_big_heart_check {
  display: grid !important;
  place-items: center !important;
  width: 66px !important;
  height: 66px !important;
  margin: 0 auto 24px !important;
  border: 2px solid #ffd500 !important;
  border-radius: 50% !important;
  background: #fff5b8 !important;
  color: #213b3f !important;
  font-size: 28px !important;
  line-height: 1 !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .icon_big_times::before,
body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .icon_big_heart_check::before {
  position: static !important;
  top: auto !important;
  left: auto !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinv-txt {
  max-width: 420px !important;
  margin: 0 auto 28px !important;
  color: #253235 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.32 !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinvwl-buttons-group {
  display: grid !important;
  gap: 12px !important;
  width: min(100%, 360px) !important;
  margin: 0 auto !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinvwl-buttons-group button.button {
  float: none !important;
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 13px 18px !important;
  border-radius: 8px !important;
  border: 1px solid #ffd500 !important;
  box-shadow: none !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinvwl-buttons-group button.button:hover {
  transform: translateY(-1px) !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinvwl-buttons-group button.tinvwl_button_view {
  background: #ffd500 !important;
  color: #1f3437 !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinvwl-buttons-group button.tinvwl_button_view:hover {
  background: #f3c900 !important;
  border-color: #f3c900 !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinvwl-buttons-group button.tinvwl_button_close {
  border-color: #eadfa7 !important;
  background: #fffdf5 !important;
  color: #385053 !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinvwl-buttons-group button.tinvwl_button_close:hover {
  background: #fff6c7 !important;
  color: #1f3437 !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinvwl-buttons-group button i {
  margin-right: 10px !important;
  color: inherit !important;
  font-size: 18px !important;
  vertical-align: -1px !important;
}

body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinvwl-buttons-group button i::before {
  position: static !important;
  top: auto !important;
}

@media (max-width: 600px) {
  body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal {
    padding: 16px !important;
  }

  body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinv-modal-inner {
    padding: 30px 20px 26px !important;
  }

  body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinv-txt {
    font-size: 20px !important;
  }

  body > .tinv-wishlist .tinvwl_added_to_wishlist.tinv-modal .tinvwl-buttons-group button.button {
    min-height: 50px !important;
    font-size: 16px !important;
  }
}

/* Privacy policy page */
.zoo-privacy-policy {
  max-width: 920px;
  color: #2f383a;
  font-size: 16px;
  line-height: 1.68;
}

.zoo-privacy-policy a {
  color: #145860;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.zoo-privacy-policy a:hover {
  color: #d39b00;
}

.zoo-privacy-policy__hero {
  position: relative;
  margin: 0 0 22px;
  padding: 30px 32px;
  border: 1px solid #f1e7bd;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 245, 181, 0.94), rgba(255, 255, 255, 0.96) 58%),
    linear-gradient(90deg, rgba(20, 88, 96, 0.1), rgba(252, 194, 0, 0.14));
  box-shadow: 0 14px 32px rgba(25, 40, 42, 0.08);
}

.zoo-privacy-policy__eyebrow {
  margin: 0 0 8px;
  color: #145860;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.zoo-privacy-policy__hero h2 {
  margin: 0 0 14px;
  color: #26393c;
  font-size: 34px;
  line-height: 1.15;
}

.zoo-privacy-policy__lead {
  max-width: 760px;
  margin: 0 0 16px;
  color: #3f4a4d;
  font-size: 18px;
  line-height: 1.55;
}

.zoo-privacy-policy__updated {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin: 0;
  padding: 7px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
  color: #526064;
  font-size: 14px;
  font-weight: 700;
}

.zoo-privacy-policy__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 22px;
}

.zoo-privacy-policy__nav a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid #e6ece8;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(33, 52, 55, 0.05);
  color: #305156;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}

.zoo-privacy-policy__nav a:hover {
  border-color: #ffd500;
  background: #fff9ce;
  color: #223d40;
}

.zoo-privacy-policy__notice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 24px;
}

.zoo-privacy-policy__notice > div,
.zoo-privacy-policy__contact-card,
.zoo-privacy-policy__tile,
.zoo-privacy-policy__section {
  border: 1px solid #edf0ed;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 24px rgba(26, 45, 48, 0.06);
}

.zoo-privacy-policy__notice > div {
  padding: 16px 18px;
}

.zoo-privacy-policy__notice strong {
  display: block;
  margin: 0 0 6px;
  color: #145860;
  font-size: 15px;
}

.zoo-privacy-policy__notice span {
  display: block;
  color: #4a5659;
  font-size: 14px;
  line-height: 1.55;
}

.zoo-privacy-policy__section {
  margin: 0 0 18px;
  padding: 24px 26px;
}

.zoo-privacy-policy__section h2 {
  margin: 0 0 14px;
  color: #26393c;
  font-size: 24px;
  line-height: 1.25;
}

.zoo-privacy-policy__section h3 {
  margin: 0 0 10px;
  color: #2f4245;
  font-size: 18px;
  line-height: 1.35;
}

.zoo-privacy-policy__section p:last-child,
.zoo-privacy-policy__section ul:last-child,
.zoo-privacy-policy__section ol:last-child {
  margin-bottom: 0;
}

.zoo-privacy-policy__section ul,
.zoo-privacy-policy__section ol {
  margin: 0 0 16px;
  padding-left: 22px;
}

.zoo-privacy-policy__section li {
  margin: 0 0 9px;
}

.zoo-privacy-policy__contact-card {
  margin: 18px 0;
  padding: 16px 18px;
  background: #f8fbfa;
}

.zoo-privacy-policy__contact-card p {
  margin: 0 0 8px;
}

.zoo-privacy-policy__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}

.zoo-privacy-policy__tile {
  padding: 18px;
  background: #fffdf4;
}

.zoo-privacy-policy__tile ul {
  margin-bottom: 0;
  padding-left: 18px;
}

.zoo-privacy-policy__check-list,
.zoo-privacy-policy__rights {
  padding-left: 0 !important;
  list-style: none;
}

.zoo-privacy-policy__check-list li,
.zoo-privacy-policy__rights li {
  position: relative;
  padding-left: 28px;
}

.zoo-privacy-policy__check-list li::before,
.zoo-privacy-policy__rights li::before {
  position: absolute;
  left: 0;
  top: 0.16em;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ffd500;
  color: #253a3d;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.zoo-privacy-policy__check-list li::before {
  content: "\2713";
}

.zoo-privacy-policy__rights {
  counter-reset: privacy-rights;
}

.zoo-privacy-policy__rights li {
  counter-increment: privacy-rights;
}

.zoo-privacy-policy__rights li::before {
  content: counter(privacy-rights);
  font-size: 11px;
}

.zoo-privacy-policy__final {
  border-color: #f1dfa0;
  background: linear-gradient(135deg, #fffdf6, #f7fbfa);
}

@media (max-width: 1024px) {
  .zoo-privacy-policy__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .zoo-privacy-policy {
    max-width: none;
    font-size: 15px;
  }

  .zoo-privacy-policy__hero,
  .zoo-privacy-policy__section {
    padding: 22px 18px;
  }

  .zoo-privacy-policy__hero h2 {
    font-size: 28px;
  }

  .zoo-privacy-policy__lead {
    font-size: 16px;
  }

  .zoo-privacy-policy__notice {
    grid-template-columns: 1fr;
  }

  .zoo-privacy-policy__nav a {
    flex: 1 1 calc(50% - 8px);
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .zoo-privacy-policy__nav {
    display: grid;
    grid-template-columns: 1fr;
  }

  .zoo-privacy-policy__nav a {
    min-height: 42px;
  }
}
/* End privacy policy page */
