/* Dostosowania WordPress dla motywu GardenProducts */

/* Każdy widok to jedna "strona" — bez routera SPA.
   Uwaga: WP nadaje body klasę "page" — animacja z transform na body łamie position:fixed (lightboxy),
   więc body ma ją twardo wyłączoną, a fade dostaje tylko kontener treści w <main>. */
.page{display:block}
body{animation:none!important;transform:none!important;filter:none!important}
main .page{animation:fade .45s ease both}

/* Pasek admina */
body.admin-bar .mast{top:32px}
@media (max-width:782px){ body.admin-bar .mast{top:46px} }

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);word-wrap:normal!important}

/* Honeypot formularza */
.gp-hp{position:absolute!important;left:-9999px!important;top:auto!important;width:1px;height:1px;overflow:hidden}

/* Komunikaty formularza */
.form-ok{background:rgba(47,125,58,.22);border:1px solid rgba(160,220,170,.5);padding:14px 16px;font-size:.92rem;border-radius:3px;color:inherit}
.form-err{background:rgba(168,72,44,.16);border:1px solid rgba(168,72,44,.45);padding:14px 16px;font-size:.92rem;border-radius:3px;color:inherit}
.light .form-ok{color:var(--ink)}
.light .form-err{color:var(--ink)}

/* Treść z edytora (bloki) */
.page .wp-block-image img{height:auto}
.page .aligncenter{margin-left:auto;margin-right:auto}
.page .alignwide{max-width:var(--maxw)}
.page .alignfull{width:100%;max-width:none}

/* Karty archiwum realizacji */
.gp-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 clamp(24px,3vw,40px)}
.gp-filter a{font-family:var(--f-mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:1px solid var(--line);padding:9px 15px;border-radius:3px;transition:.15s}
.gp-filter a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.gp-filter a.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* Paginacja */
.gp-pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:clamp(32px,4vw,56px);font-family:var(--f-mono);font-size:.85rem}
.gp-pagination .page-numbers{padding:10px 15px;border:1px solid var(--line);text-decoration:none;border-radius:3px}
.gp-pagination .page-numbers.current{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.gp-pagination a.page-numbers:hover{background:var(--paper-2)}

/* Galeria realizacji (meta) */
.gp-gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.gp-gal figure{margin:0;position:relative;overflow:hidden}
.gp-gal img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10;display:block}
.gp-gal figure:first-child{grid-column:span 2}
@media (max-width:720px){ .gp-gal figure:first-child{grid-column:auto} }

#imgLightbox.gp-open,#refLightbox.gp-open{display:flex!important}
/* Lightboxy — style w arkuszu (odporne na wycinanie inline styles przez optymalizatory) */
#imgLightbox,#refLightbox{display:none;position:fixed!important;inset:0!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;z-index:99999!important;background:rgba(15,20,15,.92)!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;padding:24px!important;margin:0!important;transform:none!important}
#imgLbImg,#refLbImg{max-width:88vw!important;max-height:80vh!important;width:auto!important;height:auto!important;object-fit:contain!important;aspect-ratio:auto!important;box-shadow:0 20px 60px rgba(0,0,0,.5)}
#refLbImg{background:#fff}
#imgLbInfo,#refLbInfo{color:rgba(245,247,242,.85)!important;font-family:var(--f-mono);font-size:.8rem;margin-top:14px;text-align:center;max-width:80ch}
#imgLbClose,#refLbClose{position:fixed!important;top:16px!important;right:20px!important;left:auto!important;background:none!important;border:0;color:#fff!important;font-size:2.2rem;cursor:pointer;line-height:1;z-index:2}
#imgLbPrev,#refLbPrev,#imgLbNext,#refLbNext{position:fixed!important;top:50%!important;transform:translateY(-50%)!important;background:rgba(245,247,242,.12)!important;border:0;color:#fff!important;font-size:1.9rem;cursor:pointer;padding:14px 18px;border-radius:3px;z-index:2}
#imgLbPrev,#refLbPrev{left:10px!important;right:auto!important}
#imgLbNext,#refLbNext{right:10px!important;left:auto!important}

/* ---------- Contact Form 7 — integracja ze stylami formularza motywu ---------- */
.form .wpcf7,.form .wpcf7-form{display:contents}
.form .wpcf7-form>br{display:none}
.form .wpcf7-form-control-wrap{display:block}
.form .wpcf7-not-valid-tip{display:block;margin-top:6px;font-family:var(--f-mono);font-size:.75rem;letter-spacing:.02em;text-transform:none;color:#e0906d}
.light .form .wpcf7-not-valid-tip{color:#a8482c}
.form .wpcf7-response-output{margin:0;padding:14px 16px;font-size:.92rem;border-radius:3px;border:1px solid rgba(168,72,44,.45);background:rgba(168,72,44,.16)}
.form .wpcf7-form.sent .wpcf7-response-output{border-color:rgba(160,220,170,.5);background:rgba(47,125,58,.22)}
.light .form .wpcf7-response-output{color:var(--ink)}
.form .wpcf7-acceptance .wpcf7-list-item{margin:0}
.form .wpcf7-acceptance .wpcf7-list-item label{display:flex;gap:10px;align-items:flex-start;font-family:var(--f-body);font-size:.79rem;letter-spacing:0;text-transform:none;line-height:1.45;color:rgba(245,247,242,.6);margin:0}
.form .wpcf7-acceptance input{width:18px;height:18px;flex:none;margin-top:2px}
.light .form .wpcf7-acceptance .wpcf7-list-item label{color:var(--muted)}
.form .wpcf7-submit{cursor:pointer;width:100%;text-align:center}
.form .wpcf7-spinner{margin:0 auto}
