/*!
 * PIK Galerias Privadas — gate, hero, grelha justificada e lightbox.
 */
:root{ --pik-ink:#15151a; --pik-muted:#6f6f76; --pik-line:#e9e9ec; --pik-accent:#e8592d; }

/* Top bar minimal (estado desbloqueado) */
.pik-topbar{ position:sticky; top:0; z-index:30; display:flex; align-items:center; justify-content:space-between;
  padding:12px 28px; background:rgba(255,255,255,.94); -webkit-backdrop-filter:saturate(140%) blur(8px); backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--pik-line); }
.pik-logo{ display:block; height:64px; width:auto; }
.pik-logo--white{ filter:brightness(0) invert(1); }
.pik-brand{ font-family:'Amiko',system-ui,sans-serif; font-weight:700; letter-spacing:.02em; font-size:20px; color:var(--pik-ink); line-height:1; }
.pik-brand span{ color:var(--pik-accent); }
.pik-topbar__tag{ font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--pik-muted); display:flex; align-items:center; gap:7px; }
.pik-topbar__tag .dot{ width:6px; height:6px; border-radius:50%; background:var(--pik-accent); display:inline-block; }

/* ===========================================================
   GATE (bloqueado) — ecrã inteiro com foto de fundo, centrado, mobile-first
   =========================================================== */
