/**
* Theme Name: Teapoz Child
* Description: This is a child theme of Teapoz, generated by Merlin WP.
* Author: <a href="https://wpopal.com/">Opalthemes</a>
* Template: teapoz
* Version: 1.2.5
*/

/* ========================================
   Custom Single Product Layout Styles
   ======================================== */

/* Product Badges */
.teapoz-child-badges {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.teapoz-child-badges .onsale-badge {
  background-color: #ff4444;
  color: #fff;
  padding: 4px 12px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  display: inline-block;
  line-height: 1.4;
}

.teapoz-child-badges .instock-badge {
  background-color: #4caf50;
  color: #fff;
  padding: 4px 12px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 600;
  text-transform: capitalize;
  display: inline-block;
  line-height: 1.4;
}

.teapoz-child-badges .outofstock-badge {
  background-color: #999;
  color: #fff;
  padding: 4px 12px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 600;
  text-transform: capitalize;
  display: inline-block;
  line-height: 1.4;
}

/* Product loop badges (shop/archive cards) */
.product-transition .teapoz-loop-badges {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.product-transition .teapoz-loop-badges .onsale {
  position: static;
  left: auto;
  top: auto;
  margin: 0;
}

.product-transition .teapoz-loop-badges .stock-label {
  margin: 0;
}

/* Enhanced Product Summary */
.single-product div.product .summary.product-summary-enhanced {
  margin-bottom: 30px;
}

/* Add to Cart Button Styling */
.single-product div.product .summary button.single_add_to_cart_button {
  background-color: #7ab259;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  padding: 14px 28px;
  border-radius: 4px;
  border: none;
  width: 100%;
  transition: all 0.3s ease;
  letter-spacing: 0.5px;
}

.single-product div.product .summary button.single_add_to_cart_button:hover {
  background-color: #6a9e4d;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.single-product div.product .summary button.single_add_to_cart_button:before {
  content: "\f07a";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 8px;
}

/* Wishlist, Compare, Email buttons container */
.single-product div.product .summary .woosw-btn,
.single-product div.product .summary .woosc-btn,
.single-product div.product .summary .teapoz-email-friend {
  font-size: 13px;
  line-height: 24px;
  padding: 0;
  color: #666;
  background-color: transparent;
  margin-right: 20px;
  text-transform: capitalize;
  font-weight: 500;
  margin-top: 15px;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: color 0.3s ease;
}

.single-product div.product .summary .woosw-btn:hover,
.single-product div.product .summary .woosc-btn:hover,
.single-product div.product .summary .teapoz-email-friend:hover {
  color: var(--primary, #7ab259);
}

.single-product div.product .summary .woosw-btn:before,
.single-product div.product .summary .woosc-btn:before,
.single-product div.product .summary .teapoz-email-friend i {
  margin-right: 6px;
  font-size: 16px;
}

/* Product Tabs Horizontal Style - Override Accordion */
.single-product .woocommerce-tabs.wc-tabs-wrapper {
  margin-top: 40px;
  background-color: #fff;
  clear: both;
}

/* Force horizontal tab layout */
.single-product .woocommerce-tabs ul.tabs.wc-tabs {
  display: flex !important;
  list-style: none;
  margin: 0;
  padding: 0;
  border-bottom: 2px solid #e5e5e5;
  background-color: transparent;
  overflow: visible !important;
  gap: 8px;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs li {
  margin: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  display: block !important;
  float: none !important;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs li a {
  display: block !important;
  padding: 15px 25px !important;
  color: #222 !important;
  font-weight: bold !important;
  text-decoration: none !important;
  transition: all 0.3s ease;
  border-bottom: 1px solid transparent;
  margin-bottom: 6px;
  background-color: #f6f6f6 !important;
}

.single-product .woocommerce-tabs ul.tabs.wc-tabs li:hover a,
.single-product .woocommerce-tabs ul.tabs.wc-tabs li.active a {
  /* color: var(--primary, #7AB259) !important;
    border-bottom-color: var(--primary, #7AB259) !important; */
  background-color: transparent !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  padding: 30px 0;
}

.single-product .woocommerce-tabs .panel:not(.panel.entry-content.wc-tab) {
  display: none;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel--active,
.single-product .woocommerce-tabs #tab-description,
.single-product .woocommerce-tabs .panel.entry-content.wc-tab {
  display: block;
}

/* Hide accordion-style elements if present */
.single-product .teapoz-accordion-container,
.single-product #teapoz-accordion-container {
  display: none !important;
}

/* Ensure tabs show horizontally, not accordion */
.single-product .wc-tabs-wrapper.product-accordions {
  display: block !important;
}

.single-product .woocommerce-tabs .accordion-item {
  display: none !important;
}

/* Product Info Table */
.woocommerce-product-attributes {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
  padding: 12px 15px;
  border-bottom: 1px solid #e5e5e5;
  text-align: left;
}

.woocommerce-product-attributes th {
  font-weight: 600;
  color: #333;
  width: 40%;
}

.woocommerce-product-attributes td {
  color: #666;
}

/* Product Price */
.single-product div.product .summary .price {
  font-size: 24px;
  font-weight: 700;
  color: #333;
  margin-bottom: 15px;
}

.single-product div.product .summary .price del {
  font-size: 18px;
  margin-right: 10px;
}

.single-product div.product .summary .price ins {
  text-decoration: none;
  color: #194a33;
}

/* Product Category */
.single-product div.product .summary .product_meta {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e5e5e5;
  font-size: 14px;
}

.single-product div.product .summary .product_meta a {
  color: var(--primary, #7ab259);
  text-decoration: none;
}

.single-product div.product .summary .product_meta a:hover {
  text-decoration: underline;
}

/* Quantity Input */
.single-product div.product .summary .quantity {
  margin-top: 15px;
}

.single-product div.product .summary .quantity input.qty {
  padding: 10px;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  text-align: center;
  font-size: 14px;
}

/* Social Share Icons */
.single-product div.product .summary .teapoz-social-share {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e5e5e5;
}

.single-product div.product .summary .teapoz-social-share a {
  display: inline-block;
  margin-right: 10px;
  font-size: 18px;
  color: #666;
  transition: color 0.3s ease;
}

.single-product div.product .summary .teapoz-social-share a:hover {
  color: var(--primary, #7ab259);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .teapoz-child-badges {
    top: 10px;
    left: 10px;
  }

  .woocommerce-tabs ul.tabs {
    flex-direction: column;
  }

  .woocommerce-tabs ul.tabs li a {
    padding: 12px 20px;
  }

  .single-product div.product .summary .woosw-btn,
  .single-product div.product .summary .woosc-btn,
  .single-product div.product .summary .teapoz-email-friend {
    display: block;
    margin-right: 0;
    margin-top: 10px;
  }
}

.single-product .woocommerce-tabs ul.tabs li::before {
  top: -5px !important;
}

.woocommerce-Tabs-panel {
  font-family: Lato;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 200%;
  letter-spacing: 0%;
}

.product_after_title .sku_wrapper,
.product_after_title .sku_wrapper .sku {
  font-family: Lato;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 160%;
  letter-spacing: 0%;
  text-transform: uppercase !important;
}

.woocommerce-product-details__short-description {
  font-family: Lato;
  font-weight: 400;
  font-size: 16px;
  line-height: 160%;
  letter-spacing: 0%;
}

.single-product div.product {
  margin: 25px;
}

.woosq-popup {
  max-height: 510px;
}

.woosq-product .thumbnails img {
  object-fit: cover;
  padding: unset;
  margin: unset;
  max-height: unset;
}

.single-product div.product .summary .teapoz-email-friend,
form.cart .teapoz-email-friend {
  margin-top: 20px !important;
  font-size: 14px;
  line-height: 26px;
  padding: 0;
  color: var(--accent);
  background-color: transparent;
  margin-right: 18px;
  text-transform: capitalize;
  font-weight: 500;
  margin-top: 20px;
  text-align: left;
}

@media (min-width: 768px) {
  .single-product div.product .summary .teapoz-email-friend,
  form.cart .teapoz-email-friend {
    width: 100%;
    display: contents;
  }
}

.single-product div.product .summary .teapoz-email-friend:before,
form.cart .teapoz-email-friend:before {
  font-family: "teapoz-icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  vertical-align: middle;
  content: "✉";
  line-height: inherit;
  color: #8dbc4f;
  font-size: 22px;
  position: relative;
  margin-top: -9px;
  margin-right: 10px;
}

.woocommerce-form.woocommerce-form-register.register .register-from-title,
.woocommerce-form.woocommerce-form-login.login .login-form-title {
  font-family: Baskervville !important;
  color: #222222 !important;
}

.woocommerce-form.woocommerce-form-register.register button,
.woocommerce-form.woocommerce-form-login.login button {
  font-size: 18px !important;
  text-transform: uppercase !important;
}

.woocommerce-orders-table.woocommerce-MyAccount-orders {
  border: 1px solid #e0e0e0 !important;
}

.woocommerce-orders-table.woocommerce-MyAccount-orders tr td {
  text-align: left !important;
}

.woocommerce-MyAccount-content table thead th,
.woocommerce-MyAccount-content table tr:nth-of-type(2n) {
  background-color: transparent !important;
}

.woosc_table.has-2 td {
  word-break: unset !important;
}

.woosc_table.has-2 .woosc-remove {
  color: red !important;
  word-break: break-word !important;
}

.woosw-items .woosw-item--atc,
.woosw-items .woosw-item--stock p {
  text-align: right !important;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  background-color: #8dbc4f !important;
}

.product-short-description.product-excerpt {
  padding-bottom: 50px !important;
}

.variations .single-product div.product table.variations select {
  margin-top: 10px !important;
}

.variations .single-product div.product table.variations label {
  text-transform: uppercase !important;
}

.variations .single-product div.product table.variations a.reset_variations {
  color: red !important;
}

.teapoz-email-friend
  .woosc-btn
  .woosc-btn-77
  .woosc-btn
  .woosc-btn-35
  .teapoz-icon-mail {
  display: none !important;
}

#woosq-popup .product .summary .summary-content form.cart .woosc-btn {
  margin-right: 18px !important;
}

.mfp-close {
  right: 5px !important;
  top: 5px !important;
}

.woocommerce-cart .cross-sells {
  @media (min-width: 1200px) {
    width: 100% !important;
  }
}

#order_review {
  background: #f0f0f0 !important;
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details {
  background-color: #f0f0f0 !important;
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details th,
.woocommerce-table.woocommerce-table--order-details.shop_table.order_details
  td {
  padding-left: 25px !important;
  padding-right: 25px !important;
}

.cart-empty.woocommerce-info {
  background-color: transparent !important;
}

.elementor-shortcode .woocommerce-info {
  padding: 12px !important;
}

.woocommerce-orders-table .woocommerce-buttonbutton.view {
  width: 100% !important;
}

.variations_form.cart .variations label {
  text-transform: uppercase !important;
  font-weight: 500 !important;
}
.variations_form.cart .variations .value select {
  margin-top: 10px !important;
}

.teapoz-woocommerce-title {
  font-family: baskervville !important;
}

.widget.widget_block.teapoz-widget-woocommerce h4 {
  font-family: baskervville !important;
}

.elementor-kit-7 {
  font-family: Lato !important;
}

.teapoz-products-per-page .select-selected {
  color: 626262 !important;
}

ul.products-list li.product-list .price,
ul.products-list li.product-list .price ins,
.widget_price_filter .price_slider_amount .price_label span {
  color: #194a33 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}

ul.products-list li.product-list .price del {
  color: #d01e1e !important;
}

.elementor-widget-woocommerce-breadcrumb
  .elementor-widget-container
  .woocommerce-breadcrumb
  a {
  color: #C1C1C1 !important;
}

.cart_totals {
  background-color: #f0f0f0 !important;
}
.cart_totals h2 {
  color: #222 !important;
  text-transform: capitalize !important;
  font-family: baskervville !important;
  font-weight: 400 !important;
}

.checkout-button.button.alt.wc-forward {
  text-transform: uppercase !important;
}

.shop_table.shop_table_responsive.cart.woocommerce-cart-form__contents {
  text-transform: uppercase !important;
}

#place_order {
  text-transform: uppercase !important;
}

.select2-container.select2-selection--single.select2-selection__rendered {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.select2-selection__arrow {
  right: 10px !important;
}

.woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout ul.woocommerce-error {
  display: none !important;
}

.checkout-inline-error-message {
  color: red !important;
  font-style: italic !important;
}

/*
 * My Account > Addresses.
 * The previous rules nudged the "Add / Edit ... address" link with top:40%
 * (billing) and top:80% (shipping). That link is float:right + position:relative,
 * so `top` pushed it DOWN out of the header row and on top of the <address>
 * body (the "You have not set up this type of address yet." text) - the overlap
 * reported in UAT.
 *
 * The rendered card is <header><h2>title</h2><p><a class="edit"><br>label</a></p></header>
 * with a fixed 28px link height, a stray <br>, an absolutely-positioned pencil
 * ::before, and an Elementor rule narrowing the shipping <address> to 40%. Lay
 * the header out as a flex row (heading left, link right on one line), neutralise
 * the clearfix pseudo-elements so they aren't flex items, let the link size to its
 * content, inline the pencil, and restore the address width.
 */
.woocommerce-Addresses .woocommerce-Address {
  position: relative;
}
.woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 12px;
}
.woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title::before,
.woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title::after {
  display: none;
}
.woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title h2,
.woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title h3 {
  margin: 0;
  flex: 1 1 auto;
}
.woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title p {
  margin: 0;
  flex: 0 0 auto;
}
.woocommerce-Addresses .woocommerce-Address .edit,
.woocommerce-Addresses .woocommerce-Address .add {
  position: static !important;
  float: none !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  height: auto !important;
  min-height: 0;
  line-height: normal;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  /* teapoz parent theme .addresses header.title a hides the label with an
     icon-only hack; undo it so "Add / Edit ... address" text is visible. */
  text-indent: 0 !important;
  width: auto !important;
  margin-top: 0 !important;
}
.woocommerce-Addresses .woocommerce-Address .edit br,
.woocommerce-Addresses .woocommerce-Address .add br {
  display: none;
}
.woocommerce-Addresses .woocommerce-Address .edit::before,
.woocommerce-Addresses .woocommerce-Address .add::before {
  position: static !important;
  top: auto !important;
  left: auto !important;
}
.woocommerce-Addresses .woocommerce-Address address {
  clear: both;
  width: auto !important;
  margin-top: 8px;
}
/* Mobile (<=767px): Force a consistent column layout so billing and shipping
   cards always look identical regardless of text-length differences ("Billing
   address" is shorter and might fit inline while "Shipping address" wraps). */
@media (max-width: 767px) {
  .woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title h2,
  .woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title h3 {
    width: 100%;
  }
}

.woocommerce-LostPassword.lost_password a {
  text-decoration: none !important;
}

.woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme {
  display: flex !important;
}

.header-group-action .account-content {
  text-transform: capitalize !important;
}

.woocommerce-mini-cart-item.mini_cart_item {
  font-size: 16px !important;
}

.woocommerce-order-overview__email.email strong {
  white-space: nowrap !important;
}

#block-9 h4 {
  color: #222 !important;
}

.elementor-accordion-item .elementor-tab-content {
  color: #626262 !important;
}

.elementor-3543
  .elementor-element.elementor-element-d88e735:not(
    .elementor-motion-effects-element-type-background
  ),
.elementor-3543
  .elementor-element.elementor-element-d88e735
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-image: url("https://d2aiw9zkxntyz4.cloudfront.net/2023/05/shop-bc-bg-1290x340.jpg") !important;
}

#woosw_wishlist
  .button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
  min-width: 170px !important;
}

.elementor-3543 .elementor-element.elementor-element-d88e735::before,
.elementor-3543
  .elementor-element.elementor-element-d88e735
  > .elementor-background-video-container::before,
.elementor-3543
  .elementor-element.elementor-element-d88e735
  > .e-con-inner
  > .elementor-background-video-container::before,
.elementor-3543
  .elementor-element.elementor-element-d88e735
  > .elementor-background-slideshow::before,
.elementor-3543
  .elementor-element.elementor-element-d88e735
  > .e-con-inner
  > .elementor-background-slideshow::before,
.elementor-3543
  .elementor-element.elementor-element-d88e735
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer::before {
  background-color: unset !important;
}

.elementor-179
  .elementor-element.elementor-element-4c13e17
  .elementor-tab-title
  .elementor-accordion-icon
  i::before {
  color: #222 !important;
}

#order_review #order_review_heading {
  font-size: 28px;
  font-family: baskerville;
  color: #222;
  font-weight: 400;
  text-transform: capitalize;
}

#shop-now-btn .elementor-button-text {
  font-family: "Lato", Sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-transform: capitalize;
  font-style: normal;
  letter-spacing: 0px;
  color: #8dbc4f;
}

#shop-now-btn:hover .elementor-button-text::before {
  text-decoration: none;
  width: 0;
}

