html { scroll-behavior: smooth; }
body { margin: 0; padding: 0; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: 16px; line-height: 1.5; color: var(--black-3); background-color: var(--white-1);

/* Website Width */
--container-width: 1500px;

/* All Colors */
--black-1: #000000;
--black-2: #16181b;
--black-3: #202327;
--black-4: #30343a;
--black-5: #42474e;
--black-6: #565c64;

--gray-1: #6b7280;
--gray-2: #9ca3af;
--gray-3: #b8bec7;
--gray-4: #d1d5db;
--gray-5: #e1e4e8;
--gray-6: #f3f4f6;
--gray-7: #f8f9fa;

--white-1: #ffffff;
--white-2: #ffffff87;

--blue-1: #0f344c;
--blue-2: #0d5a87;
--blue-3: #0f6395;
--blue-4: #1373af;
--blue-5: #1589cd;
--blue-6: #3d96c2;
--blue-7: #2ba8f1;
--blue-8: #a4daf9;

--red-1: #dc2626;
--red-2: #f3d0d0;
--red-3: #fff1f1;

--yellow-1: #fbff00;
--yellow-2: #fff1bf;

--green-1: #166534;
--green-2: #e6f9ed;

--focus-ring-color: rgba(19, 115, 175, 0.15);

/* Edit in Admin Colors */
--edit-in-admin-bg-color: #16181b;
--edit-in-admin-text-color: #ffffff;
--edit-in-admin-border-color: #30343a;

/* Free Shipping Colors */
--header-free-shipping-bg-color: #16181b;
--header-free-shipping-text-color: #ffffff;
--header-free-shipping-border-color: #30343a;

/* Header Colors */
--header-bg-color: #16181b;
--header-logo-color: #ffffff;
--header-border-color: #30343a;

/* Header Navigation Link Colors */
--header-nav-links-color: #ffffff;
--header-nav-links-bg-hover-color: #30343a;
--header-nav-links-mobile-border-color: #30343a;

/* Header Search Button Colors */
--header-search-btn-bg-color: #16181b;
--header-search-btn-text-color: #ffffff;
--header-search-btn-border-color: #42474e;
--header-search-btn-bg-hover-color: #1373af;
--header-search-btn-border-hover-color: #1373af;

/* Header Cart Button Colors */
--header-cart-btn-bg-color: #0d5a87;
--header-cart-btn-text-color: #ffffff;
--header-cart-btn-bg-hover-color: #1373af;

/* Header Search Bar Colors */
--header-search-bar-bg-color: #16181b;
--header-search-bar-textfield-bg-color: #ffffff;
--header-search-bar-textfield-border-color: #d1d5db;
--header-search-bar-border-color: #30343a;

/* Header Search Submit Button Colors */
--header-search-bar-btn-bg-color: #0d5a87;
--header-search-bar-btn-text-color: #ffffff;
--header-search-bar-btn-border-color: #0d5a87;
--header-search-bar-btn-bg-hover-color: #1373af;

/* Footer Colors */
--footer-bg-color: #16181b;
--footer-text-color: #ffffff;
--footer-border-color: #30343a;
--footer-break-lines-color: #30343a;

/* Footer Navigation Link Colors */
--footer-nav-links-color: #2586cb;
--footer-nav-links-hover-color: #ffffff;

/* Footer Social Icon Colors */
--footer-social-icons-bg-color: #30343a;
--footer-social-icons-text-color: #ffffff;
--footer-social-icons-border-color: #42474e;
--footer-social-icons-bg-hover-color: #1373af;
--footer-social-icons-text-hover-color: #ffffff;
--footer-social-icons-border-hover-color: #1373af;

/* Cookies Banner */
--cookies-banner-bg-color: #16181b;
--cookies-banner-text-color: #ffffff;
--cookies-banner-links-color: #ffffff;
--cookies-banner-links-hover-color: #ffffff;
--cookies-banner-border-color: #30343a;

/* Button Colors */
--btn-text-color: #ffffff;
--btn-bg-color: #0d5a87;
--btn-bg-hover-color: #1373af;

/* Review Stars Colors */
--review-stars-color: #1373af;
--review-stars-bg-color: #d1d5db;

/* Two Column Layout */
--two-column-gap: 30px;

/* Grid Layout Results */
--grid-gap: 16px;

/* Border Radius */
--border-radius-1: 8px;
}
input, select, textarea, div, span { box-sizing: border-box; }
div > p { margin: 0; padding: 0; }
p + p { margin-top: 16px; padding-top: 0; }
img + p { margin-top: 16px; }
p + img { margin-top: 16px; }
div > h1 { margin-top: 16px; padding-top: 0; }
h1 > div { margin-top: 16px; padding-top: 0; }
h1 + p { margin-top: 16px; padding-top: 0; }
p + h1 { margin-top: 16px; padding-top: 0; }
img + h1 { margin-top: 16px; }
h1 + img { margin-top: 16px; }
svg { width: 11px; }
.container-width { width: 100%; max-width: var(--container-width); margin: 0 auto; }
.header-spacer-20 { height: 10px; }
.header-spacer-75 { height: 75px; }
.edit-page { background-color: var(--edit-in-admin-bg-color); border-bottom: 1px solid var(--edit-in-admin-border-color); padding: 9px 15px; text-align: center; }
.edit-page a { color: var(--edit-in-admin-text-color); text-decoration: none; font-size: 15px; font-weight: 600; }
.edit-page a:hover { text-decoration: underline; }
.font-size-15px { font-size: 15px; }
.red-text-notices { color: var(--red-1); }
.error-text-center { color: var(--red-1); vertical-align: text-bottom; text-align: center; padding-bottom: 20px; }
.grid-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-three-column { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-four-column { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
ul.grid-two-column, ul.grid-three-column, ul.grid-four-column { margin: 0; padding: 0; }
.grid-two-column li, .grid-three-column li, .grid-four-column li { margin-left: 40px; }
.align-left { text-align: left; }
.align-center { text-align: center; }
.align-right { text-align: right; }

/* Start Header */
.header-wrapper { position: sticky; top: 0; z-index: 100; }
.header { background-color: var(--header-bg-color); padding: 8px 15px; border-bottom: 1px solid var(--header-border-color); }
.header-wrap { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.header-sticky-top-margin-anchor { scroll-margin-top: 70px; }
.logo { font-size: 30px; line-height: 1; color: var(--header-logo-color); font-weight: 700; }
.logo a { text-decoration: none; color: var(--header-logo-color); display: inline-flex; align-items: center; }
.logo img { width: auto; max-height: 42px; display: block; }
.menu { font-size: 15px; color: var(--white-1); }
.mobile-menu { display: none; }
.menu a { color: var(--gray-4); padding: 10px 10px 7px 10px; display: inline-block; }
.menu ul { margin: 0; padding: 0; }
.menu li { margin: 0; padding: 0; list-style: none; display: inline-block; }
.menu ul li { position: relative; vertical-align: middle; white-space: nowrap; z-index: 1100; }
.menu > ul > li > ul { margin-left: 0; }
.menu ul li ul li { position: relative; display: block; border-bottom: 1px solid var(--gray-5); z-index: 300; }
.menu ul li ul li:last-child { border-bottom: none; }
.menu ul ul { display: none; position: absolute; min-width: 200px; padding: 6px; background-color: var(--white-1); border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.14); }
.menu ul ul ul { left: 100%; top: -7px; margin-top: 0; }
.menu ul li:hover > ul { display: block; }
.menu > ul li a { color: var(--header-nav-links-color); text-decoration: none; vertical-align: middle; }
.menu li li a { padding: 9px 12px; background-color: transparent; color: var(--black-3); width: 100%; box-sizing: border-box; }
.menu li li a:hover { background-color: var(--gray-6); }
.menu li li a.active { background-color: var(--gray-6); font-weight: 600; }
.menu > ul > li:last-child > a { padding-right: 0; width: 100%; box-sizing: border-box; }
.menu ul.main-menu > li.customer-account > a { vertical-align: middle; font-size: 12px; }
.menu ul.main-menu > li.customer-account a svg { display: none; }
.menu ul.main-menu > li.customer-account > a > span.my-account { font-weight: 700; }
.menu ul.main-menu > li.customer-account > a > span.block { display: block; }
.menu .search-button-toggle { background-color: var(--header-search-btn-bg-color); border: 1px solid var(--header-search-btn-border-color); border-radius: var(--border-radius-1); cursor: pointer; width: 32px; height: 32px; padding: 7px; transition: background-color 0.2s ease, border-color 0.2s ease; }
.menu .search-button-toggle:hover { background-color: var(--header-search-btn-bg-hover-color); border-color: var(--header-search-btn-border-hover-color); }
.menu .search-button-toggle svg { width: auto; display: block; }
.menu .search-button-toggle path { fill: var(--header-search-btn-text-color); }
.menu .cart-button a { background-color: var(--header-cart-btn-bg-color); border-radius: var(--border-radius-1); padding: 7px 13px; color: var(--header-cart-btn-text-color); font-weight: 700; text-decoration: none; transition: background-color 0.2s ease; }
.menu .cart-button a:hover { background-color: var(--header-cart-btn-bg-hover-color); }
.menu ul.main-menu > li:not(.customer-account) > a:after { content: ''; width: 0; height: 2px; margin-top: 4px; display: block; background-color: var(--header-nav-links-color); transition: width 0.2s ease; }
.menu ul.main-menu > li:not(.customer-account) > a:hover:after { width: 100%; }
.menu .desktop-sub-menu-arrow path { fill: var(--header-nav-links-color); }
.menu .mobile-sub-menu-arrow { display: none; }

/* Start Search Bar */
.search-bar { padding: 12px 15px; background-color: var(--header-search-bar-bg-color); border-bottom: 1px solid var(--header-search-bar-border-color); overflow: auto; }
.search-bar input { background-color: var(--header-search-bar-textfield-bg-color); border-radius: var(--border-radius-1); font-size: 16px; float: left; width: calc(100% - 95px); border: 1px solid var(--header-search-bar-textfield-border-color); padding: 10px 12px; color: var(--black-3); outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.search-bar input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.search-bar button { padding: 9px 14px; cursor: pointer; background-color: var(--header-search-bar-btn-bg-color); color: var(--header-search-bar-btn-text-color); border: 1px solid var(--header-search-bar-btn-border-color); border-radius: var(--border-radius-1); float: right; font-weight: 600; font-size: 16px; transition: background-color 0.2s ease, border-color 0.2s ease; }
.search-bar button:hover { background-color: var(--header-search-bar-btn-bg-hover-color); border-color: var(--header-search-bar-btn-bg-hover-color); }

/* Start Slider */
.slider-wrapper { position: relative; }
.slider { position: relative; width: 100%; overflow: hidden; }
.slider-holder { display: flex; transition: transform 0.5s ease; }
.container { box-sizing: border-box; flex: 0 0 auto; gap: 0; padding: 0; align-content: center; width: 100%; }
.container img { width: 100%; height: auto; display: block; object-fit: cover; }
.container video { max-width: 100%; height: auto; display: block; }
.prev, .next { display: none; position: absolute; top: 50%; transform: translateY(-50%); cursor: pointer; z-index: 10; width: 44px; height: 64px; padding: 0; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); background-color: rgba(255, 255, 255, 0.9); color: var(--black-2); font-size: 38px; line-height: 1; align-items: center; justify-content: center; text-indent: 0; padding-bottom: 10px; opacity: 0.7; transition: opacity 0.2s ease, background-color 0.2s ease, border-color 0.2s ease; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12); -webkit-user-select: none; -ms-user-select: none; user-select: none; box-sizing: border-box; }
.slider:hover .prev, .slider:hover .next { display: flex; }
.prev { left: 15px; }
.next { right: 15px; }
.prev:hover, .next:hover { opacity: 1; background-color: var(--white-1); border-color: var(--gray-4); }
.slider-pager { position: relative; z-index: 20; line-height: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; padding: 12px 10px; }
.pager { display: inline-block; width: 9px; height: 9px; margin: 0; border-radius: 50%; background-color: var(--gray-3); cursor: pointer; transition: background-color 0.2s ease, transform 0.2s ease; }
.pager:hover { background-color: var(--gray-1); }
.pager.active { background-color: var(--blue-4); transform: scale(1.2); }
.pager.active:hover { background-color: var(--blue-4); }
.thumbnail { display: inline-block; align-content: center; box-sizing: border-box; border-radius: var(--border-radius-1); overflow: hidden; }
.thumbnail img { max-width: 100%; height: auto; object-fit: cover; cursor: pointer; transition: opacity 0.2s ease; display: inline-block; padding: 0; }
.thumbnail img:hover { opacity: 0.85; }
.thumbnail.active { border: 2px solid var(--black-2); padding: 2px; display: inline-block; line-height: 0; }
.hide-slider { display: none; }
.show-slider { display: block; }

/* Start Grid/List View */
.design-blocks { --grid-item-minimum-width: 200px; }
.design-blocks .img { display: table; height: 100%; overflow: hidden; }
.design-blocks .img a { display: table-cell; vertical-align: middle; }
.design-blocks ul.grid-1 .img a { display: block; }
.design-blocks ul.grid-1 .cart-items-left .img { background: var(--gray-6); padding-right: 5px; text-align: center; vertical-align: top; display: grid; place-items: normal; border-radius: 0; }
.design-blocks .img img { max-width: 100%; height: auto; display: block; margin: 0 auto; border-radius: 0px; border-top-left-radius: var(--border-radius-1); border-top-right-radius: var(--border-radius-1); }
.design-blocks ul.grid-1 .cart-items-left .img img { border-radius: 0; border-top-left-radius: var(--border-radius-1); }
.design-blocks .img video { max-width: 100%; height: 100%; display: block; border-radius: var(--border-radius-1); }
.design-blocks ul.grid-1 { display: grid; --columns: 1; grid-template-columns: repeat(auto-fill, minmax(max(150px, (100% - (var(--columns) - 1) * var(--grid-gap)) / var(--columns)), 1fr)); gap: var(--grid-gap); margin: 0; padding: 0; }
.design-blocks ul.grid-1 > li { list-style: none; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); background-color: var(--white-1); display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 20px; overflow: hidden; }
.design-blocks ul.grid-2 { display: grid; --columns: 2; grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-minimum-width), (100% - (var(--columns) - 1) * var(--grid-gap)) / var(--columns)), 1fr)); gap: var(--grid-gap); margin: 0; padding: 0; }
.design-blocks ul.grid-3 { display: grid; --columns: 3; grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-minimum-width), (100% - (var(--columns) - 1) * var(--grid-gap)) / var(--columns)), 1fr)); gap: var(--grid-gap); margin: 0; padding: 0; }
.design-blocks ul.grid-4 { display: grid; --columns: 4; grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-minimum-width), (100% - (var(--columns) - 1) * var(--grid-gap)) / var(--columns)), 1fr)); gap: var(--grid-gap); margin: 0; padding: 0; }
.design-blocks ul.grid-5 { display: grid; --columns: 5; grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-minimum-width), (100% - (var(--columns) - 1) * var(--grid-gap)) / var(--columns)), 1fr)); gap: var(--grid-gap); margin: 0; padding: 0; }
.design-blocks ul.grid-6 { display: grid; --columns: 6; grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-minimum-width), (100% - (var(--columns) - 1) * var(--grid-gap)) / var(--columns)), 1fr)); gap: var(--grid-gap); margin: 0; padding: 0; }
.design-blocks ul.grid-7 { display: grid; --columns: 7; grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-minimum-width), (100% - (var(--columns) - 1) * var(--grid-gap)) / var(--columns)), 1fr)); gap: var(--grid-gap); margin: 0; padding: 0; }
.design-blocks ul.grid-8 { display: grid; --columns: 8; grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-minimum-width), (100% - (var(--columns) - 1) * var(--grid-gap)) / var(--columns)), 1fr)); gap: var(--grid-gap); margin: 0; padding: 0; }
.design-blocks ul.grid-9 { display: grid; --columns: 9; grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-minimum-width), (100% - (var(--columns) - 1) * var(--grid-gap)) / var(--columns)), 1fr)); gap: var(--grid-gap); margin: 0; padding: 0; }
.design-blocks ul.grid-10 { display: grid; --columns: 10; grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item-minimum-width), (100% - (var(--columns) - 1) * var(--grid-gap)) / var(--columns)), 1fr)); gap: var(--grid-gap); margin: 0; padding: 0; }
ul.grid-2 > li, ul.grid-3 > li, ul.grid-4 > li, ul.grid-5 > li, ul.grid-6 > li, ul.grid-7 > li, ul.grid-8 > li, ul.grid-9 > li, ul.grid-10 > li { list-style: none; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); background-color: var(--white-1); display: grid; grid-template-rows: subgrid; gap: 0px; grid-row: span 2; overflow: hidden; }

