/*!
Theme Name: Diaper
Theme URI: http://underscores.me/
Author: Dung Johnny
Author URI: https://bosoftvn.com
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: diaper
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Diaper is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&display=swap');
:root {
    --main-color: #0a959a;
    --main-color-dark: #037579;
    --secondary-color: #2e8e2d;
}
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    font-size: 16px;
}

/* Sections
      ========================================================================== */

/**
  * Remove the margin in all browsers.
  */
body {
    margin: 0;
    font-size: 16px;
    color: #000;
}

/**
  * Render the `main` element consistently in IE.
  */
main {
    display: block;
}

/**
  * Correct the font size and margin on `h1` elements within `section` and
  * `article` contexts in Chrome, Firefox, and Safari.
  */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/* Grouping content
      ========================================================================== */

/**
  * 1. Add the correct box sizing in Firefox.
  * 2. Show the overflow in Edge and IE.
  */
hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
pre {
    font-family: monospace, monospace;
    font-size: 1em;
}

/* Text-level semantics
      ========================================================================== */

/**
  * Remove the gray background on active links in IE 10.
  */
a {
    background-color: transparent;
}

/**
  * 1. Remove the bottom border in Chrome 57-
  * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
  */
abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}

/**
  * Add the correct font weight in Chrome, Edge, and Safari.
  */
b,
strong {
    font-weight: bolder;
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

/**
  * Add the correct font size in all browsers.
  */
small {
    font-size: 80%;
}

/**
  * Prevent `sub` and `sup` elements from affecting the line height in
  * all browsers.
  */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content
      ========================================================================== */

/**
  * Remove the border on images inside links in IE 10.
  */
img {
    border-style: none;
}

/* Forms
      ========================================================================== */

/**
  * 1. Change the font styles in all browsers.
  * 2. Remove the margin in Firefox and Safari.
  */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

/**
  * Show the overflow in IE.
  * 1. Show the overflow in Edge.
  */
button,
input {
    overflow: visible;
}

/**
  * Remove the inheritance of text transform in Edge, Firefox, and IE.
  * 1. Remove the inheritance of text transform in Firefox.
  */
button,
select {
    text-transform: none;
}

/**
  * Correct the inability to style clickable types in iOS and Safari.
  */
button,
[type='button'],
[type='reset'],
[type='submit'] {
    -webkit-appearance: button;
}

/**
  * Remove the inner border and padding in Firefox.
  */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/**
  * Restore the focus styles unset by the previous rule.
  */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
  * Correct the padding in Firefox.
  */
fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/**
  * 1. Correct the text wrapping in Edge and IE.
  * 2. Correct the color inheritance from `fieldset` elements in IE.
  * 3. Remove the padding so developers are not caught out when they zero out
  *		`fieldset` elements in all browsers.
  */
legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

/**
  * Add the correct vertical alignment in Chrome, Firefox, and Opera.
  */
progress {
    vertical-align: baseline;
}

/**
  * Remove the default vertical scrollbar in IE 10+.
  */
textarea {
    overflow: auto;
}

/**
  * 1. Add the correct box sizing in IE 10.
  * 2. Remove the padding in IE 10.
  */
[type='checkbox'],
[type='radio'] {
    box-sizing: border-box;
    padding: 0;
}

/**
  * Correct the cursor style of increment and decrement buttons in Chrome.
  */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
    height: auto;
}

/**
  * 1. Correct the odd appearance in Chrome and Safari.
  * 2. Correct the outline style in Safari.
  */
[type='search'] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

/**
  * Remove the inner padding in Chrome and Safari on macOS.
  */
[type='search']::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
  * 1. Correct the inability to style clickable types in iOS and Safari.
  * 2. Change font properties to `inherit` in Safari.
  */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

/* Interactive
      ========================================================================== */

/*
  * Add the correct display in Edge, IE 10+, and Firefox.
  */
details {
    display: block;
}

/*
  * Add the correct display in all browsers.
  */
summary {
    display: list-item;
}

/* Misc
      ========================================================================== */

/**
  * Add the correct display in IE 10+.
  */
template {
    display: none;
}

/**
  * Add the correct display in IE 10.
  */
[hidden] {
    display: none;
}

/* Box sizing
 --------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
 @link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
    box-sizing: inherit;
}

html {
    box-sizing: border-box;
}

/*--------------------------------------------------------------
 # Base
 --------------------------------------------------------------*/

/* Typography
 --------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
    color: #000;
    font-family: 'Noto Sans TC', Inter, 'Helvetica Neue', sans-serif;
    font-size: 1rem;
    line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    clear: both;
}

p {
    margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
    font-style: italic;
}

blockquote {
    margin: 0 1.5em;
}

address {
    margin: 0 0 1.5em;
}

pre {
    background: #eee;
    font-family: 'Courier 10 Pitch', courier, monospace;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
}

code,
kbd,
tt,
var {
    font-family: monaco, consolas, 'Andale Mono', 'DejaVu Sans Mono', monospace;
}

abbr,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

mark,
ins {
    /* background: #fff9c0;
    text-decoration: none; */
}

big {
    font-size: 125%;
}

/* Elements
 --------------------------------------------- */
body {
    background: #fff;
}

hr {
    background-color: #ccc;
    border: 0;
    height: 1px;
    margin-bottom: 1.5em;
}

ul,
ol {
    margin: 0 0 1.5em 3em;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li > ul,
li > ol {
    margin-bottom: 0;
    margin-left: 1.5em;
}

dt {
    font-weight: 700;
}

dd {
    margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
    max-width: 100%;
}

img {
    height: auto;
    max-width: 100%;
}

figure {
    margin: 1em 0;
}

table {
    margin: 0 0 1.5em;
    width: 100%;
}

/* Links
 --------------------------------------------- */
a {
    color: var(--main-color);
}

a:visited {
    color: var(--main-color);
}

a:hover,
a:focus,
a:active {
    color: #005e61;
}

a:focus {
    outline: thin dotted;
}

a:hover,
a:active {
    outline: 0;
}

/* Forms
 --------------------------------------------- */
button,
input[type='button'],
input[type='reset'],
input[type='submit'] {
    border: 1px solid;
    border-color: #ccc #ccc #bbb;
    border-radius: 3px;
    background: #e6e6e6;
    color: rgba(0, 0, 0, 0.8);
    line-height: 1;
    padding: 0.6em 1em 0.4em;
}

button:hover,
input[type='button']:hover,
input[type='reset']:hover,
input[type='submit']:hover {
    border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type='button']:active,
input[type='button']:focus,
input[type='reset']:active,
input[type='reset']:focus,
input[type='submit']:active,
input[type='submit']:focus {
    border-color: #aaa #bbb #bbb;
}

input[type='text'],
input[type='email'],
input[type='url'],
input[type='password'],
input[type='search'],
input[type='number'],
input[type='tel'],
input[type='range'],
input[type='date'],
input[type='month'],
input[type='week'],
input[type='time'],
input[type='datetime'],
input[type='datetime-local'],
input[type='color'],
textarea,
.wc-block-components-form .wc-block-components-text-input input[type='email'],
.wc-block-components-form .wc-block-components-text-input input[type='number'],
.wc-block-components-form
    .wc-block-components-text-input
    input[type='password'],
.wc-block-components-form .wc-block-components-text-input input[type='tel'],
.wc-block-components-form .wc-block-components-text-input input[type='text'],
.wc-block-components-form .wc-block-components-text-input input[type='url'],
.wc-block-components-text-input input[type='email'],
.wc-block-components-text-input input[type='number'],
.wc-block-components-text-input input[type='password'],
.wc-block-components-text-input input[type='tel'],
.wc-block-components-text-input input[type='text'],
.wc-block-components-text-input input[type='url'],
.wc-blocks-components-select .wc-blocks-components-select__select {
    color: #666 !important;
    border: 1px solid #ccc !important;
    border-radius: 5px !important;
}

input[type='text']:focus,
input[type='email']:focus,
input[type='url']:focus,
input[type='password']:focus,
input[type='search']:focus,
input[type='number']:focus,
input[type='tel']:focus,
input[type='range']:focus,
input[type='date']:focus,
input[type='month']:focus,
input[type='week']:focus,
input[type='time']:focus,
input[type='datetime']:focus,
input[type='datetime-local']:focus,
input[type='color']:focus,
textarea:focus,
select:focus {
    color: #111;
    outline: none !important;
}

select {
    border: 1px solid #ccc;
}

textarea {
    width: 100%;
}

/*--------------------------------------------------------------
 # Layouts
 --------------------------------------------------------------*/

/*--------------------------------------------------------------
 # Components
 --------------------------------------------------------------*/

/* Navigation
 --------------------------------------------- */
.header-navigation {
    padding: 10px 0;
}
.main-navigation {
    display: block;
    width: 100%;
}

.main-navigation ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding-left: 0;
}
.menu-main-menu-container {
    display: flex;
    justify-content: center;
}
.main-navigation #primary-menu > li {
    margin: 0 20px;
    font-size: 20px;
}
li.menu-item-has-children {
    padding-right: 15px;
}
li.menu-item-has-children::after {
    content: '';
    width: 10px;
    height: 10px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    transform: rotate(45deg);
    display: block;
    position: absolute;
    top: 6px;
    right: 0;
}
.main-navigation a {
    color: #000;
}
.main-navigation .sub-menu > li > a {
    padding: 4px 12px;
    border-bottom: 1px solid #e7e7e7;
}
.main-navigation ul ul {
    border: 1px solid #e7e7e7;
    float: left;
    position: absolute;
    top: 100%;
    left: -999em;
    z-index: 99999;
    display: block;
    border-radius: 5px;
    background: #fff;
}

.main-navigation ul ul ul {
    left: -999em;
    top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
    display: block;
    left: auto;
}

.main-navigation ul ul a {
    width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
    left: auto;
}

.main-navigation li {
    position: relative;
}

.main-navigation a {
    display: block;
    text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
    display: block;
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
    margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
    display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
    flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
    text-align: end;
    flex: 1 0 50%;
}

/* Posts and pages
 --------------------------------------------- */
.sticky {
    display: block;
}

.post,
.page {
    margin: 0 0 1.5em;
}

.updated:not(.published) {
    display: none;
}

.page-content,
.entry-content,
.entry-summary {
    margin: 1.5em 0 0;
}

.page-links {
    clear: both;
    margin: 0 0 1.5em;
}

/* Comments
 --------------------------------------------- */
.comment-content a {
    word-wrap: break-word;
}

.bypostauthor {
    display: block;
}

/* Widgets
 --------------------------------------------- */
.widget {
    margin: 0 0 1.5em;
}

.widget select {
    max-width: 100%;
}

/* Media
 --------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
    display: inline-block;
}

/* Captions
 --------------------------------------------- */
.wp-caption {
    margin-bottom: 1.5em;
    max-width: 100%;
}