#shop-now-btn .elementor-button-text::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 0;
  background-color: var(--text);
  transition: all 0.3s ease;
  background-color: #8dbc4f;
}

.swiper-scrollbar-drag
 {
    background-color: #8cbc4f !important;
}

.single-product div.product .summary .teapoz-email-friend:before, form.cart .teapoz-email-friend:before{
	margin-top: -12px;
	
}
.single-product div.product .summary .teapoz-email-friend:before, form.cart .teapoz-email-friend span{
	font-weight: 600;
}

.content-single-wrapper.clear .teapoz-child-badges{
	display: none;
}

.single-product div.product .product_title{
	text-align: left;
}

.widget_rating_filter ul li.chosen a:before, 
.widget_layered_nav ul li.chosen a:before {
    /* \2713 is the Unicode for a standard checkmark ✓ */
    content: "\2713"; 
    box-shadow: 0 0 0 2px inset var(--accent);
	    line-height: 0.5 !important;
    font-size: 18px;color: #000;
    
    /* Optional: Add these to ensure it looks centered and sharp */
    display: inline-block;
    text-align: center;
    line-height: 1;
}
.footer-width-fixer .elementor-icon.elementor-divider__element{
	margin-left: 80px;
	margin-right: 80px;
}

#mc4wp-form-1 input{
	background-color: #fff;
}

