:root {
  --havor-primary: #1164f3;
  --havor-primary-hover: #0d52d5;
  --havor-black: #111111;
  --havor-text: #1a1a1a;
  --havor-muted: #6b7280;
  --havor-border: #e5e7eb;
  --havor-light: #f7f8fa;
  --havor-white: #ffffff;
  --havor-container: 1280px;
  --havor-radius: 12px;
  --havor-radius-sm: 8px;
  --havor-shadow: 0 18px 50px rgba(17, 24, 39, 0.08);
  --havor-space-1: 8px;
  --havor-space-2: 16px;
  --havor-space-3: 24px;
  --havor-space-4: 32px;
  --havor-space-5: 48px;
  --havor-space-6: 72px;
  --havor-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--havor-text); background: var(--havor-white); font: 400 16px/1.65 var(--havor-font); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
a { color: var(--havor-primary); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--havor-primary-hover); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--havor-primary); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.havor-skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 12px 18px; border-radius: 5px; background: var(--havor-black); color: #fff; transform: translateY(-160%); }
.havor-skip-link:focus { transform: translateY(0); color: #fff; }
.havor-container { width: min(calc(100% - 48px), var(--havor-container)); margin-inline: auto; }
.havor-icon { display: inline-flex; width: 20px; height: 20px; flex: 0 0 auto; }
.havor-icon svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
h1, h2, h3, h4, h5, h6 { color: var(--havor-black); font-weight: 650; letter-spacing: -.035em; line-height: 1.12; margin: 0 0 20px; }
h1 { font-size: clamp(2.55rem, 5.6vw, 5rem); }
h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); }
h3 { font-size: clamp(1.15rem, 1.7vw, 1.45rem); }
p { margin: 0 0 1.25em; }

