/* ============================================================
   GALERIA DLA KLIENTÓW — dopełnienie css/site.css (te same zmienne,
   fonty Poppins + Cormorant Garamond, biel/beż/granat). Zero horizontal-scroll.
   ============================================================ */
body.gal-body{background:var(--paper)}

/* ---------- pasek marki nad galerią/hasłem (bez pełnej nawigacji strony) ---------- */
.gal-top{display:flex;align-items:center;justify-content:center;padding:22px var(--pad) 0}
.gal-top img{height:46px;width:auto;display:block}

/* ---------- ekran hasła ---------- */
.gal-gate{min-height:100svh;display:grid;place-items:center;position:relative;padding:96px var(--pad) 48px;overflow:hidden}
.gal-gate .bg{position:absolute;inset:0;z-index:0}
.gal-gate .bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.gal-gate .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,28,43,.55) 0%,rgba(23,28,43,.72) 100%)}
.gal-card{position:relative;z-index:1;width:100%;max-width:440px;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;padding:clamp(32px,5vw,48px) clamp(24px,4vw,40px);box-shadow:0 40px 90px rgba(0,0,0,.35);text-align:center}
.gal-card .logo{height:52px;width:auto;margin:0 auto 22px}
.gal-card h1{font-size:clamp(1.5rem,4vw,1.9rem);line-height:1.2}
.gal-card .meta{font-family:var(--fn);font-size:.95rem;letter-spacing:.06em;color:var(--ink2);margin-top:10px}
.gal-card form{display:grid;gap:14px;margin-top:28px}
.gal-card input[type=password]{width:100%;text-align:center;letter-spacing:.1em;background:var(--paper2);border:1px solid var(--line);color:var(--ink);font:inherit;font-size:1.05rem;padding:15px 16px;border-radius:8px;transition:border-color .3s,background .3s}
.gal-card input[type=password]:focus{outline:0;border-color:var(--ink);background:#fff}
.gal-card .btn{justify-self:center;width:100%;justify-content:center;background:var(--dark-btn);color:#fff;border-color:var(--dark-btn)}
.gal-card .btn:hover{background:var(--ink);border-color:var(--ink)}
.gal-card .err{color:#B3413A;font-size:.9rem;min-height:1.3em}
.gal-card .expiry{margin-top:20px;font-size:.86rem;color:var(--ink3)}
.gal-card .expiry b{color:var(--ink2);font-weight:600}

/* ---------- ekran „galeria wygasła" ---------- */
.gal-expired{min-height:100svh;display:grid;place-items:center;padding:96px var(--pad) 48px;text-align:center}
.gal-expired .box{max-width:460px}
.gal-expired h1{font-size:clamp(1.6rem,4.5vw,2.2rem)}
.gal-expired p{margin-top:16px;color:var(--ink2);font-size:1.02rem;line-height:1.7}
.gal-expired .btn{margin-top:26px}

/* ---------- nagłówek galerii ---------- */
.gal-head{padding:34px var(--pad) 22px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between}
.gal-head .id{display:flex;align-items:center;gap:16px}
.gal-head .id img{height:42px;width:auto}
.gal-head .id .txt h1{font-size:clamp(1.3rem,3vw,1.7rem)}
.gal-head .id .txt .meta{font-family:var(--fn);font-size:.9rem;letter-spacing:.05em;color:var(--ink2);margin-top:4px}
.gal-actions{display:flex;gap:10px;flex-wrap:wrap}
.gal-actions .btn{padding:12px 20px;font-size:.88rem}
.gal-actions .btn.fav-only{border-color:var(--beige2);color:var(--ink)}
.gal-actions .btn.fav-only:hover{background:var(--beige2);border-color:var(--beige2)}
.gal-actions .btn[disabled]{opacity:.4;pointer-events:none}
.gal-tabs{display:flex;gap:8px;padding:16px var(--pad) 0}
.gal-tab{font-family:var(--fn);font-weight:500;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;padding:9px 18px;border:1px solid var(--line);border-radius:999px;color:var(--ink2);transition:background .3s,color .3s,border-color .3s}
.gal-tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- siatka zdjęć (masonry .masonry/.item ze site.css — dopełnienie o serce ulubionych) ---------- */
.gal-grid{padding:24px var(--pad) 0}
.gal-grid .item{position:relative}
.gal-grid .item.hidden-fav{display:none}
.fav-btn{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;border-radius:999px;background:rgba(23,28,43,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;transition:background .25s,transform .2s}
.fav-btn:hover{transform:scale(1.08)}
.fav-btn svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2}
.fav-btn.on{background:var(--beige2)}
.fav-btn.on svg{fill:#fff;stroke:#fff}

/* ---------- stopka minimalna ---------- */
.gal-foot{padding:40px var(--pad) 30px;border-top:1px solid var(--line);text-align:center;color:var(--ink3);font-size:.86rem;line-height:1.9}
.gal-foot a{color:var(--ink3)}
.gal-foot a:hover{color:var(--ink)}
.gal-foot .soc{display:flex;gap:12px;justify-content:center;margin-top:12px}
.gal-foot .soc a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:999px}
.gal-foot .soc svg{width:14px;height:14px;fill:var(--ink3)}
.gal-foot .soc a:hover{background:var(--ink)}.gal-foot .soc a:hover svg{fill:#fff}

/* ---------- lightbox: dopełnienie .lb ze site.css o pobieranie i serce ---------- */
.lb .dl,.lb .fav{position:absolute;bottom:14px;top:auto;left:auto;transform:none;color:#fff;font-family:var(--fn);font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;padding:14px 18px;opacity:.85;transition:opacity .3s,color .3s;border:1px solid rgba(255,255,255,.35);border-radius:999px}
.lb .dl{right:var(--pad)}
.lb .fav{right:calc(var(--pad) + 116px);font-size:1.15rem;padding:12px 20px}
.lb .dl:hover,.lb .fav:hover{opacity:1}
.lb .fav.on{color:var(--beige);border-color:var(--beige)}

/* ---------- toast (dodano do ZIP / brak ulubionych) ---------- */
.gal-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,140%);z-index:999;background:var(--ink);color:#fff;font-family:var(--fn);font-size:.9rem;letter-spacing:.04em;padding:14px 22px;border-radius:999px;box-shadow:0 14px 30px rgba(0,0,0,.25);transition:transform .4s cubic-bezier(.16,1,.3,1)}
.gal-toast.on{transform:translate(-50%,0)}

/* ============================================================ PUBLICZNA STRONA „Galerie dla par" */
.gal-pub-hero{position:relative;padding:calc(96px + 2vw) var(--pad) clamp(56px,8vw,90px);overflow:hidden}
.gal-pub-hero .bg{position:absolute;inset:0}
.gal-pub-hero .bg img{width:100%;height:100%;object-fit:cover}
.gal-pub-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,28,43,.82) 0%,rgba(23,28,43,.55) 48%,rgba(23,28,43,.2) 100%)}
.gal-pub-hero .in{position:relative;max-width:44rem}
.gal-pub-hero h1{color:#fff;font-size:clamp(2.1rem,5.4vw,3.4rem);line-height:1.08;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.gal-pub-hero p{color:#fff;font-size:1.1rem;line-height:1.7;margin-top:18px;max-width:56ch;text-shadow:0 1px 14px rgba(0,0,0,.4)}
.gal-pub-hero .cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}
.gal-pub-hero .cta .btn{background:var(--dark-btn);color:#fff;border-color:var(--dark-btn)}
.gal-pub-hero .cta .btn:hover{background:#fff;color:var(--ink);border-color:#fff}
.gal-pub-hero .cta .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.gal-pub-hero .cta .btn.ghost:hover{background:#fff;color:var(--ink);border-color:#fff}

.gal-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,32px)}
.gal-step{border-top:1px solid var(--line);padding-top:18px}
.gal-step .n{font-family:var(--fn);font-size:.85rem;letter-spacing:.1em;color:var(--beige2)}
.gal-step h3{font-size:1.15rem;margin-top:10px}
.gal-step p{color:var(--ink2);font-size:.96rem;margin-top:8px;line-height:1.6}

.gal-mock{background:var(--paper2);border:1px solid var(--line);border-radius:14px;padding:clamp(14px,2.4vw,26px);box-shadow:0 30px 70px rgba(23,28,43,.1)}
.gal-mock .bar{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.gal-mock .bar img{height:26px}
.gal-mock .bar span{font-family:var(--fn);font-size:.85rem;color:var(--ink2);letter-spacing:.04em}
.gal-mock .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.gal-mock .grid .ph{aspect-ratio:1;border-radius:4px}

.gal-feat{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.gal-feat li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.gal-feat li svg{width:22px;height:22px;flex:none;stroke:var(--beige2);fill:none;stroke-width:1.8;margin-top:2px}
.gal-feat li div b{display:block;font-weight:600;color:var(--ink);margin-bottom:4px}
.gal-feat li div span{color:var(--ink2);font-size:.95rem}

/* ============================================================ RESPONSYWNOŚĆ */
@media(max-width:900px){
  .gal-head{padding:24px var(--pad) 16px;flex-direction:column;align-items:flex-start}
  .gal-actions{width:100%}
  .gal-actions .btn{flex:1;justify-content:center}
  .gal-grid{padding:18px var(--pad) 0}
  .gal-card{max-width:100%}
  .gal-steps{grid-template-columns:1fr 1fr;gap:24px}
  .gal-mock .grid{grid-template-columns:repeat(3,1fr)}
  .lb .dl{right:16px}.lb .fav{right:108px}
}
@media(max-width:520px){
  .gal-steps{grid-template-columns:1fr}
  .gal-pub-hero .cta{flex-direction:column;align-items:stretch}
}