/* Start Grid View Product Box */
.design-blocks .text-product { padding: 12px 12px 4px 12px; }
.design-blocks .text-product h2.title { font-size: 18px; line-height: 1.35; font-weight: 600; margin: 0 0 15px 0; padding: 0; }
.design-blocks .text-product .title a { color: var(--black-2); text-decoration: none; }
.design-blocks .text-product .title a:hover { color: var(--blue-4); text-decoration: underline; }
.design-blocks .text-product .description { display: none; }
.design-blocks .text-product .review-score { display: inline-flex; align-items: center; gap: 5px; font-size: 14px; padding-bottom: 10px; color: var(--black-6); }
.design-blocks .text-product .review-score .review-stars { display: inline-block; vertical-align: middle; line-height: 0; font-size: 20px; }
.design-blocks .text-product .review-score .review-stars::before { content: '\2605\2605\2605\2605\2605'; background: linear-gradient(90deg, var(--review-stars-color) calc(var(--rating) / 5 * 100%), var(--review-stars-bg-color) calc(var(--rating) / 5 * 100%)); letter-spacing: 0; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.design-blocks .text-product .review-score .score { font-size: 13px; line-height: 16px; color: var(--gray-1); }
.design-blocks .text-product .prices { padding-bottom: 10px; color: var(--black-5); }
.design-blocks .text-product .prices .price { font-weight: 700; color: var(--black-1); font-size: 21px; line-height: 1.2; }
.design-blocks .text-product .prices .old-price { margin-left: 8px; font-size: 13px; color: var(--gray-1); }
.design-blocks .text-product .prices .old-price .was-price { text-decoration: line-through; }
.design-blocks .text-product .prices .save { color: var(--green-1); font-weight: 600; }
.design-blocks .text-product .ships { padding-bottom: 8px; color: var(--black-5); font-weight: 600; font-size: 13px; }
.design-blocks .text-product .ships-truck { margin-right: 5px; font-size: 16px; }
.design-blocks .text-product .ships-truck svg { width: 16px; vertical-align: text-top; }

/* Start List View Product Box */
.design-blocks ul.grid-1 .text-product { padding: 18px; width: 100%; display: inline-block; }
.design-blocks ul.grid-1 .text-product h4.title { font-size: 24px; line-height: 1.3; font-weight: 600; margin: 0; padding: 0 0 10px 0; }
.design-blocks ul.grid-1 .text-product .description { display: block; padding: 0 0 16px 0; color: var(--black-5); line-height: 1.6; }
.design-blocks ul.grid-1 .text-product .review-score .review-score { display: inline-block; font-size: 14px; }
.design-blocks ul.grid-1 .text-product .review-score .review-stars { display: inline-block; vertical-align: middle; line-height: 0; font-size: 24px; }
.design-blocks ul.grid-1 .text-product .review-score .review-stars::before { content: '\2605\2605\2605\2605\2605'; background: linear-gradient(90deg, var(--review-stars-color) calc(var(--rating) / 5 * 100%), var(--review-stars-bg-color) calc(var(--rating) / 5 * 100%)); letter-spacing: 0; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.design-blocks ul.grid-1 .text-product .review-score .score { font-size: 14px; vertical-align: top; line-height: 16px; color: var(--gray-1); }
.design-blocks ul.grid-1 .text-product .prices .price { font-weight: 700; color: var(--black-1); font-size: 24px; vertical-align: top; }
.design-blocks ul.grid-1 .text-product .ships { padding-bottom: 8px; color: var(--black-5); font-weight: 600; font-size: 14px; }

/* Start Grid Top Text */
.grid-text .top-text h2.title { font-size: 26px; line-height: 1.3; font-weight: 700; margin: 0 0 15px 0; padding: 0; color: var(--black-2); }
.grid-text .top-text .sub-text { font-size: 17px; line-height: 1.7; margin: 0 0 18px 0; color: var(--black-5); }

/* Start Grid View Box */
.design-blocks .text { padding: 12px 12px 4px 12px; background-color: var(--white-1); }
.design-blocks .text h2.title { font-size: 18px; line-height: 1.35; font-weight: 600; margin: 0 0 8px 0; padding: 0; }
.design-blocks .text .title a { color: var(--black-2); text-decoration: none; }
.design-blocks .text .title a:hover { color: var(--blue-4); text-decoration: underline; }
.design-blocks .text .description { display: none; }
.design-blocks .text a { color: var(--black-2); text-decoration: none; }
.design-blocks .text a:hover { color: var(--blue-4); text-decoration: underline; }

/* Start List View Box */
.design-blocks ul.grid-1 .text { padding: 18px; width: 100%; display: inline-block; vertical-align: top; }
.design-blocks ul.grid-1 .text h2.title { font-size: 24px; line-height: 1.3; font-weight: 600; margin: 0; padding: 0 0 10px 0; }
.design-blocks ul.grid-1 .text .description { display: block; padding: 0 0 16px 0; color: var(--black-5); line-height: 1.6; }

/* Sub Item Styles for Each Page Type */
.categories-store-design-blocks-style .recent-posts { margin: 0 0 30px 0; line-height: 1.3; font-weight: 700; font-size: 28px; padding: 14px 16px; border-radius: var(--border-radius-1); background-color: var(--gray-7); color: var(--black-2); }
.categories-store-design-blocks-style .view-more-posts { text-align: center; margin-top: 25px; }
.categories-store-design-blocks-style .view-more-posts a { background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 10px 16px; border: none; font-size: 16px; font-weight: 600; border-radius: var(--border-radius-1); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; transition: background-color 0.2s ease; }
.categories-store-design-blocks-style .view-more-posts a:hover { background-color: var(--btn-bg-hover-color); }
.categories-store-design-blocks-style .view-more-posts a path { fill: var(--white-1); }

/* Start Grid View Post Archive Box */
.design-blocks .text-post-archive { padding: 16px 16px 16px 16px; }
.design-blocks .text-post-archive h2.title { font-size: 24px; line-height: 1.3; font-weight: 700; margin: 0; padding: 0 0 10px 0; }
.design-blocks .text-post-archive .title a { color: var(--black-2); text-decoration: none; }
.design-blocks .text-post-archive .title a:hover { color: var(--blue-4); text-decoration: underline; }
.design-blocks .text-post-archive .short-content { line-height: 1.7; font-size: 17px; color: var(--black-5); }
.design-blocks .text-post-archive .short-content a { color: var(--blue-4); text-decoration: none; font-weight: 500; }
.design-blocks .text-post-archive .short-content a:hover { text-decoration: underline; }

/* Start Footer */
.footer { padding: 70px 15px 35px 15px; background-color: var(--footer-bg-color); color: var(--footer-text-color); border-top: 1px solid var(--footer-border-color); line-height: 1.7; }
.footer a { color: var(--footer-nav-links-color); text-decoration: none; transition: color 0.2s ease; }
.footer a:hover { color: var(--footer-nav-links-hover-color); text-decoration: underline; }
.footer .footer-wrap { padding: 0; display: flex; flex-wrap: wrap; gap: 45px; }
.footer .title { font-size: 14px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 18px; border-bottom: 1px solid var(--footer-break-lines-color); padding-bottom: 10px; }
.footer ul { padding: 0; margin: 0; }
.footer ul li { list-style: none; padding: 0; margin: 0 0 4px 0; }
.footer .contact { margin-bottom: 40px; width: 40%; }
.footer .contact .text { font-size: 38px; line-height: 1.15; font-weight: 700; margin-bottom: 18px; }
.footer .contact .sub-text { margin-bottom: 25px; color: var(--gray-5); max-width: 650px; }
.footer .contact .social { margin-top: 5px; }
.footer .contact .social ul { display: flex; flex-wrap: wrap; gap: 10px; }
.footer .contact .social ul li { display: flex; background-color: var(--footer-social-icons-bg-color); border-radius: var(--border-radius-1); border: 1px solid var(--footer-social-icons-border-color); transition: background-color 0.2s ease, border-color 0.2s ease; }
.footer .contact .social ul li:hover { border-color: var(--footer-social-icons-border-hover-color); background-color: var(--footer-social-icons-bg-hover-color); }
.footer .contact .social ul li a { height: 36px; width: 36px; border-radius: var(--border-radius-1); padding: 8px; display: flex; align-items: center; justify-content: center; }
.footer .contact .social ul li a:hover { background-color: transparent; }
.footer .contact .social ul li svg { width: 100%; height: 100%; }
.footer .contact .social path { fill: var(--footer-social-icons-text-color); }
.footer .contact .social a:hover path { fill: var(--footer-social-icons-text-hover-color); }
.footer .contact .social circle { fill: var(--footer-text-color); }
.footer .company { margin-bottom: 40px; flex: 1; min-width: 180px; }
.footer .site-nav { margin-bottom: 40px; flex: 1; min-width: 180px; }
.footer .headquarters { margin-bottom: 40px; flex: 1; min-width: 180px; }
.footer .headquarters .street-address { margin-bottom: 2px; }
.footer .headquarters .city-state-zip { margin-bottom: 10px; }
.footer .headquarters .hours { margin-top: 10px; color: var(--gray-3); }
.footer .headquarters .phone-number { margin-top: 6px; }
.footer .footer-bottom { text-align: center; border-top: 1px solid var(--footer-break-lines-color); padding-top: 25px; color: var(--gray-5); font-size: 14px; }
.footer .footer-bottom .copy { margin-bottom: 4px; }
.footer .footer-bottom .cart-id { font-size: 12px; color: var(--gray-2); }

/* Start Breadcrumbs*/
.breadcrumbs { padding: 8px 15px; }
.breadcrumbs .breadcrumbs-wrap {}
.breadcrumbs .breadcrumbs-wrap ul { padding: 0; margin: 0; line-height: 22px; font-size: 14px; color: var(--gray-1); }
.breadcrumbs .breadcrumbs-wrap ul li { padding: 0; margin: 0; display: inline-block; vertical-align: middle; }
.breadcrumbs .breadcrumbs-wrap ul li:nth-child(even) { padding: 0 6px; color: var(--gray-2); }
.breadcrumbs .breadcrumbs-wrap ul li a { padding: 0; display: inline-block; color: var(--black-5); text-decoration: none; transition: color 0.2s ease; }
.breadcrumbs .breadcrumbs-wrap ul li:first-child a { padding-left: 0; }
.breadcrumbs .breadcrumbs-wrap ul li a:hover { color: var(--blue-4); text-decoration: underline; }
.breadcrumbs .breadcrumbs-wrap ul li:last-child { display: none; }
.breadcrumbs .breadcrumbs-wrap ul li svg { width: 8px; }

/* Start Pagination*/
.pagination { padding: 10px 15px; margin-top: 45px; }
.pagination .pagination-wrap { text-align: center; }
.pagination .pagination-wrap ul { padding: 0; margin: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.pagination .pagination-wrap ul li { padding: 0; margin: 0; display: inline-block; }
.pagination .pagination-wrap ul li a { text-decoration: none; background-color: var(--white-1); color: var(--black-4); border: 1px solid var(--gray-4); padding: 8px 12px; border-radius: var(--border-radius-1); display: inline-block; min-width: 38px; transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; }
.pagination .pagination-wrap ul li a:hover { text-decoration: none; background-color: var(--gray-6); border-color: var(--gray-3); color: var(--black-1); }
.pagination .pagination-wrap ul li a.active { background-color: var(--btn-bg-color); border-color: var(--btn-bg-color); color: var(--btn-text-color); font-weight: 600; }
.pagination .pagination-wrap ul li svg path { fill: currentColor; }

/* Start Store Category Results/Breadcrumbs/Sort */
.results { padding: 8px 15px; border-bottom: 1px solid var(--gray-5); background-color: var(--gray-7); }
.results .results-wrap { overflow: auto; }
.results .left { float: left; width: calc(100% - 200px); }
.results .result-numbers { float: left; padding: 8px 15px 8px 0; border-right: 1px solid var(--gray-5); color: var(--black-5); font-size: 14px; }
.results .result-breadcrumbs { float: left; margin-left: 15px; }
.results .result-breadcrumbs ul { padding: 0; margin: 0; }
.results .result-breadcrumbs ul li { padding: 0; margin: 0; display: inline-block; vertical-align: middle; }
.results .result-breadcrumbs ul li:nth-child(even) { padding: 8px 5px 8px 0; color: var(--gray-2); }
.results .result-breadcrumbs ul li a { padding: 8px 5px 8px 0; display: inline-block; color: var(--black-5); text-decoration: none; transition: color 0.2s ease; }
.results .result-breadcrumbs ul li:first-child a { padding-left: 0; }
.results .result-breadcrumbs ul li a:hover { color: var(--blue-4); text-decoration: underline; }
.results .result-breadcrumbs ul li:last-child { display: none; }
.results .right { float: right; width: 190px; text-align: right; padding: 2px 0; }
.results .result-sort select { border: 1px solid var(--gray-4); padding: 8px 10px; border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); height: 38px; font-size: 14px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.results .result-sort select:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }

/* Start 2 Column Store Category Layout with Filters & Results*/
.store { padding: 20px 15px 55px 15px; }
.store .store-wrap { overflow: auto; }
.store .filters { float: left; width: 240px; }
.store .filters .filters-wrap { font-size: 15px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); background-color: var(--white-1); padding: 18px; }
.store .filters .filters-set { margin-bottom: 5px; }
.store .filters .filters-set span { display: none; }
.store .filters .filters-set span.toggle { color: var(--blue-4); text-decoration: none; cursor: pointer; font-weight: 600; }
.store .filters .filters-set span.toggle:hover { text-decoration: underline; }
.store .filters .filters-set a { color: var(--blue-4); text-decoration: none; font-weight: 500; }
.store .filters .filters-set a:hover { text-decoration: underline; }
.store .filters .filters-results-wrap {}
.store .filters .filters-results-wrap ul.filter-list { padding: 0; margin: 0; }
.store .filters .filters-results-wrap ul.filter-list > li { list-style: none; padding: 0; margin: 18px 0 0 0; }
.store .filters .filters-results-wrap ul.filter-list > li:first-child { margin-top: 0; }
.store .filters .filters-name { font-size: 15px; font-weight: 700; color: var(--black-2); margin-bottom: 8px; }
.store .filters .filters-results { font-size: 14px; color: var(--black-5); }
.store .filters .filters-results ul { padding: 0; margin: 0; }
.store .filters .filters-results li { list-style: none; padding: 0; margin: 9px 0; }
.store .filters .filters-results li span { display: inline-block; width: calc(100% - 28px); vertical-align: top; }
.store .filters .filters-results label { cursor: pointer; line-height: 1.4; }
.store .filters .filters-results input { padding: 0; margin: 2px 8px 0 0; float: left; width: 16px; height: 16px; cursor: pointer; accent-color: var(--blue-4); }
.store .design-blocks-results { float: right; width: calc(100% - 260px); }
.store .design-blocks-results h1.title { font-size: 32px; line-height: 1.25; font-weight: 700; margin: 0 0 15px 0; padding: 0; color: var(--black-2); }
.store .design-blocks-results .top-content { line-height: 1.7; font-size: 17px; color: var(--black-3); margin: 10px 0 22px 0; }
.store .design-blocks-results .top-content a { color: var(--blue-4); text-decoration: none; }
.store .design-blocks-results .top-content a:hover { text-decoration: underline; }
.store .design-blocks-results-only { width: 100%; }
.store .design-blocks-results-only h1.title { font-size: 32px; line-height: 1.25; font-weight: 700; margin: 0 0 8px 0; padding: 0; color: var(--black-2); }
.store .design-blocks-results-only .top-content { line-height: 1.7; font-size: 17px; color: var(--black-3); margin-bottom: 22px; }

/* Start Store Homepage*/
.top-content-container { padding: 20px 15px; }
.top-content-container .top-content-wrap {}
.top-content-container h1.title { font-size: 32px; line-height: 1.25; font-weight: 700; margin: 0 0 8px 0; padding: 0; color: var(--black-2); }
.top-content-container .top-content { line-height: 1.7; font-size: 17px; color: var(--black-3); margin: 10px 0 18px 0; }

/* Start Free Shipping */
.free-shipping { text-align: center; background-color: var(--header-free-shipping-bg-color); color: var(--header-free-shipping-text-color); border-bottom: 1px solid var(--header-free-shipping-border-color); padding: 7px 15px; font-size: 14px; font-weight: 600; letter-spacing: 0.01em; }
.free-shipping span { text-decoration: underline; text-underline-offset: 2px; }

/* Start 2 Column Blog Layout with Posts & Sidebar*/
.blog { padding: 20px 15px 55px 15px; }
.blog img { max-width: 100%; height: auto; }
.blog .blog-homepage { padding: 20px 0 0 0; }
.blog .blog-wrap { display: flex; justify-content: space-between; gap: var(--two-column-gap); }
.blog .posts { flex: 1; min-width: 0; }
.blog .posts .content-top { line-height: 1.7; font-size: 17px; }
.blog .posts .content-top .title { margin: 0 0 15px 0; padding: 0; font-size: 32px; line-height: 1.25; font-weight: 700; color: var(--black-2); }
.blog .posts .content-top .top-content { line-height: 1.7; font-size: 17px; color: var(--black-3); margin-bottom: 22px; }
.blog .posts a { color: var(--blue-4); text-decoration: none; }
.blog .posts a:hover { text-decoration: underline; }
.blog .posts .view-more-posts a { background-color: var(--btn-bg-color); color: var(--btn-text-color); text-decoration: none; font-weight: 600; padding: 10px 16px; border-radius: var(--border-radius-1); display: inline-block; transition: background-color 0.2s ease; }
.blog .posts .view-more-posts a:hover { background-color: var(--btn-bg-hover-color); }
.blog .sidebar { width: 30%; flex-shrink: 0; }
.blog .sidebar .box { padding: 22px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); background-color: var(--gray-7); margin-bottom: 18px; font-size: 15px; line-height: 1.6; }
.blog .sidebar .box-inner {}
.blog .sidebar .box-inner .img { text-align: center; }
.blog .sidebar .box-inner .img img { margin-bottom: 16px; max-width: 100%; height: auto; display: block; }
.blog .sidebar .box-inner .img img.max-width-height-display { border-radius: var(--border-radius-1); }
.blog .sidebar .box-inner .img video { margin-bottom: 16px; width: 100%; display: block; aspect-ratio: 16 / 9; border-radius: var(--border-radius-1); }
.blog .sidebar .box-inner .img .video-embed { margin-bottom: 16px; max-width: 100%; height: auto; display: block; overflow: hidden; border-radius: var(--border-radius-1); }
.blog .sidebar .box-inner .title { font-size: 18px; line-height: 1.35; font-weight: 700; margin: 0 0 15px 0; color: var(--black-2); }
.blog .sidebar .box-inner .text { color: var(--black-3); }
.blog .sidebar .box-inner .text a { color: var(--blue-4); text-decoration: none; }
.blog .sidebar .box-inner .text a:hover { color: var(--blue-4); text-decoration: underline; }
.blog .sidebar .box-inner ul { padding: 0; margin: 0; }
.blog .sidebar .box-inner ul li { list-style: none; padding: 0; margin: 0 0 6px 0; }
.blog .sidebar .box-inner ul li .arrow { margin-right: 5px; }
.blog .sidebar .box-inner ul li a { color: var(--blue-4); text-decoration: none; }
.blog .sidebar .box-inner ul li a:hover { text-decoration: underline; }
.blog .sidebar .box-inner .button { margin-top: 16px; }
.blog .sidebar .box-inner .button a { background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 10px 16px; border: none; font-size: 16px; font-weight: 600; border-radius: var(--border-radius-1); text-decoration: none; display: inline-block; transition: background-color 0.2s ease; }
.blog .sidebar .box-inner .button a:hover { background-color: var(--btn-bg-hover-color); }
.sidebar .box.sticky { position: sticky; top: 70px; }
.sidebar .box-inner .active { font-weight: 700; color: var(--blue-4); text-decoration: underline; }

