/* Legacy visual fidelity corrections. Primary geometry comes from front/css/style.css. */
/* A category is an original round SVG icon, not a photo/card. */
#termekeink .icon-box { border:0; box-shadow:none; background:transparent; }
#termekeink .icon-box__figure { width:140px; height:140px; max-width:100%; }
#termekeink .icon-box__title { max-width:180px; margin-left:auto; margin-right:auto; }
/* Real ERP items retain the theme's original Slick carousel and pricing blocks. */
.product-carousel .product-box__title { color:#232341; }
.product-carousel .swiper-slide { height:auto; }
.product-carousel .item-box-image { max-height:230px; object-fit:contain; }
.product-carousel .km-erp-no-products { text-align:center; }
.km-erp-no-products { margin:2rem auto; max-width:640px; color:#555; }
/* Original homepage uses angled SVG clipping; retain that layout instead of R3's 50/50 cards. */
/* Use the original theme's clipping and positioning. The machine.png image has
   its own shaped transparency and must fill the left half of the section. */
.km-original-about { background-size:50% auto; background-repeat:no-repeat; background-position:left top; }
.km-original-about .section--about__figure img { max-width:100%; height:auto; }
.km-original-about .km-original-about__copy { font-size:20px; font-weight:400; line-height:1.5; text-align:right; }
@media (max-width:1199px) {
 .km-original-about { background-size:50% auto; }
 .km-original-about .km-original-about__copy {font-size:18px;}
}
@media (max-width:767px) {
 /* Keep the same visual language without letting the large desktop photo
    obscure the small-screen body copy. */
 .section--about.km-original-about { background-image:none !important; margin-top:0; }
 .section--about.km-original-about .section--about__shape {
     width:100%; margin:0; padding:35px 15px 75px;
     clip-path:polygon(0 0,100% 0,100% 70%,55% 100%,0 78%);
     -webkit-clip-path:polygon(0 0,100% 0,100% 70%,55% 100%,0 78%);
 }
 .section--about.km-original-about .count-text {font-size:22px;}
 .section--about.km-original-about .container .row > .col-md-7 {
     flex:0 0 100%;max-width:100%;margin-left:0;text-align:center !important;
 }
 .section--about.km-original-about .section--about__figure {
     display:block !important;margin:0 auto 25px !important;
 }
 .section--about.km-original-about .km-original-about__copy {
     font-size:17px; text-align:center; padding:0 10px;
 }
}
/* Original about page: fixed background photograph on the left, copy on light grey. */
.km-original-about-page { position:relative; display:grid; grid-template-columns:34% 66%; min-height:720px; background:#ececec; overflow:hidden; }
.km-original-about-page__image { position:relative; background:#232341 url('../img/bg-about.png') center/cover no-repeat; clip-path:polygon(0 0,100% 0,80% 100%,0 100%); }
.km-original-about-page__image h1 { margin:95px 0 0 13%; color:#fff; font-size:42px; font-weight:700; }
.km-original-about-page__text { max-width:1000px; padding:90px 8% 160px 4%; color:#232341; font-size:18px; line-height:1.65; }
.km-original-about-page__text p { margin-bottom:30px; }
.km-original-about-page__text strong { display:block; margin-top:10px; }
.km-original-about-page:after { content:""; position:absolute; bottom:-1px; left:0; right:0; height:90px; background:#232341; clip-path:polygon(0 100%,100% 0,100% 100%); pointer-events:none; }
/* References use the same original 3-column alphabetical list, not photos. */
.km-reference-article .letter-section .row > div { padding-bottom:7px; overflow-wrap:anywhere; }
.km-reference-article .letter-section h3 { border-bottom:1px solid #232341; }
@media(max-width:991px) {
 .km-original-about {background-size:cover;}
 .km-original-about-page {grid-template-columns:1fr;}
 .km-original-about-page__image {min-height:290px; clip-path:none;}
 .km-original-about-page__image h1 {margin:90px 7% 0;}
 .km-original-about-page__text {padding:45px 7% 120px;}
}
@media(max-width:575px) { .km-original-about-page__text {font-size:16px;} #termekeink .icon-box__figure {width:120px;height:120px;} }

/* Original offers heading has a right-aligned complete-catalogue link. */
.km-offers-heading { display:flex; justify-content:space-between; align-items:baseline; gap:20px; }
.km-all-products-link { color:#999; font-size:18px; font-weight:400; white-space:nowrap; }
.km-all-products-link:hover { color:#232341; }
@media(max-width:575px) { .km-offers-heading { display:block; } .km-all-products-link { display:block; margin:-15px 0 30px; } }

/* This page renders a local image in place of the removed legacy CMS photo. */
.km-original-about-page::before { content:none !important; }

/* R7: Do not override the original .section--about polygon geometry.
   R5's full-width, center-aligned custom layout was responsible for the
   18.2%-wide machine photo and the oversized white margins. */

/* R9: Széchenyi Terv Plusz stays at the BOTTOM LEFT, like the original
   site. The older front/css/style.css has several right-aligned #tender_logo
   rules (including !important on mobile), so keep one explicit override here. */
#tender_logo.km-grant-floating {
    position: fixed !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    z-index: 1000 !important;
    width: min(275px, 32vw) !important;
    max-width: calc(100vw - 16px) !important;
    background: transparent !important;
    box-shadow: 0 2px 10px rgba(35,35,65,.12);
    line-height: 0;
    display: block;
}
#tender_logo.km-grant-floating #tender_logo_image {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
}
#tender_logo.km-grant-floating:focus-visible {
    outline: 3px solid #164194;
    outline-offset: 3px;
}
@media (max-width: 767px) {
    #tender_logo.km-grant-floating {
        left: 0 !important;
        right: auto !important;
        bottom: 0 !important;
        width: min(210px, 60vw) !important;
    }
}
.km-trustindex-consent { min-height: 60px; text-align: center; }
.km-trustindex-consent .km-external-placeholder { margin: 0 auto 1.5rem; max-width: 680px; }
.km-trustindex-consent .km-external-settings { cursor: pointer; }
.km-trustindex-consent [data-km-retry-trustindex] { margin: 1rem auto; }