.havor-announcement { min-height: 36px; display: flex; align-items: center; justify-content: center; padding: 5px 0; background: var(--havor-black); color: #fff; text-align: center; font-size: 12px; letter-spacing: .035em; }
.havor-header { position: relative; z-index: 20; background: #fff; border-bottom: 1px solid var(--havor-border); }
.havor-header.is-sticky { position: sticky; top: 0; }
.admin-bar .havor-header.is-sticky { top: 32px; }
.havor-header-main { min-height: 86px; display: grid; grid-template-columns: minmax(150px, 1fr) minmax(260px, 1.3fr) minmax(190px, 1fr); align-items: center; gap: 32px; }
.havor-wordmark { display: inline-flex; align-items: center; gap: 7px; color: var(--havor-black); text-decoration: none; font-size: 24px; line-height: 1; font-weight: 800; letter-spacing: .11em; }
.havor-wordmark:hover { color: var(--havor-black); }
.havor-wordmark i { width: 7px; height: 7px; margin-top: 12px; border-radius: 50%; background: var(--havor-primary); }
.custom-logo-link { display: inline-flex; }
.custom-logo { display: block; max-width: 190px; max-height: 52px; width: auto; }
.havor-header-search form, .havor-mobile-search form, .havor-error-page .search-form, .havor-empty-state .search-form { position: relative; display: flex; }
.havor-header-search input[type="search"], .havor-mobile-search input[type="search"], .havor-header-search .search-field, .havor-mobile-search .search-field, .havor-error-page input[type="search"], .havor-empty-state input[type="search"] { width: 100%; min-height: 46px; padding: 0 48px 0 16px; border: 1px solid var(--havor-border); border-radius: 99px; background: var(--havor-light); color: var(--havor-text); }
.havor-header-search button, .havor-mobile-search button, .havor-header-search input[type="submit"], .havor-mobile-search input[type="submit"], .havor-error-page .search-submit, .havor-empty-state .search-submit { position: absolute; inset: 3px 4px 3px auto; width: 40px; border: 0; background: transparent; color: var(--havor-black); cursor: pointer; font-size: 0; }
.havor-header-search .woocommerce-product-search button::after, .havor-mobile-search .woocommerce-product-search button::after { content: ""; display: inline-block; width: 20px; height: 20px; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='10.8' cy='10.8' r='6.8'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E"); }
.havor-header-actions { display: flex; justify-content: flex-end; align-items: center; gap: 24px; }
.havor-header-action { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; color: var(--havor-text); text-decoration: none; font-size: 13px; font-weight: 550; }
.havor-header-action:hover { color: var(--havor-primary); }
.havor-cart { position: relative; }
.havor-cart > summary { list-style: none; cursor: pointer; }
.havor-cart > summary::-webkit-details-marker { display: none; }
.havor-cart-count { display: inline-grid; min-width: 19px; height: 19px; place-items: center; border-radius: 50%; background: var(--havor-primary); color: #fff; font-size: 10px; font-weight: 700; }
.havor-cart-panel { position: absolute; top: calc(100% + 12px); right: 0; z-index: 30; width: min(360px, calc(100vw - 32px)); padding: 20px; background: #fff; border: 1px solid var(--havor-border); border-radius: var(--havor-radius); box-shadow: var(--havor-shadow); }
.havor-menu-open, .havor-filters-open { overflow: hidden; }
.havor-header-search label, .havor-mobile-search label { width: 100%; }
.havor-search-results { position: absolute; z-index: 40; top: calc(100% + 8px); left: 0; width: 100%; max-height: 430px; overflow-y: auto; padding: 8px; border: 1px solid var(--havor-border); border-radius: 10px; background: var(--havor-white); box-shadow: var(--havor-shadow); }
.havor-search-status { margin: 0; padding: 8px; color: var(--havor-muted); font-size: 12px; }
.havor-search-result { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 8px; color: var(--havor-text); text-decoration: none; border-radius: 5px; }
.havor-search-result:hover { background: var(--havor-light); }
.havor-search-result img { width: 48px; height: 48px; object-fit: cover; border-radius: 4px; }
.havor-search-result strong, .havor-search-result small { display: block; font-size: 12px; }
.havor-search-result small { margin-top: 3px; color: var(--havor-muted); }
.havor-cart-panel .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.havor-cart-panel ul.woocommerce-mini-cart li.woocommerce-mini-cart-item { position: relative; min-height: 72px; padding: 8px 0 12px 44px; border-bottom: 1px solid var(--havor-border); font-size: 13px; }
.havor-cart-panel .woocommerce-mini-cart-item img { float: right; width: 52px; height: 62px; object-fit: cover; margin-left: 12px; }
.havor-cart-panel .woocommerce-mini-cart-item a { color: var(--havor-text); text-decoration: none; }
.havor-cart-panel ul.woocommerce-mini-cart li a.remove { position: absolute; left: 0; top: 8px; display: inline-grid; place-items: center; width: 32px; height: 32px; font-size: 22px; line-height: 1; }
.havor-cart-panel .quantity { display: block; margin-top: 5px; color: var(--havor-muted); font-size: 12px; }
.havor-cart-panel .buttons { display: flex; gap: 8px; margin: 0; }
.havor-cart-panel .button { flex: 1; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px; border-radius: var(--havor-button-radius, 7px); background: var(--havor-primary); color: #fff; text-align: center; text-decoration: none; font-size: 12px; }
.havor-desktop-navigation { border-top: 1px solid #f2f3f5; }
.havor-desktop-navigation .menu { display: flex; align-items: center; justify-content: center; gap: 36px; margin: 0; padding: 0; list-style: none; }
.havor-desktop-navigation .menu > li > a { min-height: 48px; display: flex; align-items: center; color: #35383d; text-decoration: none; font-size: 13px; font-weight: 550; }
.havor-desktop-navigation .menu > li > a:hover, .havor-desktop-navigation .current-menu-item > a { color: var(--havor-primary); }
.havor-desktop-navigation .sub-menu { display: none; position: absolute; min-width: 210px; padding: 10px; background: #fff; border: 1px solid var(--havor-border); border-radius: 10px; box-shadow: var(--havor-shadow); list-style: none; }
.havor-desktop-navigation li:hover > .sub-menu, .havor-desktop-navigation li:focus-within > .sub-menu { display: block; }
.havor-desktop-navigation .sub-menu a { display: block; padding: 9px 12px; color: var(--havor-text); text-decoration: none; }
.havor-menu-toggle, .havor-mobile-menu, .havor-mobile-scrim { display: none; }
.havor-mobile-menu[hidden], .havor-mobile-scrim[hidden] { display: none; }

.havor-hero { overflow: hidden; background: #f6f8fc; }
.havor-hero-inner { min-height: min(660px, 74vh); display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 5vw; padding-block: clamp(56px, 8vw, 108px); }
.havor-hero-copy { position: relative; z-index: 1; max-width: 600px; }
.havor-eyebrow { margin: 0 0 16px; color: var(--havor-primary); font-size: 11px; font-weight: 700; letter-spacing: .15em; line-height: 1.4; text-transform: uppercase; }
.havor-hero h1 { max-width: 620px; margin-bottom: 24px; }
.havor-hero-description { max-width: 480px; margin-bottom: 34px; color: var(--havor-muted); font-size: clamp(16px, 1.5vw, 19px); line-height: 1.65; }
.havor-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.added_to_cart { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 13px; padding: 0 23px; border: 1px solid var(--havor-primary); border-radius: 7px; background: var(--havor-primary); color: #fff; text-decoration: none; font-size: 14px; font-weight: 650; transition: background-color .18s ease, transform .18s ease, border-color .18s ease; }
.havor-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover { background: var(--havor-primary-hover); border-color: var(--havor-primary-hover); color: #fff; transform: translateY(-1px); }
.havor-hero-art { position: relative; min-height: 380px; height: min(47vw, 480px); display: grid; place-items: center; }
.havor-hero-art.has-image { overflow: hidden; border-radius: 18px; }
.havor-hero-art.has-image img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.havor-art-shape { position: absolute; border-radius: 50%; }
.havor-art-shape-one { width: min(78%, 390px); aspect-ratio: 1; right: 4%; top: 4%; background: #dbe8ff; }
.havor-art-shape-two { width: min(54%, 270px); aspect-ratio: 1; left: 4%; bottom: 3%; background: #e9eef7; }
.havor-art-card { position: relative; width: min(55%, 272px); aspect-ratio: .78; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.65); border-radius: 5px; background: linear-gradient(145deg,#fff 0%,#f2f4f7 100%); box-shadow: 0 35px 70px rgba(24,45,82,.18); transform: rotate(7deg); }
.havor-art-card > span { color: var(--havor-primary); font-size: clamp(70px, 9vw, 120px); font-weight: 750; letter-spacing: -.12em; }
.havor-art-card i { position: absolute; width: 34%; height: 3px; left: 33%; bottom: 22%; background: #d6dbe4; }
.havor-art-card b { position: absolute; width: 22%; height: 3px; left: 39%; bottom: 18%; background: #e1e5eb; }
.havor-section { padding-block: clamp(64px, 8vw, 104px); }
.havor-section + .havor-section { padding-top: 8px; }
.havor-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 32px; }
.havor-section-heading h2 { margin: 0; }
.havor-text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--havor-black); text-decoration: none; font-size: 13px; font-weight: 650; }
.havor-text-link:hover { color: var(--havor-primary); }
.havor-text-link .havor-icon { width: 17px; height: 17px; }
.havor-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px; }
.havor-category-card { overflow: hidden; border: 1px solid var(--havor-border); border-radius: var(--havor-radius); color: var(--havor-black); text-decoration: none; transition: box-shadow .2s ease, transform .2s ease; }
.havor-category-card:hover { transform: translateY(-3px); box-shadow: var(--havor-shadow); color: var(--havor-black); }
.havor-category-image { position: relative; aspect-ratio: 1.12; display: grid; place-items: center; overflow: hidden; background: var(--havor-light); }
.havor-category-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.havor-category-card:hover .havor-category-image img { transform: scale(1.035); }
.havor-category-image > span { color: #dce5f3; font-size: 90px; font-weight: 700; }
.havor-category-label { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; font-size: 14px; font-weight: 650; }
.havor-category-label .havor-icon { width: 17px; height: 17px; color: var(--havor-primary); }
.havor-products-section .havor-section-heading { margin-bottom: 28px; }

.havor-content-layout { min-height: 50vh; padding-block: clamp(48px, 7vw, 88px); }
.havor-page-heading { margin-bottom: 36px; }
.havor-page-heading h1 { font-size: clamp(2.2rem, 4.2vw, 3.8rem); }
.havor-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px; }
.havor-post-card { overflow: hidden; border: 1px solid var(--havor-border); border-radius: var(--havor-radius); }
.havor-post-card-image { display: block; aspect-ratio: 1.25; overflow: hidden; background: var(--havor-light); }
.havor-post-card-image img { width: 100%; height: 100%; object-fit: cover; }
.havor-post-card-copy { padding: 24px; }
.havor-post-card-copy h2 { font-size: 22px; }
.havor-post-card-copy h2 a { color: var(--havor-black); text-decoration: none; }
.havor-post-card-copy .havor-eyebrow { color: var(--havor-muted); letter-spacing: .04em; text-transform: none; }
.havor-entry { max-width: 850px; margin-inline: auto; }
.havor-entry-header { margin-bottom: 36px; }
.havor-entry-header h1 { font-size: clamp(2.2rem, 4.2vw, 3.8rem); }
.havor-featured-image { margin-bottom: 40px; }
.havor-featured-image img { display: block; width: 100%; border-radius: var(--havor-radius); }
.entry-content { font-size: 17px; line-height: 1.8; }
.entry-content img { border-radius: 6px; }
.entry-content h2, .entry-content h3 { margin-top: 1.8em; }
.havor-empty-state, .havor-error-page { max-width: 720px; margin-inline: auto; }
.havor-error-page h1 { max-width: 680px; font-size: clamp(2.5rem, 5vw, 4.25rem); }
.havor-error-page .search-form, .havor-empty-state .search-form { max-width: 480px; margin: 28px 0; }
.havor-error-page .havor-button { margin-top: 8px; }
.navigation.pagination { margin-top: 48px; }
.nav-links { display: flex; gap: 8px; }
.page-numbers { min-width: 40px; min-height: 40px; display: inline-grid; place-items: center; padding: 0 10px; border: 1px solid var(--havor-border); border-radius: 6px; color: var(--havor-text); text-decoration: none; }
.page-numbers.current { background: var(--havor-black); border-color: var(--havor-black); color: #fff; }

.havor-footer { clear: both; margin-top: 40px; padding: 64px 0 22px; background: var(--havor-light); border-top: 1px solid var(--havor-border); }
.havor-footer-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 48px; }
.havor-footer-brand > .havor-wordmark, .havor-footer-brand > .custom-logo-link { margin-bottom: 20px; }
.havor-footer .widget-title { margin: 0 0 16px; color: var(--havor-black); font-size: 13px; letter-spacing: .02em; }
.havor-footer-menu, .havor-legal-menu, .havor-social-menu { margin: 0; padding: 0; list-style: none; }
.havor-footer-menu li { margin: 0 0 10px; }
.havor-footer-menu a, .havor-legal-menu a, .havor-social-menu a { color: #626874; text-decoration: none; font-size: 13px; }
.havor-footer-menu a:hover, .havor-legal-menu a:hover, .havor-social-menu a:hover { color: var(--havor-primary); }
.havor-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid #e4e6ea; }
.havor-copyright { margin: 0; color: var(--havor-muted); font-size: 12px; }
.havor-legal-menu, .havor-social-menu { display: flex; flex-wrap: wrap; gap: 18px; }

/* WooCommerce: native templates remain in control of forms and extension hooks. */
.havor-woo-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 40px; }
.havor-woo-layout.has-sidebar { grid-template-columns: minmax(0,1fr) 240px; }
.havor-woo-main { min-width: 0; }
.havor-woo-layout .woocommerce-breadcrumb, .havor-woo-layout .woocommerce-products-header, .havor-woo-layout ul.products, .havor-woo-layout div.product { width: 100%; }
.havor-woo-layout .havor-shop-sidebar { width: auto; margin-top: 90px; padding: 0; }
.havor-woo-layout .woocommerce-products-header { margin-top: 32px; }
.havor-woo-layout .havor-shop-sidebar .widget-title { font-size: 16px; letter-spacing: -.01em; }
.havor-woo-layout .havor-shop-sidebar .widget { margin-bottom: 28px; }
.havor-woo-layout .havor-shop-sidebar ul { padding: 0; list-style: none; }
.woocommerce .woocommerce-breadcrumb { margin: 22px auto; width: min(calc(100% - 48px), var(--havor-container)); color: var(--havor-muted); font-size: 12px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--havor-muted); text-decoration: none; }
.woocommerce .woocommerce-products-header { width: min(calc(100% - 48px), var(--havor-container)); margin: 36px auto 26px; }
.woocommerce .woocommerce-products-header__title { font-size: clamp(2.2rem, 4vw, 3.5rem); }
.woocommerce .woocommerce-result-count { color: var(--havor-muted); font-size: 13px; }
.woocommerce .woocommerce-ordering select { min-height: 42px; padding: 0 34px 0 12px; border: 1px solid var(--havor-border); border-radius: 6px; background: #fff; color: var(--havor-text); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(var(--havor-product-columns, 4), minmax(0,1fr)); gap: 38px 20px; width: min(calc(100% - 48px), var(--havor-container)); margin: 22px auto 64px; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none; width: auto !important; margin: 0; padding: 0; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: var(--havor-product-ratio, 4 / 5); margin: 0 0 14px; object-fit: cover; background: var(--havor-light); border-radius: var(--havor-radius-sm); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { position: relative; display: block; overflow: hidden; color: var(--havor-black); text-decoration: none; }
.woocommerce ul.products li.product a img.havor-card-hover-image { position: absolute; z-index: 1; inset: 0 auto auto 0; height: auto; opacity: 0; transition: opacity .22s ease; }
.woocommerce ul.products li.product:hover a img.havor-card-hover-image { opacity: 1; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; margin: 0 0 7px; color: var(--havor-black); font-size: 14px; font-weight: 550; line-height: 1.4; }
.woocommerce ul.products li.product .star-rating { margin: 0 0 8px; color: #e9a72f; font-size: 11px; }
.woocommerce ul.products li.product .price { display: flex; align-items: baseline; gap: 8px; margin: 0 0 12px; color: var(--havor-black); font-size: 14px; font-weight: 650; }
.woocommerce ul.products li.product .price del { color: #9298a2; font-size: 12px; font-weight: 400; }
.woocommerce ul.products li.product .price ins { color: #c24135; text-decoration: none; }
.woocommerce span.onsale { min-width: 0; min-height: 0; top: 10px; left: 10px; margin: 0; padding: 6px 9px; border-radius: 3px; background: var(--havor-primary); color: #fff; font-size: 10px; font-weight: 650; line-height: 1.2; }
.woocommerce ul.products li.product .button { min-height: 42px; padding: 0 15px; border-radius: 5px; font-size: 12px; }
.woocommerce ul.products li.product .added_to_cart { min-height: auto; padding: 7px 0; border: 0; background: transparent; color: var(--havor-primary); font-size: 12px; }
.woocommerce ul.products li.product .onsale { z-index: 3; background: var(--havor-sale, var(--havor-primary)); }
.havor-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border-radius: var(--havor-button-radius, 7px); }
.woocommerce ul.products li.product .button { border-radius: var(--havor-button-radius, 7px); }
.woocommerce div.product form.variations_form { display: block; }
.woocommerce div.product form.variations_form table.variations { width: 100%; }
.woocommerce div.product form.variations_form select { width: 100%; min-height: 46px; padding: 8px 12px; border: 1px solid var(--havor-border); border-radius: 5px; }
.woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.woocommerce div.product form.grouped_form { display: block; }
.woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce input.button.alt { background: var(--havor-primary); }
.woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover, .woocommerce input.button.alt:hover { background: var(--havor-primary-hover); }
.woocommerce nav.woocommerce-pagination { margin: -24px auto 72px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { margin-right: 6px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 40px; min-height: 40px; display: grid; place-items: center; border: 1px solid var(--havor-border); border-radius: 6px; color: var(--havor-text); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--havor-black); border-color: var(--havor-black); color: #fff; }
.woocommerce div.product { width: min(calc(100% - 48px), var(--havor-container)); margin: 40px auto 80px; }
.woocommerce div.product div.images { width: 54%; }
.woocommerce div.product div.summary { width: 40%; }
.woocommerce div.product .product_title { margin: 0 0 12px; font-size: clamp(2rem, 3.5vw, 3.2rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--havor-black); font-size: 22px; font-weight: 650; }
.woocommerce div.product p.price del, .woocommerce div.product span.price del { color: #9298a2; font-size: 15px; font-weight: 400; }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { color: #c24135; text-decoration: none; }
.woocommerce div.product .woocommerce-product-rating { margin: 12px 0; }
.woocommerce div.product .woocommerce-product-rating .star-rating { color: #e9a72f; }
.woocommerce div.product .woocommerce-product-details__short-description { color: #5d6470; }
.woocommerce div.product form.cart { display: flex; align-items: center; gap: 10px; margin: 22px 0; }
.woocommerce .quantity .qty { min-height: 48px; width: 72px; border: 1px solid var(--havor-border); border-radius: 5px; }
.woocommerce div.product form.cart .single_add_to_cart_button { min-height: 50px; flex: 1; }
.woocommerce div.product .product_meta { display: grid; gap: 6px; padding-top: 18px; border-top: 1px solid var(--havor-border); color: var(--havor-muted); font-size: 12px; }
.havor-product-details { display: grid; gap: 0; margin: 20px 0; border-top: 1px solid var(--havor-border); }
.havor-product-details p { display: grid; grid-template-columns: 95px 1fr; gap: 14px; margin: 0; padding: 12px 0; border-bottom: 1px solid var(--havor-border); font-size: 13px; }
.havor-product-details p strong { color: var(--havor-black); }
.havor-product-details p span { color: var(--havor-muted); }
.woocommerce div.product .woocommerce-tabs { margin-top: 60px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; border-bottom: 1px solid var(--havor-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 28px 0 0; padding: 0 0 12px; border: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--havor-primary); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--havor-muted); font-weight: 550; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--havor-black); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 900px; padding: 20px 0; line-height: 1.8; }
.woocommerce table.shop_table { border: 1px solid var(--havor-border); border-collapse: separate; border-spacing: 0; border-radius: 8px; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 14px 16px; border-color: var(--havor-border); }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce #payment #place_order { min-height: 52px; width: 100%; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce .select2-container--default .select2-selection--single { min-height: 46px; padding: 10px 12px; border: 1px solid #d9dde3; border-radius: 5px; background: #fff; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { top: 8px; right: 7px; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { border-top-color: var(--havor-primary); border-radius: 5px; background: var(--havor-light); }
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before { color: var(--havor-primary); }
.woocommerce .widget_shopping_cart .buttons a, .woocommerce.widget_shopping_cart .buttons a { min-height: 40px; margin: 4px; padding: 0 12px; font-size: 12px; }
.woocommerce .widget_shopping_cart .total, .woocommerce.widget_shopping_cart .total { padding-top: 12px; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 25%; }
.woocommerce-account .woocommerce-MyAccount-content { width: 70%; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 8px; border: 1px solid var(--havor-border); border-radius: 8px; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 10px 12px; color: var(--havor-text); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { border-radius: 5px; background: var(--havor-light); color: var(--havor-primary); }
.woocommerce .widget-area .widget { margin-bottom: 28px; }
.woocommerce .widget-area .widget-title { font-size: 15px; }
.woocommerce .widget-area ul { margin: 0; padding: 0; list-style: none; }
.woocommerce .widget-area li { margin: 7px 0; }
.woocommerce .widget-area a { color: var(--havor-text); text-decoration: none; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background-color: var(--havor-primary); }
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content { background-color: var(--havor-border); }
.woocommerce .widget_price_filter .price_slider_amount .button { min-height: 36px; }
.havor-filter-toggle, .havor-shop-sidebar-heading, .havor-filter-scrim { display: none; }
.havor-shop-sidebar-heading h2 { margin: 0; font-size: 20px; }

/* Elementor owns its own layout and global settings; these are low-specificity base defaults. */
.elementor-button, .elementor a.elementor-button, .elementor .elementor-button-wrapper .elementor-button { transition: transform .18s ease, background-color .18s ease; }
.elementor-widget-heading .elementor-heading-title { color: inherit; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.wp-block-button__link { border-radius: 7px; }
.wp-block-image img { border-radius: 6px; }
.wp-block-separator { border-color: var(--havor-border); }
.woocommerce .havor-woo-layout .woocommerce-breadcrumb, .woocommerce .havor-woo-layout .woocommerce-products-header, .woocommerce .havor-woo-layout ul.products, .woocommerce .havor-woo-layout div.product { width: 100%; }
.havor-full-width { min-height: 50vh; }
.comments-area, .comment-respond { min-width: 0; }
.comment-form textarea, .comment-form input:not([type="checkbox"]):not([type="submit"]) { display: block; width: 100%; max-width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--havor-border); border-radius: 5px; }
.comment-form textarea { min-height: 160px; resize: vertical; }
.comment-form label { display: inline-block; margin-bottom: 6px; }
.comment-form input[type="submit"] { max-width: 100%; min-height: 44px; padding: 10px 20px; border: 1px solid var(--havor-primary); border-radius: var(--havor-button-radius, 7px); background: var(--havor-primary); color: #fff; white-space: normal; cursor: pointer; }
.havor-elementor-hero { background: var(--havor-light); }

@media (max-width: 1024px) {
  .havor-header-main { grid-template-columns: 1fr minmax(220px, 1.2fr) 1fr; gap: 20px; min-height: 76px; }
  .havor-desktop-navigation .menu { gap: 24px; }
  .havor-category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .havor-footer-grid { gap: 28px; }
  .havor-woo-layout.has-sidebar { grid-template-columns: minmax(0,1fr) 210px; gap: 24px; }
  .havor-woo-layout.has-sidebar ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .havor-container { width: min(calc(100% - 32px), var(--havor-container)); }
  .havor-header-main { min-height: 64px; grid-template-columns: 1fr auto; gap: 12px; }
  .havor-header-search, .havor-desktop-navigation, .havor-account-link { display: none; }
  .havor-header-actions { gap: 13px; }
  .havor-header-action { min-height: 44px; }
  .havor-header-action > span:not(.havor-icon):not(.havor-cart-count) { display: none; }
  .havor-cart-panel { position: fixed; top: 70px; right: 12px; }
  .havor-menu-toggle, .havor-menu-close { width: 44px; height: 44px; display: inline-grid; place-items: center; border: 0; background: transparent; color: var(--havor-black); cursor: pointer; }
  .havor-mobile-scrim:not([hidden]) { position: fixed; inset: 0; z-index: 50; display: block; background: rgba(15,18,23,.46); }
  .havor-mobile-menu:not([hidden]) { position: fixed; inset: 0 auto 0 0; z-index: 51; width: min(360px, 88vw); display: block; overflow-y: auto; padding: 18px 20px 32px; background: #fff; box-shadow: var(--havor-shadow); animation: havor-drawer-in .18s ease-out; }
  @keyframes havor-drawer-in { from { transform: translateX(-16px); opacity: .7; } to { transform: translateX(0); opacity: 1; } }
  .havor-mobile-menu-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid var(--havor-border); }
  .havor-mobile-search { margin: 20px 0; }
  .havor-mobile-nav-list, .havor-mobile-nav-list ul { margin: 0; padding: 0; list-style: none; }
  .havor-mobile-nav-list > li { border-bottom: 1px solid #eff0f2; }
  .havor-mobile-nav-list a { min-height: 52px; display: flex; align-items: center; padding: 8px 3px; color: var(--havor-black); font-size: 15px; font-weight: 550; text-decoration: none; }
  .havor-mobile-nav-list .sub-menu { padding-left: 16px; }
  .havor-mobile-nav-list .sub-menu a { min-height: 44px; color: var(--havor-muted); font-size: 14px; }
  .havor-mobile-account { display: flex; align-items: center; gap: 10px; min-height: 52px; margin-top: 12px; color: var(--havor-black); text-decoration: none; }
  .admin-bar .havor-mobile-menu:not([hidden]) { top: 46px; }
  .havor-hero-inner { min-height: 0; grid-template-columns: 1fr; gap: 28px; padding-block: 50px 42px; }
  .havor-hero h1 { max-width: 600px; font-size: clamp(2.4rem, 10vw, 3.6rem); }
  .havor-hero-description { font-size: 16px; }
  .havor-hero-art { min-height: 250px; height: 70vw; max-height: 360px; }
  .havor-section { padding-block: 58px; }
  .havor-section-heading { align-items: start; flex-direction: column; margin-bottom: 24px; }
  .havor-category-grid { gap: 12px; }
  .havor-category-label { min-height: 52px; padding: 12px; font-size: 12px; }
  .havor-post-grid { grid-template-columns: repeat(1, minmax(0,1fr)); gap: 18px; }
  .havor-content-layout { padding-block: 42px 64px; }
  .havor-footer { padding-top: 46px; }
  .havor-footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px 18px; padding-bottom: 32px; }
  .havor-footer-brand { grid-column: 1 / -1; }
  .havor-footer-bottom { align-items: flex-start; flex-direction: column; gap: 14px; }
  .havor-legal-menu, .havor-social-menu { gap: 12px; }
  .woocommerce .woocommerce-breadcrumb, .woocommerce .woocommerce-products-header { width: calc(100% - 32px); }
  .woocommerce ul.products { width: calc(100% - 32px); grid-template-columns: repeat(2, minmax(0,1fr)); gap: 26px 12px; margin-top: 16px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px; }
  .woocommerce ul.products li.product .button { width: 100%; min-height: 40px; padding-inline: 7px; font-size: 11px; }
  .woocommerce ul.products li.product .price { font-size: 13px; }
  .woocommerce ul.products li.product .star-rating { margin-bottom: 7px; }
  .woocommerce .woocommerce-result-count { float: none; margin: 0 0 12px; }
  .woocommerce .woocommerce-ordering { float: none; margin: 0 0 14px; }
  .woocommerce .woocommerce-ordering select { max-width: 100%; }
  .woocommerce div.product { width: calc(100% - 32px); margin: 22px auto 58px; }
  .woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: 100%; }
  .woocommerce div.product .product_title { font-size: 2rem; }
  .woocommerce div.product div.images { margin-bottom: 25px; }
  .woocommerce div.product .woocommerce-tabs { margin-top: 40px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; overflow-x: auto; white-space: nowrap; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li { margin-right: 20px; }
  .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 24px; }
  .woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 10px 8px; }
  .havor-woo-layout.has-sidebar { grid-template-columns: minmax(0,1fr); gap: 0; }
  .havor-shop-has-sidebar .havor-filter-toggle { min-height: 42px; display: inline-flex; align-items: center; margin: 0 0 14px; padding: 0 14px; border: 1px solid var(--havor-border); border-radius: 5px; background: #fff; color: var(--havor-text); font-size: 13px; }
  .havor-shop-has-sidebar .havor-shop-sidebar { position: fixed; inset: 0 0 0 auto; z-index: 71; visibility: hidden; width: min(360px, 88vw); height: 100dvh; overflow-y: auto; margin: 0; padding: 20px; background: #fff; box-shadow: var(--havor-shadow); transform: translateX(105%); transition: transform .2s ease, visibility .2s; }
  .havor-shop-has-sidebar .havor-shop-sidebar.is-open { transform: translateX(0); visibility: visible; transition: transform .2s ease; }
  .havor-shop-sidebar-heading { display: flex; align-items: center; justify-content: space-between; margin: 0 0 24px; padding-bottom: 16px; border-bottom: 1px solid var(--havor-border); }
  .havor-filter-close { width: 44px; height: 44px; display: inline-grid; place-items: center; border: 0; background: transparent; color: var(--havor-black); }
  .havor-filter-scrim:not([hidden]) { position: fixed; inset: 0; z-index: 70; display: block; background: rgba(15,18,23,.46); }
}
@media (max-width: 380px) {
  .havor-container { width: calc(100% - 24px); }
  .havor-header-actions { gap: 8px; }
  .havor-category-grid { gap: 8px; }
  .havor-category-label { gap: 5px; padding: 10px 8px; }
  .woocommerce ul.products { width: calc(100% - 24px); gap: 24px 9px; }
  .woocommerce ul.products li.product .button { font-size: 10px; }
  .woocommerce div.product form.cart { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