/* Boxes Around Text*/
h2.box-1 { font-size: 26px; line-height: 1.3; margin: 24px 0 12px 0; color: var(--black-2); }
.box-1 { background-color: var(--gray-6); padding: 10px 14px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.box-2 { background-color: var(--gray-6); padding: 18px 22px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.box-3 { background-color: var(--gray-6); padding: 26px 20px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.image-background { display: inline-block; background-color: var(--gray-6); padding: 12px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }

/* Blog Post Page */
.blog-post { line-height: 1.7; font-size: 17px; color: var(--black-3); }
.blog-post h2 { font-size: 28px; line-height: 1.3; font-weight: 700; margin: 28px 0 12px 0; color: var(--black-2); }
.blog-post h3, .blog-post h4, .blog-post h5, .blog-post h6 { font-size: 22px; line-height: 1.35; font-weight: 700; margin: 24px 0 10px 0; color: var(--black-2); }
.blog-post .header-title h2 { font-size: 64px; line-height: 1.15; color: var(--white-1); padding: 100px 30px; margin: 24px 0 35px 0; background: var(--black-2); border-radius: var(--border-radius-1); font-weight: 700; text-align: center; }
.blog-post img { max-width: 100%; height: auto; border-radius: var(--border-radius-1); }
.blog-post .top {}
.blog-post .top h1.title { font-size: 42px; margin: 0 0 8px 0; padding: 0; line-height: 1.2; font-weight: 700; color: var(--black-2); }
.blog-post a { color: var(--blue-4); text-decoration: none; }
.blog-post a:hover { color: var(--blue-4); text-decoration: underline; }
.blog-post .post-admin-screnshot-background { background-color: var(--gray-6); padding: 12px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); margin-top: 12px; }
.blog-post .posts .lightbulb::before { content: "\1F4A1"; display: inline-block; vertical-align: top; margin-right: 6px; font-size: 16px; }
.blog-post .posts .checkmark::before { content: "\2705"; display: inline-block; vertical-align: top; margin-right: 6px; font-size: 16px; }
.blog-post .posts .caution::before { content: "\26A0"; display: inline-block; vertical-align: top; margin-right: 6px; font-size: 16px; }
.blog-post .posts .warning::before { content: "\2757"; display: inline-block; vertical-align: top; margin-right: 6px; font-size: 16px; }
.blog-post .posts .error::before { content: "\274C"; display: inline-block; vertical-align: top; margin-right: 6px; font-size: 16px; }

/* Blog Post Page Comments */
.post-comments { padding: 0 15px 55px 15px; }
.post-comments .top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; position: sticky; top: 0; z-index: 5; background-color: var(--white-1); border-bottom: 1px solid var(--gray-5); padding: 10px 0; }
.post-comments .title { font-size: 30px; line-height: 1.3; font-weight: 700; color: var(--black-2); }
.post-comments .add-new-comment a { font-size: 15px; font-weight: 600; background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 9px 14px; text-decoration: none; border-radius: var(--border-radius-1); display: inline-block; transition: background-color 0.2s ease; }
.post-comments .add-new-comment a:hover { background-color: var(--btn-bg-hover-color); }
.post-comments .by-date { padding: 0; }
.post-comments .by { font-size: 17px; margin-bottom: 3px; font-weight: 700; color: var(--black-2); }
.post-comments .date { font-size: 13px; font-weight: 400; color: var(--gray-1); }
.post-comments .comment { font-size: 16px; line-height: 1.7; padding: 14px 0 4px 0; color: var(--black-4); }
.post-comments .comments ul { padding: 0; margin: 10px 0 0 0; }
.post-comments .comments ul li { padding: 16px; margin: 0; list-style: none; background-color: var(--gray-7); border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.post-comments .comments ul ul > li { border-top: 1px solid var(--gray-4); margin-top: 14px; margin-bottom: 0; border-radius: 0; border-left: none; border-right: none; border-bottom: none; background-color: transparent; padding: 14px 0 0 18px; }
.post-comments .comments ul > li { margin-bottom: 15px; }
post-comments .comments ul:first-child { padding: 0; margin: 0; }
.post-comments .comments > ul > li:first-child { margin: 0 0 15px 0; }
.post-comments .comments > ul > li:first-child > .by-date { border-top: none; }
.post-comments .reply { padding: 12px 0 0 0; }
.post-comments .reply-toggle { display: inline-block; color: var(--blue-4); text-decoration: none; cursor: pointer; font-weight: 600; }
.post-comments .reply-toggle:hover { text-decoration: underline; }
.post-comments .comment_reply_form label { display: block; margin-top: 18px; font-size: 14px; font-weight: 600; color: var(--black-3); }
.post-comments .comment_reply_form input { width: 100%; padding: 10px 12px; margin-top: 6px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); font-size: 16px; color: var(--black-3); background-color: var(--white-1); outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.post-comments .comment_reply_form input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.post-comments .comment_reply_form textarea { width: 100%; min-height: 130px; padding: 10px 12px; margin-top: 6px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); font-size: 16px; color: var(--black-3); background-color: var(--white-1); outline: none; resize: vertical; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.post-comments .comment_reply_form textarea:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.post-comments .comment_reply_form button { font-size: 15px; font-weight: 600; background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 10px 16px; border: none; margin-top: 18px; cursor: pointer; border-radius: var(--border-radius-1); transition: background-color 0.2s ease; }
.post-comments .comment_reply_form button:hover { background-color: var(--btn-bg-hover-color); }

/* Blog Post Page Post a Comments */
.post-a-comment { padding: 0 15px 55px 15px; }
.post-a-comment .title { font-size: 30px; line-height: 1.3; font-weight: 700; color: var(--black-2); }
.post-a-comment .sub-text { color: var(--black-5); line-height: 1.6; margin-top: 6px; }
.post-a-comment .name { margin-top: 18px; }
.post-a-comment .email { margin-top: 18px; }
.post-a-comment .comment { margin-top: 18px; }
.post-a-comment input { width: 100%; padding: 10px 12px; margin-top: 6px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); font-size: 16px; color: var(--black-3); background-color: var(--white-1); outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.post-a-comment input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.post-a-comment textarea { width: 100%; min-height: 140px; padding: 10px 12px; margin-top: 6px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); font-size: 16px; color: var(--black-3); background-color: var(--white-1); outline: none; resize: vertical; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.post-a-comment textarea:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.post-a-comment .button button { font-size: 15px; font-weight: 600; background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 10px 16px; border: none; margin-top: 18px; cursor: pointer; border-radius: var(--border-radius-1); transition: background-color 0.2s ease; }
.post-a-comment .button button:hover { background-color: var(--btn-bg-hover-color); }

/* Start Product Page Top */
.product-top { padding: 12px 15px 8px 15px; font-size: 15px; }
.product-top .product-top-wrap {}
.product-top h1.title { font-size: 34px; line-height: 1.2; margin: 0 0 15px 0; padding: 0; font-weight: 700; color: var(--black-2); }
.product-top .reviews-questions { margin-top: 6px; }
.product-top .reviews-questions ul { margin: 0; padding: 0; }
.product-top .reviews-questions ul li { margin: 0; padding: 0 8px 8px 0; list-style: none; display: inline-block; color: var(--black-5); vertical-align: top; }
.product-top .reviews-questions ul li span { vertical-align: top; }
.product-top .reviews-questions ul li a { color: var(--blue-4); text-decoration: none; }
.product-top .reviews-questions ul li a:hover { color: var(--blue-4); text-decoration: underline; }
.product-top .review-stars-container { display: inline-flex; align-items: center; gap: 5px; font-size: 14px; color: var(--gray-1); }
.product-top .review-stars-container .review-stars { display: inline-block; vertical-align: middle; line-height: 0; font-size: 24px; padding-top: 10px; }
.product-top .review-stars-container .review-stars::before { content: '\2605\2605\2605\2605\2605'; background: linear-gradient(90deg, var(--review-stars-color) calc(var(--rating) / 5 * 100%), var(--review-stars-bg-color) calc(var(--rating) / 5 * 100%)); letter-spacing: 0; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

/* Start Product Page Top Offer */
.offer { padding: 10px 15px 40px 15px; }
.offer-wrap {}
.offer-wrap .offer-inner-wrap { margin: 5px 0; padding: 0; display: flex; flex-wrap: wrap; gap: 30px 0; width: 100%; }
.offer-wrap .offer-inner-wrap .flex-row { width: 100%; border-bottom: 1px solid var(--gray-5); padding-bottom: 30px; margin-bottom: 30px; }
.product-media { float: left; width: 42%; }
.product-selection { float: right; width: 55%; }
.product-selection .sub-product-title { margin: 0 0 8px 0; font-size: 22px; line-height: 1.3; font-weight: 700; }
.product-selection .sub-product-title a { text-decoration: none; color: var(--black-2); }
.product-selection .sub-product-title a:hover { color: var(--blue-4); text-decoration: underline; }
.product-selection .sub-product-review-stars-container { font-size: 14px; margin: 0 0 14px 0; color: var(--gray-1); }
.product-selection .sub-product-review-stars-container .review-stars { display: inline-block; vertical-align: middle; line-height: 0; font-size: 24px; }
.product-selection .sub-product-review-stars-container .review-stars::before { content: '\2605\2605\2605\2605\2605'; background: linear-gradient(90deg, var(--review-stars-color) calc(var(--rating) / 5 * 100%), var(--review-stars-bg-color) calc(var(--rating) / 5 * 100%)); letter-spacing: 0; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.product-selection .sub-product-review-stars-container span.review-score { vertical-align: middle; font-size: 14px; }
.product-selection .sub-product-review-stars-container span.read-customer-reviews { vertical-align: middle; font-size: 14px; }
.product-selection .sub-product-review-stars-container span.read-customer-reviews a { text-decoration: none; color: var(--blue-4); }
.product-selection .sub-product-review-stars-container span.read-customer-reviews a:hover { text-decoration: underline; }
.product-selection .sub-product-top-text { margin: 0 0 18px 0; line-height: 1.6; color: var(--black-4); }

/* Product Attributes */
.product-attributes ul { padding: 0; margin: 0; }
.product-attributes li { list-style-type: none; padding-bottom: 22px; width: 100%; }
.product-attributes li.two-column { list-style-type: none; padding-bottom: 22px; width: calc(50% - 13px); display: inline-block; padding-right: 20px; vertical-align: top; }
.product-attributes li.two-column:nth-child(2n+2) { padding-right: 0; }
.product-attributes li.three-column { list-style-type: none; padding-bottom: 22px; width: calc(33.3% - 16px); display: inline-block; padding-right: 20px; vertical-align: top; }
.product-attributes li.three-column:nth-child(3n) { padding-right: 0; }
.product-attributes li { list-style-type: none; padding-bottom: 22px; width: 100%; box-sizing: border-box; }
.product-attributes .product-pager-wrapper { width: 100%; height: 100%; }

/* Product Attribute Swatches */
.product-attributes-swatches { width: 100%; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.product-attributes-swatch-label { font-size: 15px; font-weight: 700; margin: 0 0 8px 0; width: 100%; color: var(--black-3); }
.product-attributes-swatch-item { display: inline-block; width: 60px; height: auto; cursor: pointer; text-align: center; font-size: 12px; position: relative; }
.product-attributes-swatch-item input { display: none; position: absolute; }
.product-attributes-swatch-item img { width: 60px; height: auto; display: block; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.product-attributes-swatch-item img.active { border: 2px solid var(--black-2); padding: 1px; }
.product-attributes-swatch-item img.not-available { border: 1px dashed var(--gray-2); padding: 1px; opacity: 0.5; }
.product-attributes-swatch-item div.active { width: 60px; height: 60px; padding: 1px; border: 2px solid var(--black-2); border-radius: var(--border-radius-1); }
.product-attributes-swatch-item div.not-available { border: 1px dashed var(--gray-2); padding: 1px; opacity: 0.5; }
.product-attributes-swatch-item .attribute_name { margin-top: 5px; line-height: 1.3; color: var(--black-4); }
.product-attributes-swatch-item-color-number { width: 60px; height: 60px; position: relative; border-radius: var(--border-radius-1); overflow: hidden; }
.product-attributes-swatch-item-color-number-inner { height: 100%; border-radius: var(--border-radius-1); }

/* Product Attribute Boxes */
.product-attributes-boxes { width: 100%; margin: 0; }
.product-attributes-boxes-label { font-size: 15px; font-weight: 700; margin: 0 0 6px 0; color: var(--black-3); }
.product-attributes-boxes-item { display: inline-block; padding: 9px 12px; margin: 4px 5px 4px 0; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); cursor: pointer; position: relative; background-color: var(--white-1); color: var(--black-3); transition: border-color 0.2s ease, background-color 0.2s ease; }
.product-attributes-boxes-item:hover { border-color: var(--gray-1); }
.product-attributes-boxes-item input { display: none; position: absolute; }
.product-attributes-boxes-item.active { border: 1px solid var(--black-2); background-color: var(--black-2); color: var(--white-1); }
.product-attributes-boxes-item.not-available { border: 1px dashed var(--gray-3); background-color: var(--gray-7); color: var(--gray-2); cursor: pointer; }

/* Product Attribute Dropdown */
.product-attributes-dropdown { width: 100%; }
.product-attributes-dropdown-label { font-size: 15px; font-weight: 700; margin: 0 0 6px 0; color: var(--black-3); }
.product-attributes-dropdown-item { overflow: auto; position: relative; }
.product-attributes-dropdown-item select { width: 100%; padding: 10px 12px; height: 41px; min-height: 41px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.product-attributes-dropdown-item select:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.product-attributes-dropdown-item .not-available { color: var(--gray-3); }

/* Product Attribute Textfield */
.product-attributes-textfield { margin-right: 30px; width: 100%; }
.product-attributes-textfield-label { font-size: 15px; font-weight: 700; margin: 0 0 6px 0; color: var(--black-3); }
.product-attributes-textfield-item input { width: 100%; padding: 10px 12px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.product-attributes-textfield-item input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }

/* Processing */
.processing-wrapper { position: absolute; top: 50%; transform: translateY(-50%); width: 100%; left: 0; right: 0; }
.processing { --size: 30px; --stroke-size: 4px; --dark: var(--black-1); --light: var(--white-2); --diff: calc(calc(var(--size) / 2) - var(--stroke-size)); background-image: conic-gradient(var(--dark) 0%, var(--dark) 12%, var(--light) 12%, var(--light) 25%, var(--dark) 25%, var(--dark) 38%, var(--light) 38%, var(--light) 50%, var(--dark) 50%, var(--dark) 63%, var(--light) 63%, var(--light) 75%, var(--dark) 75%, var(--dark) 88%, var(--light) 88%, var(--light) 100%); width: var(--size); height: var(--size); border-radius: 100%; -webkit-mask: radial-gradient(circle var(--diff), transparent 97%, var(--white-1) 100%); mask: radial-gradient(circle var(--diff), transparent 97%, var(--white-1) 100%); animation: rotate 1.2s linear infinite; margin: 0 auto; background-color: inherit; }
@keyframes rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* Product Options */
.product-options ul { padding: 0; margin: 0; }
.product-options li { background-color: var(--gray-7); padding: 15px; overflow: auto; box-sizing: border-box; margin-bottom: 15px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.product-options .attribute_name { margin-top: 5px; }
.product-options-boxes { display: flex; gap: 10px; flex-wrap: wrap; }
.product-options-boxes-container { border: 1px solid var(--gray-4); background-color: var(--white-1); display: inline-block; padding: 0; margin-top: 10px; border-radius: var(--border-radius-1); overflow: hidden; cursor: pointer; transition: border-color 0.2s ease; }
.product-options-boxes-container:hover { border-color: var(--gray-1); }
.product-options-boxes-container.active { border: 2px solid var(--black-2) !important; }
.product-options-boxes-container .table { display: table; font-size: 14px; height: 100%; }
.product-options-boxes-container label { cursor: pointer; }
.product-options-boxes-container label.table-row { display: table-row; vertical-align: middle; }
.product-options-boxes-container label .table-cell { display: table-cell; vertical-align: middle; }
.product-options-boxes-container label .top-padding { padding-top: 2px; }
.product-options-boxes-container label .padding-left { padding: 8px 10px; height: 41px; min-height: 41px; }
.product-options-boxes-container label img { float: left; width: 55px; height: auto; }
.product-options-dropdown select { margin-top: 10px; width: 100%; padding: 10px 12px; height: 41px; min-height: 41px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.product-options-dropdown select:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.product-options-swatch-item { display: inline-block; width: 60px; height: auto; margin: 10px 8px 4px 0; cursor: pointer; text-align: center; font-size: 12px; }
.product-options-swatch-item input { display: none; position: absolute; }
.product-options-swatch-item img { width: 100%; height: auto; display: block; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); box-sizing: border-box; }
.product-options-swatch-item img.active { border: 2px solid var(--black-2); padding: 1px; }
.product-options-swatch-item img.not-available { opacity: 0.35; }
.product-options-swatch-item div.active { width: 60px; height: 60px; padding: 1px; border: 2px solid var(--black-2); border-radius: var(--border-radius-1); }
.product-options-swatch-item div.not-available { opacity: 0.35; }
.product-options-swatch-item-color-number { width: 60px; height: 60px; border-radius: var(--border-radius-1); overflow: hidden; }
.product-options-swatch-item-color-number-inner { height: 100%; border-radius: var(--border-radius-1); }
.product-options-textarea textarea { margin-top: 10px; width: 100%; min-height: 110px; padding: 10px 12px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; resize: vertical; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.product-options-textarea textarea:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.product-options-textfield input { margin-top: 10px; width: 100%; padding: 10px 12px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.product-options-textfield input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }

/* Item Added to Cart */
.item-added-to-cart { padding: 11px 14px; margin-bottom: 10px; background-color: var(--green-2); color: var(--green-1); border-radius: var(--border-radius-1); font-size: 15px; font-weight: 600; text-align: center; }
.item-added-to-cart::before { content: "\2713"; font-weight: 700; margin-right: 8px; color: var(--green-1); }

/* Product Totals */
.product-totals { background-color: var(--gray-7); padding: 20px; width: 100%; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.product-totals-wrapper { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; }
.product-totals-left {}
.product-price span#currency { font-size: 36px; font-weight: 700; color: var(--black-2); }
.product-price span#price { font-size: 36px; font-weight: 700; color: var(--black-2); }
.product-price .on-sale { color: var(--green-1); font-weight: 600; font-style: normal; text-align: left; margin-top: 3px; }
.product-price span#display-save { margin-left: 6px; font-size: 14px; color: var(--black-6); display: inline-block; }
.product-totals-right { text-align: right; }
.product-attributes-quantity { display: inline-block; vertical-align: top; }
.product-attributes-quantity input { width: 65px; height: 44px; font-size: 20px; padding: 6px; text-align: center; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-2); }
.product-attributes-quantity select { min-width: 65px; height: 44px; font-size: 18px; padding: 6px; text-align: center; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-2); }
.product-add-to-cart-inline { display: inline-block; }
.product-add-to-cart button { background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 11px 18px; border: none; border-radius: var(--border-radius-1); font-size: 18px; font-weight: 700; cursor: pointer; transition: background-color 0.2s ease; }
.product-add-to-cart button:hover { background-color: var(--btn-bg-hover-color); }
.product-attributes-description { font-size: 16px; line-height: 1.7; margin-top: 22px; color: var(--black-3); }
.product-attributes-description a { color: var(--blue-4); text-decoration: none; }
.product-attributes-description a:hover { text-decoration: underline; }

/* Product Page Content */
.products-content { padding: 15px 15px 55px 15px; }
.products-content .products-content-title { font-size: 28px; line-height: 1.3; font-weight: 700; color: var(--black-2); margin: 0 0 12px 0; padding: 0 0 10px 0; border-bottom: 1px solid var(--gray-5); }
.products-content .products-content-text { font-size: 17px; line-height: 1.7; color: var(--black-3); }
.products-content .products-content-text a { color: var(--blue-4); text-decoration: none; }
.products-content .products-content-text a:hover { text-decoration: underline; }
.products-content .products-content-text ul { padding: 0; margin: 20px 0 0 28px; }
.products-content .products-content-text ol { padding: 0; margin: 20px 0 0 28px; }
.products-content .products-content-text li { padding: 0; margin: 0 0 6px 0; }

/* Product Page Specs */
.products-specs { padding: 0 15px 55px 15px; }
.products-specs .products-specs-title { font-size: 28px; line-height: 1.3; font-weight: 700; color: var(--black-2); margin: 0 0 12px 0; padding: 0 0 10px 0; border-bottom: 1px solid var(--gray-5); }
.products-specs .products-specs-text { line-height: 1.5; font-size: 15px; margin-top: 12px; color: var(--black-4); }
.products-specs .products-specs-text a { color: var(--blue-4); text-decoration: none; }
.products-specs .products-specs-text a:hover { text-decoration: underline; }
.products-specs .products-specs-text ul { padding: 0; margin: 0; --n: 2; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(250px, (100% - (var(--n) - 1) * 8px) / var(--n)), 1fr)); gap: 8px; }
.products-specs .products-specs-text ol { padding: 0; margin: 0; --n: 2; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(250px, (100% - (var(--n) - 1) * 8px) / var(--n)), 1fr)); gap: 8px; }
.products-specs .products-specs-text li { padding: 12px 14px; margin: 0; background-color: var(--gray-7); border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); list-style: none; }
.products-specs .products-specs-text li .name { font-weight: 700; color: var(--black-2); }

/* Product Page Customer Reviews */
.products-customer-reviews { padding: 0 15px 55px 15px; }
.products-customer-reviews-features { font-size: 20px; font-weight: 600; padding-bottom: 10px; border-bottom: 1px solid var(--gray-5); overflow: auto; }
.products-customer-reviews-container { float: left; }
.products-customer-reviews-title { font-size: 28px; line-height: 1.3; font-weight: 700; color: var(--black-2); margin: 0; padding: 0; }
.products-customer-reviews-text { font-size: 15px; font-weight: normal; color: var(--black-5); margin-top: 5px; }
.products-customer-reviews-write-a-review { font-weight: 600; float: right; font-size: 15px; background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 9px 14px; border: none; cursor: pointer; border-radius: var(--border-radius-1); transition: background-color 0.2s ease; }
.products-customer-reviews-write-a-review:hover { background-color: var(--btn-bg-hover-color); }
.products-customer-reviews-leave-a-review { margin-top: 15px; padding: 18px; background-color: var(--gray-7); border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.products-customer-reviews-contanier { margin-bottom: 12px; }
.products-customer-reviews-login { font-size: 14px; font-weight: 600; background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 9px 14px; margin-top: 8px; border-radius: var(--border-radius-1); border: 0; cursor: pointer; transition: background-color 0.2s ease; }
.products-customer-reviews-login:hover { background-color: var(--btn-bg-hover-color); }
.products-customer-reviews-fields { }
.products-customer-reviews-fields input { width: 100%; margin-bottom: 12px; padding: 10px 12px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.products-customer-reviews-fields input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.products-customer-reviews-select-score { margin-bottom: 12px; }
.products-customer-reviews-score-wrapper { display: inline-block; font-size: 15px; }
.products-customer-reviews-score-wrapper select { padding: 8px 10px; margin-left: 3px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); height: 38px; font-size: 15px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.products-customer-reviews-score-wrapper select:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.products-customer-reviews .review-stars-container { display: inline-flex; align-items: center; gap: 5px; font-size: 14px; }
.products-customer-reviews .review-stars-container span.top { vertical-align: top; font-size: 15px; color: var(--gray-1); }
.products-customer-reviews .review-stars-container .review-stars { display: inline-block; vertical-align: middle; line-height: 0; font-size: 24px; }
.products-customer-reviews .review-stars-container .review-stars::before { content: '\2605\2605\2605\2605\2605'; background: linear-gradient(90deg, var(--review-stars-color) calc(var(--rating) / 5 * 100%), var(--review-stars-bg-color) calc(var(--rating) / 5 * 100%)); letter-spacing: 0; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.products-customer-reviews .select-review-score span.top { vertical-align: top; color: var(--gray-1); }
.products-customer-reviews .select-review-score .review-stars { display: inline-block; line-height: 45px; font-size: 40px; }
.products-customer-reviews .select-review-score .review-stars::before { content: '\2605\2605\2605\2605\2605'; background: linear-gradient(90deg, var(--review-stars-color) calc(var(--rating) / 5 * 100%), var(--review-stars-bg-color) calc(var(--rating) / 5 * 100%)); letter-spacing: 0; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.products-customer-reviews-review-text textarea { width: 100%; min-height: 130px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); padding: 10px 12px; background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; resize: vertical; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.products-customer-reviews-review-text textarea:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.products-customer-reviews-submit-button button { font-size: 15px; font-weight: 600; background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 9px 14px; margin-top: 10px; border-radius: var(--border-radius-1); border: 0; cursor: pointer; transition: background-color 0.2s ease; }
.products-customer-reviews-submit-button button:hover { background-color: var(--btn-bg-hover-color); }
.products-customer-reviews-wrapper {}
.products-customer-reviews-wrapper a { color: var(--blue-4); text-decoration: none; }
.products-customer-reviews-wrapper a:hover { text-decoration: underline; }
.products-customer-reviews-wrapper ul { padding: 0; margin: 20px 0 0 28px; }
.products-customer-reviews-wrapper ol { padding: 0; margin: 20px 0 0 28px; }
.products-customer-reviews-wrapper li { padding: 0; margin: 0 0 6px 0; }
.products-customer-reviews-item { margin-top: 16px; background-color: var(--gray-7); padding: 18px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.products-customer-reviews-score {}
.products-customer-reviews-score span.text { vertical-align: top; font-size: 14px; color: var(--gray-1); }
.products-customer-reviews-review { line-height: 1.7; margin-top: 8px; color: var(--black-4); }
.products-customer-reviews-submitted-by { line-height: 1.5; font-size: 14px; color: var(--gray-1); margin-top: 8px; }

/* Product Page Questions and Answers */
.products-q-and-a { padding: 0 15px 55px 15px; }
.products-q-and-a-features { font-size: 20px; font-weight: 600; padding-bottom: 10px; border-bottom: 1px solid var(--gray-5); overflow: auto; }
.products-q-and-a-title { float: left; font-size: 28px; line-height: 1.3; font-weight: 700; color: var(--black-2); margin: 0; padding: 0; }
.products-q-and-a-ask-a-question { font-weight: 600; float: right; font-size: 15px; background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 9px 14px; border: none; cursor: pointer; border-radius: var(--border-radius-1); transition: background-color 0.2s ease; }
.products-q-and-a-ask-a-question:hover { background-color: var(--btn-bg-hover-color); }
.products-q-and-a-leave-a-question { margin-top: 15px; padding: 18px; background-color: var(--gray-7); border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.products-q-and-a-login { margin-bottom: 12px; }
.products-q-and-a-login button { font-size: 14px; font-weight: 600; background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 9px 14px; margin-top: 8px; border-radius: var(--border-radius-1); border: 0; cursor: pointer; transition: background-color 0.2s ease; }
.products-q-and-a-login button:hover { background-color: var(--btn-bg-hover-color); }
.products-q-and-a-fields {}
.products-q-and-a-fields input { width: 100%; padding: 10px 12px; margin-bottom: 12px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.products-q-and-a-fields input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.products-q-and-a-question-text textarea { width: 100%; min-height: 130px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); padding: 10px 12px; background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; resize: vertical; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.products-q-and-a-question-text textarea:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.products-q-and-a-submit-button button { font-size: 15px; font-weight: 600; background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 9px 14px; margin-top: 10px; border-radius: var(--border-radius-1); border: 0; cursor: pointer; transition: background-color 0.2s ease; }
.products-q-and-a-submit-button button:hover { background-color: var(--btn-bg-hover-color); }
.products-q-and-a-wrapper { line-height: 1.7; color: var(--black-4); }
.products-q-and-a-wrapper a { color: var(--blue-4); text-decoration: none; }
.products-q-and-a-wrapper a:hover { text-decoration: underline; }
.products-q-and-a-wrapper ul { padding: 0; margin: 20px 0 0 28px; }
.products-q-and-a-wrapper ol { padding: 0; margin: 20px 0 0 28px; }
.products-q-and-a-wrapper li { padding: 0; margin: 0 0 6px 0; }
.products-q-and-a-item { margin-top: 16px; background-color: var(--gray-7); padding: 18px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.products-q-and-a-question { font-weight: 700; color: var(--black-2); margin-bottom: 8px; }
.products-q-and-a-answer { color: var(--black-4); }
.errors { background-color: var(--red-3) !important; padding: 8px 10px; border: 1px solid var(--red-2); border-radius: var(--border-radius-1); }
.error-text { color: var(--red-1); vertical-align: text-bottom; font-weight: 600; }

/* Submit Review Page */
.review-products { display: flex; flex-direction: column; gap: 28px; width: 100%; margin-top: 25px; }
.review-product { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 28px; box-sizing: border-box; padding: 20px; background-color: var(--white-1); border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.review-product-image img { display: block; width: 100%; height: auto; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); box-sizing: border-box; }
.review-product-image-placeholder { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; padding: 15px; font-size: 14px; color: var(--gray-1); background-color: var(--gray-7); border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); box-sizing: border-box; }
.review-product-form { width: 100%; }
.review-product-title { margin: 0 0 18px 0; font-size: 24px; line-height: 1.3; font-weight: 700; color: var(--black-2); }
.review-product-title a { color: var(--black-2); text-decoration: none; }
.review-product-title a:hover { color: var(--blue-4); text-decoration: underline; }
.review-form { display: flex; flex-direction: column; gap: 20px; }
.review-form-field { display: flex; flex-direction: column; gap: 6px; }
.review-form-field > label, .review-rating-label { display: block; font-size: 15px; font-weight: 700; line-height: 1.4; color: var(--black-3); }
.review-form-field input[type="text"], .review-form-field textarea { padding: 10px 12px; font-size: 16px; color: var(--black-3); background-color: var(--white-1); border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); box-sizing: border-box; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.review-form-field input[type="text"]:focus, .review-form-field textarea:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.review-form-field textarea { min-height: 150px; resize: vertical; }
.review-field-description { font-size: 13px; line-height: 1.5; color: var(--gray-1); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.review-rating { display: inline-flex; flex-direction: row-reverse; align-self: flex-start; gap: 3px; }
.review-rating input[type="radio"] { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; appearance: none; }
.review-rating label { font-size: 36px !important; color: var(--gray-4); cursor: pointer; transition: color 0.15s ease, transform 0.15s ease; }
.review-rating label::before { display: block; content: "\2605"; line-height: 1; }
.review-rating label:hover, .review-rating label:hover ~ label, .review-rating input[type="radio"]:checked ~ label { color: var(--review-stars-color); }
.review-rating label:hover { transform: scale(1.08); }
.review-submit { align-self: flex-start; background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 10px 16px; border: none; font-size: 16px; font-weight: 700; border-radius: var(--border-radius-1); text-decoration: none; display: inline-block; cursor: pointer; transition: background-color 0.2s ease; }
.review-submit:hover { background-color: var(--btn-bg-hover-color); }
.review-request-message { padding: 12px 14px; font-size: 15px; line-height: 1.5; background-color: var(--green-2); border: 1px solid var(--green-1); border-radius: var(--border-radius-1); box-sizing: border-box; color: var(--green-1); font-weight: 600; }
.review-request-error { color: var(--red-1); background-color: var(--red-3); border-color: var(--red-2); }
.sidebar .products-to-review { padding: 22px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); height: 100%; background-color: var(--gray-7); margin-bottom: 18px; font-size: 14px; line-height: 1.6; }
.sidebar .products-to-review .box-inner .title { font-size: 17px; font-weight: 700; margin: 0 0 8px 0; color: var(--black-2); }
.sidebar .products-to-review .box-inner .item-wraper { display: grid; grid-template-columns: 35% minmax(0, 1fr); gap: 12px; border-top: 1px solid var(--gray-5); padding: 14px 0; }
.sidebar .products-to-review .box-inner .img { text-align: center; }
.sidebar .products-to-review .box-inner .img img { margin-bottom: 0; max-width: 100%; height: auto; display: block; border-radius: var(--border-radius-1); }
.sidebar .products-to-review .box-inner .sub-title { font-size: 15px; line-height: 1.4; font-weight: 700; color: var(--black-3); }
.sidebar .products-to-review .box-inner .review-this-product { color: var(--btn-text-color); cursor: pointer; display: inline-block; background-color: var(--btn-bg-color); padding: 8px 12px; border-radius: var(--border-radius-1); font-size: 13px; font-weight: 600; margin-top: 7px; border: none; transition: background-color 0.2s ease; }
.sidebar .products-to-review .box-inner .review-this-product:hover { background-color: var(--btn-bg-hover-color); }
.sidebar .products-to-review .box-inner span.selected-product { display: inline-block; padding: 6px 10px; margin-top: 7px; font-size: 13px; font-weight: 700; color: var(--white-1); background-color: var(--blue-1); border-radius: var(--border-radius-1); cursor: default; }
.sidebar .products-to-review .box-inner span.review-completed { display: inline-block; padding: 6px 10px; margin-top: 7px; font-size: 13px; font-weight: 700; color: var(--white-1); background-color: var(--green-1); border-radius: var(--border-radius-1); cursor: default; }

/* Pages One Column Layout */
.pages-one-column { padding: 20px 15px 55px 15px; }
.pages-one-column .pages-one-column-wrap {}
.pages-one-column .content { line-height: 1.7; font-size: 17px; color: var(--black-3); }
.pages-one-column .content .top-content { margin: 0 0 22px 0; font-size: 17px; line-height: 1.7; color: var(--black-3); }
.pages-one-column h1.title { font-size: 34px; line-height: 1.2; font-weight: 700; color: var(--black-2); margin: 0 0 15px 0; padding: 0; }
.pages-one-column img { width: 100%; max-width: 100%; height: auto; border-radius: var(--border-radius-1); }
.pages-one-column video { width: 100%; max-width: 100%; height: auto; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); cursor: pointer; }
.pages-one-column a { color: var(--blue-4); text-decoration: none; }
.pages-one-column a:hover { text-decoration: underline; }

/* Pages One Column Sitemap Layout */
.pages-one-column .content .sitemap ul.sitemap-pages { margin: 0; padding: 0; --n: 3; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(200px, (100% - (var(--n) - 1) * 10px) / var(--n)), 1fr)); gap: 10px; }
.pages-one-column .content .sitemap h2.sitemap-pages-headline { margin: 20px 0 12px 0; padding: 0 0 8px 0; border-bottom: 1px solid var(--gray-5); font-size: 22px; line-height: 1.3; font-weight: 700; color: var(--black-2); }
.pages-one-column .content .sitemap ul.sitemap-categories { margin: 0; padding: 0; --n: 3; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(200px, (100% - (var(--n) - 1) * 10px) / var(--n)), 1fr)); gap: 10px; }
.pages-one-column .content .sitemap h2.sitemap-categories-headline { margin: 25px 0 12px 0; padding: 0 0 8px 0; border-bottom: 1px solid var(--gray-5); font-size: 22px; line-height: 1.3; font-weight: 700; color: var(--black-2); }
.pages-one-column .content .sitemap ul.sitemap-products { margin: 0; padding: 0; --n: 3; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(200px, (100% - (var(--n) - 1) * 10px) / var(--n)), 1fr)); gap: 10px; }
.pages-one-column .content .sitemap h2.sitemap-products-headline { margin: 25px 0 12px 0; padding: 0 0 8px 0; border-bottom: 1px solid var(--gray-5); font-size: 22px; line-height: 1.3; font-weight: 700; color: var(--black-2); }
.pages-one-column .content .sitemap ul.sitemap-posts { margin: 0; padding: 0; --n: 3; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(200px, (100% - (var(--n) - 1) * 10px) / var(--n)), 1fr)); gap: 10px; }
.pages-one-column .content .sitemap h2.sitemap-posts-headline { margin: 25px 0 12px 0; padding: 0 0 8px 0; border-bottom: 1px solid var(--gray-5); font-size: 22px; line-height: 1.3; font-weight: 700; color: var(--black-2); }
.pages-one-column .content .sitemap li { list-style-type: none; background-color: var(--gray-7); border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); font-size: 15px; transition: background-color 0.2s ease, border-color 0.2s ease; }
.pages-one-column .content .sitemap li:hover { background-color: var(--gray-6); border-color: var(--gray-4); }
.pages-one-column .content .sitemap li a { color: var(--black-3); text-decoration: none; padding: 9px 12px; display: block; line-height: 1.4; font-weight: 500; }
.pages-one-column .content .sitemap li a:hover { color: var(--blue-4); text-decoration: none; }
.pages-one-column .content .sitemap .view-more { text-align: right; margin-top: 14px; font-size: 15px; }
.pages-one-column .content .sitemap .view-more a { text-decoration: none; background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 9px 14px; border-radius: var(--border-radius-1); display: inline-flex; align-items: center; gap: 5px; font-weight: 600; transition: background-color 0.2s ease; }
.pages-one-column .content .sitemap .view-more a:hover { background-color: var(--btn-bg-hover-color); }
.pages-one-column .content .sitemap .view-more svg path { fill: var(--white-1); }
.pages-one-column .content .sitemap.section { margin: 30px 0 0 0; }

