/* KANE visual system. Presentation only; native Elementor and Woo controls remain intact. */
body.kane-site-design {
  --kane-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
  --kane-ink: #24243a;
  --kane-muted: #68717b;
  --kane-teal: #008587;
  --kane-line: #dfe6e9;
  --kane-soft: #f5f8f9;
  --e-global-typography-primary-font-family: var(--kane-font);
  --e-global-typography-secondary-font-family: var(--kane-font);
  --e-global-typography-text-font-family: var(--kane-font);
  --e-global-typography-accent-font-family: var(--kane-font);
  --e-global-typography-primary-font-weight: 600;
  --e-global-typography-secondary-font-weight: 650;
  --e-global-typography-secondary-font-size: clamp(26px, 3vw, 38px);
  --e-global-typography-text-font-size: 16px;
  --e-global-typography-text-line-height: 1.8;
  --e-global-typography-primary-letter-spacing: 0;
  --e-global-typography-primary-line-height: 1.35;
  --e-global-typography-accent-font-size: 16px;
  --e-global-color-primary: #24243a;
  --e-global-color-text: #394653;
  --e-global-color-secondary: #008587;
  color: var(--kane-ink); background: #fff;
  font-family: var(--kane-font); font-size: 16px; font-weight: 400; line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}
body.kane-site-design :is(h1,h2,h3,h4,h5,h6,p,label,input,select,textarea,.elementor-heading-title,.elementor-widget-text-editor,.elementor-button,.elementor-item,.e-n-tab-title,.widget-image-caption,.woocommerce,.wc-block-components-button) {
  font-family: var(--kane-font) !important;
}
body.kane-site-design :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title) { letter-spacing: -.02em; line-height: 1.4; }
body.kane-site-design #content .elementor-widget-text-editor { font-size: 16px !important; line-height: 1.85 !important; letter-spacing: 0 !important; }
body.kane-site-design #content .elementor-widget-text-editor p { margin-bottom: 1.15em; }
body.kane-site-design :is(input,select,textarea) { font-size: 16px; letter-spacing: 0; }
body.kane-site-design a { text-underline-offset: 4px; }
body.kane-site-design :is(a,button,input,select,textarea):focus-visible { outline: 3px solid #2578b9; outline-offset: 3px; }
body.kane-site-design ::selection { color: #16383d; background: #c7e9e8; }

/* Shared header: retain the logo contrast, replace the heavy colour band with a fine rule. */
body.kane-site-design .elementor-location-header { background: #242b32; position: relative; z-index: 50; }
body.kane-site-design .elementor-1849 :is(.elementor-element-fc941d2,.elementor-element-b5b585f) {
  background: #242b32 !important; border-bottom: 3px solid var(--kane-teal) !important;
  --border-bottom-width: 3px; --padding-top: 4px; --padding-bottom: 4px;
}
body.kane-site-design .elementor-location-header .elementor-heading-title { color: #fff; font-size: 16px !important; font-weight: 650 !important; letter-spacing: .03em !important; }
body.kane-site-design .elementor-location-header .elementor-nav-menu--main .elementor-item { color: #edf2f4; font-size: 15px !important; font-weight: 600; letter-spacing: .02em; }
body.kane-site-design .elementor-location-header .elementor-nav-menu--main .elementor-item:is(:hover,.elementor-item-active) { color: #70d3cf !important; }
body.kane-site-design .elementor-location-header .elementor-nav-menu--dropdown { border-radius: 8px; overflow: hidden; box-shadow: 0 12px 30px #16222b20; }
body.kane-site-design .elementor-location-header .elementor-nav-menu--dropdown a { font-size: 16px !important; letter-spacing: 0; }
body.kane-site-design .elementor-location-header .e-search-input { background: #ffffff0a !important; color: #fff !important; border: 1px solid #ffffff30 !important; border-radius: 7px; padding: 9px 12px; height: 42px; min-height: 42px; font-size: 14px !important; line-height: 1.5; }
body.kane-site-design .elementor-location-header .e-search-input::placeholder { color: #bbc6cc; opacity: 1; }
body.kane-site-design .elementor-location-header .e-search-submit { font: 600 14px/1.5 var(--kane-font) !important; }

/* Shared action buttons, without restyling icon controls or configurator selections. */
body.kane-site-design #content .elementor-button,
body.kane-site-design .woocommerce :is(a.button,button.button,input.button),
body.kane-site-design .wc-block-components-button:not(.is-link),
body.kane-site-design input.wpcf7-submit {
  border-radius: 8px !important; background: var(--kane-teal) !important; color: #fff !important;
  border: 1px solid var(--kane-teal) !important; padding: 13px 22px;
  font-family: var(--kane-font) !important; font-size: 15px !important; font-weight: 650 !important;
  line-height: 1.5 !important; letter-spacing: 0 !important; text-transform: none;
  box-shadow: none; transition: background-color .18s, box-shadow .18s;
}
body.kane-site-design #content .elementor-button:hover,
body.kane-site-design .woocommerce :is(a.button,button.button,input.button):hover,
body.kane-site-design .wc-block-components-button:not(.is-link):hover { background: #006c71 !important; border-color: #006c71 !important; box-shadow: 0 4px 12px #006c7120; }
body.kane-site-design #content :is(.elementor-field-textual,.input-text,select,textarea),
body.kane-site-design .woocommerce form :is(.input-text,select,textarea) {
  border: 1px solid #cfd9df; border-radius: 7px; background: #fff; color: #293642;
  min-height: 44px; padding: 10px 12px; font-size: 16px !important; line-height: 1.5 !important;
  box-shadow: none;
}
body.kane-site-design #content .elementor-field-group label { font-size: 15px !important; line-height: 1.6 !important; font-weight: 550; }

/* Product and category cards share the configurator's border, image space and rhythm. */
body.kane-site-design #content :is(.elementor-post__card, .e-loop-item > .e-con, ul.products li.product) {
  background: #fff !important; border: 1px solid var(--kane-line) !important; border-radius: 12px !important;
  box-shadow: 0 4px 16px #182f3f04 !important; overflow: hidden;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
body.kane-site-design #content :is(.elementor-post__card, .e-loop-item > .e-con, ul.products li.product):hover {
  border-color: #82bfbe !important; box-shadow: 0 10px 28px #173d4b12 !important; transform: translateY(-3px);
}
body.kane-site-design #content .elementor-post__text { padding: 22px !important; margin: 0 !important; }
body.kane-site-design #content .elementor-post__title { font-size: 19px !important; font-weight: 650 !important; line-height: 1.55 !important; margin-bottom: 10px; }
body.kane-site-design #content .elementor-post__excerpt p { font-size: 14px; line-height: 1.8; color: var(--kane-muted); }
body.kane-site-design #content .elementor-post__read-more { color: var(--kane-teal); font-size: 13px; font-weight: 650; }
body.kane-site-design #content .e-loop-item > .e-con { --padding-top: 20px; --padding-bottom: 20px; --padding-left: 18px; --padding-right: 18px; height: 100%; }
body.kane-site-design #content .e-loop-item .elementor-widget-theme-post-featured-image img { height: 220px; width: 100%; object-fit: contain; }
body.kane-site-design #content .e-loop-item .product_title { font-size: 19px !important; line-height: 1.5 !important; font-weight: 650 !important; color: var(--kane-ink); }
body.kane-site-design #content ul.products li.product { padding: 20px; }
body.kane-site-design #content ul.products li.product .astra-shop-thumbnail-wrap img { height: 220px; object-fit: contain; margin: 0 0 18px; }
body.kane-site-design #content ul.products .woocommerce-loop-product__title { font-size: 19px !important; font-weight: 650 !important; line-height: 1.5; color: var(--kane-ink); }
body.kane-site-design #content ul.products li.product .price { font-size: 16px; font-weight: 650; color: var(--kane-teal); }
body.kane-site-design #content ul.products li.product .button { display: inline-block; margin-top: 12px; }
body.kane-site-design .elementor-pagination { margin-top: 30px; font-size: 14px; }
body.kane-site-design .elementor-pagination .page-numbers { display: inline-block; padding: 6px 12px; border-radius: 6px; }
body.kane-site-design .elementor-pagination .page-numbers.current { background: #eaf7f7; color: var(--kane-teal); }

/* Product detail and technical content. */
body.kane-site-design.single-product #content h1.product_title { font-size: clamp(30px,3.5vw,46px) !important; line-height: 1.2 !important; font-weight: 650 !important; color: var(--kane-ink); letter-spacing: -.025em; }
body.kane-site-design.single-product #content .elementor-widget-woocommerce-product-price .price,
body.kane-site-design.single-product #content .woocommerce-variation-price .price { font-size: 27px !important; font-weight: 650; color: var(--kane-teal); }
body.kane-site-design.single-product .woocommerce-product-gallery { background: #fff; border: 1px solid #edf0f2; border-radius: 14px; padding: 18px; }
body.kane-site-design.single-product .woocommerce-product-gallery img { object-fit: contain; }
body.kane-site-design.single-product .woocommerce-product-details__short-description { color: #53616d; font-size: 15px; line-height: 1.85; }
body.kane-site-design .woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--kane-line); }
body.kane-site-design .woocommerce div.product .woocommerce-tabs ul.tabs li a { font-weight: 650; font-size: 16px; padding: 16px 20px; }
body.kane-site-design .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--kane-teal); }
body.kane-site-design .woocommerce div.product .woocommerce-tabs .panel { padding: 26px 0; line-height: 1.85; }
body.kane-site-design #content :is(.woocommerce-product-attributes, .shop_table) { border-color: var(--kane-line); border-radius: 10px; overflow: hidden; }
body.kane-site-design #content :is(.woocommerce-product-attributes, .shop_table) :is(td,th) { border-color: var(--kane-line); padding: 15px; }
body.kane-site-design #content .woocommerce-product-attributes th { background: var(--kane-soft); }

/* Page titles and readable article/tab layouts. */
body.kane-site-design #content .elementor-widget-theme-post-title h1,
body.kane-site-design .elementor-3647 .elementor-element-6bde49a .elementor-heading-title,
body.kane-site-design .elementor-1915 .elementor-element-72082b7b .elementor-heading-title { font-size: clamp(28px,3.4vw,42px) !important; font-weight: 650 !important; line-height: 1.4 !important; }
body.kane-site-design #content .e-n-tabs { --n-tabs-title-font-size: 16px; --n-tabs-title-color-active: #fff; --n-tabs-title-background-color-active: #008587; --n-tabs-title-background-color-hover: #eaf7f7; --n-tabs-title-color-hover: #006c71; --n-tabs-title-border-radius: 7px; }
body.kane-site-design #content .e-n-tabs-heading { gap: 8px; padding: 7px; background: var(--kane-soft); border: 1px solid var(--kane-line); border-radius: 10px; }
body.kane-site-design #content .e-n-tab-title { font-size: 16px !important; font-weight: 600; letter-spacing: 0 !important; line-height: 1.5; border-radius: 7px; }
body.kane-site-design .elementor-1921 .elementor-widget-heading .elementor-heading-title { font-size: 25px !important; font-weight: 650 !important; line-height: 1.5 !important; }
body.kane-site-design .elementor-1921 .widget-image-caption { font-size: 14px !important; letter-spacing: 0 !important; line-height: 1.6 !important; }
body.kane-site-design .elementor-1921 .elementor-element-fb8a68c { box-shadow: none; border: 1px solid var(--kane-line); border-radius: 12px; }
body.kane-site-design .elementor-1915 :is(.elementor-element-57b6c99,.elementor-element-52c3842) { --padding-top: 36px; --padding-bottom: 36px; --padding-left: 36px; --padding-right: 36px; }
body.kane-site-design .elementor-1915 .elementor-element-08fc6fc { margin: 32px 0 !important; width: 100%; max-width: 100%; }
body.kane-site-design .elementor-1915 .elementor-element-a8ecba9 { padding: 0 !important; }
body.kane-site-design .elementor-1915 .elementor-field-group { margin-bottom: 18px !important; }
body.kane-site-design .elementor-1915 .e-n-tabs-content > .e-con { box-shadow: none !important; border: 1px solid var(--kane-line); border-radius: 12px; overflow: hidden; }
body.kane-site-design .elementor-1921 .e-n-tabs-content > .e-con { box-shadow: none !important; border: 1px solid var(--kane-line); border-radius: 12px; }

/* Homepage section headings and restrained light surfaces. */
body.kane-site-design .elementor-1873 :is(.elementor-element-3093222,.elementor-element-d6fc446,.elementor-element-c46e555) .elementor-heading-title { font-size: clamp(26px,3vw,36px) !important; font-weight: 650 !important; }
body.kane-site-design .elementor-1873 :is(.elementor-element-dbd1c37,.elementor-element-842d686) .elementor-heading-title { color: var(--kane-muted); font-size: 12px !important; font-weight: 600; letter-spacing: .14em !important; }
body.kane-site-design .elementor-1873 :is(.elementor-element-7950f6d,.elementor-element-734ace7,.elementor-element-2cec5bb) .elementor-heading-title { font-size: 22px !important; font-weight: 650 !important; }

/* Cart, checkout and account follow the same typography and surfaces. */
body.kane-site-design :is(.wc-block-cart,.wc-block-checkout,.woocommerce-account .woocommerce) { color: var(--kane-ink); font-family: var(--kane-font); }
body.kane-site-design :is(.wc-block-cart__sidebar,.wc-block-checkout__sidebar,.cart_totals) { background: var(--kane-soft); border: 1px solid var(--kane-line); border-radius: 12px; padding: 22px; }
body.kane-site-design :is(.wc-block-components-title,.wc-block-cart-items__header,.wc-block-components-checkout-step__title) { font-family: var(--kane-font); font-weight: 650; letter-spacing: 0; }
body.kane-site-design .wc-block-components-product-name { color: var(--kane-ink); font-weight: 600; text-decoration: none; }
body.kane-site-design .wc-block-components-totals-footer-item { color: var(--kane-teal); font-weight: 700; }
body.kane-site-design .wc-block-components-text-input input { border-radius: 7px !important; border-color: #cfd9df !important; font-family: var(--kane-font) !important; }
body.kane-site-design .woocommerce-MyAccount-navigation a { padding: 12px 16px; display: block; border-bottom: 1px solid var(--kane-line); }
body.kane-site-design .woocommerce-MyAccount-navigation .is-active a { background: #eaf7f7; color: var(--kane-teal); border-radius: 6px; }
body.kane-site-design .elementor .woocommerce .e-checkout__container { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.85fr); gap: 32px; }
body.kane-site-design .elementor .woocommerce .e-checkout__column { min-width: 0; width: 100%; }
body.kane-site-design .elementor .woocommerce :is(.e-checkout__order_review,.e-checkout__order_review-2) { padding: 24px; background: var(--kane-soft); border: 1px solid var(--kane-line); border-radius: 12px; margin-bottom: 20px; }
body.kane-site-design .elementor .woocommerce :is(h3#order_review_heading,.woocommerce-billing-fields > h3) { font-size: 22px !important; font-weight: 650; line-height: 1.4; margin-bottom: 24px; }
body.kane-site-design .elementor .woocommerce form .form-row :is(.input-text,textarea) { border: 1px solid #cfd9df !important; border-radius: 7px !important; padding: 11px 12px !important; }
body.kane-site-design .elementor .woocommerce form .form-row select { min-height: 48px; height: auto !important; padding: 10px 12px !important; border: 1px solid #cfd9df !important; border-radius: 7px !important; }
body.kane-site-design .elementor .woocommerce .select2-selection--single { min-height: 46px; height: auto !important; border: 1px solid #cfd9df !important; border-radius: 7px !important; padding: 0 !important; }
body.kane-site-design .elementor .woocommerce .select2-selection__rendered { line-height: 44px !important; padding: 0 12px !important; }
body.kane-site-design .elementor .woocommerce .select2-selection__arrow { height: 44px !important; }

/* Footer links stay legible on the existing dark brand background. */
body.kane-site-design .elementor-location-footer { background: #242b32; }
body.kane-site-design .elementor-location-footer .elementor-heading-title { font-size: 15px !important; line-height: 1.65 !important; font-weight: 600 !important; letter-spacing: 0 !important; }
body.kane-site-design .elementor-location-footer .elementor-heading-title a { color: #cbd4d9; font-size: 14px !important; font-weight: 400; }
body.kane-site-design .elementor-location-footer a:hover { color: #7ad4d0 !important; }
body.kane-site-design .elementor-location-footer :is(p,.elementor-widget-text-editor) { font-size: 13px !important; line-height: 1.8 !important; letter-spacing: 0; }
body.kane-site-design .elementor-location-footer .elementor-button { border-radius: 7px; font: 600 14px/1.5 var(--kane-font) !important; letter-spacing: 0 !important; }

@media (max-width: 767px) {
  body.kane-site-design .elementor-1873 { overflow-x: clip; }
  body.kane-site-design.single-product .site-content > .ast-container { padding-left: 16px; padding-right: 16px; }
  body.kane-site-design.single-product .elementor-element-9094695 { padding: 22px 0 0 !important; }
  body.kane-site-design.single-product .elementor-element-9094695 > .e-con-inner { flex-direction: column !important; gap: 24px; }
  body.kane-site-design.single-product .elementor-element-b22d887 { padding: 0 !important; }
  body.kane-site-design #content .elementor-widget-text-editor { font-size: 15px !important; line-height: 1.85 !important; }
  body.kane-site-design #content .elementor-post__text { padding: 18px !important; }
  body.kane-site-design #content ul.products li.product { padding: 12px; }
  body.kane-site-design #content ul.products li.product .astra-shop-thumbnail-wrap img,
  body.kane-site-design #content .e-loop-item .elementor-widget-theme-post-featured-image img { height: 160px; }
  body.kane-site-design #content .e-loop-item > .e-con { --padding-top: 14px; --padding-bottom: 14px; --padding-left: 10px; --padding-right: 10px; }
  body.kane-site-design #content :is(ul.products .woocommerce-loop-product__title,.e-loop-item .product_title) { font-size: 16px !important; overflow-wrap: anywhere; }
  body.kane-site-design #content ul.products li.product .price { font-size: 13px; }
  body.kane-site-design #content ul.products li.product .button { padding: 10px 12px; font-size: 13px !important; }
  body.kane-site-design.single-product .woocommerce-product-gallery { padding: 12px; }
  body.kane-site-design #content .e-n-tabs-heading { flex-wrap: wrap; }
  body.kane-site-design #content .e-n-tab-title { padding: 12px 14px; font-size: 14px !important; }
  body.kane-site-design .elementor-1921 .e-n-tabs-content > .e-con,
  body.kane-site-design .elementor-1915 :is(.elementor-element-57b6c99,.elementor-element-52c3842) { --padding-left: 18px; --padding-right: 18px; --padding-top: 26px; --padding-bottom: 26px; }
  body.kane-site-design .elementor-1921 .elementor-widget-heading .elementor-heading-title { font-size: 22px !important; }
  body.kane-site-design .elementor-1921 .e-n-tabs-content > .e-con > .e-con { --padding-left: 0px; --padding-right: 0px; --padding-top: 10px; --padding-bottom: 10px; }
  body.kane-site-design .elementor-1915 .elementor-element-b89bcae { --margin-top: 45px; --margin-bottom: 45px; }
  body.kane-site-design :is(.wc-block-cart__sidebar,.wc-block-checkout__sidebar,.cart_totals) { padding: 16px; }
}
@media (max-width: 900px) {
  body.kane-site-design .elementor .woocommerce .e-checkout__container { grid-template-columns: minmax(0,1fr); gap: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  body.kane-site-design #content :is(.elementor-post__card,.e-loop-item > .e-con,ul.products li.product) { transition: none; transform: none; }
}
