/* KAPIEX Gallery: isolated theme-compatible components */
.kg-page,.kg-gallery{--kg-accent:var(--kapiex-accent,#a78248);--kg-ink:#202528;--kg-muted:#687078;--kg-line:#e5e7e9;--kg-bg:#fff;color:var(--kg-ink)}
.kg-page *,.kg-gallery *{box-sizing:border-box}
.kg-container{width:min(1250px,calc(100% - 40px));margin:0 auto}
.kg-page-heading{background:#f7f6f3;padding:48px 0 43px;border-bottom:1px solid #ebebe9}
.kg-page-heading h1{font-weight:750;letter-spacing:-.025em;font-size:clamp(27px,3vw,40px);line-height:1.16;margin:0 0 12px;color:#202528}
.kg-page-heading p{color:#687078;font-size:15px;line-height:1.65;margin:0;max-width:820px}
.kg-page-content{padding-top:38px;padding-bottom:72px}
.kg-heading{margin-bottom:22px}.kg-heading h2{font-size:26px;margin:0 0 8px}.kg-heading p{color:var(--kg-muted);margin:0}
.kg-filter{padding:18px;border:1px solid var(--kg-line);background:#fafaf9;border-radius:12px;margin:0 0 24px;display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.kg-filter label{font-size:12px;font-weight:650;color:#454c50;flex:1 1 175px;min-width:0;display:grid;gap:6px}
.kg-filter label.kg-filter-search{flex:1.3 1 190px}
.kg-filter select,.kg-filter input{width:100%;min-width:0;min-height:43px;border:1px solid #d9dedf;background:#fff;color:#222b30;border-radius:7px;padding:0 12px;font-size:14px;line-height:1.2;box-shadow:none;outline-offset:2px}
.kg-filter select:focus,.kg-filter input:focus{border-color:var(--kg-accent);outline:2px solid #c8ae8060}
.kg-filter .kg-action{height:43px;border:0;border-radius:7px;color:#fff;background:#a78248;padding:0 23px;font-weight:650;font-size:13px;cursor:pointer;white-space:nowrap}
.kg-filter .kg-action:hover{background:#916d37}
.kg-reset{height:43px;display:inline-flex;align-items:center;padding:0 10px;font-size:13px;color:#555;text-decoration:none}
.kg-reset:hover{color:#181d21}
.kg-results{display:flex;justify-content:flex-end;align-items:center;color:#858c90;font-size:12px;margin:0 0 13px}
.kg-grid{display:grid;grid-template-columns:repeat(var(--kg-columns,4),minmax(0,1fr));gap:22px}
.kg-card{min-width:0;margin:0;background:#fff;border:1px solid #e3e4e3;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 10px rgba(18,30,32,.035);transition:box-shadow .23s,border-color .23s,transform .23s}
.kg-card:hover{box-shadow:0 13px 28px rgba(18,30,32,.095);border-color:#d5c6ad;transform:translateY(-3px)}
.kg-card-image{position:relative;aspect-ratio:1/1;background:#f3f3f0;overflow:hidden}
.kg-card-image .kg-open,.kg-card-image>a{display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:left}
.kg-card-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .32s ease}
.kg-card:hover .kg-card-image img{transform:scale(1.03)}
.kg-count{position:absolute;top:12px;right:12px;background:#1e2626c9;color:#fff;border-radius:5px;padding:7px 9px;font-size:11px;pointer-events:none}
.kg-image-empty{display:flex!important;align-items:center;justify-content:center;color:#8e9394;text-decoration:none;font-size:13px}
.kg-card-body{padding:17px 18px 19px;display:flex;flex-direction:column;gap:7px;flex:1}
.kg-eyebrow{text-transform:uppercase;letter-spacing:.055em;color:#a17e48;font-size:10px;font-weight:750;line-height:1.4}
.kg-card h3{font-size:16px;line-height:1.42;font-weight:700;letter-spacing:-.012em;margin:0;overflow-wrap:break-word}
.kg-card h3 a{color:#202528;text-decoration:none}.kg-card h3 a:hover{color:#97713a}
.kg-card p{font-size:13px;line-height:1.6;color:#6e7679;margin:0 0 8px}
.kg-detail{display:inline-flex;align-items:center;gap:10px;color:#94713d;text-decoration:none;font-size:13px;font-weight:700;margin-top:auto;padding-top:8px;align-self:flex-start}
.kg-detail:hover{color:#6e501f}.kg-detail span{font-size:17px}
.kg-empty{grid-column:1/-1;border:1px dashed #d7d3ca;background:#faf9f6;padding:55px 20px;border-radius:12px;text-align:center;color:#696f73;font-size:14px}
.kg-pages{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:34px}
.kg-pages a,.kg-pages span{display:inline-flex;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:0 12px;border-radius:7px;border:1px solid #e0e3e3;background:#fff;color:#30383b;text-decoration:none;font-size:13px}
.kg-pages a:hover{border-color:#a78248}.kg-pages .current{background:#a78248;border-color:#a78248;color:#fff;font-weight:700}
.kg-dialog{border:0;background:#181b1d;max-width:min(1040px,calc(100% - 24px));max-height:calc(100% - 24px);width:1040px;color:#fff;padding:0;border-radius:9px;box-shadow:0 22px 70px #0007;overflow:hidden}
.kg-dialog::backdrop{background:#0a1114dc;backdrop-filter:blur(4px)}
.kg-dialog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:9px 14px;font-size:13px;color:#eee}
.kg-dialog-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.kg-dialog-close{border:0;background:#ffffff15;color:#fff;font-size:27px;cursor:pointer;width:36px;height:36px;border-radius:7px;line-height:1}
.kg-dialog-stage{position:relative;min-height:220px;display:flex;align-items:center;justify-content:center}
.kg-dialog-stage img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 100px);object-fit:contain;display:block}
.kg-prev,.kg-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:#181b1dcc;border:1px solid #ffffff55;color:#fff;cursor:pointer;width:41px;height:50px;border-radius:6px;font-size:30px}
.kg-prev{left:10px}.kg-next{right:10px}
.kg-prev:disabled,.kg-next:disabled{opacity:.2;cursor:default}
.kg-appended-gallery{width:100%;margin-top:36px;border-top:1px solid #ececec;padding-top:34px}
.kg-appended-gallery>h2{font-size:25px;margin:0 0 8px}.kg-appended-gallery>p{color:#687078;margin:0 0 24px}
.kg-single-terms{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.kg-single-terms a{border:1px solid #e8dfd3;color:#906c3b;padding:7px 12px;text-decoration:none;border-radius:22px;background:#fbf8f3;font-size:12px}
.kg-single-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.kg-single-images .kg-open,.kg-single-images .kg-image-link{cursor:zoom-in;border:0;padding:0;border-radius:9px;overflow:hidden;background:#f3f2ee;aspect-ratio:1/1;display:block}
.kg-single-images img{display:block;width:100%;height:100%;object-fit:cover}
.kg-single-description{max-width:900px;margin:34px auto;color:#4c5558;font-size:16px;line-height:1.8}
.kg-back{display:inline-flex;font-size:12px;color:#9b7947;text-decoration:none;margin-bottom:14px}
@media(max-width:1100px){.kg-grid{grid-template-columns:repeat(min(3,var(--kg-columns,4)),minmax(0,1fr));gap:17px}}
@media(max-width:820px){.kg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kg-single-images{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.kg-container{width:calc(100% - 28px)}.kg-page-heading{padding:34px 0}.kg-page-content{padding:26px 0 54px}.kg-filter{padding:13px;gap:10px}.kg-filter label{flex:1 1 100%;font-size:12px}.kg-filter .kg-action{flex:1 1 auto}.kg-grid{grid-template-columns:1fr;gap:17px}.kg-card-body{padding:17px}.kg-single-images{gap:10px}.kg-dialog{width:calc(100% - 12px);max-width:calc(100% - 12px)}.kg-prev,.kg-next{width:32px;height:43px;font-size:24px}}
@media(prefers-reduced-motion:reduce){.kg-card,.kg-card-image img{transition:none}.kg-card:hover{transform:none}}