/* Pages Two Column Layout */
.pages-two-column { padding: 20px 15px 55px 15px; }
.pages-two-column .pages-two-column-wrap { display: flex; justify-content: space-between; gap: var(--two-column-gap); }
.pages-two-column .content { flex: 1; min-width: 0; line-height: 1.7; font-size: 17px; color: var(--black-3); }
.pages-two-column h1.title { font-size: 34px; line-height: 1.2; font-weight: 700; color: var(--black-2); margin: 0 0 15px 0; padding: 0; }
.pages-two-column .content .top-content { margin: 0 0 22px 0; font-size: 17px; line-height: 1.7; color: var(--black-3); }
.pages-two-column .content .top-content-cart { margin: 0px 0 22px 0; font-size: 17px; line-height: 1.7; color: var(--black-3); }
.pages-two-column img { max-width: 100%; height: auto; border-radius: var(--border-radius-1); }
.pages-two-column video { width: 100%; max-width: 100%; height: auto; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); cursor: pointer; }
.pages-two-column a { color: var(--blue-4); text-decoration: none; }
.pages-two-column a:hover { text-decoration: underline; }
.pages-two-column .sidebar { width: 30%; flex-shrink: 0; }
.pages-two-column .sidebar .box { padding: 22px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); background-color: var(--gray-7); margin-bottom: 18px; font-size: 15px; line-height: 1.6; }
.pages-two-column .sidebar .box-inner {}
.pages-two-column .sidebar .box-inner .img { text-align: center; }
.pages-two-column .sidebar .box-inner .img img { margin-bottom: 16px; max-width: 100%; height: auto; display: block; border-radius: var(--border-radius-1); }
.pages-two-column .sidebar .box-inner .img video { margin-bottom: 16px; width: 100%; display: block; aspect-ratio: 16 / 9; border-radius: var(--border-radius-1); }
.pages-two-column .sidebar .box-inner .img .video-embed { margin-bottom: 16px; max-width: 100%; height: auto; display: block; overflow: hidden; border-radius: var(--border-radius-1); }
.pages-two-column .sidebar .box-inner .title { font-size: 18px; line-height: 1.35; font-weight: 700; margin: 0 0 15px 0; color: var(--black-2); }
.pages-two-column .sidebar .box-inner .text { color: var(--black-3); }
.pages-two-column .sidebar .box-inner .button { margin-top: 16px; }
.pages-two-column .sidebar .box-inner .button a { background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 10px 16px; border: none; font-size: 16px; font-weight: 600; border-radius: var(--border-radius-1); text-decoration: none; display: inline-block; transition: background-color 0.2s ease; }
.pages-two-column .sidebar .box-inner .button a:hover { background-color: var(--btn-bg-hover-color); }
.pages-two-column .sidebar .box-inner ul { padding: 0; margin: 0; }
.pages-two-column .sidebar .box-inner ul li { list-style: none; padding: 0; margin: 0 0 6px 0; }
.pages-two-column .sidebar .box-inner ul li .arrow { margin-right: 5px; }
.pages-two-column .sidebar .box-inner ul li a { color: var(--blue-4); text-decoration: none; }
.pages-two-column .sidebar .box-inner ul li a:hover { text-decoration: underline; }

/* Pages Contact Us */
.contact-us .send-email { margin-top: 25px; padding-top: 25px; border-top: 1px solid var(--gray-5); }
.contact-us .send-email h2.title { font-size: 28px; line-height: 1.3; margin: 0 0 12px 0; padding: 0; font-weight: 700; color: var(--black-2); }
.contact-us .send-email .send-email-flex { display: flex; justify-content: space-between; gap: 30px; }
.contact-us .send-email .left { width: 50%; }
.contact-us .send-email .right { width: 50%; }
.contact-us .send-email input { width: 100%; padding: 10px 12px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.contact-us .send-email input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.contact-us .send-email textarea { width: 100%; min-height: 140px; padding: 10px 12px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; resize: vertical; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.contact-us .send-email textarea:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.contact-us .send-email .name { margin-bottom: 14px; }
.contact-us .send-email .company { margin-bottom: 14px; }
.contact-us .send-email .email { margin-bottom: 14px; }
.contact-us .send-email .phone { margin-bottom: 14px; }
.contact-us .send-email .message { margin-bottom: 14px; }
.contact-us .send-email .button button { background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 10px 16px; border: none; font-size: 15px; font-weight: 600; border-radius: var(--border-radius-1); cursor: pointer; transition: background-color 0.2s ease; }
.contact-us .send-email .button button:hover { background-color: var(--btn-bg-hover-color); }
.contact-us .sidebar .street-address { font-size: 15px; line-height: 1.5; margin-bottom: 4px; color: var(--black-4); }
.contact-us .sidebar .city { font-size: 15px; line-height: 1.5; margin-bottom: 4px; color: var(--black-4); }
.contact-us .sidebar .hours { font-size: 15px; line-height: 1.5; margin-top: 10px; margin-bottom: 4px; color: var(--black-5); }
.contact-us .sidebar .phone { font-size: 15px; line-height: 1.5; margin-top: 6px; }
.contact-us .sidebar .phone a { color: var(--blue-4); text-decoration: none; font-weight: 500; }
.contact-us .sidebar .phone a:hover { text-decoration: underline; }

/* Pages Search */
.search .no-results { color: var(--red-1); font-weight: 600; padding: 12px 14px; background-color: var(--red-3); border: 1px solid var(--red-2); border-radius: var(--border-radius-1); }

/* Pages Cart */
.cart .design-blocks.design-blocks-cart { padding: 10px 0; }
.cart .design-blocks.design-blocks-cart ul.grid-1 .img { width: 100%; }
.cart .design-blocks.design-blocks-cart ul.grid-1 .text-product { padding: 12px; width: 100%; display: inline-block; }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.display-none { display: none; }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items { list-style: none; border-radius: var(--border-radius-1); border: 1px solid var(--gray-5); background-color: var(--white-1); --n: 1; display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 0; overflow: hidden; }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items.no-shipping { grid-template-columns: minmax(0, 1fr); }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-left { background-color: var(--white-1); display: grid; grid-template-columns: 275px minmax(0, 1fr); gap: 15px; padding: 15px; margin: 0; border-bottom: 1px solid var(--gray-5); }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-left:last-child { border-bottom: none; }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-right { background-color: var(--gray-7); border-left: 1px solid var(--gray-5); font-size: 14px; padding: 18px; line-height: 1.4; }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-right label { cursor: pointer; display: inline-block; margin-bottom: 7px; width: 100%; }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-right input { cursor: pointer; }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-right .select-multiple-carrier-services { font-size: 14px; line-height: 1.5; margin-bottom: 20px; background-color: var(--yellow-2); padding: 10px 12px; border-radius: var(--border-radius-1); }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-right .shipping_rate_box { margin-bottom: 18px; }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-right .shipping_rate_box:last-child { margin-bottom: 0; }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-right .shipping-title { margin-bottom: 10px; font-weight: 700; font-size: 15px; }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-right label span.left { float: left; }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-right label span.right { float: right; width: calc(100% - 25px); }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-right label sup { font-size: 11px; }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-shipping-label { margin-bottom: 12px; font-weight: 700; }
.cart .content h1.title { margin: 0 10px 10px 0; }
.cart .content .top-cotent { margin-top: 20px; font-size: 18px; line-height: 32px; }
.cart .content .inventory-removed { padding: 8px 10px; background-color: var(--red-3); border: 1px solid var(--red-2); border-radius: var(--border-radius-1); font-size: 14px; margin-bottom: 10px; }
.cart .content .inventory-removed span { font-weight: 700; }
.cart .content .top { display: flex; justify-content: space-between; flex-wrap: wrap; top: 0; margin: 0; align-items: center; gap: 10px; }
.cart .content .top .button { font-size: 17px; display: none; }
.cart .calculate-tax-shipping-edit { font-size: 16px; }
.cart .calculate-tax-shipping-edit .not-logged-in { color: var(--blue-4); cursor: pointer; font-weight: 600; }
.cart .calculate-tax-shipping-edit .not-logged-in:hover { text-decoration: underline; }
.cart .calculate-tax-shipping-show { color: var(--blue-4); text-decoration: none; cursor: pointer; }
.cart .calculate-tax-shipping-show:hover { text-decoration: underline; }
.cart .calculate-tax-shipping { background-color: var(--gray-7); font-size: 16px; position: relative; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.cart .calculate-tax-shipping .close { position: absolute; top: 12px; right: 12px; line-height: 0; }
.cart .calculate-tax-shipping .close:hover { cursor: pointer; }
.cart .calculate-tax-shipping .close:hover path { fill: var(--blue-7); }
.cart .calculate-tax-shipping .close-button { display: inline-block; }
.cart .calculate-tax-shipping .close-button svg { width: 26px; }
.cart .calculate-tax-shipping .close-button svg path { fill: var(--btn-bg-color); }
.cart .calculate-tax-shipping .top-calculate { padding: 18px 18px 0 18px; }
.cart .calculate-tax-shipping .top-calculate .title { font-size: 20px; font-weight: 700; margin-right: 40px; }
.cart .calculate-tax-shipping .top-calculate .description { margin: 5px 0 12px 0; line-height: 24px; font-size: 15px; color: var(--black-5); }
.cart .calculate-tax-shipping-wrap { --n: 2; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(250px, (100% - (var(--n) - 1) * 15px) / var(--n)), 1fr)); gap: 12px 15px; padding: 5px 18px 18px 18px; }
.cart .calculate-tax-shipping-wrap input { width: 100%; padding: 10px 12px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-4); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.cart .calculate-tax-shipping-wrap input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.cart .calculate-tax-shipping-wrap select { width: 100%; padding: 10px 12px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-4); font-size: 16px; background-color: var(--white-1); color: var(--black-1); height: 41px; min-height: 41px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.cart .calculate-tax-shipping-wrap select:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.cart .calculate-tax-shipping-wrap .phone-number { display: flex; justify-content: space-between; gap: 10px; }
.cart .calculate-tax-shipping-wrap .phone-number .phone { flex: 1; min-width: 0; }
.cart .calculate-tax-shipping-wrap .phone-number .ext { width: 25%; min-width: 80px; }
.cart .calculate-tax-shipping .button { text-align: right; }
.cart .calculate-tax-shipping .button button { background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 10px 18px; font-size: 15px; font-weight: 600; border-radius: var(--border-radius-1); text-decoration: none; display: inline-block; white-space: nowrap; border: none; cursor: pointer; margin: 0 18px 18px 0; transition: background-color 0.2s ease; }
.cart .calculate-tax-shipping .button button:hover { background-color: var(--btn-bg-hover-color); }
.cart h2.cart-title { font-size: 22px; line-height: 30px; font-weight: 600; margin: 0; padding: 0; }
.cart .cart-title a { color: var(--black-2); text-decoration: none; }
.cart .cart-title a:hover { color: var(--blue-4); text-decoration: underline; }
.cart .cart-attribute-options { font-size: 15px; line-height: 1.4; margin-top: 10px; display: flex; align-items: stretch; flex-wrap: wrap; gap: 5px 25px; }
.cart .cart-attribute-options .cart-attribute-options-wrap {}
.cart .cart-attribute-options .cart-attribute-options-wrap span { font-weight: 600; }
.cart .cart-details { font-size: 15px; line-height: 23px; margin-top: 12px; color: var(--black-5); }
.cart .cart-details .qty-left { color: var(--green-1); display: block; font-weight: 600; }
.cart .cart-details .ships-within { display: block; }
.cart .cart-details .item-number { display: block; }
.cart .item-price .table { display: table; width: 100%; font-size: 15px; margin-top: 18px; line-height: normal; border-collapse: collapse; }
.cart .item-price .row { display: table-row; }
.cart .item-price .cell { display: table-cell; padding: 9px 8px; white-space: nowrap; }
.cart .item-price .cell.right { display: table-cell; padding: 9px 8px; white-space: normal; text-align: right; }
.cart .item-price .item-price-header { background-color: var(--gray-7); line-height: normal; font-weight: 600; }
.cart .item-price .item-price-product .qty input { display: inline-block; padding: 6px; width: 65px; font-size: 16px; text-align: center; font-weight: 600; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); }
.cart .item-price .item-price-product .qty select { padding: 6px; width: 65px; font-size: 16px; display: none; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); }
.cart .item-price .item-price-product .location select { display: inline-block; padding: 6px; font-size: 15px; max-width: max-content; width: calc(100% - 25px); border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); }
.cart .item-price .item-price-product .item-price-recurring { display: inline-block; padding: 6px; width: 65px; font-size: 16px; text-align: center; font-weight: 600; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); }
.cart .item-price .item-price-product span.update-qty { display: inline-block; vertical-align: top; }
.cart .item-price .item-price-product span.update-qty button { background-color: var(--btn-bg-color); border: none; color: var(--btn-text-color); padding: 7px 9px; font-size: 14px; font-weight: 600; border-radius: var(--border-radius-1); text-decoration: none; display: inline-block; cursor: pointer; }
.cart .item-price .item-price-product span.update-qty button:hover { background-color: var(--btn-bg-hover-color); }
.cart .item-price .item-price-subtotal { background-color: var(--gray-7); font-weight: 700; }
.cart .cart-links { margin-top: 8px; font-size: 14px; }
.cart .cart-links span { margin: 5px 6px 0 6px; font-size: 14px; color: var(--blue-4); cursor: pointer; display: inline-block; }
.cart .cart-links span:first-child { margin-left: 0; }
.cart .cart-links span:hover { text-decoration: underline; }
.cart .sidebar .box.sticky { position: sticky; top: 52px; margin-bottom: 20px; z-index: 1; }
.cart .sidebar .sidebar-totals { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.cart .sidebar .sidebar-totals-wrap { font-size: 16px; width: 100%; }
.cart .sidebar .sidebar-totals .subtotal { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0 10px; margin-bottom: 10px; }
.cart .sidebar .sidebar-totals .shipping { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0 10px; margin-bottom: 10px; }
.cart .sidebar .sidebar-totals .tax { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0 10px; margin-bottom: 10px; }
.cart .sidebar .sidebar-totals .total { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0 10px; margin: 15px 0 10px 0; padding-top: 15px; border-top: 1px solid var(--gray-5); font-size: 18px; font-weight: 700; }
.cart .sidebar .sidebar-totals .calculate-taxt-shipping-button { margin-top: 20px; display: block; text-align: right; }
.cart .sidebar .sidebar-totals .calculate-taxt-shipping-button button { background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 10px 18px; font-size: 15px; font-weight: 600; border-radius: var(--border-radius-1); text-decoration: none; display: inline-block; white-space: nowrap; border: none; cursor: pointer; transition: background-color 0.2s ease; }
.cart .sidebar .sidebar-totals .calculate-taxt-shipping-button button:hover { background-color: var(--btn-bg-hover-color); }
.cart .sidebar .sidebar-totals .checkout-button { margin-top: 15px; display: block; text-align: right; }
.cart .sidebar .sidebar-totals .checkout-button button { background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 11px 20px; font-size: 16px; font-weight: 700; border-radius: var(--border-radius-1); text-decoration: none; display: inline-block; white-space: nowrap; border: none; cursor: pointer; transition: background-color 0.2s ease; }
.cart .sidebar .sidebar-totals .checkout-button button:hover { background-color: var(--btn-bg-hover-color); }
.cart .sidebar .sidebar-totals .checkout-button a { background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 11px 20px; font-size: 16px; font-weight: 700; border-radius: var(--border-radius-1); text-decoration: none; display: inline-block; white-space: nowrap; transition: background-color 0.2s ease; }
.cart .sidebar .sidebar-totals .checkout-button a:hover { background-color: var(--btn-bg-hover-color); }
.cart #calculate-tax-shipping-container { grid-template-columns: 100%; }
.cart #paypal-one-subscription { grid-template-columns: 100%; color: var(--red-1); }
.cart .sidebar .box-save-for-later { padding: 20px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-5); background-color: var(--white-1); margin-bottom: 15px; font-size: 14px; line-height: 22px; }
.cart .sidebar .box-save-for-later .box-inner {}
.cart .sidebar .box-save-for-later .box-inner .item-wraper { display: grid; grid-template-columns: 35% minmax(0, 1fr); gap: 12px; border-top: 1px solid var(--gray-5); padding: 12px 0; }
.cart .sidebar .box-save-for-later .box-inner .img { text-align: center; }
.cart .sidebar .box-save-for-later .box-inner .img img { margin-bottom: 0; max-width: 100%; height: auto; display: block; border-radius: var(--border-radius-1); }
.cart .sidebar .box-save-for-later .box-inner .title { font-size: 17px; font-weight: 700; margin: 0 0 8px 0; }
.cart .sidebar .box-save-for-later .box-inner .text {}
.cart .sidebar .box-save-for-later .box-inner .text a { color: var(--blue-4); text-decoration: none; }
.cart .sidebar .box-save-for-later .box-inner .text a:hover { color: var(--blue-4); text-decoration: underline; }
.cart .sidebar .box-save-for-later .box-inner .sub-title { font-size: 14px; font-weight: 600; line-height: 20px; }
.cart .sidebar .box-save-for-later .box-inner .sub-title a { color: var(--black-2); text-decoration: none; }
.cart .sidebar .box-save-for-later .box-inner .sub-title a:hover { color: var(--blue-4); text-decoration: underline; }
.cart .sidebar .box-save-for-later .box-inner .description { font-size: 12px; color: var(--black-5); }
.cart .sidebar .box-save-for-later .box-inner .price { font-size: 16px; font-weight: 700; color: var(--black-1); margin-top: 3px; }
.cart .sidebar .box-save-for-later .box-inner .was-price { font-size: 12px; color: var(--black-5); }
.cart .sidebar .box-save-for-later .box-inner .was-price span { text-decoration: line-through; }
.cart .sidebar .box-save-for-later .box-inner span.add-to-cart { color: var(--btn-text-color); cursor: pointer; display: inline-block; background-color: var(--btn-bg-color); padding: 5px 8px; border-radius: var(--border-radius-1); font-size: 12px; font-weight: 600; margin-top: 7px; }
.cart .sidebar .box-save-for-later .box-inner span.add-to-cart:hover { background-color: var(--btn-bg-hover-color); }
.cart .sidebar .box-save-for-later .box-inner span.delete { color: var(--white-1); cursor: pointer; display: inline-block; background-color: var(--gray-1); padding: 5px 8px; border-radius: var(--border-radius-1); font-size: 12px; font-weight: 600; margin-top: 7px; }
.cart .sidebar .box-save-for-later .box-inner span.delete:hover { background-color: var(--black-6); }
.cart .sidebar .box-save-for-later .box-inner .shipping-warehouses { background-color: var(--gray-7); padding: 8px 10px; border-radius: var(--border-radius-1); margin-top: 8px; }
.body-pending-ajax { margin: 0; height: 100%; overflow: hidden; z-index: 2000; }
.pending-ajax { background-color: color-mix(in srgb, var(--black-1) 68%, transparent); top: 0; right: 0; bottom: 0; left: 0; position: fixed; text-align: center; z-index: 2000; }
.pending-ajax-outer-container { display: table; width: 100%; height: 100%; }
.pending-ajax-inner-container { display: table-cell; color: var(--black-1); vertical-align: middle; }
.pending-ajax-inner-container span { background-color: var(--white-1); padding: 14px 22px; border-radius: 50px; font-size: 15px; font-weight: 600; }
.logged-in .logged-in-text { font-size: 15px; }
.logged-in select { font-size: 16px; padding: 8px 10px; height: 41px; min-height: 41px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-1); }
.logged-in-add-address { font-size: 13px; text-align: right; line-height: 18px; padding-top: 5px; }

