:is(#index,#product,body:has(.ki-catalog)) :is(#wrapper,#content,#center-column) { width:100%; max-width:none; padding:0; margin:0; }
#header { position:relative; inset:auto; background:var(--ki-white); border:0; box-shadow:none; z-index:20; }
.ki-shell { width:calc(100% - 112px); max-width:1440px; margin-inline:auto; }
:is(.ki-home,.ki-header,.ki-footer) a { color:inherit; text-decoration:none; }
.ki-home :is(h1,h2,h3,p) { margin:0; }
[hidden] { display:none; }
.ki-header { display:flex; justify-content:space-between; align-items:center; min-height:100px; }
.ki-logo { display:inline-flex; flex-direction:column; align-items:center; gap:7px; flex:none; }
.ki-logo img { width:165px; height:33px; object-fit:contain; }
.ki-logo>span { font-size:var(--ki-text-sm); font-weight:600; letter-spacing:.04em; line-height:1.5; }
.ki-navigation { display:flex; align-items:center; font-size:var(--ki-text-nav); font-weight:600; line-height:1.5; }
.ki-navigation a { padding-block:14px; }
.ki-navigation a:hover { color:var(--ki-accent); }
.ki-navigation .ki-nav-contact { display:flex; align-items:center; border:1px solid var(--ki-line); }
.ki-nav-contact span { font-size:21px; }
.ki-menu-toggle { display:none; align-items:center; gap:12px; padding:12px 0 12px 12px; background:none; color:inherit; border:0; font:inherit; font-size:var(--ki-text-sm); }
.ki-menu-toggle span { display:block; width:22px; height:12px; border-block:1px solid currentColor; }
.ki-hero { position:relative; isolation:isolate; color:var(--ki-white); background:var(--ki-deep); height:min(740px,calc(100svh - 100px)); min-height:590px; overflow:hidden; }
.ki-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% 50%; z-index:-2; }
.ki-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(8,26,35,.82),rgba(8,26,35,.43) 40%,transparent 75%),linear-gradient(0deg,rgba(8,26,35,.7),transparent 36%); }
.ki-hero-content { padding-top:95px; }
.ki-eyebrow { line-height:1.5; letter-spacing:2px; font-weight:600; }
.ki-hero .ki-eyebrow { display:flex; align-items:center; gap:12px; }
.ki-dash { width:24px; height:3px; background:var(--ki-accent-light); }
.ki-hero h1 { font-size:clamp(54px,5.1vw,78px); line-height:1.05; letter-spacing:-3.2px; font-weight:500; margin:25px 0; color:var(--ki-white); }
.ki-hero-intro { line-height:1.65; color:var(--ki-on-dark); max-width:430px; }
.ki-button { display:inline-flex; align-items:center; justify-content:space-between; min-height:55px; gap:40px; padding:15px 24px; font-size:var(--ki-text-sm); font-weight:600; transition:background .2s,transform .2s; }
.ki-button>span { font-size:22px; line-height:1; }
.ki-button-orange { background:var(--ki-accent); color:var(--ki-white); margin-top:30px; }
.ki-button-orange:hover { background:var(--ki-accent-hover); transform:translateY(-2px); }
.ki-hero-bottom { position:absolute; bottom:27px; left:0; right:0; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:var(--ki-text-xs); letter-spacing:1.7px; }
.ki-hero-bottom a { display:flex; align-items:center; gap:17px; letter-spacing:0; font-size:var(--ki-text-sm); }
.ki-hero-bottom a span { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--ki-line-on-dark); border-radius:50%; font-size:19px; }
.ki-manifesto { border-bottom:1px solid var(--ki-line); }
.ki-manifesto>.ki-shell { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:102px; }
.ki-manifesto p { letter-spacing:-.7px; font-weight:400; }
.ki-manifesto strong { font-weight:500; color:var(--ki-accent); }
.ki-manifesto span { font-size:var(--ki-text-xs); letter-spacing:1.3px; color:var(--ki-muted); }
.ki-section { padding-block:100px; }
.ki-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; margin-bottom:30px; }
.ki-home h2 { font-size:clamp(30px,3.2vw,46px); line-height:1.13; letter-spacing:-1.7px; font-weight:500; }
.ki-section-heading h2 { margin-top:18px; }
.ki-section-heading>.ki-text-link { flex:none; }
.ki-text-link { display:inline-flex; align-items:center; gap:25px; font-size:var(--ki-text-sm); font-weight:600; padding-bottom:10px; border-bottom:1px solid var(--ki-control-line); }
.ki-text-link:hover { color:var(--ki-accent); border-color:var(--ki-accent); }
.ki-text-link span { font-size:21px; line-height:1; }
.ki-model-toolbar { display:flex; justify-content:space-between; align-items:center; gap:30px; margin:24px 0 30px; }
.ki-model-toolbar>p { max-width:580px; line-height:1.65; color:var(--ki-muted); }
.ki-filters { display:flex; flex-wrap:wrap; gap:3px; background:var(--ki-surface); padding:4px; flex:none; }
.ki-filters button { border:0; background:transparent; color:var(--ki-ink); padding:11px 19px; font:inherit; font-size:var(--ki-text-sm); min-height:44px; }
.ki-filters button[aria-pressed=true] { background:var(--ki-ink); color:var(--ki-white); }
.ki-model-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.ki-model { min-width:0; }
.ki-model-image { position:relative; display:flex; align-items:center; aspect-ratio:1.4; background:var(--ki-white); overflow:hidden; padding:33px 15px 15px; }
.ki-model-image img { width:100%; height:100%; object-fit:contain; transition:transform .35s; }
.ki-model-image:hover img { transform:scale(1.045); }
.ki-model-label { position:absolute; left:20px; top:19px; font-size:var(--ki-text-xs); letter-spacing:1.5px; z-index:1; color:var(--ki-muted); }
.ki-model-name { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:24px; }
.ki-model-name p { letter-spacing:1.8px; color:var(--ki-muted); margin-bottom:7px; }
.ki-model-name h3 { font-size:36px; line-height:1.1; letter-spacing:-1px; font-weight:500; }
.ki-model-arrow { display:grid; place-items:center; border:1px solid var(--ki-line); width:44px; height:44px; border-radius:50%; font-size:22px; flex:none; }
.ki-model-arrow:hover { color:var(--ki-white); background:var(--ki-accent); border-color:var(--ki-accent); }
.ki-model-description { color:var(--ki-muted); line-height:1.65; margin:17px 0 24px; }
.ki-specs { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ki-line); margin:0; padding-top:18px; gap:12px; }
.ki-specs dt { font-size:var(--ki-text-xs); font-weight:400; color:var(--ki-muted); margin-bottom:9px; }
.ki-specs dd { font-size:22px; line-height:1.2; margin:0; letter-spacing:-.6px; }
.ki-specs dd span { font-size:var(--ki-text-sm); letter-spacing:0; }
.ki-catalog-note { color:var(--ki-muted); line-height:1.7; margin-top:29px; }
.ki-range-links { display:flex; align-items:center; flex-wrap:wrap; gap:14px 25px; border-block:1px solid var(--ki-line); padding:20px 0; margin-top:38px; }
.ki-range-links>span { font-size:var(--ki-text-xs); letter-spacing:1.5px; margin-right:auto; }
.ki-range-links a { font-size:var(--ki-text-sm); padding:9px 0; }
.ki-range-links a:hover { color:var(--ki-accent); }
.ki-water { background:var(--ki-deep); color:var(--ki-white); padding-top:70px; }
.ki-water .ki-section-heading { margin-bottom:40px; }
.ki-water h2 { color:var(--ki-white); }
.ki-water .ki-section-heading>p { color:var(--ki-on-dark); flex:none; }
.ki-experience-grid { display:grid; grid-template-columns:1.18fr 1fr; gap:4px; }
.ki-experience { position:relative; isolation:isolate; overflow:hidden; height:570px; display:flex; align-items:flex-end; padding:45px 56px; color:var(--ki-white); }
.ki-experience img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .6s; }
.ki-experience-bass img { object-position:55% 40%; }
.ki-experience-leisure img { object-position:27% center; }
.ki-experience::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(3,17,24,.87),rgba(3,17,24,.05) 75%); }
.ki-experience:hover img { transform:scale(1.025); }
.ki-experience h3 { color:var(--ki-white); font-size:clamp(31px,3vw,44px); font-weight:500; line-height:1.12; letter-spacing:-1.3px; margin:15px 0 24px; }
.ki-experience-link { display:inline-flex; align-items:center; gap:30px; font-size:var(--ki-text-sm); border-bottom:1px solid var(--ki-line-on-dark); padding-bottom:10px; }
.ki-experience-link>span { font-size:21px; }
.ki-story { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.ki-story-photo { position:relative; min-height:550px; align-self:stretch; overflow:hidden; }
.ki-story-photo img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:36% center; }
.ki-story-photo>span { position:absolute; left:22px; bottom:22px; color:var(--ki-white); background:var(--ki-ink); padding:12px 15px; font-size:var(--ki-text-xs); letter-spacing:1.3px; }
.ki-story-copy h2 { margin:18px 0 22px; }
.ki-story-copy>p:not(.ki-eyebrow) { line-height:1.65; color:var(--ki-muted); max-width:470px; }
.ki-story-points { margin:27px 0; }
.ki-story-points>div { display:flex; gap:20px; border-top:1px solid var(--ki-line); padding:18px 0; }
.ki-story-points>div>span { color:var(--ki-accent); font-size:var(--ki-text-xs); padding-top:3px; }
.ki-story-points p { color:var(--ki-muted); line-height:1.65; }
.ki-story-points strong { display:block; font-size:var(--ki-text-base); color:var(--ki-ink); font-weight:600; margin-bottom:3px; }
.ki-contact { background:var(--ki-surface); border-top:1px solid var(--ki-line); }
.ki-contact>.ki-shell { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-block:66px; }
.ki-contact h2 { margin:17px 0; }
.ki-contact p:not(.ki-eyebrow) { line-height:1.65; color:var(--ki-muted); }
.ki-button-dark { background:var(--ki-ink); color:var(--ki-white); flex:none; }
.ki-button-dark:hover { background:var(--ki-accent); }
.ki-footer { background:var(--ki-white); padding:60px 0 0; color:var(--ki-ink); }
.ki-footer-main { display:grid; grid-template-columns:2fr 1fr 1fr; gap:50px; padding-bottom:55px; }
.ki-footer-main>div>p { color:var(--ki-muted); margin-top:24px; }
.ki-footer nav { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.ki-footer nav h2 { font-size:var(--ki-text-xs); text-transform:uppercase; letter-spacing:1.5px; font-weight:600; margin:0 0 8px; }
.ki-footer nav a { min-height:44px; display:inline-flex; align-items:center; font-size:var(--ki-text-sm); color:var(--ki-muted); }
.ki-footer nav a:hover { color:var(--ki-accent); }
.ki-footer-bottom { border-top:1px solid var(--ki-line); display:flex; justify-content:space-between; align-items:center; gap:22px; padding:25px 0; font-size:var(--ki-text-xs); color:var(--ki-muted); }
.ki-footer-bottom>span:nth-child(2) { font-size:var(--ki-text-sm); letter-spacing:1.5px; }
@media(min-width:1800px) { .ki-experience { padding-inline:max(56px,calc((100vw - 1440px)/2)); } }
@media(max-width:1100px) {
  .ki-shell { width:calc(100% - 64px); }
  .ki-navigation { gap:23px; }
  .ki-navigation .ki-nav-contact { margin-left:0; gap:12px; padding-inline:15px; }
  .ki-model-grid { gap:22px; }
  .ki-section { padding-block:75px; }
  .ki-story { gap:40px; }
  .ki-experience { height:480px; padding:35px 32px; }
  .ki-manifesto span { max-width:270px; line-height:1.8; text-align:right; }
  .ki-model-toolbar>p { max-width:440px; }
}
@media(max-width:800px) {
  .ki-shell { width:calc(100% - 40px); }
  .ki-header { min-height:82px; flex-wrap:wrap; gap:0; padding-block:18px; }
  .ki-logo img { width:140px; height:28px; }
  .ki-js .ki-menu-toggle { display:flex; }
  .ki-navigation { width:100%; flex-direction:column; align-items:stretch; gap:0; padding-top:18px; margin-top:18px; border-top:1px solid var(--ki-line); }
  .ki-navigation a { padding:15px 0; }
  .ki-navigation .ki-nav-contact { margin:8px 0 0; justify-content:space-between; }
  .ki-js .ki-header .ki-navigation { display:none; }
  .ki-js .ki-header.ki-menu-open .ki-navigation { display:flex; }
  .ki-hero { height:auto; min-height:0; display:flex; flex-direction:column; }
  .ki-hero-image { position:relative; z-index:0; width:100%; height:330px; object-position:66% 50%; }
  .ki-hero::after { display:none; }
  .ki-hero-content { padding:32px 0 35px; }
  .ki-hero h1 { font-size:clamp(39px,7vw,59px); letter-spacing:-1.8px; margin:21px 0; }
  .ki-hero-bottom { position:static; flex-wrap:wrap; gap:14px; padding-block:0 24px; letter-spacing:.04em; }
  .ki-hero-bottom a { font-size:var(--ki-text-xs); gap:10px; }
  .ki-manifesto>.ki-shell { align-items:flex-start; flex-direction:column; justify-content:center; gap:12px; padding-block:25px; }
  
  .ki-manifesto span { text-align:left; max-width:none; }
  .ki-section { padding-block:60px; }
  .ki-section-heading { flex-direction:column; align-items:flex-start; gap:25px; }
  .ki-home h2 { font-size:34px; letter-spacing:-1.2px; }
  .ki-section-heading h2 { margin-top:14px; }
  .ki-model-toolbar { flex-direction:column; align-items:flex-start; gap:20px; }
  .ki-model-toolbar>p { max-width:none; }
  .ki-model-grid { grid-template-columns:1fr; gap:40px; }
  .ki-model-image { aspect-ratio:1.65; }
  .ki-model-name { padding-top:20px; }
  .ki-model-name h3 { font-size:34px; }
  .ki-specs { padding-top:17px; }
  .ki-specs dt { font-size:var(--ki-text-xs); }
  .ki-specs dd { font-size:24px; }
  .ki-range-links { gap:5px 23px; padding-block:18px; }
  .ki-range-links>span { width:100%; margin-bottom:9px; }
  .ki-water { padding-top:50px; }
  .ki-water .ki-section-heading { gap:18px; }
  .ki-experience-grid { grid-template-columns:1fr; }
  .ki-experience { height:460px; padding:30px 20px; }
  .ki-experience h3 { font-size:34px; }
  .ki-story { grid-template-columns:1fr; gap:35px; }
  .ki-story-photo { min-height:340px; }
  .ki-story-photo img { object-position:center; }
  .ki-contact>.ki-shell { align-items:flex-start; flex-direction:column; gap:25px; padding-block:45px; }
  .ki-footer { padding-top:45px; }
  .ki-footer-main { grid-template-columns:1fr 1fr; gap:35px 25px; padding-bottom:35px; }
  .ki-footer-main>div { grid-column:1/-1; }
  .ki-footer-bottom { flex-wrap:wrap; font-size:var(--ki-text-xs); }
  .ki-footer-bottom>span:nth-child(2) { display:none; }
}
@media(max-width:380px) {
  .ki-hero-image { height:290px; }
  .ki-hero h1 { font-size:37px; }
  .ki-hero-bottom>span { max-width:160px; line-height:1.8; }
  .ki-home h2 { font-size:31px; }
 .ki-filters button { padding-inline:16px; }
}
@media(prefers-reduced-motion:reduce) {
  :is(.ki-button,.ki-model-image img,.ki-experience img) { transition:none; }
}
/* Explicit link contrast overrides the homepage link inheritance. */
.ki-home .ki-button-dark, .ki-home .ki-button-orange { color:var(--ki-white); }

/* Product pages: the native form, price refresh targets and module hooks stay intact. */
#product .ki-product-page { font-family:var(--ki-font-body); color:var(--ki-ink); padding-bottom:55px; }
.ki-header { gap:22px; }
.ki-navigation { gap:22px; margin-left:auto; }
.ki-navigation .ki-nav-contact { margin-left:0; padding:11px 16px; gap:15px; }
.ki-header-tools { display:flex; gap:12px; align-items:center; }
.ki-header-tools .header-block__action-btn, .ki-account-link { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; color:var(--ki-ink); }
.ki-header-tools .header-block__icon { font-size:23px; }
.ki-header-tools .header-block__badge { background:var(--ki-ink); color:var(--ki-white); font-size:var(--ki-text-xs); min-width:24px; height:24px; line-height:1.5; }
.ki-header-tools .header-block { margin:0; }
/* These native modules carry Bootstrap's important display utility. Kimple uses
   one header at all widths, so the desktop hook containers remain visible. */
.ki-header-tools #_desktop_ps_shoppingcart, .ki-header-tools #_desktop_abproductcompare { display:block!important; }
#product #header { border-bottom:1px solid var(--ki-line); }
#product .breadcrumb__wrapper { display:none; }
.ki-header-tools .header-block__title { display:block; position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.ki-header-tools .header-block__action-btn { position:relative; }
.ki-header-tools .header-block__badge { position:absolute; top:0; right:-6px; }
#product .ki-product-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:30px 0; font-size:var(--ki-text-sm); }
#product .ki-product-topline a { display:flex; align-items:center; gap:12px; color:var(--ki-ink); text-decoration:none; }
#product .ki-product-topline a>span { font-size:20px; }
#product .ki-product-topline>span { font-size:var(--ki-text-xs); letter-spacing:1.7px; color:var(--ki-muted); }
#product .ki-product-page .product__container { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:55px; margin-bottom:75px; align-items:start; }
#product .ki-product-page .product__left, #product .ki-product-page .product__right { width:auto; min-width:0; padding:0; }
#product .product__right { display:flex; flex-direction:column; }
#product .ki-pdp-eyebrow { line-height:1.5; text-transform:uppercase; letter-spacing:1.8px; font-weight:500; margin:0 0 18px; }
#product .product__name { color:var(--ki-ink); font-size:clamp(32px,3.4vw,49px); font-weight:400; line-height:1.08; letter-spacing:-1.8px; margin:0 0 18px; }
#product .product__manufacturer { font-size:var(--ki-text-sm); margin:0 0 17px; color:var(--ki-muted); }
#product .product__manufacturer a { color:inherit; text-decoration:none; }
#product .product__description-short { line-height:1.65; color:var(--ki-muted); margin:0 0 21px; }
#product .product__description-short p:last-child { margin-bottom:0; }
#product .product__prices { order:5; border-top:1px solid var(--ki-line); padding-top:24px; margin:23px 0 24px; }
#product .product__price { font-size:30px; font-weight:400; letter-spacing:-.7px; color:var(--ki-ink); }
#product .product__tax-infos { font-size:var(--ki-text-sm); color:var(--ki-muted); margin-top:7px; }
#product .product__customization { order:6; }
#product .product__actions { order:7; }
#product .product__availability { font-size:var(--ki-text-sm); margin-bottom:17px; }
#product .product__availability .material-icons { font-size:18px; }
#product .product__actions-qty-add { flex-wrap:wrap; gap:12px; }
#product .product__add-to-cart-button { min-height:52px; border-radius:0; font-size:var(--ki-text-sm); font-weight:500; padding:15px 25px; }
#product .product__add-to-cart-button .material-icons { font-size:19px; margin-right:8px; }
#product .product__quantity { min-height:52px; }
#product .product__quantity .form-control { border-color:var(--ki-line); border-radius:0; background:transparent; color:var(--ki-ink); font-size:var(--ki-text-base); }
#product .abpc-compare-button { color:var(--ki-ink); }
#product .product__variants .form-select, #product .product__variants .form-check-input { border-color:var(--ki-control-line); border-radius:2px; }
#product .product__variants .form-label { font-size:var(--ki-text-sm); font-weight:500; }
#product .ki-product-advice { display:flex; gap:20px; justify-content:space-between; align-items:center; padding:16px 0; margin-top:15px; border-bottom:1px solid var(--ki-line); font-size:var(--ki-text-sm); color:var(--ki-ink); text-decoration:none; }
#product .ki-product-advice>span { font-size:23px; }
#product .product__additional-info { margin-top:16px; }
#product .social-sharing { color:var(--ki-muted); font-size:var(--ki-text-base); }
#product .ki-product-specs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin:0; padding:21px 0 0; border-top:1px solid var(--ki-line); }
#product .ki-product-specs dt { font-size:var(--ki-text-xs); font-weight:400; color:var(--ki-muted); margin-bottom:8px; }
#product .ki-product-specs dd { font-size:26px; margin:0; font-weight:400; letter-spacing:-.7px; }
#product .ki-product-specs dd>span { font-size:var(--ki-text-sm); letter-spacing:0; }
#product .product__images { min-width:0; }
#product .product__carousel { background:var(--ki-white); border:0; border-radius:0; }
#product .product__carousel .carousel-item img { width:100%; height:480px; object-fit:contain; mix-blend-mode:normal; }
#product .product__carousel .carousel-control-prev, #product .product__carousel .carousel-control-next { height:42px; width:42px; border:1px solid var(--ki-line); background:var(--ki-paper); border-radius:50%; top:auto; bottom:18px; opacity:1; }
#product .product__carousel .carousel-control-prev { left:20px; }
#product .product__carousel .carousel-control-next { right:20px; }
#product .product__zoom { top:15px; bottom:auto; right:16px; border-radius:50%; border:1px solid var(--ki-line); width:44px; height:44px; background:var(--ki-paper); color:var(--ki-ink); }
#product .product__thumbnails { margin-top:13px; max-width:100%; }
#product .product__thumbnails-list { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:9px; padding:0 0 7px; margin:0; scrollbar-width:thin; }
#product .product__thumbnail { flex:0 0 79px; width:79px; padding:0; border:1px solid var(--ki-line); border-radius:0; background:var(--ki-white); }
#product .js-thumb-container.active > .product__thumbnail { border:2px solid var(--ki-ink); }
#product .product__thumbnail img { width:100%; height:66px; object-fit:contain; border:0; border-radius:0; mix-blend-mode:normal; }
#product .product-images-modal .modal-content { border-radius:0; background:var(--ki-paper); }
#product .product-images-modal img { max-height:75svh; object-fit:contain; }
#product .ki-gallery-caption { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; font-size:var(--ki-text-xs); color:var(--ki-muted); margin-top:14px; padding-bottom:18px; border-bottom:1px solid var(--ki-line); }
#product .ki-gallery-caption a { color:var(--ki-ink); text-decoration:none; padding-block:10px; }
#product .ki-gallery-caption a>span { margin-left:14px; font-size:var(--ki-text-sm); }
#product .product__no-image { background:var(--ki-white); padding:35px; }
#product .product__no-image img { width:100%; height:380px; object-fit:contain; }
#product .product__bottom { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:70px; margin-bottom:70px; padding-top:55px; border-top:1px solid var(--ki-line); }
#product .product__bottom-left, #product .product__bottom-right { width:auto; min-width:0; padding:0; }
#product .ki-product-section-title { margin-bottom:30px; scroll-margin-top:30px; }
#product .ki-product-section-title h2 { font-size:42px; font-weight:400; letter-spacing:-1.5px; margin:0; }
#product .ki-product-section-title .ki-pdp-eyebrow { margin-bottom:13px; }
#product .product__accordion { --bs-accordion-bg:transparent; --bs-accordion-color:var(--ki-ink); --bs-accordion-btn-color:var(--ki-ink); --bs-accordion-active-bg:transparent; --bs-accordion-active-color:var(--ki-ink); --bs-accordion-border-color:var(--ki-line); }
#product .product__accordion .accordion-item { border-bottom:1px solid var(--ki-line); background:transparent; }
#product .product__accordion .accordion-button { font-size:var(--ki-text-base); padding:23px 0; font-weight:500; box-shadow:none; }
#product .product__accordion .accordion-body { padding:5px 0 25px; font-size:var(--ki-text-base); line-height:1.65; }
#product .product__accordion .details__list { margin:0; }
#product .product__accordion .details__item { padding:12px 14px; font-size:var(--ki-text-sm); }
#product .product__accordion .details__item:nth-child(odd) { background:var(--ki-surface); }
#product .product__accordion .details__title { font-weight:400; }
#product .product__description { color:var(--ki-muted); overflow-wrap:anywhere; }
#product .product__description:empty { display:none; }
#product .product__description img { max-width:100%; height:auto; }
#product .product__description table { max-width:100%; }
#product .ki-product-guide { background:var(--ki-surface); padding:35px; }
#product .ki-guide-mark { display:block; font-size:63px; line-height:.8; margin:0 0 30px; }
#product .ki-product-guide h2 { font-size:30px; font-weight:400; line-height:1.15; letter-spacing:-1px; margin:0 0 20px; }
#product .ki-product-guide>p:not(.ki-pdp-eyebrow) { color:var(--ki-muted); line-height:1.65; margin-bottom:25px; }
#product .ki-product-guide>a { display:flex; justify-content:space-between; align-items:center; gap:12px; border-bottom:1px solid var(--ki-control-line); padding-bottom:12px; text-decoration:none; color:var(--ki-ink); font-size:var(--ki-text-sm); }
#product .ki-product-guide>a>span { font-size:22px; }
#product .ki-product-page .module-products { padding:35px 0; }
#product .ki-product-page .section-title { font-weight:400; font-size:29px; letter-spacing:-.7px; text-align:left; }
#product #product-comments-list-header { margin-top:40px; border-top:1px solid var(--ki-line); padding-top:30px; }
#product .abcds-table { --abcds-thead-bg:var(--ki-ink); --abcds-thead-color:var(--ki-white); --abcds-row-bg-1:var(--ki-paper); --abcds-row-bg-2:var(--ki-surface); --abcds-border-color:var(--ki-line); }
@media(max-width:1200px) {
  .ki-header { gap:18px; }
  .ki-navigation { gap:15px; }
  .ki-navigation .ki-nav-contact { display:none; }
  #product .ki-product-page .product__container { gap:32px; }
  #product .product__carousel .carousel-item img { height:440px; }
  #product .product__name { font-size:37px; }
}
@media(max-width:991px) {
  #product .ki-product-page .product__container { grid-template-columns:1fr; gap:32px; }
  #product .product__right { max-width:none; }
  #product .product__name { max-width:680px; }
  #product .product__bottom { gap:32px; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
  #product .ki-product-guide { padding:25px; }
}
@media(max-width:800px) {
  .ki-header { padding-top:18px; gap:0; }
  .ki-header>.ki-logo { margin-right:auto; }
  .ki-header-tools { width:100%; justify-content:flex-end; border-top:1px solid var(--ki-line); margin-top:16px; gap:17px; padding:2px 0; order:3; }
  .ki-navigation { order:4; }
  .ki-navigation .ki-nav-contact { display:flex; }
  #product .ki-product-topline { padding:22px 0; }
  #product .ki-product-topline>span { display:none; }
  #product .product__carousel .carousel-item img { height:320px; }
  #product .product__thumbnail { flex-basis:66px; width:66px; }
  #product .product__thumbnail img { height:55px; }
  #product .product__name { font-size:36px; letter-spacing:-1.4px; }
  
  #product .ki-product-specs dd { font-size:25px; }
  #product .ki-product-page .product__container { margin-bottom:45px; }
  #product .product__bottom { grid-template-columns:1fr; padding-top:40px; gap:35px; margin-bottom:45px; }
  #product .ki-product-section-title h2 { font-size:35px; }
  #product .ki-product-guide h2 { max-width:350px; }
  #product .ki-product-guide>p:not(.ki-pdp-eyebrow) { max-width:450px; }
  #product .ki-gallery-caption { gap:10px; font-size:var(--ki-text-xs); }
  #product .ki-product-page .module-products { padding:25px 0; }
  #product .ki-product-page .section-title { font-size:24px; }
  #product .product__no-image img { height:250px; }
}
@media(max-width:380px) {
  #product .product__carousel .carousel-item img { height:275px; }
  #product .product__add-to-cart { flex:1; }
  #product .product__add-to-cart-button { padding-inline:15px; }
}
#product .product__actions .abpc-button { --bs-btn-color:var(--ki-ink); --bs-btn-border-color:var(--ki-control-line); --bs-btn-hover-color:var(--ki-white); --bs-btn-hover-bg:var(--ki-ink); --bs-btn-hover-border-color:var(--ki-ink); --bs-btn-active-color:var(--ki-white); --bs-btn-active-bg:var(--ki-ink); --bs-btn-active-border-color:var(--ki-ink); border-radius:0; }
#product .product__description-short p:empty { display:none; }
#product #blockcart-modal .modal-content { border-radius:0; background:var(--ki-paper); }

/* Shared miniature styling applies to every native product-list consumer in this child. */
.product-miniature { color:var(--ki-ink); font-family:var(--ki-font-body); border:0; border-radius:0; min-width:0; }
.product-miniature .product-miniature__inner { background:transparent; border:0; border-radius:0; box-shadow:none; height:100%; }
.product-miniature .product-miniature__top { background:var(--ki-white); border:0; border-radius:0; overflow:hidden; }
.product-miniature .product-miniature__image-link { display:block; border:0; border-radius:0; aspect-ratio:4/3; }
.product-miniature .product-miniature__image-container { aspect-ratio:4/3; }
.product-miniature .product-miniature__image { width:100%; height:100%; aspect-ratio:4/3; object-fit:contain; mix-blend-mode:normal; transition:transform .35s ease; }
.product-miniature:hover .product-miniature__image { transform:scale(1.035); }
.product-miniature .ki-catalog-card-body { padding:22px 0 0; background:transparent; display:flex; flex-direction:column; flex:1; }
.product-miniature .product-miniature__infos { position:relative; padding:0; flex:1; }
.product-miniature :is(.ki-card-eyebrow,.product-miniature__title) { padding-right:45px; }
.product-miniature .ki-card-eyebrow { text-transform:uppercase; letter-spacing:1.5px; color:var(--ki-muted); margin:0 0 11px; }
.product-miniature .product-miniature__title { color:var(--ki-ink); font-size:20px; font-weight:400; line-height:1.5; letter-spacing:-.45px; text-decoration:none; display:block; margin:0 0 15px; }
.product-miniature .product-miniature__prices { display:flex; flex-wrap:wrap; gap:5px 12px; align-items:baseline; margin:0 0 16px;
  width:100%;
  justify-content:center;
  text-align:center;
}
.product-miniature .product-miniature__price { font-size:var(--ki-text-base); color:var(--ki-muted); font-weight:400; }
.product-miniature .product-miniature__regular-price { color:var(--ki-muted); font-size:var(--ki-text-sm); }
.product-miniature .ki-card-discover { display:flex; align-items:center; justify-content:space-between; gap:15px; color:var(--ki-ink); border-top:1px solid var(--ki-line); padding:15px 0 18px; margin-top:8px; text-decoration:none; font-size:var(--ki-text-sm); }
.product-miniature .ki-card-discover>span { font-size:23px; line-height:1; }
.product-miniature .ki-card-discover:hover { border-color:var(--ki-ink); }
.product-miniature .abpc-button--listing { position:absolute; right:0; top:0; width:44px; height:44px; border:1px solid var(--ki-line); border-radius:50%; padding:0; color:var(--ki-ink); background:transparent; }
.product-miniature .abpc-button--listing.abpc-is-compared { background:var(--ki-ink); color:var(--ki-white); border-color:var(--ki-ink); }
.product-miniature .product-flags { top:12px; left:12px; gap:5px; }
.product-miniature .product-flag { background:var(--ki-ink); color:var(--ki-white); border-radius:0; font-size:var(--ki-text-xs); font-weight:600; line-height:1.5; letter-spacing:.4px; padding:6px 9px; }
.product-miniature .product-flag.discount { background:var(--ki-accent-soft); color:var(--ki-ink); }
body:has(.ki-catalog) .breadcrumb__wrapper { display:none; }
.ki-catalog { font-family:var(--ki-font-body); padding-block:60px 80px; }
.ki-catalog-heading { margin-bottom:38px; max-width:1000px; }
.ki-catalog-eyebrow { margin:0 0 22px; letter-spacing:2px; }
.ki-catalog-heading h1 { font-size:clamp(36px,4.2vw,60px); font-weight:400; letter-spacing:-2.2px; line-height:1.08; margin:0 0 22px; color:var(--ki-ink); }
.ki-catalog-heading .page-title-section, .ki-catalog-heading .category__header { margin:0; padding:0; }
.ki-catalog-lead, .ki-catalog-heading .category__description, .ki-catalog-heading>.rich-text { max-width:750px; line-height:1.65; color:var(--ki-muted); }
.ki-catalog-heading .rich-text p:last-child { margin-bottom:0; }
.ki-catalog .subcategory { margin:22px 0 0; }
.ki-catalog .subcategory__list { display:flex; flex-wrap:wrap; gap:9px; }
.ki-catalog .subcategory__link { min-height:44px; display:inline-flex; align-items:center; padding:9px 13px; border:1px solid var(--ki-line); border-radius:0; width:auto; font-size:var(--ki-text-sm); color:var(--ki-ink); text-decoration:none; }
.ki-catalog .subcategory__thumbnail { width:35px; height:30px; object-fit:contain; }
.ki-catalog .subcategory__name { font-size:var(--ki-text-sm); font-weight:400; }
.ki-catalog-toolbar { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:23px 0; margin-bottom:36px; border-block:1px solid var(--ki-line); }
.ki-catalog-nav { display:flex; flex-wrap:wrap; gap:9px; }
.ki-catalog-nav>a { text-decoration:none; color:var(--ki-ink); font-size:var(--ki-text-sm); padding:11px 15px; border:1px solid transparent; }
.ki-catalog-nav>a:hover { border-color:var(--ki-control-line); }
.ki-catalog-nav>a[aria-current=page] { background:var(--ki-ink); color:var(--ki-white); }
.ki-catalog-search { display:flex; flex:0 1 270px; min-width:200px; border-bottom:1px solid var(--ki-control-line); }
.ki-catalog-search input { width:100%; min-width:0; background:transparent; border:0; font:inherit; font-size:var(--ki-text-sm); color:var(--ki-ink); padding:12px 0; }
.ki-catalog-search button { min-width:44px; min-height:44px; background:transparent; border:0; color:var(--ki-ink); padding:8px; }
.ki-catalog-columns { display:grid; grid-template-columns:210px minmax(0,1fr); gap:45px; align-items:start; }
.ki-catalog-main, .ki-catalog-sidebar { min-width:0; }
.ki-catalog-columns:not(:has(.ki-catalog-sidebar>*)) { grid-template-columns:1fr; }
.ki-catalog-sidebar:empty { display:none; }
.ki-catalog #products .products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px 25px; margin:0; }
.ki-catalog #products .product-miniature { width:auto; padding:0; margin:0; }
.ki-catalog .products__selection { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:15px; padding:0 0 25px; margin:0; }
.ki-catalog .products__count { order:0; font-size:var(--ki-text-sm); color:var(--ki-muted); }
.ki-catalog .products__sort { display:flex; align-items:center; gap:13px; }
.ki-catalog .products__sort-label { font-size:var(--ki-text-xs); color:var(--ki-muted); }
.ki-catalog .products__sort-dropdown-button { border:1px solid var(--ki-line); border-radius:0; color:var(--ki-ink); font-size:var(--ki-text-sm); padding:11px 16px; background:transparent; }
.ki-catalog .dropdown-menu { border:1px solid var(--ki-line); border-radius:0; font-size:var(--ki-text-sm); background:var(--ki-paper); }
.ki-catalog .dropdown-item { color:var(--ki-ink); padding:10px 18px; }
.ki-catalog .dropdown-item:hover, .ki-catalog .dropdown-item.current { background:var(--ki-surface); }
.ki-catalog .left-block { background:transparent; border:0; padding:0; margin-bottom:30px; }
.ki-catalog .left-block__title, .ki-catalog-sidebar .h4 { font-size:var(--ki-text-sm); font-weight:500; color:var(--ki-ink); border-bottom:1px solid var(--ki-line); padding:0 0 16px; margin-bottom:13px; }
.ki-catalog-sidebar a { color:var(--ki-muted); text-decoration:none; font-size:var(--ki-text-sm); }
.ki-catalog-sidebar a:hover, .ki-catalog-sidebar a[aria-current=page] { color:var(--ki-ink); text-decoration:underline; text-underline-offset:4px; }
.ki-catalog-sidebar .category-tree { padding:0; }
.ki-catalog-sidebar li { padding-block:4px; }
.ki-catalog .facet { border-top:1px solid var(--ki-line); padding-top:15px; margin-top:20px; }
.ki-catalog .facet-title { font-size:var(--ki-text-sm); font-weight:500; color:var(--ki-ink); }
.ki-catalog .facet-label { font-size:var(--ki-text-sm); color:var(--ki-muted); }
.ki-catalog .active_filters { background:var(--ki-surface); border-radius:0; padding:15px; margin-bottom:24px; }
.ki-catalog .filter-block { border:1px solid var(--ki-line); background:var(--ki-paper); color:var(--ki-ink); font-size:var(--ki-text-sm); border-radius:0; }
.ki-catalog .products__pagination { border-top:1px solid var(--ki-line); margin-top:35px; padding-top:25px; font-size:var(--ki-text-sm); }
.ki-catalog .pagination .page-link { min-width:44px; min-height:44px; border-radius:0; border-color:var(--ki-line); background:transparent; color:var(--ki-ink); font-size:var(--ki-text-sm); }
.ki-catalog .pagination .active .page-link { color:var(--ki-white); background:var(--ki-ink); }
.ki-catalog-empty { padding:55px 30px 70px; background:var(--ki-white); text-align:center; }
.ki-catalog-empty>span { font-size:50px; }
.ki-catalog-empty h2 { font-weight:400; font-size:29px; letter-spacing:-.8px; margin:12px 0 18px; }
.ki-catalog-empty p { line-height:1.65; color:var(--ki-muted); max-width:460px; margin:0 auto 25px; }
.ki-catalog-empty a { color:var(--ki-ink); font-size:var(--ki-text-sm); text-underline-offset:6px; }
@media(max-width:1200px) {
  .ki-catalog-columns { grid-template-columns:180px minmax(0,1fr); gap:30px; }
  .ki-catalog #products .products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ki-catalog-toolbar { flex-wrap:wrap; gap:20px; }
}
@media(max-width:767px) {
  .ki-catalog { padding-block:35px 45px; }
  .ki-catalog-heading { margin-bottom:26px; }
  .ki-catalog-heading h1 { font-size:37px; letter-spacing:-1.4px; }
  .ki-catalog-eyebrow { margin-bottom:18px; }
  .ki-catalog-toolbar { display:block; padding-block:17px; margin-bottom:25px; }
  .ki-catalog-nav { flex-wrap:nowrap; overflow-x:auto; padding-bottom:8px; gap:3px; }
  .ki-catalog-nav>a { white-space:nowrap; padding:11px 13px; }
  .ki-catalog-search { margin-top:12px; }
  .ki-catalog-columns { display:block; }
  .ki-catalog-sidebar .ps-categorytree { display:none; }
  .ki-catalog-sidebar .left-block { margin:0; }
  .ki-catalog .products__sort-label { display:none; }
  .ki-catalog .products__sort { gap:10px; }
  .ki-catalog .products__filter-button { border:1px solid var(--ki-line); border-radius:0; font-size:var(--ki-text-sm); color:var(--ki-ink); padding:11px 13px; }
  .ki-catalog .products__selection { gap:13px; }
  .ki-catalog #products .products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 15px; }
  .product-miniature .product-miniature__title { font-size:var(--ki-text-base); letter-spacing:-.3px; }
  .product-miniature .ki-catalog-card-body { padding-top:17px; }
  .product-miniature :is(.ki-card-eyebrow,.product-miniature__title) { padding-right:0; }
  .product-miniature .abpc-button--listing { position:static; margin-bottom:12px; }
  .product-miniature .product-miniature__price { font-size:var(--ki-text-sm); }
  .product-miniature .ki-card-discover { font-size:var(--ki-text-xs); }
  .ki-catalog .offcanvas { background:var(--ki-paper); color:var(--ki-ink); max-width:90vw; }
}
@media(max-width:480px) {
  .ki-catalog #products .products { grid-template-columns:1fr; }
  .ki-catalog .product-miniature :is(.ki-card-eyebrow,.product-miniature__title) { padding-right:45px; }
  .ki-catalog .product-miniature .abpc-button--listing { position:absolute; }
  .ki-catalog .product-miniature .product-miniature__title { font-size:23px; }
  .ki-catalog .product-miniature .product-miniature__price { font-size:var(--ki-text-base); }
  .ki-catalog .product-miniature .ki-card-discover { font-size:var(--ki-text-sm); }
}
@media(prefers-reduced-motion:reduce) { .product-miniature .product-miniature__image { transition:none; } }

.product-miniature .ki-card-no-image { display:flex; height:100%; flex-direction:column; align-items:center; justify-content:center; gap:16px; color:var(--ki-muted); font-size:var(--ki-text-xs); letter-spacing:.3px; }
.product-miniature .ki-card-no-image>span:first-child { font-size:54px; line-height:1; font-weight:400; }
.product-miniature .product-miniature__image-link { text-decoration:none; }
.ki-catalog-sidebar .category-tree a, .ki-catalog-sidebar .category-tree button { background:transparent; }
.ki-catalog-sidebar .accordion { --bs-accordion-bg:transparent; --bs-accordion-active-bg:transparent; --bs-accordion-border-color:var(--ki-line); --bs-accordion-btn-color:var(--ki-ink); --bs-accordion-active-color:var(--ki-ink); }
.ki-catalog .search-filters .accordion-button { font-size:var(--ki-text-sm); font-weight:500; box-shadow:none; padding:16px 0; }
.ki-catalog .search-filters .accordion-body { padding:0 0 15px; }
.ki-catalog .search-filters__form-label { font-size:var(--ki-text-sm); color:var(--ki-muted); }
.ki-catalog .search-filters .form-check-input:checked { background-color:var(--ki-ink); border-color:var(--ki-ink); }
.ki-catalog .active-filters { background:var(--ki-surface); padding:15px; margin-bottom:25px; }
.ki-catalog .active-filters__title { font-size:var(--ki-text-sm); font-weight:500; }
.ki-catalog .active-filters__item { border-radius:0; background:var(--ki-paper); color:var(--ki-ink); font-size:var(--ki-text-sm); border-color:var(--ki-line); }
.ki-catalog .active-filters:not(:has(.active-filters__list)) { display:none; }
.ki-catalog-heading h1 { overflow-wrap:anywhere; }
.ki-catalog .active-filters__link { border-color:var(--ki-line); color:var(--ki-ink); background:var(--ki-paper); }


/* Kimple product/catalog details use the homepage palette and actual catalog units. */
#product .product__description-short :is(h1,h2,h3) { font-size:var(--ki-text-base); font-weight:400; line-height:1.7; letter-spacing:0; margin:0; }
#product .ki-product-specs dd { font-size:25px; overflow-wrap:anywhere; }
#product .product__carousel .carousel-item img, #product .product__thumbnail img, .product-miniature .product-miniature__image { mix-blend-mode:normal; }
.ki-navigation .ki-nav-contact { margin-left:0; }
.ki-catalog #center-column { width:100%; min-width:0; }
@media(max-width:1100px) { .ki-navigation .ki-nav-contact { display:none; } }
@media(max-width:800px) { .ki-navigation .ki-nav-contact { display:flex; } }
:is(#product,.product-miniature) .product-flags .badge { background:var(--ki-ink); color:var(--ki-white); border-radius:0; font-size:var(--ki-text-xs); font-weight:600; line-height:1.5; padding:7px 10px; }
:is(#product,.product-miniature) .product-flags .badge.discount { background:var(--ki-accent-soft); color:var(--ki-ink); }
