/* GREON: shared geometry. Existing colours, typefaces, photography and motion stay in their original styles. */
:root{--gr-space-1:8px;--gr-space-2:16px;--gr-space-3:24px;--gr-space-4:32px;--gr-space-6:48px;--gr-space-8:64px;--gr-content-max:1350px;--gr-page-cap:var(--gr-content-max);--gr-page-gutter:24px;--gr-section-space:48px;--gr-heading-size:28px;--gr-button-height:48px}
:root{--gr-anchor-offset:192px}
body main :is(section[id],article[id],aside[id],div[id]){scroll-margin-top:var(--gr-anchor-offset)!important}
@media(min-width:1025px){:root{--gr-page-gutter:40px;--gr-section-space:64px;--gr-heading-size:32px;--gr-button-height:56px}}
/* Retain the existing desktop content measure at its original breakpoints. */
@media(min-width:1025px) and (max-width:1279px){:root{--gr-page-cap:944px}}
@media(min-width:1280px) and (max-width:1535px){:root{--gr-page-cap:1184px}}
@media(max-width:767px){:root{--gr-page-gutter:16px;--gr-section-space:40px}}

/* Legacy templates use both padded and inset containers. One content edge replaces both conventions. */
body .container:not(.home-scroll-container){box-sizing:border-box;width:calc(100% - var(--gr-page-gutter)*2)!important;max-width:var(--gr-page-cap)!important;margin-inline:auto;padding-inline:0!important}
body .container .container{width:100%!important;max-width:none!important;padding-inline:0!important}
body .container.home-scroll-container{box-sizing:border-box;width:calc(100% - var(--gr-page-gutter)*2)!important;max-width:var(--gr-page-cap)!important;margin-inline:auto;padding-inline:0!important}
body .gm-article-layout{grid-template-columns:230px minmax(0,800px);gap:48px}
body .gm-article-content{max-width:800px;min-width:0}
body .home-services-grid>*,body .home-features-grid>*,body .rf-overview-columns>*,body .rf-chip-card-body>*,body .cu-process-price>*,body .contact-section-form,body .contact-section-content{min-width:0}

body main>:is(.rf-section,.cu-section,.ux-section,.gr-realizations,.cm-section,.home-gallery,.home-area,.home-features,.home-services,.home-about,.about-section,.gm-blog-teaser,.rf-home-prices,.kontakty-cards,.cenik-section,.gs-scope,.gs-photo-ba,.gs-stump-case,.gr-service-note){padding-block:var(--gr-section-space)!important}
body .companies{padding-block:32px!important}
body .gm-article-content section{margin-bottom:48px}
body .gm-article-content p{margin-bottom:16px}
body .gm-article-layout{padding-block:48px}

body main>section>.container>h2,body .home-section-header h2,body .rf-overview-heading h2,body .cu-main h2,body .ux-section h2,body .gs-scope h2,body .cm-section h2,body .gm-blog-heading h2,body .gr-realizations:not(.cf-top) h2{font-size:var(--gr-heading-size);line-height:1.2;margin-bottom:24px}
body .cu-main #postup-cisteni .cu-process-copy h2{font-size:var(--gr-heading-size)}
body h1,body h2,body h3,body summary{overflow-wrap:break-word}
body .specific-card h3{font-size:22px;line-height:1.25;overflow-wrap:anywhere}
body .cm-diagnostic-cards h3{font-size:24px;line-height:1.25;overflow-wrap:anywhere}
body .rf-chip-card h2{font-size:24px;line-height:1.25;overflow-wrap:anywhere}
body .rf-chip-card-body{grid-template-columns:64px minmax(0,1fr);gap:16px;padding:24px}
body .rf-chip-card-body .rf-icon-disc{width:64px;height:64px}

/* A long service name may wrap; it must never force the page wider than the screen. */
body main .button,body header .button,body .gr-cta{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;max-width:100%;height:auto!important;min-height:var(--gr-button-height);border-radius:999px;padding:12px 24px!important;line-height:1.4;white-space:normal!important;overflow-wrap:anywhere;text-align:center}
body .button>svg,body .button>img{flex-shrink:0}
body .home-hero-content{width:100%;min-width:0;max-width:692px}
body .home-hero-content>div{max-width:100%;flex-wrap:wrap}
body .approved-full-width-card .preview-card-copy{min-width:0}

body .enquiry-fields{gap:24px}
body .enquiry-fields .contact-section-form-group{min-width:0;margin:0}
body .enquiry-fields .contact-section-form-label{display:block;line-height:1.4;margin-bottom:8px}
body .enquiry-fields .contact-section-form-group :is(input,textarea,select){box-sizing:border-box;max-width:100%;width:100%;border-radius:8px;line-height:1.4;padding:14px 16px}
body .enquiry-fields .contact-section-form-group input:not([type=hidden]),body .enquiry-fields .contact-section-form-group select{min-height:56px}
body .enquiry-fields .contact-section-form-group textarea{min-height:144px}
body .enquiry-field-error{margin-top:8px;font-size:14px;line-height:1.4}
body .cu-main .cu-gallery .cu-caption{padding:16px;margin:0}
body .rf-faq details,body .cu-faq details{padding-block:24px}
body .rf-faq details p,body .cu-faq details p{margin-top:16px}
body .gm-category>summary{min-height:48px}
body .gm-category nav a{min-height:44px;display:flex;align-items:center}
body .gm-bar{flex-wrap:nowrap}
body .rf-home-price-footer{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}
body .rf-home-price-footer>p{min-width:0;flex:1 1 30rem}
body .rf-home-price-footer>a{flex:0 0 auto;max-width:100%;white-space:normal}

@media(min-width:768px){body .preview-continuous-grid .approved-full-width-card{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}
@media(min-width:1025px){body .rf-service-choices,body .rf-group-grid{gap:24px;align-items:stretch}body .rf-service-choice,body .rf-group{display:flex;flex-direction:column;align-items:flex-start;gap:16px}body .rf-service-choice>.rf-text-link,body .rf-group>.rf-text-link{margin-top:auto;padding-top:8px}}
@media(max-width:1024px){:root{--gr-anchor-offset:176px}body .gm-top{display:none}body .gm-article-layout{grid-template-columns:1fr;gap:32px}body .specific-card h3,body .cm-diagnostic-cards h3{font-size:20px}body .enquiry-fields{gap:16px}body nav.rf-mobile-contact{box-sizing:border-box;left:16px;right:16px;width:auto;max-width:calc(100% - 32px);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body .rf-mobile-contact a{box-sizing:border-box;min-width:0;min-height:48px;padding:12px 8px}body .rf-faq details,body .cu-faq details{padding-block:16px}}
@media(max-width:767px){body .rf-chip-card-body{grid-template-columns:48px minmax(0,1fr);padding:24px;gap:16px}body .rf-chip-card-body .rf-icon-disc{width:48px;height:48px}body .gm-article-layout{padding-block:32px}body .gm-article-content section{margin-bottom:32px}}
/* The certification showcase has older, more specific type rules. Avoid isolated final letters in its narrow cards. */
@media(max-width:1024px){body .specific-locations .specific-card h3{font-size:20px!important;line-height:1.25!important;overflow-wrap:normal;word-break:normal;hyphens:auto;text-wrap:normal}}