.wp-caption img[class*='wp-image-'] {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption .wp-caption-text {
    margin: 0.8075em 0;
}

.wp-caption-text {
    text-align: center;
}

/* Galleries
 --------------------------------------------- */
.gallery {
    margin-bottom: 1.5em;
    display: grid;
    grid-gap: 1.5em;
}

.gallery-item {
    display: inline-block;
    text-align: center;
    width: 100%;
}

.gallery-columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
    grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
    grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
    grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
    grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
    grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
    display: block;
}

/*--------------------------------------------------------------
 # Plugins
 --------------------------------------------------------------*/

/* Jetpack infinite scroll
 --------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
    display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
    display: block;
}

/*--------------------------------------------------------------
 # Utilities
 --------------------------------------------------------------*/

/* Accessibility
 --------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex='-1']:focus {
    outline: 0;
}

/* Alignments
 --------------------------------------------- */
.alignleft {
    /*rtl:ignore*/
    float: left;

    /*rtl:ignore*/
    margin-right: 1.5em;
    margin-bottom: 1.5em;
}

.alignright {
    /*rtl:ignore*/
    float: right;

    /*rtl:ignore*/
    margin-left: 1.5em;
    margin-bottom: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5em;
}

.row {
    margin: 0 -15px;
    display: flex;
    flex-wrap: wrap;
}
.col {
    padding: 15px;
}
.col-50 {
    width: 50%;
}
.col-40 {
    width: 40%;
}
.col-30 {
    width: 30%;
}
.col-20 {
    width: 20%;
}
.col-10 {
    width: 50%;
}

.btn,
.button,
.wc-block-cart__submit-button,
.wc-block-components-button,
.wc-block-components-checkout-place-order-button {
    background: var(--main-color);
    color: #fff !important;
    border: none;
    border-radius: 5px;
    padding: 10px 30px;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    display: inline-block;
}
.btn:hover,
.button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.btn:hover,
.button:focus,
.wc-block-cart__submit-button:focus,
.wc-block-components-button:focus,
.wc-block-components-checkout-place-order-button:focus {
    background: var(--main-color-dark);
    outline: none !important;
    box-shadow: none !important;
}

.container {
    max-width: 1330px;
    margin: 0 auto;
    padding: 0 15px;
}

