:root {
  --ec-text: #111111;
  --ec-bg: #ffffff;
  --ec-surface: #f4f3ef;
  --ec-border: #d8d5cf;
  --ec-accent: #111111;
  --ec-header-height: 72px;
  --ec-announcement-height: 30px;
  --ec-page-pad: clamp(16px, 2.2vw, 38px);
  --ec-transition: 220ms cubic-bezier(.2,.75,.3,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ec-text);
  background: var(--ec-bg);
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}
body.ec-lock { overflow: hidden; }
a { color: inherit; text-decoration: none; }
a:hover { opacity: .72; }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  clip: auto !important; clip-path: none; display: block; height: auto; left: 8px; top: 8px;
  width: auto; z-index: 100000; padding: 12px 16px; background: #fff; color: #111;
}
.ec-icon { width: 21px; height: 21px; display: block; }
.ec-icon-button {
  border: 0; background: transparent; padding: 7px; display: inline-flex; align-items: center;
  justify-content: center; cursor: pointer; min-width: 34px; min-height: 34px;
}
.ec-text-button {
  border: 0; background: transparent; padding: 0; display: inline-flex; gap: 8px; align-items: center;
  text-transform: uppercase; letter-spacing: .11em; font-size: 11px; cursor: pointer;
}
.ec-text-button .ec-icon { width: 15px; height: 15px; }
.button,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  border: 1px solid var(--ec-accent) !important; border-radius: 0 !important; background: var(--ec-accent) !important;
  color: #fff !important; padding: 14px 18px !important; text-transform: uppercase; letter-spacing: .11em;
  font-size: 11px !important; font-weight: 600 !important; line-height: 1 !important; cursor: pointer;
  transition: opacity var(--ec-transition), background var(--ec-transition), color var(--ec-transition);
}
.button:hover,
.wp-element-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { opacity: .78; }
.is-style-outline .wp-block-button__link { background: transparent !important; color: #fff !important; border-color: #fff !important; }

.ec-announcement {
  height: var(--ec-announcement-height); display: flex; align-items: center; justify-content: center;
  padding: 0 var(--ec-page-pad); background: #111; color: #fff; font-size: 10px; text-transform: uppercase;
  letter-spacing: .12em; text-align: center; position: relative; z-index: 110;
}
.ec-site-header {
  height: var(--ec-header-height); border-bottom: 1px solid var(--ec-border); background: rgba(255,255,255,.96);
  position: sticky; top: 0; z-index: 100; backdrop-filter: blur(10px); transition: background var(--ec-transition), color var(--ec-transition);
}
.admin-bar .ec-site-header { top: 32px; }
.ec-transparent-header.is-front-page .ec-site-header,
.ec-transparent-header.home .ec-site-header {
  position: absolute; top: var(--ec-announcement-height); left: 0; right: 0; background: transparent; color: #fff;
  border-bottom-color: rgba(255,255,255,.35); backdrop-filter: none;
}
.admin-bar.ec-transparent-header .ec-site-header { top: calc(32px + var(--ec-announcement-height)); }
.ec-header-inner {
  height: 100%; padding: 0 var(--ec-page-pad); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  position: relative;
}
.ec-brand { justify-self: center; font-size: 21px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.ec-brand img { max-height: 34px; width: auto; }
.ec-brand .custom-logo-link { display: block; }
.ec-primary-navigation { justify-self: start; }
.ec-secondary-navigation { position: absolute; right: 170px; top: 0; height: 100%; display: flex; align-items: center; }
.ec-header-actions { justify-self: end; display: flex; align-items: center; gap: 1px; }
.ec-menu-toggle { display: none; justify-self: start; }
.ec-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: stretch; gap: 24px; }
.ec-menu > li { position: static; display: flex; align-items: center; }
.ec-menu > li > a { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; padding: 28px 0; }
.ec-menu .sub-menu {
  list-style: none; margin: 0; padding: 28px var(--ec-page-pad) 34px; position: absolute; left: 0; right: 0; top: 100%;
  display: grid; grid-template-columns: repeat(5, minmax(150px, 1fr)); gap: 22px 34px; background: var(--ec-bg); color: var(--ec-text);
  border-top: 1px solid var(--ec-border); border-bottom: 1px solid var(--ec-border); visibility: hidden; opacity: 0;
  transform: translateY(-8px); transition: opacity var(--ec-transition), transform var(--ec-transition), visibility var(--ec-transition);
  box-shadow: 0 16px 30px rgba(0,0,0,.06); z-index: 120;
}
.ec-menu li:hover > .sub-menu,
.ec-menu li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.ec-menu .sub-menu > li > a { display: block; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 12px; }
.ec-menu .sub-menu .sub-menu {
  position: static; display: block; visibility: visible; opacity: 1; transform: none; padding: 0; border: 0; box-shadow: none;
}
.ec-menu .sub-menu .sub-menu li { margin: 8px 0; }
.ec-menu .sub-menu .sub-menu a { font-size: 13px; color: #555; letter-spacing: 0; text-transform: none; }
.ec-cart-button { position: relative; }
.ec-cart-count {
  min-width: 16px; height: 16px; padding: 0 4px; border-radius: 50%; background: currentColor; color: var(--ec-bg);
  font-size: 9px; display: inline-flex; align-items: center; justify-content: center; position: absolute; right: 0; top: 1px;
}
.ec-transparent-header .ec-cart-count { color: #111; background: #fff; }

.ec-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.42); z-index: 199; opacity: 0; transition: opacity var(--ec-transition);
}
.ec-overlay.is-active { opacity: 1; }
.ec-drawer {
  position: fixed; top: 0; bottom: 0; right: 0; width: min(460px, 94vw); background: var(--ec-bg); z-index: 210;
  transform: translateX(102%); transition: transform var(--ec-transition); overflow-y: auto; box-shadow: -20px 0 50px rgba(0,0,0,.12);
}
.ec-drawer.is-open { transform: translateX(0); }
.ec-drawer-head {
  min-height: 72px; padding: 0 22px; border-bottom: 1px solid var(--ec-border); display: flex; align-items: center; justify-content: space-between;
  position: sticky; top: 0; z-index: 2; background: var(--ec-bg);
}
.ec-drawer-head h2 { margin: 0; font-size: 15px; font-weight: 500; }
.ec-mobile-menu { left: 0; right: auto; transform: translateX(-102%); }
.ec-mobile-navigation { padding: 8px 22px 30px; }
.ec-mobile-menu-list, .ec-mobile-menu-list ul { list-style: none; padding: 0; margin: 0; }
.ec-mobile-menu-list > li { border-bottom: 1px solid var(--ec-border); }
.ec-mobile-menu-list a { display: block; padding: 17px 0; font-size: 14px; }
.ec-mobile-menu-list .sub-menu { padding-left: 16px; display: none; }
.ec-mobile-menu-list .menu-item-has-children.is-expanded > .sub-menu { display: block; }
.ec-mobile-menu-list .sub-menu a { color: #555; padding: 11px 0; }
.ec-mobile-account-links { border-top: 1px solid var(--ec-border); padding: 20px 22px 40px; display: flex; gap: 24px; text-transform: uppercase; letter-spacing: .1em; font-size: 11px; }

.ec-search-overlay {
  position: fixed; left: 0; right: 0; top: 0; z-index: 210; background: var(--ec-bg); transform: translateY(-105%);
  transition: transform var(--ec-transition); box-shadow: 0 20px 50px rgba(0,0,0,.12);
}
.ec-search-overlay.is-open { transform: translateY(0); }
.ec-search-head { min-height: 68px; padding: 0 var(--ec-page-pad); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--ec-border); }
.ec-search-form-wrap { padding: clamp(30px, 6vw, 90px) var(--ec-page-pad); }
.ec-search-form-wrap form { display: flex; border-bottom: 1px solid var(--ec-text); }
.ec-search-form-wrap input[type="search"] { width: 100%; border: 0; background: transparent; padding: 14px 0; font-size: clamp(28px, 4vw, 60px); outline: none; }
.ec-search-form-wrap button { border: 0; background: transparent; font-size: 0; cursor: pointer; }
.ec-search-form-wrap button::after { content: "→"; font-size: 34px; }

.ec-mini-cart { padding: 20px 22px 30px; }
.ec-mini-cart .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.ec-mini-cart .woocommerce-mini-cart-item { padding: 0 24px 18px 0 !important; margin-bottom: 18px; border-bottom: 1px solid var(--ec-border); min-height: 110px; position: relative; }
.ec-mini-cart .woocommerce-mini-cart-item img { float: left; width: 82px; margin-right: 14px; }
.ec-mini-cart .remove { position: absolute !important; right: 0; top: 0; color: #111 !important; }
.ec-mini-cart .quantity { display: block; color: #666; margin-top: 8px; }
.ec-mini-cart__total { display: flex; justify-content: space-between; padding: 18px 0; border-top: 1px solid var(--ec-text); }
.ec-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ec-mini-cart__buttons a { text-align: center; }

.ec-modal {
  position: fixed; left: 50%; top: 50%; width: min(980px, 94vw); max-height: 90vh; overflow: auto; background: var(--ec-bg);
  z-index: 220; opacity: 0; visibility: hidden; transform: translate(-50%, -48%) scale(.985); transition: opacity var(--ec-transition), transform var(--ec-transition), visibility var(--ec-transition);
  box-shadow: 0 20px 80px rgba(0,0,0,.25);
}
.ec-modal.is-open { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); }
.ec-modal-close { position: absolute; right: 12px; top: 12px; z-index: 4; background: rgba(255,255,255,.8); }
.ec-quick-view-layout { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 580px; }
.ec-quick-view-media { background: var(--ec-surface); }
.ec-quick-view-media img { width: 100%; height: 100%; object-fit: cover; }
.ec-quick-view-summary { padding: clamp(34px, 5vw, 72px); display: flex; flex-direction: column; justify-content: center; }
.ec-quick-view-summary h2 { font-size: clamp(28px, 3vw, 48px); font-weight: 500; margin: 0 0 14px; }
.ec-quick-view-summary .price { font-size: 16px; margin-bottom: 24px; }
.ec-quick-description { color: #555; font-size: 14px; }
.ec-quick-view-summary form.cart { margin-top: 24px; }
.ec-product-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; text-transform: uppercase; letter-spacing: .1em; font-size: 10px; }
.ec-product-link .ec-icon { width: 16px; }
.ec-region-modal { width: min(520px, 92vw); }
.ec-region-content { padding: 56px 36px 38px; text-align: center; }
.ec-region-content h2 { font-size: 34px; margin: 0 0 14px; font-weight: 500; }
.ec-region-content p { color: #555; }
.ec-region-continue { margin-top: 14px; }
.ec-note { font-size: 11px !important; color: #777 !important; }

.ec-site-main { min-height: 60vh; }
.ec-front-page .entry-content { margin: 0; }
.ec-front-page .entry-content > * { margin-block-start: 0; }
.ec-campaign-hero { color: #fff; }
.ec-campaign-hero h1 { max-width: 900px; margin-left: auto; margin-right: auto; }
.ec-campaign-hero p { max-width: 620px; margin-left: auto; margin-right: auto; }
.ec-editorial-split { gap: 1px !important; }
.ec-editorial-split > .wp-block-column { margin: 0 !important; }
.ec-editorial-split .wp-block-cover { color: #fff; }
.ec-editorial-split h2 { font-size: clamp(28px, 4vw, 58px); }
.ec-editorial-split p a { color: #fff; border-bottom: 1px solid currentColor; text-transform: uppercase; letter-spacing: .12em; font-size: 10px; }
.entry-content > .alignfull { width: 100%; margin-left: 0; margin-right: 0; }
.entry-content > .alignwide { width: min(1440px, calc(100% - 2 * var(--ec-page-pad))); margin-left: auto; margin-right: auto; }
.entry-content p, .entry-content h1, .entry-content h2, .entry-content h3, .entry-content ul, .entry-content ol { max-width: 760px; }
.entry-content > p, .entry-content > h1, .entry-content > h2, .entry-content > h3, .entry-content > ul, .entry-content > ol { margin-left: auto; margin-right: auto; padding-left: var(--ec-page-pad); padding-right: var(--ec-page-pad); }

.ec-section-header { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.ec-section-header h2 { margin: 0; font-size: clamp(26px, 3vw, 45px); font-weight: 500; }
.ec-section-header a { display: inline-flex; align-items: center; gap: 8px; text-transform: uppercase; letter-spacing: .1em; font-size: 10px; }
.ec-section-header .ec-icon { width: 15px; }
.ec-product-rail { padding: clamp(54px, 7vw, 110px) 0; }
.ec-rail-scroll .woocommerce { width: 100%; }
.ec-rail-scroll ul.products { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin: 0 !important; padding-bottom: 10px; scrollbar-width: thin; }
.ec-rail-scroll ul.products li.product { min-width: min(320px, 72vw); width: min(320px, 72vw) !important; flex: 0 0 auto; scroll-snap-align: start; margin: 0 !important; }

.ec-content-shell, .ec-shop-shell { width: min(1600px, 100%); margin: 0 auto; padding: 0 var(--ec-page-pad); }
.ec-content-narrow { width: min(850px, calc(100% - 2 * var(--ec-page-pad))); margin: 0 auto; }
.ec-page-header { padding-top: clamp(56px, 8vw, 120px); padding-bottom: clamp(36px, 5vw, 70px); }
.ec-page-header h1 { margin: 0; font-size: clamp(42px, 7vw, 96px); font-weight: 500; }
.ec-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: 10px; margin: 0 0 10px; }
.ec-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 18px; padding-bottom: 80px; }
.ec-post-card-image { aspect-ratio: 4/5; overflow: hidden; background: var(--ec-surface); display: block; }
.ec-post-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ec-post-card:hover img { transform: scale(1.02); }
.ec-post-card-content { padding: 16px 0; }
.ec-post-card-content h2 { margin: 0 0 8px; font-size: 21px; font-weight: 500; }
.ec-post-card-content p { color: #555; }
.ec-article-header { padding: clamp(60px, 9vw, 130px) 0 45px; }
.ec-article-header h1 { font-size: clamp(42px, 7vw, 85px); font-weight: 500; margin: 0; }
.ec-article-image { margin-bottom: 48px; }
.ec-single .entry-content { padding-bottom: 90px; }
.ec-empty-state { min-height: 55vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 50px var(--ec-page-pad); }
.ec-empty-state h1, .ec-empty-state h2 { font-size: clamp(38px, 6vw, 76px); margin: 0 0 12px; font-weight: 500; }

/* WooCommerce catalogue */
.woocommerce .woocommerce-breadcrumb { margin: 28px 0 0 !important; color: #777 !important; font-size: 11px !important; }
.woocommerce-products-header { padding: clamp(38px, 6vw, 84px) 0 30px; }
.woocommerce-products-header__title { font-size: clamp(42px, 7vw, 90px); font-weight: 500; margin: 0; }
.term-description { max-width: 700px; color: #555; }
.ec-shop-tools { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--ec-border); border-bottom: 1px solid var(--ec-border); padding: 15px 0; margin-bottom: 22px; }
.ec-grid-switch { display: flex; gap: 4px; }
.ec-grid-switch button { background: transparent; border: 0; opacity: .45; cursor: pointer; padding: 4px; }
.ec-grid-switch button.is-active { opacity: 1; }
.ec-grid-switch button:first-child .ec-icon { width: 18px; }
.ec-grid-switch button:last-child .ec-icon { width: 13px; }
.woocommerce .woocommerce-ordering, .woocommerce .woocommerce-result-count { display: none; }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 12px; margin: 0 0 70px !important; }
.woocommerce ul.products.ec-grid-compact { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; }
.ec-product-media { position: relative; aspect-ratio: 4/5; background: var(--ec-surface); overflow: hidden; }
.ec-product-media a { display: block; width: 100%; height: 100%; }
.ec-product-media img { width: 100% !important; height: 100% !important; object-fit: cover; margin: 0 !important; transition: opacity .35s ease, transform .55s ease; }
.ec-product-image-secondary { position: absolute; inset: 0; opacity: 0; }
.ec-product-card:hover .ec-product-image-primary { opacity: 0; }
.ec-product-card:hover .ec-product-image-secondary { opacity: 1; }
.ec-product-card:hover .ec-product-media img { transform: scale(1.01); }
.ec-product-badge { position: absolute; top: 12px; left: 12px; padding: 6px 8px; background: rgba(255,255,255,.88); text-transform: uppercase; letter-spacing: .1em; font-size: 9px; z-index: 2; }
.ec-product-card-body { padding: 12px 0 0; }
.ec-product-card-link { display: flex; justify-content: space-between; gap: 12px; align-items: start; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 !important; margin: 0 !important; font-size: 13px !important; font-weight: 400; line-height: 1.35; }
.woocommerce ul.products li.product .price { color: var(--ec-text) !important; font-size: 12px !important; margin: 0 !important; white-space: nowrap; }
.ec-product-card-actions { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 10px; min-height: 28px; }
.ec-product-card-actions .button { background: transparent !important; color: var(--ec-text) !important; border: 0 !important; padding: 0 !important; font-size: 9px !important; text-decoration: underline; text-underline-offset: 3px; }
.ec-quick-view { border: 0; background: transparent; padding: 0; cursor: pointer; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.ec-filter-content { padding: 14px 22px 50px; }
.ec-filter-content .widget { border-bottom: 1px solid var(--ec-border); padding: 20px 0; }
.ec-filter-content .widget-title { margin: 0 0 14px; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.ec-filter-content ul { list-style: none; margin: 0; padding: 0; }
.ec-filter-content li { margin: 8px 0; font-size: 13px; }
.ec-filter-content select { width: 100%; border: 1px solid var(--ec-border); border-radius: 0; padding: 12px; background: var(--ec-bg); }

/* WooCommerce product */
.single-product .ec-shop-shell { padding-top: 28px; }
.single-product div.product { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(360px, .75fr); gap: clamp(28px, 4vw, 70px); align-items: start; }
.single-product div.product .woocommerce-product-gallery { width: auto !important; float: none !important; margin: 0 !important; }
.single-product div.product .summary { width: auto !important; float: none !important; margin: 0 !important; position: sticky; top: calc(var(--ec-header-height) + 28px); padding: 26px 0 40px; }
.single-product .woocommerce-product-gallery__wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.single-product .woocommerce-product-gallery__image { width: auto !important; float: none !important; background: var(--ec-surface); }
.single-product .woocommerce-product-gallery__image:first-child { grid-column: span 2; }
.single-product .woocommerce-product-gallery__trigger { z-index: 2 !important; }
.single-product .summary .product_title { font-size: clamp(28px, 3.2vw, 48px); font-weight: 500; line-height: 1.06; margin: 0 0 14px; }
.single-product .summary .price { color: var(--ec-text) !important; font-size: 16px !important; }
.ec-product-brand { text-transform: uppercase; letter-spacing: .12em; font-size: 10px; margin-bottom: 10px; }
.single-product .summary .woocommerce-product-details__short-description { color: #555; font-size: 14px; }
.single-product form.cart { margin-top: 26px !important; }
.single-product form.cart .quantity { margin-right: 8px !important; }
.single-product .quantity .qty { min-height: 44px; border: 1px solid var(--ec-border); border-radius: 0; }
.single-product .single_add_to_cart_button { min-height: 44px; min-width: 220px; }
.single-product table.variations { margin-bottom: 18px !important; }
.single-product table.variations th, .single-product table.variations td { display: block; width: 100%; padding: 0 0 8px !important; text-align: left; }
.single-product table.variations label { text-transform: uppercase; letter-spacing: .1em; font-size: 10px; }
.single-product table.variations select { width: 100%; min-width: 100% !important; border: 1px solid var(--ec-border); background: var(--ec-bg); border-radius: 0; padding: 13px; }
.single-product .product_meta { font-size: 11px; color: #666; padding-top: 20px; border-top: 1px solid var(--ec-border); }
.single-product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 20px; }
.single-product .woocommerce-tabs ul.tabs { display: flex; gap: 28px; padding: 0 !important; margin: 0 !important; border-bottom: 1px solid var(--ec-border); }
.single-product .woocommerce-tabs ul.tabs::before { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li { border: 0 !important; background: transparent !important; padding: 0 !important; margin: 0 !important; border-radius: 0 !important; }
.single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li a { padding: 16px 0 !important; font-size: 10px; text-transform: uppercase; letter-spacing: .11em; font-weight: 500 !important; }
.single-product .woocommerce-tabs .panel { padding: 32px 0 50px; max-width: 850px; }
.single-product .related.products, .single-product .up-sells { grid-column: 1 / -1; padding-top: 60px; }
.single-product .related.products > h2, .single-product .up-sells > h2 { font-size: clamp(28px, 3vw, 44px); font-weight: 500; }

/* WooCommerce utility pages */
.woocommerce-account .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce { width: min(1280px, calc(100% - 2 * var(--ec-page-pad))); margin: 0 auto; padding: 70px 0 100px; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 24%; }
.woocommerce-account .woocommerce-MyAccount-content { width: 72%; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ec-border); }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--ec-border); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 14px 0; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select { border: 1px solid var(--ec-border); border-radius: 0; padding: 12px; background: var(--ec-bg); }
.woocommerce table.shop_table { border-radius: 0 !important; border-color: var(--ec-border) !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--ec-text) !important; background: var(--ec-surface) !important; color: var(--ec-text) !important; }

.ec-site-footer { border-top: 1px solid var(--ec-border); margin-top: 80px; }
.ec-newsletter-section { padding: clamp(52px, 7vw, 100px) var(--ec-page-pad); display: grid; grid-template-columns: 1fr 1fr; gap: 50px; border-bottom: 1px solid var(--ec-border); }
.ec-newsletter-section h2 { margin: 0 0 10px; font-size: clamp(34px, 5vw, 70px); font-weight: 500; }
.ec-newsletter-section p { max-width: 520px; color: #555; }
.ec-newsletter-placeholder { display: flex; border-bottom: 1px solid var(--ec-text); margin-top: 20px; }
.ec-newsletter-placeholder input { flex: 1; border: 0; background: transparent; padding: 15px 0; outline: none; }
.ec-newsletter-placeholder button { border: 0; background: transparent; padding: 0; text-transform: uppercase; letter-spacing: .1em; font-size: 10px; }
.ec-footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; padding: 42px var(--ec-page-pad) 70px; }
.ec-footer-heading { width: 100%; border: 0; background: transparent; padding: 0 0 14px; text-align: left; text-transform: uppercase; letter-spacing: .11em; font-size: 10px; display: flex; justify-content: space-between; }
.ec-footer-heading .ec-icon { display: none; width: 15px; }
.ec-footer-menu { list-style: none; margin: 0; padding: 0; }
.ec-footer-menu li { margin: 9px 0; }
.ec-footer-menu a { color: #555; font-size: 13px; }
.ec-footer-bottom { border-top: 1px solid var(--ec-border); padding: 18px var(--ec-page-pad); display: flex; justify-content: space-between; gap: 20px; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.ec-footer-brand { font-weight: 700; letter-spacing: .18em; }

@media (max-width: 1180px) {
  .ec-primary-navigation, .ec-secondary-navigation { display: none; }
  .ec-menu-toggle { display: inline-flex; }
  .ec-header-inner { grid-template-columns: 1fr auto 1fr; }
  .woocommerce ul.products.ec-grid-compact { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  :root { --ec-header-height: 62px; }
  .admin-bar .ec-site-header { top: 46px; }
  .admin-bar.ec-transparent-header .ec-site-header { top: calc(46px + var(--ec-announcement-height)); }
  .ec-header-actions .ec-icon-button:nth-child(2) { display: none; }
  .ec-brand { font-size: 16px; }
  .ec-brand img { max-height: 28px; }
  .ec-quick-view-layout { grid-template-columns: 1fr; }
  .ec-quick-view-media { max-height: 48vh; }
  .ec-quick-view-summary { padding: 28px; }
  .ec-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .single-product div.product { grid-template-columns: 1fr; }
  .single-product div.product .summary { position: static; }
  .ec-newsletter-section { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  :root { --ec-page-pad: 14px; --ec-announcement-height: 28px; }
  .ec-announcement { font-size: 8px; }
  .ec-header-actions { gap: 0; }
  .ec-header-actions .ec-icon-button { padding: 5px; min-width: 31px; }
  .ec-header-actions .ec-icon { width: 19px; }
  .ec-cart-count { right: -2px; }
  .ec-brand { letter-spacing: .11em; }
  .ec-search-form-wrap input[type="search"] { font-size: 30px; }
  .ec-modal { width: 100vw; max-height: 100vh; height: 100vh; }
  .ec-quick-view-layout { min-height: 100%; }
  .ec-quick-view-media { max-height: 47vh; }
  .ec-editorial-split { display: block !important; }
  .ec-editorial-split .wp-block-cover { min-height: 62vh !important; }
  .ec-product-rail { padding: 50px 0; }
  .ec-section-header { align-items: end; }
  .ec-section-header h2 { font-size: 29px; }
  .ec-post-grid { grid-template-columns: 1fr; }
  .woocommerce ul.products, .woocommerce ul.products.ec-grid-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 7px; }
  .ec-product-card-link { display: block; }
  .woocommerce ul.products li.product .price { display: block; margin-top: 4px !important; }
  .ec-product-card-actions { display: none; }
  .single-product .woocommerce-product-gallery__wrapper { display: block; }
  .single-product .woocommerce-product-gallery__image:first-child { grid-column: auto; }
  .single-product .summary .single_add_to_cart_button { width: calc(100% - 72px); min-width: 0; }
  .single-product .woocommerce-tabs ul.tabs { gap: 18px; overflow-x: auto; }
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
  .ec-footer-grid { grid-template-columns: 1fr; gap: 0; padding-top: 20px; padding-bottom: 20px; }
  .ec-footer-column { border-bottom: 1px solid var(--ec-border); }
  .ec-footer-heading { padding: 17px 0; cursor: pointer; }
  .ec-footer-heading .ec-icon { display: block; transition: transform var(--ec-transition); }
  .ec-footer-heading[aria-expanded="true"] .ec-icon { transform: rotate(180deg); }
  .ec-footer-menu-wrap { display: none; padding-bottom: 14px; }
  .ec-footer-column.is-open .ec-footer-menu-wrap { display: block; }
  .ec-footer-bottom { flex-direction: column; }
}


.ec-size-guide-link { display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 16px; text-transform: uppercase; letter-spacing: .1em; font-size: 10px; text-decoration: underline; text-underline-offset: 4px; }
.ec-size-guide-link .ec-icon { width: 15px; }
.ec-recent-products { grid-column: 1 / -1; padding: 55px 0 20px; }
.ec-recent-products > h2 { font-size: clamp(28px, 3vw, 44px); font-weight: 500; }
