/*
Theme Name: Zdobywcy Sieci - Audyt WordPress
Theme URI: https://zdobywcysieci.pl/
Author: Zdobywcy Sieci
Author URI: https://zdobywcysieci.pl/
Description: Edytowalny landing one page w natywnych blokach WordPress FSE. Formularz audytu korzysta z wp_mail i wtyczki SMTP.
Version: 1.1.1
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zs-audyt
Tags: full-site-editing, block-patterns, custom-colors, custom-logo, editor-style, one-column
*/

/* Editable colors, typography and base spacing are defined in theme.json and block attributes.
 * CSS handles responsive layouts, the original illustration and interactive/decorative details. */
:where(.wp-site-blocks,.editor-styles-wrapper) { --zs-line:#dce4ed; }
:where(.wp-site-blocks,.editor-styles-wrapper) *, :where(.wp-site-blocks,.editor-styles-wrapper) *::before, :where(.wp-site-blocks,.editor-styles-wrapper) *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; }
.wp-site-blocks > * { margin-block-start:0; }
:where(.wp-site-blocks,.editor-styles-wrapper) a { text-decoration:none; }
:where(.wp-site-blocks,.editor-styles-wrapper) a:where(:not(.wp-element-button)):hover { text-decoration:underline; text-underline-offset:3px; }
:where(.wp-site-blocks,.editor-styles-wrapper) :is(a,button,input,summary):focus-visible { outline:3px solid var(--wp--preset--color--orange); outline-offset:4px; }
:where(.wp-site-blocks,.editor-styles-wrapper) .wp-block-columns { margin-block-end:0; }
:where(.wp-site-blocks,.editor-styles-wrapper) .wp-block-column { min-width:0; }
:where(.wp-site-blocks,.editor-styles-wrapper) strong { font-weight:500; }
:where(.wp-site-blocks,.editor-styles-wrapper) .wp-block-site-logo img { height:auto; display:block; }
:where(.wp-site-blocks,.editor-styles-wrapper) .wp-block-button__link { min-height:54px; transition:background .2s; }
:where(.zs-section) > .wp-block-columns { margin-block-start:0; }
.zs-section-number { display:inline-block; margin-right:7px; font-variant-numeric:tabular-nums; letter-spacing:0; }
.zs-eyebrow { margin-block-start:0; }
.zs-icon { width:max-content; display:flex; align-items:center; justify-content:center; flex:none; line-height:0; }
.zs-icon svg { display:block; flex:none; }
.zs-icon .outline-icon { color:var(--wp--preset--color--navy); }
.zs-icon .icon-accent { stroke:var(--wp--preset--color--orange); }
.wp-site-blocks > header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.97); box-shadow:0 1px 0 #edf0f4; }
body.admin-bar .wp-site-blocks > header { top:32px; }
.zs-header-inner { max-width:calc(1184px + var(--zs-gutter,28px)*2); margin-inline:auto; }
.zs-header-inner .wp-block-navigation { margin-left:auto; }
:where(.zs-header-inner) .wp-block-button__link { min-height:46px; font-size:13px; padding:13px 18px; }
.zs-hero { background-image:linear-gradient(120deg,transparent 55%,#f8fafc); }
.zs-hero-lead { max-width:555px; }
.zs-hero-copy h1 mark { display:inline-block; margin-top:5px; }
.zs-hero-art { position:relative; min-height:445px; width:100%; }
.zs-art-drawing { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.zs-art-drawing .security-orbit { position:absolute; width:420px; height:420px; border:1px solid #dfe7ef; border-radius:50%; background:radial-gradient(circle,rgba(228,236,246,.6),transparent 65%); }
.zs-art-drawing .security-orbit::after { content:''; position:absolute; inset:33px; border:1px dashed #d7e0e9; border-radius:50%; }
.zs-art-drawing .security-orbit::before { content:''; position:absolute; inset:77px; border:1px solid #e0e7ef; border-radius:50%; }
.zs-art-drawing .orbit-dot { position:absolute; width:9px; height:9px; border-radius:50%; background:var(--wp--preset--color--orange); left:67px; top:62px; box-shadow:0 0 0 6px #fff; }
.zs-art-drawing .art-browser { position:relative; width:360px; min-height:276px; background:#fff; border-radius:12px; box-shadow:0 10px 34px rgba(14,43,92,.09); transform:rotate(-3deg); overflow:hidden; }
.zs-art-drawing .browser-bar { height:40px; border-bottom:1px solid #edf1f5; display:flex; gap:5px; align-items:center; padding:0 15px; background:#fcfdfe; }
.zs-art-drawing .browser-bar i { width:5px; height:5px; background:#ccd6e3; border-radius:50%; }
.zs-art-drawing .browser-url { font-size:10px; color:#8291a5; margin-left:23px; letter-spacing:.3px; display:flex; align-items:center; gap:6px; }
.zs-art-drawing .browser-url .icon { width:10px; height:10px; }
.zs-art-drawing .browser-skeleton { padding:28px 26px; }
.zs-art-drawing .skeleton-head { width:110px; height:9px; background:#dfe7f0; border-radius:2px; margin-bottom:12px; }
.zs-art-drawing .skeleton-line { width:175px; height:5px; background:#edf1f6; border-radius:2px; margin-bottom:8px; }
.zs-art-drawing .skeleton-cards { display:flex; gap:10px; margin-top:20px; }
.zs-art-drawing .skeleton-cards i { display:block; width:89px; height:63px; background:#f4f7fa; border-radius:8px; }
.zs-art-drawing .shield-object { position:absolute; top:130px; left:50%; transform:translateX(-15%); width:135px; height:157px; filter:drop-shadow(0 12px 15px rgba(14,43,92,.15)); }
.zs-hero-art .icon { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.zs-hero-art .zs-art-label { position:absolute; z-index:1; margin:0; }
.zs-art-label .icon { width:25px; height:25px; color:var(--wp--preset--color--orange); }
.zs-art-label-top { top:41px; right:0; }
.zs-art-label-bottom { left:0; bottom:43px; }
.zs-trust-band { box-shadow:0 -1px 0 #edf1f5,0 1px 0 #edf1f5; }
.zs-trust { align-items:center; }
.zs-trust-item { border-left:1px solid #dce4ed; padding-left:22px; }
.zs-trust-item .trust-icon { width:42px; height:42px; }
.zs-trust-item p { white-space:nowrap; }
.zs-deliverable .deliverable-icon { width:28px; height:28px; }
.zs-audit-list { counter-reset:audit; border-top:1px solid var(--zs-line); padding-left:30px; }
.zs-audit-detail { counter-increment:audit; position:relative; border-bottom:1px solid var(--zs-line); }
.zs-audit-detail::before { content:counter(audit) '.'; white-space:nowrap; position:absolute; right:calc(100% + 6px); top:19px; color:var(--wp--preset--color--body-text); font-size:13px; line-height:22.4px; }
.zs-audit-detail summary { display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--wp--preset--color--navy); cursor:pointer; font-size:16px; font-weight:500; line-height:1.4; padding:19px 0; list-style:none; }
.zs-audit-detail summary::-webkit-details-marker { display:none; }
.zs-audit-detail summary::marker { content:''; }
.zs-audit-detail summary::after { content:''; display:block; flex:none; width:22px; height:22px; background-color:currentColor; mask:url('assets/chevron.svg') center/contain no-repeat; -webkit-mask:url('assets/chevron.svg') center/contain no-repeat; transition:transform .2s; }
.zs-audit-detail[open] summary { color:#d84b25; }
.zs-audit-detail[open] summary::after { transform:rotate(180deg); }
.zs-request-copy h2 { max-width:420px; }
.zs-request-copy > p:not(.zs-eyebrow) { max-width:430px; }
.zs-steps { max-width:430px; }
.zs-steps li { padding-left:5px; margin:17px 0; font-size:14px; line-height:1.5; }
.zs-steps li::marker { color:var(--wp--preset--color--orange); font-weight:500; }
.zs-steps strong { color:var(--wp--preset--color--white); }
.zs-step-description { display:inline-block; margin-top:4px; font-size:13px; line-height:1.6; }
.zs-first-request .zs-form-card { box-shadow:0 16px 44px rgba(0,0,0,.12); }
.zs-final-request { background-color:#f7f9fc; }
.zs-final-request .zs-request-copy h2 { max-width:460px; }
.zs-risk .risk-icon { width:36px; height:36px; }
.zs-risk { height:100%; }
.zs-care-description { max-width:600px; }
.zs-price-from { font-size:20px; font-weight:400; letter-spacing:0; }
.zs-video-thumb { position:relative; border-radius:12px; box-shadow:0 7px 28px rgba(14,43,92,.07); background:var(--wp--preset--color--navy); }
.zs-video-image { border-radius:12px; overflow:hidden; }
.wp-block-image.zs-video-image > a { display:block; }
.wp-block-image.zs-video-image.is-resized { display:block; }
.zs-video-image img { display:block; width:100%; height:auto; transition:transform .35s; }
.zs-video-title { max-width:480px; }
.zs-video-title a:hover { color:var(--wp--preset--color--orange); }
.zs-video-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:68px; height:68px; border-radius:50%; background:#fff; color:var(--wp--preset--color--orange); box-shadow:0 5px 22px #0003; pointer-events:none; transition:background .2s,color .2s; }
.zs-video-thumb:hover .zs-video-play,.zs-video-thumb:focus-within .zs-video-play { color:#fff; background:var(--wp--preset--color--orange); }
@media(hover:hover) { .zs-video-card:hover .zs-video-image img { transform:scale(1.045); } }
.zs-review-intro { display:flex; flex-direction:column; }
.zs-review-intro > * { margin-inline:0; }
.zs-review-intro .zs-rating { margin-top:auto; padding-top:28px; }
.zs-review { display:flex; flex-direction:column; height:100%; }
.zs-review-stars { display:flex; gap:3px; color:var(--wp--preset--color--orange); }
.zs-review-stars svg { width:17px; height:17px; fill:currentColor; flex:none; }
.zs-review .zs-review-quote { flex:1; display:flex; flex-direction:column; width:100%; }
.zs-review-quote p { margin:0 0 22px; }
.zs-review-quote cite { display:block; margin-top:auto; color:var(--wp--preset--color--navy); font-style:normal; font-size:12px; font-weight:500; line-height:1.65; }
.zs-review-quote cite small { display:inline-block; margin-top:4px; font-size:10px; font-weight:400; color:var(--wp--preset--color--body-text); overflow-wrap:anywhere; }
.zs-footer-contact { white-space:nowrap; }
.zs-privacy { font-size:13px; padding-top:12px; }
.zs-privacy summary { cursor:pointer; color:var(--wp--preset--color--navy); }
.zs-form-card { position:relative; }
.zs-form-heading { margin:0 0 24px; color:var(--wp--preset--color--navy); font-size:22px; }
.zs-form-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px 15px; }
.zs-field { display:grid; gap:7px; }
.zs-field-full { grid-column:1/-1; }
.zs-field label { font-size:12px; font-weight:500; color:var(--wp--preset--color--navy); }
.zs-field input { min-width:0; width:100%; height:48px; padding:0 13px; border:1px solid #dce3ec; border-radius:5px; background:#fff; color:var(--wp--preset--color--navy); font-family:inherit; font-size:13px; }
.zs-field input::placeholder { color:#7a879a; }
.zs-field input:focus { border-color:var(--wp--preset--color--navy); }
.zs-consent { display:flex; gap:9px; align-items:flex-start; margin-block:20px; font-size:11px; line-height:1.65; }
.zs-consent input { flex:none; width:16px; height:16px; margin:0 0 0; accent-color:var(--wp--preset--color--navy); }
.zs-consent a { text-decoration:underline; }
.zs-submit { width:100%; cursor:pointer; font-family:inherit; }
.zs-submit:disabled { cursor:wait; opacity:.7; }
.zs-form-status { margin:16px 0 0; padding:12px; border-radius:6px; background:#edf6f2; color:#1f5b43; font-size:13px; line-height:1.65; }
.zs-form-status.is-error { background:#fff0ec; color:#93371e; }
.zs-form-status[hidden] { display:none; }
.zs-form-note { font-size:12px; }
.zs-honeypot { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }

.zs-form-heading { font-weight:500; letter-spacing:-.3px; line-height:1.18; margin-bottom:23px; }
.zs-form-fields { row-gap:17px; }
.zs-field input { height:47px; border-radius:7px; }
.zs-field label span { color:var(--wp--preset--color--orange); }
.zs-consent { margin-block:19px; }
.zs-submit { min-height:54px; }
@media(min-width:1450px) { .zs-hero-art { min-height:465px; } }
@media(max-width:1080px) {
 :root,.editor-styles-wrapper { --zs-hero-gap:35px; --zs-scope-gap:50px; --zs-request-gap:50px; --zs-care-gap:40px; --zs-trust-gap:14px; --zs-trust-value:25px; --zs-trust-icon-gap:10px; }
 .zs-header-inner { gap:18px; }
 .zs-header-inner .wp-block-navigation__container { gap:18px; }
 .zs-hero-art { min-height:400px; }
 .zs-art-drawing .art-browser { width:310px; }
 .zs-art-drawing .security-orbit { width:360px; height:360px; }
 .zs-art-drawing .shield-object { top:112px; }
 .zs-art-label-top { right:-8px; top:30px; }
 .zs-trust-item { padding-left:16px; }
 .zs-trust-item .trust-icon { width:36px; height:36px; }
 .zs-care-action { flex-basis:280px !important; }
 .zs-review-layout { flex-wrap:wrap !important; gap:30px !important; }
 .zs-review-layout > .wp-block-column { flex-basis:100% !important; }
 .zs-review-intro { max-width:540px; display:block; }
 .zs-review-intro .zs-rating { margin-top:0; }
}
@media(max-width:900px) {
 .zs-header-inner .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
 .zs-header-inner .wp-block-navigation__responsive-container-open:not(.always-shown) { display:flex; }
 .zs-header-inner .wp-block-navigation__responsive-container.is-menu-open { display:flex; }
}
@media(max-width:860px) {
 :root,.editor-styles-wrapper { --zs-section-space:70px; --zs-request-space:60px; --zs-hero-top:45px; --zs-hero-bottom:45px; --zs-care-space:44px; --zs-reviews-space:65px; --zs-contact-heading:38px; --zs-video-title:17px; --zs-price-size:40px; --zs-form-padding:30px; }
 .wp-block-columns:is(.zs-hero-columns,.zs-scope-columns,.zs-request-columns,.zs-risk-heading,.zs-care-columns) { flex-wrap:wrap !important; gap:35px !important; }
 .wp-block-columns:is(.zs-hero-columns,.zs-scope-columns,.zs-request-columns,.zs-risk-heading,.zs-care-columns) > .wp-block-column { flex-basis:100% !important; }
 .zs-header-inner .wp-block-button__link { font-size:12px; padding:10px 13px; }
 .zs-header-inner .wp-block-site-logo img { max-width:145px; }
 .zs-hero-art { width:min(470px,100%); margin-inline:auto; min-height:380px; }
 .zs-art-drawing .security-orbit { width:350px; height:350px; }
 .zs-art-drawing .art-browser { width:340px; min-height:253px; }
 .zs-art-drawing .shield-object { top:100px; }
 .zs-art-label-top { right:0; top:24px; }
 .zs-art-label-bottom { bottom:37px; }
 .wp-block-columns.zs-trust { flex-wrap:wrap !important; gap:24px 18px !important; }
 .wp-block-columns.zs-trust > .wp-block-column { flex-basis:calc(50% - 9px) !important; }
 .zs-trust > .wp-block-column:nth-child(3) .zs-trust-item { border:0; padding-left:0; }
 .zs-request-copy h2,.zs-request-copy > p:not(.zs-eyebrow) { max-width:580px; }
 .zs-risk-heading > .wp-block-column:last-child { max-width:520px; }
 .zs-risk-grid,.zs-review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .zs-care-action { display:flex; flex-wrap:wrap; align-items:center; gap:0 24px; }
 .zs-care-action > p:first-child { flex-basis:100%; }
 .zs-care-action .wp-block-buttons { margin-left:auto; margin-top:-48px !important; }
 .zs-footer-top { flex-wrap:wrap !important; }
 .zs-footer-top > .wp-block-column:nth-child(1) { flex-basis:148px !important; flex-grow:0; }
 .zs-footer-top > .wp-block-column:nth-child(2) { flex-basis:calc(100% - 178px) !important; }
 .zs-footer-top > .wp-block-column:nth-child(3) { flex-basis:100% !important; }
}
@media(max-width:781px) { body.admin-bar .wp-site-blocks > header { top:46px; } }
@media(max-width:600px) { body.admin-bar .wp-site-blocks > header { top:0; } }
@media(max-width:520px) {
 :root,.editor-styles-wrapper { --zs-gutter:18px; --zs-hero-size:41px; --zs-hero-tracking:-1.8px; --zs-heading-size:31px; --zs-eyebrow-size:14px; --zs-section-space:55px; --zs-request-space:49px; --zs-hero-top:37px; --zs-hero-bottom:37px; --zs-reviews-space:55px; --zs-contact-heading:33px; --zs-video-title:19px; --zs-trust-intro:11px; --zs-trust-caption:10px; --zs-trust-value:22px; --zs-trust-icon-gap:8px; --zs-label-size:11px; --zs-label-small:9px; --zs-form-padding:23px; }
 .zs-header-inner { gap:9px !important; }
 .zs-header-inner .wp-block-site-logo { flex-shrink:0; }
 .zs-header-inner .wp-block-site-logo img { max-width:118px; }
 .zs-header-inner .wp-block-navigation { order:3; margin:0; }
 .zs-header-inner .wp-block-buttons { margin-left:auto; }
 .zs-header-inner .wp-block-button__link { min-height:40px; font-size:10px; padding:10px 9px; }
 .zs-hero-copy h1 { line-height:1.15; }
 .zs-hero-lead { font-size:16px !important; }
 .zs-hero-actions { gap:18px !important; }
 .zs-hero-actions > .wp-block-button:first-child { width:100%; }
 .zs-hero-actions > .wp-block-button:first-child .wp-block-button__link { width:100%; }
 .zs-hero-art { min-height:330px; margin-top:7px; }
 .zs-art-drawing .art-browser { width:260px; min-height:212px; }
 .zs-art-drawing .browser-skeleton { padding:20px; }
 .zs-art-drawing .skeleton-cards i { height:45px; }
 .zs-art-drawing .security-orbit { width:290px; height:290px; }
 .zs-art-drawing .security-orbit::after { inset:23px; }
 .zs-art-drawing .shield-object { width:112px; height:130px; top:94px; }
 .zs-art-label { padding:10px 12px !important; gap:8px !important; }
 .zs-art-label .icon { width:20px; height:20px; }
 .zs-art-label-top { top:11px; }
 .zs-art-label-bottom { bottom:30px; }
 .zs-trust { gap:22px 12px !important; }
 .wp-block-columns.zs-trust > .wp-block-column { flex-basis:calc(50% - 6px) !important; }
 .zs-trust-item { padding-left:12px; align-items:flex-start; }
 .zs-trust-item .trust-icon { width:30px; height:30px; margin-top:3px; }
 .zs-trust-item p { white-space:normal; }
 .zs-audit-list { padding-left:24px; }
 .zs-audit-detail summary { font-size:14px; padding:17px 0; gap:12px; }
 .zs-audit-detail summary::after { width:20px; height:20px; }
 .zs-audit-detail::before { top:17px; }
 .zs-form-fields { grid-template-columns:1fr; gap:15px; }
 .zs-form-heading { font-size:20px; }
 .zs-risk-grid,.zs-video-grid,.zs-review-grid { grid-template-columns:minmax(0,1fr); }
 .zs-risk-grid { gap:25px; }
 .zs-risk { padding:24px !important; }
 .zs-risk > h3 { margin-top:17px !important; }
 .zs-care-action { display:block; }
 .zs-care-action .wp-block-buttons { margin:20px 0 0 !important; }
 .zs-care-action .wp-block-button { width:100%; }
 .zs-video-play { width:58px; height:58px; }
 .zs-video-play svg { width:25px; height:25px; }
 .zs-review-grid { gap:20px; }
 .zs-footer-top { gap:20px !important; }
 .zs-footer-top > .wp-block-column:nth-child(1) { flex-basis:127px !important; }
 .zs-footer-top > .wp-block-column:nth-child(2) { flex-basis:calc(100% - 147px) !important; }
 .zs-footer-top .wp-block-site-logo img { max-width:127px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .zs-video-image img,.zs-video-play,.zs-audit-detail summary::after { transition:none; }
 .zs-video-card:hover .zs-video-image img { transform:none; }
}

.zs-full-width,.zs-full-width .wp-block-button__link { width:100%; }
/* The editor wrapper carries the same block support styles as the PHP render. Apply them once. */
.editor-styles-wrapper .zs-audit-editor-preview { padding:0 !important; border:0 !important; box-shadow:none !important; background:transparent !important; }
/* Preserve the illustration's containing block inside Gutenberg's HTML wrapper. */
.editor-styles-wrapper .zs-hero-art > [data-type="core/html"] { position:static; }
:root,.editor-styles-wrapper { --zs-hero-size:clamp(42px, 4.6vw, 64px); }
@media(max-width:1080px) { :root,.editor-styles-wrapper { --zs-hero-size:52px; } }
@media(max-width:860px) { :root,.editor-styles-wrapper { --zs-hero-size:56px; } }
@media(max-width:520px) { :root,.editor-styles-wrapper { --zs-hero-size:41px; } }

.zsv2-review-more {
    display: inline;
    padding: 0;
    border: 0;
    background: transparent;
    color: #f46137;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.zsv2-review-more:hover {
    text-decoration: underline;
}

.zsv2-review-tooltip {
    position: absolute;

    width: 360px;
    max-width: calc(100vw - 30px);

    padding: 16px 18px;

    background: #fff;
    color: #394f73;

    font-size: 14px;
    line-height: 1.55;

    border-radius: 10px;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, .15);

    opacity: 0;
    visibility: hidden;

    transform: translateY(6px);

    transition:
        opacity .2s ease,
        transform .2s ease,
        visibility .2s ease;

    z-index: 999999;
}

.zsv2-review-tooltip.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