.site-header {
    background: #f6f6ec;
    padding: 10px 0;
}
.header-container,
.header-right,
.header-icons {
    display: flex;
    align-items: center;
}
.header-container {
    position: relative;
}
.header-icons a {
    color: #000;
    text-decoration: none;
}
.site-logo {
    width: 230px;
}
.site-logo img {
    max-width: 200px;
    width: 100%;
}
.header-right,
.header-search {
    flex: 1;
}
.header-search {
    margin-right: 65px;
}
.header-search-form {
    position: relative;
    background: #f2f2f2;
    border: 1px solid #808080;
    border-radius: 7px;
    overflow: hidden;
}
.header-search-form .input-text {
    width: 100%;

    background: transparent;
    height: 40px;
    line-height: 40px;
    padding: 2px 50px 2px 15px;
}
.header-search-form .input-text:focus {
    outline: none;
}
.header-search-form button {
    border: none;
    background-color: #0a959a;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 55px;
    text-align: center;
    cursor: pointer;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.header-search-form button svg {
    width: 26px;
    height: 26px;
}
.header-icon.user-icon {
    background: url(images/member.svg) no-repeat center center;
}
.header-icon.cart-icon {
    background: url(images/market.svg) no-repeat center center;
    position: relative;
}
span.badge.cart-item-count {
    background: var(--main-color);
    color: #fff;
    width: 24px;
    height: 24px;
    display: block;
    font-size: 14px;
    text-align: center;
    border-radius: 20px;
    line-height: 24px;
    font-weight: 500;
    position: absolute;
    top: -6px;
    right: -8px;
}
.header-icon {
    width: 40px;
    height: 40px;
    background-size: 100% !important;
}
.header-icons .icon-wrap {
    display: flex;
    align-items: center;
}
.header-icons .icon-title {
    font-size: 13px;
    color: #757575;
    display: block;
}
.header-icons .icon-text {
    font-size: 16px;
    font-weight: 600;
    width: 90px;
    text-align: right;
}
.icon-wrap.login-register {
    margin-right: 25px;
}
.section-title {
    font-size: 32px;
    font-weight: 400;
}
.featured-products {
    margin: 0 0 30px 0;
}
.brand-products-section {
    margin: 0 0 30px 0;
}
.brand-products-wrap {
    margin: 0 -15px;
}
.brand-products.products-list {
    grid-template-columns: repeat(5, 1fr);
}
.products-list {
    display: grid;
    width: 100%;
    gap: 30px;
    grid-template-columns: repeat(3, 1fr);
}
.featured-products.products-list {
    grid-template-columns: repeat(5, 1fr);
}
.products-list.slick-slider {
    display: block;
}
.popular-products-wrap {
    margin: 0 -15px;
}
.products-list .product {
    margin: 0 0 20px 0;
    padding: 0 20px;
}
.products-list.slick-slider .product {
    margin: 0 0 20px 0;
    padding: 0 15px;
}
h2.woocommerce-loop-product__title {
    font-size: 16px;
    font-weight: 400;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
h2.woocommerce-loop-product__title a {
    color: #000;
    text-decoration: none;
}
h2.woocommerce-loop-product__title a:hover {
    color: var(--main-color);
}
body.home .product-item-img {
    border: 5px solid var(--main-color);
    border-radius: 10px;
    position: relative;
    overflow: hidden;
    margin: 0 0 20px 0;
}

.price-per-piece {
    position: absolute;
    bottom: -35px;
    right: -25px;
    width: 100px;
    height: 100px;
    background: #2e8e2d;
    color: #fff;
    border-radius: 100px;
    line-height: 1;
    display: block;
}

span.price-per-piece .top-text {
    font-size: 12px;
    display: block;
    padding-left: 20px;
    margin-top: 13px;
    text-align: left;
}
span.price-per-piece .bottom-text {
    font-size: 12px;
    display: block;
    margin: 0 0 0 20px;
}
span.piece-price {
    font-size: 19px;
    margin: 0 0 0 -12px;
    line-height: 1;
}
span.price {
    display: flex;
    align-items: center;
}
span.price del {
    order: 2;
    font-size: 14px;
    margin: 0 0 0 10px;
}
span.price ins {
    background: none;
    color: #ff711f;
    font-size: 14px;
    font-weight: 700;
}
.add_to_cart_button {
    background: var(--main-color);
    display: block;
    text-align: center;
    color: #fff;
    text-decoration: none;
    padding: 8px;
    border-radius: 6px;
    position: relative;
}
.add_to_cart_button:hover,
.add_to_cart_button:active,
.add_to_cart_button:focus {
    color: #fff;
    background: var(--main-color-dark);
}
.product-cat-list {
    text-align: center;
}
.product-cat-item {
    display: inline-block;
    max-width: 380px;
    padding: 12px;
}
.product-cat-item h3 {
    display: none;
}
.categories-list {
    margin: 0 0 30px 0;
}
.home-banner2 {
    margin: 0 0 30px 0;
}
.blogs-list {
    margin: 0 0 30px 0;
}
.home-blogs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 45px;
}
.home-blogs h3 a {
    color: #000;
    text-decoration: none;
}
.home-blogs h3 a:hover {
    color: var(--main-color);
}
.home-blogs .blog-post-image img {
    border-radius: 12px;
}
.home-blogs .short-content {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.home-icons {
    display: flex;
    justify-content: space-around;
    margin: 55px 0 50px;
}
.home-icon {
    max-width: 290px;
    display: flex;
}
.icon-image {
    margin: 0 15px 0 0;
}

.noUi-tooltip {
    opacity: 0;
    transition: opacity 0.2s ease;
}

.noUi-handle.show-tooltip .noUi-tooltip {
    opacity: 1;
}

.site-breadcrumb {
    margin: 10px 0 40px 0;
}
.product-list-page {
    display: flex;
}
.product-filters {
    width: 270px;
    margin: 0 40px 0 0;
}
.product-filters h3 {
    font-size: 20px;
    font-weight: 500;
    margin: 0 0 10px 0;
    border-bottom: 2px solid #ccc;
    padding: 0 0 8px 0;
}
.list-products {
    flex: 1;
}
#price-range,
.noUi-horizontal {
    margin: 0 10px;
    height: 12px;
}
.noUi-connect {
    background: var(--main-color);
}
.noUi-horizontal .noUi-handle {
    width: 20px;
    height: 20px;
    border-radius: 20px;
    right: -10px;
    top: -5px;
}
.water-absorption-filter .noUi-horizontal .noUi-handle {
    background: #00ade1;
    box-shadow: none;
    border: none;
}
.noUi-handle:after,
.noUi-handle:before {
    display: none;
}
.price-range {
    display: flex;
    justify-content: space-between;
    margin: 0 0 10px 0;
}
.woocommerce-result-count,
.woocommerce-ordering {
    display: none;
}
.cat-filters ul,
.brand-filters ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.cat-filters ul li,
.brand-filters ul li,
.sizes-filters ul li,
.size-item {
    margin: 5px 0;
}
.filter-section {
    margin: 0 0 30px 0;
}
.checkbox-wrap input[type='checkbox'],
.radio-wrap input[type='radio'] {
    display: none;
}

.checkbox-wrap,
.radio-wrap {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
}

.checkbox-wrap .checkmark,
.radio-wrap .checkmark {
    width: 20px;
    height: 20px;
    border: 1px solid #c1c1c1;
    border-radius: 4px;
    position: relative;
    margin-right: 8px;
    transition: background-color 0.2s ease;
}
.radio-wrap .checkmark {
    border-radius: 20px;
}

.checkbox-wrap input[type='checkbox']:checked + .checkmark::after {
    content: '✔';
    position: absolute;
    left: 3px;
    top: -1px;
    font-size: 16px;
    color: #fff;
    line-height: 1;
}
.radio-wrap input[type='radio']:checked + .checkmark::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 3px;
    width: 12px;
    height: 12px;
    background: var(--main-color);
    border-radius: 10px;
}

.checkbox-wrap input[type='checkbox']:checked + .checkmark {
    background-color: var(--main-color);
    border-color: var(--main-color);
}

nav.woocommerce-pagination {
    margin: 20px 0;
}
ul.page-numbers {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
}
.page-numbers li {
    display: inline-block;
}
.page-numbers li .page-numbers {
    display: block;
    padding: 5px 3px;
    background: var(--main-color);
    color: #fff;
    text-decoration: none;
    line-height: 1;
    min-width: 25px;
}
.page-numbers li .page-numbers:hover,
.page-numbers li .page-numbers.current {
    background: var(--secondary-color);
}
.product-cols {
    display: flex;
    gap: 50px;
}
.product-col-left {
    width: 36%;
}
.product-col-right {
    width: calc(63% - 50px);
}

/* New layout styles for product page restructure */
.product-divider {
    margin: 30px 0;
    border: none;
    border-top: 1px solid #ddd;
}

.related-products-vertical h3 {
    font-size: 18px;
    margin-bottom: 20px;
    color: #333;
}

.related-products-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.product-item-grid {
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
    background: #fff;
}

.product-item-grid:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.product-item-wrap-grid {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.product-img-grid {
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.product-img-grid img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

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

.product-img-grid .onsale {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #ff4444;
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
    z-index: 2;
}

.product-details-grid {
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.product-title-grid {
    margin: 0;
    font-size: 14px;
    line-height: 1.3;
    height: 2.6em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.product-title-grid a {
    color: #333;
    text-decoration: none;
}

.product-title-grid a:hover {
    color: #007cba;
}

.price-grid {
    font-weight: bold;
    color: #007cba;
    font-size: 16px;
    margin: 5px 0;
}

.price-grid del {
    color: #999;
    font-weight: normal;
    margin-right: 8px;
}

.price-grid ins {
    text-decoration: none;
    color: #e74c3c;
    font-weight: bold;
}

.product-absorb-level-grid {
    display: flex;
    gap: 3px;
    align-items: center;
    margin: 5px 0;
}

.product-absorb-level-grid .drop {
    width: 12px;
    height: 12px;
}

/* Product content wrapper for new sidebar layout */
.product-content-wrapper {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    position: relative;
}

.product-main-content {
    flex: 1;
    min-width: 0; /* Allows flex item to shrink below content size */
}

.product-sidebar-right {
    width: 280px;
    flex-shrink: 0;
    height: fit-content;
}

.product-purchase-box {
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 25px;
    position: -webkit-sticky;
    position: sticky;
    top: 20px;
    align-self: flex-start;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    z-index: 10;
}

.product-purchase-box .price {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
    display: block;
}

.product-purchase-box .price del {
    color: #999;
    font-size: 18px;
    font-weight: normal;
    margin-right: 10px;
    text-decoration: line-through;
}

.product-purchase-box .price ins {
    text-decoration: none;
    color: #e74c3c;
    font-weight: bold;
    font-size: 26px;
}

.product-purchase-box .price .screen-reader-text {
    display: none;
}

.product-purchase-box .single_variation_wrap {
    margin-bottom: 0;
}

.product-purchase-box .cart-actions-container {
    margin-top: 15px;
}

.product-purchase-box .whatsapp-btn {
    width: 100%;
    text-align: center;
    margin-top: 10px;
}

/* Discrete Packaging Option Styles */
.discrete-packaging-option {
    margin: 20px 0;
    padding: 15px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
}

.discrete-packaging-option h4 {
    margin: 0 0 12px 0;
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.packaging-selection {
    margin-bottom: 8px;
}

.packaging-selection .radio-wrap {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    cursor: pointer;
}

.packaging-selection .radio-wrap input[type='radio'] {
    margin-right: 8px;
}

.packaging-selection .packaging-label {
    font-size: 14px;
    color: #555;
}

.packaging-info {
    margin-top: 8px;
}

.packaging-info small {
    font-size: 12px;
    color: #777;
    line-height: 1.4;
}

/* Mobile Discrete Packaging Option Styles */
.mobile-discrete-packaging-option {
    margin: 20px 0;
    padding: 15px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
}

.mobile-discrete-packaging-option h4 {
    margin: 0 0 12px 0;
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.mobile-packaging-selection {
    margin-bottom: 8px;
}

.mobile-packaging-selection .mobile-radio-wrap {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    cursor: pointer;
}

.mobile-packaging-selection .mobile-radio-wrap input[type='radio'] {
    margin-right: 8px;
}

.mobile-packaging-selection .mobile-packaging-label {
    font-size: 14px;
    color: #555;
}

.mobile-packaging-info {
    margin-top: 8px;
}

.mobile-packaging-info small {
    font-size: 12px;
    color: #777;
    line-height: 1.4;
}

/* Ensure content within main area doesn't overflow */
.product-main-content .summary {
    max-width: 100%;
    overflow-wrap: break-word;
}

.product-main-content .woocommerce-tabs {
    max-width: 100%;
}

.product-main-content table {
    max-width: 100%;
    table-layout: fixed;
}

/* Adjust variations table within the new layout */
.product-main-content .variations-table {
    width: 100%;
    max-width: 100%;
}

.product-main-content .variations-table th,
.product-main-content .variations-table td {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Hide duplicate price and description in variation section since we show it in sidebar */
.product-purchase-box .woocommerce-variation-price {
    display: none !important;
}

.product-purchase-box .woocommerce-variation-description {
    display: none !important;
}

/* Full width content styling */
.product-full-width-content {
    margin-top: 30px;
    width: 100%;
}

.product-full-width-content .woocommerce-tabs {
    width: 100%;
    max-width: 100%;
}

.product-full-width-content .shipping-info {
    margin-top: 20px;
}

.product-cols .summary {
    margin: 0;
}
.single-product .product-images {
    position: relative;
    overflow: hidden;
}
.single-product div.product .woocommerce-product-gallery {
    margin: 0 0 0 100px;
    width: calc(100% - 100px);
    float: none !important;
}
.single-product div.product span.piece-price {
    margin: 0 0 0 15px;
}
.single-product div.product span.price-per-piece .bottom-text {
    margin: 0 0 0 48px;
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    width: 100px;
    position: absolute;
    top: 0;
    left: -100px;
    padding: 0 20px 0 0 !important;
}
.woocommerce-product-gallery__wrapper {
    text-align: center;
}
.product-item-img {
    text-align: center;
    position: relative;
    overflow: hidden;
}
.single-product div.product .woocommerce-product-gallery .flex-viewport {
    border: 2px solid #56c5d3;
    border-radius: 10px;
}
.single-product
    div.product
    .woocommerce-product-gallery
    .flex-control-thumbs
    li
    img {
    opacity: 1 !important;
    border: 2px solid #cfcfcf;
    border-radius: 10px;
}
.single-product
    div.product
    .woocommerce-product-gallery
    .flex-control-thumbs
    li
    img.flex-active {
    border: 2px solid #56c5d3;
}
h1.product_title {
    font-size: 24px;
    font-weight: 500;
    margin: 0;
}

span.onsale {
    display: block;
    width: 140px;
    height: 28px;
    line-height: 22px;
    background: #d70000;
    color: #fff;
    padding: 1px 2px 1px 10px;
    position: absolute;
    left: -15px;
    top: -13px;
    z-index: 2;
    font-weight: 300;
    font-size: 14px;
}
.product-images span.onsale {
    left: 85px;
    top: 8px;
}
body.home span.onsale {
    display: none;
}
span.onsale::after {
    content: '';
    width: 0;
    height: 0;
    border: 15px solid transparent;
    border-right-color: #b10000;
    border-top: none;
    border-bottom-width: 13px;
    align-content: normal;
    position: absolute;
    bottom: -13px;
    left: -15px;
}
.summary .price del {
    display: none;
}
.woocommerce-product-gallery__trigger {
    display: none;
}

.summary .price ins {
    background: none;
}
.summary .woocommerce-Price-amount {
    font-size: 32px;
    font-weight: 600;
}
body .woocommerce-message,
body .woocommerce-info,
body .woocommerce-error,
body .woocommerce-noreviews,
p.no-comments {
    background-color: #b3f5f7;
    clear: both;
    margin: 20px 0;
    color: #000;
    padding: 8px;
    font-weight: 400;
    border: 1px solid #65b1b3;
    border-radius: 5px;
    font-size: 14px;
}

.quantity.buttons-added {
    display: inline-flex;
    align-items: center;
}

.quantity .plus,
.quantity .minus {
    background: var(--main-color);
    width: 40px;
    height: 40px;
    font-size: 28px;
    text-align: center;
    cursor: pointer;
    padding: 0;
    user-select: none;
    border: none;
    border-radius: 30px;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 10px;
    color: #fff;
}

.quantity .qty {
    width: 50px;
    text-align: center;
    margin: 0 5px;
    border: none !important;
    font-size: 18px;
}
/* Chrome, Safari, Edge */
.quantity .qty::-webkit-inner-spin-button,
.quantity .qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
.quantity .qty {
    -moz-appearance: textfield;
}

.single_add_to_cart_button {
    background: var(--main-color);
}

.single_add_to_cart_button {
    background: var(--main-color);
    color: #fff;
    padding: 10px;
    width: 100%;
    max-width: 300px;
    text-align: center;
    border: none;
    cursor: pointer;
}
.single-product form.cart {
    display: flex;
    gap: 20px;
}
.woocommerce-tabs {
    margin: 30px 0;
}
.woocommerce-tabs ul.tabs {
    border-bottom: 2px solid #ccc;
}
body .woocommerce-tabs ul.tabs li {
    display: inline-block;
    margin: 0 30px 0 0;
}
body .woocommerce-tabs ul.tabs li a {
    padding: 0;
    text-decoration: none;
    padding: 10px 0;
    font-size: 24px;
    border-bottom: 5px solid transparent;
    color: #000;
    margin: 0 0 -1px 0;
}
body .woocommerce-tabs ul.tabs li.active a {
    border-bottom-color: var(--main-color);
    color: var(--main-color);
}
.green-btn {
    background: #33d951;
    padding: 10px 20px;
    display: inline-block;
    color: #fff !important;
}
/* WhatsApp button styling moved to Enhanced Add to Cart Section above */
/* Remove old whatsapp-btn styling as it's now defined above */

.recommended-products {
    margin: 50px 0 30px;
}
.recommended-products-list .product-item {
    padding: 20px 15px;
}
.recommended-products-list .product-item-wrap {
    box-shadow: 0 0 13px 3px rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    padding: 20px;
    position: relative;
}
.recommended-products-list h3.product-title {
    font-size: 14px;
    font-weight: 400;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.recommended-products-list h3 a {
    text-decoration: none;
    color: #000;
}
.recommended-products-list .slick-slide img {
    margin: 0 auto;
}
.recommended-products-list span.onsale {
    left: -16px;
    top: -10px;
    height: 24px;
    width: 110px;
}
.recommended-products-list .add_to_cart_button {
    background: #56c5d3;
    padding: 5px;
}
.loading {
    pointer-events: none;
}
.loading::after {
    content: '';
    font-size: 3px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    position: absolute;
    text-indent: -9999em;
    animation: mulShdSpin 1.1s infinite ease;
    transform: translateZ(0);
    display: inline-block;
    top: 19px;
    right: 14px;
}
a.add_to_cart_button.loading::after,
.loading-icon:after {
    position: absolute;
    top: 19px;
    right: 14px;
}
@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes mulShdSpin {
    0%,
    100% {
        box-shadow: 0em -2.6em 0em 0em #ffffff,
            1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2),
            2.5em 0em 0 0em rgba(255, 255, 255, 0.2),
            1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2),
            0em 2.5em 0 0em rgba(255, 255, 255, 0.2),
            -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2),
            -2.6em 0em 0 0em rgba(255, 255, 255, 0.5),
            -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.7);
    }
    12.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.7),
            1.8em -1.8em 0 0em #ffffff, 2.5em 0em 0 0em rgba(255, 255, 255, 0.2),
            1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2),
            0em 2.5em 0 0em rgba(255, 255, 255, 0.2),
            -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2),
            -2.6em 0em 0 0em rgba(255, 255, 255, 0.2),
            -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.5);
    }
    25% {
        box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.5),
            1.8em -1.8em 0 0em rgba(255, 255, 255, 0.7), 2.5em 0em 0 0em #ffffff,
            1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2),
            0em 2.5em 0 0em rgba(255, 255, 255, 0.2),
            -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2),
            -2.6em 0em 0 0em rgba(255, 255, 255, 0.2),
            -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
    }
    37.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2),
            1.8em -1.8em 0 0em rgba(255, 255, 255, 0.5),
            2.5em 0em 0 0em rgba(255, 255, 255, 0.7),
            1.75em 1.75em 0 0em #ffffff,
            0em 2.5em 0 0em rgba(255, 255, 255, 0.2),
            -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2),
            -2.6em 0em 0 0em rgba(255, 255, 255, 0.2),
            -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
    }
    50% {
        box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2),
            1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2),
            2.5em 0em 0 0em rgba(255, 255, 255, 0.5),
            1.75em 1.75em 0 0em rgba(255, 255, 255, 0.7),
            0em 2.5em 0 0em #ffffff, -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2),
            -2.6em 0em 0 0em rgba(255, 255, 255, 0.2),
            -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
    }
    62.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2),
            1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2),
            2.5em 0em 0 0em rgba(255, 255, 255, 0.2),
            1.75em 1.75em 0 0em rgba(255, 255, 255, 0.5),
            0em 2.5em 0 0em rgba(255, 255, 255, 0.7), -1.8em 1.8em 0 0em #ffffff,
            -2.6em 0em 0 0em rgba(255, 255, 255, 0.2),
            -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
    }
    75% {
        box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2),
            1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2),
            2.5em 0em 0 0em rgba(255, 255, 255, 0.2),
            1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2),
            0em 2.5em 0 0em rgba(255, 255, 255, 0.5),
            -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.7),
            -2.6em 0em 0 0em #ffffff,
            -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
    }
    87.5% {
        box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2),
            1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2),
            2.5em 0em 0 0em rgba(255, 255, 255, 0.2),
            1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2),
            0em 2.5em 0 0em rgba(255, 255, 255, 0.2),
            -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.5),
            -2.6em 0em 0 0em rgba(255, 255, 255, 0.7),
            -1.8em -1.8em 0 0em #ffffff;
    }
}