/* Pages Checkout */
.checkout {}
.checkout .content { line-height: 1.5; font-size: 16px; color: var(--black-4); }
.checkout .content .top { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 10px; }
.checkout .content h1.title {}
.checkout-wrap {}
.checkout .section-title { font-size: 22px; line-height: 1.3; font-weight: 700; margin-bottom: 15px; color: var(--black-2); }
.checkout .left { width: 100%; }
.checkout .right { width: 100%; }
.checkout .checkout-as-guest { margin-bottom: 15px; }
.checkout .checkout-as-guest label { cursor: pointer; }
.checkout .checkout-as-guest label input[type="checkbox"] { cursor: pointer; margin: 0 6px 0 0; width: 16px; height: 16px; vertical-align: text-top; accent-color: var(--blue-4); padding: 10px 12px; font-size: 16px; border: 1px solid var(--gray-4); }

/* Shipping Information */
.checkout .shipping-information { border-radius: var(--border-radius-1); background-color: var(--gray-7); border: 1px solid var(--gray-5); padding: 18px; margin-bottom: 18px; line-height: 1.5; }
.checkout .shipping-information-wrap { --n: 2; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(250px, (100% - (var(--n) - 1) * 15px) / var(--n)), 1fr)); gap: 18px 15px; word-break: break-word; }
.checkout .shipping-information-wrap input { width: 100%; padding: 10px 12px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-4); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.checkout .shipping-information-wrap input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.checkout .shipping-information-wrap .ship-to-information span { display: block; margin-bottom: 4px; }
.checkout .shipping-information-wrap .ship-to-information span.edit-address-link { font-size: 13px; margin-top: 10px; }
.checkout .shipping-information-wrap .ship-to-information span a { color: var(--blue-4); font-size: 13px; text-decoration: none; }
.checkout .shipping-information-wrap .ship-to-information span a:hover { text-decoration: underline; }
.checkout .shipping-information-wrap .phone-number { display: flex; justify-content: space-between; gap: 10px; }
.checkout .shipping-information-wrap .phone-number .phone { flex: 1; min-width: 0; }
.checkout .shipping-information-wrap .phone-number .ext { width: 25%; min-width: 80px; }
.checkout .shipping-information .set-password { --n: 2; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(250px, (100% - (var(--n) - 1) * 15px) / var(--n)), 1fr)); gap: 12px 15px; }
.checkout .save-ship-to-address { padding-top: 5px; grid-column: 1 / -1; }
.checkout .save-ship-to-address label { cursor: pointer; }
.checkout .save-ship-to-address label input[type="checkbox"] { cursor: pointer; margin: 0 6px 0 0; width: 16px; height: 16px; vertical-align: text-top; accent-color: var(--blue-4); padding: 10px 12px; font-size: 16px; border: 1px solid var(--gray-4); }
.checkout .shipping-information .set-password span { display: block; margin-bottom: 5px; }
.checkout .shipping-information .set-password-message { padding: 14px; background-color: var(--white-1); margin-top: 15px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.checkout .shipping-information .set-password input { width: 100%; padding: 10px 12px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-4); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.checkout .shipping-information .set-password input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.checkout .shipping-information .set-password .password-requirements-wrap { grid-column: 1 / -1; background-color: var(--gray-6); padding: 12px 14px; border-radius: var(--border-radius-1); font-size: 14px; color: var(--black-5); }
.checkout .shipping-information .set-password .password-requirements { margin: 0; padding: 8px 8px 0 25px; }
.checkout .shipping-information .set-password .password-requirements li { padding-bottom: 3px; }
.checkout .shipping-information-as-billing { margin: 0 15px 18px 15px; }
.checkout .shipping-information-as-billing label { cursor: pointer; }
.checkout .shipping-information-as-billing label input[type="checkbox"] { cursor: pointer; margin: 0 6px 0 0; width: 16px; height: 16px; vertical-align: text-top; accent-color: var(--blue-4); padding: 10px 12px; font-size: 16px; border: 1px solid var(--gray-4); }
.checkout .no-payment-type-setup { margin: 15px 15px 0 15px; color: var(--red-1); background-color: var(--red-3); border: 1px solid var(--red-2); border-radius: var(--border-radius-1); padding: 10px 12px; font-weight: 600; }

/* Billing Information */
.checkout .billing-information { border-radius: var(--border-radius-1); background-color: var(--gray-7); border: 1px solid var(--gray-5); padding: 18px; margin-bottom: 18px; line-height: 1.5; }
.checkout .billing-information-wrap { --n: 2; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(250px, (100% - (var(--n) - 1) * 15px) / var(--n)), 1fr)); gap: 12px 15px; }
.checkout .billing-information-wrap .shipping-info-as-billing { grid-column: 1 / -1; margin-bottom: 4px; }
.checkout .billing-information-wrap .shipping-info-as-billing label { cursor: pointer; }
.checkout .billing-information-wrap .shipping-info-as-billing label input[type="checkbox"] { cursor: pointer; margin: 0 6px 0 0; width: 16px; height: 16px; vertical-align: text-top; accent-color: var(--blue-4); padding: 10px 12px; font-size: 16px; border: 1px solid var(--gray-4); }
.checkout .billing-information-wrap span { display: block; margin-bottom: 5px; }
.checkout .billing-information-wrap input { width: 100%; padding: 10px 12px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-4); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.checkout .billing-information-wrap input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.checkout .billing-information-wrap select { width: 100%; padding: 10px 12px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-4); font-size: 16px; background-color: var(--white-1); color: var(--black-1); height: 41px; min-height: 41px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.checkout .billing-information-wrap select:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.checkout .billing-information-wrap .field-as-text { border: 1px solid var(--gray-5); padding: 9px 10px; border-radius: var(--border-radius-1); background-color: var(--gray-6); color: var(--black-5); }
.checkout .billing-information-wrap .phone-number { display: flex; justify-content: space-between; gap: 10px; }
.checkout .billing-information-wrap .phone-number .phone { flex: 1; min-width: 0; }
.checkout .billing-information-wrap .phone-number .ext { width: 25%; min-width: 80px; }

/* Payment Type */
.checkout .payment-type { border-radius: var(--border-radius-1); background-color: var(--gray-7); border: 1px solid var(--gray-5); padding: 18px; margin-bottom: 18px; line-height: 1.5; }
.checkout .payment-type-wrap { --n: 3; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(250px, (100% - (var(--n) - 1) * 15px) / var(--n)), 1fr)); gap: 12px 15px; }
.checkout .payment-type-wrap .type-credit-card {}
.checkout .payment-type-wrap .type-paypal {}
.checkout .payment-type label { cursor: pointer; }
.checkout .payment-type-wrap label input[type="radio"] { cursor: pointer; margin: 0 6px 0 0; accent-color: var(--blue-4); padding: 8px 8px; font-size: 14px; border: 1px solid var(--gray-4); }

/* Credit Card */
.checkout .credit-card { border-radius: var(--border-radius-1); background-color: var(--gray-7); border: 1px solid var(--gray-5); padding: 18px; margin-bottom: 18px; line-height: 1.5; }
.checkout .credit-card-wrap {}
.checkout .credit-card-wrap a { display: inline-block; font-size: 13px; margin: 6px 0 0 2px; color: var(--blue-4); text-decoration: none; }
.checkout .credit-card-wrap a:hover { text-decoration: underline; }
.checkout .credit-card-wrap .saved-or-new-card { --n: 2; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(250px, (100% - (var(--n) - 1) * 15px) / var(--n)), 1fr)); gap: 12px 15px; padding-bottom: 18px; }
.checkout .credit-card-wrap .saved-or-new-card label { cursor: pointer; }
.checkout .credit-card-wrap .saved-or-new-card input[type="radio"] { width: auto; margin: 0 6px 0 0; accent-color: var(--blue-4); padding: 8px 8px; font-size: 14px; border: 1px solid var(--gray-4); }
.checkout .credit-card-wrap .saved-card { grid-column: 1 / -1; }
.checkout .credit-card-wrap .new-card { --n: 2; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(250px, (100% - (var(--n) - 1) * 15px) / var(--n)), 1fr)); gap: 12px 15px; }
.checkout .credit-card-wrap .new-card span { display: block; margin-bottom: 5px; }
.checkout .credit-card-wrap input { width: 100%; padding: 10px 12px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-4); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.checkout .credit-card-wrap input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.checkout .credit-card-wrap select { width: 100%; padding: 10px 12px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-4); font-size: 16px; background-color: var(--white-1); color: var(--black-1); height: 41px; min-height: 41px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.checkout .credit-card-wrap select:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.checkout .credit-card-wrap select.width-calc-50-7 { width: calc(50% - 7px); background-color: var(--white-1); color: var(--black-1); height: 41px; min-height: 41px; }
.checkout .credit-card-wrap select.width-calc-50-8 { width: calc(50% - 8px); background-color: var(--white-1); color: var(--black-1); height: 41px; min-height: 41px; }
.checkout .credit-card .save-card-in-account { margin-top: 15px; }
.checkout .credit-card .save-card-in-account label { cursor: pointer; }
.checkout .credit-card .save-card-in-account label input[type="checkbox"] { cursor: pointer; margin: 0 6px 0 0; width: 16px; height: 16px; vertical-align: text-top; accent-color: var(--blue-4); padding: 10px 12px; font-size: 16px; border: 1px solid var(--gray-4); }
.checkout .credit-card .save-card-in-account .recurring-payments { margin-top: 10px; color: var(--black-5); }

/* PayPal */
.checkout .paypal { border-radius: var(--border-radius-1); background-color: var(--gray-7); border: 1px solid var(--gray-5); margin-bottom: 18px; }
.checkout .paypal-wrap { padding: 18px; line-height: 1.5; }

/* Check by Mail */
.checkout .check-by-mail { border-radius: var(--border-radius-1); background-color: var(--gray-7); border: 1px solid var(--gray-5); margin-bottom: 18px; line-height: 1.5; }
.checkout .check-by-mail-wrap { padding: 18px; }

/* Checkout Sidebar */
.checkout .sidebar .box.sticky { position: sticky; top: 70px; margin-bottom: 20px; }
.checkout .sidebar .sidebar-totals { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.checkout .sidebar .sidebar-totals-wrap { font-size: 16px; width: 100%; }
.checkout .sidebar .sidebar-totals .subtotal { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0 10px; margin-bottom: 10px; }
.checkout .sidebar .sidebar-totals .shipping { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0 10px; margin-bottom: 10px; }
.checkout .sidebar .sidebar-totals .tax { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0 10px; margin-bottom: 10px; }
.checkout .sidebar .sidebar-totals .total { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0 10px; margin: 15px 0 10px 0; padding-top: 15px; border-top: 1px solid var(--gray-5); font-weight: 700; font-size: 20px; }
.checkout .sidebar .sidebar-totals .checkout-button { margin-top: 20px; display: block; text-align: right; }
.checkout .sidebar .sidebar-totals .checkout-button button { background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 11px 20px; font-size: 16px; font-weight: 700; border-radius: var(--border-radius-1); text-decoration: none; display: inline-block; white-space: nowrap; border: none; cursor: pointer; transition: background-color 0.2s ease; }
.checkout .sidebar .sidebar-totals .checkout-button button:hover { background-color: var(--btn-bg-hover-color); }

/* Pages Customer Login */
.customer-login-top-content { margin: 0; }
.customer-login-top-content h1.main-title { font-size: 34px; line-height: 1.2; font-weight: 700; color: var(--black-2); margin: 0 0 15px 0; padding: 0; }
.customer-login-top-content .main-top-content { line-height: 1.7; font-size: 17px; color: var(--black-3); margin: 10px 0 22px 0; }
.customer-login { display: flex; justify-content: center; gap: 24px; line-height: 1.5; font-size: 16px; }
.customer-login .fields-wrap { --n: 2; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(250px, (100% - (var(--n) - 1) * 20px) / var(--n)), 1fr)); gap: 0 20px; }
.customer-login .fields { margin-top: 12px; }
.customer-login .fields input { width: 100%; padding: 10px 12px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); margin-top: 6px; background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.customer-login .fields input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.customer-login .fields select { width: 100%; padding: 10px 12px; border: 1px solid var(--gray-4); background-color: var(--white-1); color: var(--black-3); border-radius: var(--border-radius-1); margin-top: 6px; font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.customer-login .fields select:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.customer-login .fields input[type=checkbox] { width: 18px; height: 18px; padding: 0; border: 1px solid var(--gray-4); border-radius: 4px; margin: 4px 6px 0 0; accent-color: var(--blue-4); cursor: pointer; }
.customer-login .button button { font-size: 15px; font-weight: 600; background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 10px 16px; border: none; margin-top: 18px; cursor: pointer; border-radius: var(--border-radius-1); transition: background-color 0.2s ease; }
.customer-login .button button:hover { background-color: var(--btn-bg-hover-color); }
.customer-login .top { margin-bottom: 12px; }
.customer-login h2.title { font-size: 24px; line-height: 1.3; font-weight: 700; color: var(--black-2); margin: 0; padding: 0; }
.customer-login .sub-text { font-size: 15px; margin-top: 6px; line-height: 1.6; color: var(--black-5); }
.customer-login .login { width: 50%; }
.customer-login .login-wrap { border-radius: var(--border-radius-1); background-color: var(--gray-7); border: 1px solid var(--gray-5); padding: 20px 24px 24px 24px; }
.customer-login .login-wrap .password-requirement-headline { font-weight: 700; color: var(--black-3); }
.customer-login .login-wrap .password-requirements { margin: 0; padding: 8px 25px 0 25px; color: var(--black-5); font-size: 14px; }
.customer-login .login-wrap .password-requirements li { padding-bottom: 3px; }
.customer-login .recovery-wrap { border-radius: var(--border-radius-1); background-color: var(--gray-7); border: 1px solid var(--gray-5); padding: 20px 24px 24px 24px; margin-top: 20px; }
.customer-login .create-account { width: 50%; }
.customer-login .create-account-wrap { border-radius: var(--border-radius-1); background-color: var(--gray-7); border: 1px solid var(--gray-5); padding: 20px 24px 24px 24px; }
.customer-login .create-account-wrap .fields.phone-number { display: flex; justify-content: space-between; gap: 10px; }
.customer-login .create-account-wrap .fields .phone { flex: 1; min-width: 0; }
.customer-login .create-account-wrap .fields .ext { width: 25%; min-width: 80px; }
.customer-login .create-account-wrap .password-requirements-wrap { grid-column: 1 / -1; background-color: var(--gray-6); padding: 12px 14px; border-radius: var(--border-radius-1); font-size: 14px; color: var(--black-5); }
.customer-login .create-account-wrap .password-requirements { margin: 0; padding: 8px 8px 0 25px; }
.customer-login .create-account-wrap .password-requirements li { padding-bottom: 3px; }

/* Pages Customer Account */
.customer-area-h1 { float: left; }
.customer-area-button { float: right; }
.customer-area-button a { display: block; background-color: var(--btn-bg-color); color: var(--btn-text-color); border-radius: var(--border-radius-1); padding: 9px 14px; font-size: 15px; font-weight: 600; text-decoration: none; transition: background-color 0.2s ease; }
.customer-area-button a:hover { background-color: var(--btn-bg-hover-color); text-decoration: none; cursor: pointer; }
.customer-area { display: flex; justify-content: center; gap: 24px; line-height: 1.5; font-size: 16px; }
.customer-area-menu { width: 250px; background-color: var(--gray-7); border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.customer-area-menu ul { padding: 0; margin: 0; position: sticky; top: 70px; }
.customer-area-menu ul li { padding: 0; margin: 0; list-style-type: none; border-bottom: 1px solid var(--gray-5); }
.customer-area-menu ul li:last-child { border-bottom: none; }
.customer-area-menu ul li a { background-color: var(--gray-7); color: var(--black-3); padding: 10px 14px; display: block; border-bottom: 1px solid var(--gray-5); text-decoration: none; transition: background-color 0.2s ease, color 0.2s ease; }
.customer-area-menu ul li:first-child a { border-top-left-radius: var(--border-radius-1); border-top-right-radius: var(--border-radius-1); }
.customer-area-menu ul li:last-child a { border-bottom: none; border-bottom-left-radius: var(--border-radius-1); border-bottom-right-radius: var(--border-radius-1); }
.customer-area-menu ul li a:hover { background-color: var(--gray-6); color: var(--black-1); text-decoration: none; }
.customer-area-menu ul li a.active { background-color: var(--gray-6); color: var(--black-1); font-weight: 700; }
.customer-area-data { width: calc(100% - 274px); }
.customer-area-data .headline-sub-text { font-size: 16px; line-height: 1.6; color: var(--black-5); margin-bottom: 18px; }
.customer-area-data h2 { margin: 0; padding: 0; color: var(--black-2); }
.customer-area-data h3 { margin: 0; padding: 0; color: var(--black-2); }
.customer-area-data-overflow { overflow-x: auto; }
.customer-area-data-none { text-align: center; color: var(--gray-1); padding: 20px; }
.customer-area-data-table { display: table; width: 100%; border-collapse: collapse; }
ul.customer-area-data-row { display: table-row; list-style: none; margin: 0; padding: 0; }
ul.customer-area-data-row:hover { background-color: var(--gray-7); }
ul.customer-area-data-row.desktop-header { background-color: var(--gray-6); font-weight: 700; color: var(--black-2); }
li.customer-area-data-cell { display: table-cell; padding: 10px 12px; border-bottom: 1px solid var(--gray-5); vertical-align: middle; white-space: nowrap; }
li.customer-area-data-cell form { display: inline; }
li.customer-area-data-cell select { padding: 7px 9px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); font-size: 15px; }
li.customer-area-data-cell button.button { background-color: var(--btn-bg-color); color: var(--btn-text-color); border-radius: var(--border-radius-1); padding: 7px 10px; border: none; font-size: 14px; font-weight: 600; cursor: pointer; transition: background-color 0.2s ease; }
li.customer-area-data-cell button.button:hover { background-color: var(--btn-bg-hover-color); }
li.customer-area-data-cell button.link { color: var(--blue-4); text-decoration: none; background-color: transparent; padding: 0; font-size: 15px; border: none; cursor: pointer; }
li.customer-area-data-cell button.link:hover { text-decoration: underline; }
.customer-area-data-mobile-label { display: none; }
.customer-area-data-add-address { padding: 18px; background-color: var(--gray-7); border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); margin-bottom: 20px; }
.customer-area-data-add-address .submit-button { text-align: right; margin-top: 18px; }
.customer-area-data-add-address .submit-button button { background-color: var(--btn-bg-color); border-radius: var(--border-radius-1); padding: 10px 16px; color: var(--btn-text-color); cursor: pointer; font-size: 15px; font-weight: 600; border: none; transition: background-color 0.2s ease; }
.customer-area-data-add-address .submit-button button:hover { background-color: var(--btn-bg-hover-color); }
.customer-area-data-add { --n: 2; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(250px, (100% - (var(--n) - 1) * 15px) / var(--n)), 1fr)); gap: 12px 15px; }
.customer-area-data-add input { width: 100%; padding: 10px 12px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-4); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.customer-area-data-add input:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.customer-area-data-add select { width: 100%; padding: 10px 12px; font-size: 16px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-4); background-color: var(--white-1); color: var(--black-1); height: 41px; min-height: 41px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.customer-area-data-add select:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.customer-area-data-add select.width-calc-50-7 { width: calc(50% - 7px); background-color: var(--white-1); color: var(--black-1); height: 41px; min-height: 41px; }
.customer-area-data-add select.width-calc-50-8 { width: calc(50% - 8px); background-color: var(--white-1); color: var(--black-1); height: 41px; min-height: 41px; }
.customer-area-data-add textarea { width: 100%; min-height: 120px; padding: 10px 12px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-4); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; resize: vertical; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.customer-area-data-add textarea:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.customer-area-data-add .padding { padding-bottom: 5px; }
.customer-area-data-add .phone-number { display: flex; justify-content: space-between; gap: 10px; }
.customer-area-data-add .phone-number .phone { flex: 1; min-width: 0; }
.customer-area-data-add .phone-number .ext { width: 25%; min-width: 80px; }
.customer-area-success { text-align: center; margin-bottom: 20px; color: var(--green-1); background-color: var(--green-2); border: 1px solid var(--green-1); border-radius: var(--border-radius-1); line-height: 1.5; padding: 10px 14px; font-weight: 600; }
.customer-area-data .search { display: flex; gap: 8px; align-items: flex-end; }
.customer-area-data .search .date-range { width: 100%; }
.customer-area-data .search .date-range input[type=text] { width: 100%; font-weight: 600; margin-top: 5px; padding: 10px 12px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); outline: none; }
.customer-area-data .search .date-range input[type=text]:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.customer-area-data .search button { cursor: pointer; background-color: var(--btn-bg-color); border-radius: var(--border-radius-1); color: var(--btn-text-color); border: none; padding: 10px 14px; font-size: 15px; font-weight: 600; transition: background-color 0.2s ease; }
.customer-area-data .search button:hover { background-color: var(--btn-bg-hover-color); }
.customer-area-data .text-like-field { padding: 10px 12px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-5); font-size: 16px; background-color: var(--gray-6); color: var(--black-5); }

/* Customer Account Control Warning */
.customer-account-control { text-align: center; background-color: var(--red-1); color: var(--white-1); padding: 8px 12px; font-size: 14px; font-weight: 500; position: sticky; top: 47px; z-index: 50; }
.customer-account-control span { font-weight: 700; }
.customer-account-control button { display: inline-block; background-color: var(--yellow-1); color: var(--black-1); border: 1px solid var(--yellow-1); padding: 6px 10px; cursor: pointer; border-radius: var(--border-radius-1); position: sticky; top: 0; font-size: 13px; font-weight: 700; }

/* Bottom Content */
.bottom-content { padding: 22px 15px 55px 15px; line-height: 1.7; font-size: 17px; color: var(--black-3); }
.bottom-content-wrap {}
.bottom-content a { color: var(--blue-4); text-decoration: none; }
.bottom-content a:hover { text-decoration: underline; }
.bottom-content img { max-width: 100%; height: auto; border-radius: var(--border-radius-1); }