.wpcvs-single-replacement-enable:not(.woovr-active) .single_variation_wrap .woocommerce-variation-description, .wpcvs-single-replacement-enable:not(.woovr-active) .single_variation_wrap .woocommerce-variation-price {
    display: block !important;
}

.single-product div.product p.price .woocs_price_code{
	flex-direction: row;
}

.single-product div.product .single_variation .price ins{
	color: #194a33 !important;
  font-family: Lato;
  font-size: 28px !important;
  font-style: normal;
  font-weight: 800 !important;
  line-height: normal;
}

/*
 * Fixed (pinned) site header.
 *
 * Header Footer Elementor ships `.ehf-header #masthead { position: relative;
 * z-index: 99; }` (specificity 1,1,0). A bare `#masthead { position: fixed }`
 * (1,0,0) loses to it, so the header scrolled away with the page. The
 * `body.ehf-header #masthead` selector below is (1,1,1) and always wins; the
 * plain `#masthead` selector is a fallback for when HFE markup is absent.
 * `top/left` are pinned so the header stays glued to the viewport, and
 * z-index is kept at HFE's 99 so it stays above page content.
 */
body.ehf-header #masthead,
#masthead{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99;
}
/*
 * A fixed header is removed from the document flow, so reserve an equal amount
 * of space at the top of the page to stop it covering content. The
 * --cts-header-h custom property is set to the header's natural (non-sticky)
 * height by the inline script hooked to wp_footer in functions.php, which
 * keeps the offset correct across every breakpoint and after the header slims.
 */
