/* V1.2 extends native Gutenberg prose; imported V1.2 layout rules remain in parent. */
/* Primary display headings: prefer the real Arial Light face when installed.
   Arial is the fallback; 300 cannot manufacture a missing Light font face. */
body.brand-system.kp-v12 :is(main h1,.showcase-copy h2,.company-design .hero-frame .hero-intro h1),
.editor-styles-wrapper h1{
 font-family:"Arial Light",Arial,sans-serif;
 font-weight:300;
}
/* Picture selects motion/static SVG without adding a box or changing logo sizing. */
.kp-v12-logo-picture{display:contents}
/* A source flattened into the brand flex row must not create an empty gap. */
.kp-v12-logo-picture>source{display:none}
/* Contact page: one line-icon family; text labels retain their meaning (WCAG 1.1.1). */
.kp-v12-contact .kp-contact-icon{display:inline-block;width:24px;height:24px;flex:0 0 auto;vertical-align:middle;pointer-events:none}
.kp-v12-contact .page-heading>.wrap{position:relative}
.kp-v12-contact .contact-hero-art{position:absolute;right:38px;top:50%;width:136px;height:136px;transform:translateY(-45%);color:#235879;pointer-events:none}
.kp-v12-contact .contact-hero-art>svg{display:block;width:100%;height:auto}
body.kp-v12 .kp-v12-contact .contact-section-title{display:flex;align-items:center;gap:12px}
.kp-v12-contact .contact-section-title>.kp-contact-icon{width:28px;height:28px;color:#235879}
body.kp-v12 .kp-v12-contact .contact-details{gap:27px}
.kp-v12-contact .contact-detail{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:start;gap:14px}
.kp-v12-contact .contact-detail-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#eef4f8;border:1px solid #d6e2ea;color:#235879}
.kp-v12-contact .contact-whatsapp .contact-detail-icon{color:#237748;background:#eaf5ef;border-color:#cfe4d8}
.kp-v12-contact .contact-detail-copy{min-width:0}
body.kp-v12 .kp-v12-contact .contact-detail-copy h3{margin:0 0 5px}
.kp-v12-contact .contact-detail-copy a{overflow-wrap:anywhere}
body.kp-v12 .kp-v12-contact .contact-detail-copy p{margin:0}
.kp-v12-contact .contact-channels{padding-left:60px}
.kp-v12-contact .contact-channels .kp-contact-icon{width:19px;height:19px;margin-right:8px}
body.kp-v12 .kp-v12-contact .contact-field-label{display:flex;align-items:flex-start;gap:7px;line-height:1.45}
.kp-v12-contact .contact-field-label>.kp-contact-icon{width:16px;height:16px;margin-top:1px;color:#235879}
.kp-v12-contact .form-actions>.button>.kp-contact-icon{width:19px;height:19px}
/* The form buttons retain their text labels and arrow; decorative marks are removed. */
.kp-v12-contact #quote-form .form-actions>.button>.kp-contact-icon,.kp-v12-contact #quote-form .form-actions .print-mark{display:none}
body.kp-v12 .kp-v12-contact #quote-form .form-actions>.button>.action-direction>.arrow{opacity:1;transform:none}
/* WhatsApp brand green with dark text preserves readable contrast (WCAG 1.4.3). */
body.kp-v12 .kp-v12-contact #quote-form .form-actions>.button[value="whatsapp"]{background:#12833f;border-color:#12833f;color:#fff}
body.kp-v12 .kp-v12-contact #quote-form .form-actions>.button[value="whatsapp"]:hover{background:#0f7036;border-color:#0f7036;color:#fff}
/* Readable confirmation wraps at narrow widths and keeps the keyboard focus ring. */
body.kp-v12 .kp-v12-contact #quote-form .form-actions>.button.is-sent{background:var(--gold,#d8b86a);border-color:var(--gold,#d8b86a);color:#172d46;cursor:default;white-space:normal;line-height:1.5;padding:14px 18px;text-align:center}
/* The same message remains announced by the live region without repeating it visually. */
body.kp-v12 #quote-form:has(.is-sent) #form-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:950px){.kp-v12-contact .contact-hero-art{display:none}}
@media(max-width:700px){.kp-v12-contact .contact-details{grid-template-columns:1fr}.kp-v12-contact .contact-detail{grid-template-columns:42px minmax(0,1fr);gap:12px}.kp-v12-contact .contact-detail-icon{width:42px;height:42px}.kp-v12-contact .contact-detail-icon>.kp-contact-icon{width:22px;height:22px}.kp-v12-contact .contact-channels{padding-left:54px}body.kp-v12 .kp-v12-contact .contact-section-title{gap:10px}.kp-v12-contact .contact-section-title>.kp-contact-icon{width:25px;height:25px}}
/* WCAG 2.4.11: the contact page already has WhatsApp links; keep mobile fields clear. */
@media(max-width:700px){body.kp-v12:has(.kp-v12-contact) .whatsapp-float{display:none}}
/* Keep the contact channels and address together, independent of form height. */
body.kp-v12 .kp-v12-contact .contact-layout-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:stretch}
.kp-v12-contact .contact-left{display:flex;flex-direction:column;min-width:0}
body.kp-v12 .kp-v12-contact .contact-left .contact-details{grid-template-columns:1fr;gap:27px}
body.kp-v12 .kp-v12-contact .contact-left>.contact-details{margin-top:38px;padding-top:26px;border-top:1px solid var(--line,#d6e2ea)}
.kp-v12-contact .contact-address-block{margin-top:28px;padding-top:28px;border-top:1px solid var(--line,#d6e2ea)}
.kp-v12-contact .contact-section-title strong{font-weight:700}
.kp-v12-contact .contact-address-block .contact-channels{margin-top:24px}
body.kp-v12 .kp-v12-contact .contact-address-block p{font-size:15px;line-height:1.65}
body.kp-v12 .kp-v12-contact .contact-address-block h3{font-size:15px;line-height:1.4;letter-spacing:0;font-weight:600;margin-bottom:5px}
/* A short decorative rule stays within the two-line welcome heading. */
.kp-v12-contact #contact-details-heading::before{content:"";display:block;flex:0 0 2px;width:2px;height:1.65em;align-self:center;border-radius:1px;background:#b88b2a}
.kp-v12-contact #contact-details-heading>span{min-width:0}
.kp-v12-contact .contact-address-line{display:block}
/* Reserve map space before the lazy iframe loads; reflow inside the contact column. */
.kp-v12-contact .contact-map{margin-top:28px;border:1px solid var(--line,#d6e2ea);border-radius:10px;overflow:hidden;background:var(--pale,#eef4f8)}
.kp-v12-contact .contact-map iframe{display:block;width:100%;height:260px;border:0}
@media(max-width:700px){.kp-v12-contact .contact-map iframe{height:240px}}
/* Decorative conversation plays briefly, then settles without a separate control. */
.kp-v12-contact .page-heading>.wrap{padding-right:310px;min-height:215px}
.kp-v12-contact .contact-hero-conversation{right:12px;width:260px;height:246px;pointer-events:auto}
.kp-v12-contact .contact-hero-conversation picture,.kp-v12-contact .contact-hero-conversation img{display:block;width:100%;height:auto}
@media(max-width:1100px){body.kp-v12 .kp-v12-contact .contact-layout-split{gap:42px}}
@media(max-width:1000px){body.kp-v12 .kp-v12-contact .contact-layout-split{grid-template-columns:1fr;gap:36px}}
@media(max-width:950px){.kp-v12-contact .page-heading>.wrap{padding-right:0;min-height:0}}
@media(max-width:700px){.kp-v12-contact .contact-address-block .contact-channels{margin-top:20px}}
/* Four PVC examples retain their reading order and reflow without scrolling (WCAG 1.4.10). */
body.kp-v12.home-page .pvc-strip-with-transparent{grid-template-columns:minmax(280px,1fr) minmax(0,640px)}
/* Reserve space for the requested single-line title, keeping the caption below it. */
body.kp-v12.home-page .pvc-strip-with-transparent .pvc-strip-copy strong{max-width:none;white-space:nowrap}
body.kp-v12.home-page .pvc-strip-with-transparent .pvc-strip-families{grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,640px)}
@media(max-width:850px){body.kp-v12.home-page .pvc-strip-with-transparent{grid-template-columns:1fr;gap:18px}body.kp-v12.home-page .pvc-strip-with-transparent .pvc-strip-families{grid-column:1;grid-row:2;justify-self:start}}
@media(max-width:600px){body.kp-v12.home-page .pvc-strip-with-transparent .pvc-strip-families{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,380px);gap:16px 8px}}
/* User's October 16 annotations: retain semantic headings/labels (WCAG 1.3.1). */
/* Gallery labels are visually removed sitewide; retain status feedback (WCAG 4.1.3). */
.kp-v12-visually-hidden,body.kp-v12 .gallery-count,body.kp-v12 .media-viewer-description{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
body.kp-v12 .company-hero .company-wordmark{width:120px;height:120px;margin:0 0 24px;max-width:100%;object-fit:contain}
body.kp-v12 #yaklasim .company-emblem{width:min(300px,75%);height:auto;margin:28px auto 8px;opacity:1}
body.kp-v12 #yaklasim .company-emblem svg{width:100%;height:auto}
body.kp-v12 .heritage-heading{min-height:0;margin-bottom:18px}
body.kp-v12 .confidence-section{justify-content:flex-start}
/* Compact native controls retain labels, focus rings and 44px targets (WCAG 2.5.8). */
body.kp-v12 .catalogue-tools{align-items:center;gap:12px;padding:12px 0;margin-bottom:26px;background:transparent;border:0;border-radius:0;box-shadow:none}
body.kp-v12 .catalogue-tools .field{margin:0;min-width:0}
body.kp-v12 .catalogue-tools .search-field{position:relative;flex:1 1 360px;max-width:620px}
body.kp-v12 .catalogue-tools .category-field{flex:0 1 220px}
body.kp-v12 .catalogue-tools :is(input,select){height:44px;min-height:44px;padding:9px 12px;border:1px solid #bdcbd8;border-radius:6px;background-color:#fff;color:#172d46;font-size:14px;line-height:24px;box-shadow:none}
/* Retain the native select and keyboard behavior; reserve room for a centered chevron. */
body.kp-v12 .catalogue-tools #catalog-category,body.kp-v12 #quote-form #quote-product{-webkit-appearance:none;appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234b6177' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px}
/* System rendering keeps the indicator visible in forced-color mode (WCAG 1.4.11). */
@media(forced-colors:active){body.kp-v12 .catalogue-tools #catalog-category,body.kp-v12 #quote-form #quote-product{-webkit-appearance:auto;appearance:auto;background-image:none;padding-right:12px}}
body.kp-v12 .catalogue-tools input{padding-inline-start:40px}
body.kp-v12 .catalog-search-icon{position:absolute;left:14px;top:50%;width:17px;height:17px;transform:translateY(-50%);color:#4b6177;pointer-events:none}
body.kp-v12 .catalogue-tools :is(input,select):focus-visible{outline:2px solid #1d4d80;outline-offset:3px;border-color:#1d4d80}
body.kp-v12 .catalogue-tools .result-count{width:auto;flex:0 0 auto;margin:0 0 0 auto;padding-bottom:0;font-size:13px;line-height:1.4;white-space:nowrap}
@media(max-width:700px){body.kp-v12 .catalogue-tools{gap:10px;padding-block:10px}body.kp-v12 .catalogue-tools .search-field{flex-basis:100%;max-width:none}body.kp-v12 .catalogue-tools .category-field{flex:1 1 170px}body.kp-v12 .catalogue-tools .result-count{font-size:12px}body.kp-v12 .company-hero .company-wordmark{width:104px;height:104px;margin-bottom:20px}body.kp-v12 #yaklasim .company-emblem{width:min(260px,80%);margin-top:22px}}
/* WCAG 2.4.11: focused links/anchors remain below the sticky header. */
html{scroll-padding-top:105px}
main :is(h1,h2,h3,h4,[id],a,button,input,select,textarea){scroll-margin-top:105px}
.kp-v12-block-content,.editor-styles-wrapper{--wp--preset--color--ink:#172d46;--wp--preset--color--blue:#1d4d80;--wp--preset--color--muted:#4b6177;--wp--preset--color--pale:#eef4f8;--wp--preset--color--white:#fff}
.kp-v12-block-content{font-size:17px;line-height:1.75;overflow-wrap:anywhere;min-width:0}
.kp-v12-document :is(.product-copy,.page-heading){min-width:0;overflow-wrap:anywhere}
.kp-v12-document .product-layout>.product-copy:only-child{grid-column:1/-1;max-width:760px}
.brand-system [data-kp-v12-service-gallery] .product-gallery-main{cursor:default}
[data-kp-v12-service-gallery] .gallery-buttons{display:none}
/* Reserve controls before deferred JS; their reveal must not shift prose. */
html.js [data-kp-v12-service-gallery] .gallery-buttons{display:flex;visibility:hidden}
[data-kp-v12-service-gallery].is-ready .gallery-buttons{display:flex;visibility:visible}
.kp-v12-block-content :is(p,ul,ol){max-width:78ch}
.kp-v12-block-content>:first-child{margin-top:0}
.kp-v12-block-content>:last-child{margin-bottom:0}
:is(.kp-v12-block-content,.editor-styles-wrapper) :is(p,ul,ol,blockquote,figure,pre,.wp-block-buttons,.wp-block-columns,.wp-block-group){margin-block:0 1.5rem}
:is(.kp-v12-block-content,.editor-styles-wrapper) :is(h2,h3,h4,h5,h6){color:#172d46;line-height:1.3;letter-spacing:-.025em;margin-block:2rem 1rem;font-weight:500}
:is(.kp-v12-block-content,.editor-styles-wrapper) h2{font-size:clamp(1.6rem,3vw,2rem)}
:is(.kp-v12-block-content,.editor-styles-wrapper) h3{font-size:clamp(1.3rem,2.5vw,1.55rem)}
:is(.kp-v12-block-content,.editor-styles-wrapper) h4{font-size:1.15rem}
:is(.kp-v12-block-content,.editor-styles-wrapper) :is(ul,ol){padding-inline-start:1.5rem;list-style-position:outside}
:is(.kp-v12-block-content,.editor-styles-wrapper) li{margin-block:.35rem}
:is(.kp-v12-block-content,.editor-styles-wrapper) li :is(ul,ol){margin-block:.5rem}
:is(.kp-v12-block-content,.editor-styles-wrapper) a:not(.wp-block-button__link){color:#1d4d80;text-underline-offset:.2em}
:is(.kp-v12-block-content,.editor-styles-wrapper) blockquote{padding:1rem 1.5rem;border-inline-start:3px solid #1d4d80;background:#eef4f8}
:is(.kp-v12-block-content,.editor-styles-wrapper) blockquote p:last-child{margin-bottom:0}
:is(.kp-v12-block-content,.editor-styles-wrapper) :is(img,video,iframe){max-width:100%}
:is(.kp-v12-block-content,.editor-styles-wrapper) img{height:auto}
:is(.kp-v12-block-content,.editor-styles-wrapper) figcaption{font-size:.875rem;line-height:1.6;color:#4b6177;margin-top:.65rem}
:is(.kp-v12-block-content,.editor-styles-wrapper) :is(.wp-block-image,.wp-block-embed){max-width:100%}
:is(.kp-v12-block-content,.editor-styles-wrapper) :is(.wp-block-table,pre){max-width:100%;overflow:auto}
/* WCAG 1.4.10: genuine data tables scroll within their own region at 320px. */
:is(.kp-v12-block-content,.editor-styles-wrapper) table{border-collapse:collapse;width:100%;font-size:.94rem;line-height:1.55}
:is(.kp-v12-block-content,.editor-styles-wrapper) :is(th,td){border:1px solid #d6e0e8;padding:.7rem .85rem;text-align:start;vertical-align:top}
:is(.kp-v12-block-content,.editor-styles-wrapper) th{background:#eef4f8;font-weight:600}
:is(.kp-v12-block-content,.editor-styles-wrapper) pre{padding:1rem;background:#eef4f8;font-size:.875rem;overflow-wrap:normal}
:is(.kp-v12-block-content,.editor-styles-wrapper) .wp-block-columns{display:flex;gap:2rem;flex-wrap:nowrap}
:is(.kp-v12-block-content,.editor-styles-wrapper) .wp-block-column{min-width:0;flex:1}
:is(.kp-v12-block-content,.editor-styles-wrapper) .wp-block-gallery{display:flex;flex-wrap:wrap;gap:1rem}
:is(.kp-v12-block-content,.editor-styles-wrapper) .wp-block-gallery .wp-block-image{flex:1 1 220px;margin:0;min-width:0}
:is(.kp-v12-block-content,.editor-styles-wrapper) .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px}
:is(.kp-v12-block-content,.editor-styles-wrapper) .wp-block-button{max-width:100%}
:is(.kp-v12-block-content,.editor-styles-wrapper) .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:12px 24px;border-radius:3px;border:1px solid #1d4d80;background:#1d4d80;color:#fff;line-height:1.5;text-decoration:none;font-weight:600;white-space:normal;overflow-wrap:anywhere}
:is(.kp-v12-block-content,.editor-styles-wrapper) .wp-block-button.is-style-outline .wp-block-button__link{background:#fff;color:#1d4d80}
:is(.kp-v12-block-content,.editor-styles-wrapper) .wp-block-button__link:hover{background:#172d46;color:#fff}
/* WCAG 2.4.7 / 1.4.11: rings have contrast against both pale and blue surfaces. */
.kp-v12-block-content :focus-visible{outline:3px solid #172d46;outline-offset:4px;box-shadow:0 0 0 2px #fff}
.kp-v12-block-content .alignwide{max-width:100%}
.kp-v12-block-content .alignfull{width:100%;max-width:100%;margin-inline:0}
.kp-v12-block-content .wp-block-separator{border:0;border-top:1px solid #d6e0e8;margin-block:2rem}
.editor-styles-wrapper{font-family:Arial,sans-serif;color:#172d46}
@media(max-width:781px){:is(.kp-v12-block-content,.editor-styles-wrapper) .wp-block-columns:not(.is-not-stacked-on-mobile){flex-direction:column;gap:1rem}}
@media(max-width:600px){.kp-v12-block-content{font-size:16px}.kp-v12-block-content :is(th,td){padding:.6rem}.kp-v12-block-content .wp-block-button{width:100%}.kp-v12-block-content .wp-block-button__link{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.kp-v12-block-content *{animation:none!important;transition:none!important}}
