/*
Theme Name: Mateusz Mania Fotografia
Theme URI: https://jm-art.eu/
Author: JM Art
Author URI: https://jm-art.eu/
Description: Magazyn ślubny. Portfolio, oferta, galerie i formularz zapytań Mateusza Manii.
Version: 1.2.27
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mateusz-mania
*/
:root{--small:15px;--mm-notice:#e7dfd2;--mm-error:#962e26;--mm-space:24px;--mm-radius:12px}
.mm-subpage{--offer-paper:var(--bg);--offer-surface:var(--surface);--offer-ink:var(--ink);--offer-muted:var(--muted);--offer-line:var(--line);--offer-gold:#b39767;--offer-accent:var(--accent)}
.site-footer .footer-locations{font-size:15px}
.offer-content .offer-cta{padding-top:32px;border-top:1px solid var(--line)}
[hidden]{display:none!important}
.mm-construction{position:relative;z-index:6;padding:24px;text-align:center;background:var(--mm-notice);color:var(--ink);border-bottom:1px solid var(--line)}
.mm-construction strong{font:400 clamp(24px,3vw,36px)/1.25 Georgia,serif;display:block}
.mm-construction p{margin:8px auto 0;font-size:15px}
.mm-subpage>.hero-mast{position:relative;background:var(--bg);padding-bottom:20px;min-height:130px}
.mm-subpage #main{min-height:50vh}
.mm-subpage .offer-content{max-width:1280px;padding:24px 40px 64px;margin:auto}
.offer-content h1{font-size:clamp(40px,4.5vw,64px)}
.offer-content h2{font-size:clamp(30px,3vw,44px)}
.offer-content ul{padding-left:24px;margin:16px 0 24px}
.offer-content li{margin:8px 0}
.service-content{padding-top:64px!important}
.service-content .offer-detail{display:block;border:0}
.service-content .offer-detail ul{columns:2}
.service-content .page-lead{margin:32px 0}
.category-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin:24px 0 32px}
.category-links a{min-height:44px;display:inline-flex;align-items:center;font-size:15px}
.category-links a[aria-current=page]{font-weight:bold;text-decoration-thickness:2px}
.mm-subpage .collection-intro h1{font-size:clamp(40px,4.5vw,64px)}
.mm-subpage .about-intro{max-width:1200px;margin:auto;padding:64px 40px;min-height:640px}
.mm-subpage .about-intro img{width:100%;max-height:600px;object-fit:contain}
.mm-subpage .about-intro h1{margin-bottom:24px}
.mm-subpage .contact-copy h1{font-size:clamp(40px,4.5vw,64px)}
.mm-policy{max-width:880px;margin:auto;padding:64px 24px}
.mm-policy h2{font-size:30px;margin-top:40px;margin-bottom:16px}
.mm-policy h1{font-size:clamp(40px,4.5vw,64px);margin-bottom:32px}
.mm-policy li{margin:12px 0}
.mm-policy a,.mm-result a{min-height:44px;display:inline-flex;align-items:center}
.footer-privacy{font-size:15px;min-height:44px;display:inline-flex;align-items:center}
.hero-region,.footer-region,.gallery-meta,.lightbox-caption,.muted.small,.contact-form small,.contact-form .muted,.note{font-size:15px;line-height:1.5}
.mm-gallery .gallery-hint,.mm-gallery .collection-intro>p,.mm-gallery .lightbox-caption{font-size:15px;line-height:1.5}
.hero-links a,.hero-actions a{font-size:15px}
.contact-form input,.contact-form select,.contact-form textarea{font-size:16px;min-height:48px;border-radius:4px}
.contact-form .consent{min-height:48px;align-items:flex-start;padding:8px 0;cursor:pointer}
.contact-form .consent input{min-height:24px;min-width:24px;width:24px;height:24px;margin-top:0}
.contact-form .consent span{font-size:15px;line-height:1.5}
.contact-form .privacy summary,.faq summary{min-height:48px}
.contact-form .privacy p{font-size:15px;line-height:1.6}
.contact-form .privacy a{display:inline-flex;align-items:center;min-height:44px}
.contact-form .button{border-radius:8px;margin-top:16px;justify-content:center;font-size:16px;min-height:52px}
.contact-form .mm-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status:empty{display:none}.form-status{padding:16px;border:1px solid var(--accent);background:var(--bg);margin-bottom:24px;font-size:16px;line-height:1.5}
.field-error{display:block;color:var(--mm-error);font-size:15px;line-height:1.5;margin-top:4px}.field-error:empty{display:none}
.contact-form [aria-invalid=true]{border:2px solid var(--mm-error)}
.contact-line a{overflow-wrap:anywhere;max-width:100%}
.contact-line a[href^="mailto:"]{font:17px/1.6 Arial,sans-serif}
.contact-form fieldset{min-width:0}
.contact-form input,.contact-form select,.contact-form textarea{max-width:100%}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.hero-links a[aria-current=page]{border-bottom-color:var(--ink)}
.hero-links a:last-child:not([aria-current=page]){border-bottom-color:transparent}
.mm-subpage .hero-links{z-index:10}
.mm-subpage .offer-package{border-radius:var(--mm-radius)}
.mm-subpage .offer-price{color:var(--accent)}
.mm-subpage .mm-result{max-width:800px;padding:64px 24px;margin:auto}
@media(max-width:1000px){.mm-subpage>.hero-mast{min-height:96px;padding-bottom:6px}.hero-social .social-icon{width:44px}.hero-mast{padding-inline:8px;gap:2px}.hero-links{padding-top:12px;padding-bottom:12px}.mm-subpage .about-intro{min-height:0}}
@media(max-width:650px){.mm-construction{padding:20px 16px}.mm-subpage>.hero-mast{min-height:84px}.mm-subpage .offer-content{padding:24px 24px 48px}.mm-subpage .about-intro{padding:48px 24px}.service-content .offer-detail ul{columns:1}.mm-subpage .contact{padding:48px 24px}.hero-actions{gap:12px}.hero-actions a{padding:12px 16px}.category-links{gap:4px 16px}.mm-policy{padding:48px 24px}.hero-social{width:176px}.hero-brand{min-width:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

:root{--mm-top-gold:#c8ae80;--mm-top-hover:#d8c49f;--mm-top-size:44px}
/* 1.2.1 — fluid gallery rows, footer contact group and compact scroll control. */
.photo-collection .mosaic.has-rows{display:grid;grid-template-columns:minmax(0,1fr)}
.photo-collection .mosaic-row{display:grid;gap:inherit;min-width:0;align-items:start}
.photo-collection .mosaic-row>.tile{width:100%;min-width:0;height:auto;aspect-ratio:var(--ratio)}
.site-footer .footer-contact{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.site-footer .footer-contact .footer-privacy{font-size:15px;line-height:1.5;text-underline-offset:4px}
.back-to-top{position:fixed;right:20px;bottom:20px;z-index:12;display:grid;place-items:center;width:var(--mm-top-size);height:var(--mm-top-size);padding:0;border:1px solid var(--accent);border-radius:50%;background:var(--mm-top-gold);color:var(--ink);box-shadow:0 2px 8px #28251f1a;cursor:pointer;transition:background 180ms}
.back-to-top:hover{background:var(--mm-top-hover)}
.back-to-top:focus-visible{outline:3px solid #725538;outline-offset:4px}
@media(max-width:1000px){.site-footer .footer-contact{grid-column:1/-1;align-items:flex-start}}
@media(max-width:650px){.back-to-top{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}}

#galeria .gallery-meta{justify-content:flex-end}

@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}

/* Shared navigation: visible at the top, revealed on upward scrolling or focus. */
:root{--mm-header-height:130px;--mm-admin-height:0px}
html{scroll-padding-top:calc(var(--mm-header-height) + var(--mm-admin-height) + 16px)}
body>.hero-mast,body.mm-subpage>.hero-mast{position:fixed;inset:var(--mm-admin-height) 0 auto;z-index:100;min-height:var(--mm-header-height);height:var(--mm-header-height);padding-top:20px;padding-bottom:20px;background:var(--paper);box-shadow:0 1px 0 var(--line)}
body.mm-subpage{padding-top:var(--mm-header-height)}
body>.skip{z-index:110}
body>.hero-mast a:focus-visible,body>.hero-mast button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
body>.hero-mast,body.mm-subpage>.hero-mast{transition:transform 240ms ease}
body>.hero-mast.is-scroll-hidden{transform:translateY(calc(-100% - 2px))}
@media(max-width:1000px){:root{--mm-header-height:96px}body>.hero-mast,body.mm-subpage>.hero-mast{padding-top:6px;padding-bottom:0}body>.hero-mast .hero-links{max-height:calc(100svh - var(--mm-header-height) - var(--mm-admin-height) - 16px);overflow-y:auto}}
@media(max-width:650px){:root{--mm-header-height:84px}}
html:has(body.admin-bar){--mm-admin-height:32px}
@media(max-width:782px){html:has(body.admin-bar){--mm-admin-height:46px}body.admin-bar #wpadminbar{position:fixed}}


.google-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s8);margin-top:var(--s8)}
.google-reviews .google-review{margin:0;padding:var(--s8);border:var(--border);border-radius:var(--s4);background:var(--bg);display:flex;flex-direction:column}
.google-reviews .review-stars{font-size:20px;letter-spacing:.15em;color:var(--accent);margin-bottom:var(--s6)}
.google-reviews blockquote{margin:0 0 var(--s8);padding:0;border:0;font:400 clamp(24px,2.2vw,32px)/1.4 var(--display)}
.google-reviews figcaption{margin-top:auto;display:grid;gap:var(--s2);font:16px/1.5 var(--sans)}.google-reviews figcaption span{font-size:14px;color:var(--muted)}
.reviews-google-link{display:inline-flex;align-items:center;min-height:48px;padding:var(--s3) var(--s6);margin-top:var(--s8);border:1px solid var(--accent);border-radius:var(--s2);color:var(--accent);text-decoration:none}.reviews-google-link:hover{background:var(--accent);color:var(--bg)}.reviews-google-link:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:650px){.google-review-grid{grid-template-columns:1fr;gap:var(--s4)}.google-reviews .google-review{padding:var(--s6)}}

/* Dwa tematy profili społecznościowych, wyłącznie lokalne zdjęcia i linki. */
.sm-section .section-head>p:last-child{max-width:64ch;color:var(--muted);margin-top:var(--s6)}
.sm-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s8)}
.sm-card{overflow:hidden;border:var(--border);border-radius:var(--s4);background:var(--surface)}
.sm-card>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.sm-card-copy{padding:var(--s8)}.sm-card-copy h3{font:400 32px/1.15 var(--display);margin-bottom:var(--s4)}.sm-card-copy>p{color:var(--muted);font-size:16px;line-height:1.65;max-width:42ch}
.sm-card-links{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s6)}
.sm-card-links a{display:inline-flex;align-items:center;gap:var(--s3);min-height:48px;padding:var(--s3) var(--s4);border:1px solid var(--accent);border-radius:var(--s2);text-decoration:none;color:var(--accent);font:15px/1.4 var(--sans)}
.sm-card-links svg{width:18px;height:18px;flex-shrink:0;fill:currentColor}.sm-card-links a:hover{background:var(--accent);color:var(--bg)}.sm-card-links a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:650px){.sm-cards{grid-template-columns:1fr;gap:var(--s6)}.sm-card-copy{padding:var(--s6)}.sm-card-copy h3{font-size:28px}.sm-card-links{flex-direction:column}.sm-card-links a{justify-content:center}}

