/* Gate landing: PVC-window visual language, scoped to /bramy/. */
.ovi-gates-landing{--g-ink:#191b19;--g-paper:#f0f1ee;--g-muted:#515751;--g-line:#d9dcd6;color:var(--g-ink);background:#fff;font-family:inherit}
.ovi-gates-landing *{box-sizing:border-box}
.ovi-gates-landing :is(a):focus-visible{outline:3px solid #99712e;outline-offset:4px}
.ovi-gates-landing :is(#typy-bram,#bramy-garazowe,#bramy-przemyslowe,#bramy-rozwierne){scroll-margin-top:105px}
.ovi-gates-landing .gate-shell{width:min(1376px,calc(100% - 72px));margin:auto}
.ovi-gates-landing h1,.ovi-gates-landing h2,.ovi-gates-landing h3{color:inherit;font-family:inherit}
.ovi-gates-landing .gate-label{font-size:12px;line-height:1.5;font-weight:750;letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px;color:#745a2f}
.ovi-gates-landing .gate-hero{padding:20px 28px 0;background:#fff}
.ovi-gates-landing .gate-hero-inner{width:min(1496px,100%);margin:auto;min-height:550px;display:grid;grid-template-columns:49% 51%;background:#efefec}
.ovi-gates-landing .gate-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:30px clamp(36px,5vw,82px) 36px}
.ovi-gates-landing .gate-crumbs{display:flex;align-self:stretch;flex-wrap:wrap;gap:10px;margin:0 0 auto;font-size:12px;color:#5e615c}
.ovi-gates-landing .gate-crumbs a{color:inherit;text-decoration:none}.ovi-gates-landing .gate-crumbs a:hover{text-decoration:underline}
.ovi-gates-landing .gate-hero-copy>.gate-label{margin-top:42px}
.ovi-gates-landing .gate-hero h1{font-size:clamp(54px,6.1vw,92px);line-height:.99;font-weight:400;letter-spacing:-.065em;margin:0 0 25px}
.ovi-gates-landing .gate-intro{font-size:clamp(16px,1.4vw,19px);line-height:1.58;max-width:49ch;margin:0;color:#444944}
.ovi-gates-landing .gate-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 23px;margin:30px 0 0}
.ovi-gates-landing .gate-button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:54px;padding:12px 20px;background:#1a1c1b;color:#fff;text-decoration:none;font-size:14px;font-weight:700;transition:background .2s,transform .2s}
.ovi-gates-landing .gate-button:hover{background:#3a3e3a;color:#fff;transform:translateY(-2px)}
.ovi-gates-landing .gate-inline{font-size:14px;font-weight:650;color:#1c211d;text-underline-offset:5px}
.ovi-gates-landing .gate-meta{font-size:12px;color:#666b64;margin:27px 0 0}.ovi-gates-landing .gate-meta span{padding:0 6px}
.ovi-gates-landing .gate-hero-photo{position:relative;min-height:550px;overflow:hidden;background:#dddcd7}
.ovi-gates-landing .gate-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.ovi-gates-landing .gate-choose{padding:95px 0 105px}
.ovi-gates-landing .gate-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:55px;align-items:end;margin-bottom:36px}
.ovi-gates-landing .gate-heading h2,.ovi-gates-landing .gate-editorial h2,.ovi-gates-landing .gate-feature h2,.ovi-gates-landing .gate-process h2,.ovi-gates-landing .gate-final h2{font-size:clamp(36px,4.2vw,60px);line-height:1.07;letter-spacing:-.055em;font-weight:400;margin:0}
.ovi-gates-landing .gate-heading>p{max-width:380px;color:var(--g-muted);font-size:15px;line-height:1.65;margin:0 0 4px}
.ovi-gates-landing .gate-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ovi-gates-landing .gate-type{display:flex;flex-direction:column;min-height:310px;padding:26px;background:var(--g-paper);border:1px solid #e0e2dd;text-decoration:none;color:var(--g-ink);transition:background .2s,border-color .2s}
.ovi-gates-landing .gate-type:hover{background:#e8ebe6;border-color:#a9b2a9;color:var(--g-ink)}
.ovi-gates-landing .gate-type>span{font-size:12px;letter-spacing:.13em;font-weight:750;color:#745a2f}
.ovi-gates-landing .gate-type strong{font-size:clamp(25px,2.5vw,35px);line-height:1.1;letter-spacing:-.05em;font-weight:400;margin:36px 0 14px}
.ovi-gates-landing .gate-type p{font-size:14px;line-height:1.55;color:#50564f;margin:0 0 24px}
.ovi-gates-landing .gate-type em{margin-top:auto;border-top:1px solid #ced1ca;padding-top:18px;font-size:13px;font-weight:700;font-style:normal}
.ovi-gates-landing .gate-editorial{background:#e9ece8;padding:83px 0}.ovi-gates-landing .gate-editorial-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px}.ovi-gates-landing .gate-editorial-grid>.gate-label{margin-top:14px}.ovi-gates-landing .gate-editorial p:not(.gate-label){max-width:73ch;color:#4b524b;font-size:17px;line-height:1.7;margin:20px 0 0}
.ovi-gates-landing .gate-products{padding:92px 0 104px;background:#fff}.ovi-gates-landing .gate-products-alt{background:#f5f6f3}
.ovi-gates-landing .gate-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ovi-gates-landing .gate-model{min-width:0;background:#fff;border:1px solid #dcdeda;transition:box-shadow .2s,border-color .2s}
.ovi-gates-landing .gate-model:hover,.ovi-gates-landing .gate-model:focus-within{box-shadow:0 12px 30px rgba(20,30,24,.075);border-color:#a9b0a7}
.ovi-gates-landing .gate-model>a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.ovi-gates-landing .gate-model-image{height:310px;position:relative;background:#eceeea;overflow:hidden}
.ovi-gates-landing .gate-model-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:16px;transition:transform .3s}
.ovi-gates-landing .gate-model:hover img{transform:scale(1.04)}
.ovi-gates-landing .gate-model-image>span{position:absolute;top:16px;left:16px;background:#fff;padding:8px 11px;font-size:12px;font-weight:700}
.ovi-gates-landing .gate-model-copy{display:flex;flex-direction:column;flex:1;padding:25px 26px 21px}
.ovi-gates-landing .gate-model-copy .gate-label{font-size:12px;color:#646a62;margin:0 0 12px}
.ovi-gates-landing .gate-model h3{font-size:clamp(25px,2.4vw,32px);font-weight:450;line-height:1.1;letter-spacing:-.04em;margin:0 0 13px}
.ovi-gates-landing .gate-model-copy>p:not(.gate-label){font-size:14px;line-height:1.6;color:#4d554d;margin:0 0 24px}
.ovi-gates-landing .gate-card-link{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px;border-top:1px solid var(--g-line);font-size:13px;font-weight:700}.ovi-gates-landing .gate-card-link span{font-size:20px;font-weight:400}
.ovi-gates-landing .gate-feature{background:#e9ece8;padding:68px 0}.ovi-gates-landing .gate-feature>.gate-shell{display:flex;align-items:center;justify-content:space-between;gap:50px}.ovi-gates-landing .gate-feature p:not(.gate-label){max-width:72ch;color:#4b524b;line-height:1.7;margin:17px 0 0}.ovi-gates-landing .gate-feature .gate-button{flex-shrink:0}
.ovi-gates-landing .gate-process{padding:92px 0;background:#1d211e;color:#fff}.ovi-gates-landing .gate-process .gate-label{color:#cfb384}.ovi-gates-landing .gate-process-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,8vw,150px)}.ovi-gates-landing .gate-process-grid>div>p:last-child{max-width:38ch;line-height:1.7;color:#c4cbc3;margin:22px 0 0}.ovi-gates-landing .gate-process ol{list-style:none;padding:0;margin:0;border-top:1px solid #5a615b}.ovi-gates-landing .gate-process li{display:grid;grid-template-columns:50px 1fr;gap:18px;border-bottom:1px solid #5a615b;padding:24px 0}.ovi-gates-landing .gate-process li>span{color:#c8b084;font-size:13px;padding-top:5px}.ovi-gates-landing .gate-process h3{font-size:24px;font-weight:500;margin:0 0 8px}.ovi-gates-landing .gate-process li p{color:#c5ccc5;font-size:14px;line-height:1.65;margin:0}
.ovi-gates-landing .gate-final{padding:80px 0}.ovi-gates-landing .gate-final>.gate-shell{display:flex;align-items:center;justify-content:space-between;gap:45px;border-top:1px solid var(--g-line);padding-top:64px}.ovi-gates-landing .gate-final p:not(.gate-label){color:#51564f;max-width:60ch;line-height:1.65;margin:17px 0 0}.ovi-gates-landing .gate-final .gate-button{flex-shrink:0}
@media(max-width:1050px){.ovi-gates-landing .gate-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ovi-gates-landing .gate-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ovi-gates-landing .gate-type{min-height:240px}.ovi-gates-landing .gate-shell{width:calc(100% - 44px)}}
@media(max-width:720px){.ovi-gates-landing .gate-hero{padding:0}.ovi-gates-landing .gate-hero-inner{display:flex;flex-direction:column-reverse;min-height:0}.ovi-gates-landing .gate-hero-photo{min-height:250px;height:250px}.ovi-gates-landing .gate-hero-copy{padding:21px 23px 36px}.ovi-gates-landing .gate-crumbs{margin:0 0 29px;font-size:12px}.ovi-gates-landing .gate-hero-copy>.gate-label{margin:0 0 14px}.ovi-gates-landing .gate-hero h1{font-size:clamp(48px,12vw,68px);margin-bottom:18px}.ovi-gates-landing .gate-intro{font-size:15px}.ovi-gates-landing .gate-actions{margin-top:24px}.ovi-gates-landing .gate-meta{line-height:1.7;margin-top:23px}.ovi-gates-landing .gate-shell{width:calc(100% - 32px)}.ovi-gates-landing .gate-choose,.ovi-gates-landing .gate-products{padding:62px 0 70px}.ovi-gates-landing .gate-heading{display:block;margin-bottom:25px}.ovi-gates-landing .gate-heading>p{margin:17px 0 0}.ovi-gates-landing .gate-type-grid,.ovi-gates-landing .gate-model-grid{grid-template-columns:1fr;gap:14px}.ovi-gates-landing .gate-type{min-height:205px;padding:23px}.ovi-gates-landing .gate-type strong{margin:22px 0 12px}.ovi-gates-landing .gate-editorial{padding:60px 0}.ovi-gates-landing .gate-editorial-grid,.ovi-gates-landing .gate-process-grid{grid-template-columns:1fr;gap:20px}.ovi-gates-landing .gate-model-image{height:285px}.ovi-gates-landing .gate-model-copy{padding:22px}.ovi-gates-landing .gate-feature{padding:58px 0}.ovi-gates-landing .gate-feature>.gate-shell{display:block}.ovi-gates-landing .gate-feature .gate-button{margin-top:25px}.ovi-gates-landing .gate-process{padding:65px 0}.ovi-gates-landing .gate-process li{grid-template-columns:38px 1fr;gap:14px}.ovi-gates-landing .gate-final{padding:55px 0 70px}.ovi-gates-landing .gate-final>.gate-shell{display:block;padding-top:40px}.ovi-gates-landing .gate-final .gate-button{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.ovi-gates-landing .gate-button,.ovi-gates-landing .gate-type,.ovi-gates-landing .gate-model,.ovi-gates-landing .gate-model-image img{transition:none}}

/* v1.1.0 */
.ovi-gates-landing h1,.ovi-gates-landing h2,.ovi-gates-landing h3{font-weight:300}
.ovi-gates-landing .gate-hero h1{font-weight:300}

/* v1.2.0 — premium single-product (ovl-hero/ovl-split/ovl-cards) oraz automatyka Sommer/Somfy, reużywa ovl.css + ovi-kit.css */
.ovi-gates-detail,.ovi-gates-automatyka-enhanced{background:#fff}
.ovi-gates-automatyka-enhanced{padding-top:0}