/* Table of Contents */
.product-selection .table-of-contents { padding-top: 22px; }
.table-of-contents ul { line-height: 1.5; margin: 0 0 22px 0; padding: 14px 16px; }
.table-of-contents li { list-style-type: none; margin-top: 7px; }
.table-of-contents li:first-child { margin-top: 0; }
.table-of-contents li a { color: var(--blue-4); text-decoration: none; font-weight: 500; }
.table-of-contents li a:hover { text-decoration: underline; }

/* Forms */
.dynamic_form_validation { color: var(--red-1); font-weight: 600; }

/* Form on Product Page When No Inventory Assigned or Enabled */
.form-1 { border-radius: var(--border-radius-1); margin: 1px; background-color: var(--gray-7); border: 1px solid var(--gray-5); padding: 22px; }
.form-1 .title { margin: 0 0 18px 0; padding: 0; font-size: 24px; line-height: 1.3; font-weight: 700; color: var(--black-2); }
.form-1 ul { margin: 5px 0; padding: 0; --n: 2; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(250px, (100% - (var(--n) - 1) * 20px) / var(--n)), 1fr)); gap: 20px; }
.form-1 li { margin: 0; padding: 0; list-style: none; }
.form-1 li .text { margin-bottom: 6px; font-size: 15px; font-weight: 600; color: var(--black-3); }
.form-1 li input[type=text] { width: 100%; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); padding: 10px 12px; font-size: 16px; background-color: var(--white-1); color: var(--black-3); outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.form-1 li input[type=text]:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.form-1 li input[type=checkbox] { accent-color: var(--blue-4); cursor: pointer; }
.form-1 li input[type=radio] { accent-color: var(--blue-4); cursor: pointer; }
.form-1 li label { width: 100%; display: block; margin: 4px 0; cursor: pointer; }
.form-1 li select { width: 100%; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); padding: 10px 12px; font-size: 16px; background-color: var(--white-1); color: var(--black-3); outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.form-1 li select:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.form-1 li .form-field-selected { border: 2px solid var(--black-2); border-radius: var(--border-radius-1); padding: 2px; }
.form-1 li.textarea-full-width { grid-column: 1 / -1; }
.form-1 li textarea { width: 100%; min-height: 120px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); padding: 10px 12px; background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; resize: vertical; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.form-1 li textarea:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.form-1 li .swatch-wrapper { display: inline-block; margin: 0 10px 10px 0; text-align: center; vertical-align: top; }
.form-1 li .swatch-size { width: 60px; height: 60px; padding: 3px; background-color: var(--white-1); border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.form-1 li .color-border { width: 100%; height: 100%; margin: 0; border-radius: calc(var(--border-radius-1) - 2px); overflow: hidden; }
.form-1 li .color-border img { width: 100%; height: auto; display: block; }
.form-1 li .swatch-text { font-size: 13px; line-height: 1.4; color: var(--black-5); margin-top: 4px; }
.form-1 li.swatch-full-width { grid-column: 1 / -1; }
.form-1 .button button { background-color: var(--btn-bg-color); color: var(--btn-text-color); border: none; border-radius: var(--border-radius-1); padding: 10px 18px; font-size: 16px; font-weight: 700; cursor: pointer; margin: 18px 0; transition: background-color 0.2s ease; }
.form-1 .button button:hover { background-color: var(--btn-bg-hover-color); }
.form-1 .note { font-size: 13px; margin-top: 15px; color: var(--black-5); line-height: 1.5; }
.form-1 .call-text-for-quote { margin-top: 15px; font-weight: 600; color: var(--black-3); }
.form-1 .call-text-for-quote a { color: var(--blue-3); text-decoration: none; cursor: text; }
.form-1 .in-form-thank-you { text-align: center; background-color: var(--green-2); color: var(--green-1); border: 1px solid var(--green-1); border-radius: var(--border-radius-1); font-size: 15px; font-weight: 600; margin-bottom: 20px; padding: 10px 12px; }
.form-1 .in-form-thank-you-failed { text-align: center; background-color: var(--red-3); color: var(--red-1); border: 1px solid var(--red-2); border-radius: var(--border-radius-1); font-size: 15px; font-weight: 600; margin-bottom: 20px; padding: 10px 12px; }

/* Form on Contact Us Page */
.form-2 { line-height: 1.5; }
.form-2 .title { font-size: 28px; line-height: 1.3; margin: 0 0 12px 0; padding: 0; font-weight: 700; color: var(--black-2); }
.form-2 ul { margin: 5px 0; padding: 0; --n: 2; display: grid; grid-template-columns: repeat(auto-fill, minmax(max(250px, (100% - (var(--n) - 1) * 20px) / var(--n)), 1fr)); gap: 20px; }
.form-2 li { margin: 0; padding: 0; list-style: none; }
.form-2 li .text { margin-bottom: 6px; font-size: 15px; font-weight: 600; color: var(--black-3); }
.form-2 li input[type=text] { width: 100%; padding: 10px 12px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.form-2 li input[type=text]:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.form-2 li input[type=checkbox] { accent-color: var(--blue-4); cursor: pointer; }
.form-2 li input[type=radio] { accent-color: var(--blue-4); cursor: pointer; }
.form-2 li label { width: 100%; display: block; cursor: pointer; }
.form-2 li select { width: 100%; padding: 10px 12px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.form-2 li select:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }

.form-2 li.textarea-full-width { grid-column: 1 / -1; }
.form-2 li textarea { width: 100%; min-height: 120px; border: 1px solid var(--gray-4); border-radius: var(--border-radius-1); padding: 10px 12px; background-color: var(--white-1); color: var(--black-3); font-size: 16px; outline: none; resize: vertical; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.form-2 li textarea:focus { border-color: var(--blue-4); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.form-2 li .swatch-wrapper { display: inline-block; margin: 0 10px 10px 0; text-align: center; vertical-align: top; }
.form-2 li .swatch-size { width: 60px; height: 60px; padding: 3px; background-color: var(--white-1); border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.form-2 li .form-field-selected { border: 2px solid var(--black-2); border-radius: var(--border-radius-1); padding: 2px; }
.form-2 li .color-border { width: 100%; height: 100%; margin: 0; border-radius: calc(var(--border-radius-1) - 2px); overflow: hidden; }
.form-2 li .color-border img { width: 100%; height: auto; display: block; }
.form-2 li .swatch-text { font-size: 13px; line-height: 1.4; color: var(--black-5); margin-top: 4px; }
.form-2 li.swatch-full-width { grid-column: 1 / -1; }
.form-2 .button { margin-top: 18px; }
.form-2 .button button { background-color: var(--btn-bg-color); color: var(--btn-text-color); padding: 10px 16px; border: none; font-size: 15px; font-weight: 700; border-radius: var(--border-radius-1); cursor: pointer; transition: background-color 0.2s ease; }
.form-2 .button button:hover { background-color: var(--btn-bg-hover-color); }
.form-2 .note { font-size: 13px; margin-top: 15px; color: var(--black-5); line-height: 1.5; }
.form-2 .call-text-for-quote { margin-top: 15px; font-weight: 600; color: var(--black-3); }
.form-2 .call-text-for-quote a { color: var(--blue-4); text-decoration: none; cursor: text; }
.form-2 .in-form-thank-you { text-align: center; background-color: var(--green-2); color: var(--green-1); border: 1px solid var(--green-1); border-radius: var(--border-radius-1); font-size: 15px; font-weight: 600; margin-bottom: 20px; padding: 10px 12px; }
.form-2 .in-form-thank-you-failed { text-align: center; background-color: var(--red-3); color: var(--red-1); border: 1px solid var(--red-2); border-radius: var(--border-radius-1); font-size: 15px; font-weight: 600; margin-bottom: 20px; padding: 10px 12px; }

/* Start Video Embed */
.video-embed { position: relative; aspect-ratio: 16 / 9; border-radius: var(--border-radius-1); overflow: hidden; }
.video-embed iframe { width: 100%; height: 100%; display: block; border: 0; }

/* Author Information*/
.author-info-wrapper { padding: 0 15px; }
.author-info { margin-bottom: 18px; }
.author-info .author-photo { border-radius: 50%; height: 48px; width: 48px; border: 1px solid var(--gray-4); display: inline-block; padding: 2px; margin-right: 10px; vertical-align: top; background-color: var(--white-1); }
.author-info .author-photo img { border-radius: 50%; height: 42px; width: 42px; display: block; object-fit: cover; }
.author-info .author-name { display: inline-block; vertical-align: top; padding: 6px 30px 10px 0; font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--black-2); }
.author-info .author-title { display: block; font-size: 12px; font-weight: 500; color: var(--gray-1); margin-top: 2px; }
.author-info .post-date { display: inline-block; vertical-align: top; padding: 6px 30px 10px 0; font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--black-2); }
.author-info .post-date-title { display: block; font-size: 12px; font-weight: 500; color: var(--gray-1); margin-top: 2px; }
.author-info .posted-category-title { display: block; font-size: 12px; font-weight: 500; color: var(--gray-1); margin-top: 2px; }
.author-info .posted-category { display: inline-block; vertical-align: top; padding: 6px 0 10px 0; font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--black-2); }
.author-info .posted-category a { color: var(--black-2); text-decoration: none; }
.author-info .posted-category a:hover { color: var(--blue-4); text-decoration: underline; }
.short-bio-wrapper.padding-sides { padding-left: 15px; padding-right: 15px; }
.short-bio-wrapper.padding-top { padding-top: 50px; }
.short-bio-wrapper.padding-bottom { padding-bottom: 50px; }
.short-bio { display: flex; gap: 20px; background-color: var(--gray-7); padding: 18px; font-size: 15px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-5); line-height: 1.6; color: var(--black-4); }
.short-bio a { color: var(--blue-4); text-decoration: none; }
.short-bio a:hover { text-decoration: underline; }
.short-bio .photo { width: 120px; min-width: 120px; }
.short-bio .intro { font-weight: 700; font-size: 14px; color: var(--gray-1); }
.short-bio .author-name { padding: 0; background-color: transparent; font-weight: 700; font-size: 19px; color: var(--black-2); margin-bottom: 4px; }
.author-page .bio-image { float: left; max-width: 250px; width: 100%; margin: 8px 18px 15px 0; }
.author-page .bio-image img { display: block; width: 100%; height: auto; border-radius: var(--border-radius-1); }
.author-page::after { content: ""; display: table; clear: both; }

/* Cookie Banner Notice */
.cookies-banner { position: fixed; width: 100%; bottom: 0; margin: 0; padding: 16px 15px; background-color: var(--cookies-banner-bg-color); border-top: 1px solid var(--cookies-banner-border-color); color: var(--cookies-banner-text-color); text-align: center; z-index: 200; }
.cookies-banner .cookies-banner-wrapper { position: relative; max-width: var(--container-width); margin: 0 auto; }
.cookies-banner .cookies-banner-wrapper a { color: var(--cookies-banner-links-color); text-decoration: underline; text-underline-offset: 2px; }
.cookies-banner .cookies-banner-wrapper a:hover { color: var(--cookies-banner-links-hover-color); }
.cookies-banner .cookies-banner-wrapper .text { font-size: 14px; line-height: 1.5; color: var(--cookies-banner-text-color); }
.cookies-banner .cookies-banner-wrapper .button { margin-top: 12px; }
.cookies-banner .cookies-banner-wrapper .button button { background-color: var(--btn-bg-color); border: none; border-radius: var(--border-radius-1); padding: 9px 16px; color: var(--btn-text-color); font-weight: 700; font-size: 14px; margin: 0 5px; cursor: pointer; transition: background-color 0.2s ease; }
.cookies-banner .cookies-banner-wrapper .button button a { color: var(--white-1); text-decoration: none; }
.cookies-banner .cookies-banner-wrapper .button button:hover { background-color: var(--btn-bg-hover-color); }

/* Pages Customer Order Details Page */
.order-details .order-details-status-headline { margin-bottom: 8px; }
.order-details .order-details-status-headline span { font-weight: 700; color: var(--black-2); }
.order-details .order-details-status-message { margin-bottom: 22px; line-height: 1.6; color: var(--black-5); }
.order-details .order-details-info { display: flex; gap: 20px; }
.order-details .order-details-ship-to { width: 100%; padding: 18px; background: var(--gray-7); border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); margin-bottom: 20px; }
.order-details .order-details-ship-to-headline { font-size: 18px; line-height: 1.3; font-weight: 700; margin-bottom: 10px; color: var(--black-2); }
.order-details .order-details-ship-to ul { padding: 0; margin: 0; list-style: none; }
.order-details .order-details-ship-to ul li { padding: 0 0 5px 0; color: var(--black-4); }
.order-details .order-details-shipment { width: 100%; margin-bottom: 22px; }
.order-details .order-details-shipment ul { display: flex; justify-content: space-between; padding: 0; margin: 0; list-style: none; }
.order-details .order-details-shipment ul li.header { background-color: var(--gray-6); color: var(--black-2); font-weight: 700; }
.order-details .order-details-shipment ul li { padding: 10px 12px; border-bottom: 1px solid var(--gray-5); width: 100%; }
.order-details .order-details-shipment ul li a { word-break: break-word; }
.order-details .order-details-order-info { width: 100%; padding: 18px; background: var(--gray-7); border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); margin-bottom: 20px; }
.order-details .order-details-order-info-headline { font-size: 18px; line-height: 1.3; font-weight: 700; margin-bottom: 10px; color: var(--black-2); }
.order-details .order-details-order-info ul { padding: 0; margin: 0; list-style: none; }
.order-details .order-details-order-info ul li { padding: 0 0 10px 0; color: var(--black-4); }
.order-details .order-details-order-info ul li p { margin: 0; padding: 0 0 10px 0; }
.order-details .order-details-product-headline { font-size: 18px; line-height: 1.3; font-weight: 700; margin-bottom: 10px; color: var(--black-2); }
.order-details .order-details-product-wrapper { display: flex; gap: 20px; margin-bottom: 22px; padding-bottom: 22px; border-bottom: 1px solid var(--gray-5); }
.order-details .order-details-product-media { width: 100%; max-width: 250px; height: auto; }
.order-details .order-details-product-data { width: 100%; min-width: 0; }
.order-details .order-details-product-sub-headline { font-size: 18px; line-height: 1.3; margin-bottom: 8px; }
.order-details .order-details-product-sub-headline a { text-decoration: none; font-weight: 700; color: var(--black-2); }
.order-details .order-details-product-sub-headline a:hover { color: var(--blue-4); text-decoration: underline; }
.order-details .order-details-product ul { margin: 0; padding: 0 0 15px 25px; }
.order-details .order-details-product ul li { padding: 2px 0; color: var(--black-4); }
.order-details .order-details-product-totals { display: table; width: 100%; border-collapse: collapse; }
.order-details .order-details-product-totals ul { display: table-row; margin: 0; padding: 0; }
.order-details .order-details-product-totals ul.header { background-color: var(--gray-6); color: var(--black-2); font-weight: 700; }
.order-details .order-details-product-totals ul li { display: table-cell; padding: 10px 12px; vertical-align: bottom; border-bottom: 1px solid var(--gray-5); }
.order-details .order-details-total-headline { font-size: 18px; line-height: 1.3; font-weight: 700; margin-bottom: 10px; color: var(--black-2); }
.order-details .order-details-border-botttm-first { font-size: 14px; font-weight: 700; padding: 7px 10px; border-bottom: 1px solid var(--gray-5); color: var(--black-3); }
.order-details .order-details-border-botttm { border-bottom: 1px solid var(--gray-5); }
.order-details .not-shippable { color: var(--gray-2); }
.order-details .order-details-total { display: table; width: 100%; table-layout: fixed; border-collapse: collapse; }
.order-details .order-details-total ul { padding: 0; margin: 0; list-style: none; display: table-row; }
.order-details .order-details-total ul.grand-total { font-weight: 700; font-size: 18px; color: var(--black-2); }
.order-details .order-details-total ul li { display: table-cell; padding: 12px 0; border-bottom: 1px solid var(--gray-5); }

/* Inline Style */
.background-color-font { background-color: var(--white-1); color: var(--red-1); font-weight: 400; }
.border-radius-padding-background-cursor { background-color: var(--btn-bg-color); color: var(--btn-text-color); border: none; border-radius: var(--border-radius-1); padding: 8px 15px; cursor: pointer; transition: background-color 0.2s ease; }
.border-radius-padding-background-cursor:hover { background-color: var(--btn-bg-hover-color); }
.border-top-10px-solid-e6e6e6 { border-top: 10px solid var(--gray-6); }
.border-top-2px-solid-e6e6e6 { border-top: 2px solid var(--gray-6); }
.clear-both { clear: both; }
.color-e50606 { color: var(--red-1); }
.color-f00 { color: var(--red-1); }
.color-f00-font-weight { color: var(--red-1); font-weight: 400; }
.color-ff0505 { color: var(--red-1); }
.color-margin-background-padding-shadow-border { color: var(--white-1); margin: 0 0 20px 0; background-color: var(--blue-5); padding: 12px 15px; box-shadow: 0 2px 8px rgb(0 0 0 / 12%); border-radius: var(--border-radius-1); border: 1px solid var(--blue-4); }
.color-margin-background-padding-shadow-border-line-height { color: var(--white-1); margin: 0 0 20px 0; background-color: var(--blue-5); padding: 12px 15px; box-shadow: 0 2px 8px rgb(0 0 0 / 12%); border-radius: var(--border-radius-1); border: 1px solid var(--blue-4); line-height: 1.5; }
.color-text-align-margin-bottom { color: var(--red-1); text-align: center; margin-bottom: 10px; }
.color-text-cursor-border-background-margin { color: var(--blue-4); text-decoration: none; cursor: pointer; border: none; background-color: transparent; margin: 0; padding: 0; }
.color-text-cursor-border-background-margin:hover { text-decoration: underline; }
.color-text-margin { color: var(--green-1); text-align: center; margin-bottom: 10px; }
.display-block { display: block; }
.display-block-font-size { display: block; font-size: 14px; }
.display-color-font-size { display: block; color: var(--black-1); font-size: 12px; }
.display-grid-background-padding-margin-border { display: none; grid-column: 1 / -1; background-color: var(--white-1); padding: 8px 12px; margin-top: 10px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.display-grid-column-background-padding-margin-border { display: none; grid-column: 1 / -1; background-color: var(--white-1); padding: 8px 12px; margin-top: 10px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); }
.display-inline { display: inline; }
.display-none { display: none; }
.font-color-margin-font { font-size: 13px; color: var(--red-1); margin-top: 5px; font-weight: 700; }
.font-size-12px { font-size: 12px; }
.font-size-12px-margin-bottom-10 { font-size: 12px; margin-bottom: 10px; }
.font-size-13px { font-size: 13px; }
.font-size-13px-margin-bottom-10 { font-size: 13px; margin-bottom: 10px; }
.font-size-color-margin-top { font-size: 16px; color: var(--gray-1); margin-top: 10px; }
.grid-column-font-weight-border-padding { grid-column: 1 / -1; font-size: 20px; font-weight: 700; border-bottom: 1px solid var(--gray-5); padding-bottom: 10px; color: var(--black-2); }
.grid-column-span-2 { grid-column: 1 / -1; }
.height-300px { height: 300px; }
.margin-font-line-height { margin-top: 10px; font-size: 13px; line-height: 1.4; }
.margin-font-size-color { margin-bottom: 25px; font-size: 18px; color: var(--green-1); }
.max-width-height-display { max-width: 100%; height: auto; display: block; }
.object-fit-scale-down { object-fit: scale-down; }
.padding-0px { padding: 0; }
.padding-10px { padding: 10px; }
.padding-bottom-20px { padding-bottom: 20px; }
.padding-float-right-width-calc { padding: 6px 0 0 5px; float: right; width: calc(100% - 25px); }
.padding-text-align-background-margin { padding: 10px 15px; text-align: center; background-color: var(--yellow-2); margin-bottom: 10px; border-radius: var(--border-radius-1); }
.position-absolute-display-none { position: absolute; display: none; }
.position-absolute-height-width-display { position: absolute; height: 100%; width: 100%; display: block; }
.position-relative { position: relative; }
.text-align-center { text-align: center; }
.text-align-padding { text-align: center; padding: 50px 10px; }
.text-align-padding-color-font { text-align: center; padding-bottom: 10px; color: var(--red-1); font-weight: 600; }
.text-align-right { text-align: right; }
.text-decoration-line-through { text-decoration: line-through; display: block; }
.under-maintenance { text-align: center; font-size: 24px; line-height: 1.4; margin-top: 50px; color: var(--black-2); }
.width-0 { width: 0%; }
.width-100 { width: 100%; }
.width-height-float-cursor { width: 18px; height: 18px; float: left; cursor: pointer; }
.width-padding-radius-border-margin { width: 100%; padding: 8px; border-radius: var(--border-radius-1); border: 1px solid var(--gray-4); margin-bottom: 10px; background-color: var(--white-1); color: var(--black-2); }

@media (max-width: 1300px) {
/* Start Footer */
.footer .contact { width: 100%; }

/* Start Product Page Top Offer */
.product-price .display-save-yes { display: block !important; }

/* Pages Cart */
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items { display: block; }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-right { background-color: var(--gray-7); padding: 15px; border-top: 1px solid var(--gray-5); border-left: none; border-bottom-left-radius: var(--border-radius-1); border-bottom-right-radius: var(--border-radius-1); }
}

@media (max-width: 1200px) {
/* Pages Customer Account */
.customer-area { display: block; }
.customer-area-menu { width: 100%; margin-bottom: 24px; }
.customer-area-menu ul { position: relative; top: auto; }
.customer-area-data { width: 100%; }
.customer-area-data-table { display: block; }
ul.customer-area-data-row { display: block; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); padding: 14px 16px; margin-bottom: 12px; background-color: var(--white-1); }
ul.customer-area-data-row:hover { background-color: var(--gray-7); }
ul.customer-area-data-row.desktop-header { display: none; }
li.customer-area-data-cell { display: block; border-bottom: none; padding: 6px 0; white-space: normal; }
.customer-area-data-mobile-label { display: inline; font-weight: 700; color: var(--black-2); }
.customer-area-data-add-address { margin-top: 20px; }
.customer-area-data-add-cards { margin-top: 20px; }
}

@media (min-width: 1025px) {
/* Start Header*/
.menu { display: flex !important; gap: 20px; align-items: center; }
.menu > ul > li > ul { display: none !important; }
.menu > ul > li:hover > ul { display: block !important; }
.menu > ul ul ul { display: none !important; }
.menu > ul ul li:hover > ul { display: block !important; }

/* Start 2 Column Store Category Layout with Filters & Results*/
.store .filters .filters-results-wrap { display: block !important; }
}