.sm-card-links a{width:48px;padding:0;justify-content:center}.sm-card-links svg{width:22px;height:22px}@media(max-width:650px){.sm-card-links{flex-direction:row}}

/* Compact consent choice for phones, using the site's editorial palette. */
@media(max-width:600px){
 body .cmplz-cookiebanner.cmplz-show{box-sizing:border-box!important;width:calc(100vw - 24px)!important;max-width:440px!important;left:12px!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px))!important;padding:16px!important;border-radius:12px!important;box-shadow:none!important;gap:6px!important;z-index:100002!important}
 body .cmplz-cookiebanner .cmplz-header{display:block!important;min-height:0!important}
 body .cmplz-cookiebanner .cmplz-title{display:block!important;font:400 23px/1.2 Georgia,serif!important;letter-spacing:-.025em}
 body .cmplz-cookiebanner .cmplz-divider-header{margin:0!important}
 body .cmplz-cookiebanner .cmplz-message{font:14px/1.5 Arial,sans-serif!important}
 body .cmplz-cookiebanner .cmplz-message p{margin:0 0 10px!important}
 body .cmplz-cookiebanner .cmplz-categories{gap:6px!important}
 body .cmplz-cookiebanner .cmplz-category{margin-bottom:4px!important}
 body .cmplz-cookiebanner .cmplz-category-header{min-height:42px!important;padding:8px 10px!important}
 body .cmplz-cookiebanner .cmplz-banner-checkbox{height:20px!important;min-height:20px!important}
 body .cmplz-cookiebanner .cmplz-banner-checkbox input[type=checkbox]{box-sizing:border-box!important;width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;margin:0!important}
 body .cmplz-cookiebanner .cmplz-buttons{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn{box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:46px!important;padding:8px!important;font-size:13px!important;line-height:1.25!important}
 body .cmplz-cookiebanner .cmplz-buttons .cmplz-save-preferences{grid-column:1/-1!important}
 body .cmplz-cookiebanner .cmplz-documents{margin-top:8px!important}
 body .cmplz-cookiebanner .cmplz-documents ul{display:flex!important;flex-wrap:wrap!important;gap:2px 12px!important}
 body .cmplz-cookiebanner .cmplz-documents a{font-size:13px!important;line-height:1.35!important}
 body .cmplz-manage-consent{display:none!important}
}
@media(max-width:360px){body .cmplz-cookiebanner .cmplz-buttons{grid-template-columns:1fr!important}}
