/* Keep selectors local to the new sections/products. The theme gives .mw no
   gutters and styles catalogue cards only under .kitchen_catalog_grid. */
body.kp-kesse-page .kp-hardware { color:#222; }
body.kp-kesse-page .kp-hardware > .mw { padding-left:2rem; padding-right:2rem; }
body.kp-kesse-page .kp-hardware h1 { font-size:clamp(30px,3vw,48px); font-weight:500; line-height:1.2; margin:0 0 24px; overflow-wrap:anywhere; }
body.kp-kesse-page .kp-hardware h2 { font-size:clamp(24px,2.1vw,34px); font-weight:500; line-height:1.25; margin:36px 0 20px; }
body.kp-kesse-page .kp-hardware p,
body.kp-kesse-page .kp-hardware li { font-size:18px; line-height:1.6; }
body.kp-kesse-page .kp-hardware p { margin:0 0 20px; }
body.kp-kesse-page .kp-hardware .top_section .top_section_cont .kp-hardware-hero {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:48px; align-items:center; padding:32px 2rem 64px;
}
body.kp-kesse-page .kp-hardware-hero > div { min-width:0; }
body.kp-kesse-page .kp-hardware-hero > img { display:block; width:100%; max-width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; border-radius:16px; }
body.kp-kesse-page .kp-hardware-actions { display:flex; align-items:stretch; gap:14px; flex-wrap:wrap; margin:24px 0 0; }
body.kp-kesse-page .kp-hardware-actions .btn_m { display:inline-flex; align-items:center; justify-content:center; width:auto; max-width:100%; min-height:56px; height:auto; padding:16px 24px; font-size:16px; font-weight:500; line-height:1.4; border-radius:10px; text-align:center; white-space:normal; background:#7cb927; color:#fff; text-decoration:none; transition:background-color 150ms ease; }
body.kp-kesse-page .kp-hardware-actions .btn_m.btn_m_c { background:#222; }
@media (hover:hover) {
  body.kp-kesse-page .kp-hardware-actions .btn_m:hover { background:#649d1e; }
  body.kp-kesse-page .kp-hardware-actions .btn_m.btn_m_c:hover { background:#000; }
}
body.kp-kesse-page .kp-hardware-actions .btn_m:active { background:#56891a; }
body.kp-kesse-page .kp-hardware-actions .btn_m.btn_m_c:active { background:#000; }
body.kp-kesse-page .kp-hardware-copy { padding-top:40px; padding-bottom:16px; }
body.kp-kesse-page .kp-hardware-copy > :first-child { margin-top:0; }
body.kp-kesse-page .kp-hardware-copy > p,
body.kp-kesse-page .kp-hardware-copy > ul,
body.kp-kesse-page .kp-hardware-showroom > p { max-width:78ch; }
body.kp-kesse-page .kp-hardware-copy ul { list-style:disc; padding-left:24px; margin:0 0 24px; }
body.kp-kesse-page .kp-hardware-copy li { list-style:disc; margin:10px 0; }
body.kp-kesse-page .kp-hardware-products { scroll-margin-top:100px; }
body.kp-kesse-page .kp-hardware .kitchen_catalog > .mw { padding:48px 2rem 24px; }
body.kp-kesse-page .kp-hardware-products .mw > h2 { margin-top:0; }
body.kp-kesse-page .kp-hardware .kitchen_catalog .mw .kp-hardware-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:28px 0; }
body.kp-kesse-page .kp-hardware .kitchen_catalog .mw .kp-hardware-grid .catalog_item { display:flex; flex-direction:column; min-width:0; width:100%; height:auto; }
body.kp-kesse-page .kp-hardware .kitchen_catalog .mw .kp-hardware-grid .catalog_item .thumb { display:block; }
body.kp-kesse-page .kp-hardware .kitchen_catalog .mw .kp-hardware-grid .catalog_item .thumb .img { height:auto; aspect-ratio:1/1; }
body.kp-kesse-page .kp-hardware .kitchen_catalog .mw .kp-hardware-grid .catalog_item .info { display:flex; flex-direction:column; flex:1; padding:20px 10px 10px; }
body.kp-kesse-page .kp-hardware .kitchen_catalog .mw .kp-hardware-grid .catalog_item .info .name { height:auto!important; min-height:3.9em; margin:0 0 18px; font-size:22px; line-height:1.3; overflow-wrap:anywhere; }
body.kp-kesse-page .kp-hardware .kitchen_catalog .mw .kp-hardware-grid .catalog_item .info .price { margin-top:auto; margin-bottom:20px; }
body.kp-kesse-page .kp-hardware .kitchen_catalog .mw .kp-hardware-grid .catalog_item .info .price .new { font-size:20px; line-height:1.4; }
body.kp-kesse-page .kp-hardware-showroom { padding-top:32px; padding-bottom:64px; }
body.kp-kesse-page .kp-hardware-showroom .kp-hardware-actions { margin-bottom:28px; }
body.kp-kesse-page .kp-hardware-link { color:#477925; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
body.kp-kesse-page .kp-hardware a:focus-visible { outline:3px solid #7cb927; outline-offset:4px; }

/* The shared footer deliberately overlaps native pages by 205px. These two
   custom category templates have no compensating final section; keep the
   footer in normal flow here without changing any existing page/product. */
body.kp-kesse-page.tax-product_cat .footer { margin-top:0; }

/* Normalise only imported mechanism previews, including the related slider. */
.catalog_item.kp-kesse-item .img img { object-fit:contain!important; background:#fff; }
.catalog_item.kp-kesse-item .info .name { height:auto!important; overflow-wrap:anywhere; }
.catalog_item.kp-kesse-item:hover .thumb .img img { transform:none!important; }

/* The kitchen template's 840px information column and 80px title are not
   suitable for mechanism names. Equal shrinkable columns avoid overflow. */
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:40px; margin-bottom:48px; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_gallery,
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_info { min-width:0; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_info .m_title { margin-bottom:20px; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_info .m_title .h2 { font-size:clamp(28px,2.8vw,44px); line-height:1.2; overflow-wrap:anywhere; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_info p { max-width:none; font-size:18px; line-height:1.6; font-weight:400; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_info .kitchen_card_manufacturer { padding:10px 18px; max-width:100%; font-size:16px; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_info .kitchen_card_price { margin:16px 0; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_info .kitchen_card_advantages { margin:0; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_info .kitchen_card_buttons { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_info .kitchen_card_buttons .btn_c { flex:1 1 200px; min-width:0; width:auto; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_info .kitchen_card_buttons .btn_c .btn_m { max-width:none; width:100%; height:auto; min-height:56px; padding:14px 16px; font-size:16px; line-height:1.4; white-space:normal; text-align:center; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_gallery .kitchen_card_slider .item img { height:auto; aspect-ratio:1/1; max-height:640px; object-fit:contain!important; background:#fff; }
body.kp-kesse-page .kitchen_card_thumbs .item img { object-fit:contain!important; background:#fff; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_gallery .kitchen_card_slider .owl-nav button.owl-prev { left:16px; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_gallery .kitchen_card_slider .owl-nav button.owl-next { right:16px; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_tabs .kitchen_card_tabs_content .kitchen_card_tab { font-size:18px; line-height:1.6; padding:28px; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_tabs .kitchen_card_tabs_content .kitchen_card_tab p { font-size:18px; line-height:1.6; margin:0 0 20px; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_tabs .kitchen_card_tabs_content .kitchen_card_tab .kitchen_card_specs { gap:0; }
body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_tabs .kitchen_card_tabs_content .kitchen_card_tab .kitchen_card_specs .item { min-width:0; padding:12px 16px; font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
body.kp-kesse-page .kitchen_card_tab h2 { font-size:26px; line-height:1.3; margin:24px 0 16px; }
body.kp-kesse-page .kitchen_card_tab ul { list-style:disc; padding-left:24px; margin:16px 0; }
body.kp-kesse-page .kitchen_card_tab li { list-style:disc; margin:10px 0; }
body.kp-kesse-page .kitchen_card_tab a { color:#477925; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
body.kp-kesse-page .page_card .cta_visit .mw .cta_visit_wrap .img img { object-fit:contain!important; background:#fff; }

@media (max-width:1100px) {
  body.kp-kesse-page .kp-hardware .kitchen_catalog .mw .kp-hardware-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  body.kp-kesse-page .kp-hardware .top_section .top_section_cont .kp-hardware-hero { gap:28px; }
  body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top { gap:24px; }
}
@media (max-width:900px) {
  body.kp-kesse-page .kp-hardware .top_section .top_section_cont .kp-hardware-hero,
  body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top { grid-template-columns:minmax(0,1fr); }
  body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top { margin-bottom:32px; }
  body.kp-kesse-page .kp-hardware-hero > img { max-width:760px; }
}
@media (max-width:767px) {
  body.kp-kesse-page .kp-hardware > .mw { padding-left:16px; padding-right:16px; }
  body.kp-kesse-page .kp-hardware .top_section .top_section_cont .kp-hardware-hero { padding:20px 16px 32px; gap:24px; }
  body.kp-kesse-page .kp-hardware .kitchen_catalog > .mw { padding:32px 16px 16px; }
  body.kp-kesse-page .kp-hardware h1 { font-size:30px; }
  body.kp-kesse-page .kp-hardware h2 { margin-top:28px; }
  body.kp-kesse-page .kp-hardware p,
  body.kp-kesse-page .kp-hardware li { font-size:16px; }
  body.kp-kesse-page .kp-hardware-actions { flex-direction:column; gap:12px; }
  body.kp-kesse-page .kp-hardware-actions .btn_m { width:100%; }
  body.kp-kesse-page .kp-hardware-showroom { padding-top:20px; padding-bottom:40px; }
  body.kp-kesse-page .kp-hardware-copy { padding-top:28px; }
  body.kp-kesse-page .page_card .kitchen_card .mw { padding:24px 16px 0; }
  body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_info p { font-size:16px; }
  body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_tabs .kitchen_card_tabs_nav button { width:50%; min-width:0; font-size:16px; height:56px; }
  body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_tabs .kitchen_card_tabs_content .kitchen_card_tab { padding:16px; font-size:16px; }
  body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_tabs .kitchen_card_tabs_content .kitchen_card_tab p { font-size:16px; }
  body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_tabs .kitchen_card_tabs_content .kitchen_card_tab .kitchen_card_specs { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:575px) {
  body.kp-kesse-page .kp-hardware .kitchen_catalog .mw .kp-hardware-grid { grid-template-columns:minmax(0,1fr); }
  body.kp-kesse-page .kp-hardware .kitchen_catalog .mw .kp-hardware-grid .catalog_item .info .name { min-height:0; font-size:20px; }
  body.kp-kesse-page .page_card .kitchen_card .mw .kitchen_card_top .kitchen_card_info .kitchen_card_buttons .btn_c { flex-basis:100%; }
}
