/*
 * EasyKassa 7.5.38 – Typography safety layer.
 * Prevents descenders (g, j, p, q, y) and diacritics from being clipped at
 * large text sizes or browser zoom levels. Loaded after all theme/WooCommerce
 * styles and therefore acts as the final typographic contract.
 */

body.easykassa-theme-7424 :where(
 h1,h2,h3,h4,h5,h6,
 .entry-title,.page-title,.product_title,
 .woocommerce-loop-product__title,
 .wc-block-components-title,
 .wc-block-components-checkout-step__title,
 .wc-block-cart__totals-title,
 .wc-block-components-order-summary__button-text,
 .ek-home-category-copy strong,
 .ek-home-budget-title,
 .ek-home-process h3,
 .home-process-grid h3,
 .process-grid h3,
 .process-step h3,
 .info-card h2,.info-card h3
){
 line-height:1.24!important;
 min-height:1.24em;
 padding-block-end:.12em!important;
 overflow:visible!important;
 clip-path:none!important;
 text-decoration-skip-ink:auto;
 text-underline-offset:.18em;
 box-decoration-break:clone;
 -webkit-box-decoration-break:clone;
}

/* Large display headings need a slightly larger descent reserve. */
body.easykassa-theme-7424 :where(.page-hero h1,.hero h1,.section-heading h2,.compact-hero h1){
 line-height:1.18!important;
 padding-block-end:.16em!important;
}

/* Heading wrappers must never crop enlarged text or browser-zoom output. */
body.easykassa-theme-7424 :where(
 .section-heading,
 .compact-section-heading,
 .entry-header,
 .page-header,
 .product .summary,
 .wc-block-components-checkout-step__heading,
 .wc-block-cart__totals-title,
 .home-process-grid .info-card,
 .process-grid .process-step
){
 max-height:none!important;
 overflow:visible!important;
}

/* Decorative lines are kept outside the glyph box instead of intersecting descenders. */
body.easykassa-theme-7424 :where(h1,h2,h3,h4,h5,h6)::before,
body.easykassa-theme-7424 :where(h1,h2,h3,h4,h5,h6)::after{
 pointer-events:none;
}
body.easykassa-theme-7424 :where(.section-heading h2,.compact-section-heading h2,.process-step h3,.home-process-grid h3)::after{
 bottom:-.22em!important;
}

/* Rebuild old multi-step/timeline blocks as cards and remove legacy rails. */
body.easykassa-theme-7424 :where(.process-grid,.brand-process){
 position:relative!important;
 display:grid!important;
 grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))!important;
 gap:18px!important;
 width:100%!important;
 overflow:visible!important;
}
body.easykassa-theme-7424 :where(.process-grid,.brand-process)::before,
body.easykassa-theme-7424 :where(.process-grid,.brand-process)::after,
body.easykassa-theme-7424 :where(.process-grid,.brand-process)>.process-step::after{
 content:none!important;
 display:none!important;
}
body.easykassa-theme-7424 .process-grid>.process-step,
body.easykassa-theme-7424 .brand-process>.process-step{
 position:relative!important;
 display:flex!important;
 flex-direction:column!important;
 min-width:0!important;
 min-height:190px!important;
 padding:24px!important;
 border:1px solid #dbe6de!important;
 border-top:4px solid var(--ek-brand)!important;
 border-radius:20px!important;
 background:#fff!important;
 color:var(--ek-ink)!important;
 box-shadow:0 12px 30px rgba(7,29,51,.065)!important;
 overflow:visible!important;
}
body.easykassa-theme-7424 .process-grid>.process-step::before,
body.easykassa-theme-7424 .brand-process>.process-step::before{
 display:grid!important;
 place-items:center!important;
 width:48px!important;
 height:48px!important;
 min-width:48px!important;
 min-height:48px!important;
 margin:0 0 18px!important;
 border-radius:50%!important;
 background:var(--ek-brand-pale)!important;
 color:var(--ek-brand-dark)!important;
 font-size:.78rem!important;
 line-height:1!important;
}
body.easykassa-theme-7424 .process-grid>.process-step p,
body.easykassa-theme-7424 .brand-process>.process-step p{
 color:var(--ek-slate)!important;
}
body.easykassa-theme-7424 .section-dark :where(.process-grid,.brand-process)>.process-step{
 border-color:rgba(255,255,255,.16)!important;
 background:rgba(255,255,255,.07)!important;
 color:#fff!important;
}
body.easykassa-theme-7424 .section-dark :where(.process-grid,.brand-process)>.process-step h3{color:#fff!important}
body.easykassa-theme-7424 .section-dark :where(.process-grid,.brand-process)>.process-step p{color:#c8d6df!important}

/* WooCommerce-specific protection, including Blocks and zoomed checkout UI. */
body.easykassa-theme-7424.woocommerce :where(h1,h2,h3,h4,.product_title,.woocommerce-loop-product__title),
body.easykassa-theme-7424 :where(.woocommerce,.wc-block-cart,.wc-block-checkout) :where(h1,h2,h3,h4,label,legend,.wc-block-components-title){
 line-height:1.28!important;
 padding-block-end:.1em!important;
 overflow:visible!important;
}

@media (max-width:700px){
 body.easykassa-theme-7424 :where(h1,h2,h3,h4,h5,h6){
  line-height:1.28!important;
  padding-block-end:.14em!important;
 }
 body.easykassa-theme-7424 .process-grid>.process-step,
 body.easykassa-theme-7424 .brand-process>.process-step{min-height:0!important;padding:20px!important}
}


/* EasyKassa 7.5.38 – final specificity contract. */
body.easykassa-theme-7424 .site-main :where(
  h1,h2,h3,h4,h5,h6,.entry-title,.page-title,.product_title,
  .woocommerce-loop-product__title,.wc-block-components-title,
  .wc-block-components-checkout-step__title,.wc-block-cart__totals-title,
  .wc-block-components-order-summary__button-text,.ek-home-category-copy strong,
  .ek-home-budget-title,.ek-home-process h3,.home-process-grid h3,
  .process-grid h3,.process-step h3,.info-card h2,.info-card h3
):not(.screen-reader-text){
  line-height:1.24!important;
  min-height:1.24em!important;
  padding-block-end:.12em!important;
  overflow:visible!important;
  clip-path:none!important;
}
body.easykassa-theme-7424.woocommerce .site-main :where(
  h1,h2,h3,h4,.product_title,.woocommerce-loop-product__title,
  .wc-block-components-title,label,legend
):not(.screen-reader-text){
  line-height:1.28!important;
  padding-block-end:.1em!important;
  overflow:visible!important;
}
@media(max-width:700px){
  body.easykassa-theme-7424 .site-main :where(h1,h2,h3,h4,h5,h6):not(.screen-reader-text){
    line-height:1.28!important;
    padding-block-end:.14em!important;
    overflow:visible!important;
  }
}
