/* Shared CMS visual system. Native Shoptet content, forms and routes remain authoritative. */
:root{--st3-page-width:1180px;--st3-surface:#0c1317;--st3-line:rgba(185,217,223,.17);--st3-copy:#c3ccd3;--st3-accent:#00dcd5;--st3-page-radius:24px}
body:is(.in-kontakty,.in-o-nas) #content-wrapper,body:is(.in-kontakty,.in-o-nas) #content{width:100%;max-width:none;margin:0;padding:0}
body:is(.in-kontakty,.in-o-nas) .pageArticleDetail{padding:0;margin:0;max-width:none}
body:is(.in-kontakty,.in-o-nas) .pageArticleDetail>header{display:block!important;max-width:var(--st3-page-width);margin:0 auto;padding:36px 24px 0}
body:is(.in-kontakty,.in-o-nas) .pageArticleDetail>header h1{display:block!important;text-align:left;font-size:12px;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:var(--st3-accent);margin:0;font-weight:700}
.st3-page{width:min(var(--st3-page-width),calc(100% - 48px));margin:0 auto 88px;color:var(--st3-copy);font-size:16px;line-height:1.75}
.st3-page *{box-sizing:border-box;min-width:0}
.st3-page :is(h2,h3){font-family:Montserrat,sans-serif;font-weight:800;letter-spacing:-.035em;line-height:1.15;text-align:left;color:#f6f8fa;text-transform:none;margin:0 0 22px}
.st3-page h2{font-size:clamp(28px,3.4vw,46px)}
.st3-page h3{font-size:clamp(22px,2.1vw,30px)}
.st3-page p{font-size:inherit;line-height:inherit;margin:0 0 22px;text-align:left;color:var(--st3-copy)}
.st3-page :is(h2,h3) em{font-style:normal;color:var(--st3-accent)}
.st3-page .st3-page-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center;padding:48px 0 64px;background:none;position:relative}
.st3-page .st3-page-hero h2{font-size:clamp(36px,4.5vw,62px);line-height:1.08;letter-spacing:-.045em}
.st3-page .st3-page-hero p{font-size:18px;max-width:560px}
.st3-eyebrow{display:block;color:var(--st3-accent);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin-bottom:18px}
.st3-page-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}
.st3-page .st3-page-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid var(--st3-accent);border-radius:12px;padding:15px 22px;min-height:50px;background:var(--st3-accent);color:#031213;font-size:13px;font-weight:800;text-decoration:none;line-height:1.4;transition:background .2s,transform .2s}
.st3-page .st3-page-button--quiet{background:transparent;color:#f6f8fa;border-color:var(--st3-line)}
.st3-page .st3-page-button:hover{background:#8bfff3;transform:translateY(-2px);color:#041213}
.st3-page a:focus-visible{outline:2px solid #fff;outline-offset:5px}
.st3-page-visual{position:relative;border:1px solid var(--st3-line);border-radius:48px 16px 48px 16px;overflow:hidden;background:radial-gradient(ellipse at 80% 20%,#154641,transparent 65%),var(--st3-surface)}
.st3-page-visual img{display:block;width:100%;height:auto;margin:0}
.st3-page-visual--contact img{height:470px;object-fit:contain;object-position:center bottom}
.st3-page-visual--team img{height:440px;object-fit:cover}
.st3-page-section{padding:64px 0;border-top:1px solid var(--st3-line)}
.st3-page-section:last-child{padding-bottom:0}
.st3-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.st3-page-card{padding:30px;border:1px solid var(--st3-line);border-radius:var(--st3-page-radius);background:linear-gradient(145deg,rgba(21,53,53,.42),rgba(12,16,20,.85))}
.st3-page-card .st3-eyebrow{margin-bottom:28px}
.st3-page-card h3{font-size:23px;line-height:1.25}
.st3-page-card p:last-child{margin-bottom:0}
.st3-contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.st3-contact-email{font-family:Montserrat,sans-serif;font-size:clamp(21px,2.5vw,30px);font-weight:700;color:#f7fafb;overflow-wrap:anywhere;text-decoration:none;display:inline-block;margin-bottom:22px}
.st3-contact-links{list-style:none!important;padding:0!important;margin:16px 0 32px!important;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.st3-contact-links li{margin:0!important;padding:0!important}
.st3-contact-links li:before{content:none!important}
.st3-contact-links a{display:flex;gap:10px;align-items:center;min-height:48px;border:1px solid var(--st3-line);border-radius:10px;padding:10px 12px;color:#e6eef0;text-decoration:none;font-size:13px}
.st3-contact-links a:hover{border-color:var(--st3-accent)}
.st3-contact-links img{width:20px;height:20px;object-fit:contain}
.st3-contact-company{border-top:1px solid var(--st3-line);padding-top:26px;font-size:14px}
.st3-contact-company strong{display:block;color:#fff}
.st3-contact-form{padding:32px;background:var(--st3-surface);border:1px solid var(--st3-line);border-radius:var(--st3-page-radius);scroll-margin-top:110px}
.st3-contact-form h2{font-size:30px}
.st3-contact-form #formContact{width:100%;max-width:none;margin:24px 0 0;padding:0;background:none;border:0}
.st3-contact-form fieldset{padding:0;margin:0;border:0;min-width:0}
.st3-contact-form .form-group{margin-bottom:22px}
.st3-contact-form .form-control{width:100%;max-width:none;background:#060d11!important;border:1px solid #40535c!important;color:#f5f9fa!important;border-radius:8px;min-height:52px;font-size:16px;padding:20px 14px 8px}
.st3-contact-form textarea.form-control{min-height:160px;resize:vertical}
.st3-contact-form .form-control:focus{border-color:var(--st3-accent)!important;outline:2px solid rgba(0,220,213,.2);outline-offset:2px}
.st3-contact-form label{color:#c5d4db;font-size:13px}
.st3-contact-form .consents :is(p,.label){font-size:12px;line-height:1.7;white-space:normal;color:var(--st3-copy)}
.st3-contact-form .consents a{color:var(--st3-accent);text-decoration:underline}
.st3-contact-form .submit-wrapper{text-align:left}
.st3-contact-form button.btn{border:0;border-radius:10px;background:var(--st3-accent);color:#031213;padding:15px 26px;min-height:50px;font-weight:800}
.st3-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
.st3-person{border:1px solid var(--st3-line);border-radius:var(--st3-page-radius);overflow:hidden;background:var(--st3-surface)}
.st3-person>img{width:100%;height:370px;object-fit:cover;object-position:center 22%;display:block}
.st3-person-copy{padding:32px}
.st3-person-copy h3{margin-bottom:10px}
.st3-person-copy .st3-eyebrow{margin-bottom:22px}
.st3-person-copy a{color:var(--st3-accent)}
.st3-person-links{display:flex;gap:20px;flex-wrap:wrap;font-size:14px}
.st3-page-close{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:44px}
.st3-page-close img{width:100%;border-radius:var(--st3-page-radius)}
@media(max-width:900px){.st3-page .st3-page-hero{gap:28px}.st3-contact-layout{gap:26px;grid-template-columns:1fr 1.1fr}.st3-page-card{padding:22px}.st3-contact-links{grid-template-columns:1fr}.st3-page-grid{gap:12px}}
@media(max-width:700px){.st3-page{width:calc(100% - 36px);margin-bottom:48px}body:is(.in-kontakty,.in-o-nas) .pageArticleDetail>header{padding:24px 18px 0}.st3-page .st3-page-hero,.st3-contact-layout,.st3-page-grid,.st3-team-grid,.st3-page-close{grid-template-columns:1fr}.st3-page .st3-page-hero{padding:28px 0 40px;gap:30px}.st3-page .st3-page-hero p{font-size:16px}.st3-page-visual--contact img{height:340px}.st3-page-visual--team img{height:280px}.st3-page-section{padding:40px 0}.st3-contact-form{padding:22px}.st3-contact-links{grid-template-columns:1fr 1fr}.st3-team-grid{gap:20px}.st3-person>img{height:340px}.st3-person-copy{padding:24px}.st3-page .st3-page-button{font-size:12px;padding:14px 16px}.st3-page-grid{gap:16px}}
@media(prefers-reduced-motion:reduce){.st3-page .st3-page-button{transition:none;transform:none}}

/* Native form wrappers use fixed desktop widths in the legacy theme. */
body.in-kontakty #formContact .form-group{display:block;width:100%;max-width:none}
body.in-kontakty #formContact .form-control-wrapper{display:block;width:100%;max-width:none;margin:0;padding:0}
body.in-kontakty #formContact .smart-label-wrapper>label{position:static!important;display:block!important;width:auto!important;max-width:none;transform:none!important;padding:0!important;margin:0 0 8px!important;float:none}
body.in-kontakty #formContact .form-control{width:100%!important;padding:14px!important}
body.in-kontakty #formContact .btn-primary{background:var(--st3-accent)!important;color:#061214!important;box-shadow:none}
body:is(.in-kontakty,.in-o-nas) .pageArticleDetail>header{width:min(var(--st3-page-width),calc(100% - 48px));padding:36px 0 0}
#nas-tym{scroll-margin-top:120px}
@media(max-width:700px){body:is(.in-kontakty,.in-o-nas) .pageArticleDetail>header{width:calc(100% - 36px);padding:24px 0 0}}