#page{
	padding-top: var(--cts-header-h, 0px);
}
.custom-message-block.custom-success-msg{
	display: flex
;
    align-items: center;
    gap: 20px;
	margin-bottom: 20px
}

#shop-now-btn .elementor-button-text{
	position: relative;
	padding-bottom: 5px;
}

/*
 * Slim sticky header (UAT feedback #6).
 * The Elementor "Header 1" template (post 208) is tall (~181px): a large logo
 * plus the currency/account/cart group wrapping onto three lines. The theme
 * already toggles an `is-sticky` class on #masthead once the page is scrolled
 * (teapoz/footer.php) but shipped no CSS for it, so the full header stayed
 * pinned. These rules compact the header ONLY while sticky, keeping the logo,
 * search and menu visible. Values are CSS-only overrides of Elementor styles,
 * so they take !important to win over the generated per-post stylesheet.
 *
 * These compacting rules target Elementor widgets that only render in the
 * DESKTOP "Header 1" layout (the per-element IDs, the nav-menu row, the
 * desktop actions group). They are now gated to >=768px so they never fight
 * the mobile hamburger header; a separate, selector-safe block below handles
 * the sticky state on phones.
 */
@media (min-width: 768px) {
#masthead.is-sticky .elementor-widget-site-logo img,
#masthead.is-sticky .elementor-widget-site-logo a {
	max-height: 46px;
	width: auto;
	height: auto;
	transition: max-height .25s ease;
}
/* Bring the currency pill back onto the icon row instead of its own line. */
#masthead.is-sticky .teapoz-currency-switch-wrap {
	flex: 0 0 auto !important;
	width: auto !important;
}
#masthead.is-sticky .teapoz-currency-switch {
	margin-bottom: 0;
}
#masthead.is-sticky .teapoz-currency-btn {
	padding: 4px 9px;
	font-size: 11px;
}
#masthead.is-sticky .header-group-action {
	gap: 6px !important;
	align-items: center;
}
/* Collapse the account link to its icon so the actions group fits one row. */
#masthead.is-sticky .site-header-account .account-content {
	display: none;
}
/* Trim the extra top padding on the header-actions container. */
#masthead.is-sticky .elementor-element-536c75a {
	padding-top: 0 !important;
}
/* Tighten the nav row links so the second bar shrinks too. */
#masthead.is-sticky .elementor-widget-teapoz-nav-menu a {
	padding-top: 9px !important;
	padding-bottom: 9px !important;
}
/* Keep the phone button on one line so it stops forcing the nav row taller. */
#masthead.is-sticky .elementor-element-c48eb8d .elementor-button {
	white-space: nowrap;
	font-size: 13px;
}
#masthead.is-sticky .elementor-element-c48eb8d .elementor-button span {
	white-space: nowrap;
	font-size: 13px !important;
}
/* Collapse the residual padding+gap around the logo (the real driver of the
   sticky row height once the image itself is small). */
