/* Gallery styles — additive, uses existing site variables where available */
.gal-section{ background:#fff; }
.gal-group{ margin:0 0 44px; }
.gal-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.gal-head h3{ margin:0; font-size:20px; }
.gal-count{ font-size:12px; font-weight:700; color:#6b7a90; background:#eef2f8; padding:4px 10px; border-radius:99px; }
.gal-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.gal-item{ display:block; aspect-ratio:4/3; overflow:hidden; border-radius:14px; background:#eef2f8; box-shadow:0 4px 14px rgba(21,42,67,.10); }
.gal-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.gal-item:hover img{ transform:scale(1.06); }
.gal-empty{ aspect-ratio:4/3; border:2px dashed #b9c6da; border-radius:14px; background:#f6f8fc; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; text-align:center; padding:10px; color:#6b7a90; font-size:12px; }
.gal-empty b{ color:#2a4a7a; font-size:14px; }
.gal-empty code{ background:#fff; border:1px solid #dbe3ef; padding:3px 7px; border-radius:6px; font-size:11px; color:#152a43; word-break:break-all; }
.gal-page-title{ display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:0 0 22px; padding-bottom:10px; border-bottom:2px solid #e3e9f3; }
.gal-page-title a{ font-size:14px; font-weight:600; }
.gal-page-block{ margin-bottom:30px; }
.gal-none{ text-align:center; color:#6b7a90; padding:40px 0; }
#gallery-filter{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:0 0 34px; }

.gal-lb{ position:fixed; inset:0; background:rgba(10,18,30,.92); display:none; align-items:center; justify-content:center; z-index:9999; }
.gal-lb.open{ display:flex; }
.gal-lb img{ max-width:92vw; max-height:88vh; border-radius:10px; box-shadow:0 20px 60px rgba(0,0,0,.5); }
.gal-x{ position:absolute; top:14px; right:20px; background:none; border:0; color:#fff; font-size:38px; cursor:pointer; line-height:1; }
.gal-nav{ position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.14); border:0; color:#fff; font-size:38px; width:48px; height:60px; border-radius:10px; cursor:pointer; }
.gal-prev{ left:14px; } .gal-next{ right:14px; }
@media (max-width:820px){ .gal-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .gal-grid{ gap:8px; } .gal-nav{ width:38px; height:50px; font-size:30px; } }

/* ---------- Clickable packages + detail window (site-media.js) ---------- */
.pkg-click{ cursor:pointer; }
.pkg-click:focus-visible{ outline:3px solid #2a63c9; outline-offset:2px; }
.pkg-chip{ position:absolute; right:10px; bottom:10px; z-index:3; background:rgba(21,42,67,.82); color:#fff; font-size:12px; font-weight:700; padding:5px 11px; border-radius:99px; pointer-events:none; }
.pk-modal{ position:fixed; inset:0; background:rgba(10,18,30,.82); display:none; align-items:center; justify-content:center; z-index:9998; padding:16px; }
.pk-modal.open{ display:flex; }
.pk-box{ position:relative; background:#fff; border-radius:18px; width:100%; max-width:760px; max-height:92vh; overflow:auto; box-shadow:0 24px 70px rgba(0,0,0,.45); }
.pk-x{ position:absolute; top:10px; right:12px; z-index:4; width:38px; height:38px; border:0; border-radius:50%; background:rgba(21,42,67,.75); color:#fff; font-size:26px; line-height:1; cursor:pointer; }
.pk-media{ position:relative; background:#0f1c2e; }
.pk-main{ display:block; width:100%; max-height:56vh; object-fit:contain; background:#0f1c2e; }
.pk-nav{ position:absolute; top:50%; transform:translateY(-50%); width:42px; height:54px; border:0; border-radius:10px; background:rgba(255,255,255,.2); color:#fff; font-size:32px; cursor:pointer; }
.pk-prev{ left:10px; } .pk-next{ right:10px; }
.pk-thumbs{ display:flex; gap:8px; padding:10px 14px 0; overflow-x:auto; }
.pk-thumbs img{ width:78px; height:58px; object-fit:cover; border-radius:8px; cursor:pointer; opacity:.6; border:2px solid transparent; flex:0 0 auto; }
.pk-thumbs img.on{ opacity:1; border-color:#2a63c9; }
.pk-info{ padding:16px 20px 22px; }
.pk-title{ margin:0 0 4px; font-size:22px; }
.pk-price{ font-size:20px; font-weight:800; color:#1f4fa5; margin-bottom:8px; }
.pk-list{ margin:0 0 14px; padding-left:18px; color:#4a5a70; font-size:14.5px; }
.pk-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.pk-btn{ display:inline-flex; align-items:center; gap:6px; padding:12px 20px; border-radius:10px; font-weight:700; font-size:15px; text-decoration:none; background:#25a244; color:#fff; }
.pk-call{ background:#2a63c9; }
.pk-btn:hover{ filter:brightness(.92); }
@media (max-width:480px){ .pk-title{ font-size:19px; } .pk-btn{ flex:1 1 100%; justify-content:center; } }