.pik-gate{ position:relative; min-height:100vh; min-height:100dvh; display:flex; align-items:center; justify-content:center;
  background-color:#15151a; background-size:cover; background-position:center; padding:32px 22px; text-align:center; }
.pik-gate__overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(13,13,18,.70) 0%, rgba(13,13,18,.82) 100%); }
.pik-gate__inner{ position:relative; z-index:1; width:100%; max-width:430px; color:#fff; display:flex; flex-direction:column; align-items:center; }
.pik-gate .pik-logo{ height:84px; width:auto; margin:0 0 30px; }
.pik-gate__eyebrow{ font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:rgba(255,255,255,.65); margin:0 0 12px; }
.pik-gate__title{ font-family:'Amiko',system-ui,sans-serif; font-weight:700; font-size:clamp(2rem,7vw,3.1rem); line-height:1.05; margin:0 0 16px; color:#fff; }
.pik-gate__hint{ color:rgba(255,255,255,.82); font-size:.98rem; line-height:1.55; margin:0 0 26px; max-width:330px; }
/* Form do Divi neutralizado e re-estilizado */
.pik-gate__form, .pik-gate__form .et_pb_section, .pik-gate__form .et_pb_row, .pik-gate__form .et_pb_column, .pik-gate__form .et_password_protected_form{
  width:100% !important; max-width:340px !important; margin:0 auto !important; padding:0 !important; background:transparent !important; box-shadow:none !important; }
.pik-gate__form .et_password_protected_form h1, .pik-gate__form .et_password_protected_form > p:first-of-type, .pik-gate__form label{ display:none !important; }
.pik-gate__form form{ display:flex; flex-direction:column; gap:12px; }
.pik-gate__form form p{ margin:0; display:flex; flex-direction:column; gap:12px; }
.pik-gate__form input[type=password]{ width:100% !important; padding:.9rem 1rem !important; border:1px solid rgba(255,255,255,.3) !important; background:rgba(255,255,255,.12) !important; color:#fff !important; border-radius:8px; font-size:1rem; box-sizing:border-box; }
.pik-gate__form input[type=password]::placeholder{ color:rgba(255,255,255,.6); }
.pik-gate__form input[type=submit]{ width:100%; padding:.9rem 1rem; background:var(--pik-accent); color:#fff; border:0; border-radius:8px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; font-size:.78rem; cursor:pointer; transition:background .2s; }
.pik-gate__form input[type=submit]:hover{ background:#cf4a23; }
@media (max-width:600px){ .pik-gate .pik-logo{ height:66px; margin-bottom:24px; } }

/* Hero (desbloqueado) */
.pik-single-hero{ max-width:1100px; margin:0 auto; padding:60px 28px 26px; text-align:center; }
.pik-eyebrow{ display:inline-block; font-size:12px; letter-spacing:.32em; text-transform:uppercase; color:var(--pik-accent); font-weight:600; margin:0 0 16px; }
.pik-single-hero__title{ font-family:'Amiko',system-ui,sans-serif; font-weight:700; font-size:clamp(2.2rem,6vw,4.2rem); line-height:1.03; margin:0 0 16px; letter-spacing:-.01em; color:var(--pik-ink); }
.pik-rule{ display:block; width:46px; height:3px; background:var(--pik-accent); border-radius:2px; margin:0 auto 16px; }
.pik-single-hero__intro{ max-width:560px; margin:0 auto; color:var(--pik-muted); font-size:1.02rem; line-height:1.6; }
.pik-single-hero__intro p{ margin:0 0 .5rem; }
.pik-count{ margin:22px 0 0; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--pik-muted); }

/* Grelha */
.pik-single-gallery{ max-width:1640px; margin:24px auto 0; padding:0 14px 56px; }
.pik-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:8px; }
.pik-grid.is-justified{ display:block; }
.pik-grid.is-justified .pik-row{ display:flex; gap:8px; margin-bottom:8px; }
.pik-photo-tile{ position:relative; appearance:none; border:0; padding:0; margin:0; background:#ececec; cursor:pointer; overflow:hidden; aspect-ratio:1/1; }
.pik-grid.is-justified .pik-photo-tile{ aspect-ratio:auto; }
.pik-photo-tile img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.pik-photo-tile::after{ content:""; position:absolute; inset:0; background:rgba(20,20,26,0); transition:background .35s; }
.pik-photo-tile:hover img{ transform:scale(1.045); }
.pik-photo-tile:hover::after{ background:rgba(20,20,26,.10); }

/* Footer próprio */
.pik-galeria-footer{ border-top:1px solid var(--pik-line); padding:30px 28px 44px; text-align:center; color:var(--pik-muted); background:#fff; }
.pik-galeria-footer .pik-logo{ height:54px; width:auto; margin:0 auto 12px; }
.pik-galeria-footer .pik-brand{ font-size:16px; }
.pik-galeria-footer small{ display:block; margin-top:8px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; }

/* Lightbox */
.pik-lightbox{ position:fixed; inset:0; z-index:99999; background:rgba(10,10,12,.97); display:none; align-items:center; justify-content:center; padding:2rem; }
.pik-lightbox.is-open{ display:flex; }
body.pik-lightbox-open{ overflow:hidden; }
.pik-lightbox__img{ max-width:94vw; max-height:88vh; object-fit:contain; }
.pik-lightbox__counter{ position:absolute; bottom:22px; left:50%; transform:translateX(-50%); display:flex; align-items:baseline; gap:7px; color:#fff; font-size:17px; letter-spacing:.04em; background:rgba(0,0,0,.55); padding:9px 20px; border-radius:999px; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.pik-lightbox__lbl{ text-transform:uppercase; font-size:.62em; letter-spacing:.18em; opacity:.7; }
.pik-lightbox__num{ color:var(--pik-accent); font-weight:700; font-size:1.5em; line-height:1; }
.pik-lightbox__sep{ opacity:.65; }
.pik-lightbox__wm{ position:absolute; bottom:72px; right:26px; font-family:'Amiko',system-ui,sans-serif; font-weight:700; color:#fff; opacity:.5; font-size:15px; }
.pik-lightbox__wm span{ color:var(--pik-accent); }
.pik-lightbox button{ position:absolute; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.22); color:#fff; width:50px; height:50px; border-radius:50%; cursor:pointer; font-size:20px; display:grid; place-items:center; transition:background .2s; }
.pik-lightbox button:hover{ background:rgba(255,255,255,.18); }
.pik-lightbox__close{ top:22px; right:24px; }
.pik-lightbox__prev{ left:24px; top:50%; transform:translateY(-50%); }
.pik-lightbox__next{ right:24px; top:50%; transform:translateY(-50%); }
@media (max-width:600px){ .pik-single-hero{ padding-top:40px; } .pik-lightbox__prev,.pik-lightbox__next{ width:42px; height:42px; } }

/* Secções (galeria com vários eventos) */
.pik-secnav{ position:sticky; top:88px; z-index:20; background:rgba(255,255,255,.97); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-bottom:1px solid var(--pik-line); }
.pik-secnav__inner{ display:flex; gap:8px; overflow-x:auto; padding:12px 20px; max-width:1640px; margin:0 auto; -webkit-overflow-scrolling:touch; }
.pik-secnav__link{ flex:0 0 auto; white-space:nowrap; font-size:.76rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--pik-ink); text-decoration:none; padding:.5rem 1rem; border:1px solid var(--pik-line); border-radius:999px; transition:all .2s; }
.pik-secnav__link:hover{ border-color:var(--pik-accent); color:var(--pik-accent); }
.pik-section{ scroll-margin-top:150px; }
.pik-section__head{ max-width:1640px; margin:34px auto 6px; padding:0 18px; display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
.pik-section__title{ font-family:'Amiko',system-ui,sans-serif; font-weight:700; font-size:clamp(1.4rem,3vw,2rem); color:var(--pik-ink); margin:0; }
.pik-section__count{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--pik-muted); }
.pik-section .pik-single-gallery{ margin-top:8px; padding-top:0; }

/* Índice de galerias (/galeria/) */
.pik-index{ max-width:1500px; margin:0 auto; padding:56px 22px 72px; }
.pik-index__hero{ text-align:center; margin:0 auto 40px; max-width:680px; }
.pik-index__title{ font-family:'Amiko',system-ui,sans-serif; font-weight:700; font-size:clamp(2.4rem,6vw,4rem); line-height:1.02; margin:0 0 14px; color:var(--pik-ink); }
.pik-index__sub{ color:var(--pik-muted); font-size:1.05rem; line-height:1.6; margin:14px 0 0; }
.pik-index__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(440px,1fr)); gap:22px; }
@media (max-width:560px){ .pik-index__grid{ grid-template-columns:1fr; gap:16px; } }
.pik-galcard{ display:block; position:relative; text-decoration:none; border-radius:14px; overflow:hidden; background:#111; }
.pik-galcard__media{ position:relative; aspect-ratio:3/4; overflow:hidden; }
.pik-galcard__media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.1s cubic-bezier(.2,.7,.2,1); }
.pik-galcard:hover .pik-galcard__media img{ transform:scale(1.06); }
.pik-galcard__overlay{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:26px; background:linear-gradient(to top, rgba(10,10,14,.82) 0%, rgba(10,10,14,.30) 45%, rgba(10,10,14,0) 75%); }
.pik-galcard__meta{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.8); margin-bottom:8px; }
.pik-galcard__title{ font-family:'Amiko',system-ui,sans-serif; font-weight:700; font-size:clamp(1.6rem,3.2vw,2.4rem); color:#fff; margin:0 0 12px; line-height:1.05; }
.pik-galcard__cta{ display:inline-flex; align-items:center; gap:6px; font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#fff; opacity:0; transform:translateY(8px); transition:opacity .3s, transform .3s; }
.pik-galcard:hover .pik-galcard__cta{ opacity:1; transform:translateY(0); color:var(--pik-accent); }
.pik-galcard::after{ content:''; position:absolute; left:0; bottom:0; width:100%; height:4px; background:var(--pik-accent); transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }
.pik-galcard:hover::after{ transform:scaleX(1); }
.pik-galcard__lock{ position:absolute; top:16px; right:16px; z-index:2; background:rgba(0,0,0,.5); color:#fff; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; font-size:16px; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }

/* Navegação de volta ao índice */
.pik-topbar__home{ display:inline-flex; align-items:center; text-decoration:none; }
.pik-topbar__right{ display:flex; align-items:center; gap:18px; }
.pik-topbar__back{ font-size:.76rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--pik-ink); text-decoration:none; white-space:nowrap; }
.pik-topbar__back:hover{ color:var(--pik-accent); }
.pik-gate__back{ position:absolute; top:22px; left:24px; z-index:3; color:rgba(255,255,255,.85); text-decoration:none; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }
.pik-gate__back:hover{ color:#fff; }
@media (max-width:560px){ .pik-topbar__back span.lbl{ display:none; } }