@media (max-width: 1024px) {
/* Start Header*/
.header { background-color: var(--header-bg-color); }
.menu { flex-basis: 100%; display: none; max-height: calc(100dvh - 60px); overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; -ms-overflow-style: none; }
.menu::-webkit-scrollbar { display: none; }
.menu > ul { width: 100%; margin-top: 10px; }
.menu li { display: block; }
.menu a { display: block; padding: 11px 12px 11px 0; border-bottom: 1px solid var(--header-nav-links-mobile-border-color); }
.menu a:hover { background-color: var(--header-nav-links-bg-hover-color); padding-left: 12px; transition: background-color 0.2s ease, padding-left 0.2s ease; }
.menu ul ul { display: none; position: static; border: none; margin-left: 0; padding: 0; background-color: transparent; box-shadow: none; border-radius: 0; min-width: 0; }
.menu > ul > li > ul { margin-left: 0; }
.menu ul li:hover > ul { display: none; }
.menu ul li ul li { border: none; overflow: hidden; }
.menu ul ul ul { margin-top: 0; }
.menu li li a { background-color: var(--black-3); color: var(--white-1); padding: 10px 12px 10px 20px; margin-left: 0; border-bottom: 1px solid var(--black-4); border-radius: 0; width: 100%; }
.menu li li a:hover { background-color: var(--black-4); padding-left: 24px; transition: background-color 0.2s ease, padding-left 0.2s ease; }
.menu li li a.active { background-color: var(--black-4); padding-left: 24px; font-weight: 700; }
.mobile-menu { display: flex; gap: 12px; font-size: 15px; align-items: center; }
.mobile-menu a { text-decoration: none; padding: 8px 0 8px 12px; display: inline-block; margin-top: 1px; }
.menu ul.main-menu > li.customer-account > a { font-size: 15px; }
.menu ul.main-menu > li.customer-account > a > span.my-account { font-weight: 400; }
.menu ul.main-menu > li.customer-account > a > span.block { display: none; }
.mobile-menu .mobile-bars { position: relative; display: inline-block; width: 25px; height: 25px; cursor: pointer; }
.mobile-menu .mobile-bars svg { display: block; width: 25px; height: 25px; transition: opacity 0.2s ease; }
.mobile-menu .mobile-bars svg path { fill: var(--white-1); }
.mobile-menu .mobile-bars.open svg { opacity: 0; }
.mobile-menu .mobile-bars.open::before, .mobile-menu .mobile-bars.open::after { content: ""; position: absolute; top: 50%; left: 0; width: 29px; height: 3px; background-color: var(--white-1); transform-origin: center; }
.mobile-menu .mobile-bars.open::before { transform: translateY(-50%) rotate(45deg); }
.mobile-menu .mobile-bars.open::after { transform: translateY(-50%) rotate(-45deg); }
.menu .search-button-toggle { display: none; }
.mobile-menu .search-button-toggle { background-color: var(--header-search-btn-bg-color); border: 1px solid var(--header-search-btn-border-color); border-radius: var(--border-radius-1); cursor: pointer; width: 30px; height: 30px; padding: 6px; transition: background-color 0.2s ease, border-color 0.2s ease; }
.mobile-menu .search-button-toggle:hover { background-color: var(--header-search-btn-bg-hover-color); border-color: var(--header-search-btn-border-hover-color); }
.mobile-menu .search-button-toggle svg { width: auto; display: block; }
.mobile-menu .search-button-toggle path { fill: var(--header-search-btn-text-color); }
.mobile-menu .mobile-cart { float: right; }
.menu > ul > li:first-child { border-top: 1px solid var(--header-nav-links-mobile-border-color); }
.menu > ul li:last-child > a { border-bottom: none; }
.menu .cart-button { display: none; }
.mobile-menu .cart-button a { background-color: var(--header-cart-btn-bg-color); border-radius: var(--border-radius-1); padding: 6px 9px; color: var(--header-cart-btn-text-color); font-weight: 700; text-decoration: none; }
.mobile-menu .cart-button a:hover { background-color: var(--header-cart-btn-bg-hover-color); }
.menu ul.main-menu > li:not(.cart-button) > a:after { height: 0; margin-top: 0; display: block; }
.menu ul.main-menu > li:not(.cart-button) > a:hover:after { width: 0%; }
.menu .desktop-sub-menu-arrow { display: none; }
.menu .mobile-sub-menu-arrow { display: block; float: right; padding: 0 16px 0px 16px; font-size: 30px; background-color: var(--black-4); cursor: pointer; position: absolute; right: 0; top: 0; }
.menu .mobile-sub-menu-arrow path { fill: var(--white-1); }
.menu ul.main-menu > li .search-button-toggle { margin-top: 10px; }

/* Start Footer */
.footer { font-size: 16px; padding-top: 55px; }
.footer .footer-wrap { padding: 0; gap: 20px; }
.footer .site-nav { width: 100%; }
.footer .headquarters { width: 100%; }
.footer .title { font-size: 15px; }

/* Start Store Category Results/Breadcrumbs/Sort */
.results .result-numbers { padding-right: 0; border-right: none; }
.results .result-breadcrumbs { display: none; }

/* Start 2 Column Store Category Layout with Filters & Results*/
.store .filters { float: none; width: 100%; }
.store .filters .filters-wrap { margin-bottom: 15px; }
.store .filters .filters-set span { display: inline-block; }
.store .filters .filters-results-wrap { display: none; background-color: var(--gray-7); padding: 12px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); margin-top: 10px; }
.store .filters .filters-results-wrap > ul > li:first-child { margin-top: 0; }
.store .design-blocks-results { float: none; width: 100%; }

/* Start 2 Column Blog Layout with Posts & Sidebar*/
.blog .blog-wrap { display: block; }
.blog .posts { width: 100%; }
.blog .sidebar { width: 100%; margin-top: 45px; }
.blog .sidebar .box.sticky { position: relative; top: 0; }

/* Start Product Page Top Offer */
.product-media { float: none; width: 100%; margin-bottom: 25px; }
.product-slider { max-width: 600px; margin: 0 auto; }
.product-selection { float: none; width: 100%; }
.product-totals-left { margin: 0 auto 15px auto; padding: 12px; border: 1px solid var(--gray-5); border-radius: var(--border-radius-1); width: 100%; background-color: var(--white-1); }
.product-price { text-align: center; }
.product-price .display-save-yes { display: inline-block !important; }
.product-totals-right { margin: 0 auto; text-align: center; }
.product-attributes-quantity { display: inline-block; font-size: 26px; }

/* Pages Two Column Layout */
.pages-two-column .pages-two-column-wrap { display: block; }
.pages-two-column .content { width: 100%; }
.pages-two-column .sidebar { width: 100%; margin-top: 45px; }

/* Pages Cart */
.cart .sidebar { margin-top: 10px; }
.cart .sidebar .box.sticky { position: relative; top: 0; }

/* Pages Checkout */
.checkout .sidebar { margin-top: 0; }
.checkout .shipping-information-wrap .ship-to-information span a { font-size: 14px; }

/* Pages Customer Login */
.customer-login { display: block; }
.customer-login .login { width: 100%; }
.customer-login .create-account { width: 100%; margin-top: 35px; }
}

@media (max-width: 800px) {
.grid-two-column { grid-template-columns: 100%; }
.grid-three-column { grid-template-columns: 100%; }
.grid-four-column { grid-template-columns: 100%; }

/* Start List View Product Box */
.design-blocks ul.grid-1 > li { grid-template-columns: 175px minmax(0, 1fr); }
.design-blocks ul.grid-1 .text-product { width: 100%; padding: 14px; }
.design-blocks ul.grid-1 .text-product h4.title { font-size: 18px; line-height: 1.3; }
.design-blocks ul.grid-1 .text-product .prices .price { font-size: 20px; }
.design-blocks ul.grid-1 .text-product .description { display: none; }
.design-blocks ul.grid-1 .text-product .ships { font-size: 13px; }
.design-blocks .text-product .ships-truck { font-size: 14px; }

/* Start List View Box */
.design-blocks ul.grid-1 > li { grid-template-columns: 175px minmax(0, 1fr); }
.design-blocks ul.grid-1 .text { width: 100%; padding: 14px; }
.design-blocks ul.grid-1 .text h2.title { font-size: 20px; line-height: 1.3; }
.design-blocks ul.grid-1 .text .description { font-size: 15px; line-height: 1.6; }

/* Blog Post Page */
.blog-post { line-height: 1.7; font-size: 17px; }
.blog-post .top h1.title { font-size: 30px; line-height: 1.2; }

/* Pages One Column Layout */
.pages-one-column .content { line-height: 1.7; font-size: 17px; }
.pages-one-column h1.title { font-size: 30px; margin: 0 0 8px 0; line-height: 1.2; }

/* Pages Two Column Layout */
.pages-two-column .content { line-height: 1.7; font-size: 17px; }
.pages-two-column h1.title { font-size: 30px; margin: 0 0 8px 0; line-height: 1.2; }

/* Pages Customer Order Details Page */
.order-details .order-details-info { display: block; }
.order-details .order-details-shipment { display: block; }
.order-details .order-details-product-wrapper { display: block; }
.order-details .order-details-product-media { margin-bottom: 20px; }
.order-details .order-details-product-wrapper { padding-bottom: 0; }
}

@media (max-width: 700px) {
/* Pages Cart */
.cart .design-blocks.design-blocks-cart ul.grid-1 .img { width: 100%; padding-right: 0; }
.cart .design-blocks.design-blocks-cart ul.grid-1 .img img { max-width: 300px; width: 100%; margin: 0 auto; border-radius: var(--border-radius-1); }
.cart .design-blocks.design-blocks-cart ul.grid-1 .text-product { width: 100%; }
.cart .design-blocks.design-blocks-cart ul.grid-1 > li.cart-items .cart-items-left { display: block; padding: 15px; }
.cart .cart-links { margin-top: 15px; }
.cart .content .top { display: block; }
.cart .content h1.title { margin: 0 0 15px 0; }
.logged-in-add-address { text-align: left; font-size: 14px; }

/* Pages Customer Account */
.customer-area-h1 { float: none; }
.customer-area-button { float: none; display: inline-block; margin-bottom: 15px; }
.customer-area-data-add { --n: 1; grid-template-columns: repeat(auto-fill, minmax(max(250px, (100% - (var(--n) - 1) * 15px) / var(--n)), 1fr)); }

/* Start Breadcrumbs*/
.breadcrumbs .breadcrumbs-wrap ul { font-size: 13px; }

/* Author Information*/
.short-bio { display: block; text-align: center; }
.short-bio .photo { margin: 0 auto 20px auto; width: 160px; min-width: 160px; }
.short-bio .intro { text-align: center; }
.short-bio .author-name { text-align: center; }

/* Submit Review Page */
.review-product { grid-template-columns: 130px minmax(0, 1fr); gap: 18px; padding: 16px; }
.review-product-title { font-size: 20px; }
}

@media (max-width: 600px) {
/* Start Product Page Top Offer */
.product-price .display-save-yes { display: block !important; }
.product-price .on-sale { text-align: center; }
.product-form { padding: 15px; }
.product-form .button button { width: 100%; }

/* Start List View Product Box */
.design-blocks ul.grid-1 > li { display: block; }
.design-blocks ul.grid-1 .text-product { width: 100%; }
.design-blocks ul.grid-1 .text { width: 100%; }

/* Author Information*/
.author-page .bio-image { float: none; margin: 0 0 15px 0; max-width: 100%; }
}

@media screen and (max-width: 520px) {
/* Submit Review Page */
.review-product { grid-template-columns: 1fr; }
.review-product-image { max-width: 240px; margin: 0 auto; }
.review-submit { width: 100%; text-align: center; }
}

@media (max-width: 399px) {
/* On Product Page When No Inventory Assigned or Enabled */
.form-1 li.textarea-full-width { grid-column: auto; }

/* On Contact Us Page */
.form-2 li.textarea-full-width { grid-column: auto; }
}
/* ============================================================
   Wildpath - homepage hero slider (full bleed, full fold)
   ============================================================ */
.hero-slider { width: 100%; max-width: none; margin: 0; }
.hero-slider .slider { height: calc(100vh - 63px); min-height: 480px; max-height: 940px; }
.hero-slider .slider-holder { height: 100%; }
.hero-slider .container { position: relative; height: 100%; overflow: hidden; }
.hero-slider .container > a { display: block; height: 100%; text-decoration: none; color: inherit; }
.hero-slider picture { display: block; height: 100%; }
.hero-slider .container img,
.hero-slider .hero-slide-img { width: 100%; height: 100%; object-fit: cover; display: block; }