#masthead.is-sticky .elementor-element-393535d {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	gap: 0 !important;
}
#masthead.is-sticky .elementor-widget-site-logo {
	min-height: 0;
}
/* The header template adds a desktop-only 1vw bottom margin (>=1200px); drop it
   while sticky so the bar doesn't carry that gap. */
#masthead.is-sticky .elementor-element-b39195a {
	margin-bottom: 0 !important;
}
/* Reclaim the per-icon side margins so currency/account/wishlist/cart fit one row. */
#masthead.is-sticky .header-group-action > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* Slim the search bar while sticky (Elementor sets it to 60% width) so the
   compact row keeps its balance instead of carrying the full-size search. */
#masthead.is-sticky .elementor-element-4f18f86 {
	width: 46% !important;
	max-width: 46% !important;
}
#masthead.is-sticky .elementor-element-4f18f86 input.search-field {
	font-size: 13px;
	padding-left: 14px !important;
}
/* While sticky, collapse the submit button to its icon so the narrower
   input still shows its full placeholder instead of clipping it. */
#masthead.is-sticky .elementor-element-4f18f86 form button[type=submit] {
	width: 48px !important;
	padding: 0 !important;
}
#masthead.is-sticky .elementor-element-4f18f86 form button[type=submit] span {
	display: none;
}
#masthead.is-sticky .elementor-element-4f18f86 form button[type=submit] i {
	display: inline-block;
	font-size: 16px;
	line-height: 40px;
}
}

