/* Kontakt: treści i ilustracje pozostają osobnymi blokami Gutenberga. */
.contact-story { background-size: 100% auto; background-repeat: no-repeat; background-position: center top; padding-bottom: 32px; isolation: isolate; }
.contact-story .contact-hero { background: transparent; min-height: 390px; }
.contact-story .hero-sign { top: 112px; left: 16%; width: 38%; min-height: 250px; padding: 26px 20px; }
.contact-story .hero-sign h1 { font-size: clamp(64px,7vw,102px); margin-bottom: 0; }
.contact-story .hero-sign p { font-size: clamp(24px,2.45vw,35px); line-height: 1.2; }
.contact-story .hero-mascots { right: 8%; left: auto; bottom: -25px; width: 35%; max-width: 580px; }
.contact-story-panels { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); gap: 18px; margin: -12px 3% 0; position: relative; z-index: 5; align-items: stretch; }
.contact-story .paper-card { margin: 0; border-radius: 20px; padding: 24px 28px; background: #fff8e3; box-shadow: 0 5px 16px #14291630; min-width: 0; }
.contact-panel-title { display: flex; align-items: center; gap: 14px; position: relative; z-index: 3; }
.contact-story .contact-panel-title h2 { font: 700 clamp(27px,2.6vw,38px)/1.15 Georgia,serif; margin: 0; }
.contact-title-leaf { width: 34px; flex: 0 0 34px; margin: 0; }
.contact-company-panel { overflow: hidden; display: flex; flex-direction: column; }
.contact-company-content { position: relative; flex: 1; margin-top: 24px; min-height: 370px; }
.contact-company-copy { position: relative; z-index: 3; width: 51%; padding: 0 0 12px 22px; }
.contact-story .contact-company-copy h3 { font: 700 clamp(23px,2.1vw,31px)/1.2 Georgia,serif; margin: 0 0 9px; }
.contact-story .contact-company-copy p { font-size: clamp(16px,1.45vw,21px); line-height: 1.5; margin: 0 0 14px; }
.contact-company-copy a { color: #003b2d; font-weight: 700; overflow-wrap: anywhere; }
.contact-company-copy .wp-block-separator { border: 0; border-top: 1px solid #cbbd9e; margin: 16px 0; width: 100%; }
.contact-company-display { position: absolute; right: -28px; top: -54px; bottom: -24px; width: 58%; background-size: 0 0; background-position: 75% center; padding: 0; border-radius: 0; }
.contact-company-display::before { content: ''; position: absolute; inset: 0; background-image: inherit; background-size: auto 100%; background-position: inherit; mask-image: linear-gradient(to right,transparent,#000 26%); }
.contact-company-signs { position: absolute; width: 72%; right: 8%; top: 12px; display: grid; gap: 2px; transform: rotate(-7deg); z-index: 2; }
.contact-company-sign { display: flex; align-items: center; gap: 10px; min-height: 63px; background-size: 100% 100%; padding: 12px 18px; isolation: isolate; }
.contact-company-sign::before { content: ''; position: absolute; inset: 12% 6%; border-radius: 10px; background: #3919099e; z-index: -1; }
.contact-story .contact-company-sign p { font: 700 clamp(15px,1.4vw,21px)/1.15 Georgia,serif; color: #fff8df; margin: 0; text-shadow: 0 1px 2px #321308; }
.contact-sign-icon { flex: 0 0 30px; width: 30px; }
.contact-sign-leaf { width: 30px; filter: brightness(0) invert(95%) sepia(12%) saturate(550%) hue-rotate(340deg); }
.contact-story .contact-sign-icon p { font: 700 38px/1 Georgia,serif; }
.contact-company-products { position: absolute; width: 127%; right: -6%; bottom: -12px; z-index: 3; margin: 0; }
.contact-story .contact-form-intro { margin: 3px 0 22px 48px; font-size: clamp(17px,1.55vw,22px); line-height: 1.35; }
.contact-form-panel .wp-block-grzybusie-field { margin: 0 0 12px; }
.contact-form-panel input,.contact-form-panel select,.contact-form-panel textarea { background: #fff9e8; border: 1px solid #d9cbaa; border-radius: 9px; font: 16px/1.35 'Trebuchet MS',sans-serif; color: #183e2e; min-height: 48px; padding: 12px 15px; }
.contact-form-panel input::placeholder,.contact-form-panel textarea::placeholder { color: #726b5e; opacity: 1; }
.contact-form-panel select:has(option:checked[value=""]) { color: #726b5e; }
.contact-form-panel textarea { min-height: 114px; height: 114px; resize: vertical; }
.contact-form-panel .contact-submit { padding: 16px 12px; font-size: 21px; margin-top: 5px; }
.grzybusie-field-control { position: relative; }
.grzybusie-field-icon { position: absolute; top: 13px; left: 14px; width: 23px; height: 23px; color: #918978; pointer-events: none; }
.grzybusie-field-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.grzybusie-field-control:has(.grzybusie-field-icon) > input,.grzybusie-field-control:has(.grzybusie-field-icon) > select,.grzybusie-field-control:has(.grzybusie-field-icon) > textarea { padding-left: 46px; }
.contact-placeholder-labels .wp-block-grzybusie-field > label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.contact-placeholder-labels .wp-block-grzybusie-field.is-checkbox-field > label,.wp-block-grzybusie-field.is-checkbox-field > label { position: static; width: auto; height: auto; padding: 0; margin: 18px 0 14px; overflow: visible; clip-path: none; white-space: normal; display: flex; align-items: flex-start; gap: 11px; font: 15px/1.45 'Trebuchet MS',sans-serif; text-align: left; }
.wp-block-grzybusie-field.is-checkbox-field input[type="checkbox"] { appearance: auto; accent-color: #003b2d; width: 19px; height: 19px; min-height: 19px; flex: 0 0 19px; margin: 2px 0 0; padding: 0; border-radius: 3px; }
.grzybusie-checkbox-label a { text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
.checkbox-editor-preview { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.editor-styles-wrapper .contact-placeholder-labels .wp-block-grzybusie-field > label { position: static; width: auto; height: auto; margin: 0 0 6px; clip-path: none; white-space: normal; }
.grzybusie-recaptcha { margin: 16px 0; min-height: 78px; }
.recaptcha-status { color: #742f1d; font-size: 15px; }
.contact-floor { min-height: 45px; margin: -10px 0 -32px; background-size: cover; background-position: center; position: relative; z-index: 1; }
.contact-floor-leaf { position: absolute; bottom: -12px; width: 105px; z-index: 6; pointer-events: none; }
.contact-floor-leaf.floor-left { left: -24px; }
.contact-floor-leaf.floor-right { right: -24px; transform: rotate(85deg); }
.editor-styles-wrapper .contact-story-panels:has(> .block-editor-inner-blocks),.editor-styles-wrapper .contact-panel-title:has(> .block-editor-inner-blocks),.editor-styles-wrapper .contact-company-sign:has(> .block-editor-inner-blocks) { display: block; }
.editor-styles-wrapper .contact-story-panels > .block-editor-inner-blocks > .block-editor-block-list__layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); gap: 18px; }
.editor-styles-wrapper .contact-panel-title > .block-editor-inner-blocks > .block-editor-block-list__layout { display: flex; align-items: center; gap: 14px; }
.editor-styles-wrapper .contact-company-panel { display: block; }
.editor-styles-wrapper .contact-company-sign > .block-editor-inner-blocks > .block-editor-block-list__layout { display: flex; align-items: center; gap: 10px; }
@media (min-width: 1600px) { .contact-story .contact-hero { min-height: 455px; } .contact-story .hero-sign { top: 145px; min-height: 285px; } .contact-company-content { min-height: 430px; } }
@media (max-width: 1100px) { .contact-story-panels { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 14px; margin-left: 2%; margin-right: 2%; } .contact-story .paper-card { padding: 22px; } .contact-company-copy { width: 57%; padding-left: 0; } .contact-company-display { right: -22px; bottom: -22px; width: 55%; } .contact-company-signs { width: 87%; right: 2%; } .contact-company-sign { padding: 12px; } .contact-story .contact-form-intro { margin-left: 0; } }
@media (max-width: 900px) { .contact-story-panels { grid-template-columns: 1fr; max-width: 740px; margin: -12px auto 0; padding: 0 20px; } .contact-story .contact-hero { min-height: 360px; } .contact-story .hero-sign { left: 8%; width: 45%; top: 106px; min-height: 225px; } .contact-story .hero-sign h1 { font-size: 63px; } .contact-story .hero-sign p { font-size: 23px; } .contact-story .hero-mascots { width: 48%; right: 0; bottom: -10px; } .contact-company-copy { width: 52%; } .contact-company-content { min-height: 365px; } .contact-story .contact-company-copy p { font-size: 19px; } .contact-story .contact-company-sign p { font-size: 19px; } .contact-company-display { width: 58%; } .contact-form-panel .contact-submit { margin-top: 12px; } .editor-styles-wrapper .contact-story-panels > .block-editor-inner-blocks > .block-editor-block-list__layout { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .contact-story { background-size: auto 950px; } .contact-story .contact-hero { min-height: 550px; } .contact-story .hero-sign { left: 5%; width: 90%; top: 115px; min-height: 220px; } .contact-story .hero-sign h1 { font-size: 66px; } .contact-story .hero-sign p { font-size: 25px; } .contact-story .hero-mascots { width: 92%; right: -4%; bottom: -14px; max-width: 430px; } .contact-story-panels { padding: 0 12px; gap: 18px; } .contact-story .paper-card { padding: 22px 20px; border-radius: 16px; } .contact-story .contact-panel-title h2 { font-size: 28px; } .contact-title-leaf { width: 27px; flex-basis: 27px; } .contact-company-copy { width: 100%; padding: 0; } .contact-company-content { margin-top: 20px; } .contact-company-display { position: relative; top: auto; right: auto; bottom: auto; width: calc(100% + 40px); margin: 0 -20px -22px; height: 310px; } .contact-company-display::before { mask-image: linear-gradient(to bottom,transparent,#000 22%); } .contact-company-signs { width: 62%; right: 5%; top: 4px; } .contact-company-sign { min-height: 55px; } .contact-story .contact-company-sign p { font-size: 16px; } .contact-company-products { width: 100%; right: 0; bottom: -6px; } .contact-story .contact-form-intro { font-size: 18px; margin: 8px 0 22px; } .contact-floor-leaf { width: 65px; } }