.product-absorb-level {
    display: flex;
    justify-content: space-between;
    margin: 10px auto;
    max-width: 130px;
}
.product-absorb-level .drop {
    width: 24px;
    height: 33px;
    display: inline-block;
    background: url(images/drop.jpg);
}

.product-custom-fields .drop,
.mobile-spec-value .drop,
.comparison-absorb-level .drop {
    width: 28px;
    height: 27px;
    display: inline-block;
    background: url(images/drop.jpg);
    background-repeat: repeat;
    background-size: auto;
    background-repeat: no-repeat;
    background-size: 70%;
}

comparison-absorb-level .product-custom-fields .drop.empty,
.mobile-spec-value .drop.empty,
.comparison-absorb-level .drop.empty {
    background: url(images/drop-empty.jpg);
    background-repeat: repeat;
    background-size: auto;
    background-repeat: no-repeat;
    background-size: 70%;
}
.product-absorb-level .drop.empty {
    background: url(images/drop-empty.jpg);
}

.slick-prev,
.slick-next {
    box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.2);
    width: 40px;
    height: 40px;
    background: #fff;
    border-radius: 8px;
    top: -32px;
}
.slick-prev {
    right: 50px;
    left: auto;
}
.slick-next {
    right: 0;
}
.slick-prev:before,
.slick-next:before {
    content: '';
    width: 18px;
    height: 18px;
    border-top: 2px solid #585858;
    border-right: 2px solid #585858;
    display: block;
    position: absolute;
    top: 11px;
}
.slick-next:before {
    transform: rotate(45deg);
    right: 14px;
}
.slick-prev:before {
    transform: rotate(-135deg);

    left: 14px;
}
.slick-arrow.slick-disabled {
    background: #efefef;
    box-shadow: none;
}
.related.products h3 {
    font-size: 14px;
    font-weight: 400;
    margin: 0 0 10px;
    height: 40px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.related.products h3 a {
    color: #000;
    text-decoration: none;
}
.related.products .woocommerce-Price-amount {
    font-size: 12px;
    font-weight: 500;
}
.item-info,
.index-item-info {
    padding: 5px 0;
    border-top: 1px solid #e7e7e7;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 54px;
}
.product-item {
    line-height: 1.3;
}
.related.products .product-item {
    padding: 20px 5px;
}
.related.products .product-item-wrap {
    background: #fff;
    border: 1px solid #ebebeb;
    padding: 10px;
    border-radius: 10px;
}
.related.products {
    margin: 20px 0;
}
.product-img img {
    margin: 0 auto;
}
.recommended-products h3,
.related.products h2 {
    font-size: 22px;
    font-weight: 500;
}
.related.products .product-item:hover .product-item-wrap {
    box-shadow: 0 0 15px 2px rgba(0, 0, 0, 0.15);
}
.related-products {
    display: flex;
}
.related-products .products-list {
    width: calc(100% - 100px);
}
.related-products .index-col {
    width: 100px;
    padding: 20px 0;
}
.index-item-info {
    width: 100px;
    border: none;
}

.index-img {
    height: 150px;
}
.index-title {
    margin: 0 0 10px;
    height: 40px;
}
.shipping-info {
    padding: 20px 0;
    border-top: 2px solid #eee;
}
.questionare-page {
    padding: 30px 0;
    font-size: 18px;
    max-width: 1140px;
    margin: 0 auto;
}
.question-item {
    margin: 0 0 25px 0;
}
.question-text {
    margin: 0 0 15px 0;
}
.questionare-page .checkbox-wrap,
.questionare-page .radio-wrap {
    margin-right: 20px;
}

.questionare-page .btn {
    padding: 12px 40px;
    font-size: 20px;
}

.message.error {
    padding: 8px;
    background: #f8d7da;
    border: 1px solid #f1aeb5;
    color: #58151c;
    border-radius: 5px;
    margin: 10px 0;
    font-size: 16px;
}
.results-section-wrap {
    display: flex;
    gap: 50px;
}
.results-section-wrap .result-img {
    width: 200px;
}
.results-section-wrap .results {
    flex: 1;
}

.questionare-page .product-item-img {
    border: none;
}
body:not(.home) .product-wrap {
    background: #fff;
    box-shadow: 0 0 15px 2px rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    padding: 20px;
    height: 100%;
    position: relative;
}
.questionare-page .add_to_cart_button {
    padding: 5px 10px;
    width: 100%;
}

body.home .product-absorb-level {
    display: none;
}
a.wc-block-components-product-name {
    color: #000;
    text-decoration: none;
}

.wc-block-components-product-metadata__description,
.wc-block-cart-item__wrap .wc-block-components-sale-badge {
    display: none !important;
}
.wc-block-cart-item__quantity {
    display: flex;
    align-items: center;
}
.wc-block-components-quantity-selector {
    margin: 0 10px 0 0 !important;
}
.wc-block-cart-item__wrap .wc-block-components-product-price ins {
    font-size: 16px;
}
.wc-block-components-order-summary-item .wc-block-components-product-price ins {
    font-size: 14px;
}
.wc-block-cart-item__wrap .wc-block-components-product-price del,
.wc-block-components-order-summary-item .wc-block-components-product-price del {
    color: #969696;
}
.price.wc-block-components-product-price {
    color: #ff711f;
    font-weight: 600;
}
.wc-block-cart-item__total-price-and-sale-badge-wrapper
    .wc-block-components-sale-badge {
    background: #2e8e2d;
    color: #fff;
}
.product-item-img {
    text-align: center;
    position: relative;
    overflow: hidden;
}
.product-item-img img {
    margin: 0 auto;
}

.woocommerce-account .entry-content > .woocommerce {
    display: flex;

    border: 1px solid #eee;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 210px;
    border-right: 1px solid #eee;
}

.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1;
    padding: 20px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    padding: 0;
    margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    list-style: none;
    border-bottom: 1px solid #eee;

    padding-bottom: 0;
    background: #fbfbfb;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
    background: #fff;
    margin-right: -1px;
}
.woocommerce-account
    .woocommerce-MyAccount-navigation
    ul
    li.is-active
    a:before {
    opacity: 1;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    padding: 10px 15px;
    display: block;
    text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:before {
    margin-right: 20px;
    opacity: 0.25;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover:before {
    opacity: 1;
}

.woocommerce-account .woocommerce-MyAccount-content h2 {
    font-size: 25px;
    text-align: center;
    font-weight: 600;
}

.woocommerce-account p.order-again {
    text-align: right;
}

.woocommerce-account .woocommerce-EditAccountForm input[type='submit'] {
    margin-top: 50px;
    float: right;
}
.woocommerce-MyAccount-content .form-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.woocommerce-MyAccount-content .screen-reader-text {
    position: relative !important;
}
.woocommerce-MyAccount-content .woocommerce-input-wrapper {
    flex: 1;
}
.woocommerce-MyAccount-content .form-row > label {
    width: 200px;
    display: inline-block;
}
.woocommerce-MyAccount-content .form-row .input-text {
    padding: 8px 15px;
    border: 1px solid #e1e1e1 !important;
}
.woocommerce-MyAccount-content fieldset {
    padding: 10px;
    border: 1px solid #eee;
}
.select2-container--default .select2-selection--single {
    border: 1px solid #e1e1e1;
    height: 40px;
}
.select2-container--default
    .select2-selection--single
    .select2-selection__rendered {
    line-height: 36px;
}
.woocommerce-MyAccount-content .select2-container {
    max-width: 375px;
}

.password-input {
    position: relative;
    display: inline-block;
}
.show-password-input {
    width: 16px;
    height: 16px;
    border: solid 1px #000;
    border-radius: 75% 15%;
    position: absolute;
    top: 13px;
    right: 5px;
    transform: rotate(45deg);
    padding: 0;
    margin: 0px 0px 0px 5px;
}
.show-password-input:before {
    content: '';
    display: block;
    position: absolute;
    width: 7px;
    height: 7px;
    border: solid 1px #000;
    border-radius: 50%;
    left: 3px;
    top: 3px;
}

.show-password-input:not(.display-password):after {
    content: '';
    display: block;
    position: absolute;
    width: 1px;
    height: 22px;
    background: #000;
    top: -4px;
    left: 6px;
}
.woocommerce-account .woocommerce-MyAccount-content h2 {
    text-align: left;
}

.bottom-widgets {
    background: rgba(39, 161, 164, 0.3);
    font-weight: 300;
    padding: 30px 0 10px 0;
}
.widget-title {
    font-size: 20px;
    font-weight: 500;
    margin: 0 0 10px 0;
}
.bottom-widgets p {
    margin: 0 0 15px 0;
}
.bottom-widgets ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.bottom-widgets ul a {
    color: #000;
    text-decoration: none;
}
.bottom-widgets ul a:hover {
    color: #0a959a;
}
.bottom-widgets ul li {
    margin: 15px 0;
}

.site-footer {
    padding: 25px 0;
    font-weight: 300;
}

@media screen and (max-width: 1100px) {
    .products-list {
        gap: 20px;
    }
    .products-list .product {
        padding: 0 5px;
    }
}
@media screen and (min-width: 768px) {
    .mobile {
        display: none;
    }
}
@media screen and (max-width: 899px) {
    .site-logo {
        width: 170px;
    }
    .header-search {
        margin-right: 20px;
    }
    .header-icons .icon-text {
        display: none;
    }

    /* Mobile header optimizations */
    .site-header {
        padding: 10px 0;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        background: white;
        z-index: 1000;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    /* Add padding to body to account for fixed header */
    body {
        padding-top: 70px;
    }

    .header-container {
        align-items: center;
        gap: 15px;
    }

    .site-logo {
        flex: 1;
        text-align: center;
    }

    .site-logo img {
        max-height: 35px;
        width: auto;
    }

    .toggle-nav-menu {
        width: 30px;
        height: 30px;
        flex-direction: column;
        justify-content: center;
        gap: 4px;
    }

    .toggle-nav-menu span {
        height: 2px;
        background: #333;
    }

    .header-icons {
        gap: 15px;
    }

    .header-icon {
        width: 24px;
        height: 24px;
    }

    .mobile-search-icon svg {
        width: 24px;
        height: 24px;
    }

    .cart-item-count {
        font-size: 10px;
        min-width: 16px;
        height: 16px;
        line-height: 16px;
        top: -8px;
        right: -8px;
    }
    .products-list {
        grid-template-columns: repeat(2, 1fr);
    }
    .single_add_to_cart_button,
    .whatsapp-btn {
        max-width: 100%;
    }
    .whatsapp-btn {
        padding: 8px 15px 8px 50px;
        background-position: 15px 8px;
        background-size: 24px;
    }
    .bottom-widgets .col-30,
    .bottom-widgets .col-20 {
        width: 50%;
    }
}

@media screen and (max-width: 767px) {
    .desktop {
        display: none;
    }
    .header-right {
        justify-content: end;
        gap: 20px;
    }
    .toggle-nav-menu {
        display: block;
        width: 25px;
        cursor: pointer;
    }
    .toggle-nav-menu span {
        display: block;
        height: 3px;
        background: #0c0c0c;
        margin: 6px 0;
    }

    body.open-mobile-menu::before,
    body.open-filters::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.6);
        z-index: 999990;
    }
    .header-navigation .container {
        padding: 0;
    }
    .close-nav.close-icon {
        position: absolute;
        right: -42px;
        top: 10px;
        width: 32px;
        height: 32px;
        cursor: pointer;
        display: none;
    }
    .close-icon:before,
    .close-icon:after {
        position: absolute;
        left: 15px;
        content: ' ';
        height: 33px;
        width: 2px;
        background-color: #ffffff;
    }
    .close-icon:after {
        transform: rotate(-45deg);
    }
    .close-icon:before {
        transform: rotate(45deg);
    }
    body.open-mobile-menu .close-nav.close-icon {
        display: block;
    }

    .header-navigation {
        position: fixed;
        top: 0;
        left: -80%;
        width: 80%;
        height: 100%;
        background: white;
        padding: 0;
        transition: left 0.3s ease;
        z-index: 999999;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
    }
    .open-mobile-menu .header-navigation {
        left: 0;
    }
    .main-navigation {
        margin-top: 60px;
    }
    .main-navigation ul {
        display: block;
        width: 100%;
    }
    .main-navigation ul ul {
        position: relative;
        left: auto;
        border: none;
        margin: 0 0 5px 25px;
    }
    .main-navigation ul ul a {
        width: auto;
    }
    .menu-main-menu-container {
        justify-content: start;
    }
    .main-navigation a {
        border-bottom: 1px solid #e7e7e7;
        padding: 10px 0;
    }

    .header-search.show {
        display: block;
        position: absolute;
        bottom: -50px;
        width: 100%;
        left: 0;
    }

    .mobile-search-icon {
        margin-top: 5px;
        cursor: pointer;
    }
    .home-blogs {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .home-icons {
        flex-wrap: wrap;
    }
    .home-icon {
        margin: 10px 0;
        width: 100%;
    }
    .product-cols {
        flex-wrap: wrap;
    }
    .product-col-left,
    .product-col-right {
        width: 100%;
    }

    /* Mobile styles for new product layout */
    .product-content-wrapper {
        flex-direction: column;
        gap: 20px;
    }

    .product-sidebar-right {
        display: none; /* Hide desktop sidebar on mobile */
    }

    .product-purchase-box {
        position: static;
        margin-bottom: 20px;
    }

    .related-products-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .product-img-grid {
        height: 140px;
    }

    .product-details-grid {
        padding: 12px;
    }

    .product-title-grid {
        font-size: 13px;
    }

    .price-grid {
        font-size: 14px;
    }

    /* Mobile product page app-like layout */
    .mobile-product-layout {
        display: none;
    }

    .mobile-product-layout {
        display: block;
        padding: 0;
        margin-top: 10px;
    }

    .mobile-product-image {
        width: 100%;
        text-align: center;
        padding: 20px;
        background: #f9f9f9;
    }

    .mobile-product-image img {
        max-width: 100%;
        height: auto;
        max-height: 300px;
        object-fit: contain;
    }

    .mobile-gallery-row {
        display: flex;
        gap: 10px;
        padding: 10px 20px;
        overflow-x: auto;
        background: #fff;
    }

    .mobile-gallery-item {
        flex-shrink: 0;
        width: 60px;
        height: 60px;
        border: 1px solid #ddd;
        border-radius: 4px;
        overflow: hidden;
        cursor: pointer;
    }

    .mobile-gallery-item img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .mobile-gallery-item.active {
        border-color: #007cba;
        border-width: 2px;
    }

    .mobile-product-info {
        padding: 20px;
        background: #fff;
    }

    .mobile-product-title {
        font-size: 18px;
        font-weight: bold;
        margin-bottom: 15px;
        line-height: 1.4;
    }

    .mobile-product-specs {
        margin-bottom: 20px;
    }

    .mobile-spec-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 0;
        border-bottom: 1px solid #f0f0f0;
        font-size: 14px;
    }

    .mobile-spec-label {
        color: #666;
        font-weight: 500;
    }

    .mobile-spec-value {
        color: #333;
        font-weight: bold;
    }

    .mobile-absorb-drops {
        display: flex;
        gap: 3px;
        align-items: center;
    }

    .mobile-absorb-drops .drop {
        width: 16px;
        height: 16px;
    }

    /* Desktop absorb drops */
    .desktop-absorb-drops {
        display: inline-flex;
        gap: 4px;
        align-items: center;
        margin-left: 8px;
    }

    .desktop-absorb-drops .drop {
        width: 18px;
        height: 18px;
    }

    .mobile-add-to-cart-btn {
        width: 100%;
        background: var(--main-color-dark);
        color: white;
        border: none;
        padding: 15px;
        font-size: 16px;
        font-weight: bold;
        border-radius: 8px;
        cursor: pointer;
        margin-top: 20px;
    }

    .mobile-add-to-cart-btn:hover {
        background: var(--main-color);
    }

    /* Mobile variations and cart sections */
    /* Mobile variations table styles */
    .mobile-variations-section {
        margin: 20px 0;
        padding: 15px;
        background: #f9f9f9;
        border-radius: 8px;
        border: 1px solid #e0e0e0;
    }

    .mobile-variations-section h3 {
        font-size: 16px;
        margin-bottom: 15px;
        color: #333;
    }

    .mobile-cart-section {
        margin: 20px 0;
        padding: 15px;
        background: #fff;
        border-radius: 8px;
        border: 1px solid #e0e0e0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }

    .mobile-cart-section .price {
        margin: 0;
        text-align: center;
        font-size: 18px;
    }

    /* Hide mobile discrete packaging option on mobile */
    .mobile-discrete-packaging-option {
        display: none !important;
    }

    /* Hide WooCommerce variation description on mobile */
    .woocommerce-variation-description {
        display: none !important;
    }

    /* Center variations add to cart button */
    .woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled {
        display: flex;
        justify-content: center;
    }

    /* Center WhatsApp button */
    .green-btn.whatsapp-btn {
        align-self: center;
    }

    /* Center quantity input with buttons */
    .quantity.buttons-added {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }

    .quantity.buttons-added .minus,
    .quantity.buttons-added .plus {
        width: 30px;
        height: 30px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        font-weight: bold;
    }

    .quantity.buttons-added .qty {
        width: 60px;
        text-align: center;
        padding: 8px;
        border-radius: 4px;
    }

    /* First-time discount notice styling */
    .first-order-discount-notice,
    .first-order-discount-notice-cart {
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    /* Ensure discount badge doesn't break on mobile */
    @media (max-width: 768px) {
        .first-order-discount-notice,
        .first-order-discount-notice-cart {
            margin: 10px 0;
            padding: 10px;
        }
    }

    /* Mobile Bottom Footer */
    .mobile-bottom-footer {
        display: none;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: white;
        border-top: 1px solid #e0e0e0;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
        z-index: 1000;
        padding: 15px 20px;
    }

    .mobile-bottom-footer.mobile {
        display: block;
    }

    .mobile-footer-content {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 15px;
    }

    .mobile-footer-price {
        flex: 1;
        font-weight: bold;
    }

    .mobile-footer-price del {
        color: #999;
        font-size: 14px;
        margin-right: 8px;
    }

    .mobile-footer-add-to-cart {
        background: var(--main-color-dark, #0a959a);
        color: white;
        border: none;
        padding: 12px 20px;
        border-radius: 8px;
        font-size: 14px;
        font-weight: bold;
        cursor: pointer;
        white-space: nowrap;
        min-width: 120px;
    }

    .mobile-footer-add-to-cart:hover {
        background: var(--main-color, #08928f);
    }

    /* Hide mobile bottom footer on cart/checkout pages */
    .woocommerce-cart .mobile-bottom-footer,
    .woocommerce-checkout .mobile-bottom-footer {
        display: none !important;
    }

    /* Add padding to body to account for fixed footer */
    @media (max-width: 768px) {
        body.single-product {
            padding-bottom: 80px;
        }

        /* Ensure content doesn't get hidden behind footer */
        .mobile-product-layout,
        .product-cols {
            padding-bottom: 20px;
        }

        /* Hide footer on non-product pages */
        body:not(.single-product) .mobile-bottom-footer {
            display: none !important;
        }
    }

    /* Hide footer when user scrolls to bottom on mobile */
    @media (max-width: 768px) {
        .mobile-bottom-footer.hide-on-scroll {
            transform: translateY(100%);
            transition: transform 0.3s ease;
        }
    }

    /* Mobile product description */
    .mobile-product-description {
        margin-top: 30px;
        padding-top: 20px;
        border-top: 1px solid #eee;
    }

    .mobile-product-description h3 {
        font-size: 16px;
        font-weight: bold;
        margin-bottom: 15px;
        color: #333;
    }

    .mobile-description-content {
        font-size: 14px;
        line-height: 1.6;
        color: #666;
    }

    .mobile-description-content p {
        margin-bottom: 10px;
    }

    /* Mobile related products */
    .mobile-related-products {
        margin-top: 30px;
        padding-top: 20px;
        border-top: 1px solid #eee;
    }

    .mobile-related-products h3 {
        font-size: 16px;
        font-weight: bold;
        margin-bottom: 15px;
        color: #333;
    }

    .mobile-related-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .mobile-related-item {
        border: 1px solid #eee;
        border-radius: 8px;
        overflow: hidden;
        background: #fff;
    }

    .mobile-related-link {
        display: block;
        text-decoration: none;
        color: inherit;
    }

    .mobile-related-img {
        width: 100%;
        height: 120px;
        overflow: hidden;
    }

    .mobile-related-img img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .mobile-related-info {
        padding: 10px;
    }

    .mobile-related-title {
        font-size: 13px;
        font-weight: 500;
        margin: 0 0 8px 0;
        line-height: 1.3;
        color: #333;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .mobile-related-price {
        font-size: 14px;
        font-weight: bold;
        color: var(--main-color-dark);
    }

    .mobile-related-price del {
        color: #999;
        font-weight: normal;
        margin-right: 5px;
    }

    .mobile-related-price ins {
        text-decoration: none;
        color: #e74c3c;
    }

    /* Mobile comparison table */
    .mobile-comparison-table {
        margin-top: 30px;
        padding-top: 20px;
        border-top: 1px solid #eee;
    }

    .mobile-comparison-table h3 {
        font-size: 18px;
        font-weight: bold;
        margin-bottom: 20px;
        color: #333;
    }

    .mobile-comparison-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 12px;
        border: 1px solid #e0e0e0;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    }

    .mobile-comparison-table-container {
        min-width: 700px;
        background: white;
    }

    .mobile-comparison-table-grid {
        width: 100%;
        border-collapse: collapse;
        background: white;
        font-size: 13px;
    }

    .comparison-header-row {
        background: var(--main-color-dark);
        color: white;
    }

    .comparison-attribute-col {
        width: 120px;
        padding: 16px 12px;
        font-weight: 600;
        font-size: 14px;
        text-align: left;
        vertical-align: middle;
        border-right: 1px solid rgba(255, 255, 255, 0.2);
        position: sticky;
        left: 0;
        background: var(--main-color-dark);
        z-index: 10;
    }

    .comparison-product-col {
        min-width: 140px;
        padding: 12px 8px;
        text-align: center;
        vertical-align: top;
        border-right: 1px solid rgba(255, 255, 255, 0.2);
    }

    .comparison-product-col:last-child {
        border-right: none;
    }

    .comparison-product-header {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }

    .comparison-product-image {
        width: 50px;
        height: 50px;
        border-radius: 6px;
        overflow: hidden;
        background: rgba(255, 255, 255, 0.1);
    }

    .comparison-product-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .comparison-product-title {
        font-size: 12px;
        font-weight: 600;
        line-height: 1.2;
        text-align: center;
    }

    .comparison-product-title a {
        color: white;
        text-decoration: none;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .comparison-product-title a:hover {
        color: #f0f0f0;
    }

    .comparison-product-brand {
        font-size: 10px;
        color: rgba(255, 255, 255, 0.8);
        font-weight: 500;
    }

    .mobile-comparison-table-grid tbody tr {
        border-bottom: 1px solid #f0f0f0;
    }

    .mobile-comparison-table-grid tbody tr:last-child {
        border-bottom: none;
    }

    .mobile-comparison-table-grid tbody tr:nth-child(even) {
        background: #f9f9f9;
    }

    .comparison-attribute-label {
        padding: 14px 12px;
        font-weight: 600;
        font-size: 13px;
        color: #333;
        background: #f8f8f8;
        border-right: 1px solid #e0e0e0;
        vertical-align: middle;
        position: sticky;
        left: 0;
        z-index: 9;
    }

    .comparison-value {
        padding: 14px 8px;
        text-align: center;
        vertical-align: middle;
        border-right: 1px solid #e0e0e0;
        font-size: 13px;
        color: #333;
    }

    .comparison-value:last-child {
        border-right: none;
    }

    .comparison-value.price-value {
        font-weight: 700;
        color: var(--main-color-dark);
        font-size: 15px;
    }

    .comparison-value.rating-value {
        padding: 8px;
    }

    .comparison-absorb-level {
        display: flex;
        gap: 2px;
        justify-content: center;
        align-items: center;
    }

    .comparison-absorb-level .drop {
        width: 17px;
        height: 17px;
    }

    .comparison-view-btn {
        display: inline-block;
        padding: 6px 12px;
        background: var(--main-color-dark);
        color: white;
        text-decoration: none;
        border-radius: 6px;
        font-size: 11px;
        font-weight: 600;
        transition: background-color 0.2s ease;
    }

    .comparison-view-btn:hover {
        background: var(--main-color);
        color: white;
    }

    /* Toast notification */
    .toast-notification {
        position: fixed;
        top: 20px;
        left: 50%;
        transform: translateX(-50%) translateY(-100px);
        background: var(--main-color-dark);
        color: white;
        padding: 12px 20px;
        border-radius: 25px;
        font-size: 14px;
        font-weight: 500;
        z-index: 3000;
        opacity: 0;
        transition: all 0.3s ease;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        white-space: nowrap;
    }

    .toast-notification.show {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }

    /* Hide default WooCommerce messages when using custom toast */
    .woocommerce-message {
        display: none !important;
    }
    .woocommerce-products-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .filtering-icon {
        position: relative;
        padding: 3px 20px 4px 45px;
        border: 2px solid #e1e1e1;
        border-radius: 3px;
        height: 40px;
        margin: 0 5px 0 0;
        align-items: center;
        cursor: pointer;
        background: #fff;
        display: flex;
    }
    .filtering-icon::before {
        content: '';
        background-image: url(images/filters.svg);
        background-size: cover;
        width: 24px;
        height: 24px;
        top: 6px;
        left: 10px;
        position: absolute;
        opacity: 0.5;
    }

    .product-filters {
        position: fixed;
        top: 0;
        right: -300px;
        width: 300px;
        height: 100%;
        background: white;
        padding: 0;
        margin: 0;
        transition: right 0.3s ease;
        z-index: 999999;
    }
    body.open-filters .product-filters {
        right: 0;
    }
    .close-filter {
        position: absolute;
        left: -43px;
        top: 10px;
        cursor: pointer;
        width: 34px;
        height: 34px;
        display: none;
    }
    body.open-filters,
    body.open-mobile-menu {
        overflow-y: hidden;
        position: relative;
    }
    body.open-filters .close-filter {
        display: block;
    }

    .product-filters .filters-form {
        padding: 20px;
    }
    .product-filters .filters-wrap {
        overflow-y: auto;
        overflow-x: hidden;
        height: 100%;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
    }

    .list-products .products-list {
        grid-template-columns: repeat(3, 1fr);
    }
    .results-section-wrap {
        flex-wrap: wrap;
    }
    .results-section-wrap .result-img,
    .results-section-wrap .results,
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content,
    .woocommerce-MyAccount-content .form-row .input-text {
        width: 100%;
    }
    .results-section-wrap .results .products-list {
        grid-template-columns: repeat(3, 1fr);
    }
    .woocommerce-account .entry-content > .woocommerce {
        flex-wrap: wrap;
    }
    .woocommerce-MyAccount-content .select2-container {
        max-width: 100%;
    }
}
@media screen and (max-width: 640px) {
    .results-section-wrap .results .products-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}
@media screen and (max-width: 600px) {
    .list-products .products-list {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 540px) {
    .bottom-widgets .col-30,
    .bottom-widgets .col-20 {
        width: 100%;
    }
    .woocommerce-MyAccount-content .form-row > label {
        width: 100%;
    }
}
@media screen and (max-width: 480px) {
    .results-section-wrap .results .products-list,
    .list-products .products-list {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* WooCommerce Variations Form Styling - Table Layout */
.variations_form .variations {
    border: none;
    margin: 20px 0;
}

.variations_form .variations tbody tr {
    display: none; /* Hide the default variation row */
}

/* Variations Table Layout */
.variations-table-wrapper {
    margin: 20px 0;
}

.variations-table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    border: 1px solid #e1e1e1;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    table-layout: fixed; /* Ensures table respects container width */
}

.variations-table th {
    background: var(--main-color);
    color: #fff;
    padding: 15px 12px;
    text-align: center;
    font-weight: 600;
    font-size: 16px;
}

.variations-table td {
    padding: 15px 12px;
    border-bottom: 1px solid #e1e1e1;
    text-align: center;
    vertical-align: middle;
}

.variation-row {
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.variation-row:hover {
    background-color: #f8f9fa;
}

.variation-row.selected {
    background-color: #e8f5f5;
    border-left: 4px solid var(--main-color);
}

.variation-row:last-child td {
    border-bottom: none;
}

.variation-option-name {
    font-weight: 600;
    font-size: 16px;
    color: #333;
}

.variation-price {
    font-weight: 700;
    font-size: 18px;
    color: var(--main-color);
}

.variation-savings {
    background: var(--secondary-color);
    color: #fff;
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
    display: inline-block;
    margin-top: 5px;
}

/* Custom Variations Form Styling */
.variations_form .variations .label {
    display: none; /* Hide the label */
}

.variations_form .variations .value {
    width: 100%;
}

.variations_form .variations select {
    display: none; /* Hide the default select dropdown */
}

.variations_form .reset_variations {
    display: none; /* Hide reset link */
}

/* Hide Additional Information Tab */
.woocommerce-tabs ul.tabs li.additional_information_tab {
    display: none !important;
}

#tab-additional_information {
    display: none !important;
}

/* Enhanced Add to Cart Section */
.single-product form.cart {
    margin: 20px 0;
}

.variations_button {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.variations_button .quantity {
    order: 1;
}

.variations_button .single_add_to_cart_button {
    order: 2;
    min-width: 200px;
}

/* Hide variations table in form area */
.variations_form .variations,
.variations_form table.variations {
    display: none !important;
}

.variations_form .variations tbody,
.variations_form .variations tbody tr,
.variations_form .variations tbody tr th,
.variations_form .variations tbody tr td {
    display: none !important;
}

/* WhatsApp Button Positioning */
.whatsapp-btn {
    padding: 6px 50px;
    width: 100%;
    max-width: 300px;
    margin: 15px auto 0 auto;
    text-align: center;
    text-decoration: none;
    border-radius: 5px;
    display: block;
    font-size: 18px;
}

/* Cart Actions Container */
.cart-actions-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    margin: 0px 0 20px 0;
}

/* Position WhatsApp button after add to cart */
.single-product form.cart + .cart-actions-container {
    margin-top: 15px;
}

/* Responsive Design for Variations */
@media screen and (max-width: 768px) {
    .variations-table th,
    .variations-table td {
        padding: 10px 8px;
        font-size: 14px;
    }

    .variation-option-name {
        font-size: 14px;
    }

    .variation-price {
        font-size: 16px;
    }

    .variations_button {
        flex-direction: column;
        align-items: stretch;
    }

    .variations_button .single_add_to_cart_button {
        min-width: 100%;
        margin-top: 15px;
    }

    .cart-actions-container {
        align-items: stretch;
    }

    .cart-actions-container .whatsapp-btn {
        max-width: 100%;
    }
}

.single-product .summary .price .woocommerce-Price-amount {
    display: block;
    text-align: center;
}

/* Variation Description Styling */
.woocommerce-variation-description {
    background: #e8f5f5;
    padding: 10px 15px;
    border-radius: 5px;
    margin: 10px 0;
    font-size: 14px;
    color: #666;
}

/* Loading State for Variations */
.variations_form.loading .variation-option {
    opacity: 0.6;
    pointer-events: none;
}

.variations_form.loading .variations_button {
    opacity: 0.6;
} /* Ad
 ditional styling for cleaner product page layout */
.single-product .summary {
    padding: 0;
}

.single-product .summary .price {
    text-align: center;
    font-size: 24px;
    margin: 20px 0;
}

.variations-table-wrapper {
    margin: 30px 0 20px 0;
}

.variations-table-wrapper + .cart {
    margin-top: 20px;
}

/* Ensure proper spacing between elements */
.single-product .product_meta {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

/* Clean up the form layout */
.single-product form.cart .variations_button {
    margin-top: 0;
}

.single-product form.cart {
    margin: 10px 0;
} /* Pol
 icy Pages Styling */
.policy-content,
.terms-content,
.contact-content,
.shipping-policy-content,
.return-policy-content {
    max-width: 1000px;
    margin: 0 auto;
    line-height: 1.6;
}

.policy-content h2,
.terms-content h2,
.contact-content h2,
.shipping-policy-content h2,
.return-policy-content h2 {
    color: var(--main-color);
    border-bottom: 3px solid var(--main-color);
    padding-bottom: 10px;
    margin-bottom: 30px;
}

.policy-content h3,
.terms-content h3,
.contact-content h3,
.shipping-policy-content h3,
.return-policy-content h3 {
    color: var(--main-color-dark);
    margin-top: 30px;
    margin-bottom: 15px;
}

.policy-content ul,
.terms-content ul,
.shipping-policy-content ul,
.return-policy-content ul {
    margin: 15px 0;
    padding-left: 25px;
}

.policy-content li,
.terms-content li,
.shipping-policy-content li,
.return-policy-content li {
    margin: 8px 0;
}

/* Contact Page Specific Styling */
.contact-info {
    margin: 30px 0;
}

.contact-item {
    margin: 20px 0;
    padding: 15px;
    background: #f8f9fa;
    border-left: 4px solid var(--main-color);
    border-radius: 5px;
}

.contact-item strong {
    color: var(--main-color-dark);
}

.contact-item a {
    color: var(--main-color);
    text-decoration: none;
}

.contact-item a:hover {
    text-decoration: underline;
}

.business-hours {
    background: #e8f5f5;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
}

.business-hours ul {
    list-style: none;
    padding: 0;
}

.business-hours li {
    padding: 5px 0;
    border-bottom: 1px solid #ccc;
}

.business-hours li:last-child {
    border-bottom: none;
}

/* Contact Form Styling */
.contact-form-wrapper {
    background: #f8f9fa;
    padding: 30px;
    border-radius: 8px;
    margin: 20px 0;
}

.contact-form .form-group {
    margin: 20px 0;
}

.contact-form label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #333;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 16px;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: var(--main-color);
    box-shadow: 0 0 5px rgba(10, 149, 154, 0.3);
}

.quick-links {
    margin: 30px 0;
}

.quick-links ul {
    list-style: none;
    padding: 0;
}

.quick-links li {
    margin: 10px 0;
}

.quick-links a {
    color: var(--main-color);
    text-decoration: none;
    padding: 5px 0;
    display: block;
    border-bottom: 1px solid #eee;
}

.quick-links a:hover {
    color: var(--main-color-dark);
    background: #f8f9fa;
    padding-left: 10px;
}

.social-media {
    text-align: center;
    margin: 40px 0;
    padding: 30px;
    background: #e8f5f5;
    border-radius: 8px;
}

.social-links a {
    display: inline-block;
    margin: 0 15px;
    padding: 10px 20px;
    background: var(--main-color);
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
}

.social-links a:hover {
    background: var(--main-color-dark);
}

/* Shipping Policy Specific Styling */
.shipping-zones {
    margin: 30px 0;
}

.zone-info {
    background: #f8f9fa;
    padding: 20px;
    margin: 15px 0;
    border-radius: 8px;
    border-left: 4px solid var(--main-color);
}

.zone-info h4 {
    color: var(--main-color-dark);
    margin-bottom: 10px;
}

.free-shipping {
    background: #e8f5f5;
    padding: 30px;
    border-radius: 8px;
    margin: 30px 0;
}

.free-shipping-tiers {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin: 20px 0;
}

.tier {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    border: 2px solid var(--main-color);
}

.tier h4 {
    color: var(--main-color);
    margin-bottom: 10px;
}

.tier p {
    font-size: 24px;
    font-weight: bold;
    color: var(--secondary-color);
    margin: 10px 0;
}

.delivery-method {
    background: #f8f9fa;
    padding: 20px;
    margin: 15px 0;
    border-radius: 8px;
}

.delivery-method h4 {
    color: var(--main-color-dark);
    margin-bottom: 15px;
}

.delivery-table,
.refund-table,
.cost-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.delivery-table th,
.refund-table th,
.cost-table th {
    background: var(--main-color);
    color: #fff;
    padding: 15px;
    text-align: left;
}

.delivery-table td,
.refund-table td,
.cost-table td {
    padding: 12px 15px;
    border-bottom: 1px solid #eee;
}

.delivery-table tr:hover,
.refund-table tr:hover,
.cost-table tr:hover {
    background: #f8f9fa;
}

.special-notes {
    margin: 30px 0;
}

.note-item {
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    padding: 15px;
    margin: 15px 0;
    border-radius: 5px;
}

.note-item h4 {
    color: #856404;
    margin-bottom: 10px;
}

/* Return Policy Specific Styling */
.condition-item,
.process-step,
.quality-item {
    background: #f8f9fa;
    padding: 20px;
    margin: 15px 0;
    border-radius: 8px;
    border-left: 4px solid var(--main-color);
}

.condition-item h4,
.process-step h4,
.quality-item h4 {
    color: var(--main-color-dark);
    margin-bottom: 15px;
}

.refund-timeline,
.refund-methods {
    margin: 20px 0;
}

.alert-box {
    background: #f8d7da;
    border: 1px solid #f1aeb5;
    color: #721c24;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
}

.contact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin: 20px 0;
}

.contact-method {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    border: 1px solid #ddd;
}

.contact-method h4 {
    color: var(--main-color);
    margin-bottom: 10px;
}

.contact-method a {
    color: var(--main-color);
    text-decoration: none;
    font-weight: bold;
}

.contact-method a:hover {
    text-decoration: underline;
}

/* Responsive Design for Policy Pages */
@media screen and (max-width: 768px) {
    .free-shipping-tiers {
        grid-template-columns: 1fr;
    }

    .contact-grid {
        grid-template-columns: 1fr;
    }

    .delivery-table,
    .refund-table,
    .cost-table {
        font-size: 14px;
    }

    .delivery-table th,
    .refund-table th,
    .cost-table th,
    .delivery-table td,
    .refund-table td,
    .cost-table td {
        padding: 8px;
    }

    .contact-form-wrapper {
        padding: 20px;
    }

    .tier {
        padding: 15px;
    }

    .zone-info,
    .condition-item,
    .process-step,
    .quality-item {
        padding: 15px;
    }
} /* Diaper A
 rticles Page Styles */
.articles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.article-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.article-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}

.article-thumbnail {
    overflow: hidden;
}

.article-thumbnail img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.article-card:hover .article-thumbnail img {
    transform: scale(1.05);
}

.article-content {
    padding: 1.5rem;
}

.article-title {
    margin: 0 0 1rem 0;
    font-size: 1.25rem;
    line-height: 1.4;
}

.article-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.article-title a:hover {
    color: #007cba;
}

.article-meta {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
    font-size: 0.875rem;
    color: #666;
}

.article-category {
    background: #f0f0f0;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
}

.article-excerpt {
    color: #555;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.read-more-btn {
    display: inline-block;
    background: #007cba;
    color: white;
    padding: 0.5rem 1rem;
    text-decoration: none;
    border-radius: 4px;
    font-size: 0.875rem;
    transition: background-color 0.3s ease;
}

.read-more-btn:hover {
    background: #005a87;
    color: white;
}

.no-articles {
    text-align: center;
    color: #666;
    font-style: italic;
    padding: 2rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .articles-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .article-content {
        padding: 1rem;
    }

    .article-meta {
        flex-direction: column;
        gap: 0.5rem;
    }
}

/* Floating Promotional Button Styles */
.floating-promo-button {
    position: fixed;
    right: 0px;
    top: 50%;
    color: white;
    cursor: pointer;
    z-index: 9999;
    min-width: 130px;
}

.promo-content.mobile {
    display: none;
}

.promo-content.desktop {
    display: block;
}

.floating-promo-button.closed {
    display: none;
}

.promo-close {
    position: absolute;
    top: 0px;
    right: 15px;
    font-size: 30px;
    cursor: pointer;
    opacity: 0.9;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.9);
    color: #ff4757;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    z-index: 10000;
}

/* Ensure close button is always visible */
.floating-promo-button:hover .promo-close {
    opacity: 1;
}

.promo-content {
    display: flex;
    align-items: center;
    gap: 10px;
}

.promo-content img {
    width: 130px;
    object-fit: cover;
}

/* Floating Buttons Styles */
.whatsapp-float,
.cod-float {
    position: fixed;
    z-index: 9998;
}

.whatsapp-float {
    bottom: 20px;
    right: 20px;
}

.cod-float {
    bottom: 100px;
    right: 20px;
}

.whatsapp-float a,
.cod-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.whatsapp-float a {
    background: #25d366;
    color: white !important;
}

.cod-icon {
    background: #f39c12;
    color: white;
    cursor: pointer;
    flex-direction: column;
}

.cod-text {
    font-size: 16px;
    font-weight: 900;
}

.whatsapp-float a:hover,
.cod-icon:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.whatsapp-float a:hover {
    background: #22c55e;
}

.cod-icon:hover {
    background: #e67e22;
}

.whatsapp-icon {
    font-size: 35px;
}

.cod-icon i {
    font-size: 28px;
}

/* COD Modal Styles */
.cod-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
}

.cod-modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 10px;
    width: 80%;
    max-width: 500px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    position: relative;
}

.cod-close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 15px;
}

.cod-close:hover {
    color: black;
}

.cod-modal-content h3 {
    margin-top: 0;
    color: #f39c12;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .promo-content.mobile {
        display: block;
    }

    .promo-content.desktop {
        display: none;
    }

    .promo-close {
        right: 25%;
    }

    .floating-promo-button {
        left: 20px;
        bottom: 25px;
        width: 75%;
        top: auto;
    }

    .product-template-default .floating-promo-button {
        bottom: 75px !important;
    }

    .floating-promo-button:hover {
        right: 0;
    }

    .floating-promo-button .promo-content img {
        width: 78%;
    }

    .whatsapp-float {
        bottom: 20px;
        right: 15px;
    }

    .cod-float {
        bottom: 80px;
        right: 15px;
    }

    .single-product .whatsapp-float,
    .single-product .cod-float {
        display: none;
    }

    .whatsapp-float a,
    .cod-icon {
        width: 45px;
        height: 45px;
    }

    .whatsapp-icon {
        font-size: 22px;
    }

    .cod-icon i {
        font-size: 18px;
    }

    .cod-text {
        font-size: 10px;
        margin-top: 1px;
    }

    .cod-modal-content {
        margin: 30% auto;
        width: 90%;
        padding: 15px;
    }
}

/* ===== 404 Error Page Styles ===== */
.error-404-container {
    max-width: 800px;
    margin: 60px auto;
    padding: 40px 20px;
    text-align: center;
}

.error-404-content {
    background: #fff;
    border-radius: 20px;
    padding: 60px 40px;
    border: 1px solid #f0f0f0;
}

.error-404-image {
    margin-bottom: 40px;
    position: relative;
}

.error-number {
    font-size: 120px;
    font-weight: 800;
    color: #0a959a;
    line-height: 1;
    margin-bottom: 20px;
    text-shadow: 2px 2px 4px rgba(10, 149, 154, 0.3);
}

.error-icon {
    margin: 20px 0;
}

.error-404-text {
    margin-bottom: 40px;
}

.error-title {
    font-size: 32px;
    font-weight: 700;
    color: #333;
    margin-bottom: 16px;
    line-height: 1.2;
}

.error-subtitle {
    font-size: 18px;
    color: #666;
    margin-bottom: 12px;
    line-height: 1.5;
}

.error-description {
    font-size: 16px;
    color: #888;
    margin-bottom: 0;
}

.error-404-actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-bottom: 50px;
    flex-wrap: wrap;
}