/*
 * Sticky header on phones (<768px). The mobile "Header 1" layout is a 3-row
 * stack (logo / currency / icons ~ 174px sticky) which is acceptable on a
 * phone. We simply shrink the logo slightly while sticky for visual continuity;
 * no reliance on the desktop-only Elementor element IDs in the block above.
 */
@media (max-width: 767px) {
	#masthead.is-sticky .elementor-widget-site-logo img,
	#masthead.is-sticky .elementor-widget-site-logo a {
		max-height: 40px;
		width: auto;
		height: auto;
	}
	#masthead.is-sticky .elementor-widget-site-logo {
		min-height: 0;
	}
}

/*
 * Product Brands multi-select checkbox filter (shop sidebar).
 * Rendered by Teapoz_Child_Brand_Filter_Widget in teapoz-child/functions.php,
 * which replaces the parent theme's single-select brand dropdown. Kept in
 * the same visual language as the sidebar category list: plain stacked rows,
 * theme green accent, muted product counts.
 */
.cts-brand-filter-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.cts-brand-filter-item {
	margin: 0 0 10px;
}
.cts-brand-filter-item label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	cursor: pointer;
	font-weight: 400;
}
.cts-brand-filter-item input[type="checkbox"] {
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	margin: 3px 0 0;
	accent-color: #7ab259;
}
.cts-brand-filter-name {
	color: #222222;
}
.cts-brand-filter-item.is-checked .cts-brand-filter-name {
	color: #194a33;
	font-weight: 600;
}
.cts-brand-filter-count {
	color: #626262;
	font-size: 0.9em;
}
.cts-brand-filter-clear {
	display: inline-block;
	margin-top: 4px;
	color: #194a33;
	font-size: 13px;
	text-decoration: underline;
}