.hero-slide-caption { position: absolute; inset: auto 0 0 0; padding: 120px 15px 84px 15px; background: linear-gradient(180deg, rgba(6,12,20,0) 0%, rgba(6,12,20,.35) 38%, rgba(6,12,20,.86) 100%); pointer-events: none; }
.hero-slide-caption-inner { max-width: var(--container-width); }
.hero-slide-eyebrow { display: inline-block; padding: 5px 13px; margin-bottom: 14px; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; color: #cfe6f8; text-transform: uppercase; letter-spacing: 2.6px; font-size: 11px; font-weight: 700; }
.hero-slide-caption h2 { margin: 0 0 12px 0; color: #fff; font-size: 52px; line-height: 1.08; letter-spacing: -0.5px; max-width: 20ch; }
.hero-slide-caption p { margin: 0 0 22px 0; color: #d7e6f2; font-size: 18px; line-height: 1.6; max-width: 62ch; }
.hero-slide-btn { display: inline-block; padding: 13px 26px; border-radius: var(--border-radius-1); background-color: var(--blue-4); color: #fff; font-weight: 700; font-size: 16px; transition: background-color .2s ease; }
.hero-slider .container > a:hover .hero-slide-btn { background-color: var(--blue-5); }

/* The core slider prints ".slider_N .slider-pager { bottom: 0 }" inline when Pagination Over
   Image is on (see /admin/cms/functions/sliders.php). That rule has the same specificity as
   ".hero-slider .slider-pager" and is printed later, so it would win - hence the extra class. */
.slider-wrapper.hero-slider .slider-pager { position: absolute; left: 0; right: 0; bottom: 92px; justify-content: center; padding: 0; }
.hero-slider .pager { width: 10px; height: 10px; background-color: rgba(255,255,255,.45); }
.hero-slider .pager:hover { background-color: rgba(255,255,255,.75); }
.hero-slider .pager.active { background-color: #fff; transform: scale(1.25); }
.hero-slider .prev, .hero-slider .next { background-color: rgba(12,20,30,.42); border-color: rgba(255,255,255,.32); color: #fff; }
.hero-slider .prev:hover, .hero-slider .next:hover { background-color: rgba(12,20,30,.72); border-color: #fff; }

@media (max-width: 900px) {
.hero-slider .slider { height: calc(100vh - 63px); min-height: 420px; max-height: 640px; }
.hero-slide-caption { padding: 90px 15px 66px 15px; }
.hero-slide-caption h2 { font-size: 32px; max-width: none; }
.hero-slide-caption p { font-size: 15.5px; }
.slider-wrapper.hero-slider .slider-pager { bottom: 76px; }
}

@media (max-width: 560px) {
.hero-slide-caption h2 { font-size: 26px; }
.hero-slide-caption p { display: none; }
.hero-slide-btn { padding: 11px 20px; font-size: 15px; }
/* Narrow screens - the centred dots would sit beside the button, so drop them below it. */
.slider-wrapper.hero-slider .slider-pager { bottom: 26px; }
}

/* ============================================================
   Wildpath - category banner
   ============================================================ */
.category-banner { position: relative; width: 100%; height: 320px; overflow: hidden; background-color: var(--black-2); }
.category-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.category-banner-caption { position: absolute; inset: auto 0 0 0; padding: 90px 15px 34px 15px; background: linear-gradient(180deg, rgba(6,12,20,0) 0%, rgba(6,12,20,.72) 60%, rgba(6,12,20,.92) 100%); }
.category-banner-caption h1 { margin: 0 0 8px 0; color: #fff; font-size: 42px; line-height: 1.12; }
.category-banner-caption p { margin: 0; color: #d7e6f2; font-size: 16.5px; line-height: 1.6; max-width: 70ch; }
@media (max-width: 760px) {
.category-banner { height: 230px; }
.category-banner-caption { padding: 60px 15px 22px 15px; }
.category-banner-caption h1 { font-size: 27px; }
.category-banner-caption p { font-size: 14.5px; }
}

/* ============================================================
   Wildpath - site wide horizontal gutter
   The theme ships a 15px left/right gutter on every full width section
   wrapper. This raises it to 20px in one place. Only the horizontal
   padding is overridden so each section keeps its own vertical spacing.
   ============================================================ */
body { --section-gutter: 20px; }

.edit-page,
.free-shipping,
.header,
.search-bar,
.breadcrumbs,
.blog,
.store,
.products-content,
.product-top,
.products-specs,
.products-q-and-a,
.products-customer-reviews,
.offer,
.pages-one-column,
.pages-two-column,
.top-content-container,
.bottom-content,
.author-info-wrapper,
.post-comments,
.post-a-comment,
.pagination,
.results,
.footer,
.cookies-banner {
	padding-left: var(--section-gutter);
	padding-right: var(--section-gutter);
}

/* Wildpath sections defined earlier in this file */
.hero-slide-caption,
.category-banner-caption {
	padding-left: var(--section-gutter);
	padding-right: var(--section-gutter);
}

/* =====================================================================
   WANDERLY THEME
   Colours, type and components for the Wanderly Travels design.
   Edit the tokens in the first block to re-colour the whole site.
   ===================================================================== */
body {
	--w-navy-900: #0a1929; --w-navy-800: #102a43; --w-navy-700: #1a3a5c; --w-navy-600: #244876;
	--w-teal-50: #f0f9f8; --w-teal-100: #d2eeec; --w-teal-300: #6fc8c3; --w-teal-500: #2d8f8a; --w-teal-600: #20756f; --w-teal-700: #1c5e59;
	--w-gold-100: #ffefd4; --w-gold-300: #ffc070; --w-gold-400: #ff9d3c; --w-gold-500: #f97e16; --w-gold-600: #ea6608;
	--w-cream-50: #fdfbf7; --w-cream-100: #f8f4ed; --w-cream-200: #f0e9db;
	--w-muted: #5c6b7d;
	--w-serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--w-sans: Inter, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--w-radius: 16px;
	--w-shadow: 0 4px 24px rgba(10, 25, 41, .06);
	--w-shadow-hover: 0 18px 44px rgba(10, 25, 41, .13);

	/* map the stock theme tokens onto the Wanderly palette */
	--container-width: 1280px;
	--header-bg-color: rgba(253, 251, 247, .96); --header-border-color: var(--w-cream-200); --header-logo-color: var(--w-navy-900);
	--header-nav-links-color: var(--w-navy-800); --header-nav-links-bg-hover-color: var(--w-cream-100); --header-nav-links-mobile-border-color: var(--w-cream-200);
	--header-search-btn-bg-color: transparent; --header-search-btn-text-color: var(--w-navy-800); --header-search-btn-border-color: var(--w-cream-200);
	--header-search-btn-bg-hover-color: var(--w-teal-700); --header-search-btn-border-hover-color: var(--w-teal-700);
	--header-search-bar-bg-color: var(--w-cream-100); --header-search-bar-border-color: var(--w-cream-200);
	--header-search-bar-btn-bg-color: var(--w-teal-700); --header-search-bar-btn-border-color: var(--w-teal-700); --header-search-bar-btn-bg-hover-color: var(--w-teal-600);
	--footer-bg-color: var(--w-navy-900); --footer-text-color: var(--w-cream-100); --footer-border-color: var(--w-navy-800);
	--btn-bg-color: var(--w-teal-700); --btn-bg-hover-color: var(--w-teal-600);
	--cookies-banner-bg-color: var(--w-navy-900); --cookies-banner-border-color: var(--w-navy-800);
	--focus-ring-color: rgba(45, 143, 138, .2);
	--border-radius-1: 12px;

	/* the stock theme colours links, focus rings and accents with its blue scale - point it at teal/navy */
	--blue-1: #0a1929; --blue-2: #1c5e59; --blue-3: #1c5e59; --blue-4: #1c5e59; --blue-5: #20756f; --blue-6: #2d8f8a; --blue-7: #2d8f8a; --blue-8: #d2eeec;
	--footer-nav-links-color: rgba(248, 244, 237, .78); --footer-nav-links-hover-color: #ff9d3c;

	font-family: var(--w-sans); color: var(--w-navy-900); background-color: var(--w-cream-50);
}
h1, h2, h3 { font-family: var(--w-serif); }

/* ---------- header ---------- */
.header-wrapper { backdrop-filter: blur(8px); }
.header { padding-top: 12px; padding-bottom: 12px; border-bottom-color: var(--w-cream-200); }
.menu ul.main-menu > li > a { font-weight: 500; font-size: 14.5px; }
.menu ul.main-menu > li > a:hover { color: var(--w-teal-700); }
.menu ul.main-menu > li:not(.customer-account) > a:after { background-color: var(--w-teal-600); }
.menu ul.main-menu > li > a.nav-cta { width: auto; margin-left: 12px; padding: 10px 20px; border-radius: 999px; background-color: var(--w-gold-500); color: #fff; font-weight: 600; transition: background-color .25s ease; }
.menu ul.main-menu > li > a.nav-cta:hover { background-color: var(--w-gold-600); color: #fff; }
.menu ul.main-menu > li > a.nav-cta:after { display: none; }

/* ---------- buttons & links ---------- */
.w-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 26px; border: 1px solid transparent; border-radius: 999px; font-family: var(--w-sans); font-size: 15px; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background-color .25s ease, color .25s ease, border-color .25s ease; }
.w-btn--lg { padding: 16px 32px; font-size: 16px; }
.w-btn--primary { background-color: var(--w-gold-500); color: #fff; }
.w-btn--primary:hover { background-color: var(--w-gold-600); }
.w-btn--teal { background-color: var(--w-teal-700); color: #fff; }
.w-btn--teal:hover { background-color: var(--w-teal-600); }
.w-btn--ghost { border-color: rgba(255, 255, 255, .85); background-color: rgba(255, 255, 255, .04); color: #fff; }
.w-btn--ghost:hover { background-color: rgba(255, 255, 255, .16); }
.w-btn-row { display: flex; flex-wrap: wrap; gap: 14px; }
.w-link-arrow { display: inline-flex; align-items: center; gap: 6px; color: var(--w-teal-700); font-size: 14px; font-weight: 600; text-decoration: none; transition: color .2s ease; }
.w-link-arrow:hover { color: var(--w-teal-500); }
.w-pill-link { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 999px; background-color: var(--w-teal-50); color: var(--w-teal-700); font-size: 13.5px; font-weight: 600; text-decoration: none; transition: background-color .2s ease; }
.w-pill-link:hover { background-color: var(--w-teal-100); }
.w-badge { position: absolute; top: 14px; left: 14px; z-index: 2; padding: 5px 12px; border-radius: 999px; background-color: rgba(255, 255, 255, .95); color: var(--w-navy-800); font-size: 11.5px; font-weight: 600; line-height: 1.3; text-decoration: none; }
.w-badge--solid { position: static; display: inline-block; margin-bottom: 16px; background-color: var(--w-teal-600); color: #fff; }

/* ---------- sections & headings ---------- */
.w-section { padding: 88px var(--section-gutter); }
.w-section--cream { background-color: var(--w-cream-100); }
.w-section--flush-top { padding-top: 0; }
.w-section-head { max-width: 720px; margin: 0 auto 52px auto; text-align: center; }
.w-section-head--split { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 20px; max-width: none; text-align: left; }
.w-eyebrow { margin: 0 0 12px 0; font-family: var(--w-sans); font-size: 13px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--w-teal-600); }
.w-title { margin: 0; font-family: var(--w-serif); font-size: 48px; font-weight: 700; line-height: 1.15; letter-spacing: -.01em; color: var(--w-navy-900); }
.w-title--sm { font-size: 36px; }
.w-lead { margin: 16px 0 0 0; font-size: 17px; line-height: 1.65; color: var(--w-navy-700); }
.w-text { margin: 0 0 16px 0; font-size: 16px; line-height: 1.75; color: var(--w-navy-700); }

/* shared: full-bleed media layer used by heroes and CTA bands */
.w-hero-media, .w-page-hero-media, .w-post-hero-media, .w-cta-media { position: absolute; inset: 0; }
.w-hero-media picture, .w-page-hero-media picture, .w-post-hero-media picture, .w-cta-media picture { display: block; width: 100%; height: 100%; }
.w-hero-media img, .w-page-hero-media img, .w-post-hero-media img, .w-cta-media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- home hero ---------- */
.w-hero { position: relative; display: flex; align-items: center; height: 90vh; min-height: 600px; max-height: 980px; overflow: hidden; background-color: var(--w-navy-900); }
.w-hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 25, 41, .6) 0%, rgba(10, 25, 41, .3) 50%, rgba(10, 25, 41, .65) 100%); }
.w-hero-content { position: relative; z-index: 2; padding: 0 var(--section-gutter) 40px var(--section-gutter); }
.w-hero-title { margin: 0 0 20px 0; font-family: var(--w-serif); font-size: 66px; font-weight: 700; line-height: 1.06; color: #fff; }
.w-hero-text { margin: 0 0 34px 0; max-width: 560px; font-size: 19px; line-height: 1.6; color: #f3f1ec; }

/* ---------- hero search (removed from homepage) ---------- */
.w-search-wrap { display: none !important; }

/* ---------- destination cards ---------- */
.w-dest-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.w-dest-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.w-dest-card { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--w-radius); background-color: #fff; box-shadow: var(--w-shadow); transition: box-shadow .45s ease, transform .45s ease; }
.w-dest-card[hidden] { display: none; }
.w-dest-card:hover { box-shadow: var(--w-shadow-hover); transform: translateY(-4px); }
.w-dest-media { position: relative; height: 230px; overflow: hidden; }
.w-dest-grid--3 .w-dest-media { height: 260px; }
.w-dest-media picture { display: block; height: 100%; }
.w-dest-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }
.w-dest-card:hover .w-dest-media img { transform: scale(1.06); }
.w-dest-media:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 25, 41, 0) 45%, rgba(10, 25, 41, .72) 100%); }
.w-dest-name { position: absolute; left: 18px; right: 18px; bottom: 14px; z-index: 2; }
.w-dest-name h3 { margin: 0; font-size: 25px; line-height: 1.2; color: #fff; }
.w-dest-name p { margin: 2px 0 0 0; font-size: 13px; color: #f1efe9; }
.w-dest-body { display: flex; flex: 1; flex-direction: column; gap: 18px; padding: 20px 20px 22px 20px; }
.w-dest-body > p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--w-navy-700); }
.w-dest-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: auto; }
.w-dest-from { display: block; font-size: 12px; color: var(--w-muted); }
.w-dest-price { display: block; font-size: 21px; font-weight: 700; color: var(--w-navy-900); }

/* ---------- feature cards ---------- */
.w-feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.w-feature { padding: 32px 26px; border-radius: var(--w-radius); background-color: #fff; box-shadow: var(--w-shadow); transition: box-shadow .35s ease, transform .35s ease; }
.w-feature:hover { box-shadow: var(--w-shadow-hover); transform: translateY(-3px); }
.w-feature h3 { margin: 0 0 10px 0; font-size: 20px; line-height: 1.3; color: var(--w-navy-900); }
.w-feature p { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--w-navy-700); }
.w-icon-box { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: 20px; border-radius: 12px; background-color: var(--w-teal-50); color: var(--w-teal-700); }
.w-icon-box svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- image + text split ---------- */
.w-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 64px; }
.w-split-media { overflow: hidden; aspect-ratio: 3 / 2; border-radius: var(--w-radius); box-shadow: var(--w-shadow); }
.w-split-media picture { display: block; height: 100%; }
.w-split-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }
.w-split-media:hover img { transform: scale(1.05); }
.w-split-body .w-title { margin-bottom: 20px; font-size: 40px; }
.w-split-body .w-btn { margin-top: 8px; }

/* ---------- post cards ---------- */
.w-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.w-post-card { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--w-radius); background-color: #fff; box-shadow: var(--w-shadow); transition: box-shadow .45s ease, transform .45s ease; }
.w-post-card:hover { box-shadow: var(--w-shadow-hover); transform: translateY(-4px); }
.w-post-media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.w-post-media picture { display: block; height: 100%; }
.w-post-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }
.w-post-card:hover .w-post-media img { transform: scale(1.05); }
.w-post-body { display: flex; flex: 1; flex-direction: column; padding: 22px 24px 24px 24px; }
.w-post-meta { margin: 0 0 10px 0; font-size: 12.5px; color: var(--w-muted); }
.w-post-title { margin: 0 0 10px 0; font-size: 21px; line-height: 1.3; }
.w-post-title a { color: var(--w-navy-900); text-decoration: none; transition: color .2s ease; }
.w-post-title a:hover { color: var(--w-teal-700); }
.w-post-excerpt { margin: 0 0 18px 0; font-size: 14.5px; line-height: 1.65; color: var(--w-navy-700); }
.w-post-body .w-link-arrow { margin-top: auto; }

/* ---------- CTA band ---------- */
.w-cta { position: relative; overflow: hidden; padding: 104px var(--section-gutter); background-color: var(--w-navy-900); text-align: center; }
.w-cta-overlay { position: absolute; inset: 0; background-color: rgba(10, 25, 41, .8); }
.w-cta-content { position: relative; z-index: 2; max-width: 700px; }
.w-cta h2 { margin: 0 0 14px 0; font-size: 46px; line-height: 1.15; color: #fff; }
.w-cta p { margin: 0 0 30px 0; font-size: 17.5px; line-height: 1.6; color: var(--w-cream-100); }
.w-cta-box { max-width: 900px; margin: 0 auto; padding: 56px 32px; border-radius: 24px; background-color: var(--w-navy-900); text-align: center; }
.w-cta-box h2 { margin: 0 0 12px 0; font-size: 36px; color: #fff; }
.w-cta-box p { margin: 0 0 26px 0; color: var(--w-cream-100); font-size: 17px; }

/* ---------- page hero (inner pages) ---------- */
.w-page-hero { position: relative; display: flex; align-items: center; justify-content: center; height: 440px; overflow: hidden; background-color: var(--w-navy-900); text-align: center; }
.w-page-hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 25, 41, .5) 0%, rgba(10, 25, 41, .62) 100%); }
.w-page-hero-content { position: relative; z-index: 2; padding: 0 var(--section-gutter); }
.w-page-hero h1 { margin: 0; font-size: 58px; line-height: 1.1; color: #fff; }
.w-page-hero p { max-width: 640px; margin: 16px auto 0 auto; font-size: 18.5px; line-height: 1.6; color: var(--w-cream-100); }

/* ---------- pill tabs (destination filter + blog categories) ---------- */
.w-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 52px 0; }
.w-tab,
.blog .posts a.w-tab { padding: 10px 22px; border: 1px solid var(--w-cream-200); border-radius: 999px; background-color: #fff; color: var(--w-navy-800); font-family: var(--w-sans); font-size: 14px; font-weight: 500; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.w-tab:hover,
.blog .posts a.w-tab:hover { border-color: var(--w-teal-500); color: var(--w-teal-700); }
.w-tab.is-active,
.w-tab.is-active:hover,
.blog .posts a.w-tab.is-active,
.blog .posts a.w-tab.is-active:hover { border-color: var(--w-teal-700); background-color: var(--w-teal-700); color: #fff; }

/* ---------- about ---------- */
.w-mission { padding: 96px var(--section-gutter); background-color: var(--w-navy-900); text-align: center; }
.w-mission .w-eyebrow { color: var(--w-gold-300); }
.w-mission h2 { max-width: 920px; margin: 0 auto; font-size: 46px; line-height: 1.2; color: #fff; }
.w-mission p { max-width: 720px; margin: 22px auto 0 auto; font-size: 17px; line-height: 1.75; color: var(--w-cream-100); }
.w-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; text-align: center; }
.w-stat strong { display: block; font-family: var(--w-serif); font-size: 50px; line-height: 1.1; color: var(--w-teal-700); }
.w-stat span { display: block; margin-top: 8px; font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--w-navy-700); }

/* team - a native Block Items design block (authors) on the About page */
.grid-text.about-us { padding: 0 var(--section-gutter) 96px var(--section-gutter); }
.grid-text.about-us .design-blocks ul.grid-3 { gap: 32px; }
.grid-text.about-us .design-blocks li.container { overflow: hidden; border: 0; border-radius: var(--w-radius); background-color: #fff; box-shadow: var(--w-shadow); }
.grid-text.about-us .design-blocks .img { display: block; aspect-ratio: 4 / 4.4; height: auto; overflow: hidden; }
.grid-text.about-us .design-blocks .img a { display: block; height: 100%; }
.grid-text.about-us .design-blocks .img picture { display: block; height: 100%; }
.grid-text.about-us .design-blocks .img img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; border-radius: 0; }
.grid-text.about-us .design-blocks .text { padding: 22px 24px 26px 24px; }
.grid-text.about-us .design-blocks .title { margin: 0 0 8px 0; font-family: var(--w-serif); font-size: 22px; }
.grid-text.about-us .design-blocks .title a { color: var(--w-navy-900); text-decoration: none; }
.grid-text.about-us .design-blocks .description { font-size: 14.5px; line-height: 1.65; color: var(--w-navy-700); }

/* ---------- contact ---------- */
.w-contact { display: grid; grid-template-columns: 1fr 1.15fr; align-items: start; gap: 56px; }
.w-contact-info .w-title { margin-bottom: 14px; }
.w-contact-list { display: flex; flex-direction: column; gap: 22px; margin: 28px 0 30px 0; padding: 0; list-style: none; }
.w-contact-list li { display: flex; align-items: flex-start; gap: 16px; }
.w-contact-list .w-icon-box { margin: 0; }
.w-contact-label { margin: 0 0 4px 0; font-size: 11.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--w-teal-600); }
.w-contact-list a, .w-contact-list li p:not(.w-contact-label) { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--w-navy-900); text-decoration: none; }
.w-contact-list a:hover { color: var(--w-teal-700); }
.w-inquiry-card { padding: 36px; border-radius: var(--w-radius); background-color: #fff; box-shadow: var(--w-shadow); }
.w-map { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; height: 320px; padding: 20px; border: 1px dashed var(--w-teal-300); border-radius: var(--w-radius); background-color: var(--w-teal-50); text-align: center; }
.w-map .w-icon-box { margin-bottom: 8px; background-color: #fff; }
.w-map-title { margin: 0; font-family: var(--w-serif); font-size: 22px; font-weight: 700; color: var(--w-navy-900); }
.w-map p { margin: 0; color: var(--w-navy-700); }
.w-faq { display: flex; flex-direction: column; gap: 14px; max-width: 820px; margin: 0 auto; }
.w-faq details { padding: 0 24px; border-radius: 14px; background-color: #fff; box-shadow: var(--w-shadow); }
.w-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; font-size: 16.5px; font-weight: 600; color: var(--w-navy-900); list-style: none; cursor: pointer; }
.w-faq summary::-webkit-details-marker { display: none; }
.w-faq summary:after { content: "+"; flex: 0 0 auto; font-size: 24px; font-weight: 400; line-height: 1; color: var(--w-teal-600); transition: transform .2s ease; }
.w-faq details[open] summary:after { transform: rotate(45deg); }
.w-faq details p { margin: 0 0 20px 0; font-size: 15px; line-height: 1.7; color: var(--w-navy-700); }

/* ---------- Ratals forms: inquiry (form id 2) + newsletter (form id 3) ---------- */
.w-form-title { margin: 0 0 22px 0; font-family: var(--w-serif); font-size: 26px; font-weight: 700; color: var(--w-navy-900); }
.w-form-title:empty { display: none; }
.form-inquiry ul { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 0 0 22px 0; padding: 0; list-style: none; }
.form-inquiry li { margin: 0; }
.form-inquiry li.field-full_name, .form-inquiry li.textarea-full-width { grid-column: 1 / -1; }
.form-inquiry label > div { margin-bottom: 7px; font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--w-navy-700); }
.form-inquiry input, .form-inquiry select, .form-inquiry textarea { width: 100%; height: 48px; padding: 0 14px; border: 1px solid var(--w-cream-200); border-radius: 10px; background-color: var(--w-cream-50); color: var(--w-navy-900); font: inherit; font-size: 15px; }
.form-inquiry textarea { height: 140px; padding: 12px 14px; resize: vertical; }
.form-inquiry input:focus, .form-inquiry select:focus, .form-inquiry textarea:focus { outline: none; border-color: var(--w-teal-500); box-shadow: 0 0 0 3px var(--focus-ring-color); }
.form-inquiry input[type="submit"], .form-inquiry button { width: 100%; height: auto; padding: 16px 32px; border: 0; border-radius: 999px; background-color: var(--w-gold-500); color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; transition: background-color .25s ease; }
.form-inquiry input[type="submit"]:hover, .form-inquiry button:hover { background-color: var(--w-gold-600); }

/* ---------- footer ---------- */
.footer.w-footer { padding-top: 76px; padding-bottom: 0; border-top: 0; background-color: var(--w-navy-900); color: var(--w-cream-100); line-height: 1.6; }
.w-footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.5fr; gap: 48px; padding-bottom: 56px; }
.w-footer-logo { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 16px; font-family: var(--w-serif); font-size: 21px; font-weight: 700; letter-spacing: .06em; color: #fff; text-decoration: none; }
.w-logo-mark svg { display: block; width: 34px; height: 34px; }
.w-footer-brand p { max-width: 320px; margin: 0 0 22px 0; font-size: 14px; color: rgba(248, 244, 237, .8); }
.w-social { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.w-social a { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 999px; background-color: rgba(255, 255, 255, .08); color: #fff; transition: background-color .2s ease, color .2s ease; }
.w-social a:hover { background-color: var(--w-teal-600); }
.w-social svg { width: 16px; height: 16px; fill: currentColor; }
.w-social--dark a { background-color: var(--w-teal-50); color: var(--w-teal-700); }
.w-social--dark a:hover { background-color: var(--w-teal-700); color: #fff; }
.w-footer-title { margin: 0 0 18px 0; font-size: 12.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #fff; }
.w-footer-links { display: flex; flex-direction: column; gap: 11px; margin: 0; padding: 0; list-style: none; }
.w-footer-links a { font-size: 14.5px; color: rgba(248, 244, 237, .78); text-decoration: none; transition: color .2s ease; }
.w-footer-links a:hover { color: var(--w-gold-400); }
.w-footer-news-title { margin: 0 0 8px 0; font-family: var(--w-serif); font-size: 20px; font-weight: 700; color: #fff; }
.w-footer-newsletter > p { margin: 0 0 16px 0; font-size: 14px; color: rgba(248, 244, 237, .8); }
.form-newsletter { display: flex; align-items: flex-end; gap: 10px; }
.form-newsletter ul { flex: 1; margin: 0; padding: 0; list-style: none; }
.form-newsletter li { margin: 0; }
.form-newsletter label > div { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.form-newsletter input[type="text"] { width: 100%; height: 46px; padding: 0 18px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 999px; background-color: rgba(255, 255, 255, .06); color: #fff; font: inherit; font-size: 14px; }
.form-newsletter input[type="submit"], .form-newsletter button { height: 46px; padding: 0 22px; border: 0; border-radius: 999px; background-color: var(--w-gold-500); color: #fff; font-size: 14.5px; font-weight: 600; cursor: pointer; }
.form-newsletter input[type="submit"]:hover, .form-newsletter button:hover { background-color: var(--w-gold-600); }
.w-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 22px 0; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 13px; color: rgba(248, 244, 237, .6); }
.w-footer-bottom .copy { margin: 0; }
.w-footer-legal { display: flex; flex-wrap: wrap; gap: 18px; margin: 0; padding: 0; list-style: none; }
.w-footer-legal a { color: rgba(248, 244, 237, .6); text-decoration: none; }
.w-footer-legal a:hover { color: #fff; }

/* ---------- blog index + category pages ---------- */
.blog.w-blog { padding-top: 72px; padding-bottom: 88px; background-color: var(--w-cream-50); }
.blog.w-blog .blog-wrap { display: block; }
.blog.w-blog .posts { width: auto; max-width: none; }
.blog.w-blog .content-top { margin: 0; padding: 0; border: 0; }
.blog.w-blog .categories-store-design-blocks-style .design-blocks,
.blog.w-blog .categories-store-design-blocks-style .design-blocks-wrap { padding: 0; }
.bottom-content .w-cta-box { margin-top: 12px; margin-bottom: 20px; }

/* ---------- blog post ---------- */
.w-post-hero { position: relative; display: flex; align-items: flex-end; height: 55vh; min-height: 420px; max-height: 660px; overflow: hidden; background-color: var(--w-navy-900); }
.w-post-hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 25, 41, .25) 0%, rgba(10, 25, 41, .5) 45%, rgba(10, 25, 41, .88) 100%); }
.w-post-hero-content { position: relative; z-index: 2; padding: 0 var(--section-gutter) 52px var(--section-gutter); }
.w-post-hero h1 { max-width: 22ch; margin: 0 0 14px 0; font-size: 54px; line-height: 1.1; color: #fff; }
.w-post-hero-meta { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; font-size: 14.5px; color: var(--w-cream-100); }
.w-post-hero-meta a { color: #fff; font-weight: 600; text-decoration: none; }
.blog.w-post-page { padding-top: 64px; padding-bottom: 48px; }
.blog.w-post-page .blog-wrap { display: block; max-width: 800px; }
.blog.w-post-page .posts { width: auto; max-width: none; font-size: 17px; line-height: 1.8; color: var(--w-navy-800); }
.blog.w-post-page .posts h2 { margin: 42px 0 14px 0; font-size: 29px; line-height: 1.3; color: var(--w-navy-900); }
.blog.w-post-page .posts p { margin: 0 0 20px 0; }
.blog.w-post-page .posts ul { margin: 0 0 24px 0; padding-left: 22px; }
.blog.w-post-page .posts li { margin-bottom: 8px; }
.blog.w-post-page .posts blockquote { margin: 34px 0; padding: 24px 28px; border-left: 4px solid var(--w-teal-500); border-radius: 0 14px 14px 0; background-color: var(--w-teal-50); font-family: var(--w-serif); font-size: 21px; font-style: italic; line-height: 1.55; color: var(--w-navy-900); }
.blog.w-post-page .posts .post-lead { margin: 0 0 34px 0; padding-left: 22px; border-left: 4px solid var(--w-gold-500); font-size: 19.5px; font-weight: 500; line-height: 1.7; color: var(--w-navy-700); }
.w-post-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--w-cream-200); }
.w-share { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; color: var(--w-navy-800); }
.w-share a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 999px; background-color: var(--w-cream-100); color: var(--w-navy-800); transition: background-color .2s ease, color .2s ease; }
.w-share a:hover { background-color: var(--w-teal-700); color: #fff; }
.w-share svg { width: 15px; height: 15px; fill: currentColor; }
.blog.w-post-page .short-bio-wrapper { margin-top: 36px; }
.blog.w-post-page .short-bio { padding: 26px; border-radius: var(--w-radius); background-color: var(--w-cream-100); }
.w-related-title { margin-bottom: 36px; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
	.w-dest-grid, .w-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.w-post-grid, .w-dest-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.w-footer-grid { grid-template-columns: 1fr 1fr; }
	.w-title { font-size: 40px; }
	.w-hero-title { font-size: 54px; }
	.w-split { gap: 40px; }
}
@media (max-width: 760px) {
	.w-section { padding-top: 64px; padding-bottom: 64px; }
	.w-section-head { margin-bottom: 36px; }
	.w-title { font-size: 32px; }
	.w-title--sm, .w-split-body .w-title { font-size: 28px; }
	.w-hero { min-height: 560px; }
	.w-hero-title { font-size: 42px; }
	.w-hero-text { font-size: 16.5px; }
	.w-dest-grid, .w-dest-grid--3, .w-feature-grid, .w-post-grid { grid-template-columns: 1fr; }
	.w-split, .w-contact { grid-template-columns: 1fr; gap: 32px; }
	.w-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }
	.w-stat strong { font-size: 40px; }
	.w-page-hero { height: 320px; }
	.w-page-hero h1 { font-size: 38px; }
	.w-page-hero p { font-size: 16px; }
	.w-cta { padding-top: 76px; padding-bottom: 76px; }
	.w-cta h2, .w-mission h2 { font-size: 30px; }
	.w-cta-box h2 { font-size: 28px; }
	.w-post-hero h1 { font-size: 34px; }
	.w-inquiry-card { padding: 24px; }
	.form-inquiry ul { grid-template-columns: 1fr; }
	.w-footer-grid { grid-template-columns: 1fr; gap: 36px; }
	.grid-text.about-us .design-blocks ul.grid-3 { grid-template-columns: 1fr; }
}

/* ---------- Wanderly: overrides for stock theme rules that are more specific ---------- */
/* ".blog .posts a" and ".blog-post a" colour every link in the blog area; these win on specificity + order */
.w-post-card .w-post-title a { color: var(--w-navy-900); }
.w-post-card .w-post-title a:hover { color: var(--w-teal-700); text-decoration: none; }
.w-post-body a.w-link-arrow, .w-post-actions a.w-link-arrow, .w-section-head a.w-link-arrow,
.w-post-body a.w-link-arrow:hover, .w-post-actions a.w-link-arrow:hover { color: var(--w-teal-700); text-decoration: none; }
.w-tabs a.w-tab { color: var(--w-navy-800); text-decoration: none; }
.w-tabs a.w-tab:hover { color: var(--w-teal-700); }
.w-tabs .w-tab.is-active, .w-tabs .w-tab.is-active:hover { color: #fff; }
/* team cards: the stock theme hides .description inside design blocks */
.grid-text.about-us .design-blocks .text .description { display: block; }
/* footer: stock ".footer a" colour and hover underline */
.footer a.w-footer-logo { color: #fff; }
.footer.w-footer a:hover { text-decoration: none; }
/* mobile menu icon: the stock icon is white, drawn for a dark header */
.mobile-menu .mobile-bars svg path { fill: var(--w-navy-900); }
.mobile-menu .mobile-bars.open::before, .mobile-menu .mobile-bars.open::after { background-color: var(--w-navy-900); }