.error-404-actions .btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.btn-primary {
    background: linear-gradient(135deg, #0a959a, #089499);
    color: white;
    box-shadow: 0 4px 15px rgba(10, 149, 154, 0.4);
}

.btn-secondary {
    background: white;
    color: #0a959a;
    border-color: #0a959a;
}

.btn-secondary:hover {
    background: #0a959a;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(10, 149, 154, 0.3);
}

.error-404-suggestions {
    margin-bottom: 40px;
}

.error-404-suggestions h3 {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
}

.category-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

.category-link {
    display: inline-block;
    padding: 10px 20px;
    background: white;
    color: #0a959a;
    text-decoration: none;
    border-radius: 25px;
    border: 2px solid #0a959a;
    font-weight: 500;
    transition: all 0.3s ease;
    font-size: 14px;
}

.category-link:hover {
    background: #0a959a;
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(10, 149, 154, 0.3);
}

.error-404-contact {
    padding-top: 30px;
    border-top: 1px solid #e9ecef;
    color: #666;
    font-size: 16px;
}

.error-404-contact a {
    color: #0a959a;
    text-decoration: none;
    font-weight: 600;
}

.error-404-contact a:hover {
    color: #089499;
    text-decoration: underline;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .error-404-container {
        margin: 30px auto;
        padding: 20px 15px;
    }

    .error-404-content {
        padding: 40px 20px;
        border-radius: 15px;
    }

    .error-number {
        font-size: 80px;
    }

    .error-title {
        font-size: 24px;
    }

    .error-subtitle {
        font-size: 16px;
    }

    .error-404-actions {
        flex-direction: column;
        align-items: center;
    }

    .error-404-actions .btn {
        width: 100%;
        max-width: 250px;
        justify-content: center;
    }

    .category-links {
        gap: 8px;
    }

    .category-link {
        font-size: 13px;
        padding: 8px 16px;
    }
}

@media (max-width: 480px) {
    .error-404-content {
        padding: 30px 15px;
    }

    .error-number {
        font-size: 60px;
    }

    .error-title {
        font-size: 20px;
    }

    .error-404-search {
        padding: 20px 15px;
    }

    .search-field {
        padding: 14px 16px;
        font-size: 14px;
    }

    .search-submit {
        padding: 14px 16px;
    }
} /* 
 ===== Member Discount Page Styles ===== */
.member-discount-content {
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px 0;
}

.discount-hero {
    text-align: center;
    margin-bottom: 50px;
    padding: 40px 20px;
    background: linear-gradient(135deg, #0a959a, #0bb5ba);
    border-radius: 20px;
    color: white;
}

.discount-hero h2 {
    font-size: 36px;
    margin-bottom: 15px;
    font-weight: 700;
}

.hero-subtitle {
    font-size: 18px;
    opacity: 0.9;
    margin: 0;
}

.discount-benefits {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 60px;
}

.benefit-card {
    background: white;
    border-radius: 15px;
    padding: 40px 30px;
    text-align: center;
    border: 2px solid #f0f0f0;
    transition: all 0.3s ease;
}

.benefit-card:hover {
    transform: translateY(-5px);
    border-color: #0a959a;
    box-shadow: 0 10px 30px rgba(10, 149, 154, 0.15);
}

.primary-benefit {
    border-color: #0a959a;
    background: linear-gradient(135deg, #f8fdfd, #ffffff);
}

.benefit-icon {
    font-size: 48px;
    color: #0a959a;
    margin-bottom: 20px;
}

.benefit-content h3 {
    font-size: 24px;
    color: #333;
    margin-bottom: 15px;
    font-weight: 600;
}

.discount-amount {
    font-size: 48px;
    font-weight: 800;
    color: #0a959a;
    line-height: 1;
    margin-bottom: 10px;
}

.shipping-threshold {
    font-size: 36px;
    font-weight: 800;
    color: #0a959a;
    line-height: 1;
    margin-bottom: 10px;
}

.discount-description {
    font-size: 18px;
    color: #666;
    margin-bottom: 20px;
    font-weight: 500;
}

.benefit-details p {
    font-size: 16px;
    color: #555;
    margin-bottom: 10px;
}

.benefit-details small {
    color: #888;
    font-size: 14px;
}

.how-to-register {
    margin-bottom: 60px;
}

.how-to-register h3 {
    font-size: 28px;
    color: #333;
    text-align: center;
    margin-bottom: 40px;
    font-weight: 600;
}

.registration-steps {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    max-width: 800px;
    margin: 0 auto;
}

.step {
    flex: 1;
    text-align: center;
    position: relative;
}

.step:not(:last-child)::after {
    content: '→';
    position: absolute;
    right: -20px;
    top: 25px;
    font-size: 24px;
    color: #0a959a;
    font-weight: bold;
}

.step-number {
    width: 50px;
    height: 50px;
    background: #0a959a;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    margin: 0 auto 20px;
}

.step-content h4 {
    font-size: 18px;
    color: #333;
    margin-bottom: 10px;
    font-weight: 600;
}

.step-content p {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
}

.member-advantages {
    margin-bottom: 60px;
}

.member-advantages h3 {
    font-size: 28px;
    color: #333;
    text-align: center;
    margin-bottom: 40px;
    font-weight: 600;
}

.advantages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
}

.advantage-item {
    text-align: center;
    padding: 30px 20px;
    background: #f8f9fa;
    border-radius: 15px;
    transition: all 0.3s ease;
}

.advantage-item:hover {
    background: white;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    transform: translateY(-3px);
}

.advantage-item i {
    font-size: 36px;
    color: #0a959a;
    margin-bottom: 15px;
}

.advantage-item h4 {
    font-size: 18px;
    color: #333;
    margin-bottom: 10px;
    font-weight: 600;
}

.advantage-item p {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
}

.terms-conditions {
    margin-bottom: 60px;
    background: #f8f9fa;
    padding: 30px;
    border-radius: 15px;
}

.terms-conditions h3 {
    font-size: 24px;
    color: #333;
    margin-bottom: 20px;
    font-weight: 600;
}

.terms-content ul {
    list-style: none;
    padding: 0;
}

.terms-content li {
    padding: 8px 0;
    padding-left: 25px;
    position: relative;
    color: #555;
    font-size: 15px;
    line-height: 1.5;
}

.terms-content li::before {
    content: '•';
    color: #0a959a;
    font-weight: bold;
    position: absolute;
    left: 0;
}

.cta-section {
    text-align: center;
    margin-bottom: 60px;
    padding: 40px 20px;
    background: linear-gradient(135deg, #f8fdfd, #ffffff);
    border-radius: 15px;
    border: 2px solid #e6f7f7;
}

.cta-section h3 {
    font-size: 28px;
    color: #333;
    margin-bottom: 15px;
    font-weight: 600;
}

.cta-section p {
    font-size: 16px;
    color: #666;
    margin-bottom: 30px;
}

.cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

.cta-buttons .btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.cta-buttons .btn-primary {
    background: linear-gradient(135deg, #0a959a, #089499);
    color: white;
    box-shadow: 0 4px 15px rgba(10, 149, 154, 0.4);
}

.cta-buttons .btn-secondary {
    background: white;
    color: #0a959a;
    border-color: #0a959a;
}

.cta-buttons .btn-secondary:hover {
    background: #0a959a;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(10, 149, 154, 0.3);
}

.contact-support {
    background: #f8f9fa;
    padding: 30px;
    border-radius: 15px;
    margin-bottom: 30px;
}

.contact-support h3 {
    font-size: 24px;
    color: #333;
    margin-bottom: 15px;
    font-weight: 600;
}

.contact-support p {
    color: #666;
    margin-bottom: 20px;
}

.contact-support ul {
    list-style: none;
    padding: 0;
}

.contact-support li {
    padding: 5px 0;
    color: #555;
}

.contact-support a {
    color: #0a959a;
    text-decoration: none;
}

.contact-support a:hover {
    text-decoration: underline;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .discount-hero h2 {
        font-size: 28px;
    }

    .hero-subtitle {
        font-size: 16px;
    }

    .discount-benefits {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .benefit-card {
        padding: 30px 20px;
    }

    .discount-amount,
    .shipping-threshold {
        font-size: 36px;
    }

    .registration-steps {
        flex-direction: column;
        gap: 20px;
    }

    .step:not(:last-child)::after {
        content: '↓';
        right: auto;
        top: auto;
        bottom: -15px;
        left: 50%;
        transform: translateX(-50%);
    }

    .advantages-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 20px;
    }

    .advantage-item {
        padding: 20px 15px;
    }

    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }

    .cta-buttons .btn {
        width: 100%;
        max-width: 250px;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .member-discount-content {
        padding: 10px 0;
    }

    .discount-hero {
        padding: 30px 15px;
        margin-bottom: 30px;
    }

    .benefit-card {
        padding: 25px 15px;
    }

    .terms-conditions,
    .contact-support,
    .cta-section {
        padding: 20px 15px;
    }

    /* Shopping banner notice mobile styles */
    .shopping-banner-notice {
        margin: 10px 0;
        padding: 10px;
    }

    .shopping-banner-notice p {
        font-size: 14px;
        line-height: 1.4;
    }
}